| 39 | } |
| 40 | |
| 41 | bool ftoaUnitTest() |
| 42 | { |
| 43 | std::cout << "ftoaUnitTest()" << std::endl; |
| 44 | std::cout << std::endl; |
| 45 | |
| 46 | testFloat(std::numeric_limits<float>::infinity(),"INF"); |
| 47 | testFloat(-std::numeric_limits<float>::infinity(),"-INF"); |
| 48 | testFloat(std::numeric_limits<float>::quiet_NaN(),"NaN"); |
| 49 | testFloat(0, "0"); |
| 50 | testFloat(1, "1"); |
| 51 | testFloat(1.0, "1"); |
| 52 | testFloat(1.00001f, "1.00001"); |
| 53 | testFloat(1.00001e7f, "1.00001e7"); |
| 54 | testFloat(1.234567f, "1.234567"); |
| 55 | testFloat(123456, "123456"); |
| 56 | testFloat(1234567, "1.23457e6"); |
| 57 | testFloat(1234567e23f, "1.23457e29"); |
| 58 | testFloat(1234567e-23f, "1.23457e-17"); |
| 59 | testFloat(123456.789f, "123456.8"); |
| 60 | |
| 61 | std::cout << std::endl; |
| 62 | std::cout << std::endl; |
| 63 | |
| 64 | testFloat(-1, "-1"); |
| 65 | testFloat(-1.0, "-1"); |
| 66 | testFloat(-1.00001f, "-1.00001"); |
| 67 | testFloat(-1.00001e7f, "-1.00001e7"); |
| 68 | testFloat(-123456, "-123456"); |
| 69 | testFloat(-1234567, "-1.23457e6"); |
| 70 | testFloat(-1234567e23f, "-1.23457e29"); |
| 71 | testFloat(-1234567e-23f, "-1.23457e-17"); |
| 72 | testFloat(-123456.789f, "-123456.8"); |
| 73 | |
| 74 | std::cout << std::endl; |
| 75 | std::cout << std::endl; |
| 76 | |
| 77 | testFloat(999999, "999999"); |
| 78 | testFloat(999999.9f, "1e6"); |
| 79 | testFloat(0.0001f, "10e-5"); |
| 80 | testFloat(0.00010006f, "1.0006e-4"); |
| 81 | testFloat(0.000098f, "9.8e-5"); |
| 82 | |
| 83 | std::cout << std::endl; |
| 84 | std::cout << std::endl; |
| 85 | |
| 86 | testFloat(-999999, "-999999"); |
| 87 | testFloat(-999999.9f, "-1e6"); |
| 88 | testFloat(-0.0001f, "-10e-5"); |
| 89 | testFloat(-0.000098f, "-9.8e-5"); |
| 90 | |
| 91 | std::cout << std::endl; |
| 92 | std::cout << std::endl; |
| 93 | |
| 94 | testFloat(0.00001f, "10e-6"); |
| 95 | testFloat(0.0001f, "10e-5"); |
| 96 | testFloat(0.001f, "0.000999987"); |
| 97 | testFloat(0.01f, "0.00999999"); |
| 98 | testFloat(0.1f, "0.1"); |
nothing calls this directly
no test coverage detected