TwiceAsNice  2019-02-18
Classes | Macros | Functions
lmbc_core.c File Reference
This graph shows which files directly or indirectly include this file:

Classes

struct  FUNC_STATE
 
struct  LMBC_DIF_DATA
 

Macros

#define FUNC_STATE   LM_ADD_PREFIX(func_state)
 
#define LNSRCH   LM_ADD_PREFIX(lnsrch)
 
#define BOXPROJECT   LM_ADD_PREFIX(boxProject)
 
#define BOXSCALE   LM_ADD_PREFIX(boxScale)
 
#define LEVMAR_BOX_CHECK   LM_ADD_PREFIX(levmar_box_check)
 
#define VECNORM   LM_ADD_PREFIX(vecnorm)
 
#define LEVMAR_BC_DER   LM_ADD_PREFIX(levmar_bc_der)
 
#define LEVMAR_BC_DIF   LM_ADD_PREFIX(levmar_bc_dif)
 
#define LEVMAR_FDIF_FORW_JAC_APPROX   LM_ADD_PREFIX(levmar_fdif_forw_jac_approx)
 
#define LEVMAR_FDIF_CENT_JAC_APPROX   LM_ADD_PREFIX(levmar_fdif_cent_jac_approx)
 
#define LEVMAR_TRANS_MAT_MAT_MULT   LM_ADD_PREFIX(levmar_trans_mat_mat_mult)
 
#define LEVMAR_L2NRMXMY   LM_ADD_PREFIX(levmar_L2nrmxmy)
 
#define LEVMAR_COVAR   LM_ADD_PREFIX(levmar_covar)
 
#define LMBC_DIF_DATA   LM_ADD_PREFIX(lmbc_dif_data)
 
#define LMBC_DIF_FUNC   LM_ADD_PREFIX(lmbc_dif_func)
 
#define LMBC_DIF_JACF   LM_ADD_PREFIX(lmbc_dif_jacf)
 
#define AX_EQ_B_LU   LM_ADD_PREFIX(Ax_eq_b_LU_noLapack)
 
#define __MEDIAN3(a, b, c)
 

Functions

static void BOXPROJECT (LM_REAL *p, LM_REAL *lb, LM_REAL *ub, int m)
 
static void BOXSCALE (LM_REAL *lb, LM_REAL *ub, LM_REAL *scl, int m, int div)
 
static LM_REAL VECNORM (LM_REAL *x, int n)
 
static void LNSRCH (int m, LM_REAL *x, LM_REAL f, LM_REAL *g, LM_REAL *p, LM_REAL alpha, LM_REAL *xpls, LM_REAL *ffpls, void(*func)(LM_REAL *p, LM_REAL *hx, int m, int n, void *adata), struct FUNC_STATE *state, int *mxtake, int *iretcd, LM_REAL stepmx, LM_REAL steptl, LM_REAL *sx)
 
int LEVMAR_BC_DER (void(*func)(LM_REAL *p, LM_REAL *hx, int m, int n, void *adata), void(*jacf)(LM_REAL *p, LM_REAL *j, int m, int n, void *adata), LM_REAL *p, LM_REAL *x, int m, int n, LM_REAL *lb, LM_REAL *ub, LM_REAL *dscl, int itmax, LM_REAL opts[4], LM_REAL info[LM_INFO_SZ], LM_REAL *work, LM_REAL *covar, void *adata)
 
static void LMBC_DIF_FUNC (LM_REAL *p, LM_REAL *hx, int m, int n, void *data)
 
static void LMBC_DIF_JACF (LM_REAL *p, LM_REAL *jac, int m, int n, void *data)
 
int LEVMAR_BC_DIF (void(*func)(LM_REAL *p, LM_REAL *hx, int m, int n, void *adata), LM_REAL *p, LM_REAL *x, int m, int n, LM_REAL *lb, LM_REAL *ub, LM_REAL *dscl, int itmax, LM_REAL opts[5], LM_REAL info[LM_INFO_SZ], LM_REAL *work, LM_REAL *covar, void *adata)
 

Macro Definition Documentation

◆ __MEDIAN3

#define __MEDIAN3 (   a,
  b,
 
)
Value:
( ((a) >= (b))?\
( ((c) >= (a))? (a) : ( ((c) <= (b))? (b) : (c) ) ) : \
( ((c) >= (b))? (b) : ( ((c) <= (a))? (a) : (c) ) ) )
Definition: base.hpp:36
int c
Definition: lutgen.py:3
list a
Definition: lutinvert.py:10
b
Definition: lmdemo.m:75

◆ AX_EQ_B_LU

#define AX_EQ_B_LU   LM_ADD_PREFIX(Ax_eq_b_LU_noLapack)

