1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-07-31 20:10:36 +02:00

add binary_search

This commit is contained in:
Justin Lin
2022-05-10 09:08:34 +08:00
parent b891640014
commit 412672b00c
5 changed files with 47 additions and 4 deletions

View File

@@ -67,10 +67,8 @@ include <util/test_sub_str.scad>;
include <util/test_split_str.scad>;
include <util/test_parse_number.scad>;
include <util/test_slice.scad>;
include <util/test_sorted.scad>;
include <util/test_reverse.scad>;
include <util/test_fibseq.scad>;
include <util/test_bsearch.scad>;
include <util/test_choose.scad>;
include <util/test_dedup.scad>;
include <util/test_zip.scad>;
@@ -82,7 +80,8 @@ include <util/test_spherical_coordinate.scad>;
include <util/test_count.scad>;
include <util/set/test_hashset.scad>;
include <util/map/test_hashmap.scad>;
include <util/test_sort.scad>;
include <util/test_sorted.scad>;
include <util/test_binary_search.scad>;
// Voxel
include <voxel/test_vx_bezier.scad>;

View File

@@ -0,0 +1,19 @@
use <util/sorted.scad>;
use <util/binary_search.scad>;
module test_binary_search() {
echo("==== test_binary_search ====");
points = [[1, 1], [3, 4], [7, 2], [5, 2]];
lt = sorted(points); // [[1, 1], [3, 4], [5, 2], [7, 2]]
assert(binary_search(lt, [7, 2]) == 3);
xIs5 = function(elem) elem[0] - 5;
assert(binary_search(lt, xIs5) == 2);
yIs4 = function(elem) elem[1] - 4;
assert(binary_search(lt, yIs4) == 1);
}
test_binary_search();