Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | btLCP |
Macros | |
#define | btLCP_FAST |
#define | BTROWPTRS |
#define | BTATYPE btScalar ** |
#define | BTAROW(i) (m_A[i]) |
#define | BTNUB_OPTIMIZATIONS |
#define | _BTGETA(i, j) (A[i][j]) |
#define | BTGETA(i, j) ((i > j) ? _BTGETA(i, j) : _BTGETA(j, i)) |
Functions | |
static void | btSolveL1_1 (const btScalar *L, btScalar *B, int n, int lskip1) |
static void | btSolveL1_2 (const btScalar *L, btScalar *B, int n, int lskip1) |
void | btFactorLDLT (btScalar *A, btScalar *d, int n, int nskip1) |
void | btSolveL1 (const btScalar *L, btScalar *B, int n, int lskip1) |
void | btSolveL1T (const btScalar *L, btScalar *B, int n, int lskip1) |
void | btVectorScale (btScalar *a, const btScalar *d, int n) |
void | btSolveLDLT (const btScalar *L, const btScalar *d, btScalar *b, int n, int nskip) |
static void | btSwapRowsAndCols (BTATYPE A, int n, int i1, int i2, int nskip, int do_fast_row_swaps) |
static void | btSwapProblem (BTATYPE A, btScalar *x, btScalar *b, btScalar *w, btScalar *lo, btScalar *hi, int *p, bool *state, int *findex, int n, int i1, int i2, int nskip, int do_fast_row_swaps) |
void | btRemoveRowCol (btScalar *A, int n, int nskip, int r) |
void | btLDLTAddTL (btScalar *L, btScalar *d, const btScalar *a, int n, int nskip, btAlignedObjectArray< btScalar > &scratch) |
size_t | btEstimateLDLTAddTLTmpbufSize (int nskip) |
void | btLDLTRemove (btScalar **A, const int *p, btScalar *L, btScalar *d, int n1, int n2, int r, int nskip, btAlignedObjectArray< btScalar > &scratch) |
bool | btSolveDantzigLCP (int n, btScalar *A, btScalar *x, btScalar *b, btScalar *outer_w, int nub, btScalar *lo, btScalar *hi, int *findex, btDantzigScratchMemory &scratchMem) |
Variables | |
bool | s_error = false |
Definition at line 1583 of file btDantzigLCP.cpp.
#define BTAROW | ( | i | ) | (m_A[i]) |
Definition at line 125 of file btDantzigLCP.cpp.
Definition at line 124 of file btDantzigLCP.cpp.
Definition at line 1585 of file btDantzigLCP.cpp.
#define btLCP_FAST |
Definition at line 120 of file btDantzigLCP.cpp.
#define BTNUB_OPTIMIZATIONS |
Definition at line 132 of file btDantzigLCP.cpp.
#define BTROWPTRS |
Definition at line 123 of file btDantzigLCP.cpp.
|
inline |
Definition at line 1587 of file btDantzigLCP.cpp.
Referenced by btLDLTRemove().
Definition at line 305 of file btDantzigLCP.cpp.
References A, btRecip, btSolveL1_1(), btSolveL1_2(), q1, and sum().
Referenced by btLCP::btLCP(), and btSolveDantzigLCP().
void btLDLTAddTL | ( | btScalar * | L, |
btScalar * | d, | ||
const btScalar * | a, | ||
int | n, | ||
int | nskip, | ||
btAlignedObjectArray< btScalar > & | scratch | ||
) |
Definition at line 1502 of file btDantzigLCP.cpp.
References Freestyle::a, btAssert, L, l, btAlignedObjectArray< T >::resize(), and SIMDSQRT12.
Referenced by btLDLTRemove().
void btLDLTRemove | ( | btScalar ** | A, |
const int * | p, | ||
btScalar * | L, | ||
btScalar * | d, | ||
int | n1, | ||
int | n2, | ||
int | r, | ||
int | nskip, | ||
btAlignedObjectArray< btScalar > & | scratch | ||
) |
Definition at line 1592 of file btDantzigLCP.cpp.
References A, Freestyle::a, btAssert, btEstimateLDLTAddTLTmpbufSize(), BTGETA, btLargeDot(), btLDLTAddTL(), btRemoveRowCol(), L, r, btAlignedObjectArray< T >::resize(), and t.
Referenced by btLCP::transfer_i_from_C_to_N().
Definition at line 1464 of file btDantzigLCP.cpp.
References A, btAssert, and r.
Referenced by btLDLTRemove().
bool btSolveDantzigLCP | ( | int | n, |
btScalar * | A, | ||
btScalar * | x, | ||
btScalar * | b, | ||
btScalar * | outer_w, | ||
int | nub, | ||
btScalar * | lo, | ||
btScalar * | hi, | ||
int * | findex, | ||
btDantzigScratchMemory & | scratchMem | ||
) |
Definition at line 1838 of file btDantzigLCP.cpp.
References A, btLCP::AiC_times_qC(), btLCP::Aii(), btLCP::AiN_times_qN(), btDantzigScratchMemory::Arows, usdtokens::b(), BT_INFINITY, btAssert, btFabs(), btFactorLDLT(), btSetZero(), btSolveLDLT(), btDantzigScratchMemory::C, btDantzigScratchMemory::d, btDantzigScratchMemory::Dell, btDantzigScratchMemory::delta_w, btDantzigScratchMemory::delta_x, btDantzigScratchMemory::ell, btLCP::getNub(), if(), btLCP::indexC(), btLCP::indexN(), btDantzigScratchMemory::L, btDantzigScratchMemory::m_scratch, btLCP::numC(), btLCP::numN(), btDantzigScratchMemory::p, btLCP::pC_plusequals_s_times_qC(), btLCP::pN_equals_ANC_times_qC(), btLCP::pN_plusequals_ANi(), btLCP::pN_plusequals_s_times_qN(), btAlignedObjectArray< T >::resize(), s_error, btLCP::solve1(), btDantzigScratchMemory::state, btLCP::transfer_i_from_C_to_N(), btLCP::transfer_i_from_N_to_C(), btLCP::transfer_i_to_C(), btLCP::transfer_i_to_N(), btLCP::unpermute(), w(), and x.
Referenced by btDantzigSolver::solveMLCP().
Definition at line 533 of file btDantzigLCP.cpp.
Referenced by btSolveLDLT(), btLCP::solve1(), and btLCP::transfer_i_from_N_to_C().
Definition at line 144 of file btDantzigLCP.cpp.
Referenced by btFactorLDLT().
Definition at line 219 of file btDantzigLCP.cpp.
Referenced by btFactorLDLT().
Definition at line 832 of file btDantzigLCP.cpp.
Referenced by btSolveLDLT(), and btLCP::solve1().
Definition at line 1036 of file btDantzigLCP.cpp.
References usdtokens::b(), btAssert, btSolveL1(), btSolveL1T(), btVectorScale(), and L.
Referenced by btLCP::btLCP(), and btSolveDantzigLCP().
|
static |
Definition at line 1127 of file btDantzigLCP.cpp.
References A, usdtokens::b(), btAssert, btSwapRowsAndCols(), i1, state, w(), and x.
Referenced by btLCP::btLCP(), btLCP::transfer_i_from_C_to_N(), btLCP::transfer_i_from_N_to_C(), and btLCP::transfer_i_to_C().
|
static |
Definition at line 1052 of file btDantzigLCP.cpp.
References A, btAssert, and i1.
Referenced by btSwapProblem().
Definition at line 1027 of file btDantzigLCP.cpp.
References Freestyle::a, and btAssert.
Referenced by btSolveLDLT().
bool s_error = false |
Definition at line 115 of file btDantzigLCP.cpp.
Referenced by btSolveDantzigLCP().