◆ BOXPROJECT

#define BOXPROJECT   LM_ADD_PREFIX(boxProject)

◆ BOXSCALE

#define BOXSCALE   LM_ADD_PREFIX(boxScale)

◆ FUNC_STATE

#define FUNC_STATE   LM_ADD_PREFIX(func_state)

◆ LEVMAR_BC_DER

#define LEVMAR_BC_DER   LM_ADD_PREFIX(levmar_bc_der)

◆ LEVMAR_BC_DIF

#define LEVMAR_BC_DIF   LM_ADD_PREFIX(levmar_bc_dif)

◆ LEVMAR_BOX_CHECK

#define LEVMAR_BOX_CHECK   LM_ADD_PREFIX(levmar_box_check)

◆ LEVMAR_COVAR

#define LEVMAR_COVAR   LM_ADD_PREFIX(levmar_covar)

◆ LEVMAR_FDIF_CENT_JAC_APPROX

#define LEVMAR_FDIF_CENT_JAC_APPROX   LM_ADD_PREFIX(levmar_fdif_cent_jac_approx)

◆ LEVMAR_FDIF_FORW_JAC_APPROX

#define LEVMAR_FDIF_FORW_JAC_APPROX   LM_ADD_PREFIX(levmar_fdif_forw_jac_approx)

◆ LEVMAR_L2NRMXMY

#define LEVMAR_L2NRMXMY   LM_ADD_PREFIX(levmar_L2nrmxmy)

◆ LEVMAR_TRANS_MAT_MAT_MULT

#define LEVMAR_TRANS_MAT_MAT_MULT   LM_ADD_PREFIX(levmar_trans_mat_mat_mult)

◆ LMBC_DIF_DATA

#define LMBC_DIF_DATA   LM_ADD_PREFIX(lmbc_dif_data)

◆ LMBC_DIF_FUNC

#define LMBC_DIF_FUNC   LM_ADD_PREFIX(lmbc_dif_func)

◆ LMBC_DIF_JACF

#define LMBC_DIF_JACF   LM_ADD_PREFIX(lmbc_dif_jacf)

◆ LNSRCH

#define LNSRCH   LM_ADD_PREFIX(lnsrch)

◆ VECNORM

#define VECNORM   LM_ADD_PREFIX(vecnorm)

Function Documentation

◆ BOXPROJECT()

static void BOXPROJECT ( LM_REAL p,
LM_REAL lb,
LM_REAL ub,
int  m 
)
static

◆ BOXSCALE()

static void BOXSCALE ( LM_REAL lb,
LM_REAL ub,
LM_REAL scl,
int  m,
int  div 
)
static

◆ LEVMAR_BC_DER()

int LEVMAR_BC_DER ( void(*)(LM_REAL *p, LM_REAL *hx, int m, int n, void *adata func,
void(*)(LM_REAL *p, LM_REAL *j, int m, int n, void *adata jacf,
LM_REAL p,
LM_REAL x,
int  m,
int  n,
LM_REAL lb,
LM_REAL ub,
LM_REAL dscl,
int  itmax,
LM_REAL  opts[4],
LM_REAL  info[LM_INFO_SZ],
LM_REAL work,
LM_REAL covar,
void *  adata 
)

◆ LEVMAR_BC_DIF()

int LEVMAR_BC_DIF ( void(*)(LM_REAL *p, LM_REAL *hx, int m, int n, void *adata func,
LM_REAL p,
LM_REAL x,
int  m,
int  n,
LM_REAL lb,
LM_REAL ub,
LM_REAL dscl,
int  itmax,
LM_REAL  opts[5],
LM_REAL  info[LM_INFO_SZ],
LM_REAL work,
LM_REAL covar,
void *  adata 
)

◆ LMBC_DIF_FUNC()

static void LMBC_DIF_FUNC ( LM_REAL p,
LM_REAL hx,
int  m,
int  n,
void *  data 
)
static

◆ LMBC_DIF_JACF()

static void LMBC_DIF_JACF ( LM_REAL p,
LM_REAL jac,
int  m,
int  n,
void *  data 
)
static

◆ LNSRCH()

static void LNSRCH ( int  m,
LM_REAL x,
LM_REAL  f,
LM_REAL g,
LM_REAL p,
LM_REAL  alpha,
LM_REAL xpls,
LM_REAL ffpls,
void(*)(LM_REAL *p, LM_REAL *hx, int m, int n, void *adata func,
struct FUNC_STATE state,
int *  mxtake,
int *  iretcd,
LM_REAL  stepmx,
LM_REAL  steptl,
LM_REAL sx 
)
static

◆ VECNORM()

static LM_REAL VECNORM ( LM_REAL x,
int  n 
)
static