LinBox fields implement the concept which is specified in the field archetype.
Some implement a basic ring concept rather than a field (inv and div are partial functions). Ring representations with additional functions are also found in the linbox/ring directory.
Data Structures | |
| class | FieldAbstract |
| field base class. More... | |
| class | FieldArchetype |
| field specification and archetypical instance. More... | |
| class | FieldEnvelope |
| Derived class used to implement the field archetype. More... | |
| struct | GivaroField |
| give LinBox fields an allure of Givaro Fields More... | |
| class | GivaroGfq |
| class | GivaroMontg |
| wrapper of Givaro's Montgomery<Std32>. More... | |
| class | GivaroZpz |
| wrapper of Givaro's ZpzDom. More... | |
| class | Hom |
| map element of source ring(field) to target ring More... | |
| class | LidiaGfq |
| defines the Galois Field GF(pk). More... | |
| struct | Local2_32 |
| Fast arithmetic mod 2^32, including gcd. More... | |
| class | Modular< int > |
| template <> More... | |
| class | Modular< int32 > |
| template <> More... | |
| class | Modular< int8 > |
| Specialization of Modular to signed 8 bit element type with efficient dot product. More... | |
| class | Modular< double > |
| template <> More... | |
| class | Modular< int > |
| template <> More... | |
| class | Modular< int32 > |
| template <> More... | |
| class | Modular< int16 > |
| Specialization of Modular to short element type with efficient dot product. More... | |
| class | ModularBase |
| class | UnparametricRandIter< NTL::GF2E > |
| template<> More... | |
| struct | NTL_zz_p |
| struct | NTL_PID_zz_p |
| extend Wrapper of zz_p from NTL. Add PID functions More... | |
| class | ParamFuzzy |
| class | PIR_ntl_ZZ_p |
| extend Wrapper of ZZ_p from NTL. Add PIR functions More... | |
class RR. | |
| Rational number field. This field is provided as a convenience in a few places. Use with caution because expression swell.
This specialization allows the {UnparametricField} template class to be used to wrap NTL's RR class as a LinBox field. | |
| template<> NTL::RR & | LinBox::UnparametricField< NTL::RR >::init (NTL::RR &x, const integer &y) const |
| template<> integer & | LinBox::UnparametricField< NTL::RR >::convert (integer &x, const NTL::RR &y) const |
| template<> NTL::RR & | LinBox::UnparametricField< NTL::RR >::inv (NTL::RR &x, const NTL::RR &y) const |
| template<> bool | LinBox::UnparametricField< NTL::RR >::isZero (const NTL::RR &x) const |
| template<> bool | LinBox::UnparametricField< NTL::RR >::isOne (const NTL::RR &x) const |
| template<> NTL::RR & | LinBox::UnparametricField< NTL::RR >::invin (NTL::RR &x) const |
| template<> std::ostream & | LinBox::UnparametricField< NTL::RR >::write (std::ostream &os) const |
| template<> NTL::RR & | LinBox::UnparametricRandIter< NTL::RR >::random (NTL::RR &elt) const |
Functions | |
| template<> NTL::ZZ_p & | LinBox::UnparametricField< NTL::ZZ_p >::init (NTL::ZZ_p &x, const integer &y) const |
| Initialization of field element from an integer. Behaves like C++ allocator construct. This function assumes the output field element x has already been constructed, but that it is not already initialized. This done by converting to a std::string : inefficient but correct. | |
|
||||||||||||
|
Initialization of field element from an integer. Behaves like C++ allocator construct. This function assumes the output field element x has already been constructed, but that it is not already initialized. For now, this is done by converting the integer type to a C++ long and then to the element type through the use of static cast and NTL's to_RR function. This, of course, assumes such static casts are possible. This function should be changed in the future to avoid using long.
|
|
||||||||||||
|
Initialization of field element from an integer. Behaves like C++ allocator construct. This function assumes the output field element x has already been constructed, but that it is not already initialized. This done by converting to a std::string : inefficient but correct.
|
|
||||||||||||
|
Conversion of field element to an integer. This function assumes the output field element x has already been constructed, but that it is not already initialized. For now, this is done by converting the element type to a C++ long and then to the integer type through the use of static cast and NTL's to_long function. This, of course, assumes such static casts are possible. This function should be changed in the future to avoid using long.
|
|
||||||||||||
|
Multiplicative Inverse. x = 1 / y This function assumes both field elements have already been constructed and initialized.
|
|
|
Zero equality. Test if field element is equal to zero. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsZero function is called.
|
|
|
One equality. Test if field element is equal to one. This function assumes the field element has already been constructed and initialized. In this specialization, NTL's IsOne function is called.
|
|
|
Inplace Multiplicative Inverse. x = 1 / x This function assumes both field elements have already been constructed and initialized.
|
|
|
Print field.
|
|
|
Random field element creator. This returns a random field element from the information supplied at the creation of the generator. This generator uses the built-in C++ random number generator instead of NTL's random function because the NTL function does not allow as much control over the sampling size as the generic LinBox template. This specialization is included only to allow conversion to an NTL object.
|
1.3.7