Lines Matching refs:check_float
129 auto check_float = [](float number, const std::string & digits, int expected_exponent)
144 check_float(make_float(0, 0, 0x00000001), "1", -45); // min denormal
145 check_float(make_float(0, 0, 0x007FFFFF), "11754942", -45); // max denormal
146 check_float(make_float(0, 1, 0x00000000), "11754944", -45); // min normal
147 check_float(make_float(0, 1, 0x00000001), "11754945", -45);
148 check_float(make_float(0, 1, 0x007FFFFF), "23509886", -45);
149 check_float(make_float(0, 2, 0x00000000), "23509887", -45);
150 check_float(make_float(0, 2, 0x00000001), "2350989", -44);
151 check_float(make_float(0, 24, 0x00000000), "98607613", -39); // fail if no special case in normalized boundaries
152 check_float(make_float(0, 30, 0x00000000), "63108872", -37); // fail if no special case in normalized boundaries
153 check_float(make_float(0, 31, 0x00000000), "12621775", -36); // fail if no special case in normalized boundaries
154 check_float(make_float(0, 57, 0x00000000), "84703295", -29); // fail if no special case in normalized boundaries
155 check_float(make_float(0, 254, 0x007FFFFE), "34028233", 31);
156 check_float(make_float(0, 254, 0x007FFFFF), "34028235", 31); // max normal
163 check_float(make_float(12676506, -102), "25", -25);
164 check_float(make_float(12676506, -103), "125", -26);
165 check_float(make_float(15445013, 86), "1195", 30);
166 check_float(make_float(13734123, -138), "39415", -39);
167 check_float(make_float(12428269, -130), "913085", -38);
168 check_float(make_float(15334037, -146), "1719005", -43);
169 check_float(make_float(11518287, -41), "52379105", -13);
170 check_float(make_float(12584953, -145), "2821644", -43);
171 check_float(make_float(15961084, -125), "37524328", -38);
172 check_float(make_float(14915817, -146), "16721209", -44);
173 check_float(make_float(10845484, -102), "21388946", -31);
174 check_float(make_float(16431059, -61), "7125836", -18);
177 check_float(make_float(16093626, 69), "95", 26);
178 check_float(make_float( 9983778, 25), "335", 12);
179 check_float(make_float(12745034, 104), "2585", 35);
180 check_float(make_float(12706553, 72), "60005", 24);
181 check_float(make_float(11005028, 45), "387205", 15);
182 check_float(make_float(15059547, 71), "3555835", 22);
183 check_float(make_float(16015691, -99), "25268305", -30);
184 check_float(make_float( 8667859, 56), "6245851", 17);
185 check_float(make_float(14855922, -82), "30721327", -25);
186 check_float(make_float(14855922, -83), "15360663", -25);
187 check_float(make_float(10144164, -110), "781478", -32);
188 check_float(make_float(13248074, 95), "52481028", 28);
339 auto check_float = [](float number, const std::string & expected)
348 check_float( -1.2345e-22f, "-1.2345e-22" ); // -1.23450004e-22
349 check_float( -1.2345e-21f, "-1.2345e-21" ); // -1.23450002e-21
350 check_float( -1.2345e-20f, "-1.2345e-20" ); // -1.23450002e-20
351 check_float( -1.2345e-19f, "-1.2345e-19" ); // -1.23449999e-19
352 check_float( -1.2345e-18f, "-1.2345e-18" ); // -1.23449996e-18
353 check_float( -1.2345e-17f, "-1.2345e-17" ); // -1.23449998e-17
354 check_float( -1.2345e-16f, "-1.2345e-16" ); // -1.23449996e-16
355 check_float( -1.2345e-15f, "-1.2345e-15" ); // -1.23450002e-15
356 check_float( -1.2345e-14f, "-1.2345e-14" ); // -1.23450004e-14
357 check_float( -1.2345e-13f, "-1.2345e-13" ); // -1.23449997e-13
358 check_float( -1.2345e-12f, "-1.2345e-12" ); // -1.23450002e-12
359 check_float( -1.2345e-11f, "-1.2345e-11" ); // -1.2345e-11
360 check_float( -1.2345e-10f, "-1.2345e-10" ); // -1.2345e-10
361 check_float( -1.2345e-9f, "-1.2345e-09" ); // -1.23449995e-09
362 check_float( -1.2345e-8f, "-1.2345e-08" ); // -1.23449997e-08
363 check_float( -1.2345e-7f, "-1.2345e-07" ); // -1.23449993e-07
364 check_float( -1.2345e-6f, "-1.2345e-06" ); // -1.23450002e-06
365 check_float( -1.2345e-5f, "-1.2345e-05" ); // -1.2345e-05
366 check_float( -1.2345e-4f, "-0.00012345" ); // -0.000123449994
367 check_float( -1.2345e-3f, "-0.0012345" ); // -0.00123449997
368 check_float( -1.2345e-2f, "-0.012345" ); // -0.0123450002
369 check_float( -1.2345e-1f, "-0.12345" ); // -0.123450004
370 check_float( -0.0f, "-0.0" ); // -0
371 check_float( 0.0f, "0.0" ); // 0
372 check_float( 1.2345e+0f, "1.2345" ); // 1.23450005
373 check_float( 1.2345e+1f, "12.345" ); // 12.3450003
374 check_float( 1.2345e+2f, "123.45" ); // 123.449997
375 check_float( 1.2345e+3f, "1234.5" ); // 1234.5
376 check_float( 1.2345e+4f, "12345.0" ); // 12345
377 check_float( 1.2345e+5f, "123450.0" ); // 123450
378 check_float( 1.2345e+6f, "1.2345e+06" ); // 1234500
379 check_float( 1.2345e+7f, "1.2345e+07" ); // 12345000
380 check_float( 1.2345e+8f, "1.2345e+08" ); // 123450000
381 check_float( 1.2345e+9f, "1.2345e+09" ); // 1.23449997e+09
382 check_float( 1.2345e+10f, "1.2345e+10" ); // 1.23449999e+10
383 check_float( 1.2345e+11f, "1.2345e+11" ); // 1.23449999e+11
384 check_float( 1.2345e+12f, "1.2345e+12" ); // 1.23450006e+12
385 check_float( 1.2345e+13f, "1.2345e+13" ); // 1.23449995e+13
386 check_float( 1.2345e+14f, "1.2345e+14" ); // 1.23450002e+14
387 check_float( 1.2345e+15f, "1.2345e+15" ); // 1.23450003e+15
388 check_float( 1.2345e+16f, "1.2345e+16" ); // 1.23449998e+16
389 check_float( 1.2345e+17f, "1.2345e+17" ); // 1.23449996e+17
390 check_float( 1.2345e+18f, "1.2345e+18" ); // 1.23450004e+18
391 check_float( 1.2345e+19f, "1.2345e+19" ); // 1.23449999e+19
392 check_float( 1.2345e+20f, "1.2345e+20" ); // 1.23449999e+20
393 check_float( 1.2345e+21f, "1.2345e+21" ); // 1.23449999e+21
394 check_float( 1.2345e+22f, "1.2345e+22" ); // 1.23450005e+22