/[gcl]/gcl/o/gmp_big.c
ViewVC logotype

Diff of /gcl/o/gmp_big.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by camm, Fri Jun 7 20:57:18 2002 UTC revision 1.2.2.1 by camm, Sat Jun 8 16:13:58 2002 UTC
# Line 361  copy_to_big(x) Line 361  copy_to_big(x)
361  int  int
362  obj_to_mpz(object x,MP_INT * y) {  obj_to_mpz(object x,MP_INT * y) {
363    
364    int ret=0;    switch(type_of(x)) {
365      case t_fixnum:
366        mpz_set_si(y,fix(x));
367        break;
368      case t_bignum:
369        if (abs(MP(x)->_mp_size)<=y->_mp_alloc)
370          mpz_set(y,MP(x));
371        else
372          return abs(MP(x)->_mp_size)*sizeof(*y->_mp_d);
373        break;
374      default:
375        FEerror("fixnum or bignum expected",0);
376        break;
377      }
378    
379      return 0;
380    
381    }
382    
383    int
384    obj_to_mpz1(object x,MP_INT * y,void *v) {
385    
386    switch(type_of(x)) {    switch(type_of(x)) {
387    case t_fixnum:    case t_fixnum:
388      mpz_set_si(y,fix(x));      mpz_set_si(y,fix(x));
389      break;      break;
390    case t_bignum:    case t_bignum:
391        y->_mp_alloc=abs(MP(x)->_mp_size);
392        y->_mp_d=v;
393      mpz_set(y,MP(x));      mpz_set(y,MP(x));
394      break;      break;
395    default:    default:
396      FEerror("fixnum or bignum expected",0);      FEerror("fixnum or bignum expected",0);
     ret=1;  
397      break;      break;
398    }    }
399    
400    return ret;    return 0;
401    
402  }  }
403    
404  int  int
405  mpz_to_mpz(MP_INT * x,MP_INT * y) {  mpz_to_mpz(MP_INT * x,MP_INT * y) {
406    
407    int ret=0;    if (abs(x->_mp_size)<=y->_mp_alloc)
408        mpz_set(y,x);
409      else
410        return abs(x->_mp_size)*sizeof(*y->_mp_d);
411    
412      return 0;
413    
414    }
415    
416    int
417    mpz_to_mpz1(MP_INT * x,MP_INT * y,void *v) {
418    
419      y->_mp_alloc=abs(x->_mp_size);
420      y->_mp_d=v;
421    mpz_set(y,x);    mpz_set(y,x);
422    return ret;    return 0;
423    
424  }  }
425    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.2.2.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26