fpq package¶
Submodules¶
fpq.fp module¶
-
fpq.fp.
decode_d3d_snorm_to_fp
(x, *, dtype=<class 'numpy.float32'>, nbits=None)¶ Decode signed normalized integers to floating-points.
- Parameters
x – The type should be np.uint, or an array in np.uint.
dtype – The type should be np.float.
nbits – The number of bits to use.
- Returns
The resulting floating-points.
-
fpq.fp.
decode_ogl_snorm_to_fp
(x, *, dtype=<class 'numpy.float32'>, nbits=None)¶ Decode signed normalized integers to floating-points.
- Parameters
x – The type should be np.uint, or an array in np.uint.
dtype – The type should be np.float.
nbits – The number of bits to use.
- Returns
The resulting floating-points.
-
fpq.fp.
decode_std_snorm_to_fp
(x, *, dtype=<class 'numpy.float32'>, nbits=None)¶ Decode signed normalized integers to floating-points.
- Parameters
x – The type should be np.uint, or an array in np.uint.
dtype – The type should be np.float.
nbits – The number of bits to use.
- Returns
The resulting floating-points.
Examples
>>> fp = np.float32(-1.) >>> enc = encode_fp_to_std_snorm(fp, dtype=np.uint16, nbits=16) >>> dec = decode_std_snorm_to_fp(enc, dtype=np.float32, nbits=16)
>>> fp = np.array([-1.0, -0.5, 0., 0.5, 1.], dtype=np.float32) >>> enc = encode_fp_to_std_snorm(fp, dtype=np.uint16, nbits=16) >>> dec = decode_std_snorm_to_fp(enc, dtype=np.float32, nbits=16)
>>> fp = np.array([[-1.0, -0.5, 0., 0.5, 1.], [1.0, 0.5, 0., -0.5, -1.]], dtype=np.float32) >>> enc = encode_fp_to_std_snorm(fp, dtype=np.uint16, nbits=16) >>> dec = decode_std_snorm_to_fp(enc, dtype=np.float32, nbits=16)
-
fpq.fp.
decode_std_unorm_to_fp
(x, *, dtype=<class 'numpy.float32'>, nbits=None)¶ Decode unsigned normalized integers to floating-points.
- Parameters
x – The type should be np.uint, or an array in np.uint.
dtype – The type should be np.float.
nbits – The number of bits to use.
- Returns
The resulting floating-points.
Examples
>>> fp = np.float32(1.) >>> enc = encode_fp_to_std_unorm(fp, dtype=np.uint16, nbits=16) >>> dec = decode_std_unorm_to_fp(enc, dtype=np.float32, nbits=16)
>>> fp = np.array([0., 0.5, 1.], dtype=np.float32) >>> enc = encode_fp_to_std_unorm(fp, dtype=np.uint16, nbits=16) >>> dec = decode_std_unorm_to_fp(enc, dtype=np.float32, nbits=16)
>>> fp = np.array([[0., 0.5, 1.], [1., 0.5, 0.]], dtype=np.float32) >>> enc = encode_fp_to_std_unorm(fp, dtype=np.uint16, nbits=16) >>> dec = decode_std_unorm_to_fp(enc, dtype=np.float32, nbits=16)
-
fpq.fp.
decode_uint_to_fp
(x, *, nbits=None)¶ Decode unsigned integers to floating-points.
- Parameters
x – The type should be np.uint, or an array in np.uint.
nbits – The number of bits to use.
- Returns
The resulting floating-points.
Examples
>>> fp = np.float32(1.) >>> enc = encode_fp_to_uint(fp, nbits=20) >>> dec = decode_uint_to_fp(enc, nbits=20)
>>> fp = np.array([0., 0.5, 1.], dtype=np.float32) >>> enc = encode_fp_to_uint(fp, nbits=20) >>> dec = decode_uint_to_fp(enc, nbits=20)
>>> fp = np.array([[0., 0.5, 1.], [1., 0.5, 0.]], dtype=np.float32) >>> enc = encode_fp_to_uint(fp, nbits=20) >>> dec = decode_uint_to_fp(enc, nbits=20)
-
fpq.fp.
encode_fp_to_d3d_snorm
(x, *, dtype=<class 'numpy.uint8'>, nbits=None)¶ Encode floating-points to signed normalized integers.
- Parameters
x – The type should be np.float, or an array in np.float.
dtype – The type should be np.uint.
nbits – The number of bits to use.
- Returns
The resulting unsigned normalized integers.
-
fpq.fp.
encode_fp_to_ogl_snorm
(x, *, dtype=<class 'numpy.uint8'>, nbits=None)¶ Encode floating-points to signed normalized integers.
- Parameters
x – The type should be np.float, or an array in np.float.
dtype – The type should be np.uint.
nbits – The number of bits to use.
- Returns
The resulting unsigned normalized integers.
-
fpq.fp.
encode_fp_to_std_snorm
(x, *, dtype=<class 'numpy.uint8'>, nbits=None)¶ Encode floating-points to signed normalized integers.
- Parameters
x – The type should be np.float, or an array in np.float.
dtype – The type should be np.uint.
nbits – The number of bits to use.
- Returns
The resulting unsigned normalized integers.
Examples
>>> fp = np.float32(-1.) >>> enc = encode_fp_to_std_snorm(fp, dtype=np.uint16, nbits=16)
>>> fp = np.array([-1.0, -0.5, 0., 0.5, 1.], dtype=np.float32) >>> enc = encode_fp_to_std_snorm(fp, dtype=np.uint16, nbits=16)
>>> fp = np.array([[-1.0, -0.5, 0., 0.5, 1.], [1.0, 0.5, 0., -0.5, -1.]], dtype=np.float32) >>> enc = encode_fp_to_std_snorm(fp, dtype=np.uint16, nbits=16)
-
fpq.fp.
encode_fp_to_std_unorm
(x, *, dtype=<class 'numpy.uint8'>, nbits=None)¶ Encode floating-points to unsigned normalized integers.
- Parameters
x – The type should be np.float, or an array in np.float.
dtype – The type should be np.uint.
nbits – The number of bits to use.
- Returns
The resulting unsigned normalized integers.
Examples
>>> fp = np.float32(1.) >>> enc = encode_fp_to_std_unorm(fp, dtype=np.uint16, nbits=16)
>>> fp = np.array([0., 0.5, 1.], dtype=np.float32) >>> enc = encode_fp_to_std_unorm(fp, dtype=np.uint16, nbits=16)
>>> fp = np.array([[0., 0.5, 1.], [1., 0.5, 0.]], dtype=np.float32) >>> enc = encode_fp_to_std_unorm(fp, dtype=np.uint16, nbits=16)
-
fpq.fp.
encode_fp_to_uint
(x, *, nbits=None)¶ Encode floating-points to unsigned integers.
- Parameters
x – The type should be np.float, or an array in np.float.
nbits – The number of bits to use.
- Returns
The resulting unsigned integers.
Examples
>>> fp = np.float32(1.) >>> enc = encode_fp_to_uint(fp, nbits=20)
>>> fp = np.array([0., 0.5, 1.], dtype=np.float32) >>> enc = encode_fp_to_uint(fp, nbits=20)
>>> fp = np.array([[0., 0.5, 1.], [1., 0.5, 0.]], dtype=np.float32) >>> enc = encode_fp_to_uint(fp, nbits=20)
fpq.numba_wrapper module¶
-
fpq.numba_wrapper.
avoid_mapping_to_py_types
(name_or_function=None)¶ Avoid mapping to Python types.
-
fpq.numba_wrapper.
avoid_non_supported_types
(name_or_function=None)¶ Avoid non-supported types.
-
fpq.numba_wrapper.
jit
(*args, **kwargs)¶
fpq.quaternion module¶
-
fpq.quaternion.
decode_uint_to_quat
(q, *, dtype=<class 'numpy.float64'>, decoder=<function decode_std_snorm_to_fp>)¶ Decode unsigned integers to Quaternions.
- Parameters
q – Should be represented by uint, or an array of them.
dtype – The type should be floating point types.
decoder – This is a function decodes an unsigned integer to a floating point.
- Returns
The resulting Quaternions.
Examples
>>> q = np.array([1., 0., 0., 0.], dtype=np.float64) >>> enc = encode_quat_to_uint(q, dtype=np.uint64) >>> decode_uint_to_quat(enc, dtype=np.float64)
-
fpq.quaternion.
encode_quat_to_uint
(q, *, dtype=<class 'numpy.uint64'>, encoder=<function encode_fp_to_std_snorm>)¶ Encode Quaternions to unsigned integers.
- Parameters
q – Should be represented by four components of float, or an array of them.
dtype – The type should be unsigned integer types.
encoder – This is a function encodes a floating point to an unsigned integer.
- Returns
The resulting unsigned integers.
Examples
>>> q = np.array([1., 0., 0., 0.], dtype=np.float64) >>> encode_quat_to_uint(q, dtype=np.uint64)
fpq.utils module¶
-
fpq.utils.
get_max_component_indices
(x)¶ Returns the indices of the maximum components.
- Parameters
x – Input array.
- Returns
The resulting indices.
-
fpq.utils.
remap
(x, src_min, src_max, dst_min, dst_max)¶ Maps values from [src_min, src_max] to [dst_min, dst_max].
- Parameters
x – The incoming value to be converted.
src_min – Lower bound of the value current range.
src_max – Upper bound of the value current range.
dst_min – Lower bound of the value target range.
dst_max – Upper bound of the value target range.
- Returns
The resulting value.
-
fpq.utils.
remove_component
(x, *, indices)¶ Removes components at the specified indices.
- Parameters
x – Input array.
indices – Indices refers to components to remove from x.
- Returns
Returns a new array excluded by indices.
-
fpq.utils.
rint
(x, out=None)¶ Wrapper function for numpy.rint.
fpq.vector module¶
-
fpq.vector.
calc_breakdown_of_uint
(dtype, nbits)¶ Calculate a breakdown of an unsigned integer.
-
fpq.vector.
decode_uint_to_vec
(v, *, dtype=<class 'numpy.float64'>, nbits=20, decoder=<function decode_std_snorm_to_fp>)¶ Decode unsigned integers to vectors.
- Parameters
v – Should be represented by uint, or an array of them.
dtype – The type should be floating point types.
nbits – The number of bits to use.
decoder – This is a function decodes an unsigned integer to a floating point.
- Returns
The resulting vectors.
Examples
>>> v = np.array([1., 2., 3.], dtype=np.float64) >>> enc = encode_vec_to_uint(v, dtype=np.uint64, nbits=20) >>> decode_uint_to_vec(enc, dtype=np.float64, nbits=20)
-
fpq.vector.
encode_vec_to_uint
(v, *, dtype=<class 'numpy.uint64'>, nbits=20, encoder=<function encode_fp_to_std_snorm>)¶ Encode vectors to unsigned integers.
- Parameters
v – Should be represented by three components of float, or an array of them.
dtype – The type should be unsigned integer types.
nbits – The number of bits to use.
encoder – This is a function encodes a floating point to an unsigned integer.
- Returns
The resulting unsigned integers.
Examples
>>> v = np.array([1., 2., 3.], dtype=np.float64) >>> encode_vec_to_uint(v, dtype=np.uint64, nbits=20)
-
fpq.vector.
is_valid_format
(dtype_f, dtype_u, nbits)¶
-
fpq.vector.
l2norm
(v)¶ Calculates the L2 norm.