openscad version [2021, 1, 0]
[ test ] ignore: 'is_point()'
[ test ] ignore: 'is_vector()'
[ test ] ignore: 'is_line()'
[ test ] ignore: 'is_vol()'
[ test ] ignore: 'is_plane()'
[ test ] t01 PASSED: 'distance_pp(undef, undef)=undef'
[ test ] t02 PASSED: 'distance_pp([], [])=undef'
[ test ] t03 PASSED: 'distance_pp(60, 50)=undef'
[ test ] t04 PASSED: 'distance_pp([99], [58])=undef'
[ test ] t05 PASSED: 'distance_pp([99, 2], [58, 16])=43.3244'
[ test ] t06 PASSED: 'distance_pp([199, 20, 55], [158, 116, 75])=106.287'
[ test ] t07 PASSED: 'distance_pp([169, 27, 35, 10], [178, 16, 25, 20])=undef'
[ test ] t08 PASSED: 'distance_pp([1, 0, 0], [0, 1, 0])=1.4142'
[ test ] t09 PASSED: 'distance_pp([1, 0, 0], [0, 1, 0])=1.4142'
[ test ] ignore: 'distance_pl()'
[ test ] ignore: 'distance_pn()'
[ test ] t01 PASSED: 'is_left_ppp(undef, undef, undef)=undef'
[ test ] t02 PASSED: 'is_left_ppp([], [], [])=undef'
[ test ] t03 PASSED: 'is_left_ppp(60, 50, 40)=undef'
[ test ] t04 PASSED: 'is_left_ppp([99], [58], [12])=undef'
[ test ] t05 PASSED: 'is_left_ppp([99, 2], [58, 16], [12, 43])=-463'
[ test ] t06 PASSED: 'is_left_ppp([199, 20, 55], [158, 116, 75], [12, 43, 90])=17009'
[ test ] t07 PASSED: 'is_left_ppp([169, 27, 35, 10], [178, 16, 25, 20], [12, 43, 90, 30])=undef'
[ test ] t08 PASSED: 'is_left_ppp([1, 0, 0], [0, 1, 0], [0, 0, 1])=1'
[ test ] t09 PASSED: 'is_left_ppp([1, 0, 0], [0, 1, 0], [2, 2, 0])=-3'
[ test ] ignore: 'point_closest_pl()'
[ test ] ignore: 'point_closest_pn()'
[ test ] t01 PASSED: 'point_to_3d(undef)=undef'
[ test ] t02 PASSED: 'point_to_3d([])=undef'
[ test ] t03 PASSED: 'point_to_3d(60)=undef'
[ test ] t04 PASSED: 'point_to_3d([99])=undef'
[ test ] t05 PASSED: 'point_to_3d([99, 2])=[99, 2, 0]'
[ test ] t06 PASSED: 'point_to_3d([199, 20, 55])=[199, 20, 55]'
[ test ] t07 PASSED: 'point_to_3d([169, 27, 35, 10])=undef'
[ test ] t08 PASSED: 'point_to_3d([1, 0, 0])=[1, 0, 0]'
[ test ] t09 PASSED: 'point_to_3d([1, 0, 0])=[1, 0, 0]'
[ test ] ignore: 'interpolate2d_l_pp()'
[ test ] ignore: 'line2d_new()'
[ test ] ignore: 'line3d_new()'
[ test ] ignore: 'line_new()'
[ test ] t01 PASSED: 'line_dim([undef, undef])=undef'
[ test ] t02 PASSED: 'line_dim([[], []])=undef'
[ test ] t03 PASSED: 'line_dim([60, 50])=2'
[ test ] t04 PASSED: 'line_dim([[99], [58]])=undef'
[ test ] t05 PASSED: 'line_dim([[99, 2], [58, 16]])=2'
[ test ] t06 PASSED: 'line_dim([[199, 20, 55], [158, 116, 75]])=3'
[ test ] t07 PASSED: 'line_dim([[169, 27, 35, 10], [178, 16, 25, 20]])=undef'
[ test ] t08 PASSED: 'line_dim([[1, 0, 0], [0, 1, 0]])=3'
[ test ] t09 PASSED: 'line_dim([[1, 0, 0], [0, 1, 0]])=3'
[ test ] t01 PASSED: 'line_tp([undef, undef])=undef'
[ test ] t02 PASSED: 'line_tp([[], []])=undef'
[ test ] t03 PASSED: 'line_tp([60, 50])=[60, 50]'
[ test ] t04 PASSED: 'line_tp([[99], [58]])=undef'
[ test ] t05 PASSED: 'line_tp([[99, 2], [58, 16]])=[58, 16]'
[ test ] t06 PASSED: 'line_tp([[199, 20, 55], [158, 116, 75]])=[158, 116, 75]'
[ test ] t07 PASSED: 'line_tp([[169, 27, 35, 10], [178, 16, 25, 20]])=undef'
[ test ] t08 PASSED: 'line_tp([[1, 0, 0], [0, 1, 0]])=[0, 1, 0]'
[ test ] t09 PASSED: 'line_tp([[1, 0, 0], [0, 1, 0]])=[0, 1, 0]'
[ test ] t01 PASSED: 'line_ip([undef, undef])=undef'
[ test ] t02 PASSED: 'line_ip([[], []])=undef'
[ test ] t03 PASSED: 'line_ip([60, 50])=[0, 0]'
[ test ] t04 PASSED: 'line_ip([[99], [58]])=undef'
[ test ] t05 PASSED: 'line_ip([[99, 2], [58, 16]])=[99, 2]'
[ test ] t06 PASSED: 'line_ip([[199, 20, 55], [158, 116, 75]])=[199, 20, 55]'
[ test ] t07 PASSED: 'line_ip([[169, 27, 35, 10], [178, 16, 25, 20]])=undef'
[ test ] t08 PASSED: 'line_ip([[1, 0, 0], [0, 1, 0]])=[1, 0, 0]'
[ test ] t09 PASSED: 'line_ip([[1, 0, 0], [0, 1, 0]])=[1, 0, 0]'
[ test ] t01 PASSED: 'vol_to_origin([undef, undef])=undef'
[ test ] t02 PASSED: 'vol_to_origin([[], []])=undef'
[ test ] t03 PASSED: 'vol_to_origin([60, 50])=[60, 50]'
[ test ] t04 PASSED: 'vol_to_origin([[99], [58]])=undef'
[ test ] t05 PASSED: 'vol_to_origin([[99, 2], [58, 16]])=[-41, 14]'
[ test ] t06 PASSED: 'vol_to_origin([[199, 20, 55], [158, 116, 75]])=[-41, 96, 20]'
[ test ] t07 PASSED: 'vol_to_origin([[169, 27, 35, 10], [178, 16, 25, 20]])=undef'
[ test ] t08 PASSED: 'vol_to_origin([[1, 0, 0], [0, 1, 0]])=[-1, 1, 0]'
[ test ] t09 PASSED: 'vol_to_origin([[1, 0, 0], [0, 1, 0]])=[-1, 1, 0]'
[ test ] ignore: 'vol_to_point()'
[ test ] t01 PASSED: 'dot_ll([undef, undef], [undef, undef])=undef'
[ test ] t02 PASSED: 'dot_ll([[], []], [[], []])=undef'
[ test ] t03 PASSED: 'dot_ll([60, 50], [40, 30])=3900'
[ test ] t04 PASSED: 'dot_ll([[99], [58]], [[12], [42]])=undef'
[ test ] t05 PASSED: 'dot_ll([[99, 2], [58, 16]], [[12, 43], [42, 13]])=-1650'
[ test ] t06 PASSED: 'dot_ll([[199, 20, 55], [158, 116, 75]], [[12, 43, 90], [42, 13, 34]])=-5230'
[ test ] t07 PASSED: 'dot_ll([[169, 27, 35, 10], [178, 16, 25, 20]], [[12, 43, 90, 30], [42, 13, 34, 60]])=undef'
[ test ] t08 PASSED: 'dot_ll([[1, 0, 0], [0, 1, 0]], [[0, 0, 1], [-1, 0, 0]])=1'
[ test ] t09 PASSED: 'dot_ll([[1, 0, 0], [0, 1, 0]], [[2, 2, 0], [0, 0, 0]])=0'
[ test ] t01 -skip-: 'cross_ll(All undefined)'
[ test ] t02 -skip-: 'cross_ll(All empty lists)'
[ test ] t03 -skip-: 'cross_ll(All scalars)'
[ test ] t04 -skip-: 'cross_ll(All 1d vectors)'
[ test ] t05 PASSED: 'cross_ll([[99, 2], [58, 16]], [[12, 43], [42, 13]])=810'
[ test ] t06 PASSED: 'cross_ll([[199, 20, 55], [158, 116, 75]], [[12, 43, 90], [42, 13, 34]])=[-4776, -1696, -1650]'
[ test ] t07 -skip-: 'cross_ll(All 4d vectors)'
[ test ] t08 PASSED: 'cross_ll([[1, 0, 0], [0, 1, 0]], [[0, 0, 1], [-1, 0, 0]])=[-1, -1, 1]'
[ test ] t09 PASSED: 'cross_ll([[1, 0, 0], [0, 1, 0]], [[2, 2, 0], [0, 0, 0]])=[0, 0, 4]'
[ test ] t01 -skip-: 'striple_lll(All undefined)'
[ test ] t02 -skip-: 'striple_lll(All empty lists)'
[ test ] t03 -skip-: 'striple_lll(All scalars)'
[ test ] t04 -skip-: 'striple_lll(All 1d vectors)'
[ test ] t05 PASSED: 'striple_lll([[99, 2], [58, 16]], [[12, 43], [42, 13]], [[15, 59], [1, 85]])=[-14760, 5040]'
[ test ] t06 PASSED: 'striple_lll([[199, 20, 55], [158, 116, 75]], [[12, 43, 90], [42, 13, 34]], [[15, 59, 45], [62, 33, 69]])=-219976'
[ test ] t07 -skip-: 'striple_lll(All 4d vectors)'
[ test ] t08 PASSED: 'striple_lll([[1, 0, 0], [0, 1, 0]], [[0, 0, 1], [-1, 0, 0]], [[0, -1, 0], [0, 0, -1]])=-2'
[ test ] t09 PASSED: 'striple_lll([[1, 0, 0], [0, 1, 0]], [[2, 2, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0]])=0'
[ test ] t01 PASSED: 'angle_ll([undef, undef], [undef, undef])=undef'
[ test ] t02 PASSED: 'angle_ll([[], []], [[], []])=undef'
[ test ] t03 PASSED: 'angle_ll([60, 50], [40, 30])=-2.9357'
[ test ] t04 PASSED: 'angle_ll([[99], [58]], [[12], [42]])=undef'
[ test ] t05 PASSED: 'angle_ll([[99, 2], [58, 16]], [[12, 43], [42, 13]])=153.853'
[ test ] t06 PASSED: 'angle_ll([[199, 20, 55], [158, 116, 75]], [[12, 43, 90], [42, 13, 34]])=134.457'
[ test ] t07 PASSED: 'angle_ll([[169, 27, 35, 10], [178, 16, 25, 20]], [[12, 43, 90, 30], [42, 13, 34, 60]])=undef'
[ test ] t08 PASSED: 'angle_ll([[1, 0, 0], [0, 1, 0]], [[0, 0, 1], [-1, 0, 0]])=60'
[ test ] t09 PASSED: 'angle_ll([[1, 0, 0], [0, 1, 0]], [[2, 2, 0], [0, 0, 0]])=90'
[ test ] t01 -skip-: 'angle_lll(All undefined)'
[ test ] t02 -skip-: 'angle_lll(All empty lists)'
[ test ] t03 -skip-: 'angle_lll(All scalars)'
[ test ] t04 -skip-: 'angle_lll(All 1d vectors)'
[ test ] t05 -skip-: 'angle_lll(All 2d vectors)'
[ test ] t06 PASSED: 'angle_lll([[199, 20, 55], [158, 116, 75]], [[12, 43, 90], [42, 13, 34]], [[15, 59, 45], [62, 33, 69]])=-91.362'
[ test ] t07 -skip-: 'angle_lll(All 4d vectors)'
[ test ] t08 PASSED: 'angle_lll([[1, 0, 0], [0, 1, 0]], [[0, 0, 1], [-1, 0, 0]], [[0, -1, 0], [0, 0, -1]])=-63.4349'
[ test ] t09 PASSED: 'angle_lll([[1, 0, 0], [0, 1, 0]], [[2, 2, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0]])=0'
[ test ] t01 PASSED: 'unit_l([undef, undef])=undef'
[ test ] t02 PASSED: 'unit_l([[], []])=undef'
[ test ] t03 PASSED: 'unit_l([60, 50])=[0.7682, 0.6402]'
[ test ] t04 PASSED: 'unit_l([[99], [58]])=undef'
[ test ] t05 PASSED: 'unit_l([[99, 2], [58, 16]])=[-0.9464, 0.3231]'
[ test ] t06 PASSED: 'unit_l([[199, 20, 55], [158, 116, 75]])=[-0.3857, 0.9032, 0.1882]'
[ test ] t07 PASSED: 'unit_l([[169, 27, 35, 10], [178, 16, 25, 20]])=undef'
[ test ] t08 PASSED: 'unit_l([[1, 0, 0], [0, 1, 0]])=[-0.7071, 0.7071, 0]'
[ test ] t09 PASSED: 'unit_l([[1, 0, 0], [0, 1, 0]])=[-0.7071, 0.7071, 0]'
[ test ] t01 -skip-: 'are_coplanar_lll(All undefined)'
[ test ] t02 -skip-: 'are_coplanar_lll(All empty lists)'
[ test ] t03 -skip-: 'are_coplanar_lll(All scalars)'
[ test ] t04 -skip-: 'are_coplanar_lll(All 1d vectors)'
[ test ] t05 -skip-: 'are_coplanar_lll(All 2d vectors)'
[ test ] t06 PASSED: 'are_coplanar_lll([[199, 20, 55], [158, 116, 75]], [[12, 43, 90], [42, 13, 34]], [[15, 59, 45], [62, 33, 69]])=false'
[ test ] t07 -skip-: 'are_coplanar_lll(All 4d vectors)'
[ test ] t08 PASSED: 'are_coplanar_lll([[1, 0, 0], [0, 1, 0]], [[0, 0, 1], [-1, 0, 0]], [[0, -1, 0], [0, 0, -1]])=false'
[ test ] t09 PASSED: 'are_coplanar_lll([[1, 0, 0], [0, 1, 0]], [[2, 2, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 0]])=true'
[ test ] t01 -skip-: 'plane_to_normal(All undefined)'
[ test ] t02 -skip-: 'plane_to_normal(All empty lists)'
[ test ] t03 PASSED: 'plane_to_normal([60, 50])=[60, 50, 0]'
[ test ] t04 -skip-: 'plane_to_normal(All 1d vectors)'
[ test ] t05 PASSED: 'plane_to_normal([[99, 2], [58, 16]])=[0, 0, 1468]'
[ test ] t06 PASSED: 'plane_to_normal([[199, 20, 55], [158, 116, 75]])=[-4880, -6235, 19924]'
[ test ] t07 -skip-: 'plane_to_normal(All 4d vectors)'
[ test ] t08 PASSED: 'plane_to_normal([[1, 0, 0], [0, 1, 0]])=[0, 0, 1]'
[ test ] t09 PASSED: 'plane_to_normal([[1, 0, 0], [0, 1, 0]])=[0, 0, 1]'