31 #include "ortho.decl.h"
33 #ifndef ORTHOHELPER_H_
34 # define ORTHOHELPER_H_
36 #include "CLA_Matrix.h"
49 void init(
int insize, internalType* inA, internalType* inB,
double infactorA,
double infactorB,
double infactorC)
52 memcpy(A,inA,size*
sizeof(internalType));
53 memcpy(B,inB,size*
sizeof(internalType));
70 m(_m), n(_n), matA (matA2), matB(matB2), matC(matC2),
uponCompletion(_orthoCB)
72 C=
new internalType[m*n];
87 matA.multiply(trigger->factorA, 0, A, OrthoHelper::step_cb, (
void*)
this,
88 thisIndex.x, thisIndex.y);
90 matB.multiply(trigger->factorB, 0, B, OrthoHelper::step_cb, (
void*)
this,
91 thisIndex.x, thisIndex.y);
93 matC.multiply(trigger->factorC, 0, C, OrthoHelper::step_cb, (
void*)
this,
94 thisIndex.x, thisIndex.y);
106 virtual void pup(PUP::er &p){
108 ArrayElement2D::pup(p);
112 C =
new internalType[m * n];
114 PUParray(p, C, m * n);
116 static inline void step_cb(
void *obj){
121 internalType *A, *B, *C;
virtual void pup(PUP::er &p)
CkCallback uponCompletion
Callback to the owner ortho chare array to be used at the end of my work (step 2) ...