diff tests/farray-array.t @ 752:c1f6efbb8580

farray.sh: Implement a variant of the exact binary search: "leftmost search" in "farray_binsearch_leftmost()"
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 10 Oct 2024 16:43:52 +0200
parents 4101e755b3e7
children 7ead30e3b2f9
line wrap: on
line diff
--- a/tests/farray-array.t	Thu Oct 10 14:04:16 2024 +0200
+++ b/tests/farray-array.t	Thu Oct 10 16:43:52 2024 +0200
@@ -1467,6 +1467,234 @@
   $ check_no_array_artifacts
 
 
+Binary Search Leftmost
+======================
+
+  $ farray_create TEST
+  $ farray_binsearch_leftmost _var TEST 1
+  $ echo ${_var}
+  1
+  $ farray_release TEST
+  $ check_no_array_artifacts
+
+  $ farray_create TEST 2
+  $ farray_binsearch_leftmost _var TEST 1
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 2
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 3
+  $ echo ${_var}
+  2
+  $ farray_release TEST
+  $ check_no_array_artifacts
+
+  $ farray_create TEST 2 4
+  $ farray_binsearch_leftmost _var TEST 1
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 2
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 3
+  $ echo ${_var}
+  2
+  $ farray_binsearch_leftmost _var TEST 4
+  $ echo ${_var}
+  2
+  $ farray_binsearch_leftmost _var TEST 5
+  $ echo ${_var}
+  3
+  $ farray_release TEST
+  $ check_no_array_artifacts
+
+  $ farray_create TEST 2 4 6
+  $ farray_binsearch_leftmost _var TEST 1
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 2
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 3
+  $ echo ${_var}
+  2
+  $ farray_binsearch_leftmost _var TEST 4
+  $ echo ${_var}
+  2
+  $ farray_binsearch_leftmost _var TEST 5
+  $ echo ${_var}
+  3
+  $ farray_binsearch_leftmost _var TEST 6
+  $ echo ${_var}
+  3
+  $ farray_binsearch_leftmost _var TEST 7
+  $ echo ${_var}
+  4
+  $ farray_release TEST
+  $ check_no_array_artifacts
+
+  $ farray_create TEST 2 4 6 8
+  $ farray_binsearch_leftmost _var TEST 1
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 2
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 3
+  $ echo ${_var}
+  2
+  $ farray_binsearch_leftmost _var TEST 4
+  $ echo ${_var}
+  2
+  $ farray_binsearch_leftmost _var TEST 5
+  $ echo ${_var}
+  3
+  $ farray_binsearch_leftmost _var TEST 6
+  $ echo ${_var}
+  3
+  $ farray_binsearch_leftmost _var TEST 7
+  $ echo ${_var}
+  4
+  $ farray_binsearch_leftmost _var TEST 8
+  $ echo ${_var}
+  4
+  $ farray_binsearch_leftmost _var TEST 9
+  $ echo ${_var}
+  5
+  $ farray_release TEST
+  $ check_no_array_artifacts
+
+  $ farray_create TEST 2 4 6 8 88
+  $ farray_binsearch_leftmost _var TEST 1
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 2
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 3
+  $ echo ${_var}
+  2
+  $ farray_binsearch_leftmost _var TEST 4
+  $ echo ${_var}
+  2
+  $ farray_binsearch_leftmost _var TEST 5
+  $ echo ${_var}
+  3
+  $ farray_binsearch_leftmost _var TEST 6
+  $ echo ${_var}
+  3
+  $ farray_binsearch_leftmost _var TEST 7
+  $ echo ${_var}
+  4
+  $ farray_binsearch_leftmost _var TEST 8
+  $ echo ${_var}
+  4
+  $ farray_binsearch_leftmost _var TEST 87
+  $ echo ${_var}
+  5
+  $ farray_binsearch_leftmost _var TEST 88
+  $ echo ${_var}
+  5
+  $ farray_binsearch_leftmost _var TEST 888
+  $ echo ${_var}
+  6
+  $ farray_release TEST
+  $ check_no_array_artifacts
+
+  $ farray_create TEST 2 4 6 8 88 8888
+  $ farray_binsearch_leftmost _var TEST 1
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 2
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 3
+  $ echo ${_var}
+  2
+  $ farray_binsearch_leftmost _var TEST 4
+  $ echo ${_var}
+  2
+  $ farray_binsearch_leftmost _var TEST 5
+  $ echo ${_var}
+  3
+  $ farray_binsearch_leftmost _var TEST 6
+  $ echo ${_var}
+  3
+  $ farray_binsearch_leftmost _var TEST 7
+  $ echo ${_var}
+  4
+  $ farray_binsearch_leftmost _var TEST 8
+  $ echo ${_var}
+  4
+  $ farray_binsearch_leftmost _var TEST 87
+  $ echo ${_var}
+  5
+  $ farray_binsearch_leftmost _var TEST 88
+  $ echo ${_var}
+  5
+  $ farray_binsearch_leftmost _var TEST 888
+  $ echo ${_var}
+  6
+  $ farray_binsearch_leftmost _var TEST 8888
+  $ echo ${_var}
+  6
+  $ farray_binsearch_leftmost _var TEST 88888
+  $ echo ${_var}
+  7
+  $ farray_release TEST
+  $ check_no_array_artifacts
+
+  $ farray_create TEST 2 4 6 8 88 8888 9
+  $ farray_binsearch_leftmost _var TEST 1
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 2
+  $ echo ${_var}
+  1
+  $ farray_binsearch_leftmost _var TEST 3
+  $ echo ${_var}
+  2
+  $ farray_binsearch_leftmost _var TEST 4
+  $ echo ${_var}
+  2
+  $ farray_binsearch_leftmost _var TEST 5
+  $ echo ${_var}
+  3
+  $ farray_binsearch_leftmost _var TEST 6
+  $ echo ${_var}
+  3
+  $ farray_binsearch_leftmost _var TEST 7
+  $ echo ${_var}
+  4
+  $ farray_binsearch_leftmost _var TEST 8
+  $ echo ${_var}
+  4
+  $ farray_binsearch_leftmost _var TEST 87
+  $ echo ${_var}
+  5
+  $ farray_binsearch_leftmost _var TEST 88
+  $ echo ${_var}
+  5
+  $ farray_binsearch_leftmost _var TEST 888
+  $ echo ${_var}
+  6
+  $ farray_binsearch_leftmost _var TEST 8888
+  $ echo ${_var}
+  6
+  $ farray_binsearch_leftmost _var TEST 88888
+  $ echo ${_var}
+  7
+  $ farray_binsearch_leftmost _var TEST 9
+  $ echo ${_var}
+  7
+  $ farray_binsearch_leftmost _var TEST 99
+  $ echo ${_var}
+  8
+  $ farray_release TEST
+  $ check_no_array_artifacts
+
+
 Generic Destruction
 ===================