Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
CFormulaPowerMultiplier Class Reference

#include <ncSAFormula.h>

Public Member Functions

int NVars () const
 
ring GetBasering () const
 
 CFormulaPowerMultiplier (ring r)
 
virtual ~CFormulaPowerMultiplier ()
 
Enum_ncSAType GetPair (int i, int j) const
 
Enum_ncSATypeGetPair (int i, int j)
 
poly Multiply (int i, int j, const int n, const int m)
 

Static Public Member Functions

static Enum_ncSAType AnalyzePair (const ring r, int i, int j)
 
static poly Multiply (Enum_ncSAType type, const int i, const int j, const int n, const int m, const ring r)
 
static poly ncSA_1xy0x0y0 (const int i, const int j, const int n, const int m, const ring r)
 
static poly ncSA_Mxy0x0y0 (const int i, const int j, const int n, const int m, const ring r)
 
static poly ncSA_Qxy0x0y0 (const int i, const int j, const int n, const int m, const number m_q, const ring r)
 
static poly ncSA_1xy0x0yG (const int i, const int j, const int n, const int m, const number m_g, const ring r)
 
static poly ncSA_1xy0x0yT2 (const int i, const int j, const int n, const int m, const int k, const ring r)
 
static poly ncSA_1xyAx0y0 (const int i, const int j, const int n, const int m, const number m_shiftCoef, const ring r)
 
static poly ncSA_1xy0xBy0 (const int i, const int j, const int n, const int m, const number m_shiftCoef, const ring r)
 

Private Member Functions

 CFormulaPowerMultiplier ()
 
 CFormulaPowerMultiplier (const CFormulaPowerMultiplier &)
 
CFormulaPowerMultiplieroperator= (const CFormulaPowerMultiplier &)
 

Private Attributes

Enum_ncSATypem_SAPairTypes
 
const int m_NVars
 
const ring m_BaseRing
 

Detailed Description

Definition at line 29 of file ncSAFormula.h.

Constructor & Destructor Documentation

CFormulaPowerMultiplier::CFormulaPowerMultiplier ( ring  r)

Definition at line 219 of file ncSAFormula.cc.

219  : m_NVars(r->N), m_BaseRing(r)
220 {
221 #if OUTPUT
222  Print("CFormulaPowerMultiplier::CFormulaPowerMultiplier(ring)!");
223  PrintLn();
224 #endif
225 
226  m_SAPairTypes = (Enum_ncSAType*)omAlloc0( ((NVars() * (NVars()-1)) / 2) * sizeof(Enum_ncSAType) );
227 
228  for( int i = 1; i < NVars(); i++ )
229  for( int j = i + 1; j <= NVars(); j++ )
231 }
void PrintLn()
Definition: reporter.cc:322
#define Print
Definition: emacs.cc:83
Enum_ncSAType GetPair(int i, int j) const
Definition: ncSAFormula.h:46
static Enum_ncSAType AnalyzePairType(const ring r, int i, int j)
Definition: ncSAFormula.cc:135
const ring r
Definition: syzextra.cc:208
int j
Definition: myNF.cc:70
Enum_ncSAType * m_SAPairTypes
Definition: ncSAFormula.h:32
int i
Definition: cfEzgcd.cc:123
ring GetBasering() const
Definition: ncSAFormula.h:41
#define omAlloc0(size)
Definition: omAllocDecl.h:211
Enum_ncSAType
Definition: ncSAFormula.h:17
CFormulaPowerMultiplier::~CFormulaPowerMultiplier ( )
virtual

Definition at line 236 of file ncSAFormula.cc.

237 {
238 #if OUTPUT
239  Print("CFormulaPowerMultiplier::~CFormulaPowerMultiplier()!");
240  PrintLn();
241 #endif
242 
243  omFreeSize((ADDRESS)m_SAPairTypes, ((NVars() * (NVars()-1)) / 2) * sizeof(Enum_ncSAType) );
244 }
void PrintLn()
Definition: reporter.cc:322
#define Print
Definition: emacs.cc:83
#define omFreeSize(addr, size)
Definition: omAllocDecl.h:260
void * ADDRESS
Definition: auxiliary.h:161
Enum_ncSAType * m_SAPairTypes
Definition: ncSAFormula.h:32
Enum_ncSAType
Definition: ncSAFormula.h:17
CFormulaPowerMultiplier::CFormulaPowerMultiplier ( )
private
CFormulaPowerMultiplier::CFormulaPowerMultiplier ( const CFormulaPowerMultiplier )
private

