MCPcopy Create free account
hub / github.com/RobTillaart/Arduino / unittest

Function unittest

libraries/IEEE754tools/test/unit_test_001.cpp:51–104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49
50
51unittest(test_all)
52{
53 fprintf(stderr, "Convert PI to double and back\n");
54 uint8_t ar[8];
55 float p = PI;
56 float2DoublePacked(p, ar);
57 float q = doublePacked2Float(ar);
58 assertEqualFloat(p, q, 0.0001);
59
60 fprintf(stderr, "IEEE_NAN %f\n", 0.0 / 0.0);
61 // assertTrue(IEEE_NAN(0.0 / 0.0)); // -nan ?
62
63 fprintf(stderr, "IEEE_INF\n");
64 assertEqual(1, IEEE_INF(exp(800)));
65 assertEqual(-1, IEEE_INF(-exp(800)));
66 assertEqual(0, IEEE_INF(PI));
67
68 fprintf(stderr, "IEEE_PosINF\n");
69 assertTrue(IEEE_PosINF(exp(800)));
70
71 fprintf(stderr, "IEEE_NegINF\n");
72 assertTrue(IEEE_NegINF(-exp(800)));
73
74 // crash - AVR specific
75 // fprintf(stderr, "IEEE_Sign\n");
76 // assertTrue(IEEE_Sign(PI));
77 // assertTrue(IEEE_Sign(-PI));
78 //
79 // fprintf(stderr, "IEEE_Exponent\n");
80 // assertTrue(IEEE_Exponent(PI));
81 //
82 // fprintf(stderr, "IEEE_Mantisse\n");
83 // assertTrue(IEEE_Mantisse(PI));
84
85 // crash - AVR specific
86 // fprintf(stderr, "IEEE_POW2\n");
87 // float f = 2;
88 // for (int i = 0; i < 20; i++)
89 // {
90 // fprintf(stderr, "%d\t%f\t", i, f);
91 // assertEqualFloat(f, IEEE_POW2(1, i), 0.0001);
92 // f *= 2;
93 // }
94 //
95 // fprintf(stderr, "IEEE_POW2fast\n");
96 // f = 2;
97 // for (int i = 0; i < 20; i++)
98 // {
99 // fprintf(stderr, "%d\t%f\t", i, f);
100 // assertEqualFloat(f, IEEE_POW2fast(1, i), 0.0001);
101 // f *= 2;
102 // }
103
104}
105
106
107unittest_main()

Callers

nothing calls this directly

Calls 5

float2DoublePackedFunction · 0.85
doublePacked2FloatFunction · 0.85
IEEE_INFFunction · 0.85
IEEE_PosINFFunction · 0.85
IEEE_NegINFFunction · 0.85

Tested by

no test coverage detected