From 4fb537e60d325b7a393da47eb16984670e230e87 Mon Sep 17 00:00:00 2001 From: Abe Kornelis Date: Wed, 21 Aug 2024 18:15:56 +0200 Subject: [PATCH] Move test cases from build procedure into the groovy test framework (#551) * Add TESTDFP1 and TESTDFP2 to RunAsmTests.groovy script * remove tests from bat\BLDLIB.BAT and add reference files * update TESTFPC1.TF1 to correct version * Move TESTFPC1 and TESTFPC2 from linklib to tests directory * Convert WTOs in TESTFPC1 and 2 to write to file output * Fix remaining references to TESTDFP1 and TESTDFP2 * re-enable disabled groovy script * Change OPTB# to use extreme LRECL for reading the z390 .prn listing because it contains a line with all options and paths * Undoing changes for optable tests - these belong in a different branch * Fix various oversights * Modify macro RT1 to route output either to file, or to log * remove superfluous statement from groovy test script * Modify mac\RT1 macro to allow test programs to request a user abendwith non-default abend code * For mac\RT1 improve quality of comments * More documentation improvements * Make abend logic in mac\RT1.MAC more flexible --- .gitignore | 9 +- bash/bldlib | 2 - bat/BLDLIB.BAT | 6 +- mac/RT1.MAC | 83 +++- rt/RTLINK1.BAT | 2 - {linklib => tests}/TESTFPC1.MLC | 16 +- tests/TESTFPC1.TF1 | 377 ++++++++++++++++++ {linklib => tests}/TESTFPC2.MLC | 19 +- tests/TESTFPC2.TF1 | 55 +++ .../groovy/org/z390/test/RunAsmTests.groovy | 26 +- 10 files changed, 557 insertions(+), 38 deletions(-) rename {linklib => tests}/TESTFPC1.MLC (93%) create mode 100644 tests/TESTFPC1.TF1 rename {linklib => tests}/TESTFPC2.MLC (83%) create mode 100644 tests/TESTFPC2.TF1 diff --git a/.gitignore b/.gitignore index 14699bab0..5dacbcc04 100644 --- a/.gitignore +++ b/.gitignore @@ -300,8 +300,6 @@ linklib/RTGENDIR linklib/rtlink linklib/SQXTR linklib/SUPERZAP -linklib/TESTFPC1 -linklib/TESTFPC2 linklib/UNREF linklib/ZSTRMAC rt/RTGENCMP @@ -352,8 +350,6 @@ rt/all/TESTEXT1 rt/all/TESTEXT2 rt/all/TESTFP1 rt/all/TESTFP2 -rt/all/TESTFPC1 -rt/all/TESTFPC2 rt/all/TESTINS1 rt/all/TESTINS2 rt/all/TESTINS3 @@ -419,8 +415,6 @@ rt/linklib/dif/RTLINK rt/linklib/dif/SORT rt/linklib/dif/SQXTR rt/linklib/dif/SUPERZAP -rt/linklib/dif/TESTFPC1 -rt/linklib/dif/TESTFPC2 rt/linklib/dif/UNREF rt/linklib/dif/ZSTRMAC rt/linklib/save/CVTTOHEX @@ -434,8 +428,7 @@ rt/linklib/save/RTGENDIR rt/linklib/save/rtlink rt/linklib/save/SQXTR rt/linklib/save/SUPERZAP -rt/linklib/save/TESTFPC2 -rt/linklib/save/UNREF +\rt/linklib/save/UNREF rt/linklib/save/ZSTRMAC rt/test/TESTACT1 rt/test/TESTAIN1 diff --git a/bash/bldlib b/bash/bldlib index 9ca9e7c8f..c292ebcab 100755 --- a/bash/bldlib +++ b/bash/bldlib @@ -16,8 +16,6 @@ bash/asm linklib/SQXTR bal notiming stats bash/asm linklib/DAT bal notiming stats bash/asmlg linklib/IEFBR14 "sysobj(+linklib)" -bash/asmlg linklib/TESTFPC1 "sysobj(+linklib)" -bash/asmlg linklib/TESTFPC2 "sysobj(+linklib)" bash/asm linklib/RTGENDIR noasm bal notiming stats "sysparm(RTGENDIR)" bash/asm linklib/RTGENCMP noasm bal notiming stats "sysparm(RTGENCMP)" diff --git a/bat/BLDLIB.BAT b/bat/BLDLIB.BAT index 21216341b..c15252fec 100644 --- a/bat/BLDLIB.BAT +++ b/bat/BLDLIB.BAT @@ -21,11 +21,9 @@ call bat\asm %z_TraceMode% linklib\CVTTOHEX bal notiming stats || goto e call bat\asm %z_TraceMode% linklib\SQXTR bal notiming stats || goto error call bat\asm %z_TraceMode% linklib\DAT bal notiming stats || goto error call bat\asmlg %z_TraceMode% linklib\IEFBR14 sysobj(+linklib) || goto error -call bat\asmlg %z_TraceMode% linklib\TESTFPC1 sysobj(+linklib) || goto error -call bat\asmlg %z_TraceMode% linklib\TESTFPC2 sysobj(+linklib) || goto error -call bat\asm %z_TraceMode% linklib\RTGENDIR noasm bal notiming stats sysparm(RTGENDIR) || goto error -call bat\asm %z_TraceMode% linklib\RTGENCMP noasm bal notiming stats sysparm(RTGENCMP) || goto error +rem call bat\asm %z_TraceMode% linklib\RTGENDIR noasm bal notiming stats sysparm(RTGENDIR) || goto error +rem call bat\asm %z_TraceMode% linklib\RTGENCMP noasm bal notiming stats sysparm(RTGENCMP) || goto error set z_ReturnCode=0 goto return diff --git a/mac/RT1.MAC b/mac/RT1.MAC index 90e98065b..cf337914a 100644 --- a/mac/RT1.MAC +++ b/mac/RT1.MAC @@ -25,12 +25,15 @@ .* 09/22/06 ADD CCLE AND CCGE OPTIONS FOR USE IN TESTTIM2 TESTS .* 03/05/08 ADD RT1 OK - INC COUNT BY 1 .* 04/19/08 RPI 833 add SETC quotes for HLASM compatibility +.* 08/17/24 #540 Add parameter to select either WTO or file output +.* Add option to request a user abend nnnn or (reg) .********************************************************************* -&NAME RT1 &CMD,&CLC1,&CLC2,&LL +&NAME RT1 &CMD,&CLC1,&CLC2,&LL,&TYPE=WTO,&ABEND=101 #540 .* .* REGRESSION TEST V1 COMMAND MACROS .* .* 1. RT1 MAIN - START PGM AND DISPLAY STARTUP WTO +.* &TYPE=FILE selects output to file #540 .* 2, RT1 START - START OF RT1 TEST MACROS FOLLOWING DATA .* 3. RT1 CCE - TEST FOR PSW CC EQUAL (OPTIONAL CLC PARMS) .* 4. RT1 CCL - TEST FOR PSW CC LOW (OPTIONAL CLC PARMS) @@ -39,17 +42,21 @@ .* 7. RT1 CCLE - TEST FOR PSW CC HIGH (OPTIONAL CLC PARMS) RPI 461 .* 8. RT1 CC? - TEST FOR PSW CC = CC0-CC3 .* 9. RT1 OK - INC TEST COUNT BY 1 -.* 9. RT1 ABORT - ABORT WITH TOTAL TESTS TO FAILURE AND USER 101 DUMP -.*10. RT1 END - DISPLAY TOTAL TESTS AND ENDED OK WTO +.*10. RT1 ABORT - ABORT WITH TOTAL TESTS TO FAILURE AND USER 101 DUMP #540 +.*11. RT1 END - DISPLAY TOTAL TESTS AND ENDED OK WTO #540 +.*12 RT1 ABEND - Abend with specified abend code #540 +.* &ABEND=nnnn specifies desired user abend code #540 .* GBLA &RT1_TOT GBLC &RT1NAME + GBLC &RT1TYPE WTO / FILE #540 AIF ('&CMD' EQ 'MAIN').RT1MAIN AIF ('&CMD' EQ 'START').RT1START AIF ('&CMD' EQ 'END').RT1END &NAME DS 0H &RT1_TOT SETA &RT1_TOT+1 AIF ('&CMD' EQ 'OK').RT1OK + AIF ('&CMD' EQ 'ABEND').RT1ABEND #540 AIF ('&CMD' EQ 'ABORT').RT1ABORT AIF ('&CLC1' EQ '').NOCLC AIF ('&LL' EQ '').NOCLCLL @@ -71,32 +78,78 @@ AIF ('&CMD' EQ 'CC3').RT1CC3 MNOTE 8,'RT1 INVALID COMMAND - &CMD' MEXIT +.* #540 .RT1MAIN ANOP + AIF ('&TYPE' EQ 'WTO').TYPE_OK #540 + AIF ('&TYPE' EQ 'FILE').TYPE_OK #540 + MNOTE 8,'RT1 MAIN,TYPE=&TYPE - Invalid value for Type: should * #540 + be WTO or FILE' #540 + MEXIT , #540 +.TYPE_OK ANOP , #540 +&RT1TYPE SETC '&TYPE' Save for subsequent invocations #540 +.* #540 +.* Define inner macro to route output to either WTO or file #540 + MACRO , #540 + RT1SAY &MSG #540 + GBLC &RT1TYPE WTO / FILE #540 +.* #540 + AIF ('&RT1TYPE' EQ 'FILE').DO_FILE #540 + AIF ('&RT1TYPE' EQ 'WTO').DO_WTO #540 + MNOTE 8,'RT1 - internal logic error - TYPE=&RT1TYPE is not sup* #540 + ported' #540 + MEXIT , #540 +.DO_FILE ANOP , #540 + PUT RT1OUT,&MSG Write message to file #540 + MEXIT , #540 +.DO_WTO ANOP , #540 + WTO MF=(E,&MSG) Write message to log #540 + MEND , #540 +.* #540 &RT1NAME SETC '&NAME' &RT1NAME SUBENTRY - WTO '&RT1NAME RT1 STARTED' + AIF ('&RT1TYPE' NE 'FILE').NO_OPEN #540 + OPEN (RT1OUT,(OUTPUT)) Open output file #540 +.NO_OPEN ANOP , #540 + RT1SAY RT1_WTO0 Write start message #540 BRCL 15,RT1_START +.* #540 RT1_ABORT DS 0H MVI RT1_ABORTED,C'T' - WTO '&RT1NAME RT1 TESTING ABORTED' + RT1SAY RT1_WTO9 Write abort message #540 +.* #540 RT1_END DS 0H MVC RT1_DTOT,=X'402020202020' ED RT1_DTOT,RT1_TOT - WTO MF=(E,RT1_WTO1) + RT1SAY RT1_WTO1 Write test count #540 CLI RT1_ABORTED,C'T' BE RT1_DUMP - WTO '&RT1NAME RT1 ENDED OK' + RT1SAY RT1_WTO8 Write ended okay message #540 + AIF ('&RT1TYPE' NE 'FILE').NO_CLOS #540 + CLOSE (RT1OUT) Close output file #540 +.NO_CLOS ANOP , #540 SUBEXIT RT1_DUMP DS 0H + AIF ('&RT1TYPE' NE 'FILE').NO_CLSE #540 + CLOSE (RT1OUT) Close output file #540 +.NO_CLSE ANOP , #540 ABEND 101 RT1_LINK EQU 11 RT1_DATA EQU * RT1_TOT DC PL3'0' TOTAL RT1 TESTS COMPLETED RT1_ONE DC P'1' +RT1_WTO0 DC AL2(RT1_WTO0_END-*,0),C'&RT1NAME RT1 STARTED' #540 +RT1_WTO0_END EQU * #540 RT1_WTO1 DC AL2(RT1_WTO_END-*,0),C'&RT1NAME RT1 TESTS COMPLETED = ' RT1_DTOT DC CL6' ZZZZZ' RT1_WTO_END EQU * +RT1_WTO8 DC AL2(RT1_WTO8_END-*,0),C'&RT1NAME RT1 ENDED OK' #540 +RT1_WTO8_END EQU * #540 +RT1_WTO9 DC AL2(RT1_WTO9_END-*,0),C'&RT1NAME RT1 TESTING ABORTED' #540 +RT1_WTO9_END EQU * #540 RT1_ABORTED DC C'F' + AIF ('&RT1TYPE' NE 'FILE').NO_DCB #540 +RT1OUT DCB DSORG=PS,MACRF=PM,DDNAME=RT1OUT,LRECL=160,RECFM=VT #540 +.NO_DCB ANOP , #540 LTORG RT1_TEST_CC0 DS 0H BNE RT1_ABORT @@ -127,6 +180,7 @@ RT1_TEST_CCLE DS 0H .RT1START ANOP RT1_START DS 0H MEXIT +.* #540 .RT1CCE ANOP .RT1CC0 ANOP RT1_TEST&RT1_TOT BAS RT1_LINK,RT1_TEST_CC0 @@ -135,6 +189,7 @@ RT1_TEST&RT1_TOT BAS RT1_LINK,RT1_TEST_CC0 LTORG RT1_CCE&RT1_TOT DS 0H MEXIT +.* #540 .RT1CCL ANOP .RT1CC1 ANOP RT1_TEST&RT1_TOT BAS RT1_LINK,RT1_TEST_CC1 @@ -143,6 +198,7 @@ RT1_TEST&RT1_TOT BAS RT1_LINK,RT1_TEST_CC1 LTORG RT1_CCL&RT1_TOT DS 0H MEXIT +.* #540 .RT1CCH ANOP .RT1CC2 ANOP RT1_TEST&RT1_TOT BAS RT1_LINK,RT1_TEST_CC2 @@ -151,6 +207,7 @@ RT1_TEST&RT1_TOT BAS RT1_LINK,RT1_TEST_CC2 LTORG RT1_CCH&RT1_TOT DS 0H MEXIT +.* #540 .RT1CC3 ANOP RT1_TEST&RT1_TOT BAS RT1_LINK,RT1_TEST_CC3 USING *,RT1_LINK @@ -158,6 +215,7 @@ RT1_TEST&RT1_TOT BAS RT1_LINK,RT1_TEST_CC3 LTORG RT1_CC3&RT1_TOT DS 0H MEXIT +.* #540 .RT1CCLE ANOP RT1_TEST&RT1_TOT BAS RT1_LINK,RT1_TEST_CCLE USING *,RT1_LINK @@ -165,6 +223,7 @@ RT1_TEST&RT1_TOT BAS RT1_LINK,RT1_TEST_CCLE LTORG RT1_CCLE&RT1_TOT DS 0H MEXIT +.* #540 .RT1CCGE ANOP RT1_TEST&RT1_TOT BAS RT1_LINK,RT1_TEST_CCGE USING *,RT1_LINK @@ -172,6 +231,7 @@ RT1_TEST&RT1_TOT BAS RT1_LINK,RT1_TEST_CCGE LTORG RT1_CCGE&RT1_TOT DS 0H MEXIT +.* #540 .RT1OK ANOP BAS RT1_LINK,RT1_OK USING *,RT1_LINK @@ -179,9 +239,18 @@ RT1_CCGE&RT1_TOT DS 0H LTORG RT1_OK&RT1_TOT DS 0H MEXIT +.* #540 +.RT1ABEND ANOP , #540 + AIF ('&RT1TYPE' NE 'FILE').NO_CLS #540 + CLOSE (RT1OUT) Close output file #540 +.NO_CLS ANOP , #540 + ABEND &ABEND #540 + MEXIT , #540 +.* #540 .RT1ABORT ANOP B RT1_ABORT MEXIT +.* #540 .RT1END ANOP B RT1_END MEXIT diff --git a/rt/RTLINK1.BAT b/rt/RTLINK1.BAT index 818663ada..2779b697c 100644 --- a/rt/RTLINK1.BAT +++ b/rt/RTLINK1.BAT @@ -14,8 +14,6 @@ call rt\RT4 linklib\CVTTOHEX %1 %2 %3 %4 %5 %6 %7 %8 %9 call rt\RT4 linklib\SQXTR %1 %2 %3 %4 %5 %6 %7 %8 %9 call rt\RT4 linklib\DAT %1 %2 %3 %4 %5 %6 %7 %8 %9 call rt\RT1 linklib\IEFBR14 sysobj(linklib) %1 %2 %3 %4 %5 %6 %7 %8 %9 -call rt\RT1 linklib\TESTFPC1 sysobj(linklib) %1 %2 %3 %4 %5 %6 %7 %8 %9 -call rt\RT1 linklib\TESTFPC2 sysobj(linklib) %1 %2 %3 %4 %5 %6 %7 %8 %9 call zc390bld %1 %2 %3 %4 %5 %6 %7 %8 %9 rem gen zstrmac translator using zstrmac.bat call zstrmac linklib\zstrmac.zsm linklib\zstrmac.txt notiming stats diff --git a/linklib/TESTFPC1.MLC b/tests/TESTFPC1.MLC similarity index 93% rename from linklib/TESTFPC1.MLC rename to tests/TESTFPC1.MLC index 1312f6500..2e99d48f9 100644 --- a/linklib/TESTFPC1.MLC +++ b/tests/TESTFPC1.MLC @@ -28,6 +28,8 @@ * 01/13/08 RPI 786 use fp compares to handle equivalent DFP values * 03/19/08 RPI 819 clear high 32 bits of gprs to avoid bugs in fpconvrt * 04/19/08 RPI 833 add SETC quotes for HLASM compatibilitys in fpconvrt +* 08/12/24 #540 BUILD procedure contains tests +* Converting WTO output to file output ********************************************************************* * Test conversion from and to 128 bit integer and all 6 floating * point types using default svc 170 and 171 and also using @@ -35,7 +37,7 @@ ********************************************************************* COPY ASMMSP PRINT DATA -TESTFPC1 RT1 MAIN +TESTFPC1 RT1 MAIN,TYPE=FILE DCB name is RT1OUT #540 INT128 DC 0XL16,X'80',15X'00' largest negative 128 bit int WORK16 DC XL16'00' WTOMSG DC AL2(WTOEND-*,0) @@ -82,12 +84,12 @@ LHT1 DC LH'-567678867789987898' LA R2,&VAL LA R3,L'&VAL CALL CVTTOHEX,((R2),DHEX,(R3)) - WTO MF=(E,WTOMSG) + PUT RT1OUT,WTOMSG #540 IF (CP,PRC,NE,=P'0') MVC DRC,=X'40202020' ED DRC,PRC+6 - WTO MF=(E,WTOPRC) - ABEND 101 + PUT RT1OUT,WTOPRC #540 + RT1 ABEND,ABEND=102 Close file and abend #540 ENDIF XC WORK16,WORK16 CFD CFD_&TYPE,OUT=WORK16,IN=DECIMAL,LINKAGE=&LINKAGE @@ -96,12 +98,12 @@ LHT1 DC LH'-567678867789987898' MVC DHEX,=CL32' ' LA R3,L'&VAL CALL CVTTOHEX,(WORK16,DHEX,(R3)) - WTO MF=(E,WTOMSG) + PUT RT1OUT,WTOMSG #540 IF (CP,PRC,NE,=P'0') MVC DRC,=X'40202020' ED DRC,PRC+6 - WTO MF=(E,WTOPRC) - ABEND 102 + PUT RT1OUT,WTOPRC #540 + RT1 ABEND,ABEND=103 Close file and abend #540 ENDIF AP RT1_TOT,=P'1' * RPI 786 START TEST FOR DFP diff --git a/tests/TESTFPC1.TF1 b/tests/TESTFPC1.TF1 new file mode 100644 index 000000000..ab366d2ce --- /dev/null +++ b/tests/TESTFPC1.TF1 @@ -0,0 +1,377 @@ +TESTFPC1 RT1 STARTED +M>D DB 0000000000000000 =0 +MD DB 0000000000000000 =0 0 +SD DB 0031FA182C40C60D =1E-307 0 +MD DB 0031FA182C40C60D =1E-307 1E-307 +SD DB 3FF0000000000000 =1 1E-307 +MD DB 3FF0000000000000 =1 1 +SD DB 4000000000000000 =2 1 +MD DB 4000000000000000 =2 2 +SD DB 4059000000000000 =100 2 +MD DB 4059000000000000 =100 100 +SD DB 7FAC7B1F3CAC7433 =1E307 100 +MD DB 7FAC7B1F3CAC7433 =1E307 1E307 +SD DB BFF0000000000000 =-1 1E307 +MD DB BFF0000000000000 =-1 -1 +SD DB C000000000000000 =-2 -1 +MD DB C000000000000000 =-2 -2 +SD DB C059000000000000 =-100 -2 +MD DB C059000000000000 =-100 -100 +SD DD 2238000000000000 =0 -100 +SD DD 25F934B9C1E28E56 =0.1234567890123456 -100 +SD DD 25F934B9C1E28E56 =0.1234567890123456 -100 +SD DD 0000000000000001 =1E-398 -100 +SD DD 2238000000000001 =1 -100 +SD DD 2238000000000002 =2 -100 +SD DD 2240000000000001 =1E+2 -100 +SD DD 2238A395BCF049C5 =123456789012345 -100 +SD DD 2238A395BCF049C5 =123456789012345 -100 +SD DD 263934B9C1E28E56 =1234567890123456 -100 +SD DD 46E934B9C1E28E56 =1.234567890123456E315 -100 +SD DD 77FCFF3FCFF3FCFF =9.999999999999999E384 -100 +SD DD A238000000000001 =-1 -100 +SD DD A238000000000002 =-2 -100 +SD DD A240000000000001 =-1E+2 -100 +SD DH 0000000000000000 =0 -100 +MD DH 0000000000000000 =0 0 +SD DH 001DA48CE468E7C7 =1E-78 0 +MD DH 001DA48CE468E7C7 =1E-78 1E-78 +SD DH 4110000000000000 =1 1E-78 +MD DH 4110000000000000 =1 1 +SD DH 4120000000000000 =2 1 +MD DH 4120000000000000 =2 2 +SD DH 4264000000000000 =100 2 +MD DH 4264000000000000 =100 100 +SD DH 7FD43E1310A8F0D0 =6E75 100 +MD DH 7FD43E1310A8F0D0 =6E75 6E75 +SD DH C110000000000000 =-1 6E75 +MD DH C110000000000000 =-1 -1 +SD DH C120000000000000 =-2 -1 +MD DH C120000000000000 =-2 -2 +SD DH C264000000000000 =-100 -2 +MD DH C264000000000000 =-100 -100 +SD EB 00000000 =0 -100 +MD EB 00000000 =0 0 +SD EB 00D9C7DD =2E-38 0 +MD EB 00D9C7DD =2E-38 2E-38 +SD EB 3F800000 =1 2E-38 +MD EB 3F800000 =1 1 +SD EB 40000000 =2 1 +MD EB 40000000 =2 2 +SD EB 40400000 =3 2 +MD EB 40400000 =3 3 +SD EB 42C80000 =100 3 +MD EB 42C80000 =100 100 +SD EB 7E967699 =1E38 100 +MD EB 7E967699 =1E38 1E38 +SD EB BF800000 =-1 1E38 +MD EB BF800000 =-1 -1 +SD EB C0000000 =-2 -1 +MD EB C0000000 =-2 -2 +SD EB C2C80000 =-100 -2 +MD EB C2C80000 =-100 -100 +SD ED 22500000 =0 -100 +SD ED 25E4D2E7 =0.1234567 -100 +SD ED 25E4D2E7 =0.1234567 -100 +SD ED 00000001 =1E-101 -100 +SD ED 22500001 =1 -100 +SD ED 22500002 =2 -100 +SD ED 22500003 =3 -100 +SD ED 22700001 =1E+2 -100 +SD ED 2654D2E7 =1234567 -100 +SD ED 2654D2E7 =1234567 -100 +SD ED 47F4D2E7 =1.234567E96 -100 +SD ED 77F3FCFF =9.999999E96 -100 +SD ED A2500001 =-1 -100 +SD ED A2500002 =-2 -100 +SD ED A2700001 =-1E+2 -100 +SD EH 00000000 =0 -100 +MD EH 00000000 =0 0 +SD EH 001DA48D =1E-78 0 +MD EH 001DA48D =1E-78 1E-78 +SD EH 41100000 =1 1E-78 +MD EH 41100000 =1 1 +SD EH 41200000 =2 1 +MD EH 41200000 =2 2 +SD EH 42640000 =100 2 +MD EH 42640000 =100 100 +SD EH 7F235FAE =1E75 100 +MD EH 7F235FAE =1E75 1E75 +SD EH C1100000 =-1 1E75 +MD EH C1100000 =-1 -1 +SD EH C1200000 =-2 -1 +MD EH C1200000 =-2 -2 +SD EH C2640000 =-100 -2 +MD EH C2640000 =-100 -100 +SD LB 00000000000000000000000000000000=0 -100 +SD LB 00027CB6CDD979C16F61C65C8726B012=1E-4931 -100 +SD LB 3FFF0000000000000000000000000000=1 -100 +SD LB 40000000000000000000000000000000=2 -100 +SD LB 40059000000000000000000000000000=100 -100 +SD LB 7FFB584784422D97F147D9C64FD9D5F7=1E4931 -100 +SD LB BFFF0000000000000000000000000000=-1 -100 +SD LB C0000000000000000000000000000000=-2 -100 +SD LB C0059000000000000000000000000000=-100 -100 +SD LB C039F8333B0B47900E80000000000000=-567678867789987898 -100 +SD LD 22080000000000000000000000000000=0 -100 +SD LD 25FF934B9C1E28E56F3C127177823534=0.1234567890123456789012345678901234 -100 +SD LD 25FF934B9C1E28E56F3C127177823534=0.1234567890123456789012345678901234 -100 +SD LD 00000000000000000000000000000001=1E-6176 -100 +SD LD 22080000000000000000000000000001=1 -100 +SD LD 22080000000000000000000000000002=2 -100 +SD LD 22088000000000000000000000000001=1E+2 -100 +SD LD 2608134B9C1E28E56F3C127177823534=1234567890123456789012345678901234 -100 +SD LD 2608134B9C1E28E56F3C127177823534=1234567890123456789012345678901234 -100 +SD LD 2608134B9C1E28E56F3C127177823534=1234567890123456789012345678901234 -100 +SD LD 47FFD34B9C1E28E56F3C127177823534=1.234567890123456789012345678901234E6144 -100 +SD LD 77FFCFF3FCFF3FCFF3FCFF3FCFF3FCFF=9.999999999999999999999999999999999E6144 -100 +SD LD 43FFC000000000000000000000000001=1E+6111 -100 +SD LD A2080000000000000000000000000001=-1 -100 +SD LD A2080000000000000000000000000002=-2 -100 +SD LD A2088000000000000000000000000001=-1E+2 -100 +SD LD A2080000000000000B9F78DB7CFE3C7E=-567678867789987898 -100 +SD LH 00000000000000000000000000000000=0 -100 +SD LH 0058EDA6AD3AB75572072F606D77A003=3E-78 -100 +SD LH 41100000000000003300000000000000=1 -100 +SD LH 41200000000000003300000000000000=2 -100 +SD LH 42640000000000003400000000000000=100 -100 +SD LH 7F46BF5BB038504571767E0F0EF2E7AA=2E75 -100 +SD LH C110000000000000B300000000000000=-1 -100 +SD LH C120000000000000B300000000000000=-2 -100 +SD LH C264000000000000B400000000000000=-100 -100 +SD LH CF7E0CCEC2D1E403C1A0000000000000=-567678867789987898 -100 +SD IN 00000000000000000000000000000000=0 -100 +MD IN 00000000000000000000000000000000=0 0 +SD IN 00000000000000000000000000000001=1 0 +MD IN 00000000000000000000000000000001=1 1 +SD IN 00000000000000000000000000000002=2 1 +MD IN 00000000000000000000000000000002=2 2 +SD IN 00000000000000000000000000000064=100 2 +MD IN 00000000000000000000000000000064=100 100 +SD IN 000000000000000000000000000F4240=1000000 100 +MD IN 000000000000000000000000000F4240=1000000 1000000 +SD IN 0000000000000000000009184E72A000=10000000000000 1000000 +MD IN 0000000000000000000009184E72A000=10000000000000 10000000000000 +SD IN 000000000000000000005AF3107A4000=100000000000000 10000000000000 +MD IN 000000000000000000005AF3107A4000=100000000000000 100000000000000 +SD IN 00000000000000008000000000000000=9223372036854775808 100000000000000 +MD IN 00000000000000008000000000000000=9223372036854775808 9223372036854775808 +SD IN 00000000000000010000000000000000=18446744073709551616 9223372036854775808 +MD IN 00000000000000010000000000000000=18446744073709551616 18446744073709551616 +SD IN 000000000052B7D2DCC80CD2E4000000=100000000000000000000000000 18446744073709551616 +MD IN 000000000052B7D2DCC80CD2E4000000=100000000000000000000000000 100000000000000000000000000 +SD IN 00000000033B2E3C9FD0803CE8000000=1000000000000000000000000000 100000000000000000000000000 +MD IN 00000000033B2E3C9FD0803CE8000000=1000000000000000000000000000 1000000000000000000000000000 +SD IN 4B3B4CA85A86C47A098A224000000000=100000000000000000000000000000000000000 1000000000000000000000000000 +MD IN 4B3B4CA85A86C47A098A224000000000=100000000000000000000000000000000000000 100000000000000000000000000000000000000 +SD IN FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF=-1 100000000000000000000000000000000000000 +MD IN FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF=-1 -1 +SD IN FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE=-2 -1 +MD IN FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE=-2 -2 +SD IN FFFFFFFFFFFFFFFFFFFFFFFFFFF0BDC0=-1000000 -2 +MD IN FFFFFFFFFFFFFFFFFFFFFFFFFFF0BDC0=-1000000 -1000000 +SD IN FFFFFFFFFFFFFFFFFFFFF6E7B18D6000=-10000000000000 -1000000 +MD IN FFFFFFFFFFFFFFFFFFFFF6E7B18D6000=-10000000000000 -10000000000000 +SD IN FFFFFFFFFFFFFFFFFFFFA50CEF85C000=-100000000000000 -10000000000000 +MD IN FFFFFFFFFFFFFFFFFFFFA50CEF85C000=-100000000000000 -100000000000000 +SD IN FFFFFFFFFFFFFFFF8000000000000000=-9223372036854775808 -100000000000000 +MD IN FFFFFFFFFFFFFFFF8000000000000000=-9223372036854775808 -9223372036854775808 +SD IN FFFFFFFFFFFFFFFF0000000000000000=-18446744073709551616 -9223372036854775808 +MD IN FFFFFFFFFFFFFFFF0000000000000000=-18446744073709551616 -18446744073709551616 +SD IN FFFFFFFFFFAD482D2337F32D1C000000=-100000000000000000000000000 -18446744073709551616 +MD IN FFFFFFFFFFAD482D2337F32D1C000000=-100000000000000000000000000 -100000000000000000000000000 +SD IN FFFFFFFFFCC4D1C3602F7FC318000000=-1000000000000000000000000000 -100000000000000000000000000 +MD IN FFFFFFFFFCC4D1C3602F7FC318000000=-1000000000000000000000000000 -1000000000000000000000000000 +SD IN B4C4B357A5793B85F675DDC000000000=-100000000000000000000000000000000000000 -1000000000000000000000000000 +MD IN B4C4B357A5793B85F675DDC000000000=-100000000000000000000000000000000000000 -100000000000000000000000000000000000000 +SD IN 80000000000000000000000000000000=-170141183460469231731687303715884105728 -100000000000000000000000000000000000000 +MD IN 80000000000000000000000000000000=-170141183460469231731687303715884105728 -170141183460469231731687303715884105728 +SD EH 01100000 =8.63617E-78 +MD EH 01100000 =8.636168E-78 8.63617E-78 +SD EH 7FFFFFFF =7.23701E75 8.63617E-78 +MD EH 7FFFFFFF =7.237005E75 7.23701E75 +SD EB 00800000 =1.175494E-38 7.23701E75 +MD EB 00800000 =1.175494E-38 1.175494E-38 +SD EB 7F7FFFFF =3.402823E38 1.175494E-38 +MD EB 7F7FFFFF =3.402823E38 3.402823E38 +SD DH 0110000000000000 =8.63616855509444E-78 3.402823E38 +MD DH 0110000000000000 =8.63616855509444E-78 8.63616855509444E-78 +SD DH 7FFFFFFFFFFFFFFF =7.23700557733226E75 8.63616855509444E-78 +MD DH 7FFFFFFFFFFFFFFF =7.23700557733226E75 7.23700557733226E75 +SD DB 0010000000000000 =2.2250738585072E-308 7.23700557733226E75 +MD DB 0010000000000000 =2.2250738585072E-308 2.2250738585072E-308 +SD DB 7FEFFFFFFFFFFFFF =1.79769313486232E308 2.2250738585072E-308 +MD DB 7FEFFFFFFFFFFFFF =1.79769313486231E308 1.79769313486232E308 +SD LH 01100000000000007200000000000000=8.6361685550944446253863518628004E-78 1.79769313486232E308 +SD LH 7FFFFFFFFFFFFFFF71FFFFFFFFFFFFFF=7.2370055773322622139731865630429E75 1.79769313486232E308 +SD LB 00010000000000000000000000000000=3.362103143112093506262677817321753E-4932 1.79769313486232E308 +SD LB 7FFEFFFFFFFFFFFFFFFFFFFFFFFFFFFF=1.189731495357231765085759326628007E4932 1.79769313486232E308 +SD ED 00000001 =1E-101 1.79769313486232E308 +SD ED 77F3FCFF =9.999999E96 1.79769313486232E308 +SD DD 0000000000000001 =1E-398 1.79769313486232E308 +SD DD 77FCFF3FCFF3FCFF =9.999999999999999E384 1.79769313486232E308 +SD LD 00000000000000000000000000000001=1E-6176 1.79769313486232E308 +SD LD 77FFCFF3FCFF3FCFF3FCFF3FCFF3FCFF=9.999999999999999999999999999999999E6144 1.79769313486232E308 +S