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 }
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; }
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; }
template<> Obj GET_INTOBJ(Z_NR<mpz_t> &v) { return INT_mpz(v.getData()); }