2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-19 04:22:09 +00:00
Files
math/example/policy_eg_2.cpp
2007-08-03 17:03:12 +00:00

45 lines
1.2 KiB
C++

// Copyright John Maddock 2007.
// 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>
//[policy_eg_2
#include <boost/math/special_functions/gamma.hpp>
int main()
{
using namespace boost::math::policies;
errno = 0;
std::cout << "Result of tgamma(30000) is: "
<< boost::math::tgamma(
30000,
make_policy(
domain_error<errno_on_error>(),
pole_error<errno_on_error>(),
overflow_error<errno_on_error>(),
evaluation_error<errno_on_error>()
)
) << std::endl;
// Check errno was set:
std::cout << "errno = " << errno << std::endl;
// and again with evaluation at a pole:
std::cout << "Result of tgamma(-10) is: "
<< boost::math::tgamma(
-10,
make_policy(
domain_error<errno_on_error>(),
pole_error<errno_on_error>(),
overflow_error<errno_on_error>(),
evaluation_error<errno_on_error>()
)
) << std::endl;
// Check errno was set:
std::cout << "errno = " << errno << std::endl;
}
//]