108 template<
typename T_InterfaceTypes>
114 using Type =
typename InterfaceTypes::Type;
116 using Matrix =
typename InterfaceTypes::Matrix;
119 using Vector =
typename InterfaceTypes::Vector;
165 template<
typename Func,
typename MatrixA,
typename MatrixB>
169 template<
typename Func,
typename MatrixA,
typename MatrixB,
typename MatrixC>
173 template<
typename Func,
typename VectorA,
typename VectorB>
177 template<
typename Func,
typename VectorA,
typename VectorB,
typename VectorC>
181 template<
typename Func,
typename VectorA,
typename VectorB,
typename VectorC,
typename VectorD>
182 void iterateVector(Func func, VectorA* vecA, VectorB* vecB, VectorC* vecC, VectorD* vecD);
202 template<
typename Func>
#define CODI_DD(Type, Default)
Abbreviation for CODI_DECLARE_DEFAULT.
Definition macros.hpp:94
#define CODI_ANY
Used in default declarations of expression templates.
Definition macros.hpp:98
CoDiPack - Code Differentiation Package.
Definition codi.hpp:90
void CODI_UNUSED(Args const &...)
Disable unused warnings for an arbitrary number of arguments.
Definition macros.hpp:46
Definition linearSystemInterface.hpp:52
int VectorIdentifier
V<typename Type::Identifier>).
Definition linearSystemInterface.hpp:65
int VectorReal
The Vector with the Real type of the CoDiPack type Type (e.g. V<typename Type::Real>).
Definition linearSystemInterface.hpp:63
int Type
A CoDiPack type or a floating point type.
Definition linearSystemInterface.hpp:55
int Vector
The Vector with Type as the computation type (e.g. V<Type>).
Definition linearSystemInterface.hpp:62
int MatrixIdentifier
M<typename Type::Identifier>).
Definition linearSystemInterface.hpp:60
int MatrixReal
The Matrix with the Real type of the CoDiPack type Type (e.g. M<typename Type::Real>).
Definition linearSystemInterface.hpp:58
int Matrix
The Matrix with Type as the computation type (e.g. M<Type>).
Definition linearSystemInterface.hpp:57
Definition linearSystemInterface.hpp:109
typename InterfaceTypes::MatrixReal MatrixReal
See LinearSystemInterfaceTypes.
Definition linearSystemInterface.hpp:117
void deleteMatrixReal(MatrixReal *A_v)
Delete a real matrix.
VectorReal * createVectorReal(V *vec)
MatrixReal * transposeMatrix(MatrixReal *A_v)
Create a transposed matrix.
Definition linearSystemInterface.hpp:208
typename InterfaceTypes::Matrix Matrix
See LinearSystemInterfaceTypes.
Definition linearSystemInterface.hpp:116
void subtractMultiply(VectorReal *t, VectorReal const *b_d, MatrixReal const *A_d, VectorReal const *x)
Computes t = b_d - A_d * x.
Definition linearSystemInterface.hpp:219
typename InterfaceTypes::VectorReal VectorReal
See LinearSystemInterfaceTypes.
Definition linearSystemInterface.hpp:120
VectorIdentifier * createVectorIdentifier(V *vec)
T_InterfaceTypes InterfaceTypes
See LinearSystemInterface.
Definition linearSystemInterface.hpp:112
void iterateMatrix(Func func, MatrixA *matA, MatrixB *matB)
Iterate over all elements in the matrices at the same time.
MatrixReal * createMatrixReal(M *mat)
void iterateDyadic(Func func, MatrixIdentifier *mat_id, VectorReal *x_v, VectorReal *b_b)
Definition linearSystemInterface.hpp:203
void iterateVector(Func func, VectorA *vecA, VectorB *vecB, VectorC *vecC)
Iterate over all elements in the vectors at the same time.
void deleteMatrixIdentifier(MatrixIdentifier *A_id)
Delete an identifier matrix.
void deleteVectorReal(VectorReal *vec_v)
Delete a real Vector.
typename InterfaceTypes::Type Type
See LinearSystemInterfaceTypes.
Definition linearSystemInterface.hpp:114
void iterateVector(Func func, VectorA *vecA, VectorB *vecB, VectorC *vecC, VectorD *vecD)
Iterate over all elements in the vectors at the same time.
void solveSystem(MatrixReal const *A, VectorReal const *b, VectorReal *x)
typename InterfaceTypes::MatrixIdentifier MatrixIdentifier
See LinearSystemInterfaceTypes.
Definition linearSystemInterface.hpp:118
void deleteVectorIdentifier(VectorIdentifier *vec_id)
Delete an identifier vector.
void solveSystemPrimal(MatrixReal const *A, VectorReal const *b, VectorReal *x)
Definition linearSystemInterface.hpp:231
typename InterfaceTypes::VectorIdentifier VectorIdentifier
See LinearSystemInterfaceTypes.
Definition linearSystemInterface.hpp:121
void iterateMatrix(Func func, MatrixA *matA, MatrixB *matB, MatrixC *matC)
Iterate over all elements in the matrices at the same time.
void iterateVector(Func func, VectorA *vecA, VectorB *vecB)
Iterate over all elements in the vectors at the same time.
MatrixIdentifier * createMatrixIdentifier(M *mat)
typename InterfaceTypes::Vector Vector
See LinearSystemInterfaceTypes.
Definition linearSystemInterface.hpp:119