FflasFfpack
Public Types | Public Member Functions | Static Public Member Functions | Data Fields | Static Public Attributes | Protected Attributes
ModularBalanced< float > Class Reference

#include <modular-balanced-float.h>

Public Types

typedef float Element
typedef unsigned long FieldInt
typedef
ModularBalancedRandIter< float > 
RandIter
typedef NonzeroRandIter
< ModularBalanced< float >
, RandIter
NonZeroRandIter

Public Member Functions

 ModularBalanced (int32_t p, int exp=1)
 ModularBalanced (Element p)
 ModularBalanced (double p)
 ModularBalanced (FieldInt p)
 ModularBalanced (const ModularBalanced< float > &mf)
ModularBalanced< Element > & assign (const ModularBalanced< Element > &F)
const ModularBalanced< float > & operator= (const ModularBalanced< float > &F)
FieldIntcardinality (FieldInt &c) const
FieldInt cardinality () const
long unsigned int & characteristic (long unsigned int &c) const
FieldInt characteristic () const
unsigned long & convert (unsigned long &x, const Element &y) const
float & convert (float &x, const Element &y) const
double & convert (double &x, const Element &y) const
std::ostreamwrite (std::ostream &os) const
std::istreamread (std::istream &is)
std::ostreamwrite (std::ostream &os, const Element &x) const
std::istreamread (std::istream &is, Element &x) const
Elementinit (Element &x, const unsigned long &y) const
Elementinit (Element &x, const long &y) const
Elementinit (Element &x, const double y=0) const
Elementinit (Element &x, const Element y=0) const
Elementassign (Element &x, const Element &y) const
bool areEqual (const Element &x, const Element &y) const
bool isZero (const Element &x) const
bool isOne (const Element &x) const
Elementadd (Element &x, const Element &y, const Element &z) const
Elementsub (Element &x, const Element &y, const Element &z) const
Elementmul (Element &x, const Element &y, const Element &z) const
Elementdiv (Element &x, const Element &y, const Element &z) const
Elementneg (Element &x, const Element &y) const
Elementinv (Element &x, const Element &y) const
Elementaxpy (Element &r, const Element &a, const Element &x, const Element &y) const
Elementaddin (Element &x, const Element &y) const
Elementsubin (Element &x, const Element &y) const
Elementmulin (Element &x, const Element &y) const
Elementdivin (Element &x, const Element &y) const
Elementnegin (Element &x) const
Elementinvin (Element &x) const
Elementaxpyin (Element &r, const Element &a, const Element &x) const

Static Public Member Functions

static Element getMaxModulus ()

Data Fields

const Element one
const Element zero
const Element mone

Static Public Attributes

static const bool balanced = true

Protected Attributes

Element modulus
Element half_mod
Element mhalf_mod
unsigned long lmodulus

Member Typedef Documentation

typedef float Element
typedef unsigned long FieldInt
typedef NonzeroRandIter<ModularBalanced<float>, RandIter> NonZeroRandIter

Constructor & Destructor Documentation

ModularBalanced ( int32_t  p,
int  exp = 1 
) [inline]
ModularBalanced ( Element  p) [inline]
ModularBalanced ( double  p) [inline]
ModularBalanced ( FieldInt  p) [inline]
ModularBalanced ( const ModularBalanced< float > &  mf) [inline]

Member Function Documentation

ModularBalanced<Element>& assign ( const ModularBalanced< Element > &  F) [inline]
const ModularBalanced<float>& operator= ( const ModularBalanced< float > &  F) [inline]
FieldInt& cardinality ( FieldInt c) const [inline]
FieldInt cardinality ( ) const [inline]
long unsigned int& characteristic ( long unsigned int &  c) const [inline]
FieldInt characteristic ( ) const [inline]
unsigned long& convert ( unsigned long &  x,
const Element y 
) const [inline]
float& convert ( float &  x,
const Element y 
) const [inline]
double& convert ( double &  x,
const Element y 
) const [inline]
std::ostream& write ( std::ostream os) const [inline]
std::istream& read ( std::istream is) [inline]
std::ostream& write ( std::ostream os,
const Element x 
) const [inline]
std::istream& read ( std::istream is,
Element x 
) const [inline]
Element& init ( Element x,
const unsigned long &  y 
) const [inline]
Element& init ( Element x,
const long &  y 
) const [inline]
Element& init ( Element x,
const double  y = 0 
) const [inline]
Element& init ( Element x,
const Element  y = 0 
) const [inline]
Element& assign ( Element x,
const Element y 
) const [inline]
bool areEqual ( const Element x,
const Element y 
) const [inline]
bool isZero ( const Element x) const [inline]
bool isOne ( const Element x) const [inline]
Element& add ( Element x,
const Element y,
const Element z 
) const [inline]
Element& sub ( Element x,
const Element y,
const Element z 
) const [inline]
Element& mul ( Element x,
const Element y,
const Element z 
) const [inline]
Element& div ( Element x,
const Element y,
const Element z 
) const [inline]
Todo:
remove temp
Element& neg ( Element x,
const Element y 
) const [inline]
Element& inv ( Element x,
const Element y 
) const [inline]
Element& axpy ( Element r,
const Element a,
const Element x,
const Element y 
) const [inline]
Element& addin ( Element x,
const Element y 
) const [inline]
Element& subin ( Element x,
const Element y 
) const [inline]
Element& mulin ( Element x,
const Element y 
) const [inline]
Element& divin ( Element x,
const Element y 
) const [inline]
Element& negin ( Element x) const [inline]
Element& invin ( Element x) const [inline]
Element& axpyin ( Element r,
const Element a,
const Element x 
) const [inline]
static Element getMaxModulus ( ) [inline, static]

Field Documentation

Element modulus [protected]
Element half_mod [protected]
Element mhalf_mod [protected]
unsigned long lmodulus [protected]
const Element one
const Element zero
const Element mone
const bool balanced = true [static]

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