Commit Graph

38 Commits

Author SHA1 Message Date
zah 9960d8eea9 Add a helper for creating open arrays from pointers (#36)
* Add a helper for creating open arrays from pointers

* doh, toOpenArray is broken in Nim 0.19.0

* Make openarrays from typed pointers

* remove the ptr.toOpenArray seq work-around
2019-02-22 19:51:42 +02:00
Ștefan Talpalaru d645a88dfe fix breakage with Nim HEAD 2019-01-05 14:42:21 +02:00
Zahary Karadjov b11110240f add pointer distance function 2018-12-18 01:02:16 +02:00
Timothee Cour f776d57b3e fixup for backward compat 2018-11-28 02:28:23 +02:00
Timothee Cour 3b8e821b85 cleanup: use UncheckedArray instead of array[0, T]] 2018-11-28 02:28:23 +02:00
Timothee Cour 19645abeaf fix #30 2018-11-28 02:28:23 +02:00
Zahary Karadjov f268a02fb8 name the big endian bitrange APIs as a default choice 2018-11-27 13:31:24 +02:00
Zahary Karadjov 543d53ac7e adds bit manipulations over byte openarrays 2018-11-27 13:31:24 +02:00
Eugene Kabanov 6798d45e5e Fix shallow for MutRange[T]. (#29)
* Fix shallow for MutRange[T].
Add shallow for slices of Range[T] and MutRange[T].
Add testing procedure.
Add tests.

* Fix appveyor to use status-im nim compiler.
2018-08-30 13:20:46 +03:00
Eugene Kabanov 6efa5b365a Workaround for Nim's issue #8044. (#27) 2018-08-27 18:53:34 +03:00
Eugene Kabanov d49a57f943 Fix MutRange[T] problems. (#26) 2018-08-27 17:37:39 +03:00
Eugene Kabanov 49f32c604b Add seek() operation with tests. (#25)
* Add seek() operation with tests.

* Workaround for Nim issue with `|`.

* Range length from int32 to int.
seek() got renamed to advance().
Zero advance is allowed.
tryAdvance() is now non-throw version of advance().

* Allow advance() to make zero length ranges.
2018-08-27 15:20:30 +03:00
Yuriy Glukhov 5dab1b35f4 Fixed potential memory corruption, added allocStackArrayNoInit 2018-07-20 13:05:08 +03:00
Timothee Cour 8340969ec2 test toOpenArray and clarify doc to say 0 in cast[ptr array[0, T] is irrelevant 2018-07-19 20:44:09 -07:00
Zahary Karadjov f6dae4edbc bugfix: allow the slice operators to return empty ranges 2018-06-23 16:25:33 +03:00
Zahary Karadjov cf118e240b add additional APIs for unsafe range construction that will be more searchable in the code 2018-06-21 11:37:29 +03:00
Zahary Karadjov ba631f7f5d add a pushFront operation for the bitranges 2018-06-20 21:23:46 +03:00
Zahary Karadjov 580043724c helpers for manipulating binary formats using bit sequences 2018-06-20 19:45:10 +03:00
andri lim 8ea8a4ff27 fix hash function 2018-06-17 12:46:39 +03:00
andri lim 08478bc225 fix hash function 2018-06-17 12:46:39 +03:00
andri lim d6b0dad73e add hash function 2018-06-17 12:46:39 +03:00
Yuriy Glukhov 42c8e730de Fixes #10 2018-06-15 14:15:00 +03:00
andri lim af939d8ac4 fix zero length concat 2018-06-12 16:00:45 +07:00
andri lim 39f0a3cd03 fix concat operation 2018-06-08 10:07:47 +07:00
andri lim c23f4ddf1b add concat operation 2018-06-07 22:26:08 +07:00
andri lim d9e93b33a0 add equality operator 2018-06-06 22:53:02 +07:00
cheatfate efcc9e1910 Fix windows compilation error for alloca.
Added MacOS testing.
2018-04-19 23:47:12 +03:00
Yuriy Glukhov 3e3d2d4a2f Some fixes 2018-04-19 22:00:22 +03:00
Zahary Karadjov 3cc2b9eb5f more disclaimers and possible future directions 2018-04-19 15:42:02 +03:00
Zahary Karadjov 5145020c30 review changes:
* the length is stored as int32
* negative indexing is now supported with arr[^idx]
* toOpenArray supports slicing
* raise operations extracted in procs in order to reduce code bloat

A large disclaimer has been added warning about the possible risks
of using the StackArray type.
2018-04-19 15:42:02 +03:00
Zahary Karadjov 51121411a0 rename ranges/stackarray to stackarrays for consitency 2018-04-19 15:42:02 +03:00
Zahary Karadjov 0fb54a8a9d Implement helpers for using alloca-based stack arrays 2018-04-19 15:42:02 +03:00
Yuriy Glukhov 991bdb8443 Moved toOpenArray above its usage 2018-04-11 17:24:16 +03:00
Yuriy Glukhov 86037c1d93 Typed ranges 2018-03-26 16:17:22 +03:00
Yuriy Glukhov eb6e359d93 Some additions 2018-03-14 14:55:28 +02:00
Zahary Karadjov 9ad57df473 obtain mem ranges from strings and sequences 2018-02-16 16:58:46 +02:00
Zahary Karadjov ee803f088f pointer arithmetic helpers 2018-02-16 16:39:44 +02:00
Zahary Karadjov 9815d9708f initial definition of a MemRange type 2018-02-16 16:38:25 +02:00