packages feed

eigen-2.1.1: cbits/eigen-sparse-la.h

#include "eigen-runtime.h"

#include "Eigen/Core"
#include "Eigen/SparseCore"
#include "Eigen/OrderingMethods"

#include "Eigen/src/Core/util/DisableStupidWarnings.h"

#include "Eigen/src/misc/Solve.h"
#include "Eigen/src/misc/SparseSolve.h"

#include "Eigen/src/IterativeLinearSolvers/IterativeSolverBase.h"
#include "Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h"
#include "Eigen/src/IterativeLinearSolvers/ConjugateGradient.h"
#include "Eigen/src/IterativeLinearSolvers/BiCGSTAB.h"
// #include "Eigen/src/IterativeLinearSolvers/IncompleteLUT.h" is not MPL2 compliant

#include "Eigen/src/Core/util/ReenableStupidWarnings.h"

#include "Eigen/SparseLU"
#include "Eigen/SparseQR"

using namespace Eigen;

extern "C" {

enum Solver {
	ConjugateGradient,
	BiCGSTAB,
	SparseLU,
	SparseQR
};

const char* eigen_sparse_la_newSolver(int, int, void**);
const char* eigen_sparse_la_freeSolver(int, int, void*);
const char* eigen_sparse_la_factorize(int, int, void*, void*);
const char* eigen_sparse_la_analyzePattern(int, int, void*, void*);
const char* eigen_sparse_la_compute(int, int, void*, void*);
const char* eigen_sparse_la_tolerance(int, int, void*, double*);
const char* eigen_sparse_la_setTolerance(int, int, void*, double);
const char* eigen_sparse_la_maxIterations(int, int, void*, int*);
const char* eigen_sparse_la_setMaxIterations(int, int, void*, int);
const char* eigen_sparse_la_info(int, int, void*, int*);
const char* eigen_sparse_la_error(int, int, void*, double*);
const char* eigen_sparse_la_iterations(int, int, void*, int*);
const char* eigen_sparse_la_solve(int, int, void*, void*, void**);
// const char* eigen_sparse_la_solveWithGuess(int, int, void*, void*, void*, void**);

} // end extern "C"