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

Diff for /OpenXM_contrib2/asir2000/engine/gfpn.c between version 1.1 and 1.4

version 1.1, 1999/12/03 07:39:08 version 1.4, 2001/10/09 01:36:11
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/asir99/engine/gfpn.c,v 1.1.1.1 1999/11/10 08:12:26 noro Exp $ */  /*
    * Copyright (c) 1994-2000 FUJITSU LABORATORIES LIMITED
    * All rights reserved.
    *
    * FUJITSU LABORATORIES LIMITED ("FLL") hereby grants you a limited,
    * non-exclusive and royalty-free license to use, copy, modify and
    * redistribute, solely for non-commercial and non-profit purposes, the
    * computer program, "Risa/Asir" ("SOFTWARE"), subject to the terms and
    * conditions of this Agreement. For the avoidance of doubt, you acquire
    * only a limited right to use the SOFTWARE hereunder, and FLL or any
    * third party developer retains all rights, including but not limited to
    * copyrights, in and to the SOFTWARE.
    *
    * (1) FLL does not grant you a license in any way for commercial
    * purposes. You may use the SOFTWARE only for non-commercial and
    * non-profit purposes only, such as academic, research and internal
    * business use.
    * (2) The SOFTWARE is protected by the Copyright Law of Japan and
    * international copyright treaties. If you make copies of the SOFTWARE,
    * with or without modification, as permitted hereunder, you shall affix
    * to all such copies of the SOFTWARE the above copyright notice.
    * (3) An explicit reference to this SOFTWARE and its copyright owner
    * shall be made on your publication or presentation in any form of the
    * results obtained by use of the SOFTWARE.
    * (4) In the event that you modify the SOFTWARE, you shall notify FLL by
    * e-mail at risa-admin@sec.flab.fujitsu.co.jp of the detailed specification
    * for such modification or the source code of the modified part of the
    * SOFTWARE.
    *
    * THE SOFTWARE IS PROVIDED AS IS WITHOUT ANY WARRANTY OF ANY KIND. FLL
    * MAKES ABSOLUTELY NO WARRANTIES, EXPRESSED, IMPLIED OR STATUTORY, AND
    * EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS
    * FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT OF THIRD PARTIES'
    * RIGHTS. NO FLL DEALER, AGENT, EMPLOYEES IS AUTHORIZED TO MAKE ANY
    * MODIFICATIONS, EXTENSIONS, OR ADDITIONS TO THIS WARRANTY.
    * UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT,
    * OR OTHERWISE, SHALL FLL BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY
    * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL
    * DAMAGES OF ANY CHARACTER, INCLUDING, WITHOUT LIMITATION, DAMAGES
    * ARISING OUT OF OR RELATING TO THE SOFTWARE OR THIS AGREEMENT, DAMAGES
    * FOR LOSS OF GOODWILL, WORK STOPPAGE, OR LOSS OF DATA, OR FOR ANY
    * DAMAGES, EVEN IF FLL SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF
    * SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY. EVEN IF A PART
    * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY
    * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
    * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
    *
    * $OpenXM: OpenXM_contrib2/asir2000/engine/gfpn.c,v 1.3 2000/08/22 05:04:05 noro Exp $
   */
 #include "ca.h"  #include "ca.h"
 #include "base.h"  #include "base.h"
   
