/* * écrit "t" limbs du nombre "n" dans le fichier */ int mpz_fwrite(const mpz_t n, int t, FILE *fichier) { int c; int i; if(t <= n->_mp_size) { c = fwrite(n->_mp_d, sizeof(mp_limb_t), t, fichier); return(c); } else { c=fwrite(n->_mp_d, sizeof(mp_limb_t), n->_mp_size, fichier); mp_limb_t zero = 0; for(i=n->_mp_size ; i_mp_alloc < t) { n->_mp_d = realloc(n->_mp_d, sizeof(mp_limb_t)*t) ; n->_mp_alloc = t; } int i; for(i=0; i_mp_alloc ; i++) n->_mp_d[i] = 0; int c = fread(n->_mp_d, sizeof(mp_limb_t), t, fichier); n->_mp_size = c; return(c); }