PLASMA  2.4.5
PLASMA - Parallel Linear Algebra for Scalable Multi-core Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
plasma_sf77.c
Go to the documentation of this file.
1 
15 #include <stdlib.h>
16 #include "common.h"
17 #undef COMPLEX
18 #define REAL
19 
20 /*
21  * Lapack interface
22  */
23 #define PLASMA_SGEBRD PLASMA_FNAME(sgebrd, SGEBRD )
24 #define PLASMA_SGEEV PLASMA_FNAME(sgeev, SGEEV )
25 #define PLASMA_SGEHRD PLASMA_FNAME(sgehrd, SGEHRD )
26 #define PLASMA_SGELQF PLASMA_FNAME(sgelqf, SGELQF )
27 #define PLASMA_SGELQS PLASMA_FNAME(sgelqs, SGELQS )
28 #define PLASMA_SGELS PLASMA_FNAME(sgels, SGELS )
29 #define PLASMA_SGEQRF PLASMA_FNAME(sgeqrf, SGEQRF )
30 #define PLASMA_SGEQRS PLASMA_FNAME(sgeqrs, SGEQRS )
31 #define PLASMA_SGESV PLASMA_FNAME(sgesv, SGESV )
32 #define PLASMA_SGESVD PLASMA_FNAME(sgesvd, SGESVD )
33 #define PLASMA_SGETRF PLASMA_FNAME(sgetrf, SGETRF )
34 #define PLASMA_SGETRS PLASMA_FNAME(sgetrs, SGETRS )
35 #define PLASMA_SGESV_INCPIV PLASMA_FNAME(sgesv_incpiv, SGESV_INCPIV )
36 #define PLASMA_SGETRF_INCPIV PLASMA_FNAME(sgetrf_incpiv, SGETRF_INCPIV )
37 #define PLASMA_SGETRS_INCPIV PLASMA_FNAME(sgetrs_incpiv, SGETRS_INCPIV )
38 #define PLASMA_SSYEV PLASMA_FNAME(ssyev, SSYEV )
39 #define PLASMA_SSYGV PLASMA_FNAME(ssygv, SSYGV )
40 #define PLASMA_SSYGST PLASMA_FNAME(ssygst, SSYGST )
41 #define PLASMA_SSYTRD PLASMA_FNAME(ssytrd, SSYTRD )
42 #define PLASMA_SPOSV PLASMA_FNAME(sposv, SPOSV )
43 #define PLASMA_SPOTRF PLASMA_FNAME(spotrf, SPOTRF )
44 #define PLASMA_SPOTRI PLASMA_FNAME(spotri, SPOTRI )
45 #define PLASMA_SPOTRS PLASMA_FNAME(spotrs, SPOTRS )
46 #define PLASMA_STRSMPL PLASMA_FNAME(strsmpl, STRSMPL)
47 #define PLASMA_SORGBR PLASMA_FNAME(sorgbr, SORGBR )
48 #define PLASMA_SORGHR PLASMA_FNAME(sorghr, SORGHR )
49 #define PLASMA_SORGLQ PLASMA_FNAME(sorglq, SORGLQ )
50 #define PLASMA_SORGQR PLASMA_FNAME(sorgqr, SORGQR )
51 #define PLASMA_SORGTR PLASMA_FNAME(sorgtr, SORGTR )
52 #define PLASMA_SORMLQ PLASMA_FNAME(sormlq, SORMLQ )
53 #define PLASMA_SORMQR PLASMA_FNAME(sormqr, SORMQR )
54 #define PLASMA_STRSM PLASMA_FNAME(strsm, STRSM )
55 #define PLASMA_SGEMM PLASMA_FNAME(sgemm, SGEMM )
56 #define PLASMA_SSYMM PLASMA_FNAME(ssymm, SSYMM )
57 #define PLASMA_SSYRK PLASMA_FNAME(ssyrk, SSYRK )
58 #ifdef COMPLEX
59 #define PLASMA_SSYMM PLASMA_FNAME(ssymm, SSYMM )
60 #define PLASMA_SSYRK PLASMA_FNAME(ssyrk, SSYRK )
61 #endif
62 
63 /*
64  * Tile interface
65  */
66 #define PLASMA_SGEBRD_TILE PLASMA_TILE_FNAME(sgebrd, SGEBRD )
67 #define PLASMA_SGEEV_TILE PLASMA_TILE_FNAME(sgeev, SGEEV )
68 #define PLASMA_SGEHRD_TILE PLASMA_TILE_FNAME(sgehrd, SGEHRD )
69 #define PLASMA_SGELQF_TILE PLASMA_TILE_FNAME(sgelqf, SGELQF )
70 #define PLASMA_SGELQS_TILE PLASMA_TILE_FNAME(sgelqs, SGELQS )
71 #define PLASMA_SGELS_TILE PLASMA_TILE_FNAME(sgels, SGELS )
72 #define PLASMA_SGEQRF_TILE PLASMA_TILE_FNAME(sgeqrf, SGEQRF )
73 #define PLASMA_SGEQRS_TILE PLASMA_TILE_FNAME(sgeqrs, SGEQRS )
74 #define PLASMA_SGESV_TILE PLASMA_TILE_FNAME(sgesv, SGESV )
75 #define PLASMA_SGESVD_TILE PLASMA_TILE_FNAME(sgesvd, SGESVD )
76 #define PLASMA_SGETRF_TILE PLASMA_TILE_FNAME(sgetrf, SGETRF )
77 #define PLASMA_SGETRS_TILE PLASMA_TILE_FNAME(sgetrs, SGETRS )
78 #define PLASMA_SGESV_INCPIV_TILE PLASMA_TILE_FNAME(sgesv_incpiv, SGESV_INCPIV )
79 #define PLASMA_SGETRF_INCPIV_TILE PLASMA_TILE_FNAME(sgetrf_incpiv, SGETRF_INCPIV )
80 #define PLASMA_SGETRS_INCPIV_TILE PLASMA_TILE_FNAME(sgetrs_incpiv, SGETRS_INCPIV )
81 #define PLASMA_SSYEV_TILE PLASMA_TILE_FNAME(ssyev, SSYEV )
82 #define PLASMA_SSYGV_TILE PLASMA_TILE_FNAME(ssygv, SSYGV )
83 #define PLASMA_SSYGST_TILE PLASMA_TILE_FNAME(ssygst, SSYGST )
84 #define PLASMA_SSYTRD_TILE PLASMA_TILE_FNAME(ssytrd, SSYTRD )
85 #define PLASMA_SPOSV_TILE PLASMA_TILE_FNAME(sposv, SPOSV )
86 #define PLASMA_SPOTRF_TILE PLASMA_TILE_FNAME(spotrf, SPOTRF )
87 #define PLASMA_SPOTRI_TILE PLASMA_TILE_FNAME(spotri, SPOTRI )
88 #define PLASMA_SPOTRS_TILE PLASMA_TILE_FNAME(spotrs, SPOTRS )
89 #define PLASMA_STRSM_TILE PLASMA_TILE_FNAME(strsm, STRSM )
90 #define PLASMA_STRSMPL_TILE PLASMA_TILE_FNAME(strsmpl, STRSMPL)
91 #define PLASMA_SORGBR_TILE PLASMA_TILE_FNAME(sorgbr, SORGBR )
92 #define PLASMA_SORGHR_TILE PLASMA_TILE_FNAME(sorghr, SORGHR )
93 #define PLASMA_SORGLQ_TILE PLASMA_TILE_FNAME(sorglq, SORGLQ )
94 #define PLASMA_SORGQR_TILE PLASMA_TILE_FNAME(sorgqr, SORGQR )
95 #define PLASMA_SORGTR_TILE PLASMA_TILE_FNAME(sorgtr, SORGTR )
96 #define PLASMA_SORMLQ_TILE PLASMA_TILE_FNAME(sormlq, SORMLQ )
97 #define PLASMA_SORMQR_TILE PLASMA_TILE_FNAME(sormqr, SORMQR )
98 #define PLASMA_SGEMM_TILE PLASMA_TILE_FNAME(sgemm, SGEMM )
99 #define PLASMA_SSYMM_TILE PLASMA_TILE_FNAME(ssymm, SSYMM )
100 #define PLASMA_SSYRK_TILE PLASMA_TILE_FNAME(ssyrk, SSYRK )
101 #ifdef COMPLEX
102 #define PLASMA_SSYMM_TILE PLASMA_TILE_FNAME(ssymm, SSYMM )
103 #define PLASMA_SSYRK_TILE PLASMA_TILE_FNAME(ssyrk, SSYRK )
104 #endif
105 
106 /*
107  * Workspaces
108  */
109 #define PLASMA_ALLOC_WORKSPACE_SGEBRD PLASMA_WS_FNAME(sgehrd, SGEBRD)
110 #define PLASMA_ALLOC_WORKSPACE_SGEEV PLASMA_WS_FNAME(sgeev, SGEEV )
111 #define PLASMA_ALLOC_WORKSPACE_SGEHRD PLASMA_WS_FNAME(sgehrd, SGEHRD)
112 #define PLASMA_ALLOC_WORKSPACE_SGELQF PLASMA_WS_FNAME(sgelqf, SGELQF)
113 #define PLASMA_ALLOC_WORKSPACE_SGELS PLASMA_WS_FNAME(sgels, SGELS )
114 #define PLASMA_ALLOC_WORKSPACE_SGEQRF PLASMA_WS_FNAME(sgeqrf, SGEQRF)
115 #define PLASMA_ALLOC_WORKSPACE_SGESV_INCPIV PLASMA_WS_FNAME(sgesv_incpiv, SGESV_INCPIV )
116 #define PLASMA_ALLOC_WORKSPACE_SGETRF_INCPIV PLASMA_WS_FNAME(sgetrf_incpiv, SGETRF_INCPIV)
117 #define PLASMA_ALLOC_WORKSPACE_SGESVD PLASMA_WS_FNAME(sgesvd, SGESVD)
118 #define PLASMA_ALLOC_WORKSPACE_SSYEV PLASMA_WS_FNAME(ssyev, SSYEV )
119 #define PLASMA_ALLOC_WORKSPACE_SSYGV PLASMA_WS_FNAME(ssygv, SSYGV )
120 #define PLASMA_ALLOC_WORKSPACE_SSYTRD PLASMA_WS_FNAME(ssytrd, SSYTRD)
121 
122 /*
123  * Tile Workspaces
124  */
125 #define PLASMA_ALLOC_WORKSPACE_SGELQF_TILE PLASMA_WST_FNAME(sgelqf, SGELQF )
126 #define PLASMA_ALLOC_WORKSPACE_SGELS_TILE PLASMA_WST_FNAME(sgels, SGELS )
127 #define PLASMA_ALLOC_WORKSPACE_SGEQRF_TILE PLASMA_WST_FNAME(sgeqrf, SGEQRF )
128 #define PLASMA_ALLOC_WORKSPACE_SGESV_INCPIV_TILE PLASMA_WST_FNAME(sgesv_incpiv, SGESV_INCPIV )
129 #define PLASMA_ALLOC_WORKSPACE_SGETRF_INCPIV_TILE PLASMA_WST_FNAME(sgetrf_incpiv, SGETRF_INCPIV)
130 
131 #define PLASMA_SLAPACK_TO_TILE PLASMA_FNAME(slapack_to_tile, SLAPACK_TO_TILE)
132 #define PLASMA_STILE_TO_LAPACK PLASMA_FNAME(stile_to_lapack, STILE_TO_LAPACK)
133 
134 #ifdef __cplusplus
135 extern "C" {
136 #endif
137 
138 /***************************************************************************/
141 void PLASMA_SGEBRD(PLASMA_enum *jobu, PLASMA_enum *jobvt, int *M, int *N, float *A, int *LDA, float *D, float *E, float *U, int *LDU, float *VT, int *LDVT, intptr_t *descT, int *INFO)
142 { *INFO = PLASMA_sgebrd(*jobu, *jobvt, *M, *N, A, *LDA, D, E, U, *LDU, VT, *LDVT, (PLASMA_desc *)(*descT)); }
143 
144 void PLASMA_SGELQF(int *M, int *N, float *A, int *LDA, float **T, int *INFO)
145 { *INFO = PLASMA_sgelqf(*M, *N, A, *LDA, *T); }
146 
147 void PLASMA_SGELQS(int *M, int *N, int *NRHS, float *A, int *LDA, float **T, float *B, int *LDB, int *INFO)
148 { *INFO = PLASMA_sgelqs(*M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
149 
150 void PLASMA_SGELS(PLASMA_enum *trans, int *M, int *N, int *NRHS, float *A, int *LDA, float **T, float *B, int *LDB, int *INFO)
151 { *INFO = PLASMA_sgels(*trans, *M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
152 
153 void PLASMA_SGEQRF(int *M, int *N, float *A, int *LDA, float **T, int *INFO)
154 { *INFO = PLASMA_sgeqrf(*M, *N, A, *LDA, *T); }
155 
156 void PLASMA_SGEQRS(int *M, int *N, int *NRHS, float *A, int *LDA, float **T, float *B, int *LDB, int *INFO)
157 { *INFO = PLASMA_sgeqrs(*M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
158 
159 void PLASMA_SGESV(int *N, int *NRHS, float *A, int *LDA, int *IPIV, float *B, int *LDB, int *INFO)
160 { *INFO = PLASMA_sgesv(*N, *NRHS, A, *LDA, IPIV, B, *LDB); }
161 
162 void PLASMA_SGESVD(PLASMA_enum *jobu, PLASMA_enum *jobvt, int *M, int *N, float *A, int *LDA, float *S, float *U, int *LDU, float *VT, int *LDVT, intptr_t *T, int *INFO)
163 { *INFO = PLASMA_sgesvd(*jobu, *jobvt, *M, *N, A, *LDA, S, U, *LDU, VT, *LDVT, (PLASMA_desc *)(*T)); }
164 
165 void PLASMA_SGETRF(int *M, int *N, float *A, int *LDA, int *IPIV, int *INFO)
166 { *INFO = PLASMA_sgetrf(*M, *N, A, *LDA, IPIV); }
167 
168 void PLASMA_SGETRS(PLASMA_enum *trans, int *N, int *NRHS, float *A, int *LDA, int *IPIV, float *B, int *LDB, int *INFO)
169 { *INFO = PLASMA_sgetrs(*trans, *N, *NRHS, A, *LDA, IPIV, B, *LDB); }
170 
171 void PLASMA_SGESV_INCPIV(int *N, int *NRHS, float *A, int *LDA, float **LH, int **IPIVH, float *B, int *LDB, int *INFO)
172 { *INFO = PLASMA_sgesv_incpiv(*N, *NRHS, A, *LDA, *LH, *IPIVH, B, *LDB); }
173 
174 void PLASMA_SGETRF_INCPIV(int *M, int *N, float *A, int *LDA, float **LH, int **IPIVH, int *INFO)
175 { *INFO = PLASMA_sgetrf_incpiv(*M, *N, A, *LDA, *LH, *IPIVH); }
176 
177 void PLASMA_SGETRS_INCPIV(PLASMA_enum *uplo, int *N, int *NRHS, float *A, int *LDA, float **LH, int **IPIVH, float *B, int *LDB, int *INFO)
178 { *INFO = PLASMA_sgetrs_incpiv(*uplo, *N, *NRHS, A, *LDA, *LH, *IPIVH, B, *LDB); }
179 
180 void PLASMA_SSYEV(PLASMA_enum *jobz, PLASMA_enum *uplo, int *N, float *A, int *LDA, float *W, intptr_t *T, float *Q, int *LDQ, int *INFO)
181 { *INFO = PLASMA_ssyev(*jobz, *uplo, *N, A, *LDA, W, (PLASMA_desc *)(*T), Q, *LDQ); }
182 
183 void PLASMA_SSYGV(PLASMA_enum *itype, PLASMA_enum *jobz, PLASMA_enum *uplo, int *N, float *A, int *LDA, float *B, int *LDB, float *W, intptr_t *T, float *Q, int *LDQ, int *INFO)
184 { *INFO = PLASMA_ssygv(*itype, *jobz, *uplo, *N, A, *LDA, B, *LDB, W, (PLASMA_desc*)(*T), Q, *LDQ); }
185 
186 void PLASMA_SSYGST(PLASMA_enum *itype, PLASMA_enum *uplo, int *N, float *A, int *LDA, float *B, int *LDB, int *INFO)
187 { *INFO = PLASMA_ssygst(*itype, *uplo, *N, A, *LDA, B, *LDB); }
188 
189 void PLASMA_SSYTRD(PLASMA_enum *jobz, PLASMA_enum *uplo, int *N, float *A, int *LDA, float *D, float *E, intptr_t *T, float *Q, int *LDQ, int *INFO)
190 { *INFO = PLASMA_ssytrd(*jobz, *uplo, *N, A, *LDA, D, E, (PLASMA_desc *)(*T), Q, *LDQ); }
191 
192 void PLASMA_SPOSV(PLASMA_enum *uplo, int *N, int *NRHS, float *A, int *LDA, float *B, int *LDB, int *INFO)
193 { *INFO = PLASMA_sposv(*uplo, *N, *NRHS, A, *LDA, B, *LDB); }
194 
195 void PLASMA_SPOTRF(PLASMA_enum *uplo, int *N, float *A, int *LDA, int *INFO)
196 { *INFO = PLASMA_spotrf(*uplo, *N, A, *LDA); }
197 
198 void PLASMA_SPOTRI(PLASMA_enum *uplo, int *N, float *A, int *LDA, int *INFO)
199 { *INFO = PLASMA_spotri(*uplo, *N, A, *LDA); }
200 
201 void PLASMA_SPOTRS(PLASMA_enum *uplo, int *N, int *NRHS, float *A, int *LDA, float *B, int* LDB, int * INFO)
202 { *INFO = PLASMA_spotrs(*uplo, *N, *NRHS, A, *LDA, B, *LDB); }
203 
204 void PLASMA_STRSMPL(int *N, int *NRHS, float *A, int *LDA, float **LH, int **IPIVH, float *B, int *LDB, int *INFO)
205 { *INFO = PLASMA_strsmpl(*N, *NRHS, A, *LDA, *LH, *IPIVH, B, *LDB); }
206 
207 void PLASMA_SORGLQ(int *M, int *N, int *K, float *A, int *LDA, float **T, float *B, int *LDB, int *INFO)
208 { *INFO = PLASMA_sorglq(*M, *N, *K, A, *LDA, *T, B, *LDB); }
209 
210 void PLASMA_SORGQR(int *M, int *N, int *K, float *A, int *LDA, float **T, float *B, int *LDB, int *INFO)
211 { *INFO = PLASMA_sorgqr(*M, *N, *K, A, *LDA, *T, B, *LDB); }
212 
213 void PLASMA_SORMLQ(PLASMA_enum *side, PLASMA_enum *trans, int *M, int *N, int *K, float *A, int *LDA, float **T, float *B, int *LDB, int *INFO)
214 { *INFO = PLASMA_sormlq(*side, *trans, *M, *N, *K, A, *LDA, *T, B, *LDB); }
215 
216 void PLASMA_SORMQR(PLASMA_enum *side, PLASMA_enum *trans, int *M, int *N, int *K, float *A, int *LDA, float **T, float *B, int *LDB, int *INFO)
217 { *INFO = PLASMA_sormqr(*side, *trans, *M, *N, *K, A, *LDA, *T, B, *LDB); }
218 
219 void PLASMA_STRSM(PLASMA_enum *side, PLASMA_enum *uplo, PLASMA_enum *transA, PLASMA_enum *diag, int *N, int *NRHS, float *alpha, float *A, int *LDA, float *B, int *LDB, int *INFO)
220 { *INFO = PLASMA_strsm(*side, *uplo, *transA, *diag, *N, *NRHS, *alpha, A, *LDA, B, *LDB); }
221 
222 void PLASMA_SGEMM(PLASMA_enum *transA, PLASMA_enum *transB, int *M, int *N, int *K, float *alpha, float *A, int *LDA, float *B, int *LDB, float *beta, float *C, int *LDC, int *INFO)
223 { *INFO = PLASMA_sgemm(*transA, *transB, *M, *N, *K, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
224 
225 void PLASMA_SSYMM(PLASMA_enum *side, PLASMA_enum *uplo, int *M, int *N, float *alpha, float *A, int *LDA, float *B, int *LDB, float *beta, float *C, int *LDC, int *INFO)
226 { *INFO = PLASMA_ssymm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
227 
228 void PLASMA_SSYRK(PLASMA_enum *uplo, PLASMA_enum *trans, int *N, int *K, float *alpha, float *A, int *LDA, float *beta, float *C, int *LDC, int *INFO)
229 { *INFO = PLASMA_ssyrk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); }
230 
231 #ifdef COMPLEX
232 void PLASMA_SSYMM(PLASMA_enum *side, PLASMA_enum *uplo, int *M, int *N, float *alpha, float *A, int *LDA, float *B, int *LDB, float *beta, float *C, int *LDC, int *INFO)
233 { *INFO = PLASMA_ssymm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
234 
235 void PLASMA_SSYRK(PLASMA_enum *uplo, PLASMA_enum *trans, int *N, int *K, float *alpha, float *A, int *LDA, float *beta, float *C, int *LDC, int *INFO)
236 { *INFO = PLASMA_ssyrk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); }
237 #endif
238 
239 /***************************************************************************/
242 void PLASMA_SGEBRD_TILE(PLASMA_enum *jobu, PLASMA_enum *jobvt, intptr_t *A, float *D, float *E, intptr_t *U, intptr_t *VT, intptr_t *T, int *INFO)
243 { *INFO = PLASMA_sgebrd_Tile(*jobu, *jobvt, (PLASMA_desc *)(*A), D, E, (PLASMA_desc *)(*U), (PLASMA_desc *)(*VT), (PLASMA_desc *)(*T)); }
244 
245 void PLASMA_SGELQF_TILE(intptr_t *A, intptr_t *T, int *INFO)
246 { *INFO = PLASMA_sgelqf_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*T)); }
247 
248 void PLASMA_SGELQS_TILE(intptr_t *A, intptr_t *B, intptr_t *T, int *INFO)
249 { *INFO = PLASMA_sgelqs_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*B), (PLASMA_desc *)(*T)); }
250 
251 void PLASMA_SGELS_TILE(PLASMA_enum *trans, intptr_t *A, intptr_t *B, intptr_t *T, int *INFO)
252 { *INFO = PLASMA_sgels_Tile(*trans, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), (PLASMA_desc *)(*T)); }
253 
254 void PLASMA_SGEQRF_TILE(intptr_t *A, intptr_t *T, int *INFO)
255 { *INFO = PLASMA_sgeqrf_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*T)); }
256 
257 void PLASMA_SGEQRS_TILE(intptr_t *A, intptr_t *B, intptr_t *T, int *INFO)
258 { *INFO = PLASMA_sgeqrs_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*B), (PLASMA_desc *)(*T)); }
259 
260 void PLASMA_SGESV_TILE(intptr_t *A, int *IPIV, intptr_t *B, int *INFO)
261 { *INFO = PLASMA_sgesv_Tile((PLASMA_desc *)(*A), IPIV, (PLASMA_desc *)(*B)); }
262 
263 void PLASMA_SGESVD_TILE(PLASMA_enum *jobu, PLASMA_enum *jobvt, intptr_t *A, float *S, intptr_t *U, intptr_t *VT, intptr_t *T, int *INFO)
264 { *INFO = PLASMA_sgesvd_Tile(*jobu, *jobvt, (PLASMA_desc *)(*A), S, (PLASMA_desc *)(*U), (PLASMA_desc *)(*VT), (PLASMA_desc *)(*T)); }
265 
266 void PLASMA_SGETRF_TILE(intptr_t *A, int *IPIV, int *INFO)
267 { *INFO = PLASMA_sgetrf_Tile((PLASMA_desc *)(*A), IPIV); }
268 
269 void PLASMA_SGETRS_TILE(PLASMA_enum *trans, intptr_t *A, int *IPIV, intptr_t *B, int *INFO)
270 { *INFO = PLASMA_sgetrs_Tile(*trans, (PLASMA_desc *)(*A), IPIV, (PLASMA_desc *)(*B)); }
271 
272 void PLASMA_SGESV_INCPIV_TILE(intptr_t *A, intptr_t *L, int **IPIVH, intptr_t *B, int *INFO)
273 { *INFO = PLASMA_sgesv_incpiv_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*L), *IPIVH, (PLASMA_desc *)(*B)); }
274 
275 void PLASMA_SGETRF_INCPIV_TILE(intptr_t *A, intptr_t *L, int **IPIVH, int *INFO)
276 { *INFO = PLASMA_sgetrf_incpiv_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*L), *IPIVH); }
277 
278 void PLASMA_SGETRS_INCPIV_TILE(intptr_t *A, intptr_t *L, int **IPIVH, intptr_t *B, int *INFO)
279 { *INFO = PLASMA_sgetrs_incpiv_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*L), *IPIVH, (PLASMA_desc *)(*B)); }
280 
281 void PLASMA_SSYEV_TILE(PLASMA_enum *jobz, PLASMA_enum *uplo, intptr_t *A, float *W, intptr_t *T, intptr_t *Q, int *INFO)
282 { *INFO = PLASMA_ssyev_Tile(*jobz, *uplo, (PLASMA_desc *)(*A), W, (PLASMA_desc *)(*T), (PLASMA_desc *)(*Q)); }
283 
284 void PLASMA_SSYGV_TILE(PLASMA_enum *itype, PLASMA_enum *jobz, PLASMA_enum *uplo, intptr_t *A, intptr_t *B, float *W, intptr_t *T, intptr_t *Q, int *INFO)
285 { *INFO = PLASMA_ssygv_Tile(*itype, *jobz, *uplo, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), W, (PLASMA_desc *)(*T), (PLASMA_desc *)(*Q)); }
286 
287 void PLASMA_SSYGST_TILE(PLASMA_enum *itype, PLASMA_enum *uplo, intptr_t *A, intptr_t *B, int *INFO)
288 { *INFO = PLASMA_ssygst_Tile(*itype, *uplo, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B)); }
289 
290 void PLASMA_SSYTRD_TILE(PLASMA_enum *jobz, PLASMA_enum *uplo, intptr_t *A, float *D, float *E, intptr_t *T, intptr_t *Q, int *INFO)
291 { *INFO = PLASMA_ssytrd_Tile(*jobz, *uplo, (PLASMA_desc *)(*A), D, E, (PLASMA_desc *)(*T), (PLASMA_desc *)(*Q)); }
292 
293 void PLASMA_SPOSV_TILE(PLASMA_enum *uplo, intptr_t *A, intptr_t *B, int *INFO)
294 { *INFO = PLASMA_sposv_Tile(*uplo, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B)); }
295 
296 void PLASMA_SPOTRF_TILE(PLASMA_enum *uplo, intptr_t *A, int *INFO)
297 { *INFO = PLASMA_spotrf_Tile(*uplo, (PLASMA_desc *)(*A)); }
298 
299 void PLASMA_SPOTRS_TILE(PLASMA_enum *uplo, intptr_t *A, intptr_t *B, int *INFO)
300 { *INFO = PLASMA_spotrs_Tile(*uplo, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B)); }
301 
302 void PLASMA_STRSMPL_TILE(intptr_t *A, intptr_t *L, int **IPIVH, intptr_t *B, int *INFO)
303 { *INFO = PLASMA_strsmpl_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*L), *IPIVH, (PLASMA_desc *)(*B)); }
304 
305 void PLASMA_SORGLQ_TILE(intptr_t *A, intptr_t *T, intptr_t *B, int *INFO)
306 { *INFO = PLASMA_sorglq_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*T), (PLASMA_desc *)(*B)); }
307 
308 void PLASMA_SORGQR_TILE(intptr_t *A, intptr_t *T, intptr_t *B, int *INFO)
309 { *INFO = PLASMA_sorgqr_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*T), (PLASMA_desc *)(*B)); }
310 
311 void PLASMA_SORMLQ_TILE(PLASMA_enum *side, PLASMA_enum *trans, intptr_t *A, intptr_t *T, intptr_t *B, int *INFO)
312 { *INFO = PLASMA_sormlq_Tile(*side, *trans, (PLASMA_desc *)(*A), (PLASMA_desc *)(*T), (PLASMA_desc *)(*B)); }
313 
314 void PLASMA_SORMQR_TILE(PLASMA_enum *side, PLASMA_enum *trans, intptr_t *A, intptr_t *T, intptr_t *B, int *INFO)
315 { *INFO = PLASMA_sormqr_Tile(*side, *trans, (PLASMA_desc *)(*A), (PLASMA_desc *)(*T), (PLASMA_desc *)(*B)); }
316 
317 void PLASMA_STRSM_TILE(PLASMA_enum *side, PLASMA_enum *uplo, PLASMA_enum *transA, PLASMA_enum *diag, float *alpha, intptr_t *A, intptr_t *B, int *INFO)
318 { *INFO = PLASMA_strsm_Tile(*side, *uplo, *transA, *diag, *alpha, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B)); }
319 
320 void PLASMA_SGEMM_TILE(PLASMA_enum *transA, PLASMA_enum *transB, int *alpha, intptr_t *A, intptr_t *B, int *beta, intptr_t *C, int *INFO)
321 { *INFO = PLASMA_sgemm_Tile(*transA, *transB, *alpha, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), *beta, (PLASMA_desc *)(*C)); }
322 
323  void PLASMA_SSYMM_TILE(PLASMA_enum *side, PLASMA_enum *uplo, float *alpha, intptr_t *A, intptr_t *B, float *beta, intptr_t *C, int *INFO)
324  { *INFO = PLASMA_ssymm_Tile(*side, *uplo, *alpha, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), *beta, (PLASMA_desc *)(*C)); }
325 
326 void PLASMA_SSYRK_TILE(PLASMA_enum *uplo, PLASMA_enum *trans, float *alpha, intptr_t *A, float *beta, intptr_t *C, int *INFO)
327 { *INFO = PLASMA_ssyrk_Tile(*uplo, *trans, *alpha, (PLASMA_desc *)(*A), *beta, (PLASMA_desc *)(*C)); }
328 
329 #ifdef COMPLEX
330 void PLASMA_SSYMM_TILE(PLASMA_enum *side, PLASMA_enum *uplo, float *alpha, intptr_t *A, intptr_t *B, float *beta, intptr_t *C, int *INFO)
331 { *INFO = PLASMA_ssymm_Tile(*side, *uplo, *alpha, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), *beta, (PLASMA_desc *)(*C)); }
332 
333 void PLASMA_SSYRK_TILE(PLASMA_enum *uplo, PLASMA_enum *trans, float *alpha, intptr_t *A, float *beta, intptr_t *C, int *INFO)
334 { *INFO = PLASMA_ssyrk_Tile(*uplo, *trans, *alpha, (PLASMA_desc *)(*A), *beta, (PLASMA_desc *)(*C)); }
335 #endif
336 
337 /***************************************************************************/
340 void PLASMA_ALLOC_WORKSPACE_SGEBRD(int *M, int *N, intptr_t **T, int *INFO)
341 { *INFO = PLASMA_Alloc_Workspace_sgebrd(*M, *N, (PLASMA_desc **)T); }
342 
343 void PLASMA_ALLOC_WORKSPACE_SGELQF(int *M, int *N, float **T, int *INFO)
344 { *INFO = PLASMA_Alloc_Workspace_sgelqf(*M, *N, T); }
345 
346 void PLASMA_ALLOC_WORKSPACE_SGELS(int *M, int *N, float **T, int *INFO)
347 { *INFO = PLASMA_Alloc_Workspace_sgels(*M, *N, T); }
348 
349 void PLASMA_ALLOC_WORKSPACE_SGEQRF(int *M, int *N, float **T, int *INFO)
350 { *INFO = PLASMA_Alloc_Workspace_sgeqrf(*M, *N, T); }
351 
352 void PLASMA_ALLOC_WORKSPACE_SGESV_INCPIV(int *N, float **L, int **IPIV, int *INFO)
353 { *INFO = PLASMA_Alloc_Workspace_sgesv_incpiv(*N, L, IPIV); }
354 
355 void PLASMA_ALLOC_WORKSPACE_SGESVD(int *M, int *N, intptr_t **T, int *INFO)
356 { *INFO = PLASMA_Alloc_Workspace_sgesvd(*M, *N, (PLASMA_desc **)T); }
357 
358 void PLASMA_ALLOC_WORKSPACE_SGETRF_INCPIV(int *M, int *N, float **L, int **IPIV, int *INFO)
359 { *INFO = PLASMA_Alloc_Workspace_sgetrf_incpiv(*M, *N, L, IPIV); }
360 
361 void PLASMA_ALLOC_WORKSPACE_SSYEV(int *M, int *N, intptr_t **T, int *INFO)
362 { *INFO = PLASMA_Alloc_Workspace_ssyev(*M, *N, (PLASMA_desc **)T); }
363 
364 void PLASMA_ALLOC_WORKSPACE_SSYGV(int *M, int *N, intptr_t **T, int *INFO)
365 { *INFO = PLASMA_Alloc_Workspace_ssygv(*M, *N, (PLASMA_desc **)T); }
366 
367 void PLASMA_ALLOC_WORKSPACE_SSYTRD(int *M, int *N, intptr_t **T, int *INFO)
368 { *INFO = PLASMA_Alloc_Workspace_ssytrd(*M, *N, (PLASMA_desc **)T); }
369 
370 
371 /***************************************************************************/
374 void PLASMA_ALLOC_WORKSPACE_SGELQF_TILE(int *M, int *N, intptr_t **T, int *INFO)
375 { *INFO = PLASMA_Alloc_Workspace_sgelqf_Tile(*M, *N, (PLASMA_desc **)T); }
376 
377 void PLASMA_ALLOC_WORKSPACE_SGELS_TILE(int *M, int *N, intptr_t **T, int *INFO)
378 { *INFO = PLASMA_Alloc_Workspace_sgels_Tile(*M, *N, (PLASMA_desc **)T); }
379 
380 void PLASMA_ALLOC_WORKSPACE_SGEQRF_TILE(int *M, int *N, intptr_t **T, int *INFO)
381 { *INFO = PLASMA_Alloc_Workspace_sgeqrf_Tile(*M, *N, (PLASMA_desc **)T); }
382 
383 void PLASMA_ALLOC_WORKSPACE_SGESV_INCPIV_TILE(int *N, intptr_t **L, int **IPIV, int *INFO)
384 { *INFO = PLASMA_Alloc_Workspace_sgesv_incpiv_Tile(*N, (PLASMA_desc **)L, IPIV); }
385 
386 void PLASMA_ALLOC_WORKSPACE_SGETRF_INCPIV_TILE(int *N, intptr_t **L, int **IPIV, int *INFO)
387 { *INFO = PLASMA_Alloc_Workspace_sgetrf_incpiv_Tile(*N, (PLASMA_desc **)L, IPIV); }
388 
389 /***************************************************************************/
392 void PLASMA_SLAPACK_TO_TILE(float **Af77, int *LDA, intptr_t *A, int *INFO)
393 { *INFO = PLASMA_sLapack_to_Tile( *Af77, *LDA, (PLASMA_desc *)(*A) ); }
394 
395 void PLASMA_STILE_TO_LAPACK(intptr_t *A, float **Af77, int *LDA, int *INFO)
396 { *INFO = PLASMA_sTile_to_Lapack( (PLASMA_desc *)(*A), *Af77, *LDA ); }
397 
398 #ifdef __cplusplus
399 }
400 #endif