Commit graph

44 commits

Author SHA1 Message Date
9269caacb7 make quasiquoter (and haskell-src-exts dependency) optional 2024-10-23 01:53:23 +02:00
Brian McKeon
bfedcbbabc
Prepare release 0.3.16.2.
Use new .github workflows.
Restore import statement for liftA2 to fix build for GHC 9.4.
2024-02-06 19:15:26 -05:00
Brian McKeon
277d03b475
Prepare 0.3.16.1 release
Reformatted.
Added workflows.
Updated package metadata.
2024-02-02 21:37:18 -05:00
Andrew Martin
2a6f03725f Add VLQ builders for Word32 and Word64 2023-04-17 12:01:30 -04:00
Andrew Martin
1fc4a1faba Add another test case 2022-06-14 10:41:15 -04:00
Andrew Martin
5fb3bdbeaa Inline pragmas for better LEB encoding perf 2022-04-11 15:49:02 -04:00
Zankoku Okuno
f16f2120e3
Seven eights encoding
"7/8" encoding in two variants. Smoke tests for 7/8 encoding.

Co-authored-by: Eric Demko <edemko@layer3com.com>
2022-01-31 09:41:05 -05:00
Andrew Martin
ce52044b08 Prepare for release of 0.3.9.0 2021-11-19 15:52:59 -05:00
Zankoku Okuno
fba563dd6b
Byte Template Quasiquoter and classes for builders
Co-authored-by: Eric Demko <edemko@layer3com.com>
Co-authored-by: Andrew Martin <andrew.thaddeus@gmail.com>
2021-09-15 14:57:10 -04:00
Andrew Martin
e79864aa0d Correct encoding of Doubles again 2021-01-22 11:13:02 -05:00
Andrew Martin
57e2c7b777 Fix doubleDec 2020-12-18 13:03:04 -05:00
Andrew Martin
04ab7f046b Resolve collision of replicate in test suite 2020-07-29 14:42:40 -04:00
Andrew Martin
d39c76a65a Add wordLEB128, word64LEB128, integerDec, naturalDec, and word48PaddedLowerHex 2020-04-13 11:29:38 -04:00
Andrew Martin
1908d53a14 Rename library to bytebuild. Use Data.Bytes namespace. 2020-02-27 14:00:35 -05:00
Andrew Martin
f5799e7270 Add wordPaddedDec4 2020-02-12 14:56:32 -05:00
Zankoku Okuno
f8a32ebb1b
Word256 lacunae for big-endian and little-endian output
Implement BE and LE builders for 256-bit words and arrays of 256-bit words.
Test new functions in the test suite.
2020-02-07 09:39:59 -05:00
Eric Demko
6657cc0383 implemented wider hex builders and a couple missing builders 2020-02-06 14:41:26 -05:00
Andrew Martin
93d3429fe7 Prepare for 0.3.2.0 release 2020-01-20 18:54:43 -05:00
Andrew Martin
71fa47a8ee Move Data.Bytes.Chunks into byteslice 2020-01-15 16:50:24 -05:00
Andrew Martin
d496f23fd8 Add word8PaddedLowerHex 2020-01-03 06:42:32 -05:00
Andrew Martin
ecde041d9d Add wordPaddedDec9 2019-12-30 20:43:36 -05:00
Andrew Martin
2b85e2cb84
Add function for zero-padded decimal encoding of two digit numers 2019-12-30 20:14:15 -05:00
Andrew Martin
e8de684ae2 Completely redo putMany and friends 2019-11-25 10:52:00 -05:00
Andrew Martin
70a5c15e6c Add putManyConsLength 2019-11-23 08:56:52 -05:00
Andrew Martin
c7fcaff97f Add putMany and considate consLength functions 2019-11-22 16:24:48 -05:00
Andrew Martin
d66a9e6880 add laws tests for Chunks 2019-10-22 20:50:37 -04:00
Andrew Martin
00f437f8cc Add big-endian and little-endian parsers for Word128 2019-10-17 11:26:14 -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
01bf4655e3 add benchmarks for encoding tree data structures 2019-09-22 09:20:03 -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
61871a9ae3 unroll loop in the implementation of word8Dec 2019-09-05 09:10:35 -04: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
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
ac3b03218b add a benchmark 2019-07-05 12:35:05 -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
831c25c81a add more features 2019-06-25 15:18:34 -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