/* { dg-options "-w" } */ /* This test assumes IEEE float and double. */ #define __STDC_WANT_DEC_FP__ #include #include "convert.h" volatile _Decimal32 sd; volatile _Decimal64 dd; volatile _Decimal128 td; volatile float sf; volatile double df; /* Values slightly smaller than minimum (closest to zero) for result type. */ CONVERT_VALID (401, sd, sf, 1.e-39df, 0.f, FLT_MIN) CONVERT_VALID (402, sd, sf, -1.e-39df, 0.f, FLT_MIN) CONVERT_VALID (403, sd, sf, 1.1e-38df, 0.f, FLT_MIN) CONVERT_VALID (404, sd, sf, -1.1e-38df, 0.f, FLT_MIN) CONVERT_VALID (411, dd, sf, 1.e-39dd, 0.f, FLT_MIN) CONVERT_VALID (412, dd, sf, -1.e-39dd, 0.f, FLT_MIN) CONVERT_VALID (413, dd, sf, 1.1e-38dd, 0.f, FLT_MIN) CONVERT_VALID (414, dd, sf, -1.1e-38dd, 0.f, FLT_MIN) CONVERT_VALID (421, dd, df, 3.e-309dd, 0., DBL_MIN) CONVERT_VALID (422, dd, df, -3.e-309dd, 0., DBL_MIN) CONVERT_VALID (423, dd, df, 2.e-308dd, 0., DBL_MIN) CONVERT_VALID (424, dd, df, -2.e-308dd, 0., DBL_MIN) CONVERT_VALID (431, td, sf, 1.e-39dl, 0.f, FLT_MIN) CONVERT_VALID (432, td, sf, -1.e-39dl, 0.f, FLT_MIN) CONVERT_VALID (433, td, sf, 1.1e-38dl, 0.f, FLT_MIN) CONVERT_VALID (434, td, sf, -1.1e-38dl, 0.f, FLT_MIN) CONVERT_VALID (441, td, df, 3.e-309dl, 0., DBL_MIN) CONVERT_VALID (442, td, df, -3.e-309dl, 0., DBL_MIN) CONVERT_VALID (443, td, df, 2.e-308dl, 0., DBL_MIN) CONVERT_VALID (444, td, df, -2.e-308dl, 0., DBL_MIN) int main () { convert_401 (); convert_402 (); convert_403 (); convert_404 (); convert_411 (); convert_412 (); convert_413 (); convert_414 (); convert_421 (); convert_422 (); convert_423 (); convert_424 (); convert_431 (); convert_432 (); convert_433 (); convert_434 (); convert_441 (); convert_442 (); convert_443 (); convert_444 (); FINISH }