qpOASES 3.2.1
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 __USE_SINGLE_PRECISION__
41
43 #define GEMM sgemm_
45 #define SYR ssyr_
47 #define SYR2 ssyr2_
49 #define POTRF spotrf_
50
52 /* #define GEQRF sgeqrf_ */
54 /* #define ORMQR sormqr_ */
56 #define TRTRS strtrs_
58 #define TRCON strcon_
59
60#else
61
63 #define GEMM dgemm_
65 #define SYR dsyr_
67 #define SYR2 dsyr2_
69 #define POTRF dpotrf_
70
72 /* #define GEQRF dgeqrf_ */
74 /* #define ORMQR dormqr_ */
76 #define TRTRS dtrtrs_
78 #define TRCON dtrcon_
79
80#endif /* __USE_SINGLE_PRECISION__ */
81
82
83extern "C"
84{
86 void dgemm_( const char*, const char*, const la_uint_t*, const la_uint_t*, const la_uint_t*,
87 const double*, const double*, const la_uint_t*, const double*, const la_uint_t*,
88 const double*, double*, const la_uint_t* );
90 void sgemm_( const char*, const char*, const la_uint_t*, const la_uint_t*, const la_uint_t*,
91 const float*, const float*, const la_uint_t*, const float*, const la_uint_t*,
92 const float*, float*, const la_uint_t* );
93
95 void dsyr_( const char*, const la_uint_t*, const double*, const double*,
96 const la_uint_t*, double*, const la_uint_t* );
98 void ssyr_( const char*, const la_uint_t*, const float*, const float*,
99 const la_uint_t*, float*, const la_uint_t* );
100
102 void dsyr2_( const char*, const la_uint_t*, const double*, const double*,
103 const la_uint_t*, const double*, const la_uint_t*, double*, const la_uint_t*);
105 void ssyr2_( const char*, const la_uint_t*, const float*, const float*,
106 const la_uint_t*, const float*, const la_uint_t*, float*, const la_uint_t*);
107
109 void dpotrf_( const char*, const la_uint_t*, double*, const la_uint_t*, la_int_t* );
111 void spotrf_( const char*, const la_uint_t*, float*, const la_uint_t*, la_int_t* );
112
113
115 /* void dgeqrf_( const la_uint_t* M, const la_uint_t* N, double* A, const la_uint_t* LDA,
116 double* TAU, double* WORK, const la_uint_t* LWORK, int *INFO );*/
118 /* void sgeqrf_( const la_uint_t* M, const la_uint_t* N, float* A, const la_uint_t* LDA,
119 float* TAU, float* WORK, const la_uint_t* LWORK, int *INFO );*/
120
122 /* void dormqr_( const char* SIDE, const char* TRANS, const la_uint_t* M, const la_uint_t* N, const la_uint_t* K,
123 double* A, const la_uint_t* LDA, double* TAU, double* C, const la_uint_t* LDC,
124 double* WORK, const la_uint_t* LWORK, int *INFO );*/
126 /* void sormqr_( const char* SIDE, const char* TRANS, const la_uint_t* M, const la_uint_t* N, const la_uint_t* K,
127 float* A, const la_uint_t* LDA, float* TAU, float* C, const la_uint_t* LDC,
128 float* WORK, const la_uint_t* LWORK, int *INFO );*/
129
131 void dtrtrs_( const char* UPLO, const char* TRANS, const char* DIAG, const la_uint_t* N, const la_uint_t* NRHS,
132 double* A, const la_uint_t* LDA, double* B, const la_uint_t* LDB, la_int_t* INFO );
134 void strtrs_( const char* UPLO, const char* TRANS, const char* DIAG, const la_uint_t* N, const la_uint_t* NRHS,
135 float* A, const la_uint_t* LDA, float* B, const la_uint_t* LDB, la_int_t* INFO );
136
138 void dtrcon_( const char* NORM, const char* UPLO, const char* DIAG, const la_uint_t* N, double* A, const la_uint_t* LDA,
139 double* RCOND, double* WORK, const la_uint_t* IWORK, la_int_t* INFO );
141 void strcon_( const char* NORM, const char* UPLO, const char* DIAG, const la_uint_t* N, float* A, const la_uint_t* LDA,
142 float* RCOND, float* WORK, const la_uint_t* IWORK, la_int_t* INFO );
143}
144
145#endif /* QPOASES_LAPACKBLASREPLACEMENT_HPP */
void dsyr2_(const char *, const la_uint_t *, const double *, const double *, const la_uint_t *, const double *, const la_uint_t *, double *, const la_uint_t *)
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:145
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:129
void ssyr_(const char *, const la_uint_t *, const float *, const float *, const la_uint_t *, float *, const la_uint_t *)
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:93
void spotrf_(const char *, const la_uint_t *, float *, const la_uint_t *, la_int_t *)
Definition: LAPACKReplacement.cpp:80
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:38
void ssyr2_(const char *, const la_uint_t *, const float *, const float *, const la_uint_t *, const float *, const la_uint_t *, float *, const la_uint_t *)
void dpotrf_(const char *, const la_uint_t *, double *, const la_uint_t *, la_int_t *)
Definition: LAPACKReplacement.cpp:38
void dsyr_(const char *, const la_uint_t *, const double *, const double *, const la_uint_t *, double *, const la_uint_t *)
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:137
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:121
long la_int_t
Definition: Types.hpp:161