Commit graph

168 commits

Author SHA1 Message Date
Adrian Mariano
4e36eacca8 Moved submatrix to arrays.scad and relaxed requirement for numerical
input.  Added examples and tests.
2020-08-03 19:49:22 -04:00
RonaldoCMP
e06519bbfb changes to hide recursion args and avoid repetitive arg validations
cumsum broken in two to hide recursion args and avoid repetitive arg validations.

back_substitute changed to avoid repetitive arg validations in the recursion.

minor change in deriv2 and deriv3 to avoid an unecessary call to is_matrix.

change in is_matrix for better performance

any() and all() broken in two to avoid repetitive arg validation in the recursion and to hide recursion args.

change in polymult to call convolve

break of poly_div in two to avoid repetitive arg validations in the recursion.
2020-08-04 00:38:36 +01:00
RonaldoCMP
c9408a66fa Merge remote-tracking branch 'upstream/master' 2020-08-04 00:13:26 +01:00
Adrian Mariano
06b69475cb Fix bug. Add test for subindex. 2020-08-02 10:38:11 -04:00
Adrian Mariano
47d02ae783 removed median tests 2020-08-02 01:23:15 -04:00
Adrian Mariano
e2817ae64d removed references to errors.scad 2020-08-02 01:18:33 -04:00
RonaldoCMP
e858d5627e Merge remote-tracking branch 'upstream/revarbat_dev' 2020-08-02 00:03:05 +01:00
RonaldoCMP
526c01109c Minor edits in in_list and transpose, removal of is_simple list 2020-07-31 15:52:35 +01:00
Garth Minette
6064dcbed0 Fix list_remove() for null index list. 2020-07-29 22:39:17 -07:00
Revar Desmera
cddb76a131
Merge branch 'master' into master 2020-07-29 22:14:16 -07:00
Revar Desmera
5e98cbf679
Merge pull request #216 from RonaldoCMP/master
Extensive changes in arrays.scad, vectors.scad, common.scad and their regression test codes
2020-07-29 21:44:39 -07:00
RonaldoCMP
8a25764744 Overall review, input data check, format, new function definitions
New function definitions in commom.scad:
1. valid_range;
2. _list_pattern

New function definitions in math.scad:
1. binomial;
2. binomial_coefficient;
3. convolve;

Code review in math:
1. sum;
2. median;
3. is_matrix;
4. approx;
5. count_true;
6. doc of deriv2;
7. polynomial;
8. poly_mult;
9; poly_div;
10. _poly_trim

Code change in test_common:
1. new test_valid_range;
2. test_is_consistent

Code change in test_math:
1. test_approx;
2. new test_convolve;
3. new test_binomial;
4. new test_binomial_coefficient;
5. test_outer_product;
6. test_polynomial;
7. test_poly_mult;
8. test_poly_div;
9. test_poly_add;
2020-07-29 22:41:02 +01:00
RonaldoCMP
babc10d60d Revert "input checks in math and new function definitions"
This reverts commit 19e5a9504a.
2020-07-29 21:50:22 +01:00
RonaldoCMP
19e5a9504a input checks in math and new function definitions 2020-07-29 21:49:15 +01:00
RonaldoCMP
281d945ed7 Revert "update"
This reverts commit d45f289a95.
2020-07-29 15:30:35 +01:00
RonaldoCMP
62629b6eb6 Revert "remove test_all"
This reverts commit 66aba45802.
2020-07-29 06:50:42 +01:00
RonaldoCMP
66aba45802 remove test_all 2020-07-29 02:40:59 +01:00
Adrian Mariano
b7b276099f commented out test for removed function
added test for find_noncollinear_points where no such points exist
2020-07-28 18:06:57 -04:00
RonaldoCMP
d45f289a95 update 2020-07-28 22:55:21 +01:00
Adrian Mariano
7b5c2456ce change hull to use find_noncollinear_points, add some error checks,
add regression tests
2020-07-28 17:54:57 -04:00
RonaldoCMP
ab57790c27 Correction of is_vector and doc text 2020-07-28 19:02:35 +01:00
RonaldoCMP
c10a8b919d Extensive review of arrays.scad, vectors.scad, common.scad and their regression tests
Here is an extensive review of common.scad, vectors.scad, arrays.scad and their regression test codes. The changes were mostly in input data check and format. Some few functions got more changes either to adapt them to the new asserts or because a better (faster, simpler) code was found.

Another change was moving add_scalar from vectors.scad to arrays.scad. It is in fact an array operation. Some few documentation examples and test codes were added. Some function argument names were changed to keep them consistent with the names they have in other similar functions. That name changes were not as extensive as I would like but it is advisable to favor users.

Most, but not all, changed function codes are followed by a comment with a short summary of the changes done. Those comments always start with:
//***

