2#include "LinearOperator.h"
3#include "AsynchronousTask.h"
22 void solve(
const Vector& B, Vector& X,
double& tolerance,
int& iterations);
24 void ParallellizeVectorOperations(
bool b){m_parallelize_vector_operations = b;}
28 double CG_squared_norm(
const Vector& a);
31 void CG_flip_and_add(
const Vector& a, Vector& b);
34 void CG_scale_and_add(
const Vector& a,
double beta, Vector& b);
41 double MultiOP(Vector& p, Vector& tmp,
double alpha, Vector& x, Vector& r);
50 bool m_parallelize_vector_operations;
56 void SetIndex(
int ix0,
int ix1);
58 virtual void Execute();
60 void CG_squared_norm(
const Vector& a);
61 void CG_flip_and_add(
const Vector& a, Vector& b);
62 void CG_scale_and_add(
const Vector& a,
double beta, Vector& b);
64 void MultiOP(Vector& p, Vector& tmp,
double alpha, Vector& x, Vector& r);
66 double GetAccumulator();
69 enum OPERATION {NOP, SQUARE_NORM, FLIP_AND_ADD, SCALE_AND_ADD, MULTI_OP} m_operation;
82 std::vector<VectorTask> m_vector_task;
Definition: ConjugateGradient.h:53
Definition: ConjugateGradient.h:12
void solve(const Vector &B, Vector &X, double &tolerance, int &iterations)
Definition: AsynchronousTask.h:20
Definition: AsynchronousTask.h:15
Definition: LinearOperator.h:12
Definition: CollisionManager.h:6