numtools

perform numerical operations on vectors and matrices in unix pipes
git clone git://src.adamsgaard.dk/numtools # fast
git clone https://src.adamsgaard.dk/numtools.git # slow
Log | Files | Refs | README | LICENSE Back to index

test.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)"