mirror of
https://github.com/ETLCPP/etl.git
synced 2026-04-30 19:09:10 +08:00
Work in progress
This commit is contained in:
parent
83e8473864
commit
e46563fafc
@ -154,7 +154,6 @@ namespace etl
|
||||
T round_half_up_unscaled(T value) ETL_NOEXCEPT
|
||||
{
|
||||
ETL_STATIC_ASSERT(etl::is_integral<T>::value, "Type must be an integral");
|
||||
ETL_STATIC_ASSERT((Scaling == 1) || (((Scaling / 2U) * 2U) == Scaling), "Scaling must be divisible by 2");
|
||||
typedef typename scaled_rounding_t<T>::type scale_t;
|
||||
|
||||
if (Scaling == 1)
|
||||
@ -202,16 +201,20 @@ namespace etl
|
||||
T round_half_down_unscaled(T value) ETL_NOEXCEPT
|
||||
{
|
||||
ETL_STATIC_ASSERT(etl::is_integral<T>::value, "Type must be an integral");
|
||||
ETL_STATIC_ASSERT((Scaling == 1) || (((Scaling / 2U) * 2U) == Scaling), "Scaling must be divisible by 2");
|
||||
typedef typename scaled_rounding_t<T>::type scale_t;
|
||||
|
||||
if (Scaling == 1)
|
||||
{
|
||||
return value;
|
||||
}
|
||||
|
||||
if (value >= 0)
|
||||
{
|
||||
return T((value + scale_t(((Scaling - 1) / 2U))) / scale_t(Scaling));
|
||||
return T((value + scale_t((Scaling - 1) / 2U)) / scale_t(Scaling));
|
||||
}
|
||||
else
|
||||
{
|
||||
return T((value - scale_t(((Scaling - 1) / 2U))) / scale_t(Scaling));
|
||||
return T((value - scale_t((Scaling - 1) / 2U)) / scale_t(Scaling));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user