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

Diff for /OpenXM_contrib2/asir2000/engine/lmi.c between version 1.3 and 1.4

version 1.3, 2000/08/22 05:04:05 version 1.4, 2001/10/09 01:36:13
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/engine/lmi.c,v 1.2 2000/08/21 08:31:27 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/engine/lmi.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 67  int lm_lazy;
Line 67  int lm_lazy;
   
 static GEN_LM current_mod_lm;  static GEN_LM current_mod_lm;
   
 void random_lm(r)  void random_lm(LM *r)
 LM *r;  
 {  {
         N n,t;          N n,t;
   
Line 79  LM *r;
Line 78  LM *r;
         MKLM(t,*r);          MKLM(t,*r);
 }  }
   
 void ntosparsen(p,bits)  void ntosparsen(N p,N *bits)
 N p;  
 N *bits;  
 {  {
         int l,i,j,nz;          int l,i,j,nz;
         N r;          N r;
Line 101  N *bits;
Line 98  N *bits;
         }          }
 }  }
   
 void setmod_lm(p)  void setmod_lm(N p)
 N p;  
 {  {
         int i;          int i;
   
Line 124  N p;
Line 120  N p;
         }          }
 }  }
   
 void getmod_lm(p)  void getmod_lm(N *p)
 N *p;  
 {  {
         if ( !current_mod_lm )          if ( !current_mod_lm )
                 *p = 0;                  *p = 0;
Line 133  N *p;
Line 128  N *p;
                 *p = current_mod_lm->dense;                  *p = current_mod_lm->dense;
 }  }
   
 void simplm(n,r)  void simplm(LM n,LM *r)
 LM n;  
 LM *r;  
 {  {
         N rem;          N rem;
   
Line 149  LM *r;
Line 142  LM *r;
         }          }
 }  }
   
 void qtolm(q,l)  void qtolm(Q q,LM *l)
 Q q;  
 LM *l;  
 {  {
         N rn;          N rn;
         LM a,b,c;          LM a,b,c;
Line 176  LM *l;
Line 167  LM *l;
   
 #define NZLM(a) ((a)&&(NID(a)==N_LM))  #define NZLM(a) ((a)&&(NID(a)==N_LM))
   
 void addlm(a,b,c)  void addlm(LM a,LM b,LM *c)
 LM a,b;  
 LM *c;  
 {  {
         int s;  
         N t,t1;          N t,t1;
         LM z;          LM z;
   
Line 196  LM *c;
Line 184  LM *c;
         }          }
 }  }
   
 void sublm(a,b,c)  void sublm(LM a,LM b,LM *c)
 LM a,b;  
 LM *c;  
 {  {
         int s;          int s;
         N t,t1,mod;          N t;
         LM z;          LM z;
   
         qtolm((Q)a,&z); a = z; qtolm((Q)b,&z); b = z;          qtolm((Q)a,&z); a = z; qtolm((Q)b,&z); b = z;
Line 223  LM *c;
Line 209  LM *c;
         }          }
 }  }
   
 void mullm(a,b,c)  void mullm(LM a,LM b,LM *c)
 LM a,b;  
 LM *c;  
 {  {
         N t,q,r;          N t,r;
         LM z;          LM z;
   
         qtolm((Q)a,&z); a = z; qtolm((Q)b,&z); b = z;          qtolm((Q)a,&z); a = z; qtolm((Q)b,&z); b = z;
Line 240  LM *c;
Line 224  LM *c;
         }          }
 }  }
   
 void divlm(a,b,c)  void divlm(LM a,LM b,LM *c)
 LM a,b;  
 LM *c;  
 {  {
         LM r;          LM r;
         Q t,m,i;          Q t,m,i;
Line 261  LM *c;
Line 243  LM *c;
         }          }
 }  }
   
 void chsgnlm(a,c)  void chsgnlm(LM a,LM *c)
 LM a,*c;  
 {  {
         LM t;          LM t;
         N s,u;          N s,u;
Line 277  LM a,*c;
Line 258  LM a,*c;
         }          }
 }  }
   
 void pwrlm(a,b,c)  void pwrlm(LM a,Q b,LM *c)
 LM a;  
 Q b;  
 LM *c;  
 {  {
         LM t;          LM t;
         N s;          N s;
Line 296  LM *c;
Line 274  LM *c;
         }          }
 }  }
   
 void pwrlm0(a,n,c)  void pwrlm0(N a,N n,N *c)
 N a,n;  
 N *c;  
 {  {
         N n1,t,t1,t2,r1;          N n1,t,t1,t2,r1;
         int r;          int r;
Line 318  N *c;
Line 294  N *c;
         }          }
 }  }
   
 int cmplm(a,b)  int cmplm(LM a,LM b)
 LM a,b;  
 {  {
         LM z;          LM z;
   
Line 337  LM a,b;
Line 312  LM a,b;
   
 void remn_special(N,N,int,unsigned int ,N *);  void remn_special(N,N,int,unsigned int ,N *);
   
 void gen_simpn(a,b)  void gen_simpn(N a,N *b)
 N a;  
 N *b;  
 {  {
         if ( !current_mod_lm )          if ( !current_mod_lm )
                 error("gen_simpn: current_mod_lm is not set");                  error("gen_simpn: current_mod_lm is not set");
Line 351  N *b;
Line 324  N *b;
                 remn(a,current_mod_lm->dense,b);                  remn(a,current_mod_lm->dense,b);
 }  }
   
 void gen_simpn_force(a,b)  void gen_simpn_force(N a,N *b)
 N a;  
 N *b;  
 {  {
         if ( !current_mod_lm )          if ( !current_mod_lm )
                 error("gen_simpn_force: current_mod_lm is not set");                  error("gen_simpn_force: current_mod_lm is not set");

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

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