Commit Graph

289 Commits

Author SHA1 Message Date
jangko 3ef8d0027a
add fromDecimal to io 2023-06-20 21:39:37 +07:00
jangko e99bc7ff89
add signed int modular arithmetic and tests 2023-06-20 21:38:02 +07:00
jangko 867739d2ca
more endians2 implementation and tests 2023-06-20 19:45:49 +07:00
jangko 80ccea2643
fix conversion raises, inlining, and min/max test 2023-06-20 18:27:17 +07:00
jangko 6480939dcd
conversion between big integers 2023-06-20 14:59:26 +07:00
jangko 4a3f300bd6
fix stuint truncate on 32bit platform 2023-06-19 18:27:49 +07:00
jangko 140afc31ab
fix stuint truncate 2023-06-19 17:20:54 +07:00
jangko 13a9d31f9a
rename imp to impl 2023-06-15 14:31:59 +07:00
jangko 747978e1e5
fix misleading comments 2023-06-15 14:08:27 +07:00
jangko 6a79fcb25b
remove unused files 2023-06-15 14:07:40 +07:00
jangko c6422a9439
fix signed integer truncate for 32 bit platform 2023-06-15 13:10:58 +07:00
jangko 41bfed6bb7
io test 2023-06-14 22:26:44 +07:00
jangko 6371b66030
nim devel emit codegen workaround 2023-06-14 18:13:07 +07:00
jangko 21eeee72df
nimvm bug workaround 2023-06-14 17:41:02 +07:00
jangko ddcb2111e4
fix bugs found by nim-devel 2023-06-14 13:53:42 +07:00
jangko 1ce276db1e
bug 92 workaround 2023-06-14 13:22:52 +07:00
jangko c748d9afb7
fix style type 2023-06-14 09:52:56 +07:00
jangko 79ad349fb5
cleanup tests 2023-06-14 09:41:01 +07:00
jangko 7b7db2a73a
signed int exp 2023-06-14 08:31:28 +07:00
jangko 1657d841e7
cleanup some code 2023-06-14 08:06:44 +07:00
jangko 8ea95078f4
signed int addsub 2023-06-14 07:38:23 +07:00
jangko f2959e5135
signed int bitwise 2023-06-13 22:17:43 +07:00
jangko 612ecb3d9b
signed int comparison 2023-06-13 21:53:19 +07:00
jangko f07f574944
fix comparison 2023-06-13 20:39:22 +07:00
jangko fb797d225e
signed int initialization 2023-06-13 19:51:49 +07:00
jangko 76b2baad6f
signed int signedness 2023-06-13 19:09:43 +07:00
jangko 8c5a96463c
nimvm workaround for primitives 2023-06-13 08:35:35 +07:00
jangko 7ce536423a
disable dot borrow temporary 2023-06-13 08:15:04 +07:00
jangko e5c352fde2
fix stuint constructor 2023-06-13 08:13:39 +07:00
jangko 0dc6afe9d4
let the tests compileable and run 2023-06-12 21:07:15 +07:00
jangko 63a32129c8
rebase and try to make it works with clients 2023-06-12 20:26:36 +07:00
Mamy Ratsimbazafy bff69b3f98
Add randomized testing vs GMP 2023-06-12 17:13:35 +07:00
Mamy Ratsimbazafy 27e9c9e441
Add randomized testing, harden against edge cases 2023-06-12 17:12:43 +07:00
Mamy Ratsimbazafy 4660dfe4a4
Use littleEndian for limb-endianness: bigEndian arch are very rare, untestable in CI, a pain to maintain and an intermediate serialization step instead of casting is cheap 2023-06-12 17:11:14 +07:00
Mamy Ratsimbazafy 7efa2483e4
Division/modulo implemented - pass property-based testing vs ttmath 2023-06-12 17:11:13 +07:00
Mamy Ratsimbazafy 53d2fd14f3
uint division - compile and pass the single limb tests 2023-06-12 17:11:13 +07:00
Mamy Ratsimbazafy c2ed8a4bc2
stash div refactor 2023-06-12 17:11:09 +07:00
Mamy André-Ratsimbazafy f952314c21
dump progress 2023-06-12 17:08:22 +07:00
Mamy André-Ratsimbazafy dd3ab71029
For division we need internal add/sub/shift/bitwise so create internal files [skip-ci] 2023-06-12 17:08:21 +07:00
Mamy André-Ratsimbazafy dc9e0a43ca
Implement exponentiation, test mul, split mul/div tests 2023-06-12 17:08:21 +07:00
Mamy André-Ratsimbazafy 254d4da649
Pass extended precision bitops2 tests 2023-06-12 17:08:21 +07:00
Mamy André-Ratsimbazafy 59bca47012
Fix comparison operators 2023-06-12 17:08:21 +07:00
Mamy André-Ratsimbazafy 3df7f38260
Fix noInit issue at runtime, pass the bitwise tests 2023-06-12 17:08:21 +07:00
Mamy André-Ratsimbazafy 195480d58a
passing compile-time bitwise tests (but not runtime :?) 2023-06-12 17:08:20 +07:00
Mamy André-Ratsimbazafy 777a84e9f5
Implement toHex/fromHex and fix `shl` 2023-06-12 17:08:20 +07:00
Mamy André-Ratsimbazafy 2ac1ee3f1e
Fix compiletime primitives to pass all bitwise tests except large shifts 2023-06-12 17:08:20 +07:00
Mamy André-Ratsimbazafy 7f6c588ce3
Passing addition tests (however simple bitwise ops crash the int128 VM ... during compilation) 2023-06-12 17:08:20 +07:00
Mamy André-Ratsimbazafy a0dec54c12
Implement multiplication 2023-06-12 17:08:20 +07:00
Mamy André-Ratsimbazafy 206ffa92cf
Implement multiprecision addition / substraction 2023-06-12 17:08:19 +07:00
Mamy André-Ratsimbazafy cbbffe4e9c
reimplement bitwise 2023-06-12 17:08:19 +07:00