#include <AH/STL/type_traits>
#include <limits.h>
#include <stddef.h>
Go to the source code of this file.
|
| template<size_t Bits_out, size_t Bits_in, class T_out , class T_in > |
| std::enable_if_t<(Bits_out<=Bits_in), T_out > | increaseBitDepthImpl (T_in in) |
| |
| template<size_t Bits_out, size_t Bits_in, class T_out , class T_in > |
| std::enable_if_t<(Bits_out > 2 *Bits_in), T_out > | increaseBitDepthImpl (T_in in) |
| |
| template<size_t Bits_out, size_t Bits_in, class T_out , class T_in > |
| T_out | increaseBitDepth (T_in in) |
| | Increase the bit depth of the given value from Bits_in bits wide to Bits_out bits wide, (approximately) evenly distributing the error across the entire range, such that the error for each element is between -1 and +1.
|
| |
| template<size_t Bits_out, size_t Bits_in, class T_out , class T_in > |
| T_out | increaseBitDepthMiddle (T_in in) |
| | Increase the bit depth of the given value from Bits_in bits wide to Bits_out bits wide, while ensuring that the middle of the input range maps exactly to the middle of the output range, i.e.
|
| |