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

Diff for /OpenXM_contrib2/asir2018/builtin/parif.c between version 1.1 and 1.3

version 1.1, 2018/09/19 05:45:06 version 1.3, 2019/05/07 02:09:50
Line 1 
Line 1 
 /* $OpenXM$ */  /* $OpenXM: OpenXM_contrib2/asir2018/builtin/parif.c,v 1.2 2018/09/28 08:20:27 noro Exp $ */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
 #include "ox.h"  #include "ox.h"
Line 121  pointer evalparif(FUNC f,NODE arg)
Line 121  pointer evalparif(FUNC f,NODE arg)
   mpfr_func mpfr_function;    mpfr_func mpfr_function;
   V v;    V v;
   
   if ( arg && ARG0(arg) && NID((Num)ARG0(arg)) != N_C    if ( arg && (!ARG0(arg) || (NUM(ARG0(arg)) && NID((Num)ARG0(arg)) != N_C))
     && (mpfr_function = mpfr_search(f->name)) ) {      && (mpfr_function = mpfr_search(f->name)) ) {
     (*mpfr_function)(arg,&ret);      (*mpfr_function)(arg,&ret);
     return (pointer) ret;      return (pointer) ret;
Line 159  pointer evalparif(FUNC f,NODE arg)
Line 159  pointer evalparif(FUNC f,NODE arg)
     Pox_push_cmo(oxarg,&dmy);      Pox_push_cmo(oxarg,&dmy);
   }    }
   MKSTR(name,f->name);    MKSTR(name,f->name);
   STOQ(ac,narg);    STOZ(ac,narg);
   oxarg = mknode(3,ox_pari_stream,name,narg);    oxarg = mknode(3,ox_pari_stream,name,narg);
   Pox_execute_function(oxarg,&dmy);    Pox_execute_function(oxarg,&dmy);
   ox_get_pari_result = 1;    ox_get_pari_result = 1;
 #if defined(VISUAL) || defined(__MINGW32__)  #if defined(VISUAL) || defined(__MINGW32__)
 #define SM_popCMO 262  #define SM_popCMO 262
   STOQ(SM_popCMO,cmd);    STOZ(SM_popCMO,cmd);
   oxarg = mknode(2,ox_pari_stream,cmd);    oxarg = mknode(2,ox_pari_stream,cmd);
   Pox_push_cmd(oxarg,&dmy);    Pox_push_cmd(oxarg,&dmy);
   nd = mknode(1,ox_pari_stream);    nd = mknode(1,ox_pari_stream);

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.3

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