Esempio n. 1
0
template<> Obj GET_INTOBJ(Z_NR<double> &v) {
  mpz_t z;
  mpz_init2 (z, 8*sizeof(double)+1);
  mpz_set_d(z,v.getData());
  Obj o = INT_mpz(z);
  mpz_clear(z);
  return o;
}
Esempio n. 2
0
template<> Obj GET_INTOBJ(Z_NR<long> &v) {
  mpz_t z;
  mpz_init2 (z, 8*sizeof(long)+1);
  mpz_set_si(z,v.getData());
  Obj o = INT_mpz(z);
  mpz_clear(z);
  return o;
}
Esempio n. 3
0
template<> Obj GET_INTOBJ(Z_NR<mpz_t> &v) {
#ifdef FPLLL_VERSION
  mpz_t z;
  mpz_init2 (z, 8*sizeof(long)+1);
  v.get_mpz(z);
  Obj o = INT_mpz(z);
  mpz_clear(z);
  return o;
#else
  return INT_mpz(v.getData());
#endif
}
Esempio n. 4
0
template<> void SET_INTOBJ(Z_NR<mpz_t> &v, Obj z) {
  if (IS_INTOBJ(z))
    v = INT_INTOBJ(z);
  else
#ifdef FPLLL_VERSION
  {
    mpz_t zz;
    mpz_init(zz);
    mpz_set(zz, mpz_MPZ(MPZ_LONGINT(z)));
    v = zz;
    mpz_clear(zz);
  }
#else
    mpz_set(v.getData(), mpz_MPZ(MPZ_LONGINT(z)));
#endif    
}
Esempio n. 5
0
void SET_Z(Integer &s, const Z_NR<long> &t)
{
  s = t.getData();
}
Esempio n. 6
0
void SET_Z(Integer &s, const Z_NR<double> &t)
{
  s = t.getData();
}
Esempio n. 7
0
template<> Obj GET_INTOBJ(Z_NR<mpz_t> &v) {
  return INT_mpz(v.getData());
}
Esempio n. 8
0
template<> void SET_INTOBJ(Z_NR<mpz_t> &v, Obj z) {
  if (IS_INTOBJ(z))
    v = INT_INTOBJ(z);
  else
    mpz_set(v.getData(), mpz_MPZ(MPZ_LONGINT(z)));
}