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

Diff for /OpenXM_contrib2/asir2000/builtin/gr.c between version 1.62 and 1.72

version 1.62, 2006/12/04 01:40:51 version 1.72, 2016/08/08 07:18:10
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/gr.c,v 1.61 2006/06/09 09:59:12 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/gr.c,v 1.71 2015/08/14 13:51:54 fujimoto Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 53 
Line 53 
 #include "ox.h"  #include "ox.h"
   
 #if defined(__GNUC__)  #if defined(__GNUC__)
 #define INLINE inline  #define INLINE static inline
 #elif defined(VISUAL)  #elif defined(VISUAL) || defined(__MINGW32__)
 #define INLINE __inline  #define INLINE __inline
 #else  #else
 #define INLINE  #define INLINE
Line 95  int DP_NFStat = 0;
Line 95  int DP_NFStat = 0;
 LIST Dist = 0;  LIST Dist = 0;
 int NoGCD = 0;  int NoGCD = 0;
 int GenTrace = 0;  int GenTrace = 0;
   int GenSyz = 0;
 int OXCheck = -1;  int OXCheck = -1;
   int OneZeroHomo = 0;
   int MaxDeg = 0;
   
 int NoSugar = 0;  int NoSugar = 0;
 static int NoCriB = 0;  static int NoCriB = 0;
Line 909  NODE gb_f4_mod(NODE f,int m)
Line 912  NODE gb_f4_mod(NODE f,int m)
   
                 /* XXX free redmat explicitly */                  /* XXX free redmat explicitly */
                 for ( k = 0; k < nred; k++ ) {                  for ( k = 0; k < nred; k++ ) {
                         GC_free(BDY(redmat[k]));                          GCFREE(BDY(redmat[k]));
                         GC_free(redmat[k]);                          GCFREE(redmat[k]);
                 }                  }
   
                 get_eg(&tmp0); add_eg(&eg_elim1,&tmp1,&tmp0);                  get_eg(&tmp0); add_eg(&eg_elim1,&tmp1,&tmp0);
Line 973  NODE gb_f4_mod(NODE f,int m)
Line 976  NODE gb_f4_mod(NODE f,int m)
   
                 /* XXX free spmat[] explicitly */                  /* XXX free spmat[] explicitly */
                 for ( j = 0; j < nsp; j++ ) {                  for ( j = 0; j < nsp; j++ ) {
                         GC_free(spmat[j]);                          GCFREE(spmat[j]);
                 }                  }
         }          }
         if ( DP_Print ) {          if ( DP_Print ) {
Line 1654  void reducebase_dehomo(NODE f,NODE *g)
Line 1657  void reducebase_dehomo(NODE f,NODE *g)
                                 NODE node;                                  NODE node;
   
                                 STOQ(r[i],q);                                  STOQ(r[i],q);
                                 node = mknode(4,0,q,0,0);                                  node = mknode(4,NULLP,q,NULLP,NULLP);
                                 MKLIST(hist,node);                                  MKLIST(hist,node);
                                 MKNODE(TraceList,hist,0);                                  MKNODE(TraceList,hist,0);
                         }                          }
