Changeset ee929c9 in tol


Ignore:
Timestamp:
Apr 24, 2012, 5:29:51 PM (15 years ago)
Author:
Víctor de Buen <vdebuen@…>
Branches:
1941-docker-image-to-test, devel, master
Children:
736be83
Parents:
b0b6903
Message:

Faster MatPol algorithm

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@4585 be4846ae-f051-483a-831f-b64e7d08527f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tol/btol/polynomial_type/polgra.cpp

    rb0b6903 ree929c9  
    477477//--------------------------------------------------------------------
    478478{
    479     BMat& M = Mat(Arg(1));
    480     BInt        c = M.Columns();
    481     BInt        i;
    482     contens_.ReallocBuffer(c-1);
    483     contens_.ReallocBuffer(0);
    484     contens_ = BPol::Zero();
    485     for(i=0; i<c; i++)
    486     {
    487         if(M(0,i)!=0) { contens_ += BMonome<BDat>(M(0,i),i); }
    488     }
    489     contens_.Aggregate();
     479  BMat& M = Mat(Arg(1));
     480  BInt c = M.Columns();
     481  BInt i;
     482  contens_.ReallocBuffer(c);
     483  BMonome<BDat>* p = contens_.GetBuffer();
     484  const BDat* m = M.Data().Buffer();
     485  for(i=0; i<c; i++, m++, p++)
     486  {
     487    (*p).PutDegree(i);
     488    (*p).PutCoef(*m);
     489  }
     490  contens_.Aggregate();
    490491}
    491492
Note: See TracChangeset for help on using the changeset viewer.