Commit Graph

190 Commits

Author SHA1 Message Date
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 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 de17e63b85 improve bitops test coverage + compile time test 2019-10-23 21:55:47 +09:00
andri lim 55dcea15e6
Merge pull request #93 from jangko/fix_mul_op
fixes related to Nim v1.0.2 32 bit type inference rule modification
2019-10-20 13:45:33 +07: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
Ștefan Talpalaru 9993b9dca4
CI: update script path 2019-08-24 21:03:10 +02:00
andri lim d0162902b7
Merge pull request #85 from jangko/fix81
fix #81 remove ashr from API and fix shr on Nim 0.20
2019-08-12 18:03:59 +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 d154bcf90a
reexport isEven and friends 2019-07-22 10:17:58 +02: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
Ștefan Talpalaru 0761f33b91
Merge branch 'buildnim' 2019-06-18 17:31:16 +02:00
Ștefan Talpalaru 344611067a
build_nim.sh 2019-06-18 17:10:46 +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
Bruno Škvorc 3a111d6a0e
Update README.md 2019-01-02 14:57:16 +01:00
mratsim 308ed51d59 Add 8192-bit overloads 2018-12-04 15:42:00 +01:00
mratsim 023007b2ef Change to stint_test in property based testing 2018-12-04 15:37:37 +01:00
mratsim fa37d957e9 Add one more bitsof overload to support Uint4096 2018-12-04 14:33:19 +01:00
mratsim eb9c650d25 Add more test cases to modular exponentiation 2018-12-04 11:29:36 +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
Jacek Sieka 0f53325c08
Merge pull request #69 from status-im/no-forloopmacros
refactoring away for loop macros
2018-11-05 21:07:00 +01:00
Jacek Sieka 9027fbea3e
refactoring away for loop macros
* remove experimental for loop macro usage
* make implementation of several operations follow data structure
(recursive data -> recursive implementation)
* rename getSize -> bitsof to avoid bits vs bytes confusion
* fix potential 32-bit issue where asSignedWords cast to `int` even when
`uint64` was used as storage
* `hi` for signed ints now is signed - this replaces `asSignedWords` and
makes several int operations more natural
* fix bit size assert
2018-10-25 12:58:40 +02:00
mratsim 4fe901d33b Use truncate instead of toInt and co 2018-10-08 21:11:06 +00:00
mratsim 2d6ea71657 BREAKING: Change named param from `base` to `radix` in io procs 2018-10-08 21:11:06 +00:00
mratsim 0f5fd20679 NEP-1 (camelCase) 2018-10-08 21:11:06 +00:00
mratsim 65729901db Review: add comment about where Stint is not ideal 2018-10-08 21:11:06 +00:00
mratsim eb6357f4d1 Misse double hash for doc comments 2018-10-08 21:11:06 +00:00
mratsim 53ceaffdfa Fix endianness issue in toInt64 and toUint64 2018-10-08 21:11:06 +00:00
mratsim 5980477e0b Add a description and why choosing a recursive impl for Stint 2018-10-08 21:11:06 +00:00
mratsim f161454309 Add tests for toUint/toUint64, toInt, toInt64 2018-10-08 21:11:06 +00:00
mratsim 7bbe7d8f9f Fix doc of toInt/toUint + add more docs about undefined behaviours 2018-10-08 21:11:06 +00:00
mratsim 7fa6329d4c Change the test flag from mpint_test to stint_test 2018-10-08 21:11:06 +00:00
mratsim 7591373f15 Enable modular arithmetic tests 2018-10-08 21:11:06 +00:00
mratsim 69b5630de1 Use static default argument fix #40 and deprecated significantBytesBE 2018-10-08 21:11:06 +00:00