Changeset 80ca3c in git for libpolys/polys/nc/old.gring.cc


Ignore:
Timestamp:
Feb 22, 2012, 9:32:50 PM (12 years ago)
Author:
Oleksandr Motsak <motsak@…>
Branches:
(u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
Children:
64f0ca8d7049bea31d0e107cf5c613e0b6ffa5d3
Parents:
1adae39f1ae788b310c426226af46794834f1fac
git-author:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2012-02-22 21:32:50+01:00
git-committer:
Oleksandr Motsak <motsak@mathematik.uni-kl.de>2012-02-23 20:35:08+01:00
Message:
NC-subsystem preparations

fix: gnc_GB properly
add: gb_hack.h to help handling the circular dependency (GB&NC)
chg: moved stuff around and misc changes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libpolys/polys/nc/old.gring.cc

    r1adae39 r80ca3c  
    2626#include "nc/nc.h"
    2727#include "nc/sca.h"
    28 
     28#include "nc/gb_hack.h"
     29
     30#include "monomials/ring.h"
     31   
    2932#include <coeffs/numbers.h>
    3033#include "coeffrings.h"
     
    121124poly gnc_mm_Mult_pp(const poly m, const poly p, const ring r);
    122125
    123 
    124 // set pProcs for r and global variable p_Procs as for general non-commutative algebras.
    125 void gnc_p_ProcsSet(ring rGR, p_Procs_s* p_Procs);
    126126
    127127/* syzygies : */
     
    27482748
    27492749
     2750
    27502751BOOLEAN gnc_InitMultiplication(ring r, bool bSetupQuotient = false); // just for a moment
    2751 
    2752 
    27532752
    27542753/// returns TRUE if there were errors
     
    30643063  // Setup new NC structure!!!
    30653064  if (r->GetNC() != NULL)
     3065  {
     3066#ifndef NDEBUG
     3067    WarnS("Changing the NC-structure of an existing NC-ring!!!");
     3068#endif   
    30663069    nc_rKill(r);
     3070  }
    30673071
    30683072  r->GetNC() = nc_new;
     
    31713175  }
    31723176  r->GetNC()->COM=COM;
     3177 
    31733178
    31743179  nc_p_ProcsSet(r, r->p_Procs);
    31753180
    31763181  if(bSetupQuotient) // Test me!!!
    3177   {
    3178     nc_SetupQuotient(r);
    3179   }
    3180 
    3181 
    3182   // ???
    3183   if( bNoPluralMultiplication )
    3184     ncInitSpecialPairMultiplication(r);
    3185 
    3186 
    3187   if(!rIsSCA(r) && !bNoFormula)
    3188     ncInitSpecialPowersMultiplication(r);
    3189 
    3190 
     3182    nc_SetupQuotient(r, NULL, false); // no copy!
     3183
     3184 
    31913185//  if (save != currRing)
    31923186//    rChangeCurrRing(save);
     
    31953189}
    31963190
     3191
     3192// set pProcs for r and global variable p_Procs as for general non-commutative algebras.
     3193static inline
    31973194void gnc_p_ProcsSet(ring rGR, p_Procs_s* p_Procs)
    31983195{
     
    32253222#endif
    32263223
    3227 
     3224  // warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object?
     3225  if (rHasLocalOrMixedOrdering(rGR))
     3226    rGR->GetNC()->p_Procs.GB = cast_A_to_vptr(gnc_gr_mora);
     3227  else
     3228    rGR->GetNC()->p_Procs.GB = cast_A_to_vptr(gnc_gr_bba);
     3229
     3230///////////  rGR->GetNC()->p_Procs.GB          = gnc_gr_bba; // bba even for local case!
     3231// old ///    r->GetNC()->GB()            = gnc_gr_bba;
     3232//   rGR->GetNC()->p_Procs.GlobalGB    = gnc_gr_bba;
     3233//   rGR->GetNC()->p_Procs.LocalGB     = gnc_gr_mora;
     3234//  const ring save = currRing; if( save != r ) rChangeCurrRing(r);
     3235//  ideal res = gnc_gr_bba(F, Q, w, hilb, strat/*, r*/);
     3236//  if( save != r )     rChangeCurrRing(save);     return (res);
    32283237
    32293238
     
    32613270    sca_p_ProcsSet(rGR, p_Procs);
    32623271  }
    3263 }
    3264 
     3272
     3273  if( bNoPluralMultiplication )
     3274    ncInitSpecialPairMultiplication(rGR);
     3275
     3276  if(!rIsSCA(rGR) && !bNoFormula)
     3277    ncInitSpecialPowersMultiplication(rGR);
     3278
     3279}
    32653280
    32663281
Note: See TracChangeset for help on using the changeset viewer.