I can eliminate those comments before a merge is done or in a second round.
2020-07-25 20:27:19 +01:00
RonaldoCMP
bdba4c0821 A broad review of input data check and code format
Some functions were changed for sake of clarity or better performance.
2020-07-24 22:54:34 +01:00
Adrian Mariano
1dda5b088c Fixed docs for path2d.
Modified pointlist_bounds to give output that matches input
dimension and to work on any input dimension.  Also made it ~20 times faster.
2020-07-24 16:36:57 -04:00
RonaldoCMP
d2e851ae42
Merge branch 'master' into master 2020-07-24 14:47:25 +01:00
RonaldoCMP
464c65ce8c Eliminating tabs 2020-07-24 13:30:19 +01:00
RonaldoCMP
877a07b711 Full review of input data checking, formating and improvement in some functions
Refactorigng of list_set(), list_insert() and list_remove() without any sorting and speed gain.

Some argument names changed for consistence between functions.

test_array() updated.
2020-07-24 00:19:49 +01:00
RonaldoCMP
88e2fc0f29 Input data check review and some refactoring
Some functions have been changed as a consequence of the dat checking review. vector_axis was fully refactored. add_scalar was moved to arrays.scad
2020-07-24 00:10:36 +01:00
RonaldoCMP
39b4b7282d Update typeof(), int(), range(), list_of() and segs 2020-07-24 00:04:16 +01:00
Adrian Mariano
7eafa691b4 Changed to relative include names 2020-07-21 20:05:21 -04:00
Adrian Mariano
a73ca6368c fixed in_list bug 2020-07-21 19:55:05 -04:00
Garth Minette
4a37a5dc8e Added zero=undef/true/false arg to is_vector. Bugfix for vector_axis() 2020-07-21 16:15:02 -07:00
RonaldoCMP
e017c6075d input data checks and addition of many new functions
1. Input data check in all functions
2. Definition of new functions for data check, new interpolations functions, quaternion from matrix, rotation path interpolating quaternions, inverse, exp, ln, power.
2020-07-17 20:28:28 +01:00
Revar Desmera
0ade5d5baa
Merge pull request #201 from adrianVmariano/master
Updates
2020-07-13 09:35:21 -07:00
Adrian Mariano
f190b50c4d substituted correct file 2020-07-12 07:10:56 -04:00
Adrian Mariano
4e2092f347 Added a bunch of tests 2020-07-11 12:22:44 -04:00
Garth Minette
dde616dad5 unit() now asserts error for zero-length vector unless dflt= arg is given. 2020-07-10 00:03:55 -07:00
Garth Minette
34e16dc0ca Fixed skin regression. 2020-07-07 21:21:05 -07:00
Garth Minette
78ecbbd9c5 Added regression for centroid() 2020-07-06 16:15:32 -07:00
Garth Minette
8b6e07326f Added regressions for linear_bearings.scad and shapes.scad 2020-07-04 21:42:39 -07:00
Garth Minette
f60ef80eaa Added regressions for is_matrix(), matrix_inverse() 2020-07-04 00:38:40 -07:00
Garth Minette
3ec34ce9f1 Added regresstions for cube(), cylinder(), and sphere() 2020-07-04 00:14:25 -07:00
Garth Minette
8985837b63 Added regression for debug.scad 2020-07-03 18:00:37 -07:00
Garth Minette
a718b66026 Added regressions for missing common.scad functions. 2020-07-03 17:42:08 -07:00
Garth Minette
ed0a3e3e7b Added regressions for set functions and force_list() 2020-07-03 15:23:03 -07:00
Garth Minette
74723f32f5 Added regressions for shapes2d.scad 2020-06-30 17:19:09 -07:00
Revar Desmera
a3207af6ab Added a bunch of regressions for shapes2d.scad 2020-06-24 22:33:41 -07:00
Revar Desmera
1a7bfb687f Added mutator.scad mutators. 2020-06-22 22:34:36 -07:00
Revar Desmera
794741f824 Added regression for skew() 2020-06-21 19:46:22 -07:00
Revar Desmera
bebb993125 Added regressions for transforms.scad 2020-06-21 01:30:49 -07:00
Revar Desmera
012c8d555d Added regressions for vfloor() and vceil() 2020-06-20 21:42:22 -07:00
Revar Desmera
0c612f40f6 Added regression for Q_Cumulative() 2020-06-20 21:31:38 -07:00
Revar Desmera
20dfaac113 Bugfix for #182. Added assert_equal() and assert_approx() for regression helpers. 2020-06-20 19:51:58 -07:00
Revar Desmera
f727a9c3f1 Add regression run to CI. 2020-06-19 23:00:40 -07:00
Revar Desmera
5b39cefe7b Fixed skin() regression. 2020-06-15 01:29:23 -07:00
Revar Desmera
e3b64888a8 Added regressions for strings.scad. 2020-06-15 01:25:35 -07:00
Revar Desmera
53c1e25395 Standardize indention on spaces, not tabs. 2020-05-29 19:04:34 -07:00
Revar Desmera
9c2cf53b2d Renamed find_circle_tangents() to circle_point_tangents() 2020-05-23 19:22:44 -07:00
Revar Desmera
971c1e795f Renamed place_copies() to move_copies() 2020-03-24 18:31:22 -07:00
Revar Desmera
6183e6d0d2 Added deduplicate_indexed() 2020-03-24 14:51:37 -07:00
Revar Desmera
00f69ba95b Removed translate_points(), scale_points(), rotate_points2d() and rotate_points3d() 2020-03-22 05:11:19 -07:00
Revar Desmera
7cba0b60f9 Fixed regression test for function namechange. 2020-03-20 13:53:47 -07:00
Revar Desmera
19ed457e38 Regressions for repeat() fixed. 2020-03-04 20:29:17 -08:00
Revar Desmera
19e6ec8093 Fix coords.scad regressions. 2020-03-02 21:48:54 -08:00
Revar Desmera
07bfcd6a57 Renamed normalize() to unit() 2020-03-02 19:30:20 -08:00
Revar Desmera
019961aef7 Added dflt= arg to sum(), defaulting to 0. 2020-02-08 21:54:39 -08:00
Revar Desmera
9f6a95090f Added regressions for gcd(), lcm(), and factorial() 2020-01-16 13:27:50 -08:00
Revar Desmera
68260afebb Added regressions for permute() and repeat_entries() 2020-01-16 13:01:41 -08:00
Revar Desmera
be8b30974a Added is_int() regressions 2020-01-15 20:27:01 -08:00
Revar Desmera
43bc09d838 Add regression test for vang() 2020-01-15 20:13:07 -08:00
Revar Desmera
c05b6bfa5c Fixed erroneous assertion in list_range() 2019-11-19 18:02:36 -08:00
Revar Desmera
9f92fe8775 Enhanced lerp() to allow list/range u values to return lists of results. 2019-11-18 21:11:38 -08:00
Revar Desmera
bb92d788ef Added reverse_polygon() and improved ccw_polygon() and clockwise_polygon() 2019-11-17 18:19:55 -08:00
Revar Desmera
871540c57c Changed skin params. matching= -> method= and "evenly" -> "uniform" 2019-11-13 21:58:48 -08:00
Revar Desmera
e644cc750b Updated regressions for edge_set() -> _edge_set() 2019-11-12 14:14:15 -08:00
Revar Desmera
066bb190f9 Added quaternion.scad regressions and bugfixes. Added function variant of Qrot() 2019-11-11 19:09:46 -08:00
Revar Desmera
d73ab76c9a Added tests for errors.scad 2019-11-10 12:52:58 -08:00
Revar Desmera
8cd795cc36 Fixed typo in common.scad tests. 2019-11-10 12:36:50 -08:00
Revar Desmera
20e2008077 Finished adding regressions for coords.scad 2019-11-10 12:33:50 -08:00
Revar Desmera
daf13d4e51 Added common.scad regression tests. 2019-11-09 22:55:10 -08:00
Revar Desmera
a26bb92978 Added regressions and bug fixes for structs.scad 2019-11-08 18:31:37 -08:00
Revar Desmera
3d0d34850d Added regressions for cubetruss.scad 2019-11-08 17:34:01 -08:00
Revar Desmera
6fb40df34a Added regressions for primitives.scad 2019-11-08 17:05:10 -08:00
Revar Desmera
94359dbf8c Added stack_rotate() regressions. 2019-11-08 16:49:46 -08:00
Revar Desmera
ba4a35229c Added regressions and bugfixes for skin.scad 2019-11-08 16:25:47 -08:00
Revar Desmera
38abe860f9 Tweaks to geometry,scad regressions to more correctly report coverage. 2019-11-06 23:53:16 -08:00
Revar Desmera
f8f015758a Completed arrays.scad regressions. 2019-11-06 23:40:05 -08:00
Revar Desmera
5cca83958f gaussian_rand() -> gaussian_rands(), log_rand() -> log_rands() 2019-11-06 22:19:19 -08:00
Revar Desmera
5addbe8184 Added vnf.scad regressions and bugfixes. 2019-11-06 16:17:33 -08:00
Revar Desmera
59c48f37d6 Added regression tests and bugfixes for stacks.scad 2019-11-05 21:04:56 -08:00
Revar Desmera
28b086ea8d Added regressions and bugfixes for queues.scad. 2019-11-05 20:26:35 -08:00
Revar Desmera
029e3f612a Added edges.scad regression tests. 2019-11-05 18:16:00 -08:00
Revar Desmera
948e76d992 Added version_to_list() regression test for found error. 2019-11-05 17:35:58 -08:00
Revar Desmera
231061a364 Added regression tests for version.scad 2019-11-05 16:04:39 -08:00
Revar Desmera
387232e8dc More geometry.scad regression tests. 2019-10-30 18:41:18 -07:00
Revar Desmera
f19179e232 Added a bunch of regression tests for geometry.scad. 2019-10-29 22:47:38 -07:00
Revar Desmera
b0cdbcca0a Added list_rotate() and a bunch of assert()s 2019-10-29 22:42:41 -07:00
Revar Desmera
e064db6b14 Added several regression tests. 2019-10-25 15:17:55 -07:00
Revar Desmera
b0caccebe7 Regression test fixes. 2019-10-23 22:49:40 -07:00
Revar Desmera
28bf2116ec Added a bunch of regression tests. 2019-10-22 17:10:04 -07:00