Member Function Documentation

Enum_ncSAType CFormulaPowerMultiplier::AnalyzePair ( const ring  r,
int  i,
int  j 
)
static

Definition at line 712 of file ncSAFormula.cc.

713 {
715 }
static Enum_ncSAType AnalyzePairType(const ring r, int i, int j)
Definition: ncSAFormula.cc:135
const ring r
Definition: syzextra.cc:208
int j
Definition: myNF.cc:70
int i
Definition: cfEzgcd.cc:123
ring CFormulaPowerMultiplier::GetBasering ( ) const
inline

Definition at line 41 of file ncSAFormula.h.

41 { return m_BaseRing; }
Enum_ncSAType CFormulaPowerMultiplier::GetPair ( int  i,
int  j 
) const
inline

Definition at line 46 of file ncSAFormula.h.

47  {
49  assume( i > 0 );
50  assume( i < j );
51  assume( j <= NVars() );
52 
53  return m_SAPairTypes[( (NVars() * ((i)-1) - ((i) * ((i)-1))/2 + (j)-1) - (i) )];
54  }
int j
Definition: myNF.cc:70
#define assume(x)
Definition: mod2.h:405
Enum_ncSAType * m_SAPairTypes
Definition: ncSAFormula.h:32
int i
Definition: cfEzgcd.cc:123
#define NULL
Definition: omList.c:10
Enum_ncSAType& CFormulaPowerMultiplier::GetPair ( int  i,
int  j 
)
inline

Definition at line 56 of file ncSAFormula.h.

57  {
59  assume( i > 0 );
60  assume( i < j );
61  assume( j <= NVars() );
62 
63  return m_SAPairTypes[( (NVars() * ((i)-1) - ((i) * ((i)-1))/2 + (j)-1) - (i) )];
64  }
int j
Definition: myNF.cc:70
#define assume(x)
Definition: mod2.h:405
Enum_ncSAType * m_SAPairTypes
Definition: ncSAFormula.h:32
int i
Definition: cfEzgcd.cc:123
#define NULL
Definition: omList.c:10
poly CFormulaPowerMultiplier::Multiply ( Enum_ncSAType  type,
const int  i,
const int  j,
const int  n,
const int  m,
const ring  r 
)
static

Definition at line 706 of file ncSAFormula.cc.

707 {
708  return ncSA_Multiply( type, i, j, n, m, r);
709 }
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
static poly ncSA_Multiply(Enum_ncSAType type, const int i, const int j, const int n, const int m, const ring r)
Definition: ncSAFormula.cc:663
const ring r
Definition: syzextra.cc:208
int j
Definition: myNF.cc:70
int m
Definition: cfEzgcd.cc:119
int i
Definition: cfEzgcd.cc:123
poly CFormulaPowerMultiplier::Multiply ( int  i,
int  j,
const int  n,
const int  m 
)

Definition at line 717 of file ncSAFormula.cc.

718 {
719  return ncSA_Multiply( GetPair(i, j), i, j, n, m, GetBasering());
720 }
Enum_ncSAType GetPair(int i, int j) const
Definition: ncSAFormula.h:46
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
static poly ncSA_Multiply(Enum_ncSAType type, const int i, const int j, const int n, const int m, const ring r)
Definition: ncSAFormula.cc:663
int j
Definition: myNF.cc:70
int m
Definition: cfEzgcd.cc:119
int i
Definition: cfEzgcd.cc:123
ring GetBasering() const
Definition: ncSAFormula.h:41
poly CFormulaPowerMultiplier::ncSA_1xy0x0y0 ( const int  i,
const int  j,
const int  n,
const int  m,
const ring  r 
)
static

Definition at line 725 of file ncSAFormula.cc.

726 {
727  return ::ncSA_1xy0x0y0(i, j, n, m, r);
728 }
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
const ring r
Definition: syzextra.cc:208
int j
Definition: myNF.cc:70
int m
Definition: cfEzgcd.cc:119
int i
Definition: cfEzgcd.cc:123
static poly ncSA_1xy0x0y0(const int i, const int j, const int n, const int m, const ring r)
Definition: ncSAFormula.cc:262
poly CFormulaPowerMultiplier::ncSA_1xy0x0yG ( const int  i,
const int  j,
const int  n,
const int  m,
const number  m_g,
const ring  r 
)
static

Definition at line 740 of file ncSAFormula.cc.

