...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
#include <boost/math/special_functions/cos_pi.hpp>
namespace boost{ namespace math{ template <class T> calculated-result-type cos_pi(T x); template <class T, class Policy> calculated-result-type cos_pi(T x, const Policy&); }} // namespaces
Returns the cosine of πx.
The return type of this function is computed using the result
type calculation rules: the return is double
when x is an integer type and T otherwise.
The final Policy argument is optional and can be used to control the behaviour of the function: how it handles errors, what level of precision to use etc. Refer to the policy documentation for more details.
This function performs exact all-integer arithmetic argument reduction before computing the cosine of πx.
Table 6.80. Error rates for cos_pi
GNU C++ version 7.1.0 |
GNU C++ version 7.1.0 |
Sun compiler version 0x5150 |
Microsoft Visual C++ version 14.1 |
|
---|---|---|---|---|
sin_pi and cos_pi |
Max = 0ε (Mean = 0ε) |
Max = 0.991ε (Mean = 0.302ε) |
Max = 0.991ε (Mean = 0.302ε) |
Max = 0.996ε (Mean = 0.284ε) |
sin_pi and cos_pi near integers and half integers |
Max = 0ε (Mean = 0ε) |
Max = 0.976ε (Mean = 0.28ε) |
Max = 0.976ε (Mean = 0.28ε) |
Max = 0.996ε (Mean = 0.298ε) |