diff options
Diffstat (limited to 'src/boost/libs/math/test/polynomial_concept_check.cpp')
-rw-r--r-- | src/boost/libs/math/test/polynomial_concept_check.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/boost/libs/math/test/polynomial_concept_check.cpp b/src/boost/libs/math/test/polynomial_concept_check.cpp new file mode 100644 index 00000000..35b5bc33 --- /dev/null +++ b/src/boost/libs/math/test/polynomial_concept_check.cpp @@ -0,0 +1,57 @@ +// Copyright Nick Thompson, 2017 +// 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 <boost/math/concepts/std_real_concept.hpp> +#include <boost/math/tools/polynomial.hpp> +#include <boost/multiprecision/cpp_int.hpp> + +template <class T> +bool check_concepts() +{ + boost::math::tools::polynomial<T> a(2), b(3), c(4); + + a += b; + a -= b; + a *= b; + a /= b; + a %= b; + a = c; + a += b + c; + a += b - c; + a += b * c; + a += b / c; + a += b % c; + + int i = 4; + + a += i; + a -= i; + a *= i; + a /= i; + a %= i; + a += b + i; + a += i + b; + a += b - i; + a += i - b; + a += b * i; + a += i * b; + a += b / i; + a += b % i; + + bool bb = false; + bb |= a == b; + bb |= a != b; + + return bb; +} + +int main() +{ + check_concepts<int>(); + check_concepts<boost::multiprecision::cpp_int>(); + return 0; +} + |