adjust tests

This commit is contained in:
Adrian Mariano 2021-10-26 23:26:03 -04:00
parent 2eff8ec203
commit 817165a833
4 changed files with 46 additions and 41 deletions

View File

@ -111,7 +111,7 @@ module test_lift_plane() {
assert_approx(project_plane([[1,1,1],[3,1,3],[1,1,4]]),[[-1/sqrt(2),1/sqrt(2),0,0],[0,0,1,-1],[1/sqrt(2),1/sqrt(2),0,-sqrt(2)],[0,0,0,1]]);
N=30;
data2 = array_group(rands(0,10,3*N,seed=77),3);
data2 = list_to_matrix(rands(0,10,3*N,seed=77),3);
data3 = [for (d=data2) [d.x,d.y,d.x*3+d.y*5+2]];
planept = select(data3,0,N-4);
testpt = select(data3, N-3,-1);

View File

@ -154,6 +154,49 @@ module test_null_space(){
test_null_space();
module test_back_substitute(){
R = [[12,4,3,2],
[0,2,-4,2],
[0,0,4,5],
[0,0,0,15]];
assert_approx(back_substitute(R, [1,2,3,3]), [-0.675, 1.8, 0.5, 0.2]);
assert_approx(back_substitute(R, [6, 3, 3.5, 37], transpose=true), [0.5, 0.5, 1, 2]);
assert_approx(back_substitute(R, [[38,101],[-6,-16], [31, 71], [45, 105]]), [[1, 4],[2,3],[4,9],[3,7]]);
assert_approx(back_substitute(R, [[12,48],[8,22],[11,36],[71,164]],transpose=true), [[1, 4],[2,3],[4,9],[3,7]]);
assert_approx(back_substitute([[2]], [4]), [2]);
sing1 =[[0,4,3,2],
[0,3,-4,2],
[0,0,4,5],
[0,0,0,15]];
sing2 =[[12,4,3,2],
[0,0,-4,2],
[0,0,4,5],
[0,0,0,15]];
sing3 = [[12,4,3,2],
[0,2,-4,2],
[0,0,4,5],
[0,0,0,0]];
assert_approx(back_substitute(sing1, [1,2,3,4]), []);
assert_approx(back_substitute(sing2, [1,2,3,4]), []);
assert_approx(back_substitute(sing3, [1,2,3,4]), []);
}
test_back_substitute();
module test_outer_product(){
assert_equal(outer_product([1,2,3],[4,5,6]), [[4,5,6],[8,10,12],[12,15,18]]);
assert_equal(outer_product([1,2],[4,5,6]), [[4,5,6],[8,10,12]]);
assert_equal(outer_product([9],[7]), [[63]]);
}
test_outer_product();
module test_column() {
v = [[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]];
assert(column(v,2) == [3, 7, 11, 15]);

View File

@ -775,36 +775,6 @@ module test_c_norm(){
}
test_c_norm();
module test_back_substitute(){
R = [[12,4,3,2],
[0,2,-4,2],
[0,0,4,5],
[0,0,0,15]];
assert_approx(back_substitute(R, [1,2,3,3]), [-0.675, 1.8, 0.5, 0.2]);
assert_approx(back_substitute(R, [6, 3, 3.5, 37], transpose=true), [0.5, 0.5, 1, 2]);
assert_approx(back_substitute(R, [[38,101],[-6,-16], [31, 71], [45, 105]]), [[1, 4],[2,3],[4,9],[3,7]]);
assert_approx(back_substitute(R, [[12,48],[8,22],[11,36],[71,164]],transpose=true), [[1, 4],[2,3],[4,9],[3,7]]);
assert_approx(back_substitute([[2]], [4]), [2]);
sing1 =[[0,4,3,2],
[0,3,-4,2],
[0,0,4,5],
[0,0,0,15]];
sing2 =[[12,4,3,2],
[0,0,-4,2],
[0,0,4,5],
[0,0,0,15]];
sing3 = [[12,4,3,2],
[0,2,-4,2],
[0,0,4,5],
[0,0,0,0]];
assert_approx(back_substitute(sing1, [1,2,3,4]), []);
assert_approx(back_substitute(sing2, [1,2,3,4]), []);
assert_approx(back_substitute(sing3, [1,2,3,4]), []);
}
test_back_substitute();
module test_cumprod(){
@ -829,14 +799,6 @@ test_cumprod();
module test_outer_product(){
assert_equal(outer_product([1,2,3],[4,5,6]), [[4,5,6],[8,10,12],[12,15,18]]);
assert_equal(outer_product([1,2],[4,5,6]), [[4,5,6],[8,10,12]]);
assert_equal(outer_product([9],[7]), [[63]]);
}
test_outer_product();
module test_deriv(){
pent = [for(x=[0:70:359]) [cos(x), sin(x)]];
assert_approx(deriv(pent,closed=true),

View File

@ -184,7 +184,7 @@ module test_vector_search_tree(){
assert(tree2[0]==points2);
ind = vector_search([5,5,1],1,tree2);
assert(ind== [225, 270, 275, 276, 280, 325]);
rpts = array_group(rands(0,10,50*3,seed=seed),3);
rpts = list_to_matrix(rands(0,10,50*3,seed=seed),3);
rtree = vector_search_tree(rpts);
radius = 3;
found0 = vector_search([0,0,0],radius,rpts);
@ -199,7 +199,7 @@ module test_vector_nearest(){
points = [for(i=[0:9], j=[0:9], k=[1:5]) [i,j,k] ];
ind1 = vector_nearest([5,5,1], 4, points);
assert(ind1==[275, 225, 270, 276]);
pts = array_group(rands(0,10,50*3,seed=seed),3);
pts = list_to_matrix(rands(0,10,50*3,seed=seed),3);
tree = vector_search_tree(pts);
nearest = vector_nearest([0,0,0], 4, tree);
closest = select(sortidx([for(p=pts) norm(p)]), [0:3]);