Lines Matching refs:uint64_t
23 static const uint64_t DOUBLE_POW5_INV_SPLIT2[15][2] = {
47 static const uint64_t DOUBLE_POW5_SPLIT2[13][2] = {
70 static const uint64_t DOUBLE_POW5_TABLE[POW5_TABLE_SIZE] = {
79 uint32_t __pow5Factor(uint64_t value) { in __pow5Factor()
80 const uint64_t m_inv_5 = 14757395258967641293u; // 5 * m_inv_5 = 1 (mod 2^64) in __pow5Factor()
81 const uint64_t n_div_5 = 3689348814741910323u; // #{ n | n = 0 (mod 2^64) } = 2^64 / 5 in __pow5Factor()
96 void __double_computePow5(const uint32_t i, uint64_t* const result) { in __double_computePow5()
100 const uint64_t* const mul = DOUBLE_POW5_SPLIT2[base]; in __double_computePow5()
106 const uint64_t m = DOUBLE_POW5_TABLE[offset]; in __double_computePow5()
111 result[0] = (uint64_t) shiftedSum; in __double_computePow5()
112 result[1] = (uint64_t) (shiftedSum >> 64); in __double_computePow5()
116 void __double_computeInvPow5(const uint32_t i, uint64_t* const result) { in __double_computeInvPow5()
120 const uint64_t* const mul = DOUBLE_POW5_INV_SPLIT2[base]; // 1/5^base2 in __double_computeInvPow5()
126 const uint64_t m = DOUBLE_POW5_TABLE[offset]; // 5^offset in __double_computeInvPow5()
132 result[0] = (uint64_t) shiftedSum; in __double_computeInvPow5()
133 result[1] = (uint64_t) (shiftedSum >> 64); in __double_computeInvPow5()
139 void __double_computePow5(const uint32_t i, uint64_t* const result) { in __double_computePow5()
143 const uint64_t* const mul = DOUBLE_POW5_SPLIT2[base]; in __double_computePow5()
149 const uint64_t m = DOUBLE_POW5_TABLE[offset]; in __double_computePow5()
150 uint64_t high1; in __double_computePow5()
151 const uint64_t low1 = umul128(m, mul[1], &high1); in __double_computePow5()
152 uint64_t high0; in __double_computePow5()
153 const uint64_t low0 = umul128(m, mul[0], &high0); in __double_computePow5()
154 const uint64_t sum = high0 + low1; in __double_computePow5()
165 void __double_computeInvPow5(const uint32_t i, uint64_t* const result) { in __double_computeInvPow5()
169 const uint64_t* const mul = DOUBLE_POW5_INV_SPLIT2[base]; // 1/5^base2 in __double_computeInvPow5()
175 const uint64_t m = DOUBLE_POW5_TABLE[offset]; in __double_computeInvPow5()
176 uint64_t high1; in __double_computeInvPow5()
177 const uint64_t low1 = umul128(m, mul[1], &high1); in __double_computeInvPow5()
178 uint64_t high0; in __double_computeInvPow5()
179 const uint64_t low0 = umul128(m, mul[0] - 1, &high0); in __double_computeInvPow5()
180 const uint64_t sum = high0 + low1; in __double_computeInvPow5()