[BACK]Return to bf.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / engine

Diff for /OpenXM_contrib2/asir2000/engine/bf.c between version 1.9 and 1.10

version 1.9, 2015/08/06 00:43:20 version 1.10, 2015/08/06 09:12:29
Line 1 
Line 1 
 /*  /*
  * $OpenXM: OpenXM_contrib2/asir2000/engine/bf.c,v 1.8 2015/08/05 03:46:35 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/engine/bf.c,v 1.9 2015/08/06 00:43:20 noro Exp $
  */   */
 #include "ca.h"  #include "ca.h"
 #include "base.h"  #include "base.h"
Line 172  void subbf(Num a,Num b,Num *c)
Line 172  void subbf(Num a,Num b,Num *c)
   } else { /* NID(b)==N_B */    } else { /* NID(b)==N_B */
     switch ( NID(a) ) {      switch ( NID(a) ) {
     case N_Q:      case N_Q:
       mpfr_init2(s,BFPREC(b));  
       mpfr_init2(r,BFPREC(b));        mpfr_init2(r,BFPREC(b));
       if ( INT((Q)a) ) {        if ( INT((Q)a) ) {
         z = ztogz((Q)a);          z = ztogz((Q)a);
         mpfr_sub_z(s,((BF)b)->body,z->body,MPFR_RNDN);          mpfr_sub_z(r,((BF)b)->body,z->body,MPFR_RNDN);
       } else {        } else {
         q = qtogq((Q)a);          q = qtogq((Q)a);
         mpfr_sub_q(s,((BF)b)->body,q->body,MPFR_RNDN);          mpfr_sub_q(r,((BF)b)->body,q->body,MPFR_RNDN);
       }        }
       mpfr_neg(r,s,MPFR_RNDN);        mpfr_neg(r,r,MPFR_RNDN);
       break;        break;
     case N_R:      case N_R:
       /* double precision = 53 */        /* double precision = 53 */

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>