1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
// cs/renderer/numbers/map_value.hh
#ifndef CS_RENDERER_NUMBERS_MAP_VALUE_HH
#define CS_RENDERER_NUMBERS_MAP_VALUE_HH
namespace cs::numbers {
template <class T>
T map_value(T value, T value_range_start, T value_range_end,
T new_range_start, T new_range_end) {
return new_range_start +
((new_range_end - new_range_start) /
(value_range_end - value_range_start)) *
(value - value_range_start);
};
} // namespace cs::numbers
#endif // CS_RENDERER_NUMBERS_MAP_VALUE_HH