/* Check that appropriate exceptions are raised for int to DFP conversions. */
|
/* Check that appropriate exceptions are raised for int to DFP conversions. */
|
|
|
#include "fe-check.h"
|
#include "fe-check.h"
|
|
|
volatile _Decimal32 d32;
|
volatile _Decimal32 d32;
|
volatile _Decimal64 d64;
|
volatile _Decimal64 d64;
|
volatile signed int si;
|
volatile signed int si;
|
volatile unsigned int ui;
|
volatile unsigned int ui;
|
volatile signed long long sll;
|
volatile signed long long sll;
|
volatile unsigned long long ull;
|
volatile unsigned long long ull;
|
|
|
CONVERT (100, si, d32, 9999999, 0)
|
CONVERT (100, si, d32, 9999999, 0)
|
CONVERT (101, si, d32, 11111111, FE_INEXACT)
|
CONVERT (101, si, d32, 11111111, FE_INEXACT)
|
CONVERT (102, si, d32, -9999999, 0)
|
CONVERT (102, si, d32, -9999999, 0)
|
CONVERT (103, si, d32, -10000001, FE_INEXACT)
|
CONVERT (103, si, d32, -10000001, FE_INEXACT)
|
CONVERT (110, ui, d32, 9999999, 0)
|
CONVERT (110, ui, d32, 9999999, 0)
|
CONVERT (111, ui, d32, 10000001, FE_INEXACT)
|
CONVERT (111, ui, d32, 10000001, FE_INEXACT)
|
CONVERT (200, sll, d64, 9999999999999999, 0)
|
CONVERT (200, sll, d64, 9999999999999999, 0)
|
CONVERT (201, sll, d64, 10000000000000001, FE_INEXACT)
|
CONVERT (201, sll, d64, 10000000000000001, FE_INEXACT)
|
CONVERT (202, sll, d64, -9999999999999999, 0)
|
CONVERT (202, sll, d64, -9999999999999999, 0)
|
CONVERT (203, sll, d64, -10000000000000001, FE_INEXACT)
|
CONVERT (203, sll, d64, -10000000000000001, FE_INEXACT)
|
CONVERT (210, ull, d64, 9999999999999999, 0)
|
CONVERT (210, ull, d64, 9999999999999999, 0)
|
CONVERT (211, ull, d64, 10000000000000001, FE_INEXACT)
|
CONVERT (211, ull, d64, 10000000000000001, FE_INEXACT)
|
|
|
int
|
int
|
main ()
|
main ()
|
{
|
{
|
if (sizeof (long long) != 16)
|
if (sizeof (long long) != 16)
|
return 0;
|
return 0;
|
|
|
convert_100 ();
|
convert_100 ();
|
convert_101 ();
|
convert_101 ();
|
convert_102 ();
|
convert_102 ();
|
convert_103 ();
|
convert_103 ();
|
convert_110 ();
|
convert_110 ();
|
convert_111 ();
|
convert_111 ();
|
convert_200 ();
|
convert_200 ();
|
convert_201 ();
|
convert_201 ();
|
convert_202 ();
|
convert_202 ();
|
convert_203 ();
|
convert_203 ();
|
convert_210 ();
|
convert_210 ();
|
convert_211 ();
|
convert_211 ();
|
|
|
FINISH
|
FINISH
|
}
|
}
|
|
|