25 lines
826 B
C++
25 lines
826 B
C++
|
// This code is in the public domain -- castanyo@yahoo.es
|
||
|
|
||
|
#pragma once
|
||
|
#ifndef NV_MATH_SOLVER_H
|
||
|
#define NV_MATH_SOLVER_H
|
||
|
|
||
|
#include "nvmath.h"
|
||
|
|
||
|
namespace nv
|
||
|
{
|
||
|
class SparseMatrix;
|
||
|
class FullVector;
|
||
|
|
||
|
|
||
|
// Linear solvers.
|
||
|
NVMATH_API bool LeastSquaresSolver(const SparseMatrix & A, const FullVector & b, FullVector & x, float epsilon = 1e-5f);
|
||
|
NVMATH_API bool LeastSquaresSolver(const SparseMatrix & A, const FullVector & b, FullVector & x, const uint * lockedParameters, uint lockedCount, float epsilon = 1e-5f);
|
||
|
NVMATH_API bool SymmetricSolver(const SparseMatrix & A, const FullVector & b, FullVector & x, float epsilon = 1e-5f);
|
||
|
//NVMATH_API void NonSymmetricSolver(const SparseMatrix & A, const FullVector & b, FullVector & x, float epsilon = 1e-5f);
|
||
|
|
||
|
} // nv namespace
|
||
|
|
||
|
|
||
|
#endif // NV_MATH_SOLVER_H
|