mirror of
https://github.com/boostorg/math.git
synced 2026-01-19 04:22:09 +00:00
Add multiprecision test to continued fractions.
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include <boost/math/tools/fraction.hpp>
|
||||
#include <iostream>
|
||||
#include <complex>
|
||||
#include <boost/multiprecision/cpp_complex.hpp>
|
||||
|
||||
//[golden_ratio_1
|
||||
template <class T>
|
||||
@@ -114,6 +115,12 @@ inline std::complex<T> gamma_Q_as_fraction(const std::complex<T>& a, const std::
|
||||
return pow(z, a) / (exp(z) *(z - a + T(1) + boost::math::tools::continued_fraction_a(f, eps)));
|
||||
}
|
||||
//]
|
||||
inline boost::multiprecision::cpp_complex_50 gamma_Q_as_fraction(const boost::multiprecision::cpp_complex_50& a, const boost::multiprecision::cpp_complex_50& z)
|
||||
{
|
||||
upper_incomplete_gamma_fract<boost::multiprecision::cpp_complex_50> f(a, z);
|
||||
boost::multiprecision::cpp_complex_50 eps(std::numeric_limits<boost::multiprecision::cpp_complex_50::value_type>::epsilon());
|
||||
return pow(z, a) / (exp(z) * (z - a + 1 + boost::math::tools::continued_fraction_a(f, eps)));
|
||||
}
|
||||
|
||||
|
||||
int main()
|
||||
@@ -136,5 +143,8 @@ int main()
|
||||
std::complex<double> a(3, 3), z(3, 2);
|
||||
std::cout << gamma_Q_as_fraction(a, z) << std::endl;
|
||||
|
||||
boost::multiprecision::cpp_complex_50 am(3, 3), zm(3, 2);
|
||||
std::cout << gamma_Q_as_fraction(am, zm) << std::endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user