Go to the source code of this file.
|
static uint64 | umul128 (const uint64 a, const uint64 b, uint64 *const productHi) |
|
static uint64 | shiftright128 (const uint64 lo, const uint64 hi, const uint32 dist) |
|
static uint64 | div5 (const uint64 x) |
|
static uint64 | div10 (const uint64 x) |
|
static uint64 | div100 (const uint64 x) |
|
static uint64 | div1e8 (const uint64 x) |
|
◆ div10()
static uint64 div10 |
( |
const uint64 |
x | ) |
|
|
inlinestatic |
◆ div100()
static uint64 div100 |
( |
const uint64 |
x | ) |
|
|
inlinestatic |
◆ div1e8()
static uint64 div1e8 |
( |
const uint64 |
x | ) |
|
|
inlinestatic |
◆ div5()
static uint64 div5 |
( |
const uint64 |
x | ) |
|
|
inlinestatic |
◆ shiftright128()
static uint64 shiftright128 |
( |
const uint64 |
lo, |
|
|
const uint64 |
hi, |
|
|
const uint32 |
dist |
|
) |
| |
|
inlinestatic |
Definition at line 100 of file d2s_intrinsics.h.
104 #if !defined(RYU_32_BIT_PLATFORM)
106 return (hi << (64 - dist)) | (lo >> dist);
110 return (hi << (64 - dist)) | ((
uint32) (lo >> 32) >> (dist - 32));
#define Assert(condition)
References Assert.
Referenced by mulShiftAll().
◆ umul128()
static uint64 umul128 |
( |
const uint64 |
a, |
|
|
const uint64 |
b, |
|
|
uint64 *const |
productHi |
|
) |
| |
|
inlinestatic |
Definition at line 65 of file d2s_intrinsics.h.
76 const uint64 b00 = (uint64) aLo * bLo;
77 const uint64 b01 = (uint64) aLo * bHi;
78 const uint64 b10 = (uint64) aHi * bLo;
79 const uint64 b11 = (uint64) aHi * bHi;
84 const uint64 mid1 = b10 + b00Hi;
88 const uint64 mid2 = b01 + mid1Lo;
92 const uint64 pHi = b11 + mid1Hi + mid2Hi;
93 const uint64 pLo = ((uint64) mid2Lo << 32) + b00Lo;
References a, and b.
Referenced by mulShiftAll().