Changeset 36b1aa in git


Ignore:
Timestamp:
May 11, 2005, 4:36:02 PM (19 years ago)
Author:
Michael Brickenstein <bricken@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'b4f17ed1d25f93d46dbe29e4b499baecc2fd51bb')
Children:
bddc9d2711c370b6792832b479116d50c0ea2273
Parents:
7c20514255fa4f5d6b76e6b96f42af24270fbecf
Message:
*bricken: - shared bucket


git-svn-id: file:///usr/local/Singular/svn/trunk@8156 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
kernel
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/tgb.cc

    r7c2051 r36b1aa  
    55*  Computer Algebra System SINGULAR     *
    66****************************************/
    7 /* $Id: tgb.cc,v 1.14 2005-05-11 10:11:53 bricken Exp $ */
     7/* $Id: tgb.cc,v 1.15 2005-05-11 14:36:01 bricken Exp $ */
    88/*
    99* ABSTRACT: slimgb and F4 implementation
     
    43254325   
    43264326}
    4327  join_simple_reducer::~join_simple_reducer(){
    4328    if(fill_back!=NULL)
    4329    {
    4330      kBucketInit(fill_back,p,p_len);
    4331    }
    4332    fill_back=NULL;
    4333    
    4334 }
     4327 
    43354328void multi_reduce_step(find_erg & erg, red_object* r, calc_dat* c){
    43364329  static int id=0;
     
    43974390  }
    43984391  assume(red_len==pLength(red));
    4399   if (red_c>=AC_NEW_MIN)
    4400     pointer=new join_simple_reducer(red,red_len,r[erg.to_reduce_l].p);
    4401   else
    4402     pointer=new simple_reducer(red,red_len,c);
     4392 
     4393  pointer=new simple_reducer(red,red_len,c);
    44034394
    44044395  if ((!woc) && (!erg.fromS))
     
    44154406};
    44164407
    4417 void join_simple_reducer::target_is_no_sum_reduce(red_object & ro){
    4418   kbTest(ro.bucket);
    4419   ro.sum=new formal_sum_descriptor();
    4420   ro.sum->ac=ac;
    4421   ac->counter++;
    4422   kBucket_pt bucket=ro.bucket;
    4423   poly a1 = pNext(p), lm = kBucketExtractLm(bucket);
    4424   BOOLEAN reset_vec=FALSE;
    4425   number rn;
    4426   assume(a1!=NULL);
    4427   number an = pGetCoeff(p), bn = pGetCoeff(lm);
    4428   lm->next=NULL;
    4429   int ct = ksCheckCoeff(&an, &bn);
    4430   ro.sum->c_ac=nNeg(bn);
    4431   ro.sum->c_my=an;
    4432   assume(nIsZero(nAdd(nMult(ro.sum->c_my,lm->coef),nMult(p->coef,ro.sum->c_ac) )));
    4433   if (p_GetComp(p, bucket->bucket_ring) != p_GetComp(lm, bucket->bucket_ring))
    4434   {
    4435     p_SetCompP(a1, p_GetComp(lm, bucket->bucket_ring), bucket->bucket_ring);
    4436     reset_vec = TRUE;
    4437     p_SetComp(lm, p_GetComp(p, bucket->bucket_ring), bucket->bucket_ring);
    4438     p_Setm(lm, bucket->bucket_ring);
    4439   }
    4440 
    4441 
    4442  
    4443 
    4444   p_DeleteLm(&lm, bucket->bucket_ring);
    4445   if (reset_vec) p_SetCompP(a1, 0, bucket->bucket_ring);
    4446   kbTest(bucket);
    4447 
    4448 }
     4408
    44494409
    44504410  reduction_accumulator::reduction_accumulator(poly p, int p_len, poly high_to){
     
    44694429  }
    44704430void simple_reducer:: pre_reduce(red_object* r, int l, int u){}
    4471 void join_simple_reducer:: pre_reduce(red_object* r, int l, int u){
    4472   for(int i=l;i<=u;i++)
    4473     {
    4474       if (r[i].sum){
    4475         if(r[i].sum->ac->counter<=AC_FLATTEN) r[i].flatten();
    4476        
    4477       }
    4478     }
    4479 }
     4431
  • kernel/tgb_internal.h

    r7c2051 r36b1aa  
    55*  Computer Algebra System SINGULAR     *
    66****************************************/
    7 /* $Id: tgb_internal.h,v 1.5 2005-05-11 10:11:54 bricken Exp $ */
     7/* $Id: tgb_internal.h,v 1.6 2005-05-11 14:36:02 bricken Exp $ */
    88/*
    99 * ABSTRACT: tgb internal .h file
     
    247247  virtual void target_is_no_sum_reduce(red_object & ro);
    248248};
    249 class join_simple_reducer:public simple_reducer{
    250  public:
    251   join_simple_reducer(poly p, int p_len, poly high_to):simple_reducer(p,p_len){
    252     ac=new reduction_accumulator( p, p_len, high_to);
    253    
    254    
    255   }
    256     ~join_simple_reducer();
    257    void pre_reduce(red_object* r, int l, int u);
    258   void target_is_no_sum_reduce(red_object & ro);
    259   reduction_accumulator* ac;
    260 };
     249
    261250//class sum_canceling_reducer:public reduction_step {
    262251//  void reduce(red_object* r, int l, int u);
Note: See TracChangeset for help on using the changeset viewer.