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

Diff for /OpenXM_contrib2/asir2000/builtin/dp-supp.c between version 1.7 and 1.10

version 1.7, 2000/12/08 02:39:04 version 1.10, 2000/12/11 02:00:40
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/dp-supp.c,v 1.6 2000/12/05 08:29:43 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/builtin/dp-supp.c,v 1.9 2000/12/08 08:26:08 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "base.h"  #include "base.h"
Line 257  DP *rp;
Line 257  DP *rp;
         }          }
 }  }
   
 void dp_ptozp_d(dist,ndist,p,rp)  extern int mpi_mag;
 NODE dist;  extern int PCoeffs;
 int ndist;  
   void dp_ptozp_d(p,rp)
 DP p,*rp;  DP p,*rp;
 {  {
         int i,j,k,l,n,nsep;          int i,j,k,l,n,nsep;
Line 278  DP p,*rp;
Line 279  DP p,*rp;
         N qn,gn;          N qn,gn;
         double get_rtime();          double get_rtime();
         int blen;          int blen;
           NODE dist;
           int ndist;
         double t0;          double t0;
         double t_e,t_d,t_d1,t_c;          double t_e,t_d,t_d1,t_c;
           extern int DP_NFStat;
           extern LIST Dist;
   
         if ( !p )          if ( !p )
                 *rp = 0;                  *rp = 0;
         else {          else {
                   if ( PCoeffs ) {
                           dp_ptozp(p,rp); return;
                   }
                   if ( !Dist || p_mag(BDY(p)->c) <= mpi_mag ) {
                           dist = 0; ndist = 0;
                           if ( DP_NFStat ) fprintf(asir_out,"L");
                   } else {
                           dist = BDY(Dist); ndist = length(dist);
                           if ( DP_NFStat ) fprintf(asir_out,"D");
                   }
                 for ( m = BDY(p), n = 0; m; m = NEXT(m), n++ );                  for ( m = BDY(p), n = 0; m; m = NEXT(m), n++ );
                 nsep = ndist + 1;                  nsep = ndist + 1;
                 if ( n <= nsep ) {                  if ( n <= nsep ) {
Line 346  DP p,*rp;
Line 361  DP p,*rp;
         }          }
 }  }
   
 void dp_ptozp2_d(dist,ndist,p0,p1,hp,rp)  void dp_ptozp2_d(p0,p1,hp,rp)
 NODE dist;  
 int ndist;  
 DP p0,p1;  DP p0,p1;
 DP *hp,*rp;  DP *hp,*rp;
 {  {
         DP t,s,h,r;          DP t,s,h,r;
         MP m,mr,mr0,m0;          MP m,mr,mr0,m0;
   
         addd(CO,p0,p1,&t); dp_ptozp_d(dist,ndist,t,&s);          addd(CO,p0,p1,&t); dp_ptozp_d(t,&s);
         if ( !p0 ) {          if ( !p0 ) {
                 h = 0; r = s;                  h = 0; r = s;
         } else if ( !p1 ) {          } else if ( !p1 ) {
Line 718  P *dnp;
Line 731  P *dnp;
         *head = h; *rest = r; *dnp = c2;          *head = h; *rest = r; *dnp = c2;
 }  }
   
   struct oEGT eg_red_mod;
   
 void _dp_red_mod_destructive(p1,p2,mod,rp)  void _dp_red_mod_destructive(p1,p2,mod,rp)
 DP p1,p2;  DP p1,p2;
 int mod;  int mod;
Line 728  DP *rp;
Line 743  DP *rp;
         MP m;          MP m;
         DP t,s;          DP t,s;
         int c,c1;          int c,c1;
   struct oEGT t0,t1;
   
         n = p1->nv; d1 = BDY(p1)->dl; d2 = BDY(p2)->dl;          n = p1->nv; d1 = BDY(p1)->dl; d2 = BDY(p2)->dl;
         _NEWDL(d,n); d->td = d1->td - d2->td;          _NEWDL(d,n); d->td = d1->td - d2->td;
Line 737  DP *rp;
Line 753  DP *rp;
         _NEWMP(m); m->dl = d; m->c = STOI(mod-c1); NEXT(m) = 0;          _NEWMP(m); m->dl = d; m->c = STOI(mod-c1); NEXT(m) = 0;
         _MKDP(n,m,s); s->sugar = d->td;          _MKDP(n,m,s); s->sugar = d->td;
         _mulmd_dup(mod,s,p2,&t); _free_dp(s);          _mulmd_dup(mod,s,p2,&t); _free_dp(s);
   /* get_eg(&t0); */
         _addmd_destructive(mod,p1,t,rp);          _addmd_destructive(mod,p1,t,rp);
   /* get_eg(&t1); add_eg(&eg_red_mod,&t0,&t1); */
 }  }
   
 /*  /*

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

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