qpOASES  3.2.2
An Implementation of the Online Active Set Strategy
LapackBlasReplacement.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of qpOASES.
3  *
4  * qpOASES -- An Implementation of the Online Active Set Strategy.
5  * Copyright (C) 2007-2017 by Hans Joachim Ferreau, Andreas Potschka,
6  * Christian Kirches et al. All rights reserved.
7  *
8  * qpOASES is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * qpOASES is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16  * See the GNU Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with qpOASES; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  *
22  */
23 
24 
36 #ifndef QPOASES_LAPACKBLASREPLACEMENT_HPP
37 #define QPOASES_LAPACKBLASREPLACEMENT_HPP
38 
39 
40 #ifdef __AVOID_LA_NAMING_CONFLICTS__
41 
42  #define SGEMM qpOASES_sgemm
43  #define DGEMM qpOASES_gemm
44  #define SPOTRF qpOASES_spotrf
45  #define DPOTRF qpOASES_dpotrf
46  #define STRTRS qpOASES_strtrs
47  #define DTRTRS qpOASES_dtrtrs
48  #define STRCON qpOASES_strcon
49  #define DTRCON qpOASES_dtrcon
50 
51 #else
52 
53  #define SGEMM sgemm_
54  #define DGEMM dgemm_
55  #define SPOTRF spotrf_
56  #define DPOTRF dpotrf_
57  #define STRTRS strtrs_
58  #define DTRTRS dtrtrs_
59  #define STRCON strcon_
60  #define DTRCON dtrcon_
61 
62 #endif
63 
64 
65 #ifdef __USE_SINGLE_PRECISION__
66 
68  #define GEMM SGEMM
69 
70  #define POTRF SPOTRF
71 
73  #define TRTRS STRTRS
74 
75  #define TRCON strcon_
76 
77 #else
78 
80  #define GEMM DGEMM
81 
82  #define POTRF DPOTRF
83 
85  #define TRTRS DTRTRS
86 
87  #define TRCON DTRCON
88 
89 #endif /* __USE_SINGLE_PRECISION__ */
90 
91 
92 extern "C"
93 {
95  void DGEMM( const char*, const char*, const la_uint_t*, const la_uint_t*, const la_uint_t*,
96  const double*, const double*, const la_uint_t*, const double*, const la_uint_t*,
97  const double*, double*, const la_uint_t* );
99  void SGEMM( const char*, const char*, const la_uint_t*, const la_uint_t*, const la_uint_t*,
100  const float*, const float*, const la_uint_t*, const float*, const la_uint_t*,
101  const float*, float*, const la_uint_t* );
102 
104  void DPOTRF( const char*, const la_uint_t*, double*, const la_uint_t*, la_int_t* );
106  void SPOTRF( const char*, const la_uint_t*, float*, const la_uint_t*, la_int_t* );
107 
109  void DTRTRS( const char* UPLO, const char* TRANS, const char* DIAG, const la_uint_t* N, const la_uint_t* NRHS,
110  double* A, const la_uint_t* LDA, double* B, const la_uint_t* LDB, la_int_t* INFO );
112  void STRTRS( const char* UPLO, const char* TRANS, const char* DIAG, const la_uint_t* N, const la_uint_t* NRHS,
113  float* A, const la_uint_t* LDA, float* B, const la_uint_t* LDB, la_int_t* INFO );
114 
116  void DTRCON( const char* NORM, const char* UPLO, const char* DIAG, const la_uint_t* N, double* A, const la_uint_t* LDA,
117  double* RCOND, double* WORK, const la_uint_t* IWORK, la_int_t* INFO );
119  void STRCON( const char* NORM, const char* UPLO, const char* DIAG, const la_uint_t* N, float* A, const la_uint_t* LDA,
120  float* RCOND, float* WORK, const la_uint_t* IWORK, la_int_t* INFO );
121 }
122 
123 #endif /* QPOASES_LAPACKBLASREPLACEMENT_HPP */
124 
125 
126 /*
127  * end of file
128  */
void DGEMM(const char *, const char *, const la_uint_t *, const la_uint_t *, const la_uint_t *, const double *, const double *, const la_uint_t *, const double *, const la_uint_t *, const double *, double *, const la_uint_t *)
Definition: BLASReplacement.cpp:39
long la_int_t
Definition: Types.hpp:161
void DPOTRF(const char *, const la_uint_t *, double *, const la_uint_t *, la_int_t *)
Definition: LAPACKReplacement.cpp:39
void STRCON(const char *NORM, const char *UPLO, const char *DIAG, const la_uint_t *N, float *A, const la_uint_t *LDA, float *RCOND, float *WORK, const la_uint_t *IWORK, la_int_t *INFO)
Definition: LAPACKReplacement.cpp:148
void SGEMM(const char *, const char *, const la_uint_t *, const la_uint_t *, const la_uint_t *, const float *, const float *, const la_uint_t *, const float *, const la_uint_t *, const float *, float *, const la_uint_t *)
Definition: BLASReplacement.cpp:94
void STRTRS(const char *UPLO, const char *TRANS, const char *DIAG, const la_uint_t *N, const la_uint_t *NRHS, float *A, const la_uint_t *LDA, float *B, const la_uint_t *LDB, la_int_t *INFO)
Definition: LAPACKReplacement.cpp:131
void DTRTRS(const char *UPLO, const char *TRANS, const char *DIAG, const la_uint_t *N, const la_uint_t *NRHS, double *A, const la_uint_t *LDA, double *B, const la_uint_t *LDB, la_int_t *INFO)
Definition: LAPACKReplacement.cpp:123
void DTRCON(const char *NORM, const char *UPLO, const char *DIAG, const la_uint_t *N, double *A, const la_uint_t *LDA, double *RCOND, double *WORK, const la_uint_t *IWORK, la_int_t *INFO)
Definition: LAPACKReplacement.cpp:140
void SPOTRF(const char *, const la_uint_t *, float *, const la_uint_t *, la_int_t *)
Definition: LAPACKReplacement.cpp:81