20 #ifndef ACTION_TRISOLVE_MATRIX_PRODUCT
21 #define ACTION_TRISOLVE_MATRIX_PRODUCT
22 #include "utilities.h"
31 template<
class Interface>
40 MESSAGE(
"Action_trisolve_matrix Ctor");
44 init_matrix<pseudo_random>(A_stl,_size);
45 init_matrix<pseudo_random>(B_stl,_size);
46 init_matrix<null_function>(X_stl,_size);
47 init_matrix<null_function>(resu_stl,_size);
49 for (
int j=0;
j<_size; ++
j)
51 for (
int i=0;
i<
j; ++
i)
58 Interface::matrix_from_stl(A_ref,A_stl);
59 Interface::matrix_from_stl(B_ref,B_stl);
60 Interface::matrix_from_stl(X_ref,X_stl);
62 Interface::matrix_from_stl(
A,A_stl);
63 Interface::matrix_from_stl(
B,B_stl);
64 Interface::matrix_from_stl(
X,X_stl);
67 for (
int j=0;
j<_size; ++
j)
78 INFOS(
"illegal call to Action_trisolve_matrix Copy Ctor");
86 MESSAGE(
"Action_trisolve_matrix Dtor");
90 Interface::free_matrix(
A,_size);
91 Interface::free_matrix(
B,_size);
92 Interface::free_matrix(
X,_size);
94 Interface::free_matrix(A_ref,_size);
95 Interface::free_matrix(B_ref,_size);
96 Interface::free_matrix(X_ref,_size);
102 static inline std::string
name(
void )
120 Interface::trisolve_lower_matrix(
A,
B,
X,_size);
143 typename Interface::stl_matrix
A_stl;
144 typename Interface::stl_matrix
B_stl;
145 typename Interface::stl_matrix
X_stl;
148 typename Interface::gene_matrix
A_ref;
149 typename Interface::gene_matrix
B_ref;
150 typename Interface::gene_matrix
X_ref;
152 typename Interface::gene_matrix
A;
153 typename Interface::gene_matrix
B;
154 typename Interface::gene_matrix
X;