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

Diff for /OpenXM_contrib2/asir2018/engine/dist.c between version 1.10 and 1.11

version 1.10, 2019/10/11 03:45:57 version 1.11, 2019/11/01 04:28:53
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/asir2018/engine/dist.c,v 1.9 2019/09/19 06:29:47 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2018/engine/dist.c,v 1.10 2019/10/11 03:45:57 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
   
Line 3153  int compdpm(VL vl,DPM p1,DPM p2)
Line 3153  int compdpm(VL vl,DPM p1,DPM p2)
   }    }
 }  }
   
   void dpm_removecont2(DPM p1,DPM p2,DPM *r1p,DPM *r2p,Z *contp);
   
 // p = ...+c*<<0,...0:pos>>+...  // p = ...+c*<<0,...0:pos>>+...
 DPM dpm_eliminate_term(DPM a,DPM p,Obj c,int pos)  DPM dpm_eliminate_term(DPM a,DPM p,Obj c,int pos)
 {  {
Line 3160  DPM dpm_eliminate_term(DPM a,DPM p,Obj c,int pos)
Line 3162  DPM dpm_eliminate_term(DPM a,DPM p,Obj c,int pos)
   DL dl;    DL dl;
   DMM m;    DMM m;
   DP f;    DP f;
   DPM a1,p1,r;    DPM a1,p1,r,r1,dmy;
     Z dmyz;
   
   if ( !a ) return 0;    if ( !a ) return 0;
   d0 = 0;    d0 = 0;
Line 3168  DPM dpm_eliminate_term(DPM a,DPM p,Obj c,int pos)
Line 3171  DPM dpm_eliminate_term(DPM a,DPM p,Obj c,int pos)
     if ( m->pos == pos ) {      if ( m->pos == pos ) {
       NEXTMP(d0,d);        NEXTMP(d0,d);
       arf_chsgn(m->c,&d->c);        arf_chsgn(m->c,&d->c);
       if ( !dp_current_spec ) d->dl = m->dl;        if ( !dp_current_spec || !dp_current_spec->module_rank )
           d->dl = m->dl;
       else {        else {
         NEWDL(dl,NV(a));          NEWDL(dl,NV(a));
         _copydl(NV(a),m->dl,dl);          _copydl(NV(a),m->dl,dl);
Line 3181  DPM dpm_eliminate_term(DPM a,DPM p,Obj c,int pos)
Line 3185  DPM dpm_eliminate_term(DPM a,DPM p,Obj c,int pos)
     mulcdpm(CO,c,a,&a1);      mulcdpm(CO,c,a,&a1);
     mulobjdpm(CO,(Obj)f,p,&p1);      mulobjdpm(CO,(Obj)f,p,&p1);
     adddpm(CO,a1,p1,&r);      adddpm(CO,a1,p1,&r);
     return r;      dpm_removecont2(0,r,&dmy,&r1,&dmyz);
       return r1;
   } else    } else
     return a;      return a;
 }  }
Line 3261  void dpm_simplify_syz(LIST s,LIST m,LIST *s1,LIST *m1,
Line 3266  void dpm_simplify_syz(LIST s,LIST m,LIST *s1,LIST *m1,
     }      }
   MKLIST(*s1,t);    MKLIST(*s1,t);
   
   if ( dp_current_spec->module_rank ) {    if ( dp_current_spec && dp_current_spec->module_rank ) {
     new_w = (int *)MALLOC(j*sizeof(int));      new_w = (int *)MALLOC(j*sizeof(int));
     for ( j = 0, i = 1; i <= lm; i++ )      for ( j = 0, i = 1; i <= lm; i++ )
       if ( tab[i] ) { new_w[j++] = dp_current_spec->module_top_weight[i-1]; }        if ( tab[i] ) { new_w[j++] = dp_current_spec->module_top_weight[i-1]; }

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

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