[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.2 and 1.5

version 1.2, 2000/08/21 08:31:27 version 1.5, 2017/01/08 03:05:39
Line 23 
Line 23 
  * shall be made on your publication or presentation in any form of the   * shall be made on your publication or presentation in any form of the
  * results obtained by use of the SOFTWARE.   * results obtained by use of the SOFTWARE.
  * (4) In the event that you modify the SOFTWARE, you shall notify FLL by   * (4) In the event that you modify the SOFTWARE, you shall notify FLL by
  * e-mail at risa-admin@flab.fujitsu.co.jp of the detailed specification   * 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   * for such modification or the source code of the modified part of the
  * SOFTWARE.   * SOFTWARE.
  *   *
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.1.1.1 1999/12/03 07:39:08 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/engine/lmi.c,v 1.4 2001/10/09 01:36:13 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;
       Q q;
   
         if ( !current_mod_lm )          if ( !current_mod_lm )
                 current_mod_lm = (GEN_LM)MALLOC(sizeof(struct oGEN_LM));                  current_mod_lm = (GEN_LM)MALLOC(sizeof(struct oGEN_LM));
Line 122  N p;
Line 119  N p;
                         current_mod_lm->id = UP2_SPARSE; /* XXX */                          current_mod_lm->id = UP2_SPARSE; /* XXX */
                 }                  }
         }          }
       setmod_lf(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 130  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 144  LM *r;
         }          }
 }  }
   
 void qtolm(q,l)  void simplm_force(LM n,LM *r)
 Q q;  
 LM *l;  
 {  {
           N rem;
   
           if ( !n )
                   *r = 0;
           else if ( NID(n) != N_LM )
                   *r = n;
           else {
                   gen_simpn_force(n->body,&rem);
                   MKLM(rem,*r);
           }
   }
   
   
   void qtolm(Q q,LM *l)
   {
         N rn;          N rn;
         LM a,b,c;          LM a,b,c;
   
Line 176  LM *l;
Line 184  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 201  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 226  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 241  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 260  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 275  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 291  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 311  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 329  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 341  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.2  
changed lines
  Added in v.1.5

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