示例#1
0
文件: P.c 项目: nashp/HiPLARb
int P_dsyev(
const char *jobz,
const char *uplo,
int N,
double *A,
int LDA,
double *W,
double *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_dsyev(N, N, &descT);

	info = PLASMA_dsyev(jz, uo, N, A, LDA, W, descT, Q, LDQ);

	PLASMA_Dealloc_Handle_Tile(&descT);

	return info;
}
示例#2
0
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)
{   *INFO = PLASMA_dsyev(*jobz, *uplo, *N, A, *LDA, W, (PLASMA_desc *)(*T), Q, *LDQ); }