Commit Graph

108 Commits

Author SHA1 Message Date
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 0dc6afe9d4
let the tests compileable and run 2023-06-12 21:07:15 +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 53d2fd14f3
uint division - compile and pass the single limb tests 2023-06-12 17:11:13 +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 59bca47012
Fix comparison operators 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
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
G f36623998f
fix(skipPrefixes): fix erroneous strip of 0b in hex numbers (#120)
* fix(skipPrefixes): fix erroneous strip of 0b in hex numbers

* refactor(skipPrefixes): normalize radix checks

* feat(stint): add tests for bin, oct, hex string conversions

* fix(stint): fix cast

* fix(stint): fix typo

* fix(stint): alternative format

* feat(stint): add test

* fix(stint): fix stint width in test
2022-10-03 12:15:45 +02:00
Kim De Mey e656ad40d1
Enable --styleCheck:usages (#118) 2022-02-24 20:09:53 +01:00
Mamy Ratsimbazafy ddfa6c608a
Fix 32-bit failure on Nim 1.6 (#116)
* Nim 1.6 compiletime can now be affected by https://github.com/status-im/nim-stint/issues/92 ?

* seems like it happens on runtime too
2022-01-13 12:04:26 +01:00
Ștefan Talpalaru e17113fb31
CI: test with multiple Nim versions (#114)
* CI: test with multiple Nim versions
2022-01-12 03:20:04 +01:00
Mamy Ratsimbazafy 49d11d61b8
RangeError are actually defect and not catchable. (#111)
* RangeError are actually defect and not catchable.

* Don't use range types at runtime they throw RangeDefect
2021-10-08 10:08:56 +02:00
Mamy Ratsimbazafy 06e5c4829c
Parsing should raise CatchableError for user inputs (#110) 2021-10-06 18:53:52 +02:00
zah 9e49b00148 Define a hash function in order to support Stint keys in hash tables (#102)
* Hash stint values as byte blobs; Add a basic test for using stint keys in a table
2019-12-18 14:02:16 +01:00
andri lim d98b77c88d fixes #94, implement conversion constructor 2019-12-13 16:19:41 +02:00
andri lim 9ec615f0ef disable powmod at compile time 2019-10-25 19:54:41 +03:00
andri lim ea82fdfb39 add more test for 'mod' operation 2019-10-25 19:54:41 +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 8cc9116d1e cosmetics changes 2019-10-23 21:55:47 +09:00
andri lim e58eb117c8 improve modular arithmetic test coverage + compile time test 2019-10-23 21:55:47 +09:00
andri lim 46011107b0 improve uint exp test coverage + compile time test 2019-10-23 21:55:47 +09:00
andri lim fb9b5fde72 improve int muldiv coverage + compile time test 2019-10-23 21:55:47 +09:00
andri lim 5cf0fb08fb improve uint muldiv coverage + compile time test 2019-10-23 21:55:47 +09:00
andri lim 332688fc92 fixes high(uint64) issue with nim 19.6 2019-10-23 21:55:47 +09:00
andri lim c456190980 fixes operator precedence issue with nim 19.6 2019-10-23 21:55:47 +09:00
andri lim 5b9e73e488 improve uint comparison coverage + compile time test 2019-10-23 21:55:47 +09:00
andri lim 84466dae0a improve int comparison coverage + compile time test 2019-10-23 21:55:47 +09:00
andri lim 07411e31a5 fixes test_uint_addsub typo 2019-10-23 21:55:47 +09:00
andri lim f902d117fc improve int bitwise coverage + compile time test 2019-10-23 21:55:47 +09:00
andri lim 332f7b1f04 improve uint bitwise coverage + compile time test 2019-10-23 21:55:47 +09:00
andri lim 79dfae7d32 fixes typo 2019-10-23 21:55:47 +09:00
andri lim 057fb45f12 improve uint addsub coverage + compile time test 2019-10-23 21:55:47 +09:00
andri lim 4aff306a6f improve int addsub coverage + compile time test 2019-10-23 21:55:47 +09:00
andri lim 3189775012 fixes 32bit failure 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 523b74d0d2 add endians2 test into all_tests 2019-10-23 21:55:47 +09:00
andri lim 7921712db1 improve endians2 test coverage + compile time test 2019-10-23 21:55:47 +09:00
andri lim de17e63b85 improve bitops test coverage + compile time test 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 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
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