170 Commits

Author SHA1 Message Date
Jacek Sieka
d41be5ccb0
reexport isEven and friends 2019-07-22 10:13:19 +02:00
Jacek Sieka
8bf328b4f0
stew updates
* simplify int api (fixes #68)
* implement endians api
* implement some more bitops
2019-07-09 15:59:24 +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
mratsim
31101a5c5b Add a toUint64 and toInt64 for 32-bit platform (fixes #48) 2018-10-08 21:11:06 +00:00
mratsim
1c29314d8e Add a touint proc fixes #58 2018-10-08 21:11:06 +00:00
mratsim
582466b625 Fix Generic Instantiation too nested in unittest (https://github.com/status-im/nim-stint/pull/66#issuecomment-427557655) + Renable all tests 2018-10-08 21:11:06 +00:00
mratsim
f7fcecb395 Export marker + assign to result.data + fix forward decl and visibility issues introduced by the removal of the templates 2018-10-08 21:11:06 +00:00
mratsim
ede5b57fa4 Improve uint public API: no template + documentation 2018-10-08 21:11:06 +00:00
Jacek Sieka
8c97a4b6c0
nimble: remove nimcache options 2018-10-04 12:36:52 -06:00
Yuriy Glukhov
cb442fa315
Merge pull request #64 from status-im/push-experimental
Push experimental
2018-09-06 20:32:30 +03:00
Jacek Sieka
5747485c83
appveyor: try different way of comparing versions 2018-09-06 10:28:50 -06:00
Yuriy Glukhov
f76c0ee1ea Removed experimental flag 2018-09-06 13:37:00 +03:00
Yuriy Glukhov
4e7dc9397c Push experimental 2018-09-06 12:35:12 +03:00
Jacek Sieka
7ac41ab671
readme: update license 2018-09-05 12:48:40 -06:00
Jacek Sieka
ecf528e69b
ci: update
readme: fix license, badges
2018-09-04 23:09:11 -06:00
Jacek Sieka
cae8888ff5
travis: use cached nim instead of docker 2018-09-02 19:48:46 -06:00
mratsim
7e0289fbdf Fix regression due to when bool restriction 361a2d830a and https://github.com/nim-lang/Nim/issues/7375 2018-08-24 13:34:29 +02:00
Mamy Ratsimbazafy
bd734b6845
Don't use stint's nim.cfg during CI to compile koch (#63)
* Don't use stint's nim.cfg during CI to compile koch

* skip both project and parentcfg?

* reorder switches

* everything should skip the cfg

* Use .nimble switch - nim.cfg causes problem when updating packages

* remove the skip compile flags
2018-08-21 14:19:39 +02:00
Mamy Ratsimbazafy
fc27e86061
New {.experimental: "ForLoopMacros".} support (#62)
* Bug https://github.com/nim-lang/Nim/issues/8676 and da41fc1801

* Use a commandline flag
2018-08-20 10:34:28 +02:00
mratsim
215293756a Use the new {.experimental.} pragma. Fix https://github.com/nim-lang/Nim/issues/8676, linked to da41fc1801 2018-08-17 19:34:10 +02:00
coffeepots
2a85ed2e40 Fix multiplication on 32 bit systems (#60) 2018-08-10 08:37:04 +02:00
Luke Parker
d6435b37ef Stop single digit strings from throwing an IndexError on parse (#59) 2018-08-05 23:47:05 +02:00
Zahary Karadjov
406f1aa317 Added a fromHex helper in the style of the new fromBytes APIs 2018-07-04 18:37:07 +03:00