summaryrefslogtreecommitdiff
path: root/Trivac/data/assertS.c2m
blob: b5b6a58d3641b03ee898802e51ad7e58f6641dea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
*
* Assert procedure for non-regression testing
* Recover a value from a real array
* Author: A. Hebert
*
PARAMETER LCMNAM :: ::: LINKED_LIST LCMNAM ; ;
CHARACTER KEY ;
INTEGER ISET IPOS ;
REAL REFVALUE ;
:: >>KEY<< >>IPOS<< >>REFVALUE<< ;
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: INVALID TYPE=" ITYLCM ;
  ABORT: ;
ENDIF ;
EVALUATE DELTA := VALUE REFVALUE - REFVALUE / ABS ;
IF DELTA 5.0E-5 < THEN
  PRINT "TEST SUCCESSFUL; DELTA=" DELTA ;
ELSE
  PRINT "------------" ;
  PRINT "TEST FAILURE" ;
  PRINT "------------" ;
  PRINT "REFERENCE=" REFVALUE " CALCULATED=" VALUE ;
  ABORT: ;
ENDIF ;
END: ;