FflasFfpack
Data Structures | Public Types | Public Member Functions | Data Fields | Protected Types | Protected Attributes
RNSIntegerMod< RNS > Class Template Reference

#include <rns.h>

Data Structures

class  RandIter
 

Public Types

typedef RNS::Element Element
 
typedef RNS::Element_ptr Element_ptr
 
typedef RNS::ConstElement_ptr ConstElement_ptr
 

Public Member Functions

 RNSIntegerMod (const integer &p, const RNS &myrns)
 
const rns_doublerns () const
 
const RNSInteger< RNS > & delayed () const
 
size_t size () const
 
bool isOne (const Element &x) const
 
bool isMOne (const Element &x) const
 
bool isZero (const Element &x) const
 
integer characteristic (integer &p) const
 
integer cardinality (integer &p) const
 
Elementinit (Element &x) const
 
Elementinit (Element &x, const Givaro::Integer &y) const
 
Elementreduce (Element &x, const Element &y) const
 
Elementreduce (Element &x) const
 
Elementinit (Element &x, const Element &y) const
 
Givaro::Integer convert (Givaro::Integer &x, const Element &y) const
 
Elementassign (Element &x, const Element &y) const
 
Elementadd (Element &x, const Element &y, const Element &z) const
 
Elementsub (Element &x, const Element &y, const Element &z) const
 
Elementneg (Element &x, const Element &y) const
 
Elementmul (Element &x, const Element &y, const Element &z) const
 
Elementaxpyin (Element &x, const Element &y, const Element &z) const
 
Elementinv (Element &x, const Element &y) const
 
bool areEqual (const Element &x, const Element &y) const
 
std::ostream & write (std::ostream &os, const Element &y) const
 
std::ostream & write (std::ostream &os) const
 
void reduce_modp (size_t n, Element_ptr B) const
 
std::ostream & write_matrix (std::ostream &c, const double *E, int n, int m, int lda) const
 
std::ostream & write_matrix_long (std::ostream &c, const double *E, int n, int m, int lda) const
 
void reduce_modp (size_t m, size_t n, Element_ptr B, size_t lda) const
 
void reduce_modp_rnsmajor (size_t n, Element_ptr B) const
 

Data Fields

Element one
 
Element mOne
 
Element zero
 

Protected Types

typedef RNS::BasisElement BasisElement
 
typedef Givaro::Modular< BasisElementModField
 
typedef Givaro::Integer integer
 

Protected Attributes

integer _p
 
std::vector< BasisElement, AlignedAllocator< BasisElement, Alignment::CACHE_LINE > > _Mi_modp_rns
 
std::vector< BasisElement, AlignedAllocator< BasisElement, Alignment::CACHE_LINE > > _iM_modp_rns
 
const RNS * _rns
 
Givaro::Modular< Givaro::Integer > _F
 
RNSInteger< RNS > _RNSdelayed
 

Member Typedef Documentation

§ Element

typedef RNS::Element Element

§ Element_ptr

typedef RNS::Element_ptr Element_ptr

§ ConstElement_ptr

typedef RNS::ConstElement_ptr ConstElement_ptr

§ BasisElement

typedef RNS::BasisElement BasisElement
protected

§ ModField

typedef Givaro::Modular<BasisElement> ModField
protected

§ integer

typedef Givaro::Integer integer
protected

Constructor & Destructor Documentation

§ RNSIntegerMod()

RNSIntegerMod ( const integer p,
const RNS &  myrns 
)
inline

Member Function Documentation

§ rns()

const rns_double& rns ( ) const
inline

§ delayed()

const RNSInteger<RNS>& delayed ( ) const
inline

§ size()

size_t size ( ) const
inline

§ isOne()

bool isOne ( const Element x) const
inline

§ isMOne()

bool isMOne ( const Element x) const
inline

§ isZero()

bool isZero ( const Element x) const
inline

§ characteristic()

integer characteristic ( integer p) const
inline

§ cardinality()

integer cardinality ( integer p) const
inline

§ init() [1/3]

Element& init ( Element x) const
inline

§ init() [2/3]

Element& init ( Element x,
const Givaro::Integer &  y 
) const
inline

§ reduce() [1/2]

Element& reduce ( Element x,
const Element y 
) const
inline

§ reduce() [2/2]

Element& reduce ( Element x) const
inline

§ init() [3/3]

Element& init ( Element x,
const Element y 
) const
inline

§ convert()

Givaro::Integer convert ( Givaro::Integer &  x,
const Element y 
) const
inline

§ assign()

Element& assign ( Element x,
const Element y 
) const
inline

§ add()

Element& add ( Element x,
const Element y,
const Element z 
) const
inline

§ sub()

Element& sub ( Element x,
const Element y,
const Element z 
) const
inline

§ neg()

Element& neg ( Element x,
const Element y 
) const
inline

§ mul()

Element& mul ( Element x,
const Element y,
const Element z 
) const
inline

§ axpyin()

Element& axpyin ( Element x,
const Element y,
const Element z 
) const
inline

§ inv()

Element& inv ( Element x,
const Element y 
) const
inline

§ areEqual()

bool areEqual ( const Element x,
const Element y 
) const
inline

§ write() [1/2]

std::ostream& write ( std::ostream &  os,
const Element y 
) const
inline

§ write() [2/2]

std::ostream& write ( std::ostream &  os) const
inline

§ reduce_modp() [1/2]

void reduce_modp ( size_t  n,
Element_ptr  B 
) const
inline

§ write_matrix()

std::ostream& write_matrix ( std::ostream &  c,
const double *  E,
int  n,
int  m,
int  lda 
) const
inline

§ write_matrix_long()

std::ostream& write_matrix_long ( std::ostream &  c,
const double *  E,
int  n,
int  m,
int  lda 
) const
inline

§ reduce_modp() [2/2]

void reduce_modp ( size_t  m,
size_t  n,
Element_ptr  B,
size_t  lda 
) const
inline

§ reduce_modp_rnsmajor()

void reduce_modp_rnsmajor ( size_t  n,
Element_ptr  B 
) const
inline

Field Documentation

§ _p

integer _p
protected

§ _Mi_modp_rns

std::vector<BasisElement, AlignedAllocator<BasisElement, Alignment::CACHE_LINE> > _Mi_modp_rns
protected

§ _iM_modp_rns

std::vector<BasisElement, AlignedAllocator<BasisElement, Alignment::CACHE_LINE> > _iM_modp_rns
protected

§ _rns

const RNS* _rns
protected

§ _F

Givaro::Modular<Givaro::Integer> _F
protected

§ _RNSdelayed

RNSInteger<RNS> _RNSdelayed
protected

§ one

Element one

§ mOne

Element mOne

§ zero

Element zero

The documentation for this class was generated from the following files: