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

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

Definition at line 1543 of file btDantzigLCP.cpp.

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

Definition at line 127 of file btDantzigLCP.cpp.

#define BTATYPE   btScalar **

Definition at line 126 of file btDantzigLCP.cpp.

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

Definition at line 1545 of file btDantzigLCP.cpp.

#define btLCP_FAST

Definition at line 122 of file btDantzigLCP.cpp.

#define BTNUB_OPTIMIZATIONS

Definition at line 134 of file btDantzigLCP.cpp.

#define BTROWPTRS

Definition at line 125 of file btDantzigLCP.cpp.

Function Documentation

size_t btEstimateLDLTAddTLTmpbufSize ( int  nskip)
inline

Definition at line 1547 of file btDantzigLCP.cpp.

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

Definition at line 304 of file btDantzigLCP.cpp.

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

Definition at line 1465 of file btDantzigLCP.cpp.

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 1553 of file btDantzigLCP.cpp.

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

Definition at line 1428 of file btDantzigLCP.cpp.

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 1781 of file btDantzigLCP.cpp.

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

Definition at line 526 of file btDantzigLCP.cpp.

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

Definition at line 148 of file btDantzigLCP.cpp.

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

Definition at line 220 of file btDantzigLCP.cpp.

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

Definition at line 819 of file btDantzigLCP.cpp.

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

Definition at line 1018 of file btDantzigLCP.cpp.

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 1104 of file btDantzigLCP.cpp.

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

Definition at line 1036 of file btDantzigLCP.cpp.

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

Definition at line 1010 of file btDantzigLCP.cpp.

Variable Documentation

bool s_error = false

Definition at line 116 of file btDantzigLCP.cpp.