Module: Zfp
- Defined in:
- lib/zfp.rb,
lib/zfp/ffi.rb,
lib/zfp/codec.rb,
lib/zfp/field.rb,
lib/zfp/errors.rb,
lib/zfp/packer.rb,
lib/zfp/stream.rb,
lib/zfp/version.rb,
lib/zfp/type_coercion.rb
Defined Under Namespace
Modules: FFI, Packer, TypeCoercion
Classes: Codec, CompressionFailed, DecompressionFailed, Error, Field, InvalidMode, InvalidParams, InvalidShape, InvalidType, LibraryNotFound, PackerError, Stream
Constant Summary
collapse
- VERSION =
"0.1.0"
Class Method Summary
collapse
-
.compress(data, type: nil, shape: nil, mode:, **params) ⇒ Object
-
.decompress(bytes, type:, shape:, mode:, numo: false, **params) ⇒ Object
-
.pack(data, type: nil, shape: nil, mode:, **params) ⇒ Object
-
.unpack(bytes) ⇒ Object
Class Method Details
.compress(data, type: nil, shape: nil, mode:, **params) ⇒ Object
13
14
15
16
17
|
# File 'lib/zfp.rb', line 13
def self.compress(data, type: nil, shape: nil, mode:, **params)
type ||= TypeCoercion.detect_type(data) or raise InvalidType, "type: required for Ruby Array input"
shape ||= TypeCoercion.detect_shape(data) or raise InvalidShape, "shape: required for Ruby Array input"
Codec.new(type: type, shape: shape, mode: mode, **params).compress(data)
end
|
.decompress(bytes, type:, shape:, mode:, numo: false, **params) ⇒ Object
19
20
21
|
# File 'lib/zfp.rb', line 19
def self.decompress(bytes, type:, shape:, mode:, numo: false, **params)
Codec.new(type: type, shape: shape, mode: mode, numo: numo, **params).decompress(bytes)
end
|
.pack(data, type: nil, shape: nil, mode:, **params) ⇒ Object
23
24
25
26
27
28
|
# File 'lib/zfp.rb', line 23
def self.pack(data, type: nil, shape: nil, mode:, **params)
type ||= TypeCoercion.detect_type(data) or raise InvalidType, "type: required for Ruby Array input"
shape ||= TypeCoercion.detect_shape(data) or raise InvalidShape, "shape: required for Ruby Array input"
as_numo = TypeCoercion.numo?(data)
Codec.new(type: type, shape: shape, mode: mode, numo: as_numo, **params).pack(data)
end
|
.unpack(bytes) ⇒ Object
30
31
32
33
|
# File 'lib/zfp.rb', line 30
def self.unpack(bytes)
type, shape, mode, params, numo, compressed = Packer.decode(bytes)
Codec.new(type: type, shape: shape, mode: mode, numo: numo, **params).decompress(compressed)
end
|