Data Structures | Enumerations | Functions
ncSAFormula.h File Reference
#include <polys/monomials/ring.h>
#include <polys/nc/nc.h>

Go to the source code of this file.

Data Structures

class  CFormulaPowerMultiplier
 

Enumerations

enum  Enum_ncSAType {
  _ncSA_notImplemented = -1, _ncSA_1xy0x0y0 = 0x00, _ncSA_Mxy0x0y0 = 0x01, _ncSA_Qxy0x0y0 = 0x02,
  _ncSA_1xyAx0y0 = 0x10, _ncSA_1xy0xBy0 = 0x20, _ncSA_1xy0x0yG = 0x30, _ncSA_1xy0x0yT2 = 0x100
}
 

Functions

bool ncInitSpecialPowersMultiplication (ring r)
 
static CFormulaPowerMultiplierGetFormulaPowerMultiplier (const ring r)
 

Enumeration Type Documentation

§ Enum_ncSAType

Enumerator
_ncSA_notImplemented 
_ncSA_1xy0x0y0 
_ncSA_Mxy0x0y0 
_ncSA_Qxy0x0y0 
_ncSA_1xyAx0y0 
_ncSA_1xy0xBy0 
_ncSA_1xy0x0yG 
_ncSA_1xy0x0yT2 

Definition at line 17 of file ncSAFormula.h.

18 {
20  _ncSA_1xy0x0y0 = 0x00, // commutative
21  _ncSA_Mxy0x0y0 = 0x01, // anti-commutative
22  _ncSA_Qxy0x0y0 = 0x02, // quasi-commutative
23  _ncSA_1xyAx0y0 = 0x10, // shift 1
24  _ncSA_1xy0xBy0 = 0x20, // shift 2
25  _ncSA_1xy0x0yG = 0x30, // Weyl
26  _ncSA_1xy0x0yT2 = 0x100 // homogenized Weyl algebra?
27 };

Function Documentation

§ GetFormulaPowerMultiplier()

static CFormulaPowerMultiplier* GetFormulaPowerMultiplier ( const ring  r)
inlinestatic

Definition at line 95 of file ncSAFormula.h.

96 {
97  return r->GetNC()->GetFormulaPowerMultiplier();
98 }
const ring r
Definition: syzextra.cc:208

§ ncInitSpecialPowersMultiplication()

bool ncInitSpecialPowersMultiplication ( ring  r)

Definition at line 50 of file ncSAFormula.cc.

51 {
52 #if OUTPUT
53  PrintS("ncInitSpecialPowersMultiplication(ring), ring: \n");
54  rWrite(r, TRUE);
55  PrintLn();
56 #endif
57 
59  assume(!rIsSCA(r));
60 
61 
62  if( r->GetNC()->GetFormulaPowerMultiplier() != NULL )
63  {
64  WarnS("Already defined!");
65  return false;
66  }
67 
68 
69  r->GetNC()->GetFormulaPowerMultiplier() = new CFormulaPowerMultiplier(r);
70 
71  return true;
72 
73 }
void PrintLn()
Definition: reporter.cc:310
#define TRUE
Definition: auxiliary.h:99
#define WarnS
Definition: emacs.cc:81
const ring r
Definition: syzextra.cc:208
#define assume(x)
Definition: mod2.h:403
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
Definition: ring.h:404
void PrintS(const char *s)
Definition: reporter.cc:284
void rWrite(ring r, BOOLEAN details)
Definition: ring.cc:236
#define NULL
Definition: omList.c:10
static bool rIsSCA(const ring r)
Definition: nc.h:206