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_df77.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_DGEBRD PLASMA_FNAME(dgebrd, DGEBRD )
24 #define PLASMA_DGEEV PLASMA_FNAME(dgeev, DGEEV )
25 #define PLASMA_DGEHRD PLASMA_FNAME(dgehrd, DGEHRD )
26 #define PLASMA_DGELQF PLASMA_FNAME(dgelqf, DGELQF )
27 #define PLASMA_DGELQS PLASMA_FNAME(dgelqs, DGELQS )
28 #define PLASMA_DGELS PLASMA_FNAME(dgels, DGELS )
29 #define PLASMA_DGEQRF PLASMA_FNAME(dgeqrf, DGEQRF )
30 #define PLASMA_DGEQRS PLASMA_FNAME(dgeqrs, DGEQRS )
31 #define PLASMA_DGESV PLASMA_FNAME(dgesv, DGESV )
32 #define PLASMA_DGESVD PLASMA_FNAME(dgesvd, DGESVD )
33 #define PLASMA_DGETRF PLASMA_FNAME(dgetrf, DGETRF )
34 #define PLASMA_DGETRS PLASMA_FNAME(dgetrs, DGETRS )
35 #define PLASMA_DGESV_INCPIV PLASMA_FNAME(dgesv_incpiv, DGESV_INCPIV )
36 #define PLASMA_DGETRF_INCPIV PLASMA_FNAME(dgetrf_incpiv, DGETRF_INCPIV )
37 #define PLASMA_DGETRS_INCPIV PLASMA_FNAME(dgetrs_incpiv, DGETRS_INCPIV )
38 #define PLASMA_DSYEV PLASMA_FNAME(dsyev, DSYEV )
39 #define PLASMA_DSYGV PLASMA_FNAME(dsygv, DSYGV )
40 #define PLASMA_DSYGST PLASMA_FNAME(dsygst, DSYGST )
41 #define PLASMA_DSYTRD PLASMA_FNAME(dsytrd, DSYTRD )
42 #define PLASMA_DPOSV PLASMA_FNAME(dposv, DPOSV )
43 #define PLASMA_DPOTRF PLASMA_FNAME(dpotrf, DPOTRF )
44 #define PLASMA_DPOTRI PLASMA_FNAME(dpotri, DPOTRI )
45 #define PLASMA_DPOTRS PLASMA_FNAME(dpotrs, DPOTRS )
46 #define PLASMA_DTRSMPL PLASMA_FNAME(dtrsmpl, DTRSMPL)
47 #define PLASMA_DORGBR PLASMA_FNAME(dorgbr, DORGBR )
48 #define PLASMA_DORGHR PLASMA_FNAME(dorghr, DORGHR )
49 #define PLASMA_DORGLQ PLASMA_FNAME(dorglq, DORGLQ )
50 #define PLASMA_DORGQR PLASMA_FNAME(dorgqr, DORGQR )
51 #define PLASMA_DORGTR PLASMA_FNAME(dorgtr, DORGTR )
52 #define PLASMA_DORMLQ PLASMA_FNAME(dormlq, DORMLQ )
53 #define PLASMA_DORMQR PLASMA_FNAME(dormqr, DORMQR )
54 #define PLASMA_DTRSM PLASMA_FNAME(dtrsm, DTRSM )
55 #define PLASMA_DGEMM PLASMA_FNAME(dgemm, DGEMM )
56 #define PLASMA_DSYMM PLASMA_FNAME(dsymm, DSYMM )
57 #define PLASMA_DSYRK PLASMA_FNAME(dsyrk, DSYRK )
58 #ifdef COMPLEX
59 #define PLASMA_DSYMM PLASMA_FNAME(dsymm, DSYMM )
60 #define PLASMA_DSYRK PLASMA_FNAME(dsyrk, DSYRK )
61 #endif
62 
63 /*
64  * Tile interface
65  */
66 #define PLASMA_DGEBRD_TILE PLASMA_TILE_FNAME(dgebrd, DGEBRD )
67 #define PLASMA_DGEEV_TILE PLASMA_TILE_FNAME(dgeev, DGEEV )
68 #define PLASMA_DGEHRD_TILE PLASMA_TILE_FNAME(dgehrd, DGEHRD )
69 #define PLASMA_DGELQF_TILE PLASMA_TILE_FNAME(dgelqf, DGELQF )
70 #define PLASMA_DGELQS_TILE PLASMA_TILE_FNAME(dgelqs, DGELQS )
71 #define PLASMA_DGELS_TILE PLASMA_TILE_FNAME(dgels, DGELS )
72 #define PLASMA_DGEQRF_TILE PLASMA_TILE_FNAME(dgeqrf, DGEQRF )
73 #define PLASMA_DGEQRS_TILE PLASMA_TILE_FNAME(dgeqrs, DGEQRS )
74 #define PLASMA_DGESV_TILE PLASMA_TILE_FNAME(dgesv, DGESV )
75 #define PLASMA_DGESVD_TILE PLASMA_TILE_FNAME(dgesvd, DGESVD )
76 #define PLASMA_DGETRF_TILE PLASMA_TILE_FNAME(dgetrf, DGETRF )
77 #define PLASMA_DGETRS_TILE PLASMA_TILE_FNAME(dgetrs, DGETRS )
78 #define PLASMA_DGESV_INCPIV_TILE PLASMA_TILE_FNAME(dgesv_incpiv, DGESV_INCPIV )
79 #define PLASMA_DGETRF_INCPIV_TILE PLASMA_TILE_FNAME(dgetrf_incpiv, DGETRF_INCPIV )
80 #define PLASMA_DGETRS_INCPIV_TILE PLASMA_TILE_FNAME(dgetrs_incpiv, DGETRS_INCPIV )
81 #define PLASMA_DSYEV_TILE PLASMA_TILE_FNAME(dsyev, DSYEV )
82 #define PLASMA_DSYGV_TILE PLASMA_TILE_FNAME(dsygv, DSYGV )
83 #define PLASMA_DSYGST_TILE PLASMA_TILE_FNAME(dsygst, DSYGST )
84 #define PLASMA_DSYTRD_TILE PLASMA_TILE_FNAME(dsytrd, DSYTRD )
85 #define PLASMA_DPOSV_TILE PLASMA_TILE_FNAME(dposv, DPOSV )
86 #define PLASMA_DPOTRF_TILE PLASMA_TILE_FNAME(dpotrf, DPOTRF )
87 #define PLASMA_DPOTRI_TILE PLASMA_TILE_FNAME(dpotri, DPOTRI )
88 #define PLASMA_DPOTRS_TILE PLASMA_TILE_FNAME(dpotrs, DPOTRS )
89 #define PLASMA_DTRSM_TILE PLASMA_TILE_FNAME(dtrsm, DTRSM )
90 #define PLASMA_DTRSMPL_TILE PLASMA_TILE_FNAME(dtrsmpl, DTRSMPL)
91 #define PLASMA_DORGBR_TILE PLASMA_TILE_FNAME(dorgbr, DORGBR )
92 #define PLASMA_DORGHR_TILE PLASMA_TILE_FNAME(dorghr, DORGHR )
93 #define PLASMA_DORGLQ_TILE PLASMA_TILE_FNAME(dorglq, DORGLQ )
94 #define PLASMA_DORGQR_TILE PLASMA_TILE_FNAME(dorgqr, DORGQR )
95 #define PLASMA_DORGTR_TILE PLASMA_TILE_FNAME(dorgtr, DORGTR )
96 #define PLASMA_DORMLQ_TILE PLASMA_TILE_FNAME(dormlq, DORMLQ )
97 #define PLASMA_DORMQR_TILE PLASMA_TILE_FNAME(dormqr, DORMQR )
98 #define PLASMA_DGEMM_TILE PLASMA_TILE_FNAME(dgemm, DGEMM )
99 #define PLASMA_DSYMM_TILE PLASMA_TILE_FNAME(dsymm, DSYMM )
100 #define PLASMA_DSYRK_TILE PLASMA_TILE_FNAME(dsyrk, DSYRK )
101 #ifdef COMPLEX
102 #define PLASMA_DSYMM_TILE PLASMA_TILE_FNAME(dsymm, DSYMM )
103 #define PLASMA_DSYRK_TILE PLASMA_TILE_FNAME(dsyrk, DSYRK )
104 #endif
105 
106 /*
107  * Workspaces
108  */
109 #define PLASMA_ALLOC_WORKSPACE_DGEBRD PLASMA_WS_FNAME(dgehrd, DGEBRD)
110 #define PLASMA_ALLOC_WORKSPACE_DGEEV PLASMA_WS_FNAME(dgeev, DGEEV )
111 #define PLASMA_ALLOC_WORKSPACE_DGEHRD PLASMA_WS_FNAME(dgehrd, DGEHRD)
112 #define PLASMA_ALLOC_WORKSPACE_DGELQF PLASMA_WS_FNAME(dgelqf, DGELQF)
113 #define PLASMA_ALLOC_WORKSPACE_DGELS PLASMA_WS_FNAME(dgels, DGELS )
114 #define PLASMA_ALLOC_WORKSPACE_DGEQRF PLASMA_WS_FNAME(dgeqrf, DGEQRF)
115 #define PLASMA_ALLOC_WORKSPACE_DGESV_INCPIV PLASMA_WS_FNAME(dgesv_incpiv, DGESV_INCPIV )
116 #define PLASMA_ALLOC_WORKSPACE_DGETRF_INCPIV PLASMA_WS_FNAME(dgetrf_incpiv, DGETRF_INCPIV)
117 #define PLASMA_ALLOC_WORKSPACE_DGESVD PLASMA_WS_FNAME(dgesvd, DGESVD)
118 #define PLASMA_ALLOC_WORKSPACE_DSYEV PLASMA_WS_FNAME(dsyev, DSYEV )
119 #define PLASMA_ALLOC_WORKSPACE_DSYGV PLASMA_WS_FNAME(dsygv, DSYGV )
120 #define PLASMA_ALLOC_WORKSPACE_DSYTRD PLASMA_WS_FNAME(dsytrd, DSYTRD)
121 
122 /*
123  * Tile Workspaces
124  */
125 #define PLASMA_ALLOC_WORKSPACE_DGELQF_TILE PLASMA_WST_FNAME(dgelqf, DGELQF )
126 #define PLASMA_ALLOC_WORKSPACE_DGELS_TILE PLASMA_WST_FNAME(dgels, DGELS )
127 #define PLASMA_ALLOC_WORKSPACE_DGEQRF_TILE PLASMA_WST_FNAME(dgeqrf, DGEQRF )
128 #define PLASMA_ALLOC_WORKSPACE_DGESV_INCPIV_TILE PLASMA_WST_FNAME(dgesv_incpiv, DGESV_INCPIV )
129 #define PLASMA_ALLOC_WORKSPACE_DGETRF_INCPIV_TILE PLASMA_WST_FNAME(dgetrf_incpiv, DGETRF_INCPIV)
130 
131 #define PLASMA_DLAPACK_TO_TILE PLASMA_FNAME(dlapack_to_tile, DLAPACK_TO_TILE)
132 #define PLASMA_DTILE_TO_LAPACK PLASMA_FNAME(dtile_to_lapack, DTILE_TO_LAPACK)
133 
134 #ifdef __cplusplus
135 extern "C" {
136 #endif
137 
138 /***************************************************************************/
141 void PLASMA_DGEBRD(PLASMA_enum *jobu, PLASMA_enum *jobvt, int *M, int *N, double *A, int *LDA, double *D, double *E, double *U, int *LDU, double *VT, int *LDVT, intptr_t *descT, int *INFO)
142 { *INFO = PLASMA_dgebrd(*jobu, *jobvt, *M, *N, A, *LDA, D, E, U, *LDU, VT, *LDVT, (PLASMA_desc *)(*descT)); }
143 
144 void PLASMA_DGELQF(int *M, int *N, double *A, int *LDA, double **T, int *INFO)
145 { *INFO = PLASMA_dgelqf(*M, *N, A, *LDA, *T); }
146 
147 void PLASMA_DGELQS(int *M, int *N, int *NRHS, double *A, int *LDA, double **T, double *B, int *LDB, int *INFO)
148 { *INFO = PLASMA_dgelqs(*M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
149 
150 void PLASMA_DGELS(PLASMA_enum *trans, int *M, int *N, int *NRHS, double *A, int *LDA, double **T, double *B, int *LDB, int *INFO)
151 { *INFO = PLASMA_dgels(*trans, *M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
152 
153 void PLASMA_DGEQRF(int *M, int *N, double *A, int *LDA, double **T, int *INFO)
154 { *INFO = PLASMA_dgeqrf(*M, *N, A, *LDA, *T); }
155 
156 void PLASMA_DGEQRS(int *M, int *N, int *NRHS, double *A, int *LDA, double **T, double *B, int *LDB, int *INFO)
157 { *INFO = PLASMA_dgeqrs(*M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
158 
159 void PLASMA_DGESV(int *N, int *NRHS, double *A, int *LDA, int *IPIV, double *B, int *LDB, int *INFO)
160 { *INFO = PLASMA_dgesv(*N, *NRHS, A, *LDA, IPIV, B, *LDB); }
161 
162 void PLASMA_DGESVD(PLASMA_enum *jobu, PLASMA_enum *jobvt, int *M, int *N, double *A, int *LDA, double *S, double *U, int *LDU, double *VT, int *LDVT, intptr_t *T, int *INFO)
163 { *INFO = PLASMA_dgesvd(*jobu, *jobvt, *M, *N, A, *LDA, S, U, *LDU, VT, *LDVT, (PLASMA_desc *)(*T)); }
164 
165 void PLASMA_DGETRF(int *M, int *N, double *A, int *LDA, int *IPIV, int *INFO)
166 { *INFO = PLASMA_dgetrf(*M, *N, A, *LDA, IPIV); }
167 
168 void PLASMA_DGETRS(PLASMA_enum *trans, int *N, int *NRHS, double *A, int *LDA, int *IPIV, double *B, int *LDB, int *INFO)
169 { *INFO = PLASMA_dgetrs(*trans, *N, *NRHS, A, *LDA, IPIV, B, *LDB); }
170 
171 void PLASMA_DGESV_INCPIV(int *N, int *NRHS, double *A, int *LDA, double **LH, int **IPIVH, double *B, int *LDB, int *INFO)
172 { *INFO = PLASMA_dgesv_incpiv(*N, *NRHS, A, *LDA, *LH, *IPIVH, B, *LDB); }
173 
174 void PLASMA_DGETRF_INCPIV(int *M, int *N, double *A, int *LDA, double **LH, int **IPIVH, int *INFO)
175 { *INFO = PLASMA_dgetrf_incpiv(*M, *N, A, *LDA, *LH, *IPIVH); }
176 
177 void PLASMA_DGETRS_INCPIV(PLASMA_enum *uplo, int *N, int *NRHS, double *A, int *LDA, double **LH, int **IPIVH, double *B, int *LDB, int *INFO)
178 { *INFO = PLASMA_dgetrs_incpiv(*uplo, *N, *NRHS, A, *LDA, *LH, *IPIVH, B, *LDB); }
179 
180 void PLASMA_DSYEV(PLASMA_enum *jobz, PLASMA_enum *uplo, int *N, double *A, int *LDA, double *W, intptr_t *T, double *Q, int *LDQ, int *INFO)
181 { *INFO = PLASMA_dsyev(*jobz, *uplo, *N, A, *LDA, W, (PLASMA_desc *)(*T), Q, *LDQ); }
182 
183 void PLASMA_DSYGV(PLASMA_enum *itype, PLASMA_enum *jobz, PLASMA_enum *uplo, int *N, double *A, int *LDA, double *B, int *LDB, double *W, intptr_t *T, double *Q, int *LDQ, int *INFO)
184 { *INFO = PLASMA_dsygv(*itype, *jobz, *uplo, *N, A, *LDA, B, *LDB, W, (PLASMA_desc*)(*T), Q, *LDQ); }
185 
186 void PLASMA_DSYGST(PLASMA_enum *itype, PLASMA_enum *uplo, int *N, double *A, int *LDA, double *B, int *LDB, int *INFO)
187 { *INFO = PLASMA_dsygst(*itype, *uplo, *N, A, *LDA, B, *LDB); }
188 
189 void PLASMA_DSYTRD(PLASMA_enum *jobz, PLASMA_enum *uplo, int *N, double *A, int *LDA, double *D, double *E, intptr_t *T, double *Q, int *LDQ, int *INFO)
190 { *INFO = PLASMA_dsytrd(*jobz, *uplo, *N, A, *LDA, D, E, (PLASMA_desc *)(*T), Q, *LDQ); }
191 
192 void PLASMA_DPOSV(PLASMA_enum *uplo, int *N, int *NRHS, double *A, int *LDA, double *B, int *LDB, int *INFO)
193 { *INFO = PLASMA_dposv(*uplo, *N, *NRHS, A, *LDA, B, *LDB); }
194 
195 void PLASMA_DPOTRF(PLASMA_enum *uplo, int *N, double *A, int *LDA, int *INFO)
196 { *INFO = PLASMA_dpotrf(*uplo, *N, A, *LDA); }
197 
198 void PLASMA_DPOTRI(PLASMA_enum *uplo, int *N, double *A, int *LDA, int *INFO)
199 { *INFO = PLASMA_dpotri(*uplo, *N, A, *LDA); }
200 
201 void PLASMA_DPOTRS(PLASMA_enum *uplo, int *N, int *NRHS, double *A, int *LDA, double *B, int* LDB, int * INFO)
202 { *INFO = PLASMA_dpotrs(*uplo, *N, *NRHS, A, *LDA, B, *LDB); }
203 
204 void PLASMA_DTRSMPL(int *N, int *NRHS, double *A, int *LDA, double **LH, int **IPIVH, double *B, int *LDB, int *INFO)
205 { *INFO = PLASMA_dtrsmpl(*N, *NRHS, A, *LDA, *LH, *IPIVH, B, *LDB); }
206 
207 void PLASMA_DORGLQ(int *M, int *N, int *K, double *A, int *LDA, double **T, double *B, int *LDB, int *INFO)
208 { *INFO = PLASMA_dorglq(*M, *N, *K, A, *LDA, *T, B, *LDB); }
209 
210 void PLASMA_DORGQR(int *M, int *N, int *K, double *A, int *LDA, double **T, double *B, int *LDB, int *INFO)
211 { *INFO = PLASMA_dorgqr(*M, *N, *K, A, *LDA, *T, B, *LDB); }
212 
213 void PLASMA_DORMLQ(PLASMA_enum *side, PLASMA_enum *trans, int *M, int *N, int *K, double *A, int *LDA, double **T, double *B, int *LDB, int *INFO)
214 { *INFO = PLASMA_dormlq(*side, *trans, *M, *N, *K, A, *LDA, *T, B, *LDB); }
215 
216 void PLASMA_DORMQR(PLASMA_enum *side, PLASMA_enum *trans, int *M, int *N, int *K, double *A, int *LDA, double **T, double *B, int *LDB, int *INFO)
217 { *INFO = PLASMA_dormqr(*side, *trans, *M, *N, *K, A, *LDA, *T, B, *LDB); }
218 
219 void PLASMA_DTRSM(PLASMA_enum *side, PLASMA_enum *uplo, PLASMA_enum *transA, PLASMA_enum *diag, int *N, int *NRHS, double *alpha, double *A, int *LDA, double *B, int *LDB, int *INFO)
220 { *INFO = PLASMA_dtrsm(*side, *uplo, *transA, *diag, *N, *NRHS, *alpha, A, *LDA, B, *LDB); }
221 
222 void PLASMA_DGEMM(PLASMA_enum *transA, PLASMA_enum *transB, int *M, int *N, int *K, double *alpha, double *A, int *LDA, double *B, int *LDB, double *beta, double *C, int *LDC, int *INFO)
223 { *INFO = PLASMA_dgemm(*transA, *transB, *M, *N, *K, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
224 
225 void PLASMA_DSYMM(PLASMA_enum *side, PLASMA_enum *uplo, int *M, int *N, double *alpha, double *A, int *LDA, double *B, int *LDB, double *beta, double *C, int *LDC, int *INFO)
226 { *INFO = PLASMA_dsymm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
227 
228 void PLASMA_DSYRK(PLASMA_enum *uplo, PLASMA_enum *trans, int *N, int *K, double *alpha, double *A, int *LDA, double *beta, double *C, int *LDC, int *INFO)
229 { *INFO = PLASMA_dsyrk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); }
230 
231 #ifdef COMPLEX
232 void PLASMA_DSYMM(PLASMA_enum *side, PLASMA_enum *uplo, int *M, int *N, double *alpha, double *A, int *LDA, double *B, int *LDB, double *beta, double *C, int *LDC, int *INFO)
233 { *INFO = PLASMA_dsymm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
234 
235 void PLASMA_DSYRK(PLASMA_enum *uplo, PLASMA_enum *trans, int *N, int *K, double *alpha, double *A, int *LDA, double *beta, double *C, int *LDC, int *INFO)
236 { *INFO = PLASMA_dsyrk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); }
237 #endif
238 
239 /***************************************************************************/
242 void PLASMA_DGEBRD_TILE(PLASMA_enum *jobu, PLASMA_enum *jobvt, intptr_t *A, double *D, double *E, intptr_t *U, intptr_t *VT, intptr_t *T, int *INFO)
243 { *INFO = PLASMA_dgebrd_Tile(*jobu, *jobvt, (PLASMA_desc *)(*A), D, E, (PLASMA_desc *)(*U), (PLASMA_desc *)(*VT), (PLASMA_desc *)(*T)); }
244 
245 void PLASMA_DGELQF_TILE(intptr_t *A, intptr_t *T, int *INFO)
246 { *INFO = PLASMA_dgelqf_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*T)); }
247 
248 void PLASMA_DGELQS_TILE(intptr_t *A, intptr_t *B, intptr_t *T, int *INFO)
249 { *INFO = PLASMA_dgelqs_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*B), (PLASMA_desc *)(*T)); }
250 
251 void PLASMA_DGELS_TILE(PLASMA_enum *trans, intptr_t *A, intptr_t *B, intptr_t *T, int *INFO)
252 { *INFO = PLASMA_dgels_Tile(*trans, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), (PLASMA_desc *)(*T)); }
253 
254 void PLASMA_DGEQRF_TILE(intptr_t *A, intptr_t *T, int *INFO)
255 { *INFO = PLASMA_dgeqrf_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*T)); }
256 
257 void PLASMA_DGEQRS_TILE(intptr_t *A, intptr_t *B, intptr_t *T, int *INFO)
258 { *INFO = PLASMA_dgeqrs_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*B), (PLASMA_desc *)(*T)); }
259 
260 void PLASMA_DGESV_TILE(intptr_t *A, int *IPIV, intptr_t *B, int *INFO)
261 { *INFO = PLASMA_dgesv_Tile((PLASMA_desc *)(*A), IPIV, (PLASMA_desc *)(*B)); }
262 
263 void PLASMA_DGESVD_TILE(PLASMA_enum *jobu, PLASMA_enum *jobvt, intptr_t *A, double *S, intptr_t *U, intptr_t *VT, intptr_t *T, int *INFO)
264 { *INFO = PLASMA_dgesvd_Tile(*jobu, *jobvt, (PLASMA_desc *)(*A), S, (PLASMA_desc *)(*U), (PLASMA_desc *)(*VT), (PLASMA_desc *)(*T)); }
265 
266 void PLASMA_DGETRF_TILE(intptr_t *A, int *IPIV, int *INFO)
267 { *INFO = PLASMA_dgetrf_Tile((PLASMA_desc *)(*A), IPIV); }
268 
269 void PLASMA_DGETRS_TILE(PLASMA_enum *trans, intptr_t *A, int *IPIV, intptr_t *B, int *INFO)
270 { *INFO = PLASMA_dgetrs_Tile(*trans, (PLASMA_desc *)(*A), IPIV, (PLASMA_desc *)(*B)); }
271 
272 void PLASMA_DGESV_INCPIV_TILE(intptr_t *A, intptr_t *L, int **IPIVH, intptr_t *B, int *INFO)
273 { *INFO = PLASMA_dgesv_incpiv_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*L), *IPIVH, (PLASMA_desc *)(*B)); }
274 
275 void PLASMA_DGETRF_INCPIV_TILE(intptr_t *A, intptr_t *L, int **IPIVH, int *INFO)
276 { *INFO = PLASMA_dgetrf_incpiv_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*L), *IPIVH); }
277 
278 void PLASMA_DGETRS_INCPIV_TILE(intptr_t *A, intptr_t *L, int **IPIVH, intptr_t *B, int *INFO)
279 { *INFO = PLASMA_dgetrs_incpiv_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*L), *IPIVH, (PLASMA_desc *)(*B)); }
280 
281 void PLASMA_DSYEV_TILE(PLASMA_enum *jobz, PLASMA_enum *uplo, intptr_t *A, double *W, intptr_t *T, intptr_t *Q, int *INFO)
282 { *INFO = PLASMA_dsyev_Tile(*jobz, *uplo, (PLASMA_desc *)(*A), W, (PLASMA_desc *)(*T), (PLASMA_desc *)(*Q)); }
283 
284 void PLASMA_DSYGV_TILE(PLASMA_enum *itype, PLASMA_enum *jobz, PLASMA_enum *uplo, intptr_t *A, intptr_t *B, double *W, intptr_t *T, intptr_t *Q, int *INFO)
285 { *INFO = PLASMA_dsygv_Tile(*itype, *jobz, *uplo, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), W, (PLASMA_desc *)(*T), (PLASMA_desc *)(*Q)); }
286 
287 void PLASMA_DSYGST_TILE(PLASMA_enum *itype, PLASMA_enum *uplo, intptr_t *A, intptr_t *B, int *INFO)
288 { *INFO = PLASMA_dsygst_Tile(*itype, *uplo, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B)); }
289 
290 void PLASMA_DSYTRD_TILE(PLASMA_enum *jobz, PLASMA_enum *uplo, intptr_t *A, double *D, double *E, intptr_t *T, intptr_t *Q, int *INFO)
291 { *INFO = PLASMA_dsytrd_Tile(*jobz, *uplo, (PLASMA_desc *)(*A), D, E, (PLASMA_desc *)(*T), (PLASMA_desc *)(*Q)); }
292 
293 void PLASMA_DPOSV_TILE(PLASMA_enum *uplo, intptr_t *A, intptr_t *B, int *INFO)
294 { *INFO = PLASMA_dposv_Tile(*uplo, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B)); }
295 
296 void PLASMA_DPOTRF_TILE(PLASMA_enum *uplo, intptr_t *A, int *INFO)
297 { *INFO = PLASMA_dpotrf_Tile(*uplo, (PLASMA_desc *)(*A)); }
298 
299 void PLASMA_DPOTRS_TILE(PLASMA_enum *uplo, intptr_t *A, intptr_t *B, int *INFO)
300 { *INFO = PLASMA_dpotrs_Tile(*uplo, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B)); }
301 
302 void PLASMA_DTRSMPL_TILE(intptr_t *A, intptr_t *L, int **IPIVH, intptr_t *B, int *INFO)
303 { *INFO = PLASMA_dtrsmpl_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*L), *IPIVH, (PLASMA_desc *)(*B)); }
304 
305 void PLASMA_DORGLQ_TILE(intptr_t *A, intptr_t *T, intptr_t *B, int *INFO)
306 { *INFO = PLASMA_dorglq_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*T), (PLASMA_desc *)(*B)); }
307 
308 void PLASMA_DORGQR_TILE(intptr_t *A, intptr_t *T, intptr_t *B, int *INFO)
309 { *INFO = PLASMA_dorgqr_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*T), (PLASMA_desc *)(*B)); }
310 
311 void PLASMA_DORMLQ_TILE(PLASMA_enum *side, PLASMA_enum *trans, intptr_t *A, intptr_t *T, intptr_t *B, int *INFO)
312 { *INFO = PLASMA_dormlq_Tile(*side, *trans, (PLASMA_desc *)(*A), (PLASMA_desc *)(*T), (PLASMA_desc *)(*B)); }
313 
314 void PLASMA_DORMQR_TILE(PLASMA_enum *side, PLASMA_enum *trans, intptr_t *A, intptr_t *T, intptr_t *B, int *INFO)
315 { *INFO = PLASMA_dormqr_Tile(*side, *trans, (PLASMA_desc *)(*A), (PLASMA_desc *)(*T), (PLASMA_desc *)(*B)); }
316 
317 void PLASMA_DTRSM_TILE(PLASMA_enum *side, PLASMA_enum *uplo, PLASMA_enum *transA, PLASMA_enum *diag, double *alpha, intptr_t *A, intptr_t *B, int *INFO)
318 { *INFO = PLASMA_dtrsm_Tile(*side, *uplo, *transA, *diag, *alpha, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B)); }
319 
320 void PLASMA_DGEMM_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_dgemm_Tile(*transA, *transB, *alpha, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), *beta, (PLASMA_desc *)(*C)); }
322 
323  void PLASMA_DSYMM_TILE(PLASMA_enum *side, PLASMA_enum *uplo, double *alpha, intptr_t *A, intptr_t *B, double *beta, intptr_t *C, int *INFO)
324  { *INFO = PLASMA_dsymm_Tile(*side, *uplo, *alpha, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), *beta, (PLASMA_desc *)(*C)); }
325 
326 void PLASMA_DSYRK_TILE(PLASMA_enum *uplo, PLASMA_enum *trans, double *alpha, intptr_t *A, double *beta, intptr_t *C, int *INFO)
327 { *INFO = PLASMA_dsyrk_Tile(*uplo, *trans, *alpha, (PLASMA_desc *)(*A), *beta, (PLASMA_desc *)(*C)); }
328 
329 #ifdef COMPLEX
330 void PLASMA_DSYMM_TILE(PLASMA_enum *side, PLASMA_enum *uplo, double *alpha, intptr_t *A, intptr_t *B, double *beta, intptr_t *C, int *INFO)
331 { *INFO = PLASMA_dsymm_Tile(*side, *uplo, *alpha, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), *beta, (PLASMA_desc *)(*C)); }
332 
333 void PLASMA_DSYRK_TILE(PLASMA_enum *uplo, PLASMA_enum *trans, double *alpha, intptr_t *A, double *beta, intptr_t *C, int *INFO)
334 { *INFO = PLASMA_dsyrk_Tile(*uplo, *trans, *alpha, (PLASMA_desc *)(*A), *beta, (PLASMA_desc *)(*C)); }
335 #endif
336 
337 /***************************************************************************/
340 void PLASMA_ALLOC_WORKSPACE_DGEBRD(int *M, int *N, intptr_t **T, int *INFO)
341 { *INFO = PLASMA_Alloc_Workspace_dgebrd(*M, *N, (PLASMA_desc **)T); }
342 
343 void PLASMA_ALLOC_WORKSPACE_DGELQF(int *M, int *N, double **T, int *INFO)
344 { *INFO = PLASMA_Alloc_Workspace_dgelqf(*M, *N, T); }
345 
346 void PLASMA_ALLOC_WORKSPACE_DGELS(int *M, int *N, double **T, int *INFO)
347 { *INFO = PLASMA_Alloc_Workspace_dgels(*M, *N, T); }
348 
349 void PLASMA_ALLOC_WORKSPACE_DGEQRF(int *M, int *N, double **T, int *INFO)
350 { *INFO = PLASMA_Alloc_Workspace_dgeqrf(*M, *N, T); }
351 
352 void PLASMA_ALLOC_WORKSPACE_DGESV_INCPIV(int *N, double **L, int **IPIV, int *INFO)
353 { *INFO = PLASMA_Alloc_Workspace_dgesv_incpiv(*N, L, IPIV); }
354 
355 void PLASMA_ALLOC_WORKSPACE_DGESVD(int *M, int *N, intptr_t **T, int *INFO)
356 { *INFO = PLASMA_Alloc_Workspace_dgesvd(*M, *N, (PLASMA_desc **)T); }
357 
358 void PLASMA_ALLOC_WORKSPACE_DGETRF_INCPIV(int *M, int *N, double **L, int **IPIV, int *INFO)
359 { *INFO = PLASMA_Alloc_Workspace_dgetrf_incpiv(*M, *N, L, IPIV); }
360 
361 void PLASMA_ALLOC_WORKSPACE_DSYEV(int *M, int *N, intptr_t **T, int *INFO)
362 { *INFO = PLASMA_Alloc_Workspace_dsyev(*M, *N, (PLASMA_desc **)T); }
363 
364 void PLASMA_ALLOC_WORKSPACE_DSYGV(int *M, int *N, intptr_t **T, int *INFO)
365 { *INFO = PLASMA_Alloc_Workspace_dsygv(*M, *N, (PLASMA_desc **)T); }
366 
367 void PLASMA_ALLOC_WORKSPACE_DSYTRD(int *M, int *N, intptr_t **T, int *INFO)
368 { *INFO = PLASMA_Alloc_Workspace_dsytrd(*M, *N, (PLASMA_desc **)T); }
369 
370 
371 /***************************************************************************/
374 void PLASMA_ALLOC_WORKSPACE_DGELQF_TILE(int *M, int *N, intptr_t **T, int *INFO)
375 { *INFO = PLASMA_Alloc_Workspace_dgelqf_Tile(*M, *N, (PLASMA_desc **)T); }
376 
377 void PLASMA_ALLOC_WORKSPACE_DGELS_TILE(int *M, int *N, intptr_t **T, int *INFO)
378 { *INFO = PLASMA_Alloc_Workspace_dgels_Tile(*M, *N, (PLASMA_desc **)T); }
379 
380 void PLASMA_ALLOC_WORKSPACE_DGEQRF_TILE(int *M, int *N, intptr_t **T, int *INFO)
381 { *INFO = PLASMA_Alloc_Workspace_dgeqrf_Tile(*M, *N, (PLASMA_desc **)T); }
382 
383 void PLASMA_ALLOC_WORKSPACE_DGESV_INCPIV_TILE(int *N, intptr_t **L, int **IPIV, int *INFO)
384 { *INFO = PLASMA_Alloc_Workspace_dgesv_incpiv_Tile(*N, (PLASMA_desc **)L, IPIV); }
385 
386 void PLASMA_ALLOC_WORKSPACE_DGETRF_INCPIV_TILE(int *N, intptr_t **L, int **IPIV, int *INFO)
387 { *INFO = PLASMA_Alloc_Workspace_dgetrf_incpiv_Tile(*N, (PLASMA_desc **)L, IPIV); }
388 
389 /***************************************************************************/
392 void PLASMA_DLAPACK_TO_TILE(double **Af77, int *LDA, intptr_t *A, int *INFO)
393 { *INFO = PLASMA_dLapack_to_Tile( *Af77, *LDA, (PLASMA_desc *)(*A) ); }
394 
395 void PLASMA_DTILE_TO_LAPACK(intptr_t *A, double **Af77, int *LDA, int *INFO)
396 { *INFO = PLASMA_dTile_to_Lapack( (PLASMA_desc *)(*A), *Af77, *LDA ); }
397 
398 #ifdef __cplusplus
399 }
400 #endif