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
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
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
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
Mamy André-Ratsimbazafy
36cc2b2e02
Implement comparison
2023-06-12 17:08:19 +07:00
Mamy André-Ratsimbazafy
de87739635
Implement types and uint128 primitives
2023-06-12 17:08:19 +07:00
tersec
95b91474ce
remove Nim 1.2 and 1.4 support
2023-06-08 11:08:27 +00:00
tersec
86621eced1
remove pre-Nim 1.2 support ( #127 )
2023-06-05 11:42:36 +00:00
jangko
493f31de63
reduce compiler warnings
2023-02-23 12:09:45 +07:00
tersec
3472a16fbc
avoid deprecation warnings on Nim 1.6 when using ( #121 )
2023-02-07 13:41:40 +01:00
Jacek Sieka
c05f75a8da
comment style fix
2022-04-07 09:53:11 +02:00
Kim De Mey
e656ad40d1
Enable --styleCheck:usages ( #118 )
2022-02-24 20:09:53 +01:00
Timothee Cour
484031fdff
fix stint for https://github.com/nim-lang/Nim/pull/18050
2021-07-01 13:16:07 +03:00
andri lim
2b5d083dac
fixes 32bit problem
2019-10-25 19:54:41 +03:00
andri lim
7fe4db62dc
add compiletime test for signed int dumphex
2019-10-25 19:54:41 +03:00
andri lim
0ee6dc5c6a
convert runtime signed int mul to vm friendly
2019-10-23 21:55:47 +09:00
andri lim
0cd6b2a052
improve io test coverage + compile time test
2019-10-23 21:55:47 +09:00
andri lim
d67cee6f8d
tidying up compiletime helpers
2019-10-23 21:55:47 +09:00
andri lim
f5116945e6
move compile time convertImpl to compiletile helpers
2019-10-23 21:55:47 +09:00
andri lim
affbe30b41
implement compile time helpers
2019-10-23 21:55:47 +09:00
andri lim
0b06077c55
compile time toBytes
2019-10-23 21:55:47 +09:00
andri lim
21dc4c6519
compile time truncate and dumpHex
2019-10-23 21:55:47 +09:00
andri lim
6eb7b7054e
fixes related to Nim v1.0.2 32 bit type inference rule modification
2019-10-19 16:56:18 +07:00
andri lim
e084bb7d9d
using tuple comparison when checking for nim version instead of template
2019-08-07 21:28:33 +07:00
andri lim
173699583b
fix #81 remove ashr from API and fix shr on Nim 0.20
2019-08-06 20:25:48 +07:00
Jacek Sieka
c5247e9d88
stew updates ( #82 )
...
* simplify int api (fixes #68 )
* implement endians api
* implement some more bitops
2019-07-22 09:53:58 +02:00
Jacek Sieka
33562884a1
std_shims -> stew
2019-07-07 11:50:53 +02:00
andri lim
ccf87daac1
implement arithmetic right shift ( #76 )
...
* implement arithmetic right shift
* workaround Nim VM 'cast' limitation
* fix high(stint) bug
* fix compile time bit shift bug
* add test for compile time shift and high(stint)
* add tests against ttmath
2019-05-11 15:44:41 +02:00
Jacek Sieka
9c51f9e7d5
use bitops2 from shims ( #77 )
2019-05-09 21:46:40 +02:00
Ștefan Talpalaru
6853ebe97c
assert() -> doAssert()
2019-03-14 03:43:51 +01:00
Ștefan Talpalaru
d002fbb155
fix breakage with Nim HEAD ( #73 )
2019-01-08 12:39:04 +01:00
Jacek Sieka
360d01d170
Better bitsof implementation ( #74 )
...
See https://github.com/nim-lang/Nim/issues/9494
2019-01-07 20:11:45 +01:00
mratsim
308ed51d59
Add 8192-bit overloads
2018-12-04 15:42:00 +01:00
mratsim
fa37d957e9
Add one more bitsof overload to support Uint4096
2018-12-04 14:33:19 +01:00
Jacek Sieka
edb1ade373
add a few more overloads for calculating bitset size (for eth-bloom)
2018-11-07 09:18:25 -06:00