Class representing an element of the \( \mathbb{F}_2 \) field. More...
#include <gudhi/Fields/Z2_field.h>
Public Types | |
using | Element = bool |
Public Member Functions | |
Z2_field_element () | |
Default constructor. | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
Z2_field_element (Integer_type element) | |
Constructor setting the element to the given value. More... | |
Z2_field_element (const Z2_field_element &toCopy) | |
Copy constructor. More... | |
Z2_field_element (Z2_field_element &&toMove) noexcept | |
Move constructor. More... | |
Z2_field_element & | operator= (Z2_field_element other) |
Assign operator. | |
Z2_field_element & | operator= (const unsigned int value) |
Assign operator. | |
operator unsigned int () const | |
Casts the element into an unsigned int. | |
Z2_field_element | get_inverse () const |
Returns the inverse of the element. More... | |
std::pair< Z2_field_element, unsigned int > | get_partial_inverse (unsigned int productOfCharacteristics) const |
For interface purposes with multi-fields. Returns the inverse together with the second argument. More... | |
Element | get_value () const |
Returns the value of the element. More... | |
Static Public Member Functions | |
static Z2_field_element | get_additive_identity () |
Returns the additive identity of the field. More... | |
static Z2_field_element | get_multiplicative_identity () |
Returns the multiplicative identity of the field. More... | |
static Z2_field_element | get_partial_multiplicative_identity (unsigned int productOfCharacteristics) |
For interface purposes with multi-fields. Returns the multiplicative identity of the field. More... | |
static constexpr unsigned int | get_characteristic () |
Returns the characteristic of the field, that is 2 . More... | |
Friends | |
void | operator+= (Z2_field_element &f1, Z2_field_element const &f2) |
operator+= | |
Z2_field_element | operator+ (Z2_field_element f1, Z2_field_element const &f2) |
operator+ | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
void | operator+= (Z2_field_element &f, const Integer_type &v) |
operator+= More... | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
Z2_field_element | operator+ (Z2_field_element f, const Integer_type &v) |
operator+ More... | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
Integer_type | operator+ (const Integer_type &v, const Z2_field_element &f) |
operator+ More... | |
void | operator-= (Z2_field_element &f1, Z2_field_element const &f2) |
operator-= | |
Z2_field_element | operator- (Z2_field_element f1, Z2_field_element const &f2) |
operator- | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
void | operator-= (Z2_field_element &f, const Integer_type &v) |
operator-= More... | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
Z2_field_element | operator- (Z2_field_element f, const Integer_type &v) |
operator- More... | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
Integer_type | operator- (const Integer_type v, Z2_field_element const &f) |
operator- More... | |
void | operator*= (Z2_field_element &f1, Z2_field_element const &f2) |
operator*= | |
Z2_field_element | operator* (Z2_field_element f1, Z2_field_element const &f2) |
operator* | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
void | operator*= (Z2_field_element &f, const Integer_type &v) |
operator*= More... | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
Z2_field_element | operator* (Z2_field_element f, const Integer_type &v) |
operator* More... | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
Integer_type | operator* (const Integer_type &v, Z2_field_element const &f) |
operator* More... | |
bool | operator== (const Z2_field_element &f1, const Z2_field_element &f2) |
operator== | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
bool | operator== (const Integer_type &v, const Z2_field_element &f) |
operator== More... | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
bool | operator== (const Z2_field_element &f, const Integer_type &v) |
operator== More... | |
bool | operator!= (const Z2_field_element &f1, const Z2_field_element &f2) |
operator!= | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
bool | operator!= (const Integer_type v, const Z2_field_element &f) |
operator!= More... | |
template<typename Integer_type , class = isInteger<Integer_type>> | |
bool | operator!= (const Z2_field_element &f, const Integer_type v) |
operator!= More... | |
void | swap (Z2_field_element &f1, Z2_field_element &f2) |
Swap operator. | |
Class representing an element of the \( \mathbb{F}_2 \) field.
using Gudhi::persistence_fields::Z2_field_element::Element = bool |
Type for the elements in the field.
|
inline |
Constructor setting the element to the given value.
Integer_type | A native integer type. Should be able to contain the characteristic. |
element | Value of the element. |
|
inline |
Copy constructor.
toCopy | Element to copy. |
|
inlinenoexcept |
Move constructor.
toMove | Element to move. |
|
inlinestatic |
Returns the additive identity of the field.
|
inlinestaticconstexpr |
Returns the characteristic of the field, that is 2
.
|
inline |
Returns the inverse of the element.
|
inlinestatic |
Returns the multiplicative identity of the field.
|
inline |
For interface purposes with multi-fields. Returns the inverse together with the second argument.
productOfCharacteristics | Some value. |
e
and the second element is productOfCharacteristics
.
|
inlinestatic |
For interface purposes with multi-fields. Returns the multiplicative identity of the field.
productOfCharacteristics | Some value. |
|
inline |
Returns the value of the element.
|
friend |
operator!=
Integer_type | A native integer type: int, unsigned int, long int, bool, etc. |
|
friend |
operator!=
Integer_type | A native integer type: int, unsigned int, long int, bool, etc. |
|
friend |
operator*
Integer_type | A native integer type: int, unsigned int, long int, bool, etc. |
|
friend |
operator*
Integer_type | A native integer type: int, unsigned int, long int, bool, etc. |
|
friend |
operator*=
Integer_type | A native integer type: int, unsigned int, long int, bool, etc. |
|
friend |
operator+
Integer_type | A native integer type: int, unsigned int, long int, bool, etc. |
|
friend |
operator+
Integer_type | A native integer type: int, unsigned int, long int, bool, etc. |
|
friend |
operator+=
Integer_type | A native integer type: int, unsigned int, long int, bool, etc. |
|
friend |
operator-
Integer_type | A native integer type: int, unsigned int, long int, bool, etc. |
|
friend |
operator-
Integer_type | A native integer type: int, unsigned int, long int, bool, etc. |
|
friend |
operator-=
Integer_type | A native integer type: int, unsigned int, long int, bool, etc. |
|
friend |
operator==
Integer_type | A native integer type: int, unsigned int, long int, bool, etc. |
|
friend |
operator==
Integer_type | A native integer type: int, unsigned int, long int, bool, etc. |