2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-19 04:22:09 +00:00
This commit is contained in:
Nick
2020-05-29 21:50:25 -04:00
committed by GitHub
parent 37fe3f415a
commit 9a45e6a358
13 changed files with 2868 additions and 0 deletions

21
example/agm_example.cpp Normal file
View File

@@ -0,0 +1,21 @@
// (C) Copyright Nick Thompson 2020.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#include <iostream>
#include <boost/math/tools/agm.hpp>
#include <boost/math/constants/constants.hpp>
#include <boost/multiprecision/float128.hpp>
// This example computes the lemniscate constant to high precision using the agm:
using boost::math::tools::agm;
using boost::math::constants::pi;
using boost::multiprecision::float128;
int main() {
using Real = float128;
Real G = agm(sqrt(Real(2)), Real(1));
std::cout << std::setprecision(std::numeric_limits<Real>::max_digits10);
std::cout << " Gauss's lemniscate constant = " << pi<Real>()/G << "\n";
std::cout << "Expected lemniscate constant = " << "2.62205755429211981046483958989111941368275495143162316281682170380079058707041425023029553296142909344613\n";
}