Re: [Boost-bugs] [Boost C++ Libraries] #8621: erf function gives wrong results with pgcpp - PGI 10.4

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8621: erf function gives wrong results with pgcpp - PGI 10.4
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-06-03 18:03:00


#8621: erf function gives wrong results with pgcpp - PGI 10.4
---------------------------------------------------------------+------------
  Reporter: Jacques Desfosses <jacques.desfosses@…> | Owner:
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: None
   Version: Boost 1.53.0 | Severity: Problem
Resolution: | Keywords: erf pgi
---------------------------------------------------------------+------------
Description changed by viboes:

Old description:

> Hi experts,
>
> I compiled the following code with pgcpp / PGI 10.4 on linux.
>
> /opt/pgi-10.4/linux86/10.4/bin/pgcpp main.cpp -o erf.exe
> -------------------
> #include <math.h>
> #include <boost/math/special_functions/erf.hpp>
> int main()
> {
> double val(1.0);
> printf("BOOST : %-20.15E\n", boost::math::erf(val));
> printf("MATH_H: %-20.15E\n", erf(val));
> }
> -------------------
>
> Output is as follows:
> BOOST : 8.368481544380342E-01
> MATH_H: 8.427007929497149E-01
>
> The value computed by BOOST is incorrect. The same code will give the
> correct value when compiled with VS2012 with Windows 7-64 bits OS.
>
> My linux box is running SUSE Linux Enterprise Desktop 10 SP2 (x86_64)
>
> Can you please help troubleshoot the problem? Other basic statistic
> functions will also return wrong values such as cdf and quantile of
> standard distribution.
>
> Thanks a lot,
>
> Jacques Desfosses

New description:

 Hi experts,

 I compiled the following code with pgcpp / PGI 10.4 on linux.

 /opt/pgi-10.4/linux86/10.4/bin/pgcpp main.cpp -o erf.exe


 {{{
 #include <math.h>
 #include <boost/math/special_functions/erf.hpp>
 int main()
 {
    double val(1.0);
    printf("BOOST : %-20.15E\n", boost::math::erf(val));
    printf("MATH_H: %-20.15E\n", erf(val));
 }
 }}}



 Output is as follows:

 {{{
 BOOST : 8.368481544380342E-01
 MATH_H: 8.427007929497149E-01
 }}}


 The value computed by BOOST is incorrect. The same code will give the
 correct value when compiled with VS2012 with Windows 7-64 bits OS.

 My linux box is running SUSE Linux Enterprise Desktop 10 SP2 (x86_64)

 Can you please help troubleshoot the problem? Other basic statistic
 functions will also return wrong values such as cdf and quantile of
 standard distribution.

 Thanks a lot,

 Jacques Desfosses

--
-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/8621#comment:1>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:13 UTC