Bullet Collision Detection & Physics Library
btDantzigLCP.cpp File Reference
#include "btDantzigLCP.h"
#include <string.h>
Include dependency graph for btDantzigLCP.cpp:

Go to the source code of this file.

Classes

struct  btLCP
 

Macros

#define btLCP_FAST
 
#define BTROWPTRS
 
#define BTATYPE   btScalar **
 
#define BTAROW(i)
 
#define BTNUB_OPTIMIZATIONS
 
#define _BTGETA(i, j)
 
#define BTGETA(i, j)
 

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
 

Macro Definition Documentation

◆ _BTGETA

#define _BTGETA ( i,
j )
Value:
(A[i][j])

Definition at line 1583 of file btDantzigLCP.cpp.

◆ BTAROW

#define BTAROW ( i)
Value:
(m_A[i])

Definition at line 125 of file btDantzigLCP.cpp.

◆ BTATYPE

#define BTATYPE   btScalar **

Definition at line 124 of file btDantzigLCP.cpp.

◆ BTGETA

#define BTGETA ( i,
j )
Value:
((i > j) ? _BTGETA(i, j) : _BTGETA(j, i))
#define _BTGETA(i, j)

Definition at line 1585 of file btDantzigLCP.cpp.

◆ btLCP_FAST

#define btLCP_FAST

Definition at line 120 of file btDantzigLCP.cpp.

◆ BTNUB_OPTIMIZATIONS

#define BTNUB_OPTIMIZATIONS

Definition at line 132 of file btDantzigLCP.cpp.

◆ BTROWPTRS

#define BTROWPTRS

Definition at line 123 of file btDantzigLCP.cpp.

Function Documentation

◆ btEstimateLDLTAddTLTmpbufSize()

size_t btEstimateLDLTAddTLTmpbufSize ( int nskip)
inline

Definition at line 1587 of file btDantzigLCP.cpp.

◆ btFactorLDLT()

void btFactorLDLT ( btScalar * A,
btScalar * d,
int n,
int nskip1 )

Definition at line 305 of file btDantzigLCP.cpp.

◆ btLDLTAddTL()

void btLDLTAddTL ( btScalar * L,
btScalar * d,
const btScalar * a,
int n,
int nskip,
btAlignedObjectArray< btScalar > & scratch )

Definition at line 1502 of file btDantzigLCP.cpp.

◆ 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.

◆ btRemoveRowCol()

void btRemoveRowCol ( btScalar * A,
int n,
int nskip,
int r )

Definition at line 1464 of file btDantzigLCP.cpp.

◆ btSolveDantzigLCP()

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.

◆ btSolveL1()

void btSolveL1 ( const btScalar * L,
btScalar * B,
int n,
int lskip1 )

Definition at line 533 of file btDantzigLCP.cpp.

◆ btSolveL1_1()

static void btSolveL1_1 ( const btScalar * L,
btScalar * B,
int n,
int lskip1 )
static

Definition at line 144 of file btDantzigLCP.cpp.

◆ btSolveL1_2()

static void btSolveL1_2 ( const btScalar * L,
btScalar * B,
int n,
int lskip1 )
static

Definition at line 219 of file btDantzigLCP.cpp.

◆ btSolveL1T()

void btSolveL1T ( const btScalar * L,
btScalar * B,
int n,
int lskip1 )

Definition at line 832 of file btDantzigLCP.cpp.

◆ btSolveLDLT()

void btSolveLDLT ( const btScalar * L,
const btScalar * d,
btScalar * b,
int n,
int nskip )

Definition at line 1036 of file btDantzigLCP.cpp.

◆ btSwapProblem()

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 )
static

Definition at line 1127 of file btDantzigLCP.cpp.

◆ btSwapRowsAndCols()

static void btSwapRowsAndCols ( BTATYPE A,
int n,
int i1,
int i2,
int nskip,
int do_fast_row_swaps )
static

Definition at line 1052 of file btDantzigLCP.cpp.

◆ btVectorScale()

void btVectorScale ( btScalar * a,
const btScalar * d,
int n )

Definition at line 1027 of file btDantzigLCP.cpp.

Variable Documentation

◆ s_error

bool s_error = false

Definition at line 115 of file btDantzigLCP.cpp.