This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: lrint() incorrect results.


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]