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

aring-style adapter for double-precision complex numbers, stored as (double, double) pairs. More...

#include <aring-CC.hpp>

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

Public Types

typedef cc_doubles_struct elem
typedef elem ElementType
typedef ARingRR RealRingType
typedef RealRingType::ElementType RealElementType

Public Member Functions

 ARingCC ()
size_t characteristic () const
unsigned long get_precision () const
void text_out (buffer &o) const
const RealRingTypereal_ring () const
unsigned int computeHashValue (const elem &a) 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 to_ring_elem (ring_elem &result, const ElementType &a) const
void from_ring_elem (ElementType &result, const ring_elem &a) const
const ElementTypefrom_ring_elem_const (const ring_elem &a) const
void init (ElementType &result) const
void init_set (ElementType &result, const ElementType &a) const
void set (ElementType &result, const ElementType &a) const
void set_zero (ElementType &result) const
void copy (ElementType &result, const ElementType &a) const
void set_from_long (ElementType &result, long a) const
void set_var (ElementType &result, int v) const
void set_from_mpz (ElementType &result, mpz_srcptr a) const
bool set_from_mpq (ElementType &result, mpq_srcptr a) const
bool set_from_BigReal (ElementType &result, gmp_RR a) const
bool set_from_BigReals (ElementType &result, gmp_RR re, gmp_RR im) const
bool set_from_BigComplex (ElementType &result, gmp_CC a) const
bool set_from_double (ElementType &result, double a) const
bool set_from_complex_double (ElementType &result, double re, double im) const
void negate (ElementType &result, const ElementType &a) const
void invert (ElementType &res, const ElementType &a) const
void add (ElementType &res, const ElementType &a, const ElementType &b) const
void addMultipleTo (ElementType &res, const RealElementType &a, const ElementType &b) const
void addMultipleTo (ElementType &res, const ElementType &a, const ElementType &b) const
void subtract (ElementType &res, const ElementType &a, const ElementType &b) const
void subtract_multiple (ElementType &result, const ElementType &a, const ElementType &b) const
void mult (ElementType &res, const ElementType &a, const RealElementType &b) const
void mult (ElementType &res, const ElementType &a, const ElementType &b) const
void divide (ElementType &res, const ElementType &a, const RealElementType &b) const
void divide (ElementType &res, const ElementType &a, const ElementType &b) const
void abs_squared (ARingRR::ElementType &result, const ElementType &a) const
void abs (ARingRR::ElementType &result, const ElementType &a) const
void power (ElementType &result, const ElementType &a, int n) const
void power_mpz (ElementType &result, const ElementType &a, mpz_srcptr n) const
void swap (ElementType &a, ElementType &b) const
void elem_text_out (buffer &o, const ElementType &a, bool p_one=true, bool p_plus=false, bool p_parens=false) const
void syzygy (const ElementType &a, const ElementType &b, ElementType &x, ElementType &y) const
void random (ElementType &result) const
void eval (const RingMap *map, ElementType &f, int first_var, ring_elem &result) const
gmp_CC toBigComplex (const ElementType &a) const
void set_from_doubles (ElementType &result, double re, double im) const
void zeroize_tiny (gmp_RR epsilon, ElementType &a) const
void increase_norm (gmp_RRmutable norm, const ElementType &a) const

Static Public Member Functions

static void clear (ElementType &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)

Static Public Attributes

static const RingID ringID = ring_CC

Private Attributes

const ARingRR mRR

Detailed Description

aring-style adapter for double-precision complex numbers, stored as (double, double) pairs.

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

ElementType is cc_doubles_struct — two IEEE-754 doubles for the real and imaginary parts. Holds a companion ARingRR mRR for the real-component arithmetic. ringID = ring_CC. Use ARingCCC instead when arbitrary precision is needed.

Definition at line 71 of file aring-CC.hpp.


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