[−][src]Crate varint_simd
varint_simd
is a fast SIMD-accelerated variable-length integer
encoder and decoder written in Rust.
For more information, please see the README.
Re-exports
pub use num::*; |
Modules
decode | |
encode | |
num |
Enums
VarIntDecodeError |
Functions
decode | ssse3 Decodes a single varint from the input slice. Requires SSSE3 support. |
decode_eight_u8_unsafe⚠ | ssse3 Decodes four adjacent varints into u8's simultaneously. Requires SSSE3 support. Does not perform overflow checking and may produce incorrect output. |
decode_four_unsafe⚠ | ssse3 Decodes four adjacent varints simultaneously. Target types must fit within 16 bytes when varint encoded. Requires SSSE3 support. |
decode_two_unsafe⚠ | ssse3 Decodes two adjacent varints simultaneously. Target types must fit within 16 bytes when varint encoded. Requires SSSE3 support. |
decode_two_wide_unsafe⚠ | avx2 Experimental. May have relatively poor performance. Decode two adjacent varints
simultaneously from the input pointer. Requires AVX2. Allows for decoding a pair of |
decode_unsafe⚠ | ssse3 Decodes a single varint from the input pointer. Requires SSSE3 support. Returns a tuple containing the decoded number and the number of bytes read. |
decode_zigzag | ssse3 Convenience function for decoding a single varint in ZigZag format from the input slice.
See also: |
encode | sse2 Encodes a single number to a varint. Requires SSE2 support. |
encode_to_slice | sse2 Encodes a single number to a varint, and writes the resulting data to the slice. Returns the number of bytes written (maximum 10 bytes). |
encode_unsafe⚠ | sse2 Encodes a single number to a varint. Requires SSE2 support. |
encode_zigzag | sse2 Convenience function for encoding a single signed integer in ZigZag format to a varint.
See also: |