Commit graph

143 commits

Author SHA1 Message Date
Adrian Mariano
14ae1795bb fix permutation docs
consolidate "line/segment/ray" functions to just "line" with bounded option
add RAY, LINE and SEGMENT constants
2021-09-09 18:32:58 -04:00
RonaldoCMP
b1b37eba5d Merge remote-tracking branch 'upstream/master' 2021-07-02 11:45:22 +01:00
RonaldoCMP
662d2c66f0 Doc and formating tweaks, minor code bugs/changes 2021-07-02 11:30:13 +01:00
Garth Minette
d57e27f268 Syntax fix for group_data() asserts. 2021-06-30 17:20:37 -07:00
Garth Minette
c98a3dfe9a Add all_integer() and group_data(). 2021-06-30 17:05:44 -07:00
Garth Minette
5a355434ce Tweaks for docs usage lines. 2021-06-26 20:59:33 -07:00
Garth Minette
48c5139099 Fix tab indents. 2021-06-22 17:20:08 -07:00
RonaldoCMP
b924eaa303 test group_sort 2021-06-22 01:13:40 +01:00
RonaldoCMP
f2613ccda2 introduce group_sort and enhance unique 2021-06-21 23:24:54 +01:00
Revar Desmera
5ed3602391
Merge pull request #500 from adrianVmariano/master
Fix face orientation bugs
2021-04-14 15:13:32 -07:00
Adrian Mariano
dea5949df8 Fix face orientation bugs in vnf_vertex_array, rounded_prism,
bezier_patch_degenerate.  Added reverse option to count().
2021-04-12 20:15:01 -04:00
RonaldoCMP
5062ee1605 Minor change in is_matrix_symmetric 2021-04-11 12:37:49 +01:00
RonaldoCMP
cdb68ad977 Revert "Review of geometry.scad for speed"
This reverts commit 49a3a166eb.
2021-04-10 20:14:40 +01:00
RonaldoCMP
49a3a166eb Review of geometry.scad for speed 2021-04-10 20:09:03 +01:00
Garth Minette
2225257f09 Tweaks suggested by @adrianVmariano. 2021-04-08 17:27:43 -07:00
Garth Minette
8bd3ef8a74 Removed range(), rangex(). Added count(). 2021-04-07 20:57:45 -07:00
Garth Minette
f07f5b53c1 Added list(). Enable using function literals with find_first_match(). 2021-04-06 17:03:18 -07:00
Garth Minette
0b17bf5930 Brought slice() in line with select() indexing, without wrapping. Replaced a lot of select() and slice() calls with last(), list_head(), and list_tail() calls. 2021-03-30 00:46:59 -07:00
Garth Minette
d7cb503ffc Replace most trivial uses of slice() with faster list_head() and list_tail() 2021-03-25 00:23:36 -07:00
Garth Minette
84bd2088e5 Optimized cleanup_path() and list_rotate() 2021-03-20 01:37:46 -07:00
Garth Minette
efb7a4fada Fixes for worm_gear() 2021-03-15 05:10:23 -07:00
Garth Minette
475602329d find_first_match() 2021-03-14 00:11:15 -08:00
Revar Desmera
fd8319e0f4
Merge pull request #469 from revarbat/revarbat_dev
Workflow apt update fix.
2021-03-12 21:59:33 -08:00
Adrian Mariano
4dc2d4cfe5 Fix bug in skin, add some complex stuff to math and tests 2021-03-12 20:36:34 -05:00
Garth Minette
5b22e6f2d9 Added python-style zip(), zip_long(), combinations() and permutations(). 2021-03-10 14:49:39 -08:00
Garth Minette
ddcb8cf0a1 Force relinking of docs. 2021-03-01 23:58:41 -08:00
Garth Minette
f4cfd67d94 Fix link to is_homogeneous() 2021-03-01 23:20:53 -08:00
Garth Minette
3d86835752 Actually add homogenous() alias. 2021-03-01 23:05:32 -08:00
Garth Minette
abb9955f92 Added Alias for homogenous(),homogeneous(). Both are valid. 2021-03-01 23:04:11 -08:00
Garth Minette
a346a0cbf0 Added Topics/SeeAlso to affine, arrays, attachments, beziers, common, constants, gears 2021-03-01 22:44:00 -08:00
Garth Minette
1b8f28cf35 Fix warnings for null range in idx() 2021-01-24 23:51:52 -08:00
Garth Minette
48de08f89b Merge branch 'master' into revarbat_dev 2021-01-24 23:28:37 -08:00
Garth Minette
320518194f Various arrays.scad docs updates. Bugfixes. 2021-01-24 23:26:39 -08:00
Adrian Mariano
d8d934b1de doc & test tweaks 2021-01-24 12:17:56 -05:00
Adrian Mariano
3790783cdc Rename zip to hstack and associated changes. 2021-01-24 10:29:34 -05:00
Garth Minette
f328ca87a5 Clean up Usage docs lines for arrays.scad. Typo fix in joiners.scad. 2021-01-07 19:17:10 -08:00
Garth Minette
f9aa81e178 Improved docs gen script for Returns:, Custom:, Includes:, Topics:, and positional/named args spits. 2021-01-05 01:20:01 -08:00
Adrian Mariano
e0ac4d0c1b Fixed bugs in list_set, list_remove, list_insert that were revealed by
adding degenerate case tests.  List_set was broken for minlen
nonzero (no tests).  Added seed to shuffle.  Fixed bounds check error
in rounded_prism.
2020-12-31 09:32:47 -05:00
Adrian Mariano
a495528398 Fixed bugs in hull_points, added seeds to tests, added seed parm to shuffle() 2020-12-22 18:15:25 -05:00
Adrian Mariano
f2bb9bcb4b Added vnf_wireframe, tweaked reverse error message, 2020-12-19 11:48:05 -05:00
Adrian Mariano
b82f1b8e5d tweaked vac example in turtle3d
added delete_last() to arrays.scad
added endpoint= option to arc
added tests for last two things
2020-12-12 21:15:33 -05:00
Jerome Plut
1d324128e4 Added more flexibility to get_named_args(), and all the left_half(), etc. as functions 2020-12-03 21:40:32 +01: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
e3ccf482fa Make list functions make more sense with strings. 2020-09-28 19:12:07 -07:00
Adrian Mariano
9cd91cc6cc Faster version of norm_fro, and some arg validation 2020-09-02 16:46:58 -04:00
Adrian Mariano
399c40f7a6 Added null_space and diagonal_matrix 2020-09-01 18:38:31 -04:00
Adrian Mariano
8f6c2e8538 Add submatrix_set and block_matrix and tests 2020-09-01 16:42:47 -04:00
RonaldoCMP
42bffef35f Minor doc corrections 2020-08-30 12:18:53 +01:00
RonaldoCMP
bbe4ad1467 Sort debugging and optimizing
There were bugs in the previous sorting functions. They didn't check the homogeneity of the input list before calling _sort_scalars and _sort_vectors. The bug might result in wrong order and missing list elements in the output.
Besides correcting the bug a recode of all sorting functions result in better performance and a enlargement of their scope. With the new functions, list of vectors of any dimension may be sorted, even with idx given, with the native comparison operators. The scope of indexed sorting is also extended.

The file test_arrays has been extended to check the new funcionality.

New functions:

is_homogeneous - checks if a list has elements of the same type (although not distinguing booleans from numbers) up to a given depth
_sort_vectors - internal function to sort homgeneous lists of vectors using native comparison operators; extends the scope of the previous _sort_vectors# functions with better performance
_lexical_sort - internal function to sort non-homogeneous lists; uses compare_vals
_indexed_sort - internal function to perform indexed sorting of non-homogeneous lists; uses compar_vals

Changed/reviewed functions:
_valid_idx - doesn't requires the input of imin and imax args
sort - explores the internal functions to get better performance and an enlarged scope
sortidx - explores the internal functions to get better performance and an enlarged scope
_sort_general - just for sortings of non-homogeneous lists using compare_vals
_array_dim_recurse - changed for bit better performance

Functions eliminated:
 _sort_vectors1
 _sort_vectors2
 _sort_vectors3
 _sort_vectors4
2020-08-30 12:12:36 +01:00