Revision 9562
Added by Aaron Marcuse-Kubitza over 11 years ago
lib/sh/binsearch.sh | ||
---|---|---|
9 | 9 |
echo_func; kw_params min max; : "${min?}" "${max?}" |
10 | 10 |
local min="$min" max="$max" i |
11 | 11 |
while true; do |
12 |
i=$(( (min + max)/2 )); log+ -2 echo_vars i |
|
12 |
log+ -2 echo_vars |
|
13 |
|
|
14 |
i=$(( (min + max)/2 )) |
|
15 |
log+ -2 echo_vars min max i |
|
13 | 16 |
if ! (( i > min )); then break; fi |
14 |
if echo_run "$@"; then min="$i"; echo_vars min |
|
15 |
else max="$i"; echo_vars max |
|
16 |
fi |
|
17 |
if echo_run "$@"; then min="$i"; else max="$i"; fi |
|
17 | 18 |
done |
18 | 19 |
echo "$i" |
19 | 20 |
} |
Also available in: Unified diff
lib/sh/binsearch.sh: binsearch(): also echo_vars the min/max so these can be used as shortcut inputs if binsearch is run again