Justin Ethier
faccbc6dfc
Suspending karatsuba porting for now
...
Will return to this once bignum2 is working without optimizations
2022-07-06 21:38:15 -04:00
Justin Ethier
55af4bacec
WIP karatsuba multiplication
2022-06-29 13:37:37 -04:00
Justin Ethier
0227424a8c
WIP
2022-06-28 21:59:21 -04:00
Justin Ethier
e9e9b65214
Merge branch 'bignum-experimental-dev' of github.com:justinethier/cyclone into bignum-experimental-dev
2022-06-23 13:34:21 -04:00
Justin Ethier
45b435a342
Ensure bignum sign field is initialized
...
Stil have a bigger question of how to set it properly when doing bignum subtraction. But this avoids any downstream issues.
2022-06-23 13:33:44 -04:00
Justin Ethier
28eab66ecb
Stage bignum_extract_digits
2022-06-21 19:52:49 -07:00
Justin Ethier
53a37be833
WIP, bignum2 unsigned subtraction
2022-06-19 10:16:37 -04:00
Justin Ethier
244041c62b
Staging bignum unsigned subraction
2022-06-19 10:00:37 -04:00
Justin Ethier
dc139ce2c3
Stage next functions to be converted
2022-06-16 21:41:54 -04:00
Justin Ethier
5826b53607
Stage simple bignum multiplication
2022-06-15 21:50:00 -04:00
Justin Ethier
4833788223
WIP - bignum2 multiply
2022-06-14 22:35:51 -04:00
Justin Ethier
96ca2263af
Working version of str2bignum
2022-06-14 22:32:05 -04:00
Justin Ethier
e2d903e8dc
WIP str to bignum
2022-06-14 13:40:31 -04:00
Justin Ethier
c2c637134f
Adding radix conversion for str2bignum
2022-06-13 22:53:41 -04:00
Justin Ethier
0b929e5582
Stage destructive operations and str2bignum
2022-06-10 17:41:04 -04:00
Justin Ethier
7405969b4a
Ported bignum_simplify
2022-06-10 17:11:58 -04:00
Justin Ethier
a956c6fd41
WIP - bignum2 simplify
2022-06-09 19:14:06 -07:00
Justin Ethier
3050be9004
Stage testing of bignum2_plus_unsigned
2022-06-09 18:59:42 -07:00
Justin Ethier
b2879f8f36
Stage bignum_simplify
2022-06-09 18:44:14 -07:00
Justin Ethier
fd6b5e6907
Stage str->bignum for conversion later
2022-06-09 18:19:44 -07:00
Justin Ethier
a0ff18937c
Stage bignum2 addition
2022-06-08 22:24:07 -04:00
Justin Ethier
9472304576
Cleanup, add bignum2->str support to runtime
2022-06-08 16:02:37 -04:00
Justin Ethier
eb78f50c66
Working conversion of bignum2 -> string
2022-06-08 11:56:29 -04:00
Justin Ethier
4e013b726a
Added TODO's and scaffold
2022-06-08 11:16:48 -04:00
Justin Ethier
92ec4a0b7f
Fix bug zero-terminating truncated string
2022-06-07 23:00:12 -04:00
Justin Ethier
0a366a8aca
Bug fixes and cleanup
2022-06-07 21:29:40 -04:00
Justin Ethier
524d1b12a8
Bug fixes and cleanup
2022-06-07 18:08:54 -04:00
Justin Ethier
e4c7b12361
Bugfixes, alloc string for bn2->str
2022-06-07 13:26:22 -04:00
Justin Ethier
f8c6d43c4e
WIP - bignum2 -> string
2022-06-06 22:44:46 -04:00
Justin Ethier
141e9ed7b5
WIP on bignum2string
2022-06-05 20:58:24 -04:00
Justin Ethier
bbc345cc9b
WIP
2022-06-02 20:05:08 -07:00
Justin Ethier
224997169b
Merge branch 'master' into bignum-experimental-dev
2022-06-02 17:46:16 -07:00
Justin Ethier
165da29c49
Convert fixnum to bignum
2022-06-01 22:50:48 -04:00
Justin Ethier
22c4f0277a
Basic bignum2 hooks
2022-06-01 21:40:28 -04:00
Justin Ethier
6ffd229dcd
Add memory-streams to list of features
2022-05-28 08:21:11 -07:00
Justin Ethier
5101de1547
Issue #143 - Track recursion depth of equalp
...
This prevents the possibility of segfaulting when traversing arbitrarily complex circular structures.
2022-05-26 13:02:24 -04:00
Justin Ethier
d3f7262414
Issue #143 - Max recursion depth for printing
...
Enforce a maximum C recursion depth when printing data structures. This protects against cases where a circular data structure may produce infinite output, blowing the stack. The recursive limit is sufficiently large such that a non-circular structure should not be impacted.
2022-05-25 22:28:08 -04:00
Justin Ethier
43267e2939
WIP
2022-05-24 23:02:18 -04:00
Justin Ethier
2e84aaac9c
Issue #484 - Improve handling of exporting prims
...
To fixes:
- Prevent segfault setting a global variable to itself
- Do not throw an error when exporting a primitive that is not defined in the current module, as built-ins are always available in any context.
2021-12-13 19:05:18 -08:00
Justin Ethier
d2915abe6a
Issue #477 - Clean up
2021-08-12 23:01:04 -04:00
Justin Ethier
4ff0bca100
Issue #477 - Added CYC_PTHREAD_SET_STACK_SIZE
2021-08-12 22:46:13 -04:00
Justin Ethier
14d4c27eac
Issue #472 - Avoid races with tracing GC when allocating large vectors
2021-07-28 22:26:33 -04:00
Justin Ethier
2a9d0ea604
Issue #279 - Support end-result and return from thread-join
2021-07-25 23:02:31 -04:00
Justin Ethier
d99d4a9459
Cleanup
2021-07-23 15:45:08 -04:00
Justin Ethier
efece6a413
Handle complex numbers better for numerator/denominator
...
Peel off real part if there is no imaginary part
2021-07-22 21:45:08 -04:00
Justin Ethier
48a7958c33
Initial numerator/denominator complex num support
2021-07-22 17:21:52 -04:00
Justin Ethier
826e7895ae
Issue #433 - Special case, denominator of 0 is 1
2021-07-22 17:16:53 -04:00
Justin Ethier
f17102178b
Continue building-out new numerator/denominator
2021-07-21 19:47:42 -07:00
Justin Ethier
63b7c12ede
TODO: numerator/denominator support
2021-07-21 15:47:06 -04:00
Justin Ethier
d9d1b35a62
Issue #351 - Prevent compiled warnings on clang
...
Cleaned up code to prevent compiler warnings with respect to comparing uint8 with EOF (IE, -1).
2021-07-15 19:20:47 -07:00