CXXR (C++ R)
Rlapack.h
1 /*CXXR $Id: Rlapack.h 1348 2013-02-25 17:49:03Z arr $
2  *CXXR
3  *CXXR This file is part of CXXR, a project to refactor the R interpreter
4  *CXXR into C++. It may consist in whole or in part of program code and
5  *CXXR documentation taken from the R project itself, incorporated into
6  *CXXR CXXR (and possibly MODIFIED) under the terms of the GNU General Public
7  *CXXR Licence.
8  *CXXR
9  *CXXR CXXR is Copyright (C) 2008-13 Andrew R. Runnalls, subject to such other
10  *CXXR copyrights and copyright restrictions as may be stated below.
11  *CXXR
12  *CXXR CXXR is not part of the R project, and bugs and other issues should
13  *CXXR not be reported via r-bugs or other R project channels; instead refer
14  *CXXR to the CXXR website.
15  *CXXR */
16 
17 /*
18  * R : A Computer Language for Statistical Data Analysis
19  * Copyright (C) 2001-2010 The R Core Team.
20  *
21  * This program is free software; you can redistribute it and/or modify
22  * it under the terms of the GNU Lesser General Public License as published by
23  * the Free Software Foundation; either version 2.1 of the License, or
24  * (at your option) any later version.
25  *
26  * This program is distributed in the hope that it will be useful,
27  * but WITHOUT ANY WARRANTY; without even the implied warranty of
28  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
29  * GNU Lesser General Public License for more details.
30  *
31  * You should have received a copy of the GNU Lesser General Public License
32  * along with this program; if not, a copy is available at
33  * http://www.r-project.org/Licenses/
34  */
35 
36 /* Definitions for the Lapack module. Not intended for end-user use */
37 
38 #ifndef R_LAPACK_MODULE_H
39 #define R_LAPACK_MODULE_H
40 
41 #include <Rinternals.h>
42 
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46 
47 typedef SEXP (*Rf_La_svd)(SEXP jobu, SEXP jobv, SEXP x, SEXP s, SEXP u,
48  SEXP v, SEXP method);
49 typedef SEXP (*Rf_La_rs)(SEXP x, SEXP only_values);
50 typedef SEXP (*Rf_La_rg)(SEXP x, SEXP only_values);
51 typedef SEXP (*Rf_La_dlange)(SEXP A, SEXP type);
52 typedef SEXP (*Rf_La_dtrcon)(SEXP A, SEXP norm);
53 typedef SEXP (*Rf_La_dgecon)(SEXP A, SEXP norm);
54 typedef SEXP (*Rf_La_zgecon)(SEXP A, SEXP norm);
55 typedef SEXP (*Rf_La_ztrcon)(SEXP A, SEXP norm);
56 typedef SEXP (*Rf_La_zgesv)(SEXP A, SEXP B);
57 typedef SEXP (*Rf_La_zgeqp3)(SEXP A);
58 typedef SEXP (*Rf_qr_coef_cmplx)(SEXP Q, SEXP B);
59 typedef SEXP (*Rf_qr_qy_cmplx)(SEXP Q, SEXP B, SEXP trans);
60 typedef SEXP (*Rf_La_svd_cmplx)(SEXP jobu, SEXP jobv, SEXP x, SEXP s, SEXP u, SEXP v);
61 typedef SEXP (*Rf_La_rs_complex)(SEXP x, SEXP only_values);
62 typedef SEXP (*Rf_La_rg_complex)(SEXP x, SEXP only_values);
63 typedef SEXP (*Rf_La_chol)(SEXP A);
64 typedef SEXP (*Rf_La_chol2inv)(SEXP x, SEXP size);
65 typedef SEXP (*Rf_La_dgesv)(SEXP A, SEXP B, SEXP tol);
66 typedef SEXP (*Rf_La_dgeqp3)(SEXP A);
67 typedef SEXP (*Rf_qr_coef_real)(SEXP Q, SEXP B);
68 typedef SEXP (*Rf_qr_qy_real)(SEXP Q, SEXP B, SEXP trans);
69 typedef SEXP (*Rf_det_ge_real)(SEXP A, SEXP logarithm);
70 
71 typedef struct {
72  Rf_La_svd svd;
73  Rf_La_rs rs;
74  Rf_La_rg rg;
75  Rf_La_dlange dlange;
76  Rf_La_dgecon dgecon;
77  Rf_La_dtrcon dtrcon;
78  Rf_La_zgecon zgecon;
79  Rf_La_ztrcon ztrcon;
80  Rf_La_zgesv zgesv;
81  Rf_La_zgeqp3 zgeqp3;
82  Rf_qr_coef_cmplx qr_coef_cmplx;
83  Rf_qr_qy_cmplx qr_qy_cmplx;
84  Rf_La_svd_cmplx svd_cmplx;
85  Rf_La_rs_complex rs_cmplx;
86  Rf_La_rg_complex rg_cmplx;
87  Rf_La_chol chol;
88  Rf_La_chol2inv chol2inv;
89  Rf_La_dgesv dgesv;
90  Rf_La_dgeqp3 dgeqp3;
91  Rf_qr_coef_real qr_coef_real;
92  Rf_qr_qy_real qr_qy_real;
93  Rf_det_ge_real det_ge_real;
94 } R_LapackRoutines;
95 
96 R_LapackRoutines *R_setLapackRoutines(R_LapackRoutines *routines);
97 
98 #ifdef __cplusplus
99 }
100 #endif
101 
102 #endif /* R_LAPACK_MODULE_H */