Rings for MAT 685
Mathematical ring implementation to demonstrate templates and inheritance
|
elements of this type should have commutative multiplication More...
#include <rings.hpp>
Public Member Functions | |
virtual bool | is_commutative () const override |
Duh. | |
Public Member Functions inherited from Rings::Ring_Element | |
virtual bool | is_one () const =0 |
should be True iff element is multiplicative identity | |
virtual bool | is_zero () const =0 |
should be True iff element is additive identity | |
virtual bool | has_inverse () const =0 |
should be True iff element has a multiplicative inverse | |
virtual bool | is_cancellable () const |
should be True iff element can cancel across an equation; e.g., \(ax=ay\Rightarrow x=y\). | |
virtual bool | operator== (const Ring_Element &) const =0 |
comparison: other element has same value | |
virtual bool | operator!= (const Ring_Element &) const =0 |
comparison: other element has different value | |
virtual const Ring_Element & | operator+ (const Ring_Element &) const =0 |
addition: other element should be of same type, use a cast | |
virtual const Ring_Element & | operator- (const Ring_Element &) const =0 |
subtraction: other element should be of same type, use a cast | |
virtual const Ring_Element & | operator* (const Ring_Element &) const =0 |
multiplicationL other element should be of same type, use a cast | |
elements of this type should have commutative multiplication