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 27 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 }
int j
Definition: facHensel.cc:105
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:44
ring GetBasering() const
Definition: ncSAFormula.h:39
Enum_ncSAType * m_SAPairTypes
Definition: ncSAFormula.h:30
int i
Definition: cfEzgcd.cc:125
void PrintS(const char *s)
Definition: reporter.cc:284
#define omAlloc0(size)
Definition: omAllocDecl.h:211
Enum_ncSAType
Definition: ncSAFormula.h:15

◆ ~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:133
Enum_ncSAType * m_SAPairTypes
Definition: ncSAFormula.h:30
void PrintS(const char *s)
Definition: reporter.cc:284
Enum_ncSAType
Definition: ncSAFormula.h:15

◆ 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 }
int j
Definition: facHensel.cc:105
static Enum_ncSAType AnalyzePairType(const ring r, int i, int j)
Definition: ncSAFormula.cc:133
int i
Definition: cfEzgcd.cc:125

◆ GetBasering()

ring CFormulaPowerMultiplier::GetBasering ( ) const
inline

Definition at line 39 of file ncSAFormula.h.

39 { return m_BaseRing; }

◆ GetPair() [1/2]

Enum_ncSAType CFormulaPowerMultiplier::GetPair ( int  i,
int  j 
) const
inline

Definition at line 44 of file ncSAFormula.h.

45  {
47  assume( i > 0 );
48  assume( i < j );
49  assume( j <= NVars() );
50 
51  return m_SAPairTypes[( (NVars() * ((i)-1) - ((i) * ((i)-1))/2 + (j)-1) - (i) )];
52  }
int j
Definition: facHensel.cc:105
#define assume(x)
Definition: mod2.h:390
Enum_ncSAType * m_SAPairTypes
Definition: ncSAFormula.h:30
int i
Definition: cfEzgcd.cc:125
#define NULL
Definition: omList.c:12

◆ GetPair() [2/2]

Enum_ncSAType& CFormulaPowerMultiplier::GetPair ( int  i,
int  j 
)
inline

Definition at line 54 of file ncSAFormula.h.

55  {
57  assume( i > 0 );
58  assume( i < j );
59  assume( j <= NVars() );
60 
61  return m_SAPairTypes[( (NVars() * ((i)-1) - ((i) * ((i)-1))/2 + (j)-1) - (i) )];
62  }
int j
Definition: facHensel.cc:105
#define assume(x)
Definition: mod2.h:390
Enum_ncSAType * m_SAPairTypes
Definition: ncSAFormula.h:30
int i
Definition: cfEzgcd.cc:125
#define NULL
Definition: omList.c:12

◆ 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 }
int j
Definition: facHensel.cc:105
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
int m
Definition: cfEzgcd.cc:121
int i
Definition: cfEzgcd.cc:125

◆ 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 }
int j
Definition: facHensel.cc:105
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:44
ring GetBasering() const
Definition: ncSAFormula.h:39
int m
Definition: cfEzgcd.cc:121
int i
Definition: cfEzgcd.cc:125

◆ 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 }
int j
Definition: facHensel.cc:105
int m
Definition: cfEzgcd.cc:121
int i
Definition: cfEzgcd.cc:125
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 }
int j
Definition: facHensel.cc:105
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
int m
Definition: cfEzgcd.cc:121
int i
Definition: cfEzgcd.cc:125

◆ 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 j
Definition: facHensel.cc:105
int k
Definition: cfEzgcd.cc:92
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
int m
Definition: cfEzgcd.cc:121
int i
Definition: cfEzgcd.cc:125

◆ 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 }
int j
Definition: facHensel.cc:105
int m
Definition: cfEzgcd.cc:121
int i
Definition: cfEzgcd.cc:125
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 }
int j
Definition: facHensel.cc:105
int m
Definition: cfEzgcd.cc:121
int i
Definition: cfEzgcd.cc:125
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 }
int j
Definition: facHensel.cc:105
static poly ncSA_Mxy0x0y0(const int i, const int j, const int n, const int m, const ring r)
Definition: ncSAFormula.cc:276
int m
Definition: cfEzgcd.cc:121
int i
Definition: cfEzgcd.cc:125

◆ 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 }
int j
Definition: facHensel.cc:105
int m
Definition: cfEzgcd.cc:121
int i
Definition: cfEzgcd.cc:125
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 38 of file ncSAFormula.h.

38 { return m_NVars; }

◆ operator=()

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

Field Documentation

◆ m_BaseRing

const ring CFormulaPowerMultiplier::m_BaseRing
private

Definition at line 33 of file ncSAFormula.h.

◆ m_NVars

const int CFormulaPowerMultiplier::m_NVars
private

Definition at line 32 of file ncSAFormula.h.

◆ m_SAPairTypes

Enum_ncSAType* CFormulaPowerMultiplier::m_SAPairTypes
private

Definition at line 30 of file ncSAFormula.h.


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