On 2015-05-14 06:00, tkreuzer@svn.reactos.org wrote:
- int sign = (copysignf(1, in) < 0);
- int sign = (in < 0);
- if (copysignf(1.0f, value) < 0.0f)
- if (value < 0.0f) ++idx;
I believe the behavior would be different here for negative zero: copysignf(1.0f, -0.0f) should be < 0.0f -0.0f should be == 0.0f
Maybe that's the reason for having these calls?
Judging by the involved macro, if -0.0 is not < 0, then the old code had exactly the same bug.
On 14 May 2015 at 14:50, Thomas Faber thomas.faber@reactos.org wrote:
On 2015-05-14 06:00, tkreuzer@svn.reactos.org wrote:
- int sign = (copysignf(1, in) < 0);
- int sign = (in < 0);
- if (copysignf(1.0f, value) < 0.0f)
- if (value < 0.0f) ++idx;
I believe the behavior would be different here for negative zero: copysignf(1.0f, -0.0f) should be < 0.0f -0.0f should be == 0.0f
Maybe that's the reason for having these calls?
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Yes it did. Except that macro was a ROS-Diff in the first place ;)
On 2015-05-14 11:12, David Quintana (gigaherz) wrote:
Judging by the involved macro, if -0.0 is not < 0, then the old code had exactly the same bug.
On 14 May 2015 at 14:50, Thomas Faber thomas.faber@reactos.org wrote:
On 2015-05-14 06:00, tkreuzer@svn.reactos.org wrote:
- int sign = (copysignf(1, in) < 0);
- int sign = (in < 0);
- if (copysignf(1.0f, value) < 0.0f)
- if (value < 0.0f) ++idx;
I believe the behavior would be different here for negative zero: copysignf(1.0f, -0.0f) should be < 0.0f -0.0f should be == 0.0f
Maybe that's the reason for having these calls?
ok, I'll bring it back after some cleanup.
Am 14.05.2015 um 18:18 schrieb Thomas Faber:
Yes it did. Except that macro was a ROS-Diff in the first place ;)
On 2015-05-14 11:12, David Quintana (gigaherz) wrote:
Judging by the involved macro, if -0.0 is not < 0, then the old code had exactly the same bug.
On 14 May 2015 at 14:50, Thomas Faber thomas.faber@reactos.org wrote:
On 2015-05-14 06:00, tkreuzer@svn.reactos.org wrote:
- int sign = (copysignf(1, in) < 0);
- int sign = (in < 0);
- if (copysignf(1.0f, value) < 0.0f)
- if (value < 0.0f) ++idx;
I believe the behavior would be different here for negative zero: copysignf(1.0f, -0.0f) should be < 0.0f -0.0f should be == 0.0f
Maybe that's the reason for having these calls?
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev