Bullet Collision Detection & Physics Library
Classes | Macros | Functions | Variables
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)   (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
 

Macro Definition Documentation

◆ _BTGETA

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

Definition at line 1583 of file btDantzigLCP.cpp.

◆ BTAROW

#define BTAROW (   i)    (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,
 
)    ((i > j) ? _BTGETA(i, j) : _BTGETA(j, i))

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.