From 07fc041d7bc0793318dd31ebef6ab2da9bcb3fe2 Mon Sep 17 00:00:00 2001 From: Omar Rizwan Date: Mon, 5 Dec 2022 02:14:51 -0500 Subject: Vendor tcllib linear algebra --- vendor/math/machineparameters.test | 52 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 vendor/math/machineparameters.test (limited to 'vendor/math/machineparameters.test') diff --git a/vendor/math/machineparameters.test b/vendor/math/machineparameters.test new file mode 100644 index 00000000..2a3f58e1 --- /dev/null +++ b/vendor/math/machineparameters.test @@ -0,0 +1,52 @@ +# -*- tcl -*- +# machineparameters.test -- +# Unit tests for machineparameters.tcl +# +# Copyright 2008 Michael Baudin + +# ------------------------------------------------------------------------- + +source [file join \ + [file dirname [file dirname [file join [pwd] [info script]]]] \ + devtools testutilities.tcl] + +testsNeedTcl 8.5 +testsNeedTcltest 2.1 + +testing { + useLocal machineparameters.tcl math::machineparameters +} + +# ------------------------------------------------------------------------- + +# +# Check all parameters are there +# +test checkall {check epsilon, rounding mode} -setup { + set pp [machineparameters create %AUTO%] + $pp configure -verbose 0 + $pp compute +} -body { + set epsilon [$pp get -epsilon] + set rounding [$pp get -rounding] + set basis [$pp get -basis] + set mantissa [$pp get -mantissa] + set emax [$pp get -exponentmax] + #$pp print + set res {} + # The following property on epsilon must hold false (yes : epsilon is THAT small !) + lappend res [expr {1.0+$epsilon>1.0}] + lappend res [expr {$rounding!=""}] + lappend res [expr {$basis> 1}] + lappend res [expr {$mantissa> 1}] +} -cleanup { + $pp destroy + unset pp +} -result {0 1 1 1} + +# ------------------------------------------------------------------------- +# +# Shutdown tests +# +tcltest::cleanupTests + -- cgit v1.2.3