Adrian Mariano
f598426344
Add cumprod function and regression test
2020-10-23 19:06:30 -04:00
Adrian Mariano
c80c7c558a
Added rot_decode to decode rotation matrices and matrix_trace,
...
supporting function, and regression tests for both.
2020-10-20 16:26:11 -04:00
Garth Minette
38873d8ef9
Fixed a bunch of docs errors with Usage headers.
2020-10-03 20:29:35 -07:00
Garth Minette
16ee49e8b2
Fixed a bunch of undef math warnings with dev snapshot OpenSCAD builds.
2020-10-03 19:50:29 -07:00
Garth Minette
23bcc1b806
Removed sum_of_squares() as it's redundant with sqr(vector)
2020-09-28 16:56:18 -07:00
Garth Minette
37ae0cbba0
Simplify sqr(x) to x*x
2020-09-28 16:52:17 -07:00
Garth Minette
1435100e37
Implemented Issue #262
2020-09-25 00:31:42 -07:00
Garth Minette
b2121fbfb3
Added all_nonzero(). Added is_vector(all_nonzero=).
2020-09-07 23:10:39 -07:00
Garth Minette
a9b8f5618a
Fix for Issue #263
2020-09-06 17:15:08 -07:00
Adrian Mariano
9cd91cc6cc
Faster version of norm_fro, and some arg validation
2020-09-02 16:46:58 -04:00
Adrian Mariano
47a1dfaa23
doc tweak
2020-09-01 18:43:53 -04:00
Adrian Mariano
399c40f7a6
Added null_space and diagonal_matrix
2020-09-01 18:38:31 -04:00
Adrian Mariano
3caeeff2cd
Added norm_fro, quadratic_roots and pivoting to qr_factor and
...
linear_solve. Added tests.
2020-09-01 17:57:31 -04:00
RonaldoCMP
ab8a04fe82
Merge branch 'master' of https://github.com/RonaldoCMP/BOSL2
2020-08-27 11:51:10 +01:00
Garth Minette
b679ea52dc
Add is_zero(), is_positive(), is_negative(), is_nonpositive(), is_nonnegative().
2020-08-26 18:02:16 -07:00
RonaldoCMP
99b18d6311
Correction of C_times arg validation
2020-08-26 14:14:26 +01:00
RonaldoCMP
069432021b
Revert "Revert "Revert "Correction of C_times validation"""
...
This reverts commit e8499baba1
.
2020-08-26 14:09:32 +01:00
RonaldoCMP
e8499baba1
Revert "Revert "Correction of C_times validation""
...
This reverts commit 4a366967f9
.
2020-08-26 14:09:12 +01:00
RonaldoCMP
4a366967f9
Revert "Correction of C_times validation"
...
This reverts commit 1ced82f16c
.
2020-08-26 14:07:53 +01:00
RonaldoCMP
1ced82f16c
Correction of C_times validation
2020-08-26 14:07:12 +01:00
RonaldoCMP
143ba06467
Minor edits
2020-08-16 23:38:17 +01:00
RonaldoCMP
2e9d87f584
explore new scope of transpose in linear_solve and _qr_factor
2020-08-11 15:21:36 +01:00
Revar Desmera
c0481f14eb
Merge pull request #229 from adrianVmariano/master
...
move submatrix to arrays and relax input restrictions
2020-08-04 00:38:23 -07:00
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
0e7517ecfe
Merge branch 'master' of https://github.com/RonaldoCMP/BOSL2
2020-08-04 00:16:33 +01:00
RonaldoCMP
c9408a66fa
Merge remote-tracking branch 'upstream/master'
2020-08-04 00:13:26 +01:00
RonaldoCMP
e4bd6238b4
Revert "Minor edits in is_matrix"
...
This reverts commit 764420e71d
.
2020-08-04 00:08:23 +01:00
Garth Minette
e56f953c1c
Fixed calls to vmul() with heteerogenous vector sizes.
2020-08-02 23:23:50 -07:00
Adrian Mariano
817bdffdef
Removed bogus median function
2020-08-02 01:20:11 -04:00
RonaldoCMP
764420e71d
Minor edits in is_matrix
2020-08-02 01:15:07 +01:00
RonaldoCMP
84fa648dc5
Revert "Minor is_matrix definition and format"
...
This reverts commit 2da259c2cc
.
2020-08-02 01:08:24 +01:00
RonaldoCMP
afb236f084
Merge branch 'master' into master
2020-08-02 01:03:46 +01:00
RonaldoCMP
2da259c2cc
Minor is_matrix definition and format
2020-08-02 00:47:22 +01:00
RonaldoCMP
e858d5627e
Merge remote-tracking branch 'upstream/revarbat_dev'
2020-08-02 00:03:05 +01:00
Adrian Mariano
046266778c
improved back_substitute, cleaned up a few other functions, removed
...
some non-breaking space characters.
2020-07-30 20:46:19 -04:00
RonaldoCMP
5c239187e9
removal of duplicate definitions
2020-07-31 00:57:52 +01:00
Garth Minette
aa0e77b1f4
Minor fixes for PR #216
2020-07-29 21:58:12 -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
ec4d960ecb
Revert "input checks, general review, adding new functions"
...
This reverts commit 51be74b5ec
.
2020-07-29 15:30:57 +01:00
RonaldoCMP
281d945ed7
Revert "update"
...
This reverts commit d45f289a95
.
2020-07-29 15:30:35 +01:00
RonaldoCMP
014eea601d
Revert "formating"
...
This reverts commit f67226a6dd
.
2020-07-29 06:52:12 +01:00
RonaldoCMP
f67226a6dd
formating
2020-07-29 03:19:01 +01:00
RonaldoCMP
d45f289a95
update
2020-07-28 22:55:21 +01:00
RonaldoCMP
51be74b5ec
input checks, general review, adding new functions
...
Defines functions:
1. binomial()
2. convolve()
3. all_numeric()
4. is_addable()
Input data check in all functions.
Recoding of:
1. cumsum (a non-recursive version)
2. median()
3. count_true() (more efficient version)
4. polynomial functions so that a zero polynomial is represented by [0] and not by []
2020-07-28 22:42:07 +01:00
Garth Minette
b5d465cf1e
docs_gen.py now shows more docs errors.
2020-07-27 15:15:34 -07:00
Adrian Mariano
3864f14333
Added error bounds to poly_roots, added poly_div, poly_mult and
...
poly_add, fixed bugs in factorial.
2020-07-11 12:22:59 -04:00
Revar Desmera
506d3d76a8
Merge pull request #192 from adrianVmariano/master
...
bug fix for qr_factor in case of zero columns
2020-07-06 19:06:48 -07:00
Adrian Mariano
8fed4dece9
bug fix for qr_factor in case of zero columns
2020-07-06 21:50:50 -04:00
Garth Minette
feba482396
Optimizations for is_vector(), is_matrix(). Added is_finite().
2020-07-06 18:28:35 -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
Adrian Mariano
7aab27266f
Added polynomial root finding and complex math to math.scad. Changed
...
path_to_bezier to new algorithm (which uses polynomial roots). And
updated path_smooth to use the new code.
Also removed extra (?) include<skin.scad> and
include<strings.scad> from rounding.scad and
removed the common $fn=36 that was forced on all the examples. (May
break something...we'll look at the examples and see.) I added $fn=36
to some examples.
2020-06-18 17:50:25 -04:00
Adrian Mariano
a5753d7953
Added non-uniform sampling to deriv and uniform option to
...
path_tangents, and path_segment_lengths.
2020-06-13 22:35:22 -04:00
Adrian Mariano
224555a9ec
Speed improvement for sum() in vector and list of vectors case
2020-06-13 20:39:45 -04:00
Revar Desmera
53c1e25395
Standardize indention on spaces, not tabs.
2020-05-29 19:04:34 -07:00
Revar Desmera
a9e72f06da
Merge branch 'master' into master
2020-03-22 21:42:14 -07:00
Revar Desmera
d52c10f03b
Improved approx() to handle matrices.
2020-03-22 02:41:47 -07:00
Adrian Mariano
72aae0e42c
Expanded sqr() to take lists and removed vsqr()
2020-03-21 09:19:49 -04:00
Adrian Mariano
02ab8ea1d8
bug fix for back_substitute that breaks underdetermined solves in
...
linear_solve with matrix RHS.
2020-03-17 23:50:57 -04:00
Revar Desmera
b0a57dab7d
Tweaked math.scad code formatting.
2020-03-17 19:55:07 -07:00
Revar Desmera
8999338d63
Merge branch 'master' into master
2020-03-17 19:51:36 -07:00
Adrian Mariano
8fc3af0264
modified linear solvers to handle matrix RHS, added error checking to
...
lerp and affine_frame_map, adde same_shape(), added square option to
is_matrix.
2020-03-17 07:11:25 -04:00
Revar Desmera
3ac23e15e6
Added median()
2020-03-17 01:13:47 -07:00
Adrian Mariano
ee82a8bb97
bug fix qr factorization, removed echo in plane intersection, fixed
...
bezier_surface so vnf arg is in right order
2020-03-09 21:05:57 -04:00
Adrian Mariano
4722cc0d01
Added is_matrix() and error handling for linear_solve() and qr()
2020-03-06 18:33:53 -05:00
Adrian Mariano
fcbeadc363
renamed replist to repeat
...
fixed normalization issue in path_to_bezier
2020-03-04 23:22:39 -05:00
Adrian Mariano
51af394c24
Added force_list, path_to_bezier, smooth_path, associate_vertices,
...
improved skin and sweep error handling. Allow path_sweep to take a 2d
path.
2020-03-04 20:24:00 -05:00
Adrian Mariano
243dd7723e
added is_consistent, added error check to sum(), clarified docs to
...
is_path, and added fast versions of path2d, path3d and path4d.
2020-03-02 21:39:57 -05:00
Revar Desmera
28114b49b5
Cleaned up code formatting in math.scad.
2020-03-01 15:42:12 -08:00
Adrian Mariano
1e6cf426a9
changed order so linear_solve and submatrix are first.
2020-02-29 22:59:39 -05:00
Adrian Mariano
5bd2cba0ff
Added colons to "Function" doc strings
2020-02-29 22:56:24 -05:00
Adrian Mariano
629d1c00b2
Added linear_solve()
2020-02-28 17:40:52 -05:00
Adrian Mariano
f8fc8cb544
Adds sweep and new version of path_sweep to skin.scad, which probably
...
needs a name change. Adds apply(), apply_list() and
affine_frame_map() to affine.scad. Adds derivative calcluation to
math.scad. Adds path_tangent, path_normal, path_curvature and
path_torsion functions. Adds path_length_fraction().
Fixed bug in reindex_polygon where it randomly reverses a 3d path (due
to clockwise check that is bogus in 3d) and put a check in
polygon_is_clockwise to trap this case.
2020-02-27 17:32:03 -05:00
Revar Desmera
019961aef7
Added dflt= arg to sum(), defaulting to 0.
2020-02-08 21:54:39 -08:00
Revar Desmera
ba032e2f4d
Added NAN, INF, and is_nan().
2020-02-06 22:51:16 -08:00
Revar Desmera
231bb69634
Fixed bug introduced into sum() when summing lists of vectors.
2020-01-09 14:28:54 -08:00
Revar Desmera
48d30fc686
Reorganize math.scad
2020-01-08 20:43:19 -08:00
Adrian Mariano
29b682be96
Added lcm() and gcd() and is_integer() to math.scad. Added a couple
...
3d examples for supershape() that I snagged from
list-comprehension-demo. Added repeat_entries to array.scad. Note
dependence on _sum_preserving_round which is in paths.scad. Also note
it's possible _force_list (added to math.scad) should be exposed, or
placed elsewhere.
2019-12-06 19:27:49 -05: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
5cca83958f
gaussian_rand() -> gaussian_rands(), log_rand() -> log_rands()
2019-11-06 22:19:19 -08:00
Revar Desmera
50acb3c0b0
Various bugfixes, optimizations, and docs improvements found via regressions.
2019-10-25 15:16:48 -07:00
Revar Desmera
bbabc641da
Removed redundant vquant*() functions. Improved docs."
2019-10-22 17:09:08 -07:00
Revar Desmera
a85ea4ecc9
Added modang() to standardize angles to <-180,180>
2019-09-23 16:38:07 -07:00
Revar Desmera
ccfed6b306
Fixed a typo in det2() docs.
2019-09-19 02:42:42 -07:00
Revar Desmera
e4ecb21217
quant\*() now work on vectors and pointlists.
2019-08-24 11:51:24 -07:00
Revar Desmera
aa8a084d62
Added log2() and cumsum()
2019-08-06 17:12:28 -07:00
Revar Desmera
e8300c5bb6
Fixed indexing of rand_int()
2019-07-18 21:58:41 -07:00
Revar Desmera
56b41b487b
Improved compare_vals() and compare_lists() for heterogenous types.
2019-06-24 15:31:59 -07:00
Adrian Mariano
49365add3c
Added faster and simpler versions of max_index and min_index.
2019-06-23 13:17:04 -04:00
Revar Desmera
62f913a148
Added rand_ints() and shuffle()
2019-05-29 17:42:09 -07:00
Revar Desmera
aadd189c97
Added det2(), det3(), and determinant()
2019-05-27 17:50:04 -07:00
Revar Desmera
4fb825ce14
Bugfix for deltas()
2019-05-26 23:30:44 -07:00
Revar Desmera
11e5406951
Fixed product() for matrices.
2019-05-12 13:41:26 -07:00
Revar Desmera
ba9b7c5b3b
Added product()
2019-05-12 13:32:34 -07:00
Revar Desmera
e946031d99
Added deltas()
2019-05-10 03:00:41 -07:00
Revar Desmera
414f06df86
Fixed scalar approx()
2019-05-04 20:19:35 -07:00
Revar Desmera
55ff7f3a93
Added sqr() and approx()
2019-05-04 20:10:23 -07:00