Main Page   Modules   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

ParamFuzzy Class Reference

#include <param-fuzzy.h>

Inheritance diagram for ParamFuzzy:

FieldInterface List of all members.

Detailed Description

Abstract parameterized field of "fuzzy" doubles. Field has (non-static, non-negative) member to contain "fuzz value" of field. Doubles within this fuzz value are considered to be equal.


Public Types

typedef double Element
typedef ParamFuzzyRandIter RandIter

Public Methods

Object Management
 ParamFuzzy (const double &value=.000000001)
 ParamFuzzy (const ParamFuzzy &F)
ParamFuzzy & operator= (const ParamFuzzy &F)
Element & init (Element &x, const integer &y) const
integer & convert (integer &x, const Element &y) const
Element & assign (Element &x, const Element &y) const
integer & cardinality (integer &c) const
integer & characteristic (integer &c) const
Arithmetic Operations
x <- y op z; x <- op y These operations require all elements, including x, to be initialized before the operation is called. Uninitialized field base elements will give undefined results.

Object Management bool areEqual (const Element &x, const Element &y) const
Element & add (Element &x, const Element &y, const Element &z) const
Element & sub (Element &x, const Element &y, const Element &z) const
Element & mul (Element &x, const Element &y, const Element &z) const
Element & div (Element &x, const Element &y, const Element &z) const
Element & neg (Element &x, const Element &y) const
Element & inv (Element &x, const Element &y) const
Element & axpy (Element &r, const Element &a, const Element &x, const Element &y) const
Inplace Arithmetic Operations
x <- x op y; x <- op x

Arithmetic Operations bool isZero (const Element &x) const
bool isOne (const Element &x) const
Element & addin (Element &x, const Element &y) const
Element & subin (Element &x, const Element &y) const
Element & mulin (Element &x, const Element &y) const
Element & divin (Element &x, const Element &y) const
Element & negin (Element &x) const
Element & invin (Element &x) const
Element & axpyin (Element &r, const Element &a, const Element &x) const
Input/Output Operations
Inplace Arithmetic Operations
std::ostream & 
write (std::ostream &os) const
std::istream & read (std::istream &is)
std::ostream & write (std::ostream &os, const Element &x) const
std::istream & read (std::istream &is, Element &x) const


Member Typedef Documentation

typedef double Element
 

element type. It must meet the common object interface of elements as given in the the archetype ElementArchetype.

typedef ParamFuzzyRandIter RandIter
 

Random iterator generator type. It must meet the common object interface of random element generators as given in the the archetype RandIterArchetype.


Constructor & Destructor Documentation

ParamFuzzy (  const double &    value = .000000001 )  [inline]
 

Constructor from an integer. Sets the fuzz value of the field throug the static member of the element type.

Parameters:
value  constant reference to double fuzz value

ParamFuzzy (  const ParamFuzzy &    F )  [inline]
 

Copy constructor. Constructs ParamFuzzy object by copying the field. This is required to allow field objects to be passed by value into functions.

Parameters:
F  ParamFuzzy object.


Member Function Documentation

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

Addition. x = y + z This function assumes all the field base elements have already been constructed and initialized.

Returns:
reference to x.
Parameters:
x  field base element (reference returned).
y  field base element.
z  field base element.

Element& addin (  Element &    x,
const Element &    y
)  const [inline]
 

Inplace Addition. x += y This function assumes both field base elements have already been constructed and initialized.

Returns:
reference to x.
Parameters:
x  field base element (reference returned).
y  field base element.

Object Management bool areEqual (  const Element &    x,
const Element &    y
)  const [inline]
 

Equality of two elements. This function assumes both field base elements have already been constructed and initialized.

Returns:
boolean true if equal, false if not.
Parameters:
x  field base element
y  field base element

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

Assignment of one field base element to another. This function assumes both field base elements have already been constructed and initialized.

Returns:
reference to x
Parameters:
x  field base element (reference returned).
y  field base element.

Element& axpy (  Element &    r,
const Element &    a,
const Element &    x,
const Element &    y
)  const [inline]
 

Natural AXPY. r = a * x + y This function assumes all field elements have already been constructed and initialized.

Returns:
reference to r.
Parameters:
r  field element (reference returned).
a  field element.
x  field element.
y  field element.

Element& axpyin (  Element &    r,
const Element &    a,
const Element &    x
)  const [inline]
 

Inplace AXPY. r += a * x This function assumes all field elements have already been constructed and initialized. Purely virtual

Returns:
reference to r.
Parameters:
r  field element (reference returned).
a  field element.
x  field element.

integer& cardinality (  integer &    c )  const [inline]
 

Cardinality. Return integer representing cardinality of the domain. Returns a non-negative integer for all domains with finite cardinality, and returns -1 to signify a domain of infinite cardinality.

Returns:
integer representing cardinality of the domain

integer& characteristic (  integer &    c )  const [inline]
 

Characteristic. Return integer representing characteristic of the domain. Returns a positive integer to all domains with finite characteristic, and returns 0 to signify a domain of infinite characteristic.

Returns:
integer representing characteristic of the domain.

integer& convert (  integer &    x,
const Element &    y
)  const [inline]
 

Conversion of field base element to a template class T. This function assumes the output field base element x has already been constructed, but that it is not already initialized.

Returns:
reference to template class T.
Parameters:
x  template class T to contain output (reference returned).
y  constant field base element.

Element& div (  Element &    x,
const Element &    y,
const Element &    z
)  const [inline]
 

Division. x = y / z This function assumes all the field base elements have already been constructed and initialized.

Returns:
reference to x.
Parameters:
x  field base element (reference returned).
y  field base element.
z  field base element.

Element& divin (  Element &    x,
const Element &    y
)  const [inline]
 

Inplace Division. x /= y This function assumes both field base elements have already been constructed and initialized.

Returns:
reference to x.
Parameters:
x  field base element (reference returned).
y  field base element.

Element& init (  Element &    x,
const integer &    y
)  const [inline]
 

Initialization of field base element from an integer. Behaves like C++ allocator construct. This function assumes the output field base element x has already been constructed, but that it is not already initialized. This is not a specialization of the template function because such a specialization is not allowed inside the class declaration.

Returns:
reference to field base element.
Parameters:
x  field base element to contain output (reference returned).
y  integer.

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

Multiplicative Inverse. x = 1 / y This function assumes both field base elements have already been constructed and initialized.

Returns:
reference to x.
Parameters:
x  field base element (reference returned).
y  field base element.

Element& invin (  Element &    x )  const [inline]
 

Inplace Multiplicative Inverse. x = 1 / x This function assumes the field base elementhas already been constructed and initialized.

Returns:
reference to x.
Parameters:
x  field base element (reference returned).

bool isOne (  const Element &    x )  const [inline]
 

One equality. Test if field base element is equal to one. This function assumes the field base element has already been constructed and initialized.

Returns:
boolean true if equals one, false if not.
Parameters:
x  field base element.

Arithmetic Operations bool isZero (  const Element &    x )  const [inline]
 

Zero equality. Test if field base element is equal to zero. This function assumes the field base element has already been constructed and initialized.

Returns:
boolean true if equals zero, false if not.
Parameters:
x  field base element.

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

Multiplication. x = y * z This function assumes all the field base elements have already been constructed and initialized.

Returns:
reference to x.
Parameters:
x  field base element (reference returned).
y  field base element.
z  field base element.

Element& mulin (  Element &    x,
const Element &    y
)  const [inline]
 

Inplace Multiplication. x *= y This function assumes both field base elements have already been constructed and initialized.

Returns:
reference to x.
Parameters:
x  field base element (reference returned).
y  field base element.

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

Additive Inverse (Negation). x = - y This function assumes both field base elements have already been constructed and initialized.

Returns:
reference to x.
Parameters:
x  field base element (reference returned).
y  field base element.

Element& negin (  Element &    x )  const [inline]
 

Inplace Additive Inverse (Inplace Negation). x = - x This function assumes the field base element has already been constructed and initialized.

Returns:
reference to x.
Parameters:
x  field base element (reference returned).

ParamFuzzy& operator= (  const ParamFuzzy &    F )  [inline]
 

Assignment operator.

Returns:
reference to ParamFuzzy object for self
Parameters:
F  constant reference to ParamFuzzy object

std::istream& read (  std::istream &    is,
Element &    x
)  const [inline]
 

Read field base element. This function assumes the field base element has already been constructed and initialized.

Returns:
input stream from which field base element is read.
Parameters:
is  input stream from which field base element is read.
x  field base element.

std::istream& read (  std::istream &    is )  [inline]
 

Read field.

Returns:
input stream from which field is read.
Parameters:
is  input stream from which field is read.

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

Subtraction. x = y - z This function assumes all the field base elements have already been constructed and initialized.

Returns:
reference to x.
Parameters:
x  field base element (reference returned).
y  field base element.
z  field base element.

Element& subin (  Element &    x,
const Element &    y
)  const [inline]
 

Inplace Subtraction. x -= y This function assumes both field base elements have already been constructed and initialized.

Returns:
reference to x.
Parameters:
x  field base element (reference returned).
y  field base element.

std::ostream& write (  std::ostream &    os,
const Element &    x
)  const [inline]
 

Print field base element. This function assumes the field base element has already been constructed and initialized.

Returns:
output stream to which field base element is written.
Parameters:
os  output stream to which field base element is written.
x  field base element.

Inplace Arithmetic Operations std::ostream& write (  std::ostream &    os )  const [inline]
 

Print field.

Returns:
output stream to which field is written.
Parameters:
os  output stream to which field is written.


Generated on Mon Jun 20 09:16:55 2005 for linbox by doxygen1.2.18