CLN has a class of abstract rings.
Ring cl_ring <cl_ring.h>
Rings can be compared for equality:
bool operator== (const cl_ring&, const cl_ring&)
bool operator!= (const cl_ring&, const cl_ring&)
Given a ring R
, the following members can be used.
void R->fprint (cl_ostream stream, const cl_ring_element& x)
cl_boolean R->equal (const cl_ring_element& x, const cl_ring_element& y)
cl_ring_element R->zero ()
cl_boolean R->zerop (const cl_ring_element& x)
cl_ring_element R->plus (const cl_ring_element& x, const cl_ring_element& y)
cl_ring_element R->minus (const cl_ring_element& x, const cl_ring_element& y)
cl_ring_element R->uminus (const cl_ring_element& x)
cl_ring_element R->one ()
cl_ring_element R->canonhom (const cl_I& x)
cl_ring_element R->mul (const cl_ring_element& x, const cl_ring_element& y)
cl_ring_element R->square (const cl_ring_element& x)
cl_ring_element R->expt_pos (const cl_ring_element& x, const cl_I& y)
The following rings are built-in.
cl_null_ring cl_0_ring
cl_complex_ring cl_C_ring
cl_N
.
cl_real_ring cl_R_ring
cl_R
.
cl_rational_ring cl_RA_ring
cl_RA
.
cl_integer_ring cl_I_ring
cl_I
.
Type tests can be performed for any of cl_C_ring
, cl_R_ring
,
cl_RA_ring
, cl_I_ring
:
cl_boolean instanceof (const cl_number& x, const cl_number_ring& R)
Go to the first, previous, next, last section, table of contents.