12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
-
-
- #include "config.h"
- #include "test_assert.h"
- #include <math.h>
- #include <stdlib.h>
- #include "ieee80.h"
-
- int
- main(int argc, char **argv)
- {
- (void)argc; (void)argv;
-
-
-
- unsigned char in[][10] = {
- { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x3f,0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0xbf,0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x40,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x3f,0xfe,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x3f,0xf7,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x40,0x22,0x98,0x76,0x54,0x32,0x10,0x00,0x00,0x00 },
- { 0x7f,0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0xff,0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00 },
- { 0x7f,0xff,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }
- };
-
- TEST_ASSERT(ieee_extended_to_double(in[0]) == 0.);
- TEST_ASSERT(ieee_extended_to_double(in[1]) == 1.);
- TEST_ASSERT(ieee_extended_to_double(in[2]) == -1.);
- TEST_ASSERT(ieee_extended_to_double(in[3]) == 2.);
- TEST_ASSERT(ieee_extended_to_double(in[4]) == 0.5);
- TEST_ASSERT(ieee_extended_to_double(in[5]) == 0.005859375);
- TEST_ASSERT(ieee_extended_to_double(in[6]) == 40926266145.);
- #ifdef INFINITY
- TEST_ASSERT(ieee_extended_to_double(in[7]) == INFINITY);
- TEST_ASSERT(ieee_extended_to_double(in[8]) == -INFINITY);
- #endif
- #ifdef NAN
- TEST_ASSERT(isnan(ieee_extended_to_double(in[9])));
- #endif
-
- return EXIT_SUCCESS;
- }
|