17#ifndef BT_DANTZIG_SOLVER_H
18#define BT_DANTZIG_SOLVER_H
54 const btScalar* Aptr = A.getBufferPointer();
56 for (
int i = 0; i < n * n; i++)
66 for (
int i = 0; i < n; i++)
80 for (
int i = 0; i < n; i++)
96 for (
int i = 0; i < n; i++)
bool btSolveDantzigLCP(int n, btScalar *A, btScalar *x, btScalar *b, btScalar *outer_w, int nub, btScalar *lo, btScalar *hi, int *findex, btDantzigScratchMemory &scratchMem)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
void resize(int newsize, const T &fillData=T())
original version written by Erwin Coumans, October 2013
btAlignedObjectArray< btScalar > m_hi
btAlignedObjectArray< btScalar > m_lo
btAlignedObjectArray< int > m_dependencies
btAlignedObjectArray< btScalar > m_x
btAlignedObjectArray< btScalar > m_b
btDantzigScratchMemory m_scratchMemory
virtual bool solveMLCP(const btMatrixXu &A, const btVectorXu &b, btVectorXu &x, const btVectorXu &lo, const btVectorXu &hi, const btAlignedObjectArray< int > &limitDependency, int numIterations, bool useSparsity=true)
btAlignedObjectArray< btScalar > m_A
btScalar m_acceptableUpperLimitSolution
btAlignedObjectArray< char > m_tempBuffer
original version written by Erwin Coumans, October 2013