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

Diff for /OpenXM_contrib2/asir2000/builtin/parif.c between version 1.9 and 1.10

version 1.9, 2001/10/03 01:47:30 version 1.10, 2001/10/09 01:36:06
Line 45 
Line 45 
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  *   *
  * $OpenXM: OpenXM_contrib2/asir2000/builtin/parif.c,v 1.8 2001/07/05 09:26:43 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/parif.c,v 1.9 2001/10/03 01:47:30 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 117  GEN ptr;
Line 117  GEN ptr;
 mkprec(p)  mkprec(p)
 int p;  int p;
 {  {
         if ( p > 0 )          if ( p <= 0 )
                 return (int)(p*PREC_CONV+3);                  p = 1;
           return (int)(p*PREC_CONV+3);
 }  }
   
 void Peval(arg,rp)  void Peval(arg,rp)
Line 236  NODE arg;
Line 237  NODE arg;
         if ( !f->f.binf ) {          if ( !f->f.binf ) {
                 sprintf(buf,"pari : %s undefined.",f->name);                  sprintf(buf,"pari : %s undefined.",f->name);
                 error(buf);                  error(buf);
                   /* NOTREACHED */
                   return 0;
         }          }
         switch ( f->type ) {          switch ( f->type ) {
                 case 0: /* in/out : integer */                  case 0: /* in/out : integer */
Line 243  NODE arg;
Line 246  NODE arg;
                         if ( ac > 2 ) {                          if ( ac > 2 ) {
                                 fprintf(stderr,"argument mismatch in %s()\n",NAME(f));                                  fprintf(stderr,"argument mismatch in %s()\n",NAME(f));
                                 error("");                                  error("");
                                   /* NOTREACHED */
                                   return 0;
                         }                          }
                         intarg = !ac ? 0 : QTOS((Q)ARG0(arg));                          intarg = !ac ? 0 : QTOS((Q)ARG0(arg));
                         dmy = (GEN (*)())f->f.binf;                          dmy = (GEN (*)())f->f.binf;
                         ret = (*dmy)(intarg);                          ret = (int)(*dmy)(intarg);
                         STOQ(ret,q);                          STOQ(ret,q);
                         return (pointer)q;                          return (pointer)q;
   
Line 255  NODE arg;
Line 260  NODE arg;
                         if ( !ac || ( ac > 2 ) ) {                          if ( !ac || ( ac > 2 ) ) {
                                 fprintf(stderr,"argument mismatch in %s()\n",NAME(f));                                  fprintf(stderr,"argument mismatch in %s()\n",NAME(f));
                                 error("");                                  error("");
                                   /* NOTREACHED */
                                   return 0;
                         }                          }
                         ltop = avma;                          ltop = avma;
                         ritopa((Obj)ARG0(arg),&a);                          ritopa((Obj)ARG0(arg),&a);
Line 269  NODE arg;
Line 276  NODE arg;
                         if ( !ac || ( ac > 2 ) ) {                          if ( !ac || ( ac > 2 ) ) {
                                 fprintf(stderr,"argument mismatch in %s()\n",NAME(f));                                  fprintf(stderr,"argument mismatch in %s()\n",NAME(f));
                                 error("");                                  error("");
                                   /* NOTREACHED */
                                   return 0;
                         }                          }
                         if ( ac == 1 )                          if ( ac == 1 )
                                 opt = 0;                                  opt = 0;
Line 284  NODE arg;
Line 293  NODE arg;
   
                 default:                  default:
                         error("evalparif : not implemented yet.");                          error("evalparif : not implemented yet.");
                           /* NOTREACHED */
                           return 0;
         }          }
 }  }
   
Line 300  struct pariftab {
Line 311  struct pariftab {
  */   */
   
 struct pariftab pariftab[] = {  struct pariftab pariftab[] = {
 {"allocatemem",allocatemoremem,0},  {"allocatemem",(GEN(*)())allocatemoremem,0},
 {"abs",(GEN (*)())gabs,1},  {"abs",(GEN (*)())gabs,1},
 {"adj",adj,1},  {"adj",adj,1},
 {"arg",garg,1},  {"arg",garg,1},

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

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