Commit Graph

278 Commits

Author SHA1 Message Date
Max Cahill
a367d18b51 [added] assert:some for nil checks 2020-05-19 13:00:23 +10:00
Max Cahill
284856d2c3 [modified] refactored init.lua extensively; used new assert module in stringx and tablex 2020-05-19 12:03:45 +10:00
Max Cahill
cf7354d75f [added] assert module with some "nicer" assertions 2020-05-19 12:03:04 +10:00
Max Cahill
21c672989c [modified] sequence with a few fixes and newer comments since the module refactor 2020-05-14 15:28:38 +10:00
Max Cahill
19c21bf308 [modified] class supports inheriting from classes/apis without a new method - in that case the super ctor wont be called automatically as part of init() 2020-05-14 15:27:24 +10:00
Max Cahill
93e6073128 Merge remote-tracking branch 'origin/master' 2020-05-13 21:09:22 +10:00
Max Cahill
8a62f3b19f [added] functional.generate and generate_2d 2020-05-13 21:09:15 +10:00
Max Cahill
eb428faa6e [fixed] issue in functional.zip 2020-05-13 21:08:23 +10:00
Max Cahill
f183a1a485 [fixed] a few wrong assert strings 2020-05-12 14:14:08 +10:00
Max Cahill
3c0ebb1f13 Merge branch 'feature/functional-additions' - thanks to Jack Robinson 2020-05-12 09:43:45 +10:00
Max Cahill
e6a59460bd [modified] functional.remove renamed to functional.remove_if, moved functional.group_by, more documentation added 2020-05-12 09:42:06 +10:00
Max Cahill
12e48d72ac [added] call metamethod for classes so eg vec2:new(...) can be written as vec2(...) 2020-05-12 09:26:11 +10:00
Jack Robinson
2d24d8e913 [added] add remove which holds onto all elements where f(v) returns false 2020-05-11 21:31:43 +12:00
Jack Robinson
d882127bda [added] add group-by function to group elements by the return of a provided function 2020-05-11 21:31:43 +12:00
Max Cahill
6f0945a675 [added] set:values_readonly() to avoid a copy if you only need readonly access, with a note about safety 2020-05-02 20:12:59 +10:00
Max Cahill
a5acce3e40 [added] `set to readme 2020-05-02 20:04:52 +10:00
Max Cahill
e5be0df492 [added] set module with full (-ish?) suite of set operations and efficient (non-linear) membership testing
closes #4
2020-05-02 19:59:02 +10:00
Max Cahill
28e06c4a10 [modified] unique_mapping memoised compare function and cleanup 2020-05-02 19:40:31 +10:00
Max Cahill
4a2505a04d [added] mathx.relative_angle replaced with mathx.angle_difference and direction "fixed"
Fixes issue #6 after discussion was in favour of change.
2020-05-01 12:59:58 +10:00
Max Cahill
9afbf08f34 Merge remote-tracking branch 'origin/master' 2020-04-30 16:39:09 +10:00
Max Cahill
7deef92639 [added] mathx.lerp_angle and notes about possible changes to mathx.relative_angle 2020-04-30 16:38:59 +10:00
Max Cahill
b91f4f1fcc [added] tablex.collapse to reduce the dimensionality of a table; caveats on some edge case behaviour documented 2020-04-29 20:57:05 +10:00
Max Cahill
87cdb1fcb7 Merge remote-tracking branch 'origin/master' 2020-04-29 20:16:48 +10:00
Max Cahill
7be89d799c [modified] readme; notes about stringx and a bit of other cleanup 2020-04-29 20:16:33 +10:00
Max Cahill
fc0812d94e [fixed] possible missing args causing issues in async 2020-04-28 17:05:25 +10:00
Max Cahill
9048ee116f [fixed] issues with async calls when missing args, callback, or error callback (eg single anonymous function) 2020-04-28 12:08:53 +10:00
Max Cahill
e75147ec77 [modified] moved tablex.stringify to stringx.pretty 2020-04-17 10:45:15 +10:00
Max Cahill
26acf1752d [added] stringx module (just split for now) and overlay to string on export 2020-04-17 10:35:00 +10:00
Max Cahill
6bf6113dc2 [added] quoted strings in tablex.stringify; todo consider moving it to stringx actually, as it works for non-table types, maybe as stringx.pretty... 2020-04-17 10:34:39 +10:00
Max Cahill
f6a2c9834f [added] nearest_point_on_line 2020-04-16 17:17:53 +10:00
Max Cahill
d445c170e1 [added] tablex.insert_sorted (does what you'd expect, though no binary search yet) 2020-04-14 21:52:33 +10:00
Max Cahill
7922cd3912 [modified] table.push and table.unshift return the table for possible chaining 2020-04-14 13:53:10 +10:00
Max Cahill
b570ea7096 [added] tablex.front and tablex.key_of 2020-04-10 14:14:15 +10:00
Max Cahill
317f3f2cc7 [updated] readme with link to examples 2020-04-09 17:39:57 +10:00
Max Cahill
54b21ce159 [added] mathx.wrap_index 2020-04-09 17:39:46 +10:00
Max Cahill
9fbe8cc3c4 [fixed] typo in vec3 tostring 2020-04-08 21:25:42 +10:00
Max Cahill
a87380f43c [modified] moved dedupe from functional to tablex 2020-04-08 21:18:52 +10:00
Max Cahill
f214be9f59 [added] tostring awareness for tablex.stringify 2020-04-08 21:10:24 +10:00
Max Cahill
afd279f1db [added] tostring for vec2 and vec3 - not sure how to handle wanting more/less precision for these currently. 2020-04-08 21:10:03 +10:00
Max Cahill
c191a7b4f6 [fixed] issue loading tablex without love 2020-04-08 20:51:16 +10:00
Max Cahill
8d5da0a9ff [modified] moved append and append_inplace from functional to tablex 2020-04-08 20:50:51 +10:00
Max Cahill
e1f759cb90 [fixed] sequence:reduce typo 2020-04-07 16:19:38 +10:00
Max Cahill
55d9980512 [modified] misc readme 2020-04-07 14:05:25 +10:00
Max Cahill
3d5f2e99ff [fixed] missing paren in readme 2020-04-07 14:01:37 +10:00
Max Cahill
27790c69a8 [added] state_machine:_call supports varargs 2020-04-07 13:56:00 +10:00
Max Cahill
1e07dd9746 [modified] state machine uses class rather than own metatable management 2020-04-07 13:53:28 +10:00
Max Cahill
02568f8f08 [modified] intersect.lua imports vec2 unconditionally rather than attempting to use the global 2020-04-07 13:51:13 +10:00
Max Cahill
6386aaf298 [modified] big refactor to localised modules and require("batteries"):export() for global usage; renamed files table to tablex and math to mathx to allow using the library in your module root if you really want to. 2020-04-07 13:49:10 +10:00
Max Cahill
4bbbdf86d6
[modified] functional.lua find_best changed to ipairs and added find_min and find_max better named alternatives 2020-04-04 18:59:40 +10:00
Max Cahill
9422152181 [added] math.lerp_eps and matching vec2/vec3 methods; for ensuring a lerp actually reaches its destination once the delta doesn't matter 2020-04-01 20:58:18 +11:00