Example #1
0
 void ARingGF::set_from_mpq(ElementType &result, const mpq_ptr a) const {
   //  std::cerr << "set_from_mpq" << std::endl;
     ElementType n, d;
     set_from_mpz(n, mpq_numref(a));
     set_from_mpz(d, mpq_denref(a));
     divide(result,n,d);
 }
Example #2
0
 /// @Mike: change all uses of set_from_mpq to return bool
 //  or, perhaps, to raise an exception.
 void ARingZZpFFPACK::set_from_mpq(ElementType &result, const mpq_ptr a) const 
 {
   ElementType n, d;
   set_from_mpz(n, mpq_numref(a));
   set_from_mpz(d, mpq_denref(a));
   divide(result, n, d);
 }
Example #3
0
 void set_from_mpq(elem &result, mpq_ptr a) const {
   elem n, d;
   set_from_mpz(n, mpq_numref(a));
   set_from_mpz(d, mpq_denref(a));
   ASSERT(d != 0);  //TODO actually: we need to check for this...
   divide(result,n,d);
 }
Example #4
0
 bool set_from_mpq(elem &result, mpq_ptr a) const
 {
   ElementType n, d;
   set_from_mpz(n, mpq_numref(a));
   set_from_mpz(d, mpq_denref(a));
   if (is_zero(d)) return false;
   divide(result, n, d);
   return true;
 }
Example #5
0
 bool set_from_mpq(ElementType& result, const mpq_ptr a) const
 {
   if (mpz_cmp_si(mpq_denref(a), 1) == 0)
     {
       set_from_mpz(result, mpq_numref(a));
       return true;
     }
   return false;
 }
Example #6
0
 bool promote(const Ring *Rf, const ring_elem f, ElementType& result) const {
     printf("ARingQQGMP::calling promote\n");
     // Rf = ZZ ---> QQ
     if (Rf->is_ZZ())
     {
         set_from_mpz(result, f.get_mpz());
         return true;
     }
     return false;
 }
Example #7
0
 void set_from_mpq(elem &result, mpq_ptr a) const {
   int n, d;
   set_from_mpz(n, mpq_numref(a));
   set_from_mpz(d, mpq_denref(a));
   divide(result,n,d);
 }