36 #ifndef R_STATS_PACKAGE_H
37 #define R_STATS_PACKAGE_H
40 #ifdef HAVE_VISIBILITY_ATTRIBUTE
41 # define attribute_hidden __attribute__ ((visibility ("hidden")))
43 # define attribute_hidden
50 enum AlgType {NREG = 1, OPT = 2};
52 enum VPos {F = 9, F0 = 12, FDIF = 10, G = 27, HC = 70};
54 enum IVPos {AI = 90, AM = 94, ALGSAV = 50, COVMAT = 25,
55 COVPRT = 13, COVREQ = 14, DRADPR = 100,
56 DTYPE = 15, IERR = 74, INITH = 24, INITS = 24,
57 IPIVOT = 75, IVNEED = 2, LASTIV = 42, LASTV = 44,
58 LMAT = 41, MXFCAL = 16, MXITER = 17, NEXTV = 46,
59 NFCALL = 5, NFCOV = 51, NFGCAL = 6, NGCOV = 52,
60 NITER = 30, NVDFLT = 49, NVSAVE = 8, OUTLEV = 18,
61 PARPRT = 19, PARSAV = 48, PERM = 57, PRUNIT = 20,
62 QRTYP = 79, RDREQ = 56, RMAT = 77, SOLPRT = 21,
63 STATPR = 22, TOOBIG = 1, VNEED = 3, VSAVE = 59,
67 S_Rf_divset(
int alg,
int iv[],
int liv,
int lv,
double v[]);
70 S_nlsb_iterate(
double b[],
double d[],
double dr[],
int iv[],
71 int liv,
int lv,
int n,
int nd,
int p,
72 double r[],
double rd[],
double v[],
double x[]);
75 S_nlminb_iterate(
double b[],
double d[],
double fx,
double g[],
76 double h[],
int iv[],
int liv,
int lv,
int n,
77 double v[],
double x[]);
79 static R_INLINE
int S_v_length(
int alg,
int n)
81 return (alg - 1) ? (105 + (n * (2 * n + 20))) :
82 (130 + (n * (n + 27))/2);
85 static R_INLINE
int S_iv_length(
int alg,
int n)
87 return (alg - 1) ? (82 + 4 * n) : (78 + 3 * n);