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