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_zf77.c
Go to the documentation of this file.
1 
15 #include <stdlib.h>
16 #include "common.h"
17 #undef REAL
18 #define COMPLEX
19 
20 /*
21  * Lapack interface
22  */
23 #define PLASMA_ZGEBRD PLASMA_FNAME(zgebrd, ZGEBRD )
24 #define PLASMA_ZGEEV PLASMA_FNAME(zgeev, ZGEEV )
25 #define PLASMA_ZGEHRD PLASMA_FNAME(zgehrd, ZGEHRD )
26 #define PLASMA_ZGELQF PLASMA_FNAME(zgelqf, ZGELQF )
27 #define PLASMA_ZGELQS PLASMA_FNAME(zgelqs, ZGELQS )
28 #define PLASMA_ZGELS PLASMA_FNAME(zgels, ZGELS )
29 #define PLASMA_ZGEQRF PLASMA_FNAME(zgeqrf, ZGEQRF )
30 #define PLASMA_ZGEQRS PLASMA_FNAME(zgeqrs, ZGEQRS )
31 #define PLASMA_ZGESV PLASMA_FNAME(zgesv, ZGESV )
32 #define PLASMA_ZGESVD PLASMA_FNAME(zgesvd, ZGESVD )
33 #define PLASMA_ZGETRF PLASMA_FNAME(zgetrf, ZGETRF )
34 #define PLASMA_ZGETRS PLASMA_FNAME(zgetrs, ZGETRS )
35 #define PLASMA_ZGESV_INCPIV PLASMA_FNAME(zgesv_incpiv, ZGESV_INCPIV )
36 #define PLASMA_ZGETRF_INCPIV PLASMA_FNAME(zgetrf_incpiv, ZGETRF_INCPIV )
37 #define PLASMA_ZGETRS_INCPIV PLASMA_FNAME(zgetrs_incpiv, ZGETRS_INCPIV )
38 #define PLASMA_ZHEEV PLASMA_FNAME(zheev, ZHEEV )
39 #define PLASMA_ZHEGV PLASMA_FNAME(zhegv, ZHEGV )
40 #define PLASMA_ZHEGST PLASMA_FNAME(zhegst, ZHEGST )
41 #define PLASMA_ZHETRD PLASMA_FNAME(zhetrd, ZHETRD )
42 #define PLASMA_ZPOSV PLASMA_FNAME(zposv, ZPOSV )
43 #define PLASMA_ZPOTRF PLASMA_FNAME(zpotrf, ZPOTRF )
44 #define PLASMA_ZPOTRI PLASMA_FNAME(zpotri, ZPOTRI )
45 #define PLASMA_ZPOTRS PLASMA_FNAME(zpotrs, ZPOTRS )
46 #define PLASMA_ZTRSMPL PLASMA_FNAME(ztrsmpl, ZTRSMPL)
47 #define PLASMA_ZUNGBR PLASMA_FNAME(zungbr, ZUNGBR )
48 #define PLASMA_ZUNGHR PLASMA_FNAME(zunghr, ZUNGHR )
49 #define PLASMA_ZUNGLQ PLASMA_FNAME(zunglq, ZUNGLQ )
50 #define PLASMA_ZUNGQR PLASMA_FNAME(zungqr, ZUNGQR )
51 #define PLASMA_ZUNGTR PLASMA_FNAME(zungtr, ZUNGTR )
52 #define PLASMA_ZUNMLQ PLASMA_FNAME(zunmlq, ZUNMLQ )
53 #define PLASMA_ZUNMQR PLASMA_FNAME(zunmqr, ZUNMQR )
54 #define PLASMA_ZTRSM PLASMA_FNAME(ztrsm, ZTRSM )
55 #define PLASMA_ZGEMM PLASMA_FNAME(zgemm, ZGEMM )
56 #define PLASMA_ZSYMM PLASMA_FNAME(zsymm, ZSYMM )
57 #define PLASMA_ZSYRK PLASMA_FNAME(zsyrk, ZSYRK )
58 #ifdef COMPLEX
59 #define PLASMA_ZHEMM PLASMA_FNAME(zhemm, ZHEMM )
60 #define PLASMA_ZHERK PLASMA_FNAME(zherk, ZHERK )
61 #endif
62 
63 /*
64  * Tile interface
65  */
66 #define PLASMA_ZGEBRD_TILE PLASMA_TILE_FNAME(zgebrd, ZGEBRD )
67 #define PLASMA_ZGEEV_TILE PLASMA_TILE_FNAME(zgeev, ZGEEV )
68 #define PLASMA_ZGEHRD_TILE PLASMA_TILE_FNAME(zgehrd, ZGEHRD )
69 #define PLASMA_ZGELQF_TILE PLASMA_TILE_FNAME(zgelqf, ZGELQF )
70 #define PLASMA_ZGELQS_TILE PLASMA_TILE_FNAME(zgelqs, ZGELQS )
71 #define PLASMA_ZGELS_TILE PLASMA_TILE_FNAME(zgels, ZGELS )
72 #define PLASMA_ZGEQRF_TILE PLASMA_TILE_FNAME(zgeqrf, ZGEQRF )
73 #define PLASMA_ZGEQRS_TILE PLASMA_TILE_FNAME(zgeqrs, ZGEQRS )
74 #define PLASMA_ZGESV_TILE PLASMA_TILE_FNAME(zgesv, ZGESV )
75 #define PLASMA_ZGESVD_TILE PLASMA_TILE_FNAME(zgesvd, ZGESVD )
76 #define PLASMA_ZGETRF_TILE PLASMA_TILE_FNAME(zgetrf, ZGETRF )
77 #define PLASMA_ZGETRS_TILE PLASMA_TILE_FNAME(zgetrs, ZGETRS )
78 #define PLASMA_ZGESV_INCPIV_TILE PLASMA_TILE_FNAME(zgesv_incpiv, ZGESV_INCPIV )
79 #define PLASMA_ZGETRF_INCPIV_TILE PLASMA_TILE_FNAME(zgetrf_incpiv, ZGETRF_INCPIV )
80 #define PLASMA_ZGETRS_INCPIV_TILE PLASMA_TILE_FNAME(zgetrs_incpiv, ZGETRS_INCPIV )
81 #define PLASMA_ZHEEV_TILE PLASMA_TILE_FNAME(zheev, ZHEEV )
82 #define PLASMA_ZHEGV_TILE PLASMA_TILE_FNAME(zhegv, ZHEGV )
83 #define PLASMA_ZHEGST_TILE PLASMA_TILE_FNAME(zhegst, ZHEGST )
84 #define PLASMA_ZHETRD_TILE PLASMA_TILE_FNAME(zhetrd, ZHETRD )
85 #define PLASMA_ZPOSV_TILE PLASMA_TILE_FNAME(zposv, ZPOSV )
86 #define PLASMA_ZPOTRF_TILE PLASMA_TILE_FNAME(zpotrf, ZPOTRF )
87 #define PLASMA_ZPOTRI_TILE PLASMA_TILE_FNAME(zpotri, ZPOTRI )
88 #define PLASMA_ZPOTRS_TILE PLASMA_TILE_FNAME(zpotrs, ZPOTRS )
89 #define PLASMA_ZTRSM_TILE PLASMA_TILE_FNAME(ztrsm, ZTRSM )
90 #define PLASMA_ZTRSMPL_TILE PLASMA_TILE_FNAME(ztrsmpl, ZTRSMPL)
91 #define PLASMA_ZUNGBR_TILE PLASMA_TILE_FNAME(zungbr, ZUNGBR )
92 #define PLASMA_ZUNGHR_TILE PLASMA_TILE_FNAME(zunghr, ZUNGHR )
93 #define PLASMA_ZUNGLQ_TILE PLASMA_TILE_FNAME(zunglq, ZUNGLQ )
94 #define PLASMA_ZUNGQR_TILE PLASMA_TILE_FNAME(zungqr, ZUNGQR )
95 #define PLASMA_ZUNGTR_TILE PLASMA_TILE_FNAME(zungtr, ZUNGTR )
96 #define PLASMA_ZUNMLQ_TILE PLASMA_TILE_FNAME(zunmlq, ZUNMLQ )
97 #define PLASMA_ZUNMQR_TILE PLASMA_TILE_FNAME(zunmqr, ZUNMQR )
98 #define PLASMA_ZGEMM_TILE PLASMA_TILE_FNAME(zgemm, ZGEMM )
99 #define PLASMA_ZSYMM_TILE PLASMA_TILE_FNAME(zsymm, ZSYMM )
100 #define PLASMA_ZSYRK_TILE PLASMA_TILE_FNAME(zsyrk, ZSYRK )
101 #ifdef COMPLEX
102 #define PLASMA_ZHEMM_TILE PLASMA_TILE_FNAME(zhemm, ZHEMM )
103 #define PLASMA_ZHERK_TILE PLASMA_TILE_FNAME(zherk, ZHERK )
104 #endif
105 
106 /*
107  * Workspaces
108  */
109 #define PLASMA_ALLOC_WORKSPACE_ZGEBRD PLASMA_WS_FNAME(zgehrd, ZGEBRD)
110 #define PLASMA_ALLOC_WORKSPACE_ZGEEV PLASMA_WS_FNAME(zgeev, ZGEEV )
111 #define PLASMA_ALLOC_WORKSPACE_ZGEHRD PLASMA_WS_FNAME(zgehrd, ZGEHRD)
112 #define PLASMA_ALLOC_WORKSPACE_ZGELQF PLASMA_WS_FNAME(zgelqf, ZGELQF)
113 #define PLASMA_ALLOC_WORKSPACE_ZGELS PLASMA_WS_FNAME(zgels, ZGELS )
114 #define PLASMA_ALLOC_WORKSPACE_ZGEQRF PLASMA_WS_FNAME(zgeqrf, ZGEQRF)
115 #define PLASMA_ALLOC_WORKSPACE_ZGESV_INCPIV PLASMA_WS_FNAME(zgesv_incpiv, ZGESV_INCPIV )
116 #define PLASMA_ALLOC_WORKSPACE_ZGETRF_INCPIV PLASMA_WS_FNAME(zgetrf_incpiv, ZGETRF_INCPIV)
117 #define PLASMA_ALLOC_WORKSPACE_ZGESVD PLASMA_WS_FNAME(zgesvd, ZGESVD)
118 #define PLASMA_ALLOC_WORKSPACE_ZHEEV PLASMA_WS_FNAME(zheev, ZHEEV )
119 #define PLASMA_ALLOC_WORKSPACE_ZHEGV PLASMA_WS_FNAME(zhegv, ZHEGV )
120 #define PLASMA_ALLOC_WORKSPACE_ZHETRD PLASMA_WS_FNAME(zhetrd, ZHETRD)
121 
122 /*
123  * Tile Workspaces
124  */
125 #define PLASMA_ALLOC_WORKSPACE_ZGELQF_TILE PLASMA_WST_FNAME(zgelqf, ZGELQF )
126 #define PLASMA_ALLOC_WORKSPACE_ZGELS_TILE PLASMA_WST_FNAME(zgels, ZGELS )
127 #define PLASMA_ALLOC_WORKSPACE_ZGEQRF_TILE PLASMA_WST_FNAME(zgeqrf, ZGEQRF )
128 #define PLASMA_ALLOC_WORKSPACE_ZGESV_INCPIV_TILE PLASMA_WST_FNAME(zgesv_incpiv, ZGESV_INCPIV )
129 #define PLASMA_ALLOC_WORKSPACE_ZGETRF_INCPIV_TILE PLASMA_WST_FNAME(zgetrf_incpiv, ZGETRF_INCPIV)
130 
131 #define PLASMA_ZLAPACK_TO_TILE PLASMA_FNAME(zlapack_to_tile, ZLAPACK_TO_TILE)
132 #define PLASMA_ZTILE_TO_LAPACK PLASMA_FNAME(ztile_to_lapack, ZTILE_TO_LAPACK)
133 
134 #ifdef __cplusplus
135 extern "C" {
136 #endif
137 
138 /***************************************************************************/
141 void PLASMA_ZGEBRD(PLASMA_enum *jobu, PLASMA_enum *jobvt, int *M, int *N, PLASMA_Complex64_t *A, int *LDA, double *D, double *E, PLASMA_Complex64_t *U, int *LDU, PLASMA_Complex64_t *VT, int *LDVT, intptr_t *descT, int *INFO)
142 { *INFO = PLASMA_zgebrd(*jobu, *jobvt, *M, *N, A, *LDA, D, E, U, *LDU, VT, *LDVT, (PLASMA_desc *)(*descT)); }
143 
144 void PLASMA_ZGELQF(int *M, int *N, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t **T, int *INFO)
145 { *INFO = PLASMA_zgelqf(*M, *N, A, *LDA, *T); }
146 
147 void PLASMA_ZGELQS(int *M, int *N, int *NRHS, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t **T, PLASMA_Complex64_t *B, int *LDB, int *INFO)
148 { *INFO = PLASMA_zgelqs(*M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
149 
150 void PLASMA_ZGELS(PLASMA_enum *trans, int *M, int *N, int *NRHS, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t **T, PLASMA_Complex64_t *B, int *LDB, int *INFO)
151 { *INFO = PLASMA_zgels(*trans, *M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
152 
153 void PLASMA_ZGEQRF(int *M, int *N, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t **T, int *INFO)
154 { *INFO = PLASMA_zgeqrf(*M, *N, A, *LDA, *T); }
155 
156 void PLASMA_ZGEQRS(int *M, int *N, int *NRHS, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t **T, PLASMA_Complex64_t *B, int *LDB, int *INFO)
157 { *INFO = PLASMA_zgeqrs(*M, *N, *NRHS, A, *LDA, *T, B, *LDB); }
158 
159 void PLASMA_ZGESV(int *N, int *NRHS, PLASMA_Complex64_t *A, int *LDA, int *IPIV, PLASMA_Complex64_t *B, int *LDB, int *INFO)
160 { *INFO = PLASMA_zgesv(*N, *NRHS, A, *LDA, IPIV, B, *LDB); }
161 
162 void PLASMA_ZGESVD(PLASMA_enum *jobu, PLASMA_enum *jobvt, int *M, int *N, PLASMA_Complex64_t *A, int *LDA, double *S, PLASMA_Complex64_t *U, int *LDU, PLASMA_Complex64_t *VT, int *LDVT, intptr_t *T, int *INFO)
163 { *INFO = PLASMA_zgesvd(*jobu, *jobvt, *M, *N, A, *LDA, S, U, *LDU, VT, *LDVT, (PLASMA_desc *)(*T)); }
164 
165 void PLASMA_ZGETRF(int *M, int *N, PLASMA_Complex64_t *A, int *LDA, int *IPIV, int *INFO)
166 { *INFO = PLASMA_zgetrf(*M, *N, A, *LDA, IPIV); }
167 
168 void PLASMA_ZGETRS(PLASMA_enum *trans, int *N, int *NRHS, PLASMA_Complex64_t *A, int *LDA, int *IPIV, PLASMA_Complex64_t *B, int *LDB, int *INFO)
169 { *INFO = PLASMA_zgetrs(*trans, *N, *NRHS, A, *LDA, IPIV, B, *LDB); }
170 
171 void PLASMA_ZGESV_INCPIV(int *N, int *NRHS, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t **LH, int **IPIVH, PLASMA_Complex64_t *B, int *LDB, int *INFO)
172 { *INFO = PLASMA_zgesv_incpiv(*N, *NRHS, A, *LDA, *LH, *IPIVH, B, *LDB); }
173 
174 void PLASMA_ZGETRF_INCPIV(int *M, int *N, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t **LH, int **IPIVH, int *INFO)
175 { *INFO = PLASMA_zgetrf_incpiv(*M, *N, A, *LDA, *LH, *IPIVH); }
176 
177 void PLASMA_ZGETRS_INCPIV(PLASMA_enum *uplo, int *N, int *NRHS, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t **LH, int **IPIVH, PLASMA_Complex64_t *B, int *LDB, int *INFO)
178 { *INFO = PLASMA_zgetrs_incpiv(*uplo, *N, *NRHS, A, *LDA, *LH, *IPIVH, B, *LDB); }
179 
180 void PLASMA_ZHEEV(PLASMA_enum *jobz, PLASMA_enum *uplo, int *N, PLASMA_Complex64_t *A, int *LDA, double *W, intptr_t *T, PLASMA_Complex64_t *Q, int *LDQ, int *INFO)
181 { *INFO = PLASMA_zheev(*jobz, *uplo, *N, A, *LDA, W, (PLASMA_desc *)(*T), Q, *LDQ); }
182 
183 void PLASMA_ZHEGV(PLASMA_enum *itype, PLASMA_enum *jobz, PLASMA_enum *uplo, int *N, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t *B, int *LDB, double *W, intptr_t *T, PLASMA_Complex64_t *Q, int *LDQ, int *INFO)
184 { *INFO = PLASMA_zhegv(*itype, *jobz, *uplo, *N, A, *LDA, B, *LDB, W, (PLASMA_desc*)(*T), Q, *LDQ); }
185 
186 void PLASMA_ZHEGST(PLASMA_enum *itype, PLASMA_enum *uplo, int *N, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t *B, int *LDB, int *INFO)
187 { *INFO = PLASMA_zhegst(*itype, *uplo, *N, A, *LDA, B, *LDB); }
188 
189 void PLASMA_ZHETRD(PLASMA_enum *jobz, PLASMA_enum *uplo, int *N, PLASMA_Complex64_t *A, int *LDA, double *D, double *E, intptr_t *T, PLASMA_Complex64_t *Q, int *LDQ, int *INFO)
190 { *INFO = PLASMA_zhetrd(*jobz, *uplo, *N, A, *LDA, D, E, (PLASMA_desc *)(*T), Q, *LDQ); }
191 
192 void PLASMA_ZPOSV(PLASMA_enum *uplo, int *N, int *NRHS, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t *B, int *LDB, int *INFO)
193 { *INFO = PLASMA_zposv(*uplo, *N, *NRHS, A, *LDA, B, *LDB); }
194 
195 void PLASMA_ZPOTRF(PLASMA_enum *uplo, int *N, PLASMA_Complex64_t *A, int *LDA, int *INFO)
196 { *INFO = PLASMA_zpotrf(*uplo, *N, A, *LDA); }
197 
198 void PLASMA_ZPOTRI(PLASMA_enum *uplo, int *N, PLASMA_Complex64_t *A, int *LDA, int *INFO)
199 { *INFO = PLASMA_zpotri(*uplo, *N, A, *LDA); }
200 
201 void PLASMA_ZPOTRS(PLASMA_enum *uplo, int *N, int *NRHS, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t *B, int* LDB, int * INFO)
202 { *INFO = PLASMA_zpotrs(*uplo, *N, *NRHS, A, *LDA, B, *LDB); }
203 
204 void PLASMA_ZTRSMPL(int *N, int *NRHS, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t **LH, int **IPIVH, PLASMA_Complex64_t *B, int *LDB, int *INFO)
205 { *INFO = PLASMA_ztrsmpl(*N, *NRHS, A, *LDA, *LH, *IPIVH, B, *LDB); }
206 
207 void PLASMA_ZUNGLQ(int *M, int *N, int *K, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t **T, PLASMA_Complex64_t *B, int *LDB, int *INFO)
208 { *INFO = PLASMA_zunglq(*M, *N, *K, A, *LDA, *T, B, *LDB); }
209 
210 void PLASMA_ZUNGQR(int *M, int *N, int *K, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t **T, PLASMA_Complex64_t *B, int *LDB, int *INFO)
211 { *INFO = PLASMA_zungqr(*M, *N, *K, A, *LDA, *T, B, *LDB); }
212 
213 void PLASMA_ZUNMLQ(PLASMA_enum *side, PLASMA_enum *trans, int *M, int *N, int *K, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t **T, PLASMA_Complex64_t *B, int *LDB, int *INFO)
214 { *INFO = PLASMA_zunmlq(*side, *trans, *M, *N, *K, A, *LDA, *T, B, *LDB); }
215 
216 void PLASMA_ZUNMQR(PLASMA_enum *side, PLASMA_enum *trans, int *M, int *N, int *K, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t **T, PLASMA_Complex64_t *B, int *LDB, int *INFO)
217 { *INFO = PLASMA_zunmqr(*side, *trans, *M, *N, *K, A, *LDA, *T, B, *LDB); }
218 
219 void PLASMA_ZTRSM(PLASMA_enum *side, PLASMA_enum *uplo, PLASMA_enum *transA, PLASMA_enum *diag, int *N, int *NRHS, PLASMA_Complex64_t *alpha, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t *B, int *LDB, int *INFO)
220 { *INFO = PLASMA_ztrsm(*side, *uplo, *transA, *diag, *N, *NRHS, *alpha, A, *LDA, B, *LDB); }
221 
222 void PLASMA_ZGEMM(PLASMA_enum *transA, PLASMA_enum *transB, int *M, int *N, int *K, PLASMA_Complex64_t *alpha, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t *B, int *LDB, PLASMA_Complex64_t *beta, PLASMA_Complex64_t *C, int *LDC, int *INFO)
223 { *INFO = PLASMA_zgemm(*transA, *transB, *M, *N, *K, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
224 
225 void PLASMA_ZSYMM(PLASMA_enum *side, PLASMA_enum *uplo, int *M, int *N, PLASMA_Complex64_t *alpha, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t *B, int *LDB, PLASMA_Complex64_t *beta, PLASMA_Complex64_t *C, int *LDC, int *INFO)
226 { *INFO = PLASMA_zsymm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
227 
228 void PLASMA_ZSYRK(PLASMA_enum *uplo, PLASMA_enum *trans, int *N, int *K, PLASMA_Complex64_t *alpha, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t *beta, PLASMA_Complex64_t *C, int *LDC, int *INFO)
229 { *INFO = PLASMA_zsyrk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); }
230 
231 #ifdef COMPLEX
232 void PLASMA_ZHEMM(PLASMA_enum *side, PLASMA_enum *uplo, int *M, int *N, PLASMA_Complex64_t *alpha, PLASMA_Complex64_t *A, int *LDA, PLASMA_Complex64_t *B, int *LDB, PLASMA_Complex64_t *beta, PLASMA_Complex64_t *C, int *LDC, int *INFO)
233 { *INFO = PLASMA_zhemm(*side, *uplo, *M, *N, *alpha, A, *LDA, B, *LDB, *beta, C, *LDC); }
234 
235 void PLASMA_ZHERK(PLASMA_enum *uplo, PLASMA_enum *trans, int *N, int *K, PLASMA_Complex64_t *alpha, PLASMA_Complex64_t *A, int *LDA, double *beta, PLASMA_Complex64_t *C, int *LDC, int *INFO)
236 { *INFO = PLASMA_zherk(*uplo, *trans, *N, *K, *alpha, A, *LDA, *beta, C, *LDC); }
237 #endif
238 
239 /***************************************************************************/
242 void PLASMA_ZGEBRD_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_zgebrd_Tile(*jobu, *jobvt, (PLASMA_desc *)(*A), D, E, (PLASMA_desc *)(*U), (PLASMA_desc *)(*VT), (PLASMA_desc *)(*T)); }
244 
245 void PLASMA_ZGELQF_TILE(intptr_t *A, intptr_t *T, int *INFO)
246 { *INFO = PLASMA_zgelqf_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*T)); }
247 
248 void PLASMA_ZGELQS_TILE(intptr_t *A, intptr_t *B, intptr_t *T, int *INFO)
249 { *INFO = PLASMA_zgelqs_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*B), (PLASMA_desc *)(*T)); }
250 
251 void PLASMA_ZGELS_TILE(PLASMA_enum *trans, intptr_t *A, intptr_t *B, intptr_t *T, int *INFO)
252 { *INFO = PLASMA_zgels_Tile(*trans, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), (PLASMA_desc *)(*T)); }
253 
254 void PLASMA_ZGEQRF_TILE(intptr_t *A, intptr_t *T, int *INFO)
255 { *INFO = PLASMA_zgeqrf_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*T)); }
256 
257 void PLASMA_ZGEQRS_TILE(intptr_t *A, intptr_t *B, intptr_t *T, int *INFO)
258 { *INFO = PLASMA_zgeqrs_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*B), (PLASMA_desc *)(*T)); }
259 
260 void PLASMA_ZGESV_TILE(intptr_t *A, int *IPIV, intptr_t *B, int *INFO)
261 { *INFO = PLASMA_zgesv_Tile((PLASMA_desc *)(*A), IPIV, (PLASMA_desc *)(*B)); }
262 
263 void PLASMA_ZGESVD_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_zgesvd_Tile(*jobu, *jobvt, (PLASMA_desc *)(*A), S, (PLASMA_desc *)(*U), (PLASMA_desc *)(*VT), (PLASMA_desc *)(*T)); }
265 
266 void PLASMA_ZGETRF_TILE(intptr_t *A, int *IPIV, int *INFO)
267 { *INFO = PLASMA_zgetrf_Tile((PLASMA_desc *)(*A), IPIV); }
268 
269 void PLASMA_ZGETRS_TILE(PLASMA_enum *trans, intptr_t *A, int *IPIV, intptr_t *B, int *INFO)
270 { *INFO = PLASMA_zgetrs_Tile(*trans, (PLASMA_desc *)(*A), IPIV, (PLASMA_desc *)(*B)); }
271 
272 void PLASMA_ZGESV_INCPIV_TILE(intptr_t *A, intptr_t *L, int **IPIVH, intptr_t *B, int *INFO)
273 { *INFO = PLASMA_zgesv_incpiv_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*L), *IPIVH, (PLASMA_desc *)(*B)); }
274 
275 void PLASMA_ZGETRF_INCPIV_TILE(intptr_t *A, intptr_t *L, int **IPIVH, int *INFO)
276 { *INFO = PLASMA_zgetrf_incpiv_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*L), *IPIVH); }
277 
278 void PLASMA_ZGETRS_INCPIV_TILE(intptr_t *A, intptr_t *L, int **IPIVH, intptr_t *B, int *INFO)
279 { *INFO = PLASMA_zgetrs_incpiv_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*L), *IPIVH, (PLASMA_desc *)(*B)); }
280 
281 void PLASMA_ZHEEV_TILE(PLASMA_enum *jobz, PLASMA_enum *uplo, intptr_t *A, double *W, intptr_t *T, intptr_t *Q, int *INFO)
282 { *INFO = PLASMA_zheev_Tile(*jobz, *uplo, (PLASMA_desc *)(*A), W, (PLASMA_desc *)(*T), (PLASMA_desc *)(*Q)); }
283 
284 void PLASMA_ZHEGV_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_zhegv_Tile(*itype, *jobz, *uplo, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), W, (PLASMA_desc *)(*T), (PLASMA_desc *)(*Q)); }
286 
287 void PLASMA_ZHEGST_TILE(PLASMA_enum *itype, PLASMA_enum *uplo, intptr_t *A, intptr_t *B, int *INFO)
288 { *INFO = PLASMA_zhegst_Tile(*itype, *uplo, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B)); }
289 
290 void PLASMA_ZHETRD_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_zhetrd_Tile(*jobz, *uplo, (PLASMA_desc *)(*A), D, E, (PLASMA_desc *)(*T), (PLASMA_desc *)(*Q)); }
292 
293 void PLASMA_ZPOSV_TILE(PLASMA_enum *uplo, intptr_t *A, intptr_t *B, int *INFO)
294 { *INFO = PLASMA_zposv_Tile(*uplo, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B)); }
295 
296 void PLASMA_ZPOTRF_TILE(PLASMA_enum *uplo, intptr_t *A, int *INFO)
297 { *INFO = PLASMA_zpotrf_Tile(*uplo, (PLASMA_desc *)(*A)); }
298 
299 void PLASMA_ZPOTRS_TILE(PLASMA_enum *uplo, intptr_t *A, intptr_t *B, int *INFO)
300 { *INFO = PLASMA_zpotrs_Tile(*uplo, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B)); }
301 
302 void PLASMA_ZTRSMPL_TILE(intptr_t *A, intptr_t *L, int **IPIVH, intptr_t *B, int *INFO)
303 { *INFO = PLASMA_ztrsmpl_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*L), *IPIVH, (PLASMA_desc *)(*B)); }
304 
305 void PLASMA_ZUNGLQ_TILE(intptr_t *A, intptr_t *T, intptr_t *B, int *INFO)
306 { *INFO = PLASMA_zunglq_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*T), (PLASMA_desc *)(*B)); }
307 
308 void PLASMA_ZUNGQR_TILE(intptr_t *A, intptr_t *T, intptr_t *B, int *INFO)
309 { *INFO = PLASMA_zungqr_Tile((PLASMA_desc *)(*A), (PLASMA_desc *)(*T), (PLASMA_desc *)(*B)); }
310 
311 void PLASMA_ZUNMLQ_TILE(PLASMA_enum *side, PLASMA_enum *trans, intptr_t *A, intptr_t *T, intptr_t *B, int *INFO)
312 { *INFO = PLASMA_zunmlq_Tile(*side, *trans, (PLASMA_desc *)(*A), (PLASMA_desc *)(*T), (PLASMA_desc *)(*B)); }
313 
314 void PLASMA_ZUNMQR_TILE(PLASMA_enum *side, PLASMA_enum *trans, intptr_t *A, intptr_t *T, intptr_t *B, int *INFO)
315 { *INFO = PLASMA_zunmqr_Tile(*side, *trans, (PLASMA_desc *)(*A), (PLASMA_desc *)(*T), (PLASMA_desc *)(*B)); }
316 
317 void PLASMA_ZTRSM_TILE(PLASMA_enum *side, PLASMA_enum *uplo, PLASMA_enum *transA, PLASMA_enum *diag, PLASMA_Complex64_t *alpha, intptr_t *A, intptr_t *B, int *INFO)
318 { *INFO = PLASMA_ztrsm_Tile(*side, *uplo, *transA, *diag, *alpha, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B)); }
319 
320 void PLASMA_ZGEMM_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_zgemm_Tile(*transA, *transB, *alpha, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), *beta, (PLASMA_desc *)(*C)); }
322 
323  void PLASMA_ZSYMM_TILE(PLASMA_enum *side, PLASMA_enum *uplo, PLASMA_Complex64_t *alpha, intptr_t *A, intptr_t *B, PLASMA_Complex64_t *beta, intptr_t *C, int *INFO)
324  { *INFO = PLASMA_zsymm_Tile(*side, *uplo, *alpha, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), *beta, (PLASMA_desc *)(*C)); }
325 
326 void PLASMA_ZSYRK_TILE(PLASMA_enum *uplo, PLASMA_enum *trans, PLASMA_Complex64_t *alpha, intptr_t *A, PLASMA_Complex64_t *beta, intptr_t *C, int *INFO)
327 { *INFO = PLASMA_zsyrk_Tile(*uplo, *trans, *alpha, (PLASMA_desc *)(*A), *beta, (PLASMA_desc *)(*C)); }
328 
329 #ifdef COMPLEX
330 void PLASMA_ZHEMM_TILE(PLASMA_enum *side, PLASMA_enum *uplo, PLASMA_Complex64_t *alpha, intptr_t *A, intptr_t *B, PLASMA_Complex64_t *beta, intptr_t *C, int *INFO)
331 { *INFO = PLASMA_zhemm_Tile(*side, *uplo, *alpha, (PLASMA_desc *)(*A), (PLASMA_desc *)(*B), *beta, (PLASMA_desc *)(*C)); }
332 
333 void PLASMA_ZHERK_TILE(PLASMA_enum *uplo, PLASMA_enum *trans, PLASMA_Complex64_t *alpha, intptr_t *A, double *beta, intptr_t *C, int *INFO)
334 { *INFO = PLASMA_zherk_Tile(*uplo, *trans, *alpha, (PLASMA_desc *)(*A), *beta, (PLASMA_desc *)(*C)); }
335 #endif
336 
337 /***************************************************************************/
340 void PLASMA_ALLOC_WORKSPACE_ZGEBRD(int *M, int *N, intptr_t **T, int *INFO)
341 { *INFO = PLASMA_Alloc_Workspace_zgebrd(*M, *N, (PLASMA_desc **)T); }
342 
343 void PLASMA_ALLOC_WORKSPACE_ZGELQF(int *M, int *N, PLASMA_Complex64_t **T, int *INFO)
344 { *INFO = PLASMA_Alloc_Workspace_zgelqf(*M, *N, T); }
345 
346 void PLASMA_ALLOC_WORKSPACE_ZGELS(int *M, int *N, PLASMA_Complex64_t **T, int *INFO)
347 { *INFO = PLASMA_Alloc_Workspace_zgels(*M, *N, T); }
348 
349 void PLASMA_ALLOC_WORKSPACE_ZGEQRF(int *M, int *N, PLASMA_Complex64_t **T, int *INFO)
350 { *INFO = PLASMA_Alloc_Workspace_zgeqrf(*M, *N, T); }
351 
353 { *INFO = PLASMA_Alloc_Workspace_zgesv_incpiv(*N, L, IPIV); }
354 
355 void PLASMA_ALLOC_WORKSPACE_ZGESVD(int *M, int *N, intptr_t **T, int *INFO)
356 { *INFO = PLASMA_Alloc_Workspace_zgesvd(*M, *N, (PLASMA_desc **)T); }
357 
358 void PLASMA_ALLOC_WORKSPACE_ZGETRF_INCPIV(int *M, int *N, PLASMA_Complex64_t **L, int **IPIV, int *INFO)
359 { *INFO = PLASMA_Alloc_Workspace_zgetrf_incpiv(*M, *N, L, IPIV); }
360 
361 void PLASMA_ALLOC_WORKSPACE_ZHEEV(int *M, int *N, intptr_t **T, int *INFO)
362 { *INFO = PLASMA_Alloc_Workspace_zheev(*M, *N, (PLASMA_desc **)T); }
363 
364 void PLASMA_ALLOC_WORKSPACE_ZHEGV(int *M, int *N, intptr_t **T, int *INFO)
365 { *INFO = PLASMA_Alloc_Workspace_zhegv(*M, *N, (PLASMA_desc **)T); }
366 
367 void PLASMA_ALLOC_WORKSPACE_ZHETRD(int *M, int *N, intptr_t **T, int *INFO)
368 { *INFO = PLASMA_Alloc_Workspace_zhetrd(*M, *N, (PLASMA_desc **)T); }
369 
370 
371 /***************************************************************************/
374 void PLASMA_ALLOC_WORKSPACE_ZGELQF_TILE(int *M, int *N, intptr_t **T, int *INFO)
375 { *INFO = PLASMA_Alloc_Workspace_zgelqf_Tile(*M, *N, (PLASMA_desc **)T); }
376 
377 void PLASMA_ALLOC_WORKSPACE_ZGELS_TILE(int *M, int *N, intptr_t **T, int *INFO)
378 { *INFO = PLASMA_Alloc_Workspace_zgels_Tile(*M, *N, (PLASMA_desc **)T); }
379 
380 void PLASMA_ALLOC_WORKSPACE_ZGEQRF_TILE(int *M, int *N, intptr_t **T, int *INFO)
381 { *INFO = PLASMA_Alloc_Workspace_zgeqrf_Tile(*M, *N, (PLASMA_desc **)T); }
382 
383 void PLASMA_ALLOC_WORKSPACE_ZGESV_INCPIV_TILE(int *N, intptr_t **L, int **IPIV, int *INFO)
384 { *INFO = PLASMA_Alloc_Workspace_zgesv_incpiv_Tile(*N, (PLASMA_desc **)L, IPIV); }
385 
386 void PLASMA_ALLOC_WORKSPACE_ZGETRF_INCPIV_TILE(int *N, intptr_t **L, int **IPIV, int *INFO)
387 { *INFO = PLASMA_Alloc_Workspace_zgetrf_incpiv_Tile(*N, (PLASMA_desc **)L, IPIV); }
388 
389 /***************************************************************************/
392 void PLASMA_ZLAPACK_TO_TILE(PLASMA_Complex64_t **Af77, int *LDA, intptr_t *A, int *INFO)
393 { *INFO = PLASMA_zLapack_to_Tile( *Af77, *LDA, (PLASMA_desc *)(*A) ); }
394 
395 void PLASMA_ZTILE_TO_LAPACK(intptr_t *A, PLASMA_Complex64_t **Af77, int *LDA, int *INFO)
396 { *INFO = PLASMA_zTile_to_Lapack( (PLASMA_desc *)(*A), *Af77, *LDA ); }
397 
398 #ifdef __cplusplus
399 }
400 #endif