Commit Graph

147 Commits

Author SHA1 Message Date
Jacek Sieka 7c81df9adc
fix modmul 256-bit perf (#156)
Not sure about other lengths, but this 100x's 256-bit `modmul` on the
given trivial benchmark and fixes abysmally slow EVM performance

```
Modmul (stint): 856300 ms
```

```
Modmul (stint): 8850 ms
```
2024-07-09 15:35:08 +02:00
Jacek Sieka 9a3348bd44
hash limbs instead of bytes (#155)
avoids silly byte hasher
2024-06-17 15:40:09 +02:00
Eugene Kabanov 9d2b382c5d
Fix GCC-14 [-Wincompatible-pointer-types] issue. (#153) 2024-05-23 06:31:45 +02:00
andri lim 379901ad36
Fix pointer deref issue on Macos and Nim >= 2.0 (#152) 2024-05-20 23:39:33 +07:00
tersec 3c238df6cd
fix noInit to noinit; use evergreen GitHub Actions image versions (#151) 2024-03-13 04:45:06 +00:00
Eugene Kabanov e639ba700c
Make decimal string parser raise ValueError instead of RangeDefect. (#148)
* Fix decimal parser helper to raise ValueError instead of RangeDefect.

* Get some fixes in place.
2024-02-27 02:36:02 +02:00
Jacek Sieka 711cda4456
add native nim mode (#142)
* add native nim mode

* don't try to link wasm-c code
2023-09-25 16:49:04 +02:00
jangko bfa299f3ae
Fix compilation failure for arch other than amd64/i386 2023-09-12 19:51:30 +07:00
jangko ea02d7db68
more custom literal tests and overflow check 2023-07-07 17:57:14 +07:00
jangko e374311f70
add custom literal feature 2023-07-07 13:22:22 +07:00
jangko 3e9d64c896
fix skipPrefixes bug 2023-07-07 12:56:30 +07:00
jangko 8c1e43f001
fix shlAddMod SIGFPE bug 2023-06-22 16:43:31 +07:00
jangko 19e0ac6268
export toBytesBE, toBytesLE 2023-06-21 15:25:29 +07:00
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