VLink  2.0.0
A high-performance communication middleware
vlink::Quantize 命名空间参考

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.

参数
extentPositive symmetric extent.
valueQuantized 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_minMinimum value of the real range.
quant_maxMaximum value of the real range.
valueQuantized 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.

参数
extentPositive symmetric extent.
valueValue 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_minMinimum value of the real range.
quant_maxMaximum value of the real range.
valueValue to quantize.
返回
Quantized value.