math: Fix rounding error for 0 in Math::round (#4495)
Thus revert the previous workaround in commitb123bc4a2a
. Fixes #3221. (cherry picked from commit6883325f92
)
This commit is contained in:
parent
0b49d78a3f
commit
26c2e0d09d
|
@ -135,18 +135,20 @@ double Math::rad2deg(double p_y) {
|
||||||
|
|
||||||
double Math::round(double p_val) {
|
double Math::round(double p_val) {
|
||||||
|
|
||||||
if (p_val>0) {
|
if (p_val>=0) {
|
||||||
return ::floor(p_val+0.5);
|
return ::floor(p_val+0.5);
|
||||||
} else {
|
} else {
|
||||||
p_val=-p_val;
|
p_val=-p_val;
|
||||||
return -::floor(p_val+0.5);
|
return -::floor(p_val+0.5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
double Math::asin(double p_x) {
|
double Math::asin(double p_x) {
|
||||||
|
|
||||||
return ::asin(p_x);
|
return ::asin(p_x);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
double Math::acos(double p_x) {
|
double Math::acos(double p_x) {
|
||||||
|
|
||||||
return ::acos(p_x);
|
return ::acos(p_x);
|
||||||
|
|
|
@ -78,10 +78,6 @@ void Range::set_val(double p_val) {
|
||||||
if (p_val<shared->min)
|
if (p_val<shared->min)
|
||||||
p_val=shared->min;
|
p_val=shared->min;
|
||||||
|
|
||||||
//avoid to set -0
|
|
||||||
if (p_val == 0)
|
|
||||||
p_val = 0;
|
|
||||||
|
|
||||||
if (shared->val==p_val)
|
if (shared->val==p_val)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue