| /* This test assumes IEEE float and double. It also tests long double |
| but makes no assumption about its size or range of values. */ |
| |
| #include "convert.h" |
| |
| volatile _Decimal32 sd; |
| volatile _Decimal64 dd; |
| volatile _Decimal128 td; |
| volatile float sf; |
| volatile double df; |
| volatile long double tf; /* might actually be df or xf, doesn't matter */ |
| |
| CONVERT_VALID_ALL (t1, 0.0, 0.) |
| CONVERT_VALID_ALL (t2, 1.0, 0.) |
| CONVERT_VALID_ALL (t3, -11.5, 0.) |
| CONVERT_VALID_ALL (t4, 7.0, 0.1e-14) |
| CONVERT_VALID_ALL (t5, -7.0, 0.1e-14) |
| CONVERT_VALID_ALL (t6, 999999., 0.) |
| CONVERT_VALID_ALL (t7, -999999., 0.) |
| |
| int |
| main () |
| { |
| CALL_VALID_ALL (t1) |
| CALL_VALID_ALL (t2) |
| CALL_VALID_ALL (t3) |
| CALL_VALID_ALL (t4) |
| CALL_VALID_ALL (t5) |
| CALL_VALID_ALL (t6) |
| CALL_VALID_ALL (t7) |
| |
| FINISH |
| } |