cpu versions of the primitive functions
More...
|
void | Accumulate (int64_t *accumulator, double x) |
| Accumulate a double to the superaccumulator.
|
|
bool | Normalize (int64_t *accumulator, int &imin, int &imax) |
| Normalize a superaccumulator.
|
|
double | Round (int64_t *accumulator) |
| Convert a superaccumulator to the nearest double precision number (CPU version)
|
|
cpu versions of the primitive functions
◆ Accumulate()
void dg::exblas::cpu::Accumulate |
( |
int64_t * | accumulator, |
|
|
double | x ) |
|
inline |
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()
bool dg::exblas::cpu::Normalize |
( |
int64_t * | accumulator, |
|
|
int & | imin, |
|
|
int & | imax ) |
|
inline |
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()
double dg::exblas::cpu::Round |
( |
int64_t * | accumulator | ) |
|
|
inline |
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