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() [1/3]

CFormulaPowerMultiplier::CFormulaPowerMultiplier ( ring  r)

Definition at line 216 of file ncSAFormula.cc.

216  : m_NVars(r->N), m_BaseRing(r)
217 {
218 #if OUTPUT
219  PrintS("CFormulaPowerMultiplier::CFormulaPowerMultiplier(ring)!");
220  PrintLn();
221 #endif
222 
223  m_SAPairTypes = (Enum_ncSAType*)omAlloc0( ((NVars() * (NVars()-1)) / 2) * sizeof(Enum_ncSAType) );
224 
225  for( int i = 1; i < NVars(); i++ )
226  for( int j = i + 1; j <= NVars(); j++ )
228 }
void PrintLn()
Definition: reporter.cc:310
static Enum_ncSAType AnalyzePairType(const ring r, int i, int j)
Definition: ncSAFormula.cc:133
Enum_ncSAType GetPair(int i, int j) const
Definition: ncSAFormula.h:46
ring GetBasering() const
Definition: ncSAFormula.h:41
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
void PrintS(const char *s)
Definition: reporter.cc:284
#define omAlloc0(size)
Definition: omAllocDecl.h:211
Enum_ncSAType
Definition: ncSAFormula.h:17

§ ~CFormulaPowerMultiplier()

CFormulaPowerMultiplier::~CFormulaPowerMultiplier ( )
virtual

Definition at line 233 of file ncSAFormula.cc.

234 {
235 #if OUTPUT
236  PrintS("CFormulaPowerMultiplier::~CFormulaPowerMultiplier()!");
237  PrintLn();
238 #endif
239 
240  omFreeSize((ADDRESS)m_SAPairTypes, ((NVars() * (NVars()-1)) / 2) * sizeof(Enum_ncSAType) );
241 }
void PrintLn()
Definition: reporter.cc:310
#define omFreeSize(addr, size)
Definition: omAllocDecl.h:260
void * ADDRESS
Definition: auxiliary.h:115
Enum_ncSAType * m_SAPairTypes
Definition: ncSAFormula.h:32
void PrintS(const char *s)
Definition: reporter.cc:284
Enum_ncSAType
Definition: ncSAFormula.h:17

§ CFormulaPowerMultiplier() [2/3]

CFormulaPowerMultiplier::CFormulaPowerMultiplier ( )
private

§ CFormulaPowerMultiplier() [3/3]

CFormulaPowerMultiplier::CFormulaPowerMultiplier ( const CFormulaPowerMultiplier )
private

Member Function Documentation

§ AnalyzePair()

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

Definition at line 702 of file ncSAFormula.cc.

703 {
705 }
static Enum_ncSAType AnalyzePairType(const ring r, int i, int j)
Definition: ncSAFormula.cc:133
const ring r
Definition: syzextra.cc:208
int j
Definition: myNF.cc:70
int i
Definition: cfEzgcd.cc:123

§ GetBasering()

ring CFormulaPowerMultiplier::GetBasering ( ) const
inline

Definition at line 41 of file ncSAFormula.h.

41 { return m_BaseRing; }

§ GetPair() [1/2]

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:394
Enum_ncSAType * m_SAPairTypes
Definition: ncSAFormula.h:32
int i
Definition: cfEzgcd.cc:123
#define NULL
Definition: omList.c:10

§ GetPair() [2/2]

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:394
Enum_ncSAType * m_SAPairTypes
Definition: ncSAFormula.h:32
int i
Definition: cfEzgcd.cc:123
#define NULL
Definition: omList.c:10

§ Multiply() [1/2]

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 696 of file ncSAFormula.cc.

697 {
698  return ncSA_Multiply( type, i, j, n, m, r);
699 }
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:654
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

§ Multiply() [2/2]

poly CFormulaPowerMultiplier::Multiply ( int  i,
int  j,
const int  n,
const int  m 
)

Definition at line 707 of file ncSAFormula.cc.

708 {
709  return ncSA_Multiply( GetPair(i, j), i, j, n, m, GetBasering());
710 }
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:654
Enum_ncSAType GetPair(int i, int j) const
Definition: ncSAFormula.h:46
ring GetBasering() const
Definition: ncSAFormula.h:41
int j
Definition: myNF.cc:70
int m
Definition: cfEzgcd.cc:119
int i
Definition: cfEzgcd.cc:123

§ ncSA_1xy0x0y0()

poly CFormulaPowerMultiplier::ncSA_1xy0x0y0 ( const int  i,
const int  j,
const int  n,
const int  m,
const ring  r 
)
static

Definition at line 715 of file ncSAFormula.cc.

716 {
717  return ::ncSA_1xy0x0y0(i, j, n, m, r);
718 }
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:259

§ ncSA_1xy0x0yG()

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 730 of file ncSAFormula.cc.

731 {
732  return ::ncSA_1xy0x0yG(i, j, n, m, m_g, r);
733 }
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:344
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

§ ncSA_1xy0x0yT2()

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 735 of file ncSAFormula.cc.

736 {
737  return ::ncSA_1xy0x0yT2(i, j, n, m, k, r);
738 }
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:443
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

§ ncSA_1xy0xBy0()

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 745 of file ncSAFormula.cc.

746 {
747  return ::ncSA_1xy0xBy0(i, j, n, m, m_shiftCoef, r);
748 }
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:637

§ ncSA_1xyAx0y0()

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 740 of file ncSAFormula.cc.

741 {
742  return ::ncSA_1xyAx0y0(i, j, n, m, m_shiftCoef, r);
743 }
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:625

§ ncSA_Mxy0x0y0()

poly CFormulaPowerMultiplier::ncSA_Mxy0x0y0 ( const int  i,
const int  j,
const int  n,
const int  m,
const ring  r 
)
static

Definition at line 720 of file ncSAFormula.cc.

721 {
722  return ::ncSA_Mxy0x0y0(i, j, n, m, r);
723 }
static poly ncSA_Mxy0x0y0(const int i, const int j, const int n, const int m, const ring r)
Definition: ncSAFormula.cc:276
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

§ ncSA_Qxy0x0y0()

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 725 of file ncSAFormula.cc.

726 {
727  return ::ncSA_Qxy0x0y0(i, j, n, m, m_q, r);
728 }
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:295

§ NVars()

int CFormulaPowerMultiplier::NVars ( ) const
inline

Definition at line 40 of file ncSAFormula.h.

40 { return m_NVars; }

§ operator=()

CFormulaPowerMultiplier& CFormulaPowerMultiplier::operator= ( const CFormulaPowerMultiplier )
private

Field Documentation

§ m_BaseRing

const ring CFormulaPowerMultiplier::m_BaseRing
private

Definition at line 35 of file ncSAFormula.h.

§ m_NVars

const int CFormulaPowerMultiplier::m_NVars
private

Definition at line 34 of file ncSAFormula.h.

§ m_SAPairTypes

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: