При использовании математических констант при выбранной вами фиксированной точности в нешаблонный код можно просто добавить декларацию<usingnamespace
>, например,<usingnamespace
boost::math::double_constants
>, сделать константы правильной точности для вашего кода видимыми в текущем объеме, а затем использовать каждую константув качестве простой переменной — без скобок.:
#include <boost/math/constants/constants.hpp>
double area(double r)
{
using namespace boost::math::double_constants;
return pi * r * r;
}
Если бы наша функция была написана как взятие<float
>, а не<double
>, мы могли бы написать вместо этого:
#include <boost/math/constants/constants.hpp>
float area(float r)
{
using namespace boost::math::float_constants;
return pi * r * r;
}
Аналогично, константы, подходящие для использования с точностью<long
double
>, доступны в пространстве имен<boost::math::long_double_constants
>.
Полный список доступных констант можно посмотреть по адресуmath_toolkit.constants.
Некоторые примеры использования констант находятся наконстантах_eg1.