Macaulay2 Engine
Loading...
Searching...
No Matches
M2::DummyRing Class Reference

Placeholder aring used as a default / fallback for code paths that need an ARing-shaped object but no real arithmetic. More...

#include <aring.hpp>

Inheritance diagram for M2::DummyRing:
M2::SimpleARing< DummyRing > M2::RingInterface our_new_delete

Public Types

typedef long FieldType
typedef long ElementType
typedef ElementType elem
typedef std::vector< elemElementContainerType

Public Member Functions

int characteristic () const
unsigned int computeHashValue (const elem &a) const
M2_arrayint getModPolynomialCoeffs () const
M2_arrayint getGeneratorCoeffs () const
void getGenerator (elem &result) const
const PolynomialRingoriginalRing () const
long coerceToLongInteger (ElementType a) const
void lift_to_original_ring (ring_elem &result, const ElementType &f) const
M2_arrayint fieldElementToM2Array (ElementType el) const
void to_ring_elem (ring_elem &result, const ElementType &a) const
void from_ring_elem (ElementType &result, const ring_elem &a) const
bool promote (const Ring *Rf, const ring_elem f, ElementType &result) const
bool lift (const Ring *Rg, const ElementType f, ring_elem &result) const
void eval (const RingMap *map, const elem f, int first_var, ring_elem &result) const
void text_out (buffer &o) const
void elem_text_out (buffer &o, const ElementType a, bool p_one, bool p_plus, bool p_parens) const
void init_set (elem &result, elem a) const
void set (elem &result, elem a) const
void set_from_long (elem &result, long a) const
void init (elem &result) const
void set_from_mpz (elem &result, mpz_srcptr a) const
bool set_from_mpq (elem &result, mpq_srcptr a) const
bool set_from_BigReal (elem &result, gmp_RR a) const
void set_var (elem &result, int v) const
bool is_unit (const ElementType f) const
bool is_zero (const ElementType f) const
bool is_equal (const ElementType f, const ElementType g) const
int compare_elems (const ElementType f, const ElementType g) const
void set_zero (elem &result) const
void copy (elem &result, const elem a) const
void negate (elem &result, const elem a) const
void invert (elem &result, const elem a) const
void add (elem &result, const elem a, const elem b) const
void subtract (ElementType &result, const ElementType a, const ElementType b) const
void subtract_multiple (elem &result, const elem a, const elem b) const
void mult (elem &result, const elem a, const elem b) const
void divide (elem &result, const elem a, const elem b) const
 test doc
void power (elem &result, const elem a, const int n) const
void power_mpz (elem &result, const elem a, mpz_srcptr n) const
void syzygy (const ElementType a, const ElementType b, ElementType &x, ElementType &y) const
void random (ElementType &result) const
void swap (ElementType &a, ElementType &b) const

Static Public Member Functions

static void clear (elem &result)
Static Public Member Functions inherited from our_new_delete
static void * operator new (size_t size)
static void * operator new[] (size_t size)
static void operator delete (void *obj)
static void operator delete[] (void *obj)
static void * operator new (size_t size, void *existing_memory)
static void * operator new[] (size_t size, void *existing_memory)
static void operator delete (void *obj, void *existing_memory)
static void operator delete[] (void *obj, void *existing_memory)

Public Attributes

const PolynomialRingmOriginalRing

Detailed Description

Placeholder aring used as a default / fallback for code paths that need an ARing-shaped object but no real arithmetic.

Note
AI-generated documentation. Verify against the source before relying on it.

Element type is long and every operation is a no-op or trivial. mOriginalRing carries the actual PolynomialRing the dummy is standing in for so callers can still locate the "real" ring for fall-through queries. Appears as a variant alternative in VectorArithmetic's std::variant so templated code that does not understand a given ring still has a valid instantiation.

Definition at line 212 of file aring.hpp.


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