linbox
|
Boolean switch object. More...
#include <boolean.h>
Public Member Functions | |
BooleanSwitch (const bool s) | |
Constructor from an STL vector of booleans. | |
~BooleanSwitch () | |
Destructor. | |
template<class Field > | |
bool | apply (const Field &F, typename Field::Element &x, typename Field::Element &y) const |
Apply switch function. | |
template<class Field > | |
bool | applyTranspose (const Field &F, typename Field::Element &x, typename Field::Element &y) const |
Apply switch transpose function. | |
Boolean switch object.
This is a switch predicate object that is applied to two references to elements to switch them as needed by the Butterfly\ Switching\ Network\ BlackBox\ Matrix\ Object.
|
inline |
Constructor from an STL vector of booleans.
The switch is applied using the vector of booleans. A true value means to swap the two elements, and a false value means not to. The apply function starts at the beginning of the vector moving forward through it, and applyTranspose function starts at the end moving backwards. Both repeat the vector after they pass through it.
s | vector of switches |
|
inline |
Apply switch function.
Switches the elements in references according to current boolean value. Swaps the elements if boolean is true, otherwise does nothing. It is templatized by the element type to be swapped.
true
if swapped, false
otherwise F | |
x | reference to first element to be switched |
y | reference to second element to be switched |
|
inline |
Apply switch transpose function.
Switches the elements in references according to current boolean value. Swaps the elements if boolean is true, otherwise does nothing. It is templatized by the element type to be swapped.
true
if swapped, false
otherwise F | |
x | reference to first element to be switched |
y | reference to second element to be switched |