-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
30 lines (25 loc) · 819 Bytes
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
- FIXME: the conversion of vec<f16_t, _N> to integer vectors is broken
- more AVX512 code: v32u16, v32s16, v64s8, v64u8
- fixed_vec_lookup_table specializations for v4f32 and v8f32 for table length
2? how about a template solution for all vector lengths and types?
- documentation!!!
- lower precision functions 8, 4 ulps?
4 ulps allow 2 errornous bits: 51, 22 bits precision
8 ulps allow 3 errornous bits 50, 20 bits precision
what about 48 bit precision for double?
double
fmod(double x, double y)
{
double i, f;
if (y == 0.0) {
errno = EDOM;
return 0.0;
}
/* return f such that x = i*y + f for some integer i
such that |f| < |y| and f has the same sign as x */
i = floor(x/y);
f = x - i*y;
if ((x < 0.0) != (y < 0.0))
f = f-y;
return f;
}