libubtest.pl
author Andreas Thurnherr <ant@ldeo.columbia.edu>
Mon, 13 Apr 2020 11:06:22 -0400
changeset 40 c1803ae2540f
parent 0 a5233793bf69
permissions -rw-r--r--
.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     1
#======================================================================
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     2
#                    L I B U B T E S T . P L 
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     3
#                    doc: Sun Mar 21 09:35:05 1999
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     4
#                    dlm: Mon Jul 24 15:10:05 2006
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     5
#                    (c) 1999 A.M. Thurnherr
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     6
#                    uE-Info: 10 32 NIL 0 0 72 2 2 4 NIL ofnI
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     7
#======================================================================
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     8
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
     9
# overloaded equal() routine for ubtest
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    10
#	NB: tests relative errors!!!
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    11
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    12
# HISTORY:
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    13
#	Mar 21, 1999: - created
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    14
#	Sep 18, 1999: - argument typechecking
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    15
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    16
$error = 1e-6;
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    17
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    18
sub equal($$)
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    19
{
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    20
	my($target,$val) = &antsFunUsage(2,"ff","target, val",@_);
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    21
	my($abserr) = $target-$val;
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    22
	my($relerr) = abs($abserr / ($target ? $target : 1));
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    23
	if ($relerr > $error) {
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    24
		print(STDERR "Equality failure --- abs err = $abserr, rel err = $relerr\n");
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    25
		exit(1);
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    26
	}
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    27
	exit(0);
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    28
}
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    29
A.M. Thurnherr <athurnherr@yahoo.com>
parents:
diff changeset
    30
1;