|
Givaro 4.2.1
|
#include <zring.h>
Inheritance diagram for UnparametricZRing< _Element >:Public Types | |
| enum | { size_rep = sizeof(Element) } |
| using | Element = _Element |
| using | Rep = _Element |
| using | Self_t = UnparametricZRing<Element> |
| using | Parent_t = UnparametricOperations<Element> |
| using | Residu_t = _Element |
| using | Element_ptr = Element* |
| using | ConstElement_ptr = const Element* |
| typedef DomainRandIter< Self_t >::RandIter | RandIter |
| typedef GeneralRingNonZeroRandIter< Self_t > | NonZeroRandIter |
| typedef const Element | ConstElement |
Public Member Functions | |
| UnparametricZRing () | |
| UnparametricZRing (const UnparametricZRing &F) | |
| template<class T> | |
| UnparametricZRing (const T &) | |
| Residu_t | residu () const |
| Residu_t | size () const |
| Residu_t | cardinality () const |
| Residu_t | characteristic () const |
| template<typename T> | |
| T & | cardinality (T &c) const |
| template<typename T> | |
| T & | characteristic (T &c) const |
| bool | operator== (const Self_t &F) const |
| bool | operator!= (const Self_t &F) const |
| UnparametricZRing< Element > & | operator= (const UnparametricZRing< Element > &) |
| bool | isZero (const Element &a) const |
| bool | isOne (const Element &a) const |
| bool | isMOne (const Element &a) const |
| bool | isUnit (const Element &a) const |
| Element & | abs (Element &x, const Element &a) const |
| Element | abs (const Element &a) const |
| long | compare (const Element &a, const Element &b) const |
| Element & | init (Element &x) const |
| template<typename T> | |
| Element & | init (Element &x, const T &s) const |
| Element & | assign (Element &x, const Element &y) const |
| template<typename T> | |
| T & | convert (T &x, const Element &y) const |
| Element & | reduce (Element &x, const Element &y) const |
| Element & | reduce (Element &x) const |
| Element | minElement () const |
| Element | maxElement () const |
| template<class Random> | |
| Element & | random (const Random &g, Element &r) const |
| template<class Random> | |
| Element & | nonzerorandom (Random &g, Element &a) const |
| std::ostream & | write (std::ostream &os) const |
| Print field. | |
| std::ostream & | write (std::ostream &os, const Element &a) const |
| Print field element. | |
| std::istream & | read (std::istream &is, Element &a) const |
| Read field element. | |
Comparison Predicates | |
| bool | areEqual (const Element &x, const Element &y) const |
| x == y | |
Arithmetic Operations | |
The first argument is set and is also the return value. | |
| Element & | add (Element &x, const Element &y, const Element &z) const |
| x := y + z | |
| Element & | sub (Element &x, const Element &y, const Element &z) const |
| x := y - z | |
| Element & | mul (Element &x, const Element &y, const Element &z) const |
| x := y*z | |
| Element & | div (Element &x, const Element &y, const Element &z) const |
| x := y/z | |
| Element & | mod (Element &x, const Element &y, const Element &z) const |
| x := y mod z | |
| Element & | neg (Element &x, const Element &y) const |
| x := -y | |
| Element & | inv (Element &x, const Element &y) const |
| x := 1/y | |
| Element & | axpy (Element &z, const Element &a, const Element &x, const Element &y) const |
| z := a*x + y | |
| Element & | axpyin (Element &z, const Element &a, const Element &x) const |
| z := a*x + z | |
| Element & | axmy (Element &z, const Element &a, const Element &x, const Element &y) const |
| z := a*x - y | |
| Element & | axmyin (Element &z, const Element &a, const Element &x) const |
| z := a*x - z | |
| Element & | maxpy (Element &z, const Element &a, const Element &x, const Element &y) const |
| z := y - a*x | |
| Element & | maxpyin (Element &z, const Element &a, const Element &x) const |
| z := z - a*x | |
Inplace Arithmetic Operations | |
The first argument is modified and the result is the return value. | |
| Element & | addin (Element &x, const Element &y) const |
| x := x + y | |
| Element & | subin (Element &x, const Element &y) const |
| x := x - y | |
| Element & | mulin (Element &x, const Element &y) const |
| x := x*y | |
| Element & | divin (Element &x, const Element &y) const |
| x := x/y | |
| Element & | modin (Element &x, const Element &y) const |
| x := x mod y | |
| Element & | negin (Element &x) const |
| x := -x | |
| Element & | invin (Element &x) const |
| x := 1/x | |
Input/Output Operations | |
| std::ostream & | write (std::ostream &os, std::string F) const |
| Read field. | |
| std::istream & | read (std::istream &is) const |
| Read field. | |
Static Public Member Functions | |
| static Residu_t | maxCardinality () |
| static Residu_t | minCardinality () |
| static const std::string | type_string () |
Data Fields | |
| const Element | one = 1 |
| const Element | zero = 0 |
| const Element | mOne = -1 |
Generic Class ZRing.
Ring of integers, using the unparametric _Element base type. Provide unparametric with domain features ZRing<Element> is a sugar name for UnparametricZRing<Element> Also, there is a specialization, below, for ZRing<Integer>
| using Element = _Element |
| using Rep = _Element |
| using Self_t = UnparametricZRing<Element> |
| using Parent_t = UnparametricOperations<Element> |
| using Residu_t = _Element |
| using Element_ptr = Element* |
| using ConstElement_ptr = const Element* |
| typedef DomainRandIter<Self_t>::RandIter RandIter |
| typedef GeneralRingNonZeroRandIter<Self_t> NonZeroRandIter |
|
inherited |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inlinevirtual |
Implements RingInterface< _Element >.
|
inlinevirtual |
Implements RingInterface< _Element >.
|
inlinevirtual |
Implements RingInterface< _Element >.
|
inlinevirtual |
Implements RingInterface< _Element >.
Reimplemented from UnparametricOperations< _Element >.
|
inline |
Reimplemented from UnparametricOperations< _Element >.
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inlinevirtual |
Print field.
| os | output stream to which field is written. |
Reimplemented from UnparametricOperations< _Element >.
|
inlinevirtual |
Print field element.
| os | output stream to which field element is written. |
| x | field element. |
Reimplemented from UnparametricOperations< _Element >.
|
inlinevirtual |
Read field element.
| is | input stream from which field element is read. |
| x | field element. |
Reimplemented from UnparametricOperations< _Element >.
|
inlinevirtualinherited |
x == y
Implements RingInterface< _Element >.
|
inlinevirtualinherited |
x := y + z
Implements RingInterface< _Element >.
|
inlinevirtualinherited |
x := y - z
Implements RingInterface< _Element >.
|
inlinevirtualinherited |
x := y*z
Implements RingInterface< _Element >.
|
inlineinherited |
x := y/z
|
inlineinherited |
x := y mod z
|
inlinevirtualinherited |
x := -y
Implements RingInterface< _Element >.
x := 1/y
|
inlinevirtualinherited |
z := a*x + y
Implements RingInterface< _Element >.
|
inlinevirtualinherited |
z := a*x + z
Implements RingInterface< _Element >.
|
inlinevirtualinherited |
z := a*x - y
Implements RingInterface< _Element >.
|
inlinevirtualinherited |
z := a*x - z
Implements RingInterface< _Element >.
|
inlinevirtualinherited |
z := y - a*x
Implements RingInterface< _Element >.
|
inlinevirtualinherited |
z := z - a*x
Implements RingInterface< _Element >.
|
inlinevirtualinherited |
x := x + y
Implements RingInterface< _Element >.
|
inlinevirtualinherited |
x := x - y
Implements RingInterface< _Element >.
|
inlinevirtualinherited |
x := x*y
Implements RingInterface< _Element >.
x := x/y
x := x mod y
x := -x
Implements RingInterface< _Element >.
|
inlineinherited |
Read field.
| is | input stream from which field is read. |
|
inlineinherited |
Read field.
| is | input stream from which field is read. |
| const Element one = 1 |
| const Element zero = 0 |
| const Element mOne = -1 |