Line 6  void chsgngfpn(GFPN,GFPN *);
Line 54  void chsgngfpn(GFPN,GFPN *);
   
 UP current_mod_gfpn;  UP current_mod_gfpn;
   
 void setmod_gfpn(p)  void setmod_gfpn(P p)
 P p;  
 {  {
         UP t;          UP t;
   
         ptoup(p,&t); uptolmup(t,&current_mod_gfpn);          ptoup(p,&t); uptolmup(t,&current_mod_gfpn);
 }  }
   
 void getmod_gfpn(up)  void getmod_gfpn(UP *up)
 UP *up;  
 {  {
         *up = current_mod_gfpn;          *up = current_mod_gfpn;
 }  }
   
 void ptogfpn(q,l)  void ptogfpn(Obj q,GFPN *l)
 Obj q;  
 GFPN *l;  
 {  {
         UP q1,q2;          UP q1,q2;
   
Line 35  GFPN *l;
Line 79  GFPN *l;
                 error("ptogfpn : invalid argument");                  error("ptogfpn : invalid argument");
 }  }
   
 void gfpntop(q,l)  void gfpntop(GFPN q,P *l)
 GFPN q;  
 P *l;  
 {  {
         if ( !q )          if ( !q )
                 *l = 0;                  *l = 0;
Line 47  P *l;
Line 89  P *l;
                 *l = (P)q;                  *l = (P)q;
 }  }
   
 void simpgfpn(n,r)  void simpgfpn(GFPN n,GFPN *r)
 GFPN n;  
 GFPN *r;  
 {  {
         UP rem,t;          UP rem,t;
   
Line 66  GFPN *r;
Line 106  GFPN *r;
   
 #define NZGFPN(a) ((a)&&(OID(a)==O_N)&&(NID(a)==N_GFPN))  #define NZGFPN(a) ((a)&&(OID(a)==O_N)&&(NID(a)==N_GFPN))
   
 void ntogfpn(a,b)  void ntogfpn(Obj a,GFPN *b)
 Obj a;  
 GFPN *b;  
 {  {
         UP t;          UP t;
         LM lm;          LM lm;
Line 87  GFPN *b;
Line 125  GFPN *b;
                 error("ntogfpn : invalid argument");                  error("ntogfpn : invalid argument");
 }  }
   
 void addgfpn(a,b,c)  void addgfpn(GFPN a,GFPN b,GFPN *c)
 GFPN a,b;  
 GFPN *c;  
 {  {
         UP t,t1,t2;          UP t,t1,t2;
         GFPN z;          GFPN z;
Line 107  GFPN *c;
Line 143  GFPN *c;
         }          }
 }  }
   
 void subgfpn(a,b,c)  void subgfpn(GFPN a,GFPN b,GFPN *c)
 GFPN a,b;  
 GFPN *c;  
 {  {
         UP t,t1,t2;          UP t,t1,t2;
         GFPN z;          GFPN z;
Line 129  GFPN *c;
Line 163  GFPN *c;
   
 extern int up_lazy;  extern int up_lazy;
   
 void mulgfpn(a,b,c)  void mulgfpn(GFPN a,GFPN b,GFPN *c)
 GFPN a,b;  
 GFPN *c;  
 {  {
         UP t,t1,t2;          UP t,t1,t2;
         GFPN z;          GFPN z;
Line 149  GFPN *c;
Line 181  GFPN *c;
         }          }
 }  }
   
 void squaregfpn(a,c)  void squaregfpn(GFPN a,GFPN *c)
 GFPN a;  
 GFPN *c;  
 {  {
         UP t,t1,t2;          UP t,t1,t2;
         GFPN z;          GFPN z;
Line 167  GFPN *c;
Line 197  GFPN *c;
         }          }
 }  }
   
 void divgfpn(a,b,c)  void divgfpn(GFPN a,GFPN b,GFPN *c)
 GFPN a,b;  
 GFPN *c;  
 {  {
         UP t,t1,i,s;          UP t,t1,i,s;
         GFPN z;          GFPN z;
Line 188  GFPN *c;
Line 216  GFPN *c;
         }          }
 }  }
   
 void invgfpn(b,c)  void invgfpn(GFPN b,GFPN *c)
 GFPN b;  
 GFPN *c;  
 {  {
         UP i,t;          UP i,t;
         GFPN z;          GFPN z;
Line 205  GFPN *c;
Line 231  GFPN *c;
         }          }
 }  }
   
 void chsgngfpn(a,c)  void chsgngfpn(GFPN a,GFPN *c)
 GFPN a,*c;  
 {  {
         GFPN z;          GFPN z;
         UP t,t1;          UP t,t1;
Line 221  GFPN a,*c;
Line 246  GFPN a,*c;
         }          }
 }  }
   
 void pwrgfpn(a,b,c)  void pwrgfpn(GFPN a,Q b,GFPN *c)
 GFPN a;  
 Q b;  
 GFPN *c;  
 {  {
         UP t,s;          UP t,s;
         GFPN r;          GFPN r;
Line 246  GFPN *c;
Line 268  GFPN *c;
         }          }
 }  }
   
 int cmpgfpn(a,b)  int cmpgfpn(GFPN a,GFPN b)
 GFPN a,b;  
 {  {
         GFPN z;          GFPN z;
   
Line 263  GFPN a,b;
Line 284  GFPN a,b;
                 return compup(a->body,b->body);                  return compup(a->body,b->body);
 }  }
   
 void randomgfpn(r)  void randomgfpn(GFPN *r)
 GFPN *r;  
 {  {
         int i,d;          int i,d;
         LM *tb;          LM *tb;

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

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