Commit graph

99 commits

Author SHA1 Message Date
Andrew Martin
691749e27a Support big-endian and little-endian encoding of 16-bit and 32-bit signed integers 2019-10-10 10:28:01 -04:00
Andrew Martin
71568edb50 Add big-endian and little-endian functions for copying a PrimArray of Word{16,32,64} 2019-10-10 09:40:39 -04:00
Andrew Martin
c84f6cbcca Add flush, copy, and insert 2019-10-10 09:10:44 -04:00
Andrew Martin
8baf4cc369
Switch builder implementation to use chunks (#10)
* switch builder implementation to use chunks
* micro-optimize the conditional for builders of length one
* use fromBoundedOne for ascii chars
2019-10-09 16:30:02 -04:00
Andrew Martin
3ad5261ff4 Add little-endian encoding functions for Word{16,32,64}. Add machine encoding functions for 64-bit signed int. These just convert it to an unsigned int and call the corresponding encoding function. 2019-10-09 09:48:28 -04:00
Andrew Martin
e0b9d744cf double buffer size, rather than increasing it by a constant factor, on every iteration in builder run function 2019-09-22 09:34:55 -04:00
Andrew Martin
01bf4655e3 add benchmarks for encoding tree data structures 2019-09-22 09:20:03 -04:00
Andrew Martin
cd3631e5fd Add a test for a very simple CSV encoding 2019-09-20 09:23:08 -04:00
Andrew Martin
459c48a2d9 add consLength64BE 2019-09-19 12:10:13 -04:00
Andrew Martin
13d7f0c948 add test for consLength32BE 2019-09-19 12:06:50 -04:00
Andrew Martin
d52aecdc60 Add consLengthBE32 2019-09-18 11:45:02 -04:00
Andrew Martin
902eede957 add release date to changelog in preparation for release to hackage 2019-09-05 09:25:26 -04:00
Andrew Martin
3fb488800d bump version 2019-09-05 09:24:35 -04:00
Andrew Martin
68897b9316 Add haddocks for constructors 2019-09-05 09:24:10 -04:00
Andrew Martin
1c17d129ff update the changelog 2019-09-05 09:18:14 -04:00
Andrew Martin
0b6317a4f5 Add a comment documenting the thought process behind encoding Word8s as decimal 2019-09-05 09:10:35 -04:00
Andrew Martin
61871a9ae3 unroll loop in the implementation of word8Dec 2019-09-05 09:10:35 -04:00
Andrew Martin
26421ff05b Improve documentation. Stop exported data constructor from Data.ByteArray.Builder 2019-09-04 20:02:48 -04:00
Andrew Martin
702b4d4bdb Add more variants of hexadecimal encodings 2019-09-04 20:01:47 -04:00
Andrew Martin
071b55568d add decWord for machine-sized words 2019-09-04 14:34:33 -04:00
Andrew Martin
2e8d4279c7 use runByteArrayST instead of runST 2019-09-04 13:40:31 -04:00
Andrew Martin
61c7539cee update the changelog in preparation for a release 2019-09-04 11:15:18 -04:00
Andrew Martin
0538e31ae8 clean up imports in Data.ByteArray.Builder 2019-09-04 10:54:12 -04:00
Andrew Martin
f62d5ebde8 Add more int-encoding functions 2019-09-04 10:54:12 -04:00
Andrew Martin
7ed17f5b6d add word8 and int 2019-09-04 10:54:12 -04:00
Andrew Martin
b47c1b2ed1 remove cabal.project file since natural-arithmetic was released 2019-09-04 10:22:14 -04:00
Alice McKean
6217c8b8e7
Merge pull request #4 from andrewthad/bounded
Switch unsafe to bounded
2019-09-03 12:03:46 -07:00
Andrew Martin
a5bbf88e71 Avoid KnownNat constraints in favor of using Arithmetic.Types.Nat 2019-09-03 14:58:03 -04:00
Andrew Martin
2d1ea68261 Remove the word "Small" from module names. Move unsafe functions into modules suffixed with "Unsafe". Write a better IsString instance. Depend on natural-arithmetic. 2019-09-03 14:43:58 -04:00
Alice McKean
2eb37dfb7c add monoidal unit for Bounded Builders 2019-09-01 22:56:06 -07:00
Alice McKean
9a14600a38 switch unsafe to bounded + char encoding 2019-09-01 22:43:54 -07:00
Alice McKean
22dfde2936 add word32Dec builder 2019-09-01 16:17:29 -07:00
Andrew Martin
5d3d6d1afd Add functions for encoding ShortText as UTF-8 and as JSON 2019-08-07 15:23:02 -04:00
Andrew Martin
1fd4b3ab1e add more tests for doubleDec 2019-08-05 12:12:37 -04:00
Andrew Martin
37aaeac18a Add doubleDec for rendering floating-point numbers 2019-08-05 12:07:02 -04:00
Andrew Martin
7b222c31cf major version bump and modify changelog 2019-08-02 16:28:25 -04:00
Andrew Martin
b0823d03c3 make pasteGrowST accept an offset. correct the implementation of bytes 2019-08-02 16:08:13 -04:00
Andrew Martin
0c093e0971 remove dump flags 2019-07-30 08:47:45 -04:00
Andrew Martin
a0f71b9b81 bump to 0.1.1.0 for release 2019-07-30 08:43:09 -04:00
Andrew Martin
ac3b03218b add a benchmark 2019-07-05 12:35:05 -04:00
Andrew Martin
7563616836 add more hexadecimal serialization functions 2019-07-05 11:23:30 -04:00
Andrew Martin
9533dcdcd9 Exploit more opportunities for reusing common decimal encoding function 2019-07-05 10:54:13 -04:00
Andrew Martin
0c0b42e675 add test for Int64 decimal builder 2019-07-05 10:11:28 -04:00
Andrew Martin
f7c42ba6be add functions for big-endian encodings, add functions for decimal representation of signed 64-bit integers 2019-07-03 16:28:36 -04:00
Andrew Martin
5f9ff64a51 clean up cabal file 2019-06-25 17:10:20 -04:00
Andrew Martin
c3b248a598 document everything 2019-06-25 17:09:26 -04:00
Andrew Martin
831c25c81a add more features 2019-06-25 15:18:34 -04:00
Andrew Martin
0b1a585add add bytes, bytearray, and pasteIO 2019-06-17 13:56:14 -04:00
Andrew Martin
0d63fbc60d Initial commit. The library includes a simple Builder, a Semigroup instance, primitives for running the builder, and a function for decimal-encoding a 64-bit word. There is also a test suite to confirm that it works. 2019-06-17 13:24:24 -04:00