741 {
742  return ::ncSA_1xy0x0yG(i, j, n, m, m_g, r);
743 }
static poly ncSA_1xy0x0yG(const int i, const int j, const int n, const int m, const number m_g, const ring r)
Definition: ncSAFormula.cc:349
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
const ring r
Definition: syzextra.cc:208
int j
Definition: myNF.cc:70
int m
Definition: cfEzgcd.cc:119
int i
Definition: cfEzgcd.cc:123
poly CFormulaPowerMultiplier::ncSA_1xy0x0yT2 ( const int  i,
const int  j,
const int  n,
const int  m,
const int  k,
const ring  r 
)
static

Definition at line 745 of file ncSAFormula.cc.

746 {
747  return ::ncSA_1xy0x0yT2(i, j, n, m, k, r);
748 }
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
int k
Definition: cfEzgcd.cc:93
static poly ncSA_1xy0x0yT2(const int i, const int j, const int n, const int m, const int m_k, const ring r)
Definition: ncSAFormula.cc:449
const ring r
Definition: syzextra.cc:208
int j
Definition: myNF.cc:70
int m
Definition: cfEzgcd.cc:119
int i
Definition: cfEzgcd.cc:123
poly CFormulaPowerMultiplier::ncSA_1xy0xBy0 ( const int  i,
const int  j,
const int  n,
const int  m,
const number  m_shiftCoef,
const ring  r 
)
static

Definition at line 755 of file ncSAFormula.cc.

756 {
757  return ::ncSA_1xy0xBy0(i, j, n, m, m_shiftCoef, r);
758 }
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
const ring r
Definition: syzextra.cc:208
int j
Definition: myNF.cc:70
int m
Definition: cfEzgcd.cc:119
int i
Definition: cfEzgcd.cc:123
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:645
poly CFormulaPowerMultiplier::ncSA_1xyAx0y0 ( const int  i,
const int  j,
const int  n,
const int  m,
const number  m_shiftCoef,
const ring  r 
)
static

Definition at line 750 of file ncSAFormula.cc.

751 {
752  return ::ncSA_1xyAx0y0(i, j, n, m, m_shiftCoef, r);
753 }
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
const ring r
Definition: syzextra.cc:208
int j
Definition: myNF.cc:70
int m
Definition: cfEzgcd.cc:119
int i
Definition: cfEzgcd.cc:123
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:632
poly CFormulaPowerMultiplier::ncSA_Mxy0x0y0 ( const int  i,
const int  j,
const int  n,
const int  m,
const ring  r 
)
static

Definition at line 730 of file ncSAFormula.cc.

731 {
732  return ::ncSA_Mxy0x0y0(i, j, n, m, r);
733 }
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
static poly ncSA_Mxy0x0y0(const int i, const int j, const int n, const int m, const ring r)
Definition: ncSAFormula.cc:280
const ring r
Definition: syzextra.cc:208
int j
Definition: myNF.cc:70
int m
Definition: cfEzgcd.cc:119
int i
Definition: cfEzgcd.cc:123
poly CFormulaPowerMultiplier::ncSA_Qxy0x0y0 ( const int  i,
const int  j,
const int  n,
const int  m,
const number  m_q,
const ring  r 
)
static

Definition at line 735 of file ncSAFormula.cc.

736 {
737  return ::ncSA_Qxy0x0y0(i, j, n, m, m_q, r);
738 }
const CanonicalForm CFMap CFMap int &both_non_zero int n
Definition: cfEzgcd.cc:52
const ring r
Definition: syzextra.cc:208
int j
Definition: myNF.cc:70
int m
Definition: cfEzgcd.cc:119
int i
Definition: cfEzgcd.cc:123
static poly ncSA_Qxy0x0y0(const int i, const int j, const int n, const int m, const number m_q, const ring r)
Definition: ncSAFormula.cc:300
int CFormulaPowerMultiplier::NVars ( ) const
inline

Definition at line 40 of file ncSAFormula.h.

40 { return m_NVars; }
CFormulaPowerMultiplier& CFormulaPowerMultiplier::operator= ( const CFormulaPowerMultiplier )
private

Field Documentation

const ring CFormulaPowerMultiplier::m_BaseRing
private

Definition at line 35 of file ncSAFormula.h.

const int CFormulaPowerMultiplier::m_NVars
private

Definition at line 34 of file ncSAFormula.h.

Enum_ncSAType* CFormulaPowerMultiplier::m_SAPairTypes
private

Definition at line 32 of file ncSAFormula.h.


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