My Project
Loading...
Searching...
No Matches
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 i
Definition: cfEzgcd.cc:132
ring GetBasering() const
Definition: ncSAFormula.h:39
Enum_ncSAType * m_SAPairTypes
Definition: ncSAFormula.h:30
Enum_ncSAType GetPair(int i, int j) const
Definition: ncSAFormula.h:44
int j
Definition: facHensel.cc:110
static Enum_ncSAType AnalyzePairType(const ring r, int i, int j)
Definition: ncSAFormula.cc:133
Enum_ncSAType
Definition: ncSAFormula.h:16
#define omAlloc0(size)
Definition: omAllocDecl.h:211
void PrintS(const char *s)
Definition: reporter.cc:284
void PrintLn()
Definition: reporter.cc:310

◆ ~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 * ADDRESS
Definition: auxiliary.h:119
#define omFreeSize(addr, size)
Definition: omAllocDecl.h:260

◆ 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{
704 return ::AnalyzePairType( r, i, j);
705}

◆ 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 
)
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 }
#define assume(x)
Definition: mod2.h:389
#define NULL
Definition: omList.c:12

◆ GetPair() [2/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 }

◆ 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 m
Definition: cfEzgcd.cc:128
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

◆ 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}

◆ 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}

◆ 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}

◆ 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:99

◆ 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}

◆ 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}

◆ 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}

◆ 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}

◆ 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: