lrint() incorrect results.
Christopher Faylor
cgf-no-personal-reply-please@cygwin.com
Sat Jun 4 17:14:00 GMT 2005
On Sun, Jun 05, 2005 at 02:58:34AM +1000, Luke Hutchinson wrote:
>lrint() does not appear to be working correctly under Cygwin.
>
>The following simple test program compiled with g++ 3.3.3 demonstrates the
>problem.
>
>#include <iostream>
>#include <cmath>
>
>int main(void) {
> std::cout << "lrintf(0.5f)\t" << lrintf(0.5f) << "\n"
> "lrintf(-0.5f)\t" << lrintf(-0.5f) << "\n"
> "lrint(0.5)\t" << lrint(0.5) << "\n"
> "lrint(-0.5)\t" << lrint(0.5) << std::endl;
> return 0;
>}
>
>The output is
>
>lrintf(0.5f) 0
>lrintf(-0.5f) 0
>lrint(0.5) 2
>lrint(-0.5) 2
>
>Running the same code under Linux (fedora core 1) gives the expected
>results of,
>
>lrintf(0.5f) 0
>lrintf(-0.5f) 0
>lrint(0.5) 0
>lrint(-0.5) 0
Seems to be YA newlib problem.
Dave Korn, can I press you into service to look at this since you've
previously demonstrated such amazing adeptness with newlib? :-)
cgf
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
More information about the Cygwin
mailing list