 |
My Project
debian-1:4.1.1-p2+ds-4build2
|
#include <ncSAMult.h>
|
| CPowerMultiplier (ring r) |
|
virtual | ~CPowerMultiplier () |
|
CSpecialPairMultiplier * | GetPair (int i, int j) const |
|
CSpecialPairMultiplier *& | GetPair (int i, int j) |
|
virtual poly | MultiplyEE (const CExponent expLeft, const CExponent expRight) |
|
virtual poly | MultiplyME (const poly pMonom, const CExponent expRight) |
|
virtual poly | MultiplyEM (const CExponent expLeft, const poly pMonom) |
|
poly | MultiplyPE (const poly pPoly, const CExponent expRight) |
|
poly | MultiplyEP (const CExponent expLeft, const poly pPoly) |
|
poly | MultiplyPEDestroy (poly pPoly, const CExponent expRight) |
|
poly | MultiplyEPDestroy (const CExponent expLeft, poly pPoly) |
|
| CMultiplier (ring rBaseRing) |
|
virtual | ~CMultiplier () |
|
ring | GetBasering () const |
|
int | NVars () const |
|
poly | LM (const poly pTerm, const ring r, int i=1) const |
|
poly | MultiplyTE (const poly pTerm, const CPower expRight) |
|
poly | MultiplyET (const CPower expLeft, const poly pTerm) |
|
Definition at line 163 of file ncSAMult.h.
◆ CExponent
◆ CPowerMultiplier()
CPowerMultiplier::CPowerMultiplier |
( |
ring |
r | ) |
|
Definition at line 831 of file ncSAMult.cc.
834 PrintS(
"CPowerMultiplier::CPowerMultiplier(ring)!");
◆ ~CPowerMultiplier()
CPowerMultiplier::~CPowerMultiplier |
( |
| ) |
|
|
virtual |
◆ GetPair() [1/2]
◆ GetPair() [2/2]
◆ MultiplyEE()
Implements CMultiplier< CPower >.
Definition at line 990 of file ncSAMult.cc.
993 PrintS(
"CPowerMultiplier::MultiplyEE)!");
997 const int i = expRight.Var,
j = expLeft.Var;
998 const int ei = expRight.Power, ej = expLeft.Power;
1001 Print(
"Input: var(%d)^{%d} * var(%d)^{%d}",
j, ej,
i, ei);
1016 poly product =
p_One(r);
1032 if( pSpecialMultiplier !=
NULL )
1038 return pSpecialMultiplier->
MultiplyEE(ej, ei);
1044 WerrorS(
"Sorry the general case is not implemented this way yet!!!");
◆ MultiplyEM()
Implements CMultiplier< CPower >.
Definition at line 923 of file ncSAMult.cc.
928 const int j = expLeft.Var;
929 const int n = expLeft.Power;
932 Print(
"CPowerMultiplier::MultiplyEM(var(%d)^{%d} * monom)!",
j, n);
946 while((
v <
j) && (e == 0))
979 PrintS(
"CPowerMultiplier::MultiplyEM() ===> ");
◆ MultiplyEP()
◆ MultiplyEPDestroy()
poly CPowerMultiplier::MultiplyEPDestroy |
( |
const CExponent |
expLeft, |
|
|
poly |
pPoly |
|
) |
| |
|
inline |
◆ MultiplyME()
Implements CMultiplier< CPower >.
Definition at line 859 of file ncSAMult.cc.
861 const int j = expRight.Var;
862 const int n = expRight.Power;
867 Print(
"CPowerMultiplier::MultiplyME(monom * var(%d)^{%d})!",
j, n);
881 while((
v >
j) && (e == 0))
914 PrintS(
"CPowerMultiplier::MultiplyME() ===> ");
◆ MultiplyPE()
◆ MultiplyPEDestroy()
poly CPowerMultiplier::MultiplyPEDestroy |
( |
poly |
pPoly, |
|
|
const CExponent |
expRight |
|
) |
| |
|
inline |
◆ m_specialpairs
The documentation for this class was generated from the following files:
CSpecialPairMultiplier * GetPair(int i, int j) const
static poly p_LmDeleteAndNext(poly p, const ring r)
virtual poly MultiplyEE(const CExponent expLeft, const CExponent expRight)=0
static long p_GetExp(const poly p, const unsigned long iBitmask, const int VarOffset)
get a single variable exponent @Note: the integer VarOffset encodes:
virtual poly MultiplyEE(const CExponent expLeft, const CExponent expRight)
static poly p_Head(poly p, const ring r)
#define MIN_LENGTH_BUCKET
poly MultiplyTE(const poly pTerm, const CPower expRight)
static unsigned long p_SetExp(poly p, const unsigned long e, const unsigned long iBitmask, const int VarOffset)
set a single variable exponent @Note: VarOffset encodes the position in p->exp
static unsigned pLength(poly a)
CSpecialPairMultiplier * AnalyzePair(const ring r, int i, int j)
#define TEST_OPT_NOT_BUCKETS
void PrintS(const char *s)
#define omFreeSize(addr, size)
poly MultiplyPEDestroy(poly pPoly, const CExponent expRight)
poly MultiplyEPDestroy(const CExponent expLeft, poly pPoly)
void p_Write(poly p, ring lmRing, ring tailRing)
void WerrorS(const char *s)
poly MultiplyET(const CPower expLeft, const poly pTerm)
static void p_Setm(poly p, const ring r)
const Variable & v
< [in] a sqrfree bivariate poly
CPolynomialSummator: unifies bucket and polynomial summation as the later is brocken in buckets :(.
CSpecialPairMultiplier ** m_specialpairs