My Project
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 15 of file ncSAFormula.h.

16 {
18  _ncSA_1xy0x0y0 = 0x00, // commutative
19  _ncSA_Mxy0x0y0 = 0x01, // anti-commutative
20  _ncSA_Qxy0x0y0 = 0x02, // quasi-commutative
21  _ncSA_1xyAx0y0 = 0x10, // shift 1
22  _ncSA_1xy0xBy0 = 0x20, // shift 2
23  _ncSA_1xy0x0yG = 0x30, // Weyl
24  _ncSA_1xy0x0yT2 = 0x100 // homogenized Weyl algebra?
25 };
@ _ncSA_1xy0x0yT2
Definition: ncSAFormula.h:24
@ _ncSA_Mxy0x0y0
Definition: ncSAFormula.h:19
@ _ncSA_1xyAx0y0
Definition: ncSAFormula.h:21
@ _ncSA_1xy0x0yG
Definition: ncSAFormula.h:23
@ _ncSA_Qxy0x0y0
Definition: ncSAFormula.h:20
@ _ncSA_notImplemented
Definition: ncSAFormula.h:17
@ _ncSA_1xy0x0y0
Definition: ncSAFormula.h:18
@ _ncSA_1xy0xBy0
Definition: ncSAFormula.h:22

Function Documentation

◆ GetFormulaPowerMultiplier()

static CFormulaPowerMultiplier* GetFormulaPowerMultiplier ( const ring  r)
inlinestatic

Definition at line 93 of file ncSAFormula.h.

94 {
95  return r->GetNC()->GetFormulaPowerMultiplier();
96 }

◆ 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 }
#define TRUE
Definition: auxiliary.h:100
#define WarnS
Definition: emacs.cc:78
static bool rIsSCA(const ring r)
Definition: nc.h:190
#define assume(x)
Definition: mod2.h:387
#define NULL
Definition: omList.c:12
void PrintS(const char *s)
Definition: reporter.cc:284
void PrintLn()
Definition: reporter.cc:310
void rWrite(ring r, BOOLEAN details)
Definition: ring.cc:226
static BOOLEAN rIsPluralRing(const ring r)
we must always have this test!
Definition: ring.h:400