Stateless linear quantisation helpers.
更多...
|
| template<typename QuantT , typename MinT , typename MaxT , typename ValueT > |
| QuantT | encode (MinT quant_min, MaxT quant_max, ValueT value) noexcept |
| | Quantizes a value from a real range into an integral type. 更多...
|
| |
| template<typename ReturnT , typename MinT , typename MaxT , typename ValueT > |
| ReturnT | decode (MinT quant_min, MaxT quant_max, ValueT value) noexcept |
| | Dequantizes an integral value into a real range. 更多...
|
| |
| template<typename QuantT , typename ExtentT , typename ValueT > |
| QuantT | encode (ExtentT extent, ValueT value) noexcept |
| | Quantizes a value from [-extent,+extent] into a signed integral type. 更多...
|
| |
| template<typename ReturnT , typename ExtentT , typename ValueT > |
| ReturnT | decode (ExtentT extent, ValueT value) noexcept |
| | Dequantizes a signed integral value from [-extent,+extent]. 更多...
|
| |
Stateless linear quantisation helpers.
◆ decode() [1/2]
template<typename ReturnT , typename ExtentT , typename ValueT >
| ReturnT vlink::Quantize::decode |
( |
ExtentT |
extent, |
|
|
ValueT |
value |
|
) |
| |
|
inlinenoexcept |
Dequantizes a signed integral value from [-extent,+extent].
Equivalent to decode<ReturnT>(-extent, extent, value), but avoids the generic min/max mapping setup for symmetric extent ranges.
- 参数
-
| extent | Positive symmetric extent. |
| value | Quantized value. |
- 返回
- Dequantized value, or
0 for invalid extent.
◆ decode() [2/2]
template<typename ReturnT , typename MinT , typename MaxT , typename ValueT >
| ReturnT vlink::Quantize::decode |
( |
MinT |
quant_min, |
|
|
MaxT |
quant_max, |
|
|
ValueT |
value |
|
) |
| |
|
inlinenoexcept |
Dequantizes an integral value into a real range.
- 参数
-
| quant_min | Minimum value of the real range. |
| quant_max | Maximum value of the real range. |
| value | Quantized value. |
- 返回
- Dequantized value.
◆ encode() [1/2]
template<typename QuantT , typename ExtentT , typename ValueT >
| QuantT vlink::Quantize::encode |
( |
ExtentT |
extent, |
|
|
ValueT |
value |
|
) |
| |
|
inlinenoexcept |
Quantizes a value from [-extent,+extent] into a signed integral type.
Equivalent to encode<QuantT>(-extent, extent, value), but avoids the generic min/max mapping setup for symmetric extent ranges.
- 参数
-
| extent | Positive symmetric extent. |
| value | Value to quantize. |
- 返回
- Quantized value, or
0 for invalid extent / NaN input.
◆ encode() [2/2]
template<typename QuantT , typename MinT , typename MaxT , typename ValueT >
| QuantT vlink::Quantize::encode |
( |
MinT |
quant_min, |
|
|
MaxT |
quant_max, |
|
|
ValueT |
value |
|
) |
| |
|
inlinenoexcept |
Quantizes a value from a real range into an integral type.
Details
- 参数
-
| quant_min | Minimum value of the real range. |
| quant_max | Maximum value of the real range. |
| value | Value to quantize. |
- 返回
- Quantized value.