Commit graph

108 commits

Author SHA1 Message Date
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
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