diff options
Diffstat (limited to 'Dragon/data/tmacro_proc/assertS_low.c2m')
| -rw-r--r-- | Dragon/data/tmacro_proc/assertS_low.c2m | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/Dragon/data/tmacro_proc/assertS_low.c2m b/Dragon/data/tmacro_proc/assertS_low.c2m new file mode 100644 index 0000000..a0db294 --- /dev/null +++ b/Dragon/data/tmacro_proc/assertS_low.c2m @@ -0,0 +1,37 @@ +* +* Assert procedure for non-regression testing +* Recover a value from a real array +* Special version with user-defined epsilon +* Author: A. Hebert +* +PARAMETER LCMNAM :: ::: LINKED_LIST LCMNAM ; ; +CHARACTER KEY ; +INTEGER ISET IPOS ; +REAL REFVALUE epsilon ; +:: >>KEY<< >>IPOS<< >>REFVALUE<< >>epsilon<< ; +INTEGER ITYLCM ; +REAL VALUE DELTA ; +DOUBLE PRECISION DVALUE ; +MODULE GREP: ABORT: END: ; +* +GREP: LCMNAM :: TYPE <<KEY>> >>ITYLCM<< ; +IF ITYLCM 2 = THEN + GREP: LCMNAM :: GETVAL <<KEY>> <<IPOS>> >>VALUE<< ; +ELSEIF ITYLCM 4 = THEN + GREP: LCMNAM :: GETVAL <<KEY>> <<IPOS>> >>DVALUE<< ; + EVALUATE VALUE := DVALUE D_TO_R ; +ELSE + PRINT "assertS_low: INVALID TYPE=" ITYLCM ; + ABORT: ; +ENDIF ; +EVALUATE DELTA := VALUE REFVALUE - REFVALUE / ABS ; +IF DELTA epsilon < THEN + PRINT "TEST SUCCESSFUL; DELTA=" DELTA ; +ELSE + PRINT "------------" ; + PRINT "TEST FAILURE" ; + PRINT "------------" ; + PRINT "REFERENCE=" REFVALUE " CALCULATED=" VALUE ; + ABORT: ; +ENDIF ; +END: ; |
