summaryrefslogtreecommitdiff
path: root/tests/cxx
diff options
context:
space:
mode:
authorMarc Glisse <marc.glisse@inria.fr>2015-11-08 13:11:38 +0100
committerMarc Glisse <marc.glisse@inria.fr>2015-11-08 13:11:38 +0100
commitcae313a4ce290e879b3e39abae867df3ddea2196 (patch)
treecdd9456a52e05a5a187b07f71dbb1e0fdc71e7da /tests/cxx
parent1d7f3e2cc1bc3b6de7e76a7c80bcd00b725b62cc (diff)
downloadgmp-cae313a4ce290e879b3e39abae867df3ddea2196.tar.gz
New C++ function primorial.
Diffstat (limited to 'tests/cxx')
-rw-r--r--tests/cxx/t-ops2.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/cxx/t-ops2.cc b/tests/cxx/t-ops2.cc
index ac8ea0d65..1403b4ab8 100644
--- a/tests/cxx/t-ops2.cc
+++ b/tests/cxx/t-ops2.cc
@@ -158,6 +158,15 @@ void checkz (){
catch (std::domain_error) {}
try { ret=factorial(mpz_class(1)<<300); ASSERT_ALWAYS(0); }
catch (std::bad_alloc) {}
+ ASSERT_ALWAYS(mpz_class::primorial(mpz_class(3))==6);
+ ASSERT_ALWAYS(mpz_class::primorial(mpz_class(2)*2)==6);
+ ASSERT_ALWAYS(mpz_class::primorial(3)==6);
+ ASSERT_ALWAYS(mpz_class::primorial(3ul)==6);
+ ASSERT_ALWAYS(mpz_class::primorial(3.f)==6);
+ ASSERT_ALWAYS(mpz_class::primorial(-mpz_class(3))==1);
+ ASSERT_ALWAYS(mpz_class::primorial(-5)==1);
+ try { ret=primorial(mpz_class(1)<<300); ASSERT_ALWAYS(0); }
+ catch (std::bad_alloc) {}
}
template<class T>