Blosc.compcode
— Methodcompcode(s::AbstractString)
Returns a nonnegative integer code used internally by Blosc to identify the compressor. Throws an ArgumentError
if s
is not the name of a supported algorithm.
Blosc.compname
— Methodcompname(compcode::Integer)
Returns the compressor name corresponding to the internal integer code used by Blosc. Throws an ArgumentError
if compcode
is not a valid code.
Blosc.compress
— Functioncompress(data; level=5, shuffle=SHUFFLE, itemsize)
Return a Vector{UInt8}
of the Blosc-compressed data
, where data
is an array or a string.
The level
keyword indicates the compression level (between 0
=no compression and 9
=max). shuffle
indicates whether to use no shuffling (NOSHUFFLE
), byte shufflng (SHUFFLE
), or bit shuffling (BITSHUFFLE
) preconditioning. The shuffling preconditioner is optimized for arrays of binary items of size itemsize
(in bytes, defaults to sizeof(eltype(data))
for arrays and the size of the code units for strings).
Blosc.compress!
— Functioncompress!(dest::Vector{UInt8}, src; kws...)
Like compress(src; kws...)
, but writes to a pre-allocated array dest
of bytes. The return value is the size in bytes of the data written to dest
, or 0
if the buffer was too small.
Blosc.compressor_info
— Methodcompressor_info(name::AbstractString)
Given the name
of a compressor in the Blosc library, return a tuple (compressor name, library name, version number)
.
Blosc.compressor_info
— Methodcompressor_info(src::Vector{UInt8})
Given a compressed array src
, returns the information about the compression algorithm used in a CompressionInfo
data structure.
Blosc.compressor_library
— Methodcompressor_name(src::Vector{UInt8})
Given a compressed array src
, returns the name (string) of the compression library that was used to generate it. (This is not the same as the name of the compression algorithm.)
Blosc.compressors
— Methodcompressors()
Return the list of compression algorithms in the Blosc library build as an array of strings.
Blosc.compressors_info
— Methodcompressors_info()
Return an array of tuples (compressor name, library name, version number)
for all of the compression libraries included in the Blosc library build.
Blosc.decompress!
— Methoddecompress!(dest::Vector{T}, src::Vector{UInt8})
Like decompress
, but uses a pre-allocated destination buffer dest
, which is resized as needed to store the decompressed data from src
.
Blosc.decompress
— Methoddecompress(T::Type, src::Vector{UInt8})
Return the compressed buffer src
as an array of element type T
.
Blosc.free_resources!
— Methodfree_resources!()
Free possible memory temporaries and thread resources. Use this when you are not going to use Blosc for a long while. In case of problems releasing resources, it returns false
, whereas it returns true
on success.
Blosc.set_blocksize
— Functionset_blocksize(blocksize=0)
Force the use of a specific compression blocksize
. If 0
(the default), an appropriate blocksize will be chosen automatically by blosc.
Blosc.set_compressor
— Methodset_compressor(s::AbstractString)
Set the current compression algorithm to s
. Supported algorithms are specified by Blosc.compressors()
(the default is "blosclz"
).
Throws an ArgumentError
if s
is not the name of a supported algorithm, otherwise returns a nonnegative integer code used internally by Blosc to identify the compressor.
Blosc.set_num_threads
— Functionset_num_threads(n=1)
Tells Blosc to use n
threads for compression/decompression. If this function is never called, the default is 1
(serial). Returns the previous number of threads.
Blosc.sizes
— Methodsizes(buf::Vector{UInt8})
Given a compressed buffer buf
, return a tuple of the (uncompressed, compressed, block)
sizes in bytes.