Commit Graph

696 Commits

Author SHA1 Message Date
1e4f41bc28 Remove duplicated line 2024-08-18 16:33:40 -04:00
9de57eaf65 Remove some num functions 2024-08-18 16:28:52 -04:00
6ef0583868 Fix array indexing 2024-08-18 15:51:19 -04:00
a49870f810 Add primality testing and next_prime()/prev_prime() 2024-08-18 15:22:51 -04:00
f4b04a1b8c Improved syntax for dollar-string literals 2024-08-18 14:44:15 -04:00
04603308af Tweak test code 2024-08-18 12:52:53 -04:00
da4d07c665 Fix up some bigint logic issues 2024-08-18 12:47:29 -04:00
752ab8212c Split BigIntType out of IntType and switch to using enums for the size
of ints/nums
2024-08-18 11:49:51 -04:00
8b94c2c7f1 Fix array ++= item 2024-08-18 02:58:44 -04:00
d0078ab024 Handle demotion of integers when we know what the expected type ought to
be and it's just a literal.
2024-08-17 23:43:30 -04:00
09c4ff2e43 Disallow accessing type members that start with underscores unless
you're inside the type definition.
2024-08-17 21:03:04 -04:00
20b7793963 Make small integer constants actually constant 2024-08-17 15:17:41 -04:00
2383d73645 Correct the logic to prevent promoting nums to ints automatically 2024-08-17 15:14:45 -04:00
37669b1734 Bugfix for Int64$hash() being referenced 2024-08-17 15:07:22 -04:00
de31398fe4 Add table:get_or_null(key) for tables with non-null pointer values,
which lets get() keep the non-null return type
2024-08-17 15:01:01 -04:00
2c8aa4ca57 Support semicolon in {:K:V; ...} 2024-08-17 14:54:58 -04:00
3229e74d91 Remove 'const' where it caused problems 2024-08-17 14:48:56 -04:00
cbe117a6d3 Allow for top-level or namespace-level variables that are initialized
with non-constant values by the use of an initializer function and
runtime checks for whether the variable is initialized.
2024-08-17 14:41:31 -04:00
bac188ce07 Change division and modulus to use euclidean division, plus fix up a few
integer bugs
2024-08-16 14:24:20 -04:00
04714e00d7 Add Bool:random(p=0.5) 2024-08-16 14:18:23 -04:00
0f1c475bb4 More fixes for ints 2024-08-16 13:14:45 -04:00
436c6d4457 Bugfix 2024-08-16 13:13:35 -04:00
2d3c114435 Check for compile-time constant integers that require heap allocations. 2024-08-16 02:29:07 -04:00
a6be5c90ca For cached functions with no arguments, use a static var instead of a
cache table
2024-08-16 01:46:05 -04:00
52799d311e Update docs a bit 2024-08-16 01:20:46 -04:00
6d24438509 More helpful error message for table indexing 2024-08-15 14:52:41 -04:00
ce6f312c94 Add binary search test 2024-08-15 14:01:36 -04:00
7c18773011 Bugfix for closures 2024-08-15 13:59:01 -04:00
688f883e16 Add array:find() 2024-08-15 03:01:04 -04:00
66ae30ac29 Add method for array:remove_item(item) and rename
array:remove(index)->array:remove_at(index) to avoid confusion. Also
hook up array:has()
2024-08-15 02:39:35 -04:00
ed1667cb37 Add array:shuffled() and checks for array insertion 2024-08-15 02:17:53 -04:00
7a472752e5 Bugfix for array:insert() 2024-08-15 02:09:49 -04:00
eccc4e4721 Add binary search method to arrays 2024-08-15 01:59:42 -04:00
9c2d7c437d Fix up type conversions with ints and nums 2024-08-14 14:57:01 -04:00
c8af1ac9c1 Tweak implementations of math ops 2024-08-13 23:21:59 -04:00
e56fd1aa94 Add Int:sqrt() 2024-08-13 16:36:41 -04:00
e0223a4c20 Support ^ exponentiation for integers 2024-08-13 16:32:00 -04:00
aaac5dff28 Integers can have heap memory 2024-08-13 14:52:27 -04:00
32a6a5ce37 Support more binops 2024-08-13 14:29:51 -04:00
b608d7fbbb Improvements to repl 2024-08-13 14:28:02 -04:00
f0d97cd4cd Make biggest int semantically meaningful 2024-08-13 14:27:50 -04:00
5a0502bdf5 Fix some edge cases 2024-08-13 14:13:02 -04:00
148782e61b Create inlined fast versions of integer ops 2024-08-13 13:50:19 -04:00
1ce826b9c3 Tweak to codegen for range iteration 2024-08-13 11:35:22 -04:00
2c79bf2d71 Remove reference to Num$hash 2024-08-13 04:31:29 -04:00
b5f8efdfad Update docs 2024-08-13 04:29:04 -04:00
81ed38616f Cleanup code gen for Num coercions 2024-08-13 04:24:36 -04:00
16500e2b00 Speed up tests slightly 2024-08-13 04:06:20 -04:00
eb9e5260a6 Fix channels 2024-08-13 03:27:32 -04:00
cf8c01845e Fix issue with integer comparisons 2024-08-13 03:25:13 -04:00