ttest.sh - numtools - perform numerical operations on vectors and matrices in unix pipes
(HTM) git clone git://src.adamsgaard.dk/numtools
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
ttest.sh (3426B)
---
1 #!/bin/sh
2
3 strtest()
4 {
5 if ! test "$2" = "$3"
6 then
7 printf 'FAIL: %s: %s != %s\n' "$1" "$2" "$3"
8 fi
9 }
10
11 strtest range_man "0.20000000000000001
12 0.40000000000000002
13 0.60000000000000009
14 0.80000000000000004" "$(./range -be -N 4)"
15 strtest range_man "1 2 3" "$(./range -d' ' -N 3 1 3)"
16 strtest range_man "1
17 10
18 100" "$(./range -l -N 3 0 2)"
19 strtest range_man "-2
20 -1.5
21 -1" "$(./range -N 3 -- -2 -1)"
22 strtest range "0
23 0.1111111111111111
24 0.22222222222222221
25 0.33333333333333331
26 0.44444444444444442
27 0.55555555555555558
28 0.66666666666666663
29 0.77777777777777768
30 0.88888888888888884
31 1" "$(./range)"
32 strtest range "0 0.33333333333333331 0.66666666666666663 1" "$(./range -n -d' ' -N 4)"
33 strtest range "0 0.33 0.67 1" "$(./range -n -p 2 -d' ' -N 4)"
34 strtest range "0.25 0.5 0.75 1" "$(./range -b -p 2 -d' ' -N 4)"
35 strtest range "0 0.25 0.5 0.75" "$(./range -e -p 2 -d' ' -N 4)"
36 strtest range_man "0
37 0.33333333333333331
38 0.66666666666666663
39 1" "$(./range -N 4)"
40
41 strtest max_man "4 5 6" "$(printf '1\t2\t3\n4\t5\t6\n' | ./max)"
42 strtest max "4,5,6" "$(printf '1\t2\t3\n4\t5\t6\n' | ./max -d',')"
43 strtest max "1" "$(./range | ./max)"
44 strtest max "0.90909090909090917" "$(./range -be | ./max)"
45 strtest max "0.909" "$(./range -be | ./max -p 3 )"
46
47 strtest mean_man "2.5 3.5 4.5" "$(printf '1\t2\t3\n4\t5\t6\n' | ./mean)"
48 strtest mean "2.5,3.5,4.5" "$(printf '1\t2\t3\n4\t5\t6\n' | ./mean -d',')"
49 strtest mean "0.5" "$(./range | ./mean)"
50 strtest mean "0.5" "$(./range -be | ./mean)"
51 strtest mean "0.5" "$(./range -be | ./mean -p 3 )"
52
53 strtest min_man "1 2 3" "$(printf '1\t2\t3\n4\t5\t6\n' | ./min)"
54 strtest min "1,2,3" "$(printf '1\t2\t3\n4\t5\t6\n' | ./min -d',')"
55 strtest min "0" "$(./range | ./min)"
56 strtest min "0.090909090909090912" "$(./range -be | ./min)"
57 strtest min "0.0909" "$(./range -be | ./min -p 3 )"
58
59 strtest rangetest_man "0
60 1.25
61 1.40625
62 1.484375
63 1.494140625" "$(./rangetest './condfail @VAL@' 0.0 10.0 2>/dev/null)"
64
65 strtest rangetest_man "10
66 5
67 2.5
68 1.875
69 1.5625
70 1.5234375
71 1.50390625" "$(./rangetest './condfail @VAL@' 0.0 10.0 2>&1 >/dev/null)"
72
73 strtest stddev_man "2.1908902300206643" "$(printf '10\n8\n10\n8\n8\n4\n' | ./stddev)"
74 strtest stddev_man "2" "$(printf '10\n8\n10\n8\n8\n4\n' | ./stddev -u)"
75 strtest stddev "2.2" "$(printf '10\n8\n10\n8\n8\n4\n' | ./stddev -p 2)"
76 strtest stddev "2.1213203435596424 2.1213203435596424 2.1213203435596424" "$(printf '1\t2\t3\n4\t5\t6\n' | ./stddev)"
77 strtest stddev "2.1 2.1 2.1" "$(printf '1\t2\t3\n4\t5\t6\n' | ./stddev -p 2)"
78 strtest stddev "2.1,2.1,2.1" "$(printf '1\t2\t3\n4\t5\t6\n' | ./stddev -p 2 -d',' )"
79
80 strtest stdvar_man "4.7999999999999998" "$(printf '10\n8\n10\n8\n8\n4\n' | ./stdvar)"
81 strtest stdvar_man "4" "$(printf '10\n8\n10\n8\n8\n4\n' | ./stdvar -u)"
82 strtest stdvar "4.8" "$(printf '10\n8\n10\n8\n8\n4\n' | ./stdvar -p 2)"
83 strtest stdvar "4.5 4.5 4.5" "$(printf '1\t2\t3\n4\t5\t6\n' | ./stdvar)"
84 strtest stdvar "4.5 4.5 4.5" "$(printf '1\t2\t3\n4\t5\t6\n' | ./stdvar -p 2)"
85 strtest stdvar "4.5,4.5,4.5" "$(printf '1\t2\t3\n4\t5\t6\n' | ./stdvar -p 2 -d',' )"
86
87 strtest sum_man "5 7 9" "$(printf '1\t2\t3\n4\t5\t6\n' | ./sum)"
88 strtest sum "48" "$(printf '10\n8\n10\n8\n8\n4\n' | ./sum)"
89 strtest sum "5e+01" "$(printf '10\n8\n10\n8\n8\n4\n' | ./sum -p 1)"
90 strtest sum "5 7 9" "$(printf '1\t2\t3\n4\t5\t6\n' | ./sum)"
91 strtest sum "5,7,9" "$(printf '1\t2\t3\n4\t5\t6\n' | ./sum -d',' )"
92
93 strtest transpose_man "1 4
94 2 5
95 3 6" "$(printf '1\t2\t3\n4\t5\t6\n' | ./transpose)"