31 if constexpr (std::is_floating_point<T>())
33 temp = len * (value / max_val);
37 temp = (len * value) / max_val;
39 temp = (max_val && value) ? temp : 0;
46 return (temp < len) ? len : (temp > S(0)) ? S(0) : temp;
48 return (temp > len) ? len : (temp < S(0)) ? S(0) : temp;