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);