Line 1746  NODE gb(NODE f,int m,NODE subst)
Line 1749  NODE gb(NODE f,int m,NODE subst)
         Max_coef = 0;          Max_coef = 0;
         prev = 1;          prev = 1;
         doing_f4 = 0;          doing_f4 = 0;
           init_denomlist();
         if ( m ) {          if ( m ) {
                 psm = (DP *)MALLOC(pslen*sizeof(DP));                  psm = (DP *)MALLOC(pslen*sizeof(DP));
                 for ( i = 0; i < psn; i++ )                  for ( i = 0; i < psn; i++ )
Line 1806  skip_nf:
Line 1810  skip_nf:
                         get_eg(&tpz0);                          get_eg(&tpz0);
                         prim_part(nf,0,&h);                          prim_part(nf,0,&h);
                         get_eg(&tpz1); add_eg(&eg_pz,&tpz0,&tpz1);                          get_eg(&tpz1); add_eg(&eg_pz,&tpz0,&tpz1);
                           add_denomlist(BDY(h)->c);
                         get_eg(&tnp0);                          get_eg(&tnp0);
                         if ( Demand && skip_nf_flag )                          if ( Demand && skip_nf_flag )
                                 nh = newps_nosave(h,m,subst);                                  nh = newps_nosave(h,m,subst);
Line 2318  void dp_set_flag(Obj name,Obj value)
Line 2323  void dp_set_flag(Obj name,Obj value)
                 GenTrace = v;                  GenTrace = v;
         else if ( !strcmp(n,"OXCheck") )          else if ( !strcmp(n,"OXCheck") )
                 OXCheck = v;                  OXCheck = v;
           else if ( !strcmp(n,"GenSyz") )
                   GenSyz = v;
           else if ( !strcmp(n,"OneZeroHomo") )
                   OneZeroHomo = v;
           else if ( !strcmp(n,"MaxDeg") )
                   MaxDeg = v;
 }  }
   
 void dp_make_flaglist(LIST *list)  void dp_make_flaglist(LIST *list)
Line 2344  void dp_make_flaglist(LIST *list)
Line 2355  void dp_make_flaglist(LIST *list)
         STOQ(DP_NFStat,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"NFStat"); MKNODE(n1,name,n); n = n1;          STOQ(DP_NFStat,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"NFStat"); MKNODE(n1,name,n); n = n1;
         STOQ(OXCheck,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"OXCheck"); MKNODE(n1,name,n); n = n1;          STOQ(OXCheck,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"OXCheck"); MKNODE(n1,name,n); n = n1;
         STOQ(GenTrace,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"GenTrace"); MKNODE(n1,name,n); n = n1;          STOQ(GenTrace,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"GenTrace"); MKNODE(n1,name,n); n = n1;
           STOQ(GenSyz,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"GenSyz"); MKNODE(n1,name,n); n = n1;
           STOQ(MaxDeg,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"MaxDeg"); MKNODE(n1,name,n); n = n1;
           STOQ(OneZeroHomo,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"OneZeroHomo"); MKNODE(n1,name,n); n = n1;
         STOQ(PtozpRA,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"PtozpRA"); MKNODE(n1,name,n); n = n1;          STOQ(PtozpRA,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"PtozpRA"); MKNODE(n1,name,n); n = n1;
         STOQ(ShowMag,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"ShowMag"); MKNODE(n1,name,n); n = n1;          STOQ(ShowMag,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"ShowMag"); MKNODE(n1,name,n); n = n1;
         STOQ(Top,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"Top"); MKNODE(n1,name,n); n = n1;          STOQ(Top,v); MKNODE(n1,v,n); n = n1; MKSTR(name,"Top"); MKNODE(n1,name,n); n = n1;
Line 2561  void _dp_nf_z(NODE b,DP g,DP *ps,int full,int multiple
Line 2575  void _dp_nf_z(NODE b,DP g,DP *ps,int full,int multiple
                                 if ( GenTrace ) {                                  if ( GenTrace ) {
                                         /* u = cr*rp + (-cred)*shift*red */                                          /* u = cr*rp + (-cred)*shift*red */
                                         STOQ((int)BDY(l),cq);                                          STOQ((int)BDY(l),cq);
                                         node = mknode(4,cr,cq,0,0);                                          node = mknode(4,cr,cq,NULLP,NULLP);
                                         mulq(cred,rc,&rcred);                                          mulq(cred,rc,&rcred);
                                         chsgnnum((Num)rcred,(Num *)&mrcred);                                          chsgnnum((Num)rcred,(Num *)&mrcred);
                                         muldc(CO,shift,(P)mrcred,(DP *)&ARG2(node));                                          muldc(CO,shift,(P)mrcred,(DP *)&ARG2(node));

Legend:
Removed from v.1.62  
changed lines
  Added in v.1.72

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