Changeset 922962 in git


Ignore:
Timestamp:
Sep 24, 2012, 3:30:48 PM (12 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '4a9821a93ffdc22a6696668bd4f6b8c9de3e6c5f')
Children:
095dee7384980b4721524a28443756f110c5faa7
Parents:
f224d8590b63be01aff8b548ab4f2f5dea43b095
Message:
chg: p_Minus_mm_Mult_qq optim.
Location:
libpolys/polys
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • libpolys/polys/monomials/p_polys.h

    rf224d85 r922962  
    966966                                      const poly spNoether, const ring r)
    967967{
    968 #ifdef HAVE_PLURAL
    969   if (rIsPluralRing(r))
    970   {
    971     p = nc_p_Minus_mm_Mult_qq(p, m, q, lp, lq, spNoether, r);
    972     assume( lp == pLength(p) );
    973     return p;
    974   }
    975 #endif
    976 
    977968  int shorter;
    978969  const poly res = r->p_Procs->p_Minus_mm_Mult_qq(p, m, q, shorter, spNoether, r);
     
    985976static inline poly p_Minus_mm_Mult_qq(poly p, const poly m, const poly q, const ring r)
    986977{
    987 #ifdef HAVE_PLURAL
    988   if (rIsPluralRing(r))
    989   {
    990     int lp, lq = 0;
    991     return nc_p_Minus_mm_Mult_qq(p, m, q, lp, lq, NULL, r);
    992   }
    993 #endif
    994 
    995978  int shorter;
    996979
  • libpolys/polys/nc/nc.h

    rf224d85 r922962  
    227227/// for p_Minus_mm_Mult_qq in pInline2.h
    228228poly nc_p_Minus_mm_Mult_qq(poly p, const poly m, const poly q, int &lp,
    229                                     const int, const poly, const ring r);
     229                                    const poly, const ring r);
    230230
    231231// // for p_Plus_mm_Mult_qq in pInline2.h
  • libpolys/polys/nc/old.gring.cc

    rf224d85 r922962  
    195195
    196196///////////////////////////////////////////////////////////////////////////////
    197 poly nc_p_Minus_mm_Mult_qq(poly p, const poly m, const poly q, int &lp,
    198                                     const int, const poly, const ring r)
     197poly nc_p_Minus_mm_Mult_qq(poly p, const poly m, const poly q, int &shorter,
     198                                    const poly, const ring r)
    199199{
    200200  poly mc  = p_Neg( p_Copy(m, r), r );
     
    202202  p_Delete(&mc, r);
    203203
     204  int org_p=pLength(p);
     205  int org_q=pLength(q);
     206
    204207  p = p_Add_q(p, mmc, r);
    205208
    206   lp = pLength(p); // ring independent!
     209  shorter = pLength(p)-org_p-org_q; // ring independent!
    207210
    208211  return(p);
     
    31793182  p_Procs->p_Mult_mm  = rGR->p_Procs->p_Mult_mm  = gnc_p_Mult_mm;
    31803183  p_Procs->pp_Mult_mm = rGR->p_Procs->pp_Mult_mm = gnc_pp_Mult_mm;
    3181   p_Procs->p_Minus_mm_Mult_qq = rGR->p_Procs->p_Minus_mm_Mult_qq = NULL;
    3182   // gnc_p_Minus_mm_Mult_qq_ign; // should not be used!!!???
    3183 
    3184 
     3184  p_Procs->p_Minus_mm_Mult_qq = rGR->p_Procs->p_Minus_mm_Mult_qq = nc_p_Minus_mm_Mult_qq;
    31853185
    31863186  // non-commutaitve multiplication by monomial from the left
Note: See TracChangeset for help on using the changeset viewer.