1 USING: accessors alien.c-types alien.syntax math.floats.half kernel
2 math tools.test specialized-arrays alien.data classes.struct ;
3 SPECIALIZED-ARRAY: half
4 IN: math.floats.half.tests
6 [ HEX: 0000 ] [ 0.0 half>bits ] unit-test
7 [ HEX: 8000 ] [ -0.0 half>bits ] unit-test
8 [ HEX: 3e00 ] [ 1.5 half>bits ] unit-test
9 [ HEX: be00 ] [ -1.5 half>bits ] unit-test
10 [ HEX: 7c00 ] [ 1/0. half>bits ] unit-test
11 [ HEX: fc00 ] [ -1/0. half>bits ] unit-test
12 [ HEX: 7eaa ] [ NAN: aaaaaaaaaaaaa half>bits ] unit-test
14 ! too-big floats overflow to infinity
15 [ HEX: 7c00 ] [ 65536.0 half>bits ] unit-test
16 [ HEX: fc00 ] [ -65536.0 half>bits ] unit-test
17 [ HEX: 7c00 ] [ 131072.0 half>bits ] unit-test
18 [ HEX: fc00 ] [ -131072.0 half>bits ] unit-test
20 ! too-small floats flush to zero
21 [ HEX: 0000 ] [ 1.0e-9 half>bits ] unit-test
22 [ HEX: 8000 ] [ -1.0e-9 half>bits ] unit-test
24 [ 0.0 ] [ HEX: 0000 bits>half ] unit-test
25 [ -0.0 ] [ HEX: 8000 bits>half ] unit-test
26 [ 1.5 ] [ HEX: 3e00 bits>half ] unit-test
27 [ -1.5 ] [ HEX: be00 bits>half ] unit-test
28 [ 1/0. ] [ HEX: 7c00 bits>half ] unit-test
29 [ -1/0. ] [ HEX: fc00 bits>half ] unit-test
30 [ 3.0 ] [ HEX: 4200 bits>half ] unit-test
31 [ t ] [ HEX: 7e00 bits>half fp-nan? ] unit-test
39 [ 8 ] [ halves heap-size ] unit-test
47 [ half-array{ 1.0 2.0 3.0 1/0. -1/0. } ]
48 [ { 1.0 2.0 3.0 1/0. -1/0. } half >c-array ] unit-test