|
Boost : |
From: Christopher Kormanyos (e_float_at_[hidden])
Date: 2021-01-30 15:22:25
>>Â the pow-function pow(scalar, complex) in>> boost/math/cstdfloat/cstdfloat_complex_std.hpp>> get wrong result.
> Thanks Gero,> I am on the go, but later today, I'll add this> as an issue in Git and kick off the discussion> for the fix with the colleagues.
A new issue can be found here, but itis not clear which code example elicitsthe unexpected behavior.
https://github.com/boostorg/math/issues/506
On Thursday, January 28, 2021, 12:55:59 PM GMT+1, Gero Peterhoff via Boost <boost_at_[hidden]> wrote:
Hello,
the pow-function pow(scalar, complex) in boost/math/cstdfloat/cstdfloat_complex_std.hpp get wrong result.
Current implementation:
inline complex<BOOST_CSTDFLOAT_EXTENDED_COMPLEX_FLOAT_TYPE> pow(const BOOST_CSTDFLOAT_EXTENDED_COMPLEX_FLOAT_TYPE& x,
                                const complex<BOOST_CSTDFLOAT_EXTENDED_COMPLEX_FLOAT_TYPE>& a)
{
 return std::exp(a * std::log(x));
}
I think that's correct:
inline complex<BOOST_CSTDFLOAT_EXTENDED_COMPLEX_FLOAT_TYPE> pow(const BOOST_CSTDFLOAT_EXTENDED_COMPLEX_FLOAT_TYPE& x,
                                const complex<BOOST_CSTDFLOAT_EXTENDED_COMPLEX_FLOAT_TYPE>& a)
{
 return std::exp(a * std::log(complex<BOOST_CSTDFLOAT_EXTENDED_COMPLEX_FLOAT_TYPE>(x)));
}
regards
Gero
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk