Re: [QNX6][math] Test failures with Dinkumwarelibrary(qcc-3.3.5-cpp)

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [QNX6][math] Test failures with Dinkumwarelibrary(qcc-3.3.5-cpp)

Jim Douglas-2
John Maddock wrote:
> Just to clarify: if the symbol is part of the C++ std then it should be in
> namespace std only when you include the <c*> header.  However, symbols that
> are not part of the C++ std (log1p, expm1 etc) should *never* be in
> namespace std, at least according to the letter of the std.

Tests are compiling OK now, thanks. I shall submit the above to QNX...

[...]
> On second thoughts, don't bother debugging (unless you really want to), just
> run the following short program and I'll compare the output with a "good"
> platform :-)

I ran your program (output file is attached) and it appears to be
working OK. Could it be that the test is malfunctioning?

Jim

(-1,-1) (2.23704,1.06128) (-1,-1)
(-1,-0.984375) (2.24257,1.05235) (-1,-0.984375)
(-1,-0.96875) (2.24818,1.04336) (-1,-0.96875)
(-1,-0.953125) (2.25388,1.03431) (-1,-0.953125)
(-1,-0.9375) (2.25966,1.02518) (-1,-0.9375)
(-1,-0.921875) (2.26553,1.01598) (-1,-0.921875)
(-1,-0.90625) (2.27149,1.00671) (-1,-0.90625)
(-1,-0.890625) (2.27754,0.997359) (-1,-0.890625)
(-1,-0.875) (2.28368,0.987937) (-1,-0.875)
(-1,-0.859375) (2.28991,0.978436) (-1,-0.859375)
(-1,-0.84375) (2.29625,0.968856) (-1,-0.84375)
(-1,-0.828125) (2.30268,0.959194) (-1,-0.828125)
(-1,-0.8125) (2.30922,0.949449) (-1,-0.8125)
(-1,-0.796875) (2.31586,0.939619) (-1,-0.796875)
(-1,-0.78125) (2.32261,0.929701) (-1,-0.78125)
(-1,-0.765625) (2.32947,0.919693) (-1,-0.765625)
(-1,-0.75) (2.33644,0.909594) (-1,-0.75)
(-1,-0.734375) (2.34353,0.899399) (-1,-0.734375)
(-1,-0.71875) (2.35074,0.889108) (-1,-0.71875)
(-1,-0.703125) (2.35808,0.878716) (-1,-0.703125)
(-1,-0.6875) (2.36554,0.868221) (-1,-0.6875)
(-1,-0.671875) (2.37313,0.85762) (-1,-0.671875)
(-1,-0.65625) (2.38086,0.846909) (-1,-0.65625)
(-1,-0.640625) (2.38873,0.836085) (-1,-0.640625)
(-1,-0.625) (2.39674,0.825144) (-1,-0.625)
(-1,-0.609375) (2.40491,0.814083) (-1,-0.609375)
(-1,-0.59375) (2.41323,0.802895) (-1,-0.59375)
(-1,-0.578125) (2.4217,0.791578) (-1,-0.578125)
(-1,-0.5625) (2.43035,0.780127) (-1,-0.5625)
(-1,-0.546875) (2.43916,0.768534) (-1,-0.546875)
(-1,-0.53125) (2.44815,0.756796) (-1,-0.53125)
(-1,-0.515625) (2.45733,0.744906) (-1,-0.515625)
(-1,-0.5) (2.4667,0.732858) (-1,-0.5)
(-1,-0.484375) (2.47628,0.720643) (-1,-0.484375)
(-1,-0.46875) (2.48606,0.708255) (-1,-0.46875)
(-1,-0.453125) (2.49606,0.695684) (-1,-0.453125)
(-1,-0.4375) (2.5063,0.682922) (-1,-0.4375)
(-1,-0.421875) (2.51677,0.669958) (-1,-0.421875)
(-1,-0.40625) (2.5275,0.656782) (-1,-0.40625)
(-1,-0.390625) (2.53849,0.64338) (-1,-0.390625)
(-1,-0.375) (2.54977,0.62974) (-1,-0.375)
(-1,-0.359375) (2.56135,0.615846) (-1,-0.359375)
(-1,-0.34375) (2.57324,0.601682) (-1,-0.34375)
(-1,-0.328125) (2.58547,0.58723) (-1,-0.328125)
(-1,-0.3125) (2.59805,0.572467) (-1,-0.3125)
(-1,-0.296875) (2.61102,0.557371) (-1,-0.296875)
(-1,-0.28125) (2.62441,0.541914) (-1,-0.28125)
(-1,-0.265625) (2.63824,0.526066) (-1,-0.265625)
(-1,-0.25) (2.65255,0.509791) (-1,-0.25)
(-1,-0.234375) (2.66739,0.493048) (-1,-0.234375)
(-1,-0.21875) (2.6828,0.475788) (-1,-0.21875)
(-1,-0.203125) (2.69885,0.457955) (-1,-0.203125)
(-1,-0.1875) (2.71561,0.439478) (-1,-0.1875)
(-1,-0.171875) (2.73317,0.420275) (-1,-0.171875)
(-1,-0.15625) (2.75163,0.400243) (-1,-0.15625)
(-1,-0.140625) (2.77112,0.37925) (-1,-0.140625)
(-1,-0.125) (2.79182,0.357129) (-1,-0.125)
(-1,-0.109375) (2.81396,0.333657) (-1,-0.109375)
(-1,-0.09375) (2.83785,0.308526) (-1,-0.09375)
(-1,-0.078125) (2.86394,0.281296) (-1,-0.078125)
(-1,-0.0625) (2.89291,0.251283) (-1,-0.0625)
(-1,-0.046875) (2.92594,0.217343) (-1,-0.046875)
(-1,-0.03125) (2.96528,0.177234) (-1,-0.03125)
(-1,-0.015625) (3.01676,0.125162) (-1,-0.015625)
(-1,0) (3.14159,0) (-1,-0)
(-1,0.015625) (3.01676,-0.125162) (-1,0.015625)
(-1,0.03125) (2.96528,-0.177234) (-1,0.03125)
(-1,0.046875) (2.92594,-0.217343) (-1,0.046875)
(-1,0.0625) (2.89291,-0.251283) (-1,0.0625)
(-1,0.078125) (2.86394,-0.281296) (-1,0.078125)
(-1,0.09375) (2.83785,-0.308526) (-1,0.09375)
(-1,0.109375) (2.81396,-0.333657) (-1,0.109375)
(-1,0.125) (2.79182,-0.357129) (-1,0.125)
(-1,0.140625) (2.77112,-0.37925) (-1,0.140625)
(-1,0.15625) (2.75163,-0.400243) (-1,0.15625)
(-1,0.171875) (2.73317,-0.420275) (-1,0.171875)
(-1,0.1875) (2.71561,-0.439478) (-1,0.1875)
(-1,0.203125) (2.69885,-0.457955) (-1,0.203125)
(-1,0.21875) (2.6828,-0.475788) (-1,0.21875)
(-1,0.234375) (2.66739,-0.493048) (-1,0.234375)
(-1,0.25) (2.65255,-0.509791) (-1,0.25)
(-1,0.265625) (2.63824,-0.526066) (-1,0.265625)
(-1,0.28125) (2.62441,-0.541914) (-1,0.28125)
(-1,0.296875) (2.61102,-0.557371) (-1,0.296875)
(-1,0.3125) (2.59805,-0.572467) (-1,0.3125)
(-1,0.328125) (2.58547,-0.58723) (-1,0.328125)
(-1,0.34375) (2.57324,-0.601682) (-1,0.34375)
(-1,0.359375) (2.56135,-0.615846) (-1,0.359375)
(-1,0.375) (2.54977,-0.62974) (-1,0.375)
(-1,0.390625) (2.53849,-0.64338) (-1,0.390625)
(-1,0.40625) (2.5275,-0.656782) (-1,0.40625)
(-1,0.421875) (2.51677,-0.669958) (-1,0.421875)
(-1,0.4375) (2.5063,-0.682922) (-1,0.4375)
(-1,0.453125) (2.49606,-0.695684) (-1,0.453125)
(-1,0.46875) (2.48606,-0.708255) (-1,0.46875)
(-1,0.484375) (2.47628,-0.720643) (-1,0.484375)
(-1,0.5) (2.4667,-0.732858) (-1,0.5)
(-1,0.515625) (2.45733,-0.744906) (-1,0.515625)
(-1,0.53125) (2.44815,-0.756796) (-1,0.53125)
(-1,0.546875) (2.43916,-0.768534) (-1,0.546875)
(-1,0.5625) (2.43035,-0.780127) (-1,0.5625)
(-1,0.578125) (2.4217,-0.791578) (-1,0.578125)
(-1,0.59375) (2.41323,-0.802895) (-1,0.59375)
(-1,0.609375) (2.40491,-0.814083) (-1,0.609375)
(-1,0.625) (2.39674,-0.825144) (-1,0.625)
(-1,0.640625) (2.38873,-0.836085) (-1,0.640625)
(-1,0.65625) (2.38086,-0.846909) (-1,0.65625)
(-1,0.671875) (2.37313,-0.85762) (-1,0.671875)
(-1,0.6875) (2.36554,-0.868221) (-1,0.6875)
(-1,0.703125) (2.35808,-0.878716) (-1,0.703125)
(-1,0.71875) (2.35074,-0.889108) (-1,0.71875)
(-1,0.734375) (2.34353,-0.899399) (-1,0.734375)
(-1,0.75) (2.33644,-0.909594) (-1,0.75)
(-1,0.765625) (2.32947,-0.919693) (-1,0.765625)
(-1,0.78125) (2.32261,-0.929701) (-1,0.78125)
(-1,0.796875) (2.31586,-0.939619) (-1,0.796875)
(-1,0.8125) (2.30922,-0.949449) (-1,0.8125)
(-1,0.828125) (2.30268,-0.959194) (-1,0.828125)
(-1,0.84375) (2.29625,-0.968856) (-1,0.84375)
(-1,0.859375) (2.28991,-0.978436) (-1,0.859375)
(-1,0.875) (2.28368,-0.987937) (-1,0.875)
(-1,0.890625) (2.27754,-0.997359) (-1,0.890625)
(-1,0.90625) (2.27149,-1.00671) (-1,0.90625)
(-1,0.921875) (2.26553,-1.01598) (-1,0.921875)
(-1,0.9375) (2.25966,-1.02518) (-1,0.9375)
(-1,0.953125) (2.25388,-1.03431) (-1,0.953125)
(-1,0.96875) (2.24818,-1.04336) (-1,0.96875)
(-1,0.984375) (2.24257,-1.05235) (-1,0.984375)
(-1,1) (2.23704,-1.06128) (-1,1)

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [QNX6][math] Test failures withDinkumwarelibrary(qcc-3.3.5-cpp)

