⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 policy_eg_10.cpp

📁 Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
💻 CPP
字号:
//  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!//[policy_eg_10/*`To understand how the rounding policies for the discrete distributions can be used, we'lluse the 50-sample binomial distribution with a success fraction of 0.5 once again, and calculateall the possible quantiles at 0.05 and 0.95.Begin by including the needed headers:*/#include <iostream>#include <boost/math/distributions/binomial.hpp>/*`Next we'll bring the needed declarations into scope, anddefine distribution types for all the available rounding policies:*/using namespace boost::math::policies;using namespace boost::math;typedef binomial_distribution<            double,             policy<discrete_quantile<integer_round_outwards> > >         binom_round_outwards;typedef binomial_distribution<            double,             policy<discrete_quantile<integer_round_inwards> > >         binom_round_inwards;typedef binomial_distribution<            double,             policy<discrete_quantile<integer_round_down> > >         binom_round_down;typedef binomial_distribution<            double,             policy<discrete_quantile<integer_round_up> > >         binom_round_up;typedef binomial_distribution<            double,             policy<discrete_quantile<integer_round_nearest> > >         binom_round_nearest;typedef binomial_distribution<            double,             policy<discrete_quantile<real> > >         binom_real_quantile;/*`Now let's set to work calling those quantiles:*/int main(){   std::cout <<       "Testing rounding policies for a 50 sample binomial distribution,\n"      "with a success fraction of 0.5.\n\n"      "Lower quantiles are calculated at p = 0.05\n\n"      "Upper quantiles at p = 0.95.\n\n";   std::cout << std::setw(25) << std::right      << "Policy"<< std::setw(18) << std::right       << "Lower Quantile" << std::setw(18) << std::right       << "Upper Quantile" << std::endl;      // Test integer_round_outwards:   std::cout << std::setw(25) << std::right      << "integer_round_outwards"      << std::setw(18) << std::right      << quantile(binom_round_outwards(50, 0.5), 0.05)      << std::setw(18) << std::right      << quantile(binom_round_outwards(50, 0.5), 0.95)       << std::endl;      // Test integer_round_inwards:   std::cout << std::setw(25) << std::right      << "integer_round_inwards"      << std::setw(18) << std::right      << quantile(binom_round_inwards(50, 0.5), 0.05)      << std::setw(18) << std::right      << quantile(binom_round_inwards(50, 0.5), 0.95)       << std::endl;      // Test integer_round_down:   std::cout << std::setw(25) << std::right      << "integer_round_down"      << std::setw(18) << std::right      << quantile(binom_round_down(50, 0.5), 0.05)      << std::setw(18) << std::right      << quantile(binom_round_down(50, 0.5), 0.95)       << std::endl;      // Test integer_round_up:   std::cout << std::setw(25) << std::right      << "integer_round_up"      << std::setw(18) << std::right      << quantile(binom_round_up(50, 0.5), 0.05)      << std::setw(18) << std::right      << quantile(binom_round_up(50, 0.5), 0.95)       << std::endl;      // Test integer_round_nearest:   std::cout << std::setw(25) << std::right      << "integer_round_nearest"      << std::setw(18) << std::right      << quantile(binom_round_nearest(50, 0.5), 0.05)      << std::setw(18) << std::right      << quantile(binom_round_nearest(50, 0.5), 0.95)       << std::endl;      // Test real:   std::cout << std::setw(25) << std::right      << "real"      << std::setw(18) << std::right      << quantile(binom_real_quantile(50, 0.5), 0.05)      << std::setw(18) << std::right      << quantile(binom_real_quantile(50, 0.5), 0.95)       << std::endl;}/*`Which produces the program output:[preTesting rounding policies for a 50 sample binomial distribution,with a success fraction of 0.5.Lower quantiles are calculated at p = 0.05Upper quantiles at p = 0.95.Testing rounding policies for a 50 sample binomial distribution,with a success fraction of 0.5.Lower quantiles are calculated at p = 0.05Upper quantiles at p = 0.95.                   Policy    Lower Quantile    Upper Quantile   integer_round_outwards                18                31    integer_round_inwards                19                30       integer_round_down                18                30         integer_round_up                19                31    integer_round_nearest                19                30                     real            18.701            30.299]*///] ends quickbook import

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -