1
0
Fork 0
mirror of https://codeberg.org/icewind/bitbuffer.git synced 2026-06-03 16:44:06 +02:00
Commit graph

133 commits

Author SHA1 Message Date
8830e8a382 rename fixes 2020-02-13 17:27:24 +01:00
8979354c60 writing wip and bool be read fixes 2020-02-13 02:33:05 +01:00
9ddbc51fd7 setup github actions ci 2020-02-13 00:05:51 +01:00
6fc3785fc9 rename bitbuffer/bitstream to bitreadbuffer/bitreadstream 2020-02-12 23:53:59 +01:00
0e58b89ae9 rename to bitbuffer to prepare for writing 2020-02-12 23:52:08 +01:00
7e4830c66f dont panic when reading 0 length signed int 2020-01-20 16:01:05 +01:00
aa42c955ce fix skip_bits check when skipping to the end of the stream 2020-01-19 22:32:51 +01:00
894c8aef7c harden against dos with crafted input by limiting reserved vec/map size 2020-01-19 22:09:57 +01:00
4ab65a675f dont split string inside utf8 char 2020-01-19 21:53:03 +01:00
7bc5ef8759 fix bounds debug assert 2020-01-19 21:41:23 +01:00
f33d4b5850 fix read_string being able to set stream position outside bounds when using sub streams 2020-01-19 21:22:53 +01:00
a6d9931641 fix read_bool being able to set stream position outside bounds when using sub streams 2020-01-19 21:12:17 +01:00
77fbba7e5b fix skip_bits being able to cause panics by setting self.pos outside the stream bounds 2020-01-19 20:25:55 +01:00
841fdf7828 unchecked cleanup 2020-01-08 18:39:42 +01:00
758bba200b clippy 2020-01-07 23:12:27 +01:00
9596419833 remove seperate bitskip trait 2020-01-07 22:58:07 +01:00
a6e9b59ece derive unchecked methods for traits 2020-01-07 22:38:28 +01:00
55eb866eb6 add unchecked reading to BitRead and BitReadSized 2020-01-07 22:31:29 +01:00
28b1d15bff remove seperate BitSize traits 2020-01-07 21:59:05 +01:00
4785f80cce struct bench 2020-01-07 20:30:49 +01:00
92d23dc14f unchecked api 2020-01-07 19:19:01 +01:00
ce93ded2f2 enable alligned string optimization 2020-01-06 19:15:06 +01:00
7250ce3ae8 remove bounds check using unsafe 2020-01-06 18:53:12 +01:00
ccc48f1bdb pad the buffer to simplify read logic 2020-01-06 18:44:25 +01:00
7290481a73 safe 2019-12-25 23:59:43 +01:00
c28c83d5f4 cleanup 2019-12-25 23:30:49 +01:00
01a8edd782 read unaligned bytes optimization 2019-12-25 23:18:35 +01:00
862c6fb3b5 remove unneeded clone 2019-12-25 23:11:07 +01:00
85abe2d9e8 use memchr for alligned string reads 2019-12-25 23:10:54 +01:00
4a888e685c optimize unaligned string reads 2019-12-25 23:08:39 +01:00
8147ae1988 dont read unalligned usize 2019-12-25 15:38:14 +01:00
5b89a5940d less panicy read_bool 2019-12-25 14:27:29 +01:00
34411a7c80 use macro for tuple implementations 2019-10-13 11:25:49 +02:00
8f5fdb41d2 some tuple implementations for bitread 2019-10-11 21:52:02 +02:00
d074779203 more efficient LazyBitRead 2019-10-11 21:42:38 +02:00
cfb4f37fc0 dont store bit_len seperatly for stream 2019-10-11 20:48:01 +02:00
ddada03f34 impl BitRead for Box 2019-10-11 20:26:00 +02:00
296b2e1092 optimizte reading alligned unsized strings 2019-09-22 16:26:10 +02:00
c85d4e4fa6 add bench for read_bytes 2019-09-20 22:07:57 +02:00
8e1c901985 make more functions inlinable
this has a noticable performance improvments since a lot of conditionals can be determined compile time when inlined
2019-08-31 15:38:16 +02:00
f20b7fa1b3 re-add the unsafe implementation behind a feature flag 2019-08-31 15:07:15 +02:00
e1079a412b minor cleanup 2019-08-31 14:29:00 +02:00
2fd2b49810 fix 2's-completement encoding for non full with signed ints 2019-08-28 02:44:35 +02:00
5856dd3ade add BitRead implementations for Rc/Arc 2019-08-26 20:18:11 +02:00
c3709e57d8 fix signed reading 2019-08-26 20:17:59 +02:00
a3aa275a87 forbid unsafe code 2019-07-27 18:34:43 +02:00
541c467510 switch to a fully safe implementation
this costs about ~15% compared to the unsafe one but should still be fast enough to not be the bottleneck in most use cases
2019-07-27 18:32:08 +02:00
af93d0917e dont store byte_len separatly
bit_len actually makes a performance difference
2019-07-24 12:53:45 +02:00
211de49a54 dont save pointer to data
this doesn't actually make a performance difference
2019-07-24 12:32:18 +02:00
76bd8f6bb1 remove usafe code from read_bool
safe version is a bit faster than the unsafe version even
2019-07-24 12:24:15 +02:00