The R Project SVN R

Rev

Rev 7002 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7002 Rev 7003
Line 20... Line 20...
20
 *
20
 *
21
 * Application Routines, typically implemented in  ../appl/
21
 * Application Routines, typically implemented in  ../appl/
22
 * ----------------------------------------------  ========
22
 * ----------------------------------------------  ========
23
 */
23
 */
24
 
24
 
25
#ifndef APPLIC_H_
25
#ifndef R_EXT_APPLIC_H_
26
#define APPLIC_H_
26
#define R_EXT_APPLIC_H_
27
 
27
 
28
#include "Rconfig.h"		/* F77... */
28
#include "R_ext/F77.h"
29
 
29
 
30
void approx(double *, double *, int *, double *, int *,
30
void approx(double *, double *, int *, double *, int *,
31
	    int *, double *, double *, double *);
31
	    int *, double *, double *, double *);
32
 
32
 
33
void bakslv(double *, int *, int *,
33
void bakslv(double *, int *, int *,
Line 50... Line 50...
50
void chull(int *n, double *x, int *m, int *in,
50
void chull(int *n, double *x, int *m, int *in,
51
	   int *ia, int *ib,
51
	   int *ia, int *ib,
52
	   int *ih, int *nh, int *il);
52
	   int *ih, int *nh, int *il);
53
 
53
 
54
/* cpoly.c : */
54
/* cpoly.c : */
55
int F77_SYMBOL(cpoly)(double *opr, double *opi, int *degree,
55
int F77_NAME(cpoly)(double *opr, double *opi, int *degree,
56
		      double *zeror, double *zeroi, int *fail);
56
		      double *zeror, double *zeroi, int *fail);
57
void polyev(int *,
57
void polyev(int *,
58
	    double *, double *, double *, double *,
58
	    double *, double *, double *, double *,
59
	    double *, double *, double *, double *);
59
	    double *, double *, double *, double *);
60
double errev(int *, double *, double *, double *,
60
double errev(int *, double *, double *, double *,
Line 78... Line 78...
78
#define CANBERRA  4
78
#define CANBERRA  4
79
#define BINARY	  5
79
#define BINARY	  5
80
void distance(double *, int *, int *, double *, int *, int *);
80
void distance(double *, int *, int *, double *, int *, int *);
81
 
81
 
82
/* eigen.c */
82
/* eigen.c */
83
int F77_SYMBOL(cg)(int *nm, int *n, double *ar, double *ai,
83
int F77_NAME(cg)(int *nm, int *n, double *ar, double *ai,
84
		   double *wr, double *wi, int *matz, double *zr, double *zi,
84
		   double *wr, double *wi, int *matz, double *zr, double *zi,
85
		   double *fv1, double *fv2, double *fv3, int *ierr);
85
		   double *fv1, double *fv2, double *fv3, int *ierr);
86
int F77_SYMBOL(ch)(int *nm, int *n, double *ar, double *ai,
86
int F77_NAME(ch)(int *nm, int *n, double *ar, double *ai,
87
		   double *w, int *matz, double *zr, double *zi,
87
		   double *w, int *matz, double *zr, double *zi,
88
		   double *fv1, double *fv2, double *fm1, int *ierr);
88
		   double *fv1, double *fv2, double *fm1, int *ierr);
89
int F77_SYMBOL(rg)(int *nm, int *n, double *a, double *wr, double *wi,
89
int F77_NAME(rg)(int *nm, int *n, double *a, double *wr, double *wi,
90
		   int *matz, double *z, int *iv1, double *fv1, int *ierr);
90
		   int *matz, double *z, int *iv1, double *fv1, int *ierr);
91
int F77_SYMBOL(rs)(int *nm, int *n, double *a, double *w,
91
int F77_NAME(rs)(int *nm, int *n, double *a, double *w,
92
		   int *matz, double *z, double *fv1, double *fv2, int *ierr);
92
		   int *matz, double *z, double *fv1, double *fv2, int *ierr);
93
 
93
 
94
/* fft.c */
94
/* fft.c */
95
/* NOTE:  The following functions use GLOBAL (static) variables !!
95
/* NOTE:  The following functions use GLOBAL (static) variables !!
96
 * ----   some of R-core think that this should be changed,
96
 * ----   some of R-core think that this should be changed,
Line 151... Line 151...
151
 
151
 
152
/* tabulate.c */
152
/* tabulate.c */
153
void tabulate(int *x, int *n, int *ans);
153
void tabulate(int *x, int *n, int *ans);
154
 
154
 
155
/* ../main/optimize.c */
155
/* ../main/optimize.c */
156
int F77_SYMBOL(result)(int *nr, int *n, double *x, double *f, double *g,
156
int F77_NAME(result)(int *nr, int *n, double *x, double *f, double *g,
157
		       double *a, double *p, int *itncnt, int *iflg, int *ipr);
157
		       double *a, double *p, int *itncnt, int *iflg, int *ipr);
158
 
158
 
159

159

160
/* ALL ../appl/<foobar>.f	[semi-automatically by
160
/* ALL ../appl/<foobar>.f	[semi-automatically by
161
 *				 f2c -A -P *.f; cat *.P > all.h	 and editing]
161
 *				 f2c -A -P *.f; cat *.P > all.h	 and editing]
162
 */
162
 */
163
typedef double (*D_fp)();
163
typedef double (*D_fp)();
164
typedef /* Subroutine */ int (*S_fp)();
164
typedef /* Subroutine */ int (*S_fp)();
165
 
165
 
166
/* ../appl/blas.f */
166
/* ../appl/blas.f */
167
double F77_SYMBOL(dasum)(int *n, double *dx, int *incx);
167
double F77_NAME(dasum)(int *n, double *dx, int *incx);
168
int F77_SYMBOL(daxpy)(int *n, double *da, double *dx, int *incx,
168
int F77_NAME(daxpy)(int *n, double *da, double *dx, int *incx,
169
		      double *dy, int *incy);
169
		      double *dy, int *incy);
170
int F77_SYMBOL(dcopy)(int *n, double *dx, int *incx, double *dy, int *incy);
170
int F77_NAME(dcopy)(int *n, double *dx, int *incx, double *dy, int *incy);
171
double F77_SYMBOL(ddot)(int *n, double *dx, int *incx, double *dy, int *incy);
171
double F77_NAME(ddot)(int *n, double *dx, int *incx, double *dy, int *incy);
172
double F77_SYMBOL(dmach)(int *job);
172
double F77_NAME(dmach)(int *job);
173
double F77_SYMBOL(dnrm2)(int *n, double *x, int *incx);
173
double F77_NAME(dnrm2)(int *n, double *x, int *incx);
174
int F77_SYMBOL(drot)(int *n, double *dx, int *incx, double *dy, int *incy,
174
int F77_NAME(drot)(int *n, double *dx, int *incx, double *dy, int *incy,
175
		     double *c__, double *s);
175
		     double *c__, double *s);
176
int F77_SYMBOL(drotg)(double *da, double *db, double *c__, double *s);
176
int F77_NAME(drotg)(double *da, double *db, double *c__, double *s);
177
int F77_SYMBOL(dscal)(int *n, double *da, double *dx, int *incx);
177
int F77_NAME(dscal)(int *n, double *da, double *dx, int *incx);
178
int F77_SYMBOL(dswap)(int *n, double *dx, int *incx, double *dy, int *incy);
178
int F77_NAME(dswap)(int *n, double *dx, int *incx, double *dy, int *incy);
179
int F77_SYMBOL(idamax)(int *n, double *dx, int *incx);
179
int F77_NAME(idamax)(int *n, double *dx, int *incx);
180
/*----*/
180
/*----*/
181
int F77_SYMBOL(ch2inv)(double *x, int *ldx, int *n, double *v, int *info);
181
int F77_NAME(ch2inv)(double *x, int *ldx, int *n, double *v, int *info);
182
int F77_SYMBOL(chol)(double *a, int *lda, int *n, double *v, int *info);
182
int F77_NAME(chol)(double *a, int *lda, int *n, double *v, int *info);
183
 
183
 
184
int F77_SYMBOL(dpoco)(double *a, int *lda, int *n, double *rcond,
184
int F77_NAME(dpoco)(double *a, int *lda, int *n, double *rcond,
185
		      double *z__, int *info);
185
		      double *z__, int *info);
186
int F77_SYMBOL(dpodi)(double *a, int *lda, int *n, double *det, int *job);
186
int F77_NAME(dpodi)(double *a, int *lda, int *n, double *det, int *job);
187
int F77_SYMBOL(dpofa)(double *a, int *lda, int *n, int *info);
187
int F77_NAME(dpofa)(double *a, int *lda, int *n, int *info);
188
int F77_SYMBOL(dposl)(double *a, int *lda, int *n, double *b);
188
int F77_NAME(dposl)(double *a, int *lda, int *n, double *b);
189
/* find qr decomposition, dqrdc2() is basis of R's qr() */
189
/* find qr decomposition, dqrdc2() is basis of R's qr() */
190
int F77_SYMBOL(dqrdc)(double *x, int *ldx, int *n, int *p,
190
int F77_NAME(dqrdc)(double *x, int *ldx, int *n, int *p,
191
		      double *qraux, int *jpvt, double *work, int *job);
191
		      double *qraux, int *jpvt, double *work, int *job);
192
int F77_SYMBOL(dqrdc2)(double *x, int *ldx, int *n, int *p,
192
int F77_NAME(dqrdc2)(double *x, int *ldx, int *n, int *p,
193
		       double *tol, int *rank,
193
		       double *tol, int *rank,
194
		       double *qraux, int *pivot, double *work);
194
		       double *qraux, int *pivot, double *work);
195
int F77_SYMBOL(dqrls)(double *x, int *n, int *p, double *y, int *ny,
195
int F77_NAME(dqrls)(double *x, int *n, int *p, double *y, int *ny,
196
		      double *tol, double *b, double *rsd,
196
		      double *tol, double *b, double *rsd,
197
		      double *qty, int *k,
197
		      double *qty, int *k,
198
		      int *jpvt, double *qraux, double *work);
198
		      int *jpvt, double *qraux, double *work);
199
/* solve for QR coefficients */
199
/* solve for QR coefficients */
200
int F77_SYMBOL(dqrsl)(double *x, int *ldx, int *n, int *k,
200
int F77_NAME(dqrsl)(double *x, int *ldx, int *n, int *k,
201
		      double *qraux, double *y,
201
		      double *qraux, double *y,
202
		      double *qy, double *qty, double *b,
202
		      double *qy, double *qty, double *b,
203
		      double *rsd, double *xb, int *job, int *info);
203
		      double *rsd, double *xb, int *job, int *info);
204
 
204
 
205
/* ../appl/dqrutl.f */
205
/* ../appl/dqrutl.f */
206
int F77_SYMBOL(dqrqty)(double *x, int *n, int *k, double *qraux,
206
int F77_NAME(dqrqty)(double *x, int *n, int *k, double *qraux,
207
		       double *y, int *ny, double *qty);
207
		       double *y, int *ny, double *qty);
208
int F77_SYMBOL(dqrqy)(double *x, int *n, int *k, double *qraux,
208
int F77_NAME(dqrqy)(double *x, int *n, int *k, double *qraux,
209
		      double *y, int *ny, double *qy);
209
		      double *y, int *ny, double *qy);
210
int F77_SYMBOL(dqrcf)(double *x, int *n, int *k, double *qraux,
210
int F77_NAME(dqrcf)(double *x, int *n, int *k, double *qraux,
211
		      double *y, int *ny, double *b, int *info);
211
		      double *y, int *ny, double *b, int *info);
212
int F77_SYMBOL(dqrrsd)(double *x, int *n, int *k, double *qraux,
212
int F77_NAME(dqrrsd)(double *x, int *n, int *k, double *qraux,
213
		       double *y, int *ny, double *rsd);
213
		       double *y, int *ny, double *rsd);
214
int F77_SYMBOL(dqrxb)(double *x, int *n, int *k, double *qraux,
214
int F77_NAME(dqrxb)(double *x, int *n, int *k, double *qraux,
215
		      double *y, int *ny, double *xb);
215
		      double *y, int *ny, double *xb);
216
/*---*/
216
/*---*/
217
 
217
 
218
int F77_SYMBOL(dsvdc)(double *x, int *ldx, int *n, int *p,
218
int F77_NAME(dsvdc)(double *x, int *ldx, int *n, int *p,
219
		      double *s, double *e,
219
		      double *s, double *e,
220
		      double *u, int *ldu, double *v, int *ldv,
220
		      double *u, int *ldu, double *v, int *ldv,
221
		      double *work, int *job, int *info);
221
		      double *work, int *job, int *info);
222
int F77_SYMBOL(dtrco)(double *t, int *ldt, int *n, double *rcond,
222
int F77_NAME(dtrco)(double *t, int *ldt, int *n, double *rcond,
223
		      double *z__, int *job);
223
		      double *z__, int *job);
224
int F77_SYMBOL(dtrsl)(double *t, int *ldt, int *n, double *b, int *job,
224
int F77_NAME(dtrsl)(double *t, int *ldt, int *n, double *b, int *job,
225
		      int *info);
225
		      int *info);
226
 
226
 
227
double F77_SYMBOL(fmin)(double *ax, double *bx, D_fp f, double *tol);
227
double F77_NAME(fmin)(double *ax, double *bx, D_fp f, double *tol);
228
int F77_SYMBOL(lminfl)(double *x, int *ldx, int *n, int *k, double *qraux,
228
int F77_NAME(lminfl)(double *x, int *ldx, int *n, int *k, double *qraux,
229
		       double *resid, double *hat, double *coef, double *sigma);
229
		       double *resid, double *hat, double *coef, double *sigma);
230
/* Only exported headers from ../appl/uncmin.f : */
230
/* Only exported headers from ../appl/uncmin.f : */
231
int F77_SYMBOL(fdhess)(int *n, double *x, double *fval,
231
int F77_NAME(fdhess)(int *n, double *x, double *fval,
232
		       S_fp fun, double *h__, int *nfd,
232
		       S_fp fun, double *h__, int *nfd,
233
		       double *step, double *f, int *ndigit, double *typx);
233
		       double *step, double *f, int *ndigit, double *typx);
234
int F77_SYMBOL(optif9)(int *nr, int *n, double *x,
234
int F77_NAME(optif9)(int *nr, int *n, double *x,
235
		       S_fp fcn, S_fp d1fcn, S_fp d2fcn, double *typsiz,
235
		       S_fp fcn, S_fp d1fcn, S_fp d2fcn, double *typsiz,
236
		       double *fscale, int *method, int *iexp, int *msg,
236
		       double *fscale, int *method, int *iexp, int *msg,
237
		       int *ndigit, int *itnlim, int *iagflg, int *iahflg,
237
		       int *ndigit, int *itnlim, int *iagflg, int *iahflg,
238
		       int *ipr, double *dlt, double *gradtl,
238
		       int *ipr, double *dlt, double *gradtl,
239
		       double *stepmx, double *steptl,
239
		       double *stepmx, double *steptl,