21 #ifndef __FUNCTION_AXPY_H 22 #define __FUNCTION_AXPY_H 41 enum class Direction : int {ADD_ADD=0, SUB_ADD=1, ADD_SUB=2, SUB_SUB=3};
44 FunctionAXPY(std::shared_ptr<const Function> func,
double scalar);
51 std::shared_ptr<const Function> func1,
56 std::shared_ptr<const Function> func,
66 std::vector<std::pair<
double, std::shared_ptr<const Function>>>
pairs);
93 const std::vector<std::pair<double, std::shared_ptr<const Function>>>&
101 std::vector<std::pair<double, std::shared_ptr<const Function>>> _pairs;
FunctionAXPY operator+(std::shared_ptr< const Function > func) const
Addition operator.
Definition: FunctionAXPY.cpp:107
const std::vector< std::pair< double, std::shared_ptr< const Function > > > & pairs() const
Return the scalar and Function pairs.
Definition: FunctionAXPY.cpp:128
Definition: FunctionAXPY.h:35
FunctionAXPY operator/(double scale) const
Scale operator.
Definition: FunctionAXPY.cpp:157
~FunctionAXPY()
Destructor.
Definition: FunctionAXPY.cpp:102
FunctionAXPY operator-(std::shared_ptr< const Function > func) const
Subtraction operator.
Definition: FunctionAXPY.cpp:117
Direction
Enum to decide what way AXPY is constructed.
Definition: FunctionAXPY.h:41
FunctionAXPY(std::shared_ptr< const Function > func, double scalar)
Constructor.
Definition: FunctionAXPY.cpp:29
FunctionAXPY operator*(double scale) const
Scale operator.
Definition: FunctionAXPY.cpp:152