File: machineparameters.test

package info (click to toggle)
tcllib 1.16-dfsg-2
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 50,040 kB
  • ctags: 18,603
  • sloc: tcl: 156,708; ansic: 14,098; sh: 10,783; xml: 1,766; yacc: 1,114; pascal: 551; makefile: 89; perl: 84; f90: 84; python: 33; ruby: 13; php: 11
file content (40 lines) | stat: -rwxr-xr-x 989 bytes parent folder | download | duplicates (4)
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
37
38
39
40
# machineparameters.test --
#   Unit tests for machineparameters.tcl
#
#
# Copyright 2008 Michael Baudin
#
#
# Startup unit tests
#
package require tcltest
tcltest::configure -verbose {start body error pass}
set basedir [file dirname [info script]]
lappend ::auto_path $basedir
package require math::machineparameters
#
# Check all parameters are there
#
tcltest::test checkall {check epsilon, rounding mode} {
  set pp [machineparameters create %AUTO%]
  $pp configure -verbose 0
  $pp compute
  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
  $pp destroy
  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}]
} {0 1 1 1}
#
# Shutdown tests
#
tcltest::cleanupTests