diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 18:24:20 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 18:24:20 +0000 |
commit | 483eb2f56657e8e7f419ab1a4fab8dce9ade8609 (patch) | |
tree | e5d88d25d870d5dedacb6bbdbe2a966086a0a5cf /src/boost/libs/math/test/polynomial_concept_check.cpp | |
parent | Initial commit. (diff) | |
download | ceph-upstream.tar.xz ceph-upstream.zip |
Adding upstream version 14.2.21.upstream/14.2.21upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
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; +} + |