17 #ifdef __cminpack_double__ 18 #define __cminpack_real__ double 21 #ifdef __cminpack_float__ 22 #define __cminpack_real__ float 25 #ifdef __cminpack_half__ 26 #include <OpenEXR/half.h> 27 #define __cminpack_real__ half 40 #if defined (__GNUC__) 41 #define CMINPACK_DECLSPEC_EXPORT __declspec(__dllexport__) 42 #define CMINPACK_DECLSPEC_IMPORT __declspec(__dllimport__) 44 #if defined (_MSC_VER) || defined (__BORLANDC__) 45 #define CMINPACK_DECLSPEC_EXPORT __declspec(dllexport) 46 #define CMINPACK_DECLSPEC_IMPORT __declspec(dllimport) 49 #define CMINPACK_DECLSPEC_EXPORT __export 50 #define CMINPACK_DECLSPEC_IMPORT __import 53 #define CMINPACK_DECLSPEC_EXPORT _Export 54 #define CMINPACK_DECLSPEC_IMPORT _Import 57 #if !defined(CMINPACK_NO_DLL) && (defined(__WIN32__) || defined(WIN32) || defined (_WIN32)) 58 #if defined(cminpack_EXPORTS) || defined(CMINPACK_EXPORTS) || defined(CMINPACK_DLL_EXPORTS) 59 #define CMINPACK_EXPORT CMINPACK_DECLSPEC_EXPORT 61 #define CMINPACK_EXPORT CMINPACK_DECLSPEC_IMPORT 64 #define CMINPACK_EXPORT 67 #if defined(__CUDA_ARCH__) || defined(__CUDACC__) 68 #define __cminpack_attr__ __device__ 69 #ifndef __cminpack_real__ 70 #define __cminpack_float__ 71 #define __cminpack_real__ float 73 #define __cminpack_type_fcn_nn__ __cminpack_attr__ int fcn_nn 74 #define __cminpack_type_fcnder_nn__ __cminpack_attr__ int fcnder_nn 75 #define __cminpack_type_fcn_mn__ __cminpack_attr__ int fcn_mn 76 #define __cminpack_type_fcnder_mn__ __cminpack_attr__ int fcnder_mn 77 #define __cminpack_type_fcnderstr_mn__ __cminpack_attr__ int fcnderstr_mn 78 #define __cminpack_decl_fcn_nn__ 79 #define __cminpack_decl_fcnder_nn__ 80 #define __cminpack_decl_fcn_mn__ 81 #define __cminpack_decl_fcnder_mn__ 82 #define __cminpack_decl_fcnderstr_mn__ 83 #define __cminpack_param_fcn_nn__ 84 #define __cminpack_param_fcnder_nn__ 85 #define __cminpack_param_fcn_mn__ 86 #define __cminpack_param_fcnder_mn__ 87 #define __cminpack_param_fcnderstr_mn__ 89 #define __cminpack_attr__ 90 #ifndef __cminpack_real__ 91 #define __cminpack_double__ 92 #define __cminpack_real__ double 94 #define __cminpack_type_fcn_nn__ typedef int (*cminpack_func_nn) 95 #define __cminpack_type_fcnder_nn__ typedef int (*cminpack_funcder_nn) 96 #define __cminpack_type_fcn_mn__ typedef int (*cminpack_func_mn) 97 #define __cminpack_type_fcnder_mn__ typedef int (*cminpack_funcder_mn) 98 #define __cminpack_type_fcnderstr_mn__ typedef int (*cminpack_funcderstr_mn) 99 #define __cminpack_decl_fcn_nn__ cminpack_func_nn fcn_nn, 100 #define __cminpack_decl_fcnder_nn__ cminpack_funcder_nn fcnder_nn, 101 #define __cminpack_decl_fcn_mn__ cminpack_func_mn fcn_mn, 102 #define __cminpack_decl_fcnder_mn__ cminpack_funcder_mn fcnder_mn, 103 #define __cminpack_decl_fcnderstr_mn__ cminpack_funcderstr_mn fcnderstr_mn, 104 #define __cminpack_param_fcn_nn__ fcn_nn, 105 #define __cminpack_param_fcnder_nn__ fcnder_nn, 106 #define __cminpack_param_fcn_mn__ fcn_mn, 107 #define __cminpack_param_fcnder_mn__ fcnder_mn, 108 #define __cminpack_param_fcnderstr_mn__ fcnderstr_mn, 111 #ifdef __cminpack_double__ 112 #define __cminpack_func__(func) func 115 #ifdef __cminpack_float__ 116 #define __cminpack_func__(func) s ## func 119 #ifdef __cminpack_half__ 120 #define __cminpack_func__(func) h ## func 137 __cminpack_type_fcn_nn__(
void *p,
int n,
const __cminpack_real__ *x, __cminpack_real__ *fvec,
int iflag );
145 __cminpack_type_fcnder_nn__(
void *p,
int n,
const __cminpack_real__ *x, __cminpack_real__ *fvec, __cminpack_real__ *fjac,
146 int ldfjac,
int iflag );
155 __cminpack_type_fcn_mn__(
void *p,
int m,
int n,
const __cminpack_real__ *x, __cminpack_real__ *fvec,
164 __cminpack_type_fcnder_mn__(
void *p,
int m,
int n,
const __cminpack_real__ *x, __cminpack_real__ *fvec,
165 __cminpack_real__ *fjac,
int ldfjac,
int iflag );
173 __cminpack_type_fcnderstr_mn__(
void *p,
int m,
int n,
const __cminpack_real__ *x, __cminpack_real__ *fvec,
174 __cminpack_real__ *fjrow,
int iflag );
192 int CMINPACK_EXPORT __cminpack_func__(hybrd1)( __cminpack_decl_fcn_nn__
193 void *p,
int n, __cminpack_real__ *x, __cminpack_real__ *fvec, __cminpack_real__ tol,
194 __cminpack_real__ *wa,
int lwa );
200 int CMINPACK_EXPORT __cminpack_func__(hybrd)( __cminpack_decl_fcn_nn__
201 void *p,
int n, __cminpack_real__ *x, __cminpack_real__ *fvec, __cminpack_real__ xtol,
int maxfev,
202 int ml,
int mu, __cminpack_real__ epsfcn, __cminpack_real__ *diag,
int mode,
203 __cminpack_real__ factor,
int nprint,
int *nfev,
204 __cminpack_real__ *fjac,
int ldfjac, __cminpack_real__ *r,
int lr, __cminpack_real__ *qtf,
205 __cminpack_real__ *wa1, __cminpack_real__ *wa2, __cminpack_real__ *wa3, __cminpack_real__ *wa4);
210 int CMINPACK_EXPORT __cminpack_func__(hybrj1)( __cminpack_decl_fcnder_nn__
void *p,
int n, __cminpack_real__ *x,
211 __cminpack_real__ *fvec, __cminpack_real__ *fjac,
int ldfjac, __cminpack_real__ tol,
212 __cminpack_real__ *wa,
int lwa );
218 int CMINPACK_EXPORT __cminpack_func__(hybrj)( __cminpack_decl_fcnder_nn__
void *p,
int n, __cminpack_real__ *x,
219 __cminpack_real__ *fvec, __cminpack_real__ *fjac,
int ldfjac, __cminpack_real__ xtol,
220 int maxfev, __cminpack_real__ *diag,
int mode, __cminpack_real__ factor,
221 int nprint,
int *nfev,
int *njev, __cminpack_real__ *r,
222 int lr, __cminpack_real__ *qtf, __cminpack_real__ *wa1, __cminpack_real__ *wa2,
223 __cminpack_real__ *wa3, __cminpack_real__ *wa4 );
229 int CMINPACK_EXPORT __cminpack_func__(lmdif1)( __cminpack_decl_fcn_mn__
230 void *p,
int m,
int n, __cminpack_real__ *x, __cminpack_real__ *fvec, __cminpack_real__ tol,
231 int *iwa, __cminpack_real__ *wa,
int lwa );
238 int CMINPACK_EXPORT __cminpack_func__(lmdif)( __cminpack_decl_fcn_mn__
239 void *p,
int m,
int n, __cminpack_real__ *x, __cminpack_real__ *fvec, __cminpack_real__ ftol,
240 __cminpack_real__ xtol, __cminpack_real__ gtol,
int maxfev, __cminpack_real__ epsfcn,
241 __cminpack_real__ *diag,
int mode, __cminpack_real__ factor,
int nprint,
242 int *nfev, __cminpack_real__ *fjac,
int ldfjac,
int *ipvt,
243 __cminpack_real__ *qtf, __cminpack_real__ *wa1, __cminpack_real__ *wa2, __cminpack_real__ *wa3,
244 __cminpack_real__ *wa4 );
250 int CMINPACK_EXPORT __cminpack_func__(lmder1)( __cminpack_decl_fcnder_mn__
251 void *p,
int m,
int n, __cminpack_real__ *x, __cminpack_real__ *fvec, __cminpack_real__ *fjac,
252 int ldfjac, __cminpack_real__ tol,
int *ipvt,
253 __cminpack_real__ *wa,
int lwa );
259 int CMINPACK_EXPORT __cminpack_func__(lmder)( __cminpack_decl_fcnder_mn__
260 void *p,
int m,
int n, __cminpack_real__ *x, __cminpack_real__ *fvec, __cminpack_real__ *fjac,
261 int ldfjac, __cminpack_real__ ftol, __cminpack_real__ xtol, __cminpack_real__ gtol,
262 int maxfev, __cminpack_real__ *diag,
int mode, __cminpack_real__ factor,
263 int nprint,
int *nfev,
int *njev,
int *ipvt,
264 __cminpack_real__ *qtf, __cminpack_real__ *wa1, __cminpack_real__ *wa2, __cminpack_real__ *wa3,
265 __cminpack_real__ *wa4 );
271 int CMINPACK_EXPORT __cminpack_func__(lmstr1)( __cminpack_decl_fcnderstr_mn__
void *p,
int m,
int n,
272 __cminpack_real__ *x, __cminpack_real__ *fvec, __cminpack_real__ *fjac,
int ldfjac,
273 __cminpack_real__ tol,
int *ipvt, __cminpack_real__ *wa,
int lwa );
279 int CMINPACK_EXPORT __cminpack_func__(lmstr)( __cminpack_decl_fcnderstr_mn__
void *p,
int m,
280 int n, __cminpack_real__ *x, __cminpack_real__ *fvec, __cminpack_real__ *fjac,
281 int ldfjac, __cminpack_real__ ftol, __cminpack_real__ xtol, __cminpack_real__ gtol,
282 int maxfev, __cminpack_real__ *diag,
int mode, __cminpack_real__ factor,
283 int nprint,
int *nfev,
int *njev,
int *ipvt,
284 __cminpack_real__ *qtf, __cminpack_real__ *wa1, __cminpack_real__ *wa2, __cminpack_real__ *wa3,
285 __cminpack_real__ *wa4 );
288 void CMINPACK_EXPORT __cminpack_func__(chkder)(
int m,
int n,
const __cminpack_real__ *x, __cminpack_real__ *fvec, __cminpack_real__ *fjac,
289 int ldfjac, __cminpack_real__ *xp, __cminpack_real__ *fvecp,
int mode,
290 __cminpack_real__ *err );
293 __cminpack_real__ CMINPACK_EXPORT __cminpack_func__(dpmpar)(
int i );
296 __cminpack_real__ CMINPACK_EXPORT __cminpack_func__(enorm)(
int n,
const __cminpack_real__ *x );
302 int CMINPACK_EXPORT __cminpack_func__(fdjac2)(__cminpack_decl_fcn_mn__
303 void *p,
int m,
int n, __cminpack_real__ *x,
const __cminpack_real__ *fvec, __cminpack_real__ *fjac,
304 int ldfjac, __cminpack_real__ epsfcn, __cminpack_real__ *wa);
311 int CMINPACK_EXPORT __cminpack_func__(fdjac1)(__cminpack_decl_fcn_nn__
312 void *p,
int n, __cminpack_real__ *x,
const __cminpack_real__ *fvec, __cminpack_real__ *fjac,
int ldfjac,
313 int ml,
int mu, __cminpack_real__ epsfcn, __cminpack_real__ *wa1,
314 __cminpack_real__ *wa2);
320 void CMINPACK_EXPORT __cminpack_func__(covar)(
int n, __cminpack_real__ *r,
int ldr,
321 const int *ipvt, __cminpack_real__ tol, __cminpack_real__ *wa);
331 int CMINPACK_EXPORT __cminpack_func__(covar1)(
int m,
int n, __cminpack_real__ fsumsq, __cminpack_real__ *r,
int ldr,
332 const int *ipvt, __cminpack_real__ tol, __cminpack_real__ *wa);
336 void __cminpack_func__(dogleg)(
int n,
const __cminpack_real__ *r,
int lr,
337 const __cminpack_real__ *diag,
const __cminpack_real__ *qtb, __cminpack_real__ delta, __cminpack_real__ *x,
338 __cminpack_real__ *wa1, __cminpack_real__ *wa2);
340 void __cminpack_func__(qrfac)(
int m,
int n, __cminpack_real__ *a,
int 341 lda,
int pivot,
int *ipvt,
int lipvt, __cminpack_real__ *rdiag,
342 __cminpack_real__ *acnorm, __cminpack_real__ *wa);
344 void __cminpack_func__(qrsolv)(
int n, __cminpack_real__ *r,
int ldr,
345 const int *ipvt,
const __cminpack_real__ *diag,
const __cminpack_real__ *qtb, __cminpack_real__ *x,
346 __cminpack_real__ *sdiag, __cminpack_real__ *wa);
348 void __cminpack_func__(qform)(
int m,
int n, __cminpack_real__ *q,
int 349 ldq, __cminpack_real__ *wa);
351 void __cminpack_func__(r1updt)(
int m,
int n, __cminpack_real__ *s,
int 352 ls,
const __cminpack_real__ *u, __cminpack_real__ *v, __cminpack_real__ *w,
int *sing);
354 void __cminpack_func__(r1mpyq)(
int m,
int n, __cminpack_real__ *a,
int 355 lda,
const __cminpack_real__ *v,
const __cminpack_real__ *w);
357 void __cminpack_func__(lmpar)(
int n, __cminpack_real__ *r,
int ldr,
358 const int *ipvt,
const __cminpack_real__ *diag,
const __cminpack_real__ *qtb, __cminpack_real__ delta,
359 __cminpack_real__ *par, __cminpack_real__ *x, __cminpack_real__ *sdiag, __cminpack_real__ *wa1,
360 __cminpack_real__ *wa2);
362 void __cminpack_func__(rwupdt)(
int n, __cminpack_real__ *r,
int ldr,
363 const __cminpack_real__ *w, __cminpack_real__ *b, __cminpack_real__ *alpha, __cminpack_real__ *cos,
364 __cminpack_real__ *sin);