mirror of
https://github.com/ioacademy-jikim/debugging
synced 2025-06-11 09:56:29 +00:00
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
#include <stdio.h>
|
|
#include <sys/types.h>
|
|
#include "dfp_utils.h"
|
|
|
|
volatile _Decimal32 d32_1, d32_2;
|
|
volatile _Decimal64 d64_1, d64_2;
|
|
volatile _Decimal128 d128_1, d128_2;
|
|
|
|
int main(void)
|
|
{
|
|
d64_1 = 5.000005DD;
|
|
d64_2 = 60000.4DD;
|
|
d32_1 = 3.000002DF;
|
|
d32_2 = 500000.000005DF;
|
|
d128_1 = 100000000.000028DL;
|
|
|
|
d64_1 = (_Decimal64) d32_1; //Exercise LDETR (load lengthened)
|
|
printf("D32 -> D64 : ");
|
|
DFP_VAL_PRINT(d32_1, _Decimal32);
|
|
printf(" -> ");
|
|
DFP_VAL_PRINT(d64_1, _Decimal64);
|
|
|
|
d128_2 = (_Decimal128) d64_2; //Exercise LXDTR (load lengthened)
|
|
printf("\nD64 -> D128 : ");
|
|
DFP_VAL_PRINT(d64_2, _Decimal64);
|
|
printf(" -> ");
|
|
DFP_VAL_PRINT(d128_2, _Decimal128);
|
|
|
|
d32_2 = (_Decimal32) d64_2; //Exercise LEDTR (load rounded)
|
|
printf("\nD64 -> D32 : ");
|
|
DFP_VAL_PRINT(d64_2, _Decimal64);
|
|
printf(" -> ");
|
|
DFP_VAL_PRINT(d32_2, _Decimal32);
|
|
|
|
d64_2 = (_Decimal64) d128_1; //Exercise LDXTR (load rounded)
|
|
printf("\nD128 -> D64 : ");
|
|
DFP_VAL_PRINT(d128_1, _Decimal128);
|
|
printf(" -> ");
|
|
DFP_VAL_PRINT(d64_2, _Decimal64);
|
|
printf("\n");
|
|
|
|
return 0;
|
|
}
|