[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.13 and 1.14

version 1.13, 2019/11/12 12:50:40 version 1.14, 2019/11/12 22:27:04
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.12 2019/11/12 07:47:45 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2018/engine/dist.c,v 1.13 2019/11/12 12:50:40 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
   
Line 2654  int dpm_base_ordtype;;
Line 2654  int dpm_base_ordtype;;
 DMMstack push_schreyer_order(LIST data,DMMstack stack)  DMMstack push_schreyer_order(LIST data,DMMstack stack)
 {  {
   DMMstack t;    DMMstack t;
   int len,i;    DP dp;
     MP mp;
     DMM m0,m1;
     DPM dpm0,dpm1;
     int len,i,nv;
   NODE in,t1;    NODE in,t1;
   LIST l;    LIST l;
   
Line 2666  DMMstack push_schreyer_order(LIST data,DMMstack stack)
Line 2670  DMMstack push_schreyer_order(LIST data,DMMstack stack)
   NEWDMMstack(t);    NEWDMMstack(t);
   t->rank = len;    t->rank = len;
   t->in = (DMM *)MALLOC((len+1)*sizeof(DMM));    t->in = (DMM *)MALLOC((len+1)*sizeof(DMM));
     t->sum = (DMM *)MALLOC((len+1)*sizeof(DMM));
   if ( stack ) {    if ( stack ) {
     MKNODE(t1,data,BDY(stack->obj)); MKLIST(l,t1); t->obj = l;      MKNODE(t1,data,BDY(stack->obj)); MKLIST(l,t1); t->obj = l;
       for ( i = 1; i <= len; i++, in = NEXT(in) ) {
          m1 = t->in[i] = BDY((DPM)BDY(in));
          NEWMP(mp); mp->dl = m1->dl; mp->c = m1->c; NEXT(mp) = 0;
          nv = ((DPM)BDY(in))->nv;
          MKDP(nv,mp,dp); dp->sugar = mp->dl->td;
          m0 = stack->sum[m1->pos]; MKDPM(nv,m0,dpm0);
          mulobjdpm(CO,(Obj)dp,dpm0,&dpm1);
          t->sum[i] = BDY(dpm1);
       }
   } else {    } else {
     MKNODE(t1,data,0); MKLIST(l,t1); t->obj = l;      MKNODE(t1,data,0); MKLIST(l,t1); t->obj = l;
   }      for ( i = 1; i <= len; i++, in = NEXT(in) ) {
   for ( i = 1; i <= len; i++, in = NEXT(in) ) {        t->sum[i] = t->in[i] = BDY((DPM)BDY(in));
     t->in[i] = BDY((DPM)BDY(in));      }
   }    }
   t->next = stack;;    t->next = stack;;
   dpm_ordtype = 3;    dpm_ordtype = 3;

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

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