Commit Graph

146 Commits

Author SHA1 Message Date
Zahary Karadjov a3df04d701
Add more init procs for tables and macros.genExpr 2019-08-02 15:26:08 +03:00
Zahary Karadjov d196350d22
Add anonConst 2019-08-02 11:51:04 +03:00
Zahary Karadjov 6be00f7c4b
Extract the varints code being used in the latest LibP2P back-end
Originally, this code was taken from
https://github.com/status-im/nim-libp2p/blob/master/libp2p/varint.nim

The API was refactored to make it easier to use in the networking
back-ends where the data is being consumed byte by byte.
2019-08-01 17:21:14 +03:00
Zahary Karadjov 9ac177db1f
Address review comments 2019-07-31 11:40:25 +03:00
Zahary Karadjov 2ca2f25af6
hasCustomPragmaFixed supports types with quoted field names 2019-07-31 02:43:35 +03:00
Zahary Karadjov e203f709d6
Address review comments 2019-07-31 02:31:56 +03:00
Zahary Karadjov e4da0b36c5
Fix a compilation issue when testing nim-stew 2019-07-31 02:25:12 +03:00
Zahary Karadjov 2334aa0fb3
More code migrated from the beacon-chain repo 2019-07-31 02:25:12 +03:00
Zahary Karadjov 81cbc16f15
Added bitops2.bitWidth 2019-07-31 02:24:33 +03:00
Zahary Karadjov ff326d686c
support $ op for bit arrays/seqs 2019-07-31 02:20:49 +03:00
Zahary Karadjov 30e084f76f
Add macros.inspectType 2019-07-31 02:20:49 +03:00
Zahary Karadjov f08d65b298
Add array.countof and openarray.toArray 2019-07-31 02:20:49 +03:00
Zahary Karadjov 3fce87f0f5
Refactor the bitranges module
* The bit procs defined over number values and openarray are now part of
  the bitops2 module and use the more traditional LittleEndian indexing.

* Added BitSeq and BitArray types as defined in the ETH2 spec.
2019-07-31 02:20:49 +03:00
Zahary Karadjov f782f0378f
Add macros.genCode 2019-07-31 02:13:03 +03:00
Zahary Karadjov 4f4f138fb4
More capable alternative of unpackVarargs 2019-07-31 02:13:02 +03:00
Zahary Karadjov 5b6881588c
Alternative API for reading custom pragmas; The Nim one is too broken in 0.19.6 2019-07-31 02:13:02 +03:00
Zahary Karadjov 061543d039
Turn some inline procs into templates
As much as I believe in the power of optimizing compilers, it turned
out that the use of forced inlining with templates still creates a
significant difference in the release builds of nim-faststreams.
2019-07-31 02:13:02 +03:00
Jacek Sieka 700f21b54f
Update README.md 2019-07-25 08:00:17 +02:00
Jacek Sieka ac62ce57f4
Merge pull request #2 from status-im/endians
refactor bitops2, add endians2
2019-07-22 09:37:21 +02:00
Zahary Karadjov 7d764a2390
Add init procs for sets 2019-07-16 13:17:32 +03:00
Jacek Sieka 522398a53e backport atomics from nim 0.20 (#4) 2019-07-14 10:24:22 +02:00
Jacek Sieka d6e431dee2
stricter endian type matching 2019-07-12 12:20:26 +02:00
Jacek Sieka 89107ae03d
fix shims imports 2019-07-07 11:38:00 +02:00
Jacek Sieka 7a87693eaf
refactor bitops2, add endians2 2019-07-06 20:47:08 +02:00
Jacek Sieka 904f84c8e0
add ranges 2019-07-06 20:45:27 +02:00
Jacek Sieka c95cee45bc
add byteutils 2019-07-06 20:07:41 +02:00
Jacek Sieka a9612d7320
add docs/appveyor/travis/test runner 2019-07-06 20:00:37 +02:00
Jacek Sieka 0a8e95408f
std_shims->stew 2019-07-06 19:12:24 +02:00
Zahary Karadjov 5691b05a2f
Attempt to fix build issues in nim-beacon-chain 2019-07-03 10:15:40 +03:00
Zahary Karadjov 8fe16bcd9d
Add default(T) 2019-07-03 02:30:49 +03:00
Zahary Karadjov 421fd009d4
Some helpers shared between nim-serialization and nim-confutils 2019-07-03 02:30:30 +03:00
Zahary Karadjov 7fa381eb8d Add writeFile(string, openarray[byte]) 2019-06-12 15:10:03 +03:00
Zahary Karadjov 58a313d8eb
More robust findPragma 2019-06-05 03:14:54 +03:00
Mamy André-Ratsimbazafy 5e03d90ad3
Add generic parseHex from parseutils 2019-05-28 17:51:54 +02:00
Zahary Karadjov 1a9ee7397d
Fix for using typedParams with nnkMacroDef procs 2019-05-22 09:50:49 +03:00
Jacek Sieka b909465eb8
move support to std_shims, for nimble compat 2019-05-09 12:27:24 -06:00
Jacek Sieka 7e8d1fc381 add bitops2 (#1) 2019-05-08 22:05:16 +02:00
Zahary Karadjov 3c57ca7555 [recordFields] discriminator fields will be indicated by non-nil caseField and nil caseBranch 2019-03-26 01:16:39 +02:00
Ștefan Talpalaru cb9b6735ac
assert() -> doAssert() 2019-03-13 23:53:00 +01:00
Zahary Karadjov ee5865574b Support the recommended init scheme for tables 2019-03-12 04:32:08 +02:00
Zahary Karadjov 3b28f390fc Added string.add(openarray[char]) and macros.typedParams 2019-03-11 11:37:51 +02:00
Zahary Karadjov b18e8877a7 add skipPragma 2019-01-23 13:47:13 +02:00
Zahary Karadjov 5039a63afa Closure construction from raw pointers 2019-01-04 19:20:39 +02:00
Zahary Karadjov 2d3f6c81fb Fix a compilation error when using the new init helpers 2018-12-28 19:24:12 +02:00
Zahary Karadjov 5a7ec517b0 Fixed newLit; os.getCurrentProcessId; Case object enhancements for recordFields 2018-12-19 12:27:48 +02:00
Zahary Karadjov 8e1fa61e91 standard init template; macros.recordFields 2018-12-18 17:39:39 +02:00