int P_zheev( const char *jobz, const char *uplo, int N, void *A, int LDA, double *W, void *Q, int LDQ ) { PLASMA_enum jz, uo; PLASMA_desc *descT; int info; jz = PlasmaNoVec; if (*jobz != 'N') { jz = PlasmaVec; } if (*uplo == 'U') { uo = PlasmaUpper; } else { uo = PlasmaLower; } PLASMA_Alloc_Workspace_zheev(N, N, &descT); info = PLASMA_zheev(jz, uo, N, A, LDA, W, descT, Q, LDQ); PLASMA_Dealloc_Handle_Tile(&descT); return info; }
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) { *INFO = PLASMA_zheev(*jobz, *uplo, *N, A, *LDA, W, (PLASMA_desc *)(*T), Q, *LDQ); }