mirror of
https://github.com/boostorg/math.git
synced 2026-01-24 06:02:08 +00:00
55 lines
1.2 KiB
C++
55 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)
|
|
|
|
// Note that this file contains quickbook mark-up as well as code
|
|
// and comments, don't change any of the special comment mark-ups!
|
|
|
|
#ifdef _MSC_VER
|
|
#pragma warning (disable : 4189) // 'd' : local variable is initialized but not referenced
|
|
#endif
|
|
|
|
//[policy_ref_snip13
|
|
|
|
#include <boost/math/distributions/cauchy.hpp>
|
|
|
|
namespace myspace{
|
|
|
|
using namespace boost::math::policies;
|
|
|
|
// Define a policy to use, in this case we want all the distribution
|
|
// accessor functions to compile, even if they are mathematically
|
|
// undefined:
|
|
typedef policy<assert_undefined<false> > my_policy;
|
|
|
|
BOOST_MATH_DECLARE_DISTRIBUTIONS(double, my_policy)
|
|
|
|
}
|
|
|
|
// Now we can use myspace::cauchy etc, which will use policy
|
|
// myspace::mypolicy:
|
|
//
|
|
// This compiles but raises a domain error at runtime:
|
|
//
|
|
void test_cauchy()
|
|
{
|
|
try
|
|
{
|
|
double d = mean(myspace::cauchy());
|
|
}
|
|
catch(const std::domain_error& e)
|
|
{
|
|
std::cout << e.what() << std::endl;
|
|
}
|
|
}
|
|
|
|
//]
|
|
|
|
#include <iostream>
|
|
|
|
int main()
|
|
{
|
|
test_cauchy();
|
|
}
|