Class representing an element of a multi-field, such that the product of all characteristics fits into the given Unsigned_integer_type template argument. The characteristics will corresponds to all prime numbers in the interval given as other template arguments.
More...
#include <gudhi/Fields/Multi_field_small.h>
Public Types | |
| using | element_type = Unsigned_integer_type |
| using | characteristic_type = element_type |
Public Member Functions | |
| Multi_field_element_with_small_characteristics () | |
| Default constructor. Sets the element to 0. | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| Multi_field_element_with_small_characteristics (Integer_type element) | |
| Constructor setting the element to the given value. | |
| Multi_field_element_with_small_characteristics (const Multi_field_element_with_small_characteristics &toCopy) | |
| Copy constructor. | |
| Multi_field_element_with_small_characteristics (Multi_field_element_with_small_characteristics &&toMove) noexcept | |
| Move constructor. | |
| Multi_field_element_with_small_characteristics & | operator= (Multi_field_element_with_small_characteristics other) |
| Assign operator. | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| Multi_field_element_with_small_characteristics & | operator= (const Integer_type &value) |
| Assign operator. | |
| operator unsigned int () const | |
| Casts the element into an unsigned int. | |
| Multi_field_element_with_small_characteristics | get_inverse () const |
| Returns the inverse of the element in the multi-field, see [boissonnat:hal-00922572]. | |
| std::pair< Multi_field_element_with_small_characteristics, characteristic_type > | get_partial_inverse (characteristic_type productOfCharacteristics) const |
| Returns the inverse of the element with respect to a sub-product of the characteristics in the multi-field, see [boissonnat:hal-00922572]. | |
| element_type | get_value () const |
| Returns the value of the element. | |
Static Public Member Functions | |
| static Multi_field_element_with_small_characteristics | get_additive_identity () |
| Returns the additive identity of a field. | |
| static Multi_field_element_with_small_characteristics | get_multiplicative_identity () |
| Returns the multiplicative identity of a field. | |
| static Multi_field_element_with_small_characteristics | get_partial_multiplicative_identity (const characteristic_type &productOfCharacteristics) |
| Returns the partial multiplicative identity of the multi-field from the given product. See [boissonnat:hal-00922572] for more details. | |
| static constexpr characteristic_type | get_characteristic () |
| Returns the product of all characteristics. | |
Friends | |
| void | operator+= (Multi_field_element_with_small_characteristics &f1, Multi_field_element_with_small_characteristics const &f2) |
| operator+= | |
| Multi_field_element_with_small_characteristics | operator+ (Multi_field_element_with_small_characteristics f1, Multi_field_element_with_small_characteristics const &f2) |
| operator+ | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| void | operator+= (Multi_field_element_with_small_characteristics &f, const Integer_type &v) |
| operator+= | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| Multi_field_element_with_small_characteristics | operator+ (Multi_field_element_with_small_characteristics f, const Integer_type &v) |
| operator+ | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| Integer_type | operator+ (const Integer_type &v, Multi_field_element_with_small_characteristics f) |
| operator+ | |
| void | operator-= (Multi_field_element_with_small_characteristics &f1, Multi_field_element_with_small_characteristics const &f2) |
| operator-= | |
| Multi_field_element_with_small_characteristics | operator- (Multi_field_element_with_small_characteristics f1, Multi_field_element_with_small_characteristics const &f2) |
| operator- | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| void | operator-= (Multi_field_element_with_small_characteristics &f, const Integer_type &v) |
| operator-= | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| Multi_field_element_with_small_characteristics | operator- (Multi_field_element_with_small_characteristics f, const Integer_type &v) |
| operator- | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| Integer_type | operator- (const Integer_type &v, const Multi_field_element_with_small_characteristics &f) |
| operator- | |
| void | operator*= (Multi_field_element_with_small_characteristics &f1, Multi_field_element_with_small_characteristics const &f2) |
| operator*= | |
| Multi_field_element_with_small_characteristics | operator* (Multi_field_element_with_small_characteristics f1, Multi_field_element_with_small_characteristics const &f2) |
| operator* | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| void | operator*= (Multi_field_element_with_small_characteristics &f, const Integer_type &v) |
| operator*= | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| Multi_field_element_with_small_characteristics | operator* (Multi_field_element_with_small_characteristics f, const Integer_type &v) |
| operator* | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| Integer_type | operator* (const Integer_type &v, Multi_field_element_with_small_characteristics f) |
| operator* | |
| bool | operator== (const Multi_field_element_with_small_characteristics &f1, const Multi_field_element_with_small_characteristics &f2) |
| operator== | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| bool | operator== (const Integer_type v, const Multi_field_element_with_small_characteristics &f) |
| operator== | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| bool | operator== (const Multi_field_element_with_small_characteristics &f, const Integer_type v) |
| operator== | |
| bool | operator!= (const Multi_field_element_with_small_characteristics &f1, const Multi_field_element_with_small_characteristics &f2) |
| operator!= | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| bool | operator!= (const Integer_type v, const Multi_field_element_with_small_characteristics &f) |
| operator!= | |
| template<typename Integer_type , class = isInteger<Integer_type>> | |
| bool | operator!= (const Multi_field_element_with_small_characteristics &f, const Integer_type v) |
| operator!= | |
| void | swap (Multi_field_element_with_small_characteristics &f1, Multi_field_element_with_small_characteristics &f2) |
| Swap operator. | |
Class representing an element of a multi-field, such that the product of all characteristics fits into the given Unsigned_integer_type template argument. The characteristics will corresponds to all prime numbers in the interval given as other template arguments.
| minimum | Interval closed lower bound. |
| maximum | Interval closed upper bound. |
| Unsigned_integer_type | A native unsigned integer type: unsigned int, long unsigned int, etc. Will be used as the field element type. |
| using Gudhi::persistence_fields::Multi_field_element_with_small_characteristics< minimum, maximum, Unsigned_integer_type, class >::characteristic_type = element_type |
Type for the field characteristic.
| using Gudhi::persistence_fields::Multi_field_element_with_small_characteristics< minimum, maximum, Unsigned_integer_type, class >::element_type = Unsigned_integer_type |
Type for the elements in the field.
|
inline |
Constructor setting the element to the given value.
| 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 a field.
|
inlinestaticconstexpr |
Returns the product of all characteristics.
|
inline |
Returns the inverse of the element in the multi-field, see [boissonnat:hal-00922572].
|
inlinestatic |
Returns the multiplicative identity of a field.
|
inline |
Returns the inverse of the element with respect to a sub-product of the characteristics in the multi-field, see [boissonnat:hal-00922572].
| productOfCharacteristics | Sub-product of the characteristics. |
|
inlinestatic |
Returns the partial multiplicative identity of the multi-field from the given product. See [boissonnat:hal-00922572] for more details.
| productOfCharacteristics | Product of the different characteristics to take into account in the multi-field. |
|
inline |
Returns the value of the element.
|
inline |
Assign operator.
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |
|
friend |
operator!=
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |
|
friend |
operator!=
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |
|
friend |
operator*
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |
|
friend |
operator*
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |
|
friend |
operator*=
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |
|
friend |
operator+
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |
|
friend |
operator+
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |
|
friend |
operator+=
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |
|
friend |
operator-
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |
|
friend |
operator-
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |
|
friend |
operator-=
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |
|
friend |
operator==
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |
|
friend |
operator==
| Integer_type | A native integer type. Should be able to contain the characteristic if signed. |