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

Diff for /OpenXM_contrib2/asir2000/builtin/bfaux.c between version 1.12 and 1.14

version 1.12, 2016/03/14 04:15:05 version 1.14, 2017/03/29 01:15:14
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2000/builtin/bfaux.c,v 1.11 2015/08/25 18:41:03 ohara Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2000/builtin/bfaux.c,v 1.13 2017/03/09 00:46:44 noro Exp $ */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
   
Line 11  void Pmpfr_y0(), Pmpfr_y1();
Line 11  void Pmpfr_y0(), Pmpfr_y1();
 void Pmpfr_gamma(), Pmpfr_lngamma(), Pmpfr_digamma();  void Pmpfr_gamma(), Pmpfr_lngamma(), Pmpfr_digamma();
 void Pmpfr_floor(), Pmpfr_round(), Pmpfr_ceil();  void Pmpfr_floor(), Pmpfr_round(), Pmpfr_ceil();
 void Prk_ratmat();  void Prk_ratmat();
   void mp_sin(),mp_cos(),mp_tan(),mp_asin(),mp_acos(),mp_atan();
   void mp_sinh(),mp_cosh(),mp_tanh(),mp_asinh(),mp_acosh(),mp_atanh();
   void mp_exp(),mp_log(),mp_pow();
   
 struct ftab bf_tab[] = {  struct ftab bf_tab[] = {
         {"eval",Peval,-2},          {"eval",Peval,-2},
Line 18  struct ftab bf_tab[] = {
Line 21  struct ftab bf_tab[] = {
         {"setbprec",Psetbprec,-1},          {"setbprec",Psetbprec,-1},
         {"setround",Psetround,-1},          {"setround",Psetround,-1},
         {"todouble",Ptodouble,1},          {"todouble",Ptodouble,1},
           {"mpfr_sin",mp_sin,-2},
           {"mpfr_cos",mp_cos,-2},
           {"mpfr_tan",mp_tan,-2},
           {"mpfr_asin",mp_asin,-2},
           {"mpfr_acos",mp_acos,-2},
           {"mpfr_atan",mp_atan,-2},
           {"mpfr_sinh",mp_sinh,-2},
           {"mpfr_cosh",mp_cosh,-2},
           {"mpfr_tanh",mp_tanh,-2},
           {"mpfr_asinh",mp_asinh,-2},
           {"mpfr_acosh",mp_acosh,-2},
           {"mpfr_atanh",mp_atanh,-2},
           {"mpfr_exp",mp_exp,-2},
           {"mpfr_log",mp_log,-2},
           {"mpfr_pow",mp_pow,-3},
         {"mpfr_ai",Pmpfr_ai,-2},          {"mpfr_ai",Pmpfr_ai,-2},
         {"mpfr_zeta",Pmpfr_zeta,-2},          {"mpfr_zeta",Pmpfr_zeta,-2},
         {"mpfr_j0",Pmpfr_j0,-2},          {"mpfr_j0",Pmpfr_j0,-2},
Line 624  void Prk_ratmat(NODE arg,LIST *rp)
Line 642  void Prk_ratmat(NODE arg,LIST *rp)
   
   n = fv->len;    n = fv->len;
   d = mat->len;    d = mat->len;
   num = (struct smat *)MALLOC(n*sizeof(struct smat));    num = (struct smat *)MALLOC(d*sizeof(struct smat));
   for ( i = 0; i < d; i++ ) {    for ( i = 0; i < d; i++ ) {
     num[i].rlen = (int *)MALLOC(n*sizeof(int));      num[i].rlen = (int *)MALLOC_ATOMIC(n*sizeof(int));
     num[i].row = (struct jv **)MALLOC(n*sizeof(struct jv *));      num[i].row = (struct jv **)MALLOC(n*sizeof(struct jv *));
     mati = (MAT)mat->body[i];      mati = (MAT)mat->body[i];
     b = (Obj **)mati->body;      b = (Obj **)mati->body;
Line 634  void Prk_ratmat(NODE arg,LIST *rp)
Line 652  void Prk_ratmat(NODE arg,LIST *rp)
       for ( len = k = 0; k < n; k++ )        for ( len = k = 0; k < n; k++ )
         if ( b[j][k] ) len++;          if ( b[j][k] ) len++;
       num[i].rlen[j] = len;        num[i].rlen[j] = len;
       num[i].row[j] = (struct jv *)MALLOC(len*sizeof(struct jv));        if ( !len )
       for ( s = k = 0; k < n; k++ )          num[i].row[j] = 0;
         if ( b[j][k] ) {        else {
            num[i].row[j][s].j = k;          num[i].row[j] = (struct jv *)MALLOC_ATOMIC((len)*sizeof(struct jv));
            num[i].row[j][s].v = ToReal((Num)b[j][k]);          for ( s = k = 0; k < n; k++ )
            s++;            if ( b[j][k] ) {
         }               num[i].row[j][s].j = k;
                num[i].row[j][s].v = ToReal((Num)b[j][k]);
                s++;
             }
         }
     }      }
   }    }
   f = (double *)MALLOC(n*sizeof(double));    f = (double *)MALLOC_ATOMIC(n*sizeof(double));
   for ( j = 0; j < n; j++ )    for ( j = 0; j < n; j++ )
     f[j] = ToReal((Num)fv->body[j]);      f[j] = ToReal((Num)fv->body[j]);
   w = (double *)MALLOC(n*sizeof(double));    w = (double *)MALLOC_ATOMIC(n*sizeof(double));
   k1 = (double *)MALLOC(n*sizeof(double));    k1 = (double *)MALLOC_ATOMIC(n*sizeof(double));
   k2 = (double *)MALLOC(n*sizeof(double));    k2 = (double *)MALLOC_ATOMIC(n*sizeof(double));
   k3 = (double *)MALLOC(n*sizeof(double));    k3 = (double *)MALLOC_ATOMIC(n*sizeof(double));
   k4 = (double *)MALLOC(n*sizeof(double));    k4 = (double *)MALLOC_ATOMIC(n*sizeof(double));
   k5 = (double *)MALLOC(n*sizeof(double));    k5 = (double *)MALLOC_ATOMIC(n*sizeof(double));
   k6 = (double *)MALLOC(n*sizeof(double));    k6 = (double *)MALLOC(n*sizeof(double));
   nd = 0;    nd = 0;
   switch ( ord ) {    switch ( ord ) {

Legend:
Removed from v.1.12  
changed lines
  Added in v.1.14

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