Home | History | Annotate | Download | only in s390x
      1 #include <stdio.h>
      2 #include <sys/types.h>
      3 #include "dfp_utils.h"
      4 
      5 volatile _Decimal32 d32_1, d32_2;
      6 volatile _Decimal64 d64_1, d64_2;
      7 volatile _Decimal128 d128_1, d128_2;
      8 
      9 int main(void)
     10 {
     11    d64_1 = 5.000005DD;
     12    d64_2 = 60000.4DD;
     13    d32_1 = 3.000002DF;
     14    d32_2 = 500000.000005DF;
     15    d128_1 = 100000000.000028DL;
     16 
     17    d64_1 = (_Decimal64) d32_1; //Exercise LDETR (load lengthened)
     18    printf("D32 -> D64  : ");
     19    DFP_VAL_PRINT(d32_1, _Decimal32);
     20    printf(" -> ");
     21    DFP_VAL_PRINT(d64_1, _Decimal64);
     22 
     23    d128_2 = (_Decimal128) d64_2; //Exercise LXDTR (load lengthened)
     24    printf("\nD64 -> D128 : ");
     25    DFP_VAL_PRINT(d64_2, _Decimal64);
     26    printf(" -> ");
     27    DFP_VAL_PRINT(d128_2, _Decimal128);
     28 
     29    d32_2 = (_Decimal32) d64_2; //Exercise LEDTR (load rounded)
     30    printf("\nD64 -> D32  : ");
     31    DFP_VAL_PRINT(d64_2, _Decimal64);
     32    printf(" -> ");
     33    DFP_VAL_PRINT(d32_2, _Decimal32);
     34 
     35    d64_2 = (_Decimal64) d128_1; //Exercise LDXTR (load rounded)
     36    printf("\nD128 -> D64 : ");
     37    DFP_VAL_PRINT(d128_1, _Decimal128);
     38    printf(" -> ");
     39    DFP_VAL_PRINT(d64_2, _Decimal64);
     40    printf("\n");
     41 
     42    return 0;
     43 }
     44