summaryrefslogtreecommitdiffstats
path: root/funtools/bsearch.c
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2016-10-26 21:13:00 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2016-10-26 21:13:00 (GMT)
commitda2e3d212171bbe64c1af39114fd067308656990 (patch)
tree9601f7ed15fa1394762124630c12a792bc073ec2 /funtools/bsearch.c
parent76b109ad6d97d19ab835596dc70149ef379f3733 (diff)
downloadblt-da2e3d212171bbe64c1af39114fd067308656990.zip
blt-da2e3d212171bbe64c1af39114fd067308656990.tar.gz
blt-da2e3d212171bbe64c1af39114fd067308656990.tar.bz2
rm funtools for update
Diffstat (limited to 'funtools/bsearch.c')
-rw-r--r--funtools/bsearch.c68
1 files changed, 0 insertions, 68 deletions
diff --git a/funtools/bsearch.c b/funtools/bsearch.c
deleted file mode 100644
index df69ca2..0000000
--- a/funtools/bsearch.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* http://www.tbray.org/ongoing/When/200x/2003/03/22/Binary */
-
-/* returns first target if more than one have same value */
-static public int search(int [] array, int target)
-{
- int high = array.length, low = -1, probe;
- while (high - low > 1)
- {
- probe = (high + low) / 2;
- if (array[probe] < target)
- low = probe;
- else
- high = probe;
- }
- if (high == array.length || array[high] != target)
- return -1;
- else
- return high;
-}
-
-/* returns last target if more than one have same value */
-static public int search2(int [] array, int target)
-{
- int high = array.length, low = -1, probe;
- while (high - low > 1)
- {
- probe = (high + low) / 2;
- if (array[probe] > target)
- high = probe;
- else
- low = probe;
- }
- if (low == -1 || array[low] != target)
- return -1;
- else
- return low;
-}
-
-static public int [] range(int [] array, int floor, int ceiling)
-{
- int [] answer = new int[2];
- int high, low, probe;
-
- // work on floor
- high = array.length; low = -1;
- while (high - low > 1)
- {
- probe = (high + low) / 2;
- if (array[probe] < floor)
- low = probe;
- else
- high = probe;
- }
- answer[0] = low;
-
- // work on ceiling
- high = array.length; low = -1;
- while (high - low > 1)
- {
- probe = (high + low) / 2;
- if (array[probe] > ceiling)
- high = probe;
- else
- low = probe;
- }
- answer[1] = high;
- return answer;
-}