carl
24.04
Computer ARithmetic Library
|
Galois Field numbers, i.e. More...
#include <GFNumber.h>
Public Member Functions | |
GFNumber ()=default | |
GFNumber (IntegerType n, const GaloisField< IntegerType > *gf=nullptr) | |
GFNumber (const GFNumber &n, const GaloisField< IntegerType > *gf) | |
const GaloisField< IntegerType > * | gf () const |
GFNumber< IntegerType > | toGF (const GaloisField< IntegerType > *newfield) const |
void | normalize () |
bool | is_zero () const |
bool | is_one () const |
bool | is_unit () const |
const IntegerType & | representing_integer () const |
GFNumber | inverse () const |
const GFNumber | operator- () const |
GFNumber & | operator++ () |
GFNumber & | operator+= (const GFNumber &rhs) |
GFNumber & | operator+= (const IntegerType &rhs) |
GFNumber & | operator-- () |
GFNumber & | operator-= (const GFNumber &rhs) |
GFNumber & | operator-= (const IntegerType &rhs) |
GFNumber & | operator*= (const GFNumber &rhs) |
GFNumber & | operator*= (const IntegerType &rhs) |
GFNumber & | operator/= (const GFNumber &rhs) |
Private Attributes | |
IntegerType | mN = carl::constant_zero<IntegerType>::get() |
const GaloisField< IntegerType > * | mGf = nullptr |
Friends | |
template<typename IntegerT > | |
bool | operator== (const GFNumber< IntegerT > &lhs, const GFNumber< IntegerT > &rhs) |
template<typename IntegerT > | |
bool | operator== (const GFNumber< IntegerT > &lhs, const IntegerT &rhs) |
lhs == rhs, if rhs \in [lhs]. More... | |
template<typename IntegerT > | |
bool | operator== (const IntegerT &lhs, const GFNumber< IntegerT > &rhs) |
lhs == rhs, if lhs \in [rhs]. More... | |
template<typename IntegerT > | |
bool | operator== (const GFNumber< IntegerT > &lhs, const GFNumber< IntegerT > &rhs) |
template<typename IntegerT > | |
bool | operator== (const GFNumber< IntegerT > &lhs, int rhs) |
lhs == rhs, if rhs \in [lhs]. More... | |
template<typename IntegerT > | |
bool | operator== (int lhs, const GFNumber< IntegerT > &rhs) |
lhs == rhs, if lhs \in [rhs]. More... | |
template<typename IntegerT > | |
bool | operator!= (const GFNumber< IntegerT > &lhs, const GFNumber< IntegerT > &rhs) |
template<typename IntegerT > | |
bool | operator!= (const GFNumber< IntegerT > &lhs, const IntegerT &rhs) |
template<typename IntegerT > | |
bool | operator!= (const IntegerT &lhs, const GFNumber< IntegerT > &rhs) |
template<typename IntegerT > | |
bool | operator!= (const GFNumber< IntegerT > &lhs, int rhs) |
template<typename IntegerT > | |
bool | operator!= (int lhs, const GFNumber< IntegerT > &rhs) |
template<typename IntegerT > | |
GFNumber< IntegerT > | operator+ (const GFNumber< IntegerT > &lhs, const GFNumber< IntegerT > &rhs) |
template<typename IntegerT > | |
GFNumber< IntegerT > | operator+ (const GFNumber< IntegerT > &lhs, const IntegerT &rhs) |
template<typename IntegerT > | |
GFNumber< IntegerT > | operator+ (const IntegerT &lhs, const GFNumber< IntegerT > &rhs) |
template<typename IntegerT > | |
GFNumber< IntegerT > | operator- (const GFNumber< IntegerT > &lhs, const GFNumber< IntegerT > &rhs) |
template<typename IntegerT > | |
GFNumber< IntegerT > | operator- (const GFNumber< IntegerT > &lhs, const IntegerT &rhs) |
template<typename IntegerT > | |
GFNumber< IntegerT > | operator- (const IntegerT &lhs, const GFNumber< IntegerT > &rhs) |
template<typename IntegerT > | |
GFNumber< IntegerT > | operator* (const GFNumber< IntegerT > &lhs, const GFNumber< IntegerT > &rhs) |
template<typename IntegerT > | |
GFNumber< IntegerT > | operator* (const GFNumber< IntegerT > &lhs, const IntegerT &rhs) |
template<typename IntegerT > | |
GFNumber< IntegerT > | operator* (const IntegerT &lhs, const GFNumber< IntegerT > &rhs) |
template<typename IntegerT > | |
GFNumber< IntegerT > | operator/ (const GFNumber< IntegerT > &lhs, const GFNumber< IntegerT > &rhs) |
std::ostream & | operator<< (std::ostream &os, const GFNumber &rhs) |
Galois Field numbers, i.e.
numbers from fields with a finite characteristic.
Definition at line 20 of file GFNumber.h.
|
default |
|
inlineexplicit |
Definition at line 28 of file GFNumber.h.
|
inline |
Definition at line 34 of file GFNumber.h.
|
inline |
Definition at line 40 of file GFNumber.h.
GFNumber carl::GFNumber< IntegerType >::inverse | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
GFNumber& carl::GFNumber< IntegerType >::operator*= | ( | const GFNumber< IntegerType > & | rhs | ) |
GFNumber& carl::GFNumber< IntegerType >::operator*= | ( | const IntegerType & | rhs | ) |
GFNumber& carl::GFNumber< IntegerType >::operator++ | ( | ) |
GFNumber& carl::GFNumber< IntegerType >::operator+= | ( | const GFNumber< IntegerType > & | rhs | ) |
GFNumber& carl::GFNumber< IntegerType >::operator+= | ( | const IntegerType & | rhs | ) |
const GFNumber carl::GFNumber< IntegerType >::operator- | ( | ) | const |
GFNumber& carl::GFNumber< IntegerType >::operator-- | ( | ) |
GFNumber& carl::GFNumber< IntegerType >::operator-= | ( | const GFNumber< IntegerType > & | rhs | ) |
GFNumber& carl::GFNumber< IntegerType >::operator-= | ( | const IntegerType & | rhs | ) |
GFNumber& carl::GFNumber< IntegerType >::operator/= | ( | const GFNumber< IntegerType > & | rhs | ) |
|
inline |
|
inline |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
Definition at line 158 of file GFNumber.h.
|
friend |
|
friend |
|
friend |
lhs == rhs, if rhs \in [lhs].
|
friend |
lhs == rhs, if rhs \in [lhs].
|
friend |
lhs == rhs, if lhs \in [rhs].
|
friend |
lhs == rhs, if lhs \in [rhs].
|
private |
Definition at line 23 of file GFNumber.h.
|
private |
Definition at line 22 of file GFNumber.h.