trangetest.1 - 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
---
trangetest.1 (2144B)
---
1 .Dd $Mdocdate$
2 .Dt RANGETEST 1
3 .Os
4 .Sh NAME
5 .Nm rangetest
6 .Nd tests the output status of a child program with a range of input values
7 .Sh SYNOPSIS
8 .Nm
9 .Ar cmd
10 .Ar min_val
11 .Ar max_val
12 .Sh DESCRIPTION
13 .Nm
14 performs a binary search to test the exit status from a child program
15 invoked with
16 .Ar cmd ,
17 where the first occurence of a string @VAL@ is substituted for
18 floating-point values in the search range from
19 .Ar min_val
20 to
21 .Ar max_val .
22 The search range is iteratively narrowed down to find a close
23 approximation of the threshold value where the
24 .Ar cmd
25 transitions between success to failure, as judged by the child program
26 exit status.
27 .Pp
28 The behavior of
29 .Ar cmd
30 should transition once between success and failure in the range of
31 .Ar min_val
32 and
33 .Ar max_val .
34 If
35 .Ar min_val
36 and
37 .Ar max_val
38 both fail or both succeed,
39 .Nm
40 fails.
41 .Sh OUTPUT
42 The parameter values of successful runs are printed to stdout, while
43 values of failed runs are printed to stderr.
44 The output of
45 .Ar cmd
46 is also shown, unless it is suppressed by redirecting its output
47 with ">/dev/null 2>&1".
48 .Sh EXAMPLES
49 Given an example program "condfail", which always fails when its first
50 argument is equal or greater than 1.5,
51 .Nm
52 shows all parameter values which result in a successful invocation:
53 .Dl $ rangetest './condfail @VAL@' 0.0 10.0 2>/dev/null
54 .Dl 0
55 .Dl 1.25
56 .Dl 1.40625
57 .Dl 1.484375
58 .Dl 1.494140625
59 .Pp
60 The values associated with failed invocations are printed in standard error:
61 .Dl $ rangetest './condfail @VAL@' 0.0 10.0 >/dev/null
62 .Dl 10
63 .Dl 5
64 .Dl 2.5
65 .Dl 1.875
66 .Dl 1.5625
67 .Dl 1.5234375
68 .Dl 1.50390625
69 .Pp
70 While the above values all result in a successful invocation of
71 .Ar cmd ,
72 .Nm
73 progressively steps closer to the failure threshold.
74 .Pp
75 Find the minimum acceptable length
76 .Op Fl L
77 for the program
78 .Xr cngf-pf 1 ,
79 while suppressing its output:
80 .Dl $ ./rangetest 'cngf-pf -L @VAL@ -d 0.1 >/dev/null 2>&1' -2e-1 2e-1 2>/dev/null
81 .Dl 0.2
82 .Dl 0.15
83 .Dl 0.125
84 .Dl 0.1125
85 .Dl 0.10625
86 .Dl 0.103125
87 .Dl 0.101562
88 .Dl 0.100781
89 .Dl 0.100391
90 .Sh SEE ALSO
91 .Xr max 1 ,
92 .Xr mean 1 ,
93 .Xr min 1 ,
94 .Xr range 1 ,
95 .Xr sum 1
96 .Sh AUTHORS
97 .An Anders Damsgaard Aq Mt anders@adamsgaard.dk