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

Diff for /OpenXM_contrib2/asir2018/engine/Q.c between version 1.17 and 1.18

version 1.17, 2020/01/09 01:47:41 version 1.18, 2020/10/04 03:14:09
Line 1 
Line 1 
 /* $OpenXM: OpenXM_contrib2/asir2018/engine/Q.c,v 1.16 2019/05/22 02:41:16 noro Exp $ */  /* $OpenXM: OpenXM_contrib2/asir2018/engine/Q.c,v 1.17 2020/01/09 01:47:41 noro Exp $ */
 #include "ca.h"  #include "ca.h"
 #include "gmp.h"  #include "gmp.h"
 #include "base.h"  #include "base.h"
Line 17  extern int DP_Print;
Line 17  extern int DP_Print;
   
 void isqrtz(Z a,Z *r);  void isqrtz(Z a,Z *r);
 void bshiftz(Z a,int n,Z *r);  void bshiftz(Z a,int n,Z *r);
   int mpz_inttorat(mpz_t c,mpz_t m,mpz_t b,mpz_t nm,mpz_t dn);
   int generic_gauss_elim_hensel64(MAT mat,MAT *nmmat,Z *dn,int **rindp,int **cindp,DP *mb);
   int find_lhs_and_lu_mod64(mp_limb_t **a,int row,int col,mp_limb_t md,int **rinfo,int **cinfo);
   void solve_by_lu_mod64(mp_limb_t **a,int n,mp_limb_t md,mp_limb_signed_t **b,int l,int normalize);
   
 void *gc_realloc(void *p,size_t osize,size_t nsize)  void *gc_realloc(void *p,size_t osize,size_t nsize)
 {  {
Line 1232  int intmtoratm(MAT mat,Z md,MAT nm,Z *dn)
Line 1236  int intmtoratm(MAT mat,Z md,MAT nm,Z *dn)
     return 0;      return 0;
   row = mat->row; col = mat->col;    row = mat->row; col = mat->col;
   bshiftz(md,1,&t);    bshiftz(md,1,&t);
   isqrt(t,&s);    isqrtz(t,&s);
   bshiftz(s,64,&b);    bshiftz(s,64,&b);
   if ( !b ) b = ONE;    if ( !b ) b = ONE;
   dn0 = ONE;    dn0 = ONE;

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

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