Public Member Functions | Private Attributes
CExternalSpecialPairMultiplier Class Reference

#include <ncSAMult.h>

Public Member Functions

 CExternalSpecialPairMultiplier (ring r, int i, int j, Enum_ncSAType type)
 
virtual ~CExternalSpecialPairMultiplier ()
 
virtual poly MultiplyEE (const int expLeft, const int expRight)
 
- Public Member Functions inherited from CSpecialPairMultiplier
 CSpecialPairMultiplier (ring r, int i, int j)
 
virtual ~CSpecialPairMultiplier ()
 
int GetI () const
 
int GetJ () const
 
virtual poly MultiplyME (const poly pMonom, const CExponent expRight)
 
virtual poly MultiplyEM (const CExponent expLeft, const poly pMonom)
 
- Public Member Functions inherited from CMultiplier< int >
 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 int expRight)
 
poly MultiplyET (const int expLeft, const poly pTerm)
 

Private Attributes

Enum_ncSAType m_ncSAtype
 

Additional Inherited Members

- Public Types inherited from CSpecialPairMultiplier
typedef int CExponent
 
- Protected Attributes inherited from CMultiplier< int >
const ring m_basering
 
const int m_NVars
 

Detailed Description

Definition at line 596 of file ncSAMult.h.

Constructor & Destructor Documentation

§ CExternalSpecialPairMultiplier()

CExternalSpecialPairMultiplier::CExternalSpecialPairMultiplier ( ring  r,
int  i,
int  j,
Enum_ncSAType  type 
)

Definition at line 739 of file ncSAMult.cc.

739  :
741 {
742 #if OUTPUT
743  Print("CExternalSpecialPairMultiplier::CExternalSpecialPairMultiplier(ring, i: %d, j: %d, type: %d, c)!", i, j, (int)type);
744  PrintLn();
745 #endif
746 }
void PrintLn()
Definition: reporter.cc:310
#define Print
Definition: emacs.cc:83
CSpecialPairMultiplier(ring r, int i, int j)
Definition: ncSAMult.cc:1061
const ring r
Definition: syzextra.cc:208
int j
Definition: myNF.cc:70
int i
Definition: cfEzgcd.cc:123

§ ~CExternalSpecialPairMultiplier()

CExternalSpecialPairMultiplier::~CExternalSpecialPairMultiplier ( )
virtual

Definition at line 749 of file ncSAMult.cc.

750 {
751 #if OUTPUT
752  PrintS("CExternalSpecialPairMultiplier::~CExternalSpecialPairMultiplier()");
753  PrintLn();
754 #endif
755 }
void PrintLn()
Definition: reporter.cc:310
void PrintS(const char *s)
Definition: reporter.cc:284

Member Function Documentation

§ MultiplyEE()

poly CExternalSpecialPairMultiplier::MultiplyEE ( const int  expLeft,
const int  expRight 
)
virtual

Implements CSpecialPairMultiplier.

Definition at line 758 of file ncSAMult.cc.

759 {
760 #if OUTPUT
761  Print("CExternalSpecialPairMultiplier::MultiplyEE(var(%d)^{%d}, var(%d)^{%d})!", GetJ(), expLeft, GetI(), expRight);
762  PrintLn();
763 #endif
764  // Char == 0, otherwise - problem!
765 
766  assume( expLeft*expRight > 0 );
767 
768  const ring r = GetBasering();
769 
770  return CFormulaPowerMultiplier::Multiply(m_ncSAtype, GetI(), GetJ(), expRight, expLeft, r);
771 
772 }
ring GetBasering() const
Definition: ncSAMult.h:40
void PrintLn()
Definition: reporter.cc:310
#define Print
Definition: emacs.cc:83
int GetI() const
Definition: ncSAMult.h:113
static poly Multiply(Enum_ncSAType type, const int i, const int j, const int n, const int m, const ring r)
Definition: ncSAFormula.cc:696
int GetJ() const
Definition: ncSAMult.h:114
const ring r
Definition: syzextra.cc:208
#define assume(x)
Definition: mod2.h:403

Field Documentation

§ m_ncSAtype

Enum_ncSAType CExternalSpecialPairMultiplier::m_ncSAtype
private

Definition at line 599 of file ncSAMult.h.


The documentation for this class was generated from the following files: