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. |