John Maddock
>> I ran your program (output file is attached) and it appears to be
>> working OK. Could it be that the test is malfunctioning?

Weird, I'll rework the test to provide more information, and eliminate the
temporaries, and we'll see what happens.

John.

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [QNX6][math] Test failures withDinkumwarelibrary(qcc-3.3.5-cpp)

John Maddock
In reply to this post by Jim Douglas-2
>> I ran your program (output file is attached) and it appears to be
>> working OK. Could it be that the test is malfunctioning?

That's weird: I've reworked the tests to provide more information, and they
definitely seem to show std::cos malfunctioning: the results from acos match
what I see on other platforms, but cos seems to jump from good to bad
behaviour when the imaginary part is small.

In theory at least a reduced test case is below, please make sure you build
with exactly the same options as the bjam-invoked test cases (looks like
it's "QCC" -V3.3.5,gcc_ntox86_cpp -gstabs+ sourcefile.cpp -lm)

John.

Here's the test case:

#include <boost/math/complex.hpp>
#include <iostream>
#include <iomanip>
int main()
{
std::complex<double> cd(2.62441, 0.541914);
std::complex<double> cd2 = std::cos(cd);
std::cout << cd2 << std::endl;
return 0;
}

which should output:

(-1,-0.28125)

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [QNX6][math] Test failures withDinkumwarelibrary(qcc-3.3.5-cpp)

Jim Douglas-2
John,

<thinking_aloud>

This failure only occurs with the Dinkumware library. All calls to the
trig functions for both GNU & Dinkum C++ libs will be routed through to
the common libm. So, in theory the results will be the same.

Where the difference lies in in the implementation of the C++ "complex"
  classes.

Perhaps we should be running comparative tests on these?

</thinking_aloud>

I'll try the test below later.

Jim

John Maddock wrote:

>>>I ran your program (output file is attached) and it appears to be
>>>working OK. Could it be that the test is malfunctioning?
>
>
> That's weird: I've reworked the tests to provide more information, and they
> definitely seem to show std::cos malfunctioning: the results from acos match
> what I see on other platforms, but cos seems to jump from good to bad
> behaviour when the imaginary part is small.
>
> In theory at least a reduced test case is below, please make sure you build
> with exactly the same options as the bjam-invoked test cases (looks like
> it's "QCC" -V3.3.5,gcc_ntox86_cpp -gstabs+ sourcefile.cpp -lm)
>
> John.
>
> Here's the test case:
>
> #include <boost/math/complex.hpp>
> #include <iostream>
> #include <iomanip>
> int main()
> {
> std::complex<double> cd(2.62441, 0.541914);
> std::complex<double> cd2 = std::cos(cd);
> std::cout << cd2 << std::endl;
> return 0;
> }
>
> which should output:
>
> (-1,-0.28125)

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [QNX6][math] Test failureswithDinkumwarelibrary(qcc-3.3.5-cpp)

John Maddock
> This failure only occurs with the Dinkumware library. All calls to the
> trig functions for both GNU & Dinkum C++ libs will be routed through
> to the common libm. So, in theory the results will be the same.
>
> Where the difference lies in in the implementation of the C++
>  "complex" classes.
>
> Perhaps we should be running comparative tests on these?

We are: the call to cos/sin and tan are to the versions in <complex> not the
C std lib versions (of course internally <complex> is implemented in terms
of calls to -lm but that's a whole other ball game).

John.

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [QNX6][math] Test failures withDinkumwarelibrary(qcc-3.3.5-cpp)

Jim Douglas-2
In reply to this post by John Maddock
John Maddock wrote:
> Here's the test case:
[...]
> which should output:
>
> (-1,-0.28125)

Which it does with the GNU library, but with the Dinkumware library I
get (-1,-0.56883). The developers at QNX are now aware of this problem
and they are investigating.

Thanks for all the test cases.

Jim

_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing
Reply | Threaded
Open this post in threaded view
|

Re: [QNX6][math] Test failureswithDinkumwarelibrary(qcc-3.3.5-cpp)

John Maddock
> Which it does with the GNU library, but with the Dinkumware library I
> get (-1,-0.56883). The developers at QNX are now aware of this problem
> and they are investigating.

Interesting!  Let me know what they find (when they do).

John.
_______________________________________________
Boost-Testing mailing list
[hidden email]
http://lists.boost.org/mailman/listinfo.cgi/boost-testing