]> www.ginac.de Git - ginac.git/blobdiff - ginac/polynomial/cra_garner.cpp
Renamed files *.tcc and *.hpp to *.h.
[ginac.git] / ginac / polynomial / cra_garner.cpp
index b400adbe69fca8d9c278e3f370197faf112aa2e6..647778e336a22ee1802a9e2ff4924bf1beee0b70 100644 (file)
@@ -2,7 +2,8 @@
 #include <cln/modinteger.h>
 #include <vector>
 #include <cstddef>
-#include "cra_garner.hpp"
+#include "cra_garner.h"
+#include "compiler.h"
 
 namespace cln
 {
@@ -73,6 +74,8 @@ mixed_radix_2_ordinary(const vector<cl_I>& mixed_radix_coeffs,
 cl_I integer_cra(const vector<cl_I>& residues,
                 const vector<cl_I>& moduli)
 {
+       if (unlikely(moduli.size() < 2))
+               throw std::invalid_argument("integer_cra: need at least 2 moduli");
 
        vector<cl_MI> recips(moduli.size() - 1);
        compute_recips(recips, moduli);