Main Page Modules Namespace List Class Hierarchy Compound List File List Namespace Members Compound Members File Members Related Pages
FieldAXPY Class Template Reference
#include <field-axpy.h>
List of all members.
Detailed Description
template<class Field>
class LinBox::FieldAXPY< Field >
FieldAXPY object.
This class is used to wrap the operation y = y + a * x. It acts as an accumulator for y.
Through the use of template specialization, objects of this type can be used to speed up vector dot product operations. In particular, for finite fields, dividing by the modulus and taking the remainder is expensive. In many cases, this can be postponed until the end of the dot product operation, thus vastly improving performance.
This object is constructed from the field object F and a field element a which it stores and thus can use several times. The use of an object instead of a static variable to store the element a makes this method thread-safe.
- Parameters:
-
Member Typedef Documentation
typedef Field::Element Element
|
|
|
Definition of element type.
|
Constructor & Destructor Documentation
FieldAXPY |
( |
const Field & |
F |
) |
[inline] |
|
|
Constructor. A faxpy object if constructed from a Field and a field element. Copies of this objects are stored in the faxpy object. - Parameters:
-
F |
field F in which arithmetic is done |
|
FieldAXPY |
( |
const FieldAXPY< Field > & |
faxpy |
) |
[inline] |
|
|
Copy constructor. - Parameters:
-
|
Member Function Documentation
FieldAXPY& assign |
( |
const Element |
y |
) |
[inline] |
|
|
Assign method. Stores new field element for arithmetic. - Returns:
-
reference to self
- Parameters:
-
y_init |
constant reference to element a |
|
|
Retrieve y
Performs the delayed modding out if necessary |
|
Add a*x to y y += a*x. - Parameters:
-
a |
constant reference to element a |
x |
constant reference to element x |
|
FieldAXPY<Field>& operator= |
( |
const FieldAXPY< Field > & |
faxpy |
) |
[inline] |
|
|
Assignment operator - Parameters:
-
|
Generated on Mon Jun 20 09:16:52 2005 for linbox by
1.2.18