cpu versions of the primitive functions
More...
|
static void | Accumulate (int64_t *accumulator, double x) |
| Accumulate a double to the superaccumulator. More...
|
|
static bool | Normalize (int64_t *accumulator, int &imin, int &imax) |
| Normalize a superaccumulator. More...
|
|
static double | Round (int64_t *accumulator) |
| Convert a superaccumulator to the nearest double precision number (CPU version) More...
|
|
cpu versions of the primitive functions
◆ Accumulate()
static void dg::exblas::cpu::Accumulate |
( |
int64_t * |
accumulator, |
|
|
double |
x |
|
) |
| |
|
inlinestatic |
Accumulate a double to the superaccumulator.
- Parameters
-
accumulator | a pointer to at least BIN_COUNT 64 bit integers on the CPU (representing the superaccumulator) |
x | the double to add to the superaccumulator |
◆ Normalize()
static bool dg::exblas::cpu::Normalize |
( |
int64_t * |
accumulator, |
|
|
int & |
imin, |
|
|
int & |
imax |
|
) |
| |
|
inlinestatic |
Normalize a superaccumulator.
- Parameters
-
accumulator | a pointer to at least BIN_COUNT 64 bit integers on the CPU (representing the superaccumulator) |
imin | the first index in the accumulator |
imax | the last index in the accumulator |
- Returns
- carry in bit (sign)
◆ Round()
static double dg::exblas::cpu::Round |
( |
int64_t * |
accumulator | ) |
|
|
inlinestatic |
Convert a superaccumulator to the nearest double precision number (CPU version)
- Parameters
-
accumulator | a pointer to at least BIN_COUNT 64 bit integers on the CPU (representing the superaccumulator) |
- Returns
- the double precision number nearest to the superaccumulator