My Project  debian-1:4.1.1-p2+ds-4
Public Member Functions | Private Attributes
CShiftSpecialPairMultiplier Class Reference

#include <ncSAMult.h>

Public Member Functions

 CShiftSpecialPairMultiplier (ring r, int i, int j, int s, number c)
 
virtual ~CShiftSpecialPairMultiplier ()
 
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

const number m_shiftCoef
 
const int m_shiftVar
 

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 570 of file ncSAMult.h.

Constructor & Destructor Documentation

◆ CShiftSpecialPairMultiplier()

CShiftSpecialPairMultiplier::CShiftSpecialPairMultiplier ( ring  r,
int  i,
int  j,
int  s,
number  c 
)

Definition at line 693 of file ncSAMult.cc.

695  :
697 {
698 #if OUTPUT
699  Print("CShiftSpecialPairMultiplier::CShiftSpecialPairMultiplier(ring, i: %d, j: %d, s: %d, c)!", i, j, s);
700  PrintLn();
701  PrintS("Parameter c: "); n_Write(c, r);

◆ ~CShiftSpecialPairMultiplier()

CShiftSpecialPairMultiplier::~CShiftSpecialPairMultiplier ( )
virtual

Definition at line 704 of file ncSAMult.cc.

707 {
708 #if OUTPUT
709  PrintS("CShiftSpecialPairMultiplier::~CShiftSpecialPairMultiplier()");
710  PrintLn();

Member Function Documentation

◆ MultiplyEE()

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

Implements CSpecialPairMultiplier.

Definition at line 713 of file ncSAMult.cc.

716 {
717 #if OUTPUT
718  Print("CShiftSpecialPairMultiplier::MultiplyEE(var(%d)^{%d}, var(%d)^{%d})!", GetJ(), expLeft, GetI(), expRight);
719  PrintLn();
720 #endif
721  // Char == 0, otherwise - problem!
722 
723  assume( expLeft*expRight > 0 );
724 
725  const ring r = GetBasering();
726 
727  if( m_shiftVar != GetI() ) // YX = XY + b*Y?
728  return CFormulaPowerMultiplier::ncSA_1xy0xBy0(GetI(), GetJ(), expRight, expLeft, m_shiftCoef, r); // case: (1, 0, beta, 0, 0)
729  else
730  return CFormulaPowerMultiplier::ncSA_1xyAx0y0(GetI(), GetJ(), expRight, expLeft, m_shiftCoef, r); // case: (1, alpha, 0, 0)

Field Documentation

◆ m_shiftCoef

const number CShiftSpecialPairMultiplier::m_shiftCoef
private

Definition at line 573 of file ncSAMult.h.

◆ m_shiftVar

const int CShiftSpecialPairMultiplier::m_shiftVar
private

Definition at line 574 of file ncSAMult.h.


The documentation for this class was generated from the following files:
j
int j
Definition: facHensel.cc:105
CFormulaPowerMultiplier::ncSA_1xyAx0y0
static poly ncSA_1xyAx0y0(const int i, const int j, const int n, const int m, const number m_shiftCoef, const ring r)
Definition: ncSAFormula.cc:738
CFormulaPowerMultiplier::ncSA_1xy0xBy0
static poly ncSA_1xy0xBy0(const int i, const int j, const int n, const int m, const number m_shiftCoef, const ring r)
Definition: ncSAFormula.cc:743
i
int i
Definition: cfEzgcd.cc:125
n_Write
static FORCE_INLINE void n_Write(number n, const coeffs r, const BOOLEAN bShortOut=TRUE)
Definition: coeffs.h:591
PrintS
void PrintS(const char *s)
Definition: reporter.cc:283
CShiftSpecialPairMultiplier::m_shiftVar
const int m_shiftVar
Definition: ncSAMult.h:574
CSpecialPairMultiplier::GetI
int GetI() const
Definition: ncSAMult.h:108
CShiftSpecialPairMultiplier::m_shiftCoef
const number m_shiftCoef
Definition: ncSAMult.h:573
Print
#define Print
Definition: emacs.cc:79
CSpecialPairMultiplier::CSpecialPairMultiplier
CSpecialPairMultiplier(ring r, int i, int j)
Definition: ncSAMult.cc:1057
assume
#define assume(x)
Definition: mod2.h:384
CSpecialPairMultiplier::GetJ
int GetJ() const
Definition: ncSAMult.h:109
s
const CanonicalForm int s
Definition: facAbsFact.cc:55
PrintLn
void PrintLn()
Definition: reporter.cc:309
CMultiplier< int >::GetBasering
ring GetBasering() const
Definition: ncSAMult.h:35