BEGIN_MODULE
NAME chameleon_tcore
DESC "Module for Chameleon TCORE functions"
ID 1


void TCORE_sasum( int storev, int uplo, int M, int N, const void *A, float *work );
int  TCORE_saxpy( int M, void *alpha, const void *A, int incA, void *B, int incB );
int  TCORE_sgeadd( int trans, int M, int N, void *alpha, const void *A, float beta, void *B );
int  TCORE_sgelqt( int M, int N, int IB, void *A, void *T, float *TAU, float *WORK );
void TCORE_sgemm( int transA, int transB, int M, int N, int K, void *alpha, const void *A, const void *B, float beta, void *C );
int  TCORE_sgeqrt( int M, int N, int IB, void *A, void *T, float *TAU, float *WORK );
int  TCORE_sgessm( int M, int N, int K, int IB, const int *IPIV, const void *L, void *A );
int  TCORE_sgessq( int storev, int M, int N, const void *A, void *sclssq );
int  TCORE_sgetrf( int M, int N, void *A, int *IPIV, int *INFO );
int  TCORE_sgetrf_incpiv( int M, int N, int IB, void *A, int *IPIV, int *INFO );
int  TCORE_sgetrf_nopiv( int M, int N, int IB, void *A, int *INFO );
void TCORE_she2ge( int uplo, int M, int N, const void *A, void *B );
int  TCORE_ssyrfb( int uplo, int N, int K, int IB, int NB, const void *A, const void *T, void *C, float *WORK, int ldwork );
void TCORE_slacpy( int uplo, int M, int N, const void *A, void *B );
void TCORE_slange( int norm, int M, int N, const void *A, float *work, float *normA );
void TCORE_slansy( int norm, int uplo, int N, const void *A, float *work, float *normA );
void TCORE_slantr( int norm, int uplo, int diag, int M, int N, const void *A, float *work, float *normA );
int  TCORE_slascal( int uplo, int m, int n, void *alpha, void *A );
void TCORE_slaset( int uplo, int n1, int n2, void *alpha, float beta, void *A );
void TCORE_slaset2( int uplo, int n1, int n2, void *alpha, void *A );
int  TCORE_slatro( int uplo, int trans, int M, int N, const void *A, void *B );
void TCORE_slauum( int uplo, int N, void *A );
void TCORE_splgsy( float bump, int m, int n, void *tileA, int bigM, int m0, int n0, unsigned long long int seed );
void TCORE_splrnt( int m, int n, void *tileA, int bigM, int m0, int n0, unsigned long long int seed );
void TCORE_spotrf( int uplo, int n, void *A, int *INFO );
int  TCORE_sssssm( int M1, int N1, int M2, int N2, int K, int IB, void *A1, void *A2, const void *L1, const void *L2, const int *IPIV );
void TCORE_ssymm( int side, int uplo, int M, int N, void *alpha, const void *A, const void *B, float beta, void *C );
void TCORE_ssyrk( int uplo, int trans, int N, int K, void *alpha, const void *A, float beta, void *C );
void TCORE_ssyr2k( int uplo, int trans, int N, int K, void *alpha, const void *A, const void *B, float beta, void *C );
int  TCORE_ssyssq( int storev, int uplo, int N, const void *A, void *sclssq );
int  TCORE_ssytf2_nopiv( int uplo, int n, void *A );
int  TCORE_stplqt( int M, int N, int L, int IB, void *A, void *B, void *T, float *WORK );
int  TCORE_stpmlqt( int side, int trans, int M, int N, int K, int L, int IB, const void *V, const void *T, void *A, void *B, float *WORK );
int  TCORE_stpmqrt( int side, int trans, int M, int N, int K, int L, int IB, const void *V, const void *T, void *A, void *B, float *WORK );
int  TCORE_stpqrt( int M, int N, int L, int IB, void *A, void *B, void *T, float *WORK );
int  TCORE_stradd( int uplo, int trans, int M, int N, void *alpha, const void *A, float beta, void *B );
void TCORE_strasm( int storev, int uplo, int diag, int M, int N, const void *A, float *work );
void TCORE_strmm( int side, int uplo, int transA, int diag, int M, int N, void *alpha, const void *A, void *B );
void TCORE_strsm( int side, int uplo, int transA, int diag, int M, int N, void *alpha, const void *A, void *B );
int  TCORE_strssq( int uplo, int diag, int M, int N, const void *A, void *sclssq );
void TCORE_strtri( int uplo, int diag, int N, void *A, int *info );
int  TCORE_stsmlq_hetra1( int side, int trans, int m1, int n1, int m2, int n2, int k, int ib, void *A1, void *A2, const void *V, const void *T, float *WORK, int ldwork );
int  TCORE_stsmqr_hetra1( int side, int trans, int m1, int n1, int m2, int n2, int k, int ib, void *A1, void *A2, const void *V, const void *T, float *WORK, int ldwork );
int  TCORE_ststrf( int M, int N, int IB, int NB, void *U, void *A, void *L, int *IPIV, float *WORK, int LDWORK, int *INFO );
int  TCORE_sormlq( int side, int trans, int M, int N, int IB, int K, const void *V, const void *T, void *C, float *WORK, int LDWORK );
int  TCORE_sormqr( int side, int trans, int M, int N, int K, int IB, const void *V, const void *T, void *C, float *WORK, int LDWORK );
int TCORE_sgram( int uplo, int M, int N, int Mt, int Nt, const void *Di, const void *Dj, const void *D, void *A );

void TCORE_dasum( int storev, int uplo, int M, int N, const void *A, double *work );
int  TCORE_daxpy( int M, void *alpha, const void *A, int incA, void *B, int incB );
int  TCORE_dgeadd( int trans, int M, int N, void *alpha, const void *A, double beta, void *B );
int  TCORE_dgelqt( int M, int N, int IB, void *A, void *T, double *TAU, double *WORK );
void TCORE_dgemm( int transA, int transB, int M, int N, int K, void *alpha, const void *A, const void *B, double beta, void *C );
int  TCORE_dgeqrt( int M, int N, int IB, void *A, void *T, double *TAU, double *WORK );
int  TCORE_dgessm( int M, int N, int K, int IB, const int *IPIV, const void *L, void *A );
int  TCORE_dgessq( int storev, int M, int N, const void *A, void *sclssq );
int  TCORE_dgetrf( int M, int N, void *A, int *IPIV, int *INFO );
int  TCORE_dgetrf_incpiv( int M, int N, int IB, void *A, int *IPIV, int *INFO );
int  TCORE_dgetrf_nopiv( int M, int N, int IB, void *A, int *INFO );
void TCORE_dhe2ge( int uplo, int M, int N, const void *A, void *B );
int  TCORE_dsyrfb( int uplo, int N, int K, int IB, int NB, const void *A, const void *T, void *C, double *WORK, int ldwork );
void TCORE_dlacpy( int uplo, int M, int N, const void *A, void *B );
void TCORE_dlange( int norm, int M, int N, const void *A, double *work, double *normA );
void TCORE_dlansy( int norm, int uplo, int N, const void *A, double *work, double *normA );
void TCORE_dlantr( int norm, int uplo, int diag, int M, int N, const void *A, double *work, double *normA );
int  TCORE_dlascal( int uplo, int m, int n, void *alpha, void *A );
void TCORE_dlaset( int uplo, int n1, int n2, void *alpha, double beta, void *A );
void TCORE_dlaset2( int uplo, int n1, int n2, void *alpha, void *A );
int  TCORE_dlatro( int uplo, int trans, int M, int N, const void *A, void *B );
void TCORE_dlauum( int uplo, int N, void *A );
void TCORE_dplgsy( double bump, int m, int n, void *tileA, int bigM, int m0, int n0, unsigned long long int seed );
void TCORE_dplrnt( int m, int n, void *tileA, int bigM, int m0, int n0, unsigned long long int seed );
void TCORE_dpotrf( int uplo, int n, void *A, int *INFO );
int  TCORE_dssssm( int M1, int N1, int M2, int N2, int K, int IB, void *A1, void *A2, const void *L1, const void *L2, const int *IPIV );
void TCORE_dsymm( int side, int uplo, int M, int N, void *alpha, const void *A, const void *B, double beta, void *C );
void TCORE_dsyrk( int uplo, int trans, int N, int K, void *alpha, const void *A, double beta, void *C );
void TCORE_dsyr2k( int uplo, int trans, int N, int K, void *alpha, const void *A, const void *B, double beta, void *C );
int  TCORE_dsyssq( int storev, int uplo, int N, const void *A, void *sclssq );
int  TCORE_dsytf2_nopiv( int uplo, int n, void *A );
int  TCORE_dtplqt( int M, int N, int L, int IB, void *A, void *B, void *T, double *WORK );
int  TCORE_dtpmlqt( int side, int trans, int M, int N, int K, int L, int IB, const void *V, const void *T, void *A, void *B, double *WORK );
int  TCORE_dtpmqrt( int side, int trans, int M, int N, int K, int L, int IB, const void *V, const void *T, void *A, void *B, double *WORK );
int  TCORE_dtpqrt( int M, int N, int L, int IB, void *A, void *B, void *T, double *WORK );
int  TCORE_dtradd( int uplo, int trans, int M, int N, void *alpha, const void *A, double beta, void *B );
void TCORE_dtrasm( int storev, int uplo, int diag, int M, int N, const void *A, double *work );
void TCORE_dtrmm( int side, int uplo, int transA, int diag, int M, int N, void *alpha, const void *A, void *B );
void TCORE_dtrsm( int side, int uplo, int transA, int diag, int M, int N, void *alpha, const void *A, void *B );
int  TCORE_dtrssq( int uplo, int diag, int M, int N, const void *A, void *sclssq );
void TCORE_dtrtri( int uplo, int diag, int N, void *A, int *info );
int  TCORE_dtsmlq_hetra1( int side, int trans, int m1, int n1, int m2, int n2, int k, int ib, void *A1, void *A2, const void *V, const void *T, double *WORK, int ldwork );
int  TCORE_dtsmqr_hetra1( int side, int trans, int m1, int n1, int m2, int n2, int k, int ib, void *A1, void *A2, const void *V, const void *T, double *WORK, int ldwork );
int  TCORE_dtstrf( int M, int N, int IB, int NB, void *U, void *A, void *L, int *IPIV, double *WORK, int LDWORK, int *INFO );
int  TCORE_dormlq( int side, int trans, int M, int N, int IB, int K, const void *V, const void *T, void *C, double *WORK, int LDWORK );
int  TCORE_dormqr( int side, int trans, int M, int N, int K, int IB, const void *V, const void *T, void *C, double *WORK, int LDWORK );
int TCORE_dgram( int uplo, int M, int N, int Mt, int Nt, const void *Di, const void *Dj, const void *D, void *A );

void TCORE_scasum( int storev, int uplo, int M, int N, const void *A, float *work );
int  TCORE_caxpy( int M, void * alpha, const void *A, int incA, void *B, int incB );
int  TCORE_cgeadd( int trans, int M, int N, void * alpha, const void *A, void * beta, void *B );
int  TCORE_cgelqt( int M, int N, int IB, void *A, void *T, void *TAU, void *WORK );
void TCORE_cgemm( int transA, int transB, int M, int N, int K, void * alpha, const void *A, const void *B, void * beta, void *C );
int  TCORE_cgeqrt( int M, int N, int IB, void *A, void *T, void *TAU, void *WORK );
int  TCORE_cgessm( int M, int N, int K, int IB, const int *IPIV, const void *L, void *A );
int  TCORE_cgessq( int storev, int M, int N, const void *A, void *sclssq );
int  TCORE_cgetrf( int M, int N, void *A, int *IPIV, int *INFO );
int  TCORE_cgetrf_incpiv( int M, int N, int IB, void *A, int *IPIV, int *INFO );
int  TCORE_cgetrf_nopiv( int M, int N, int IB, void *A, int *INFO );
void TCORE_che2ge( int uplo, int M, int N, const void *A, void *B );
void TCORE_chemm( int side, int uplo, int M, int N, void * alpha, const void *A, const void *B, void * beta, void *C );
void TCORE_cherk( int uplo, int trans, int N, int K, void *alpha, const void *A, float beta, void *C );
void TCORE_cher2k( int uplo, int trans, int N, int K, void * alpha, const void *A, const void *B, float beta, void *C );
int  TCORE_cherfb( int uplo, int N, int K, int IB, int NB, const void *A, const void *T, void *C, void *WORK, int ldwork );
int  TCORE_chessq( int storev, int uplo, int N, const void *A, void *sclssq );
void TCORE_clacpy( int uplo, int M, int N, const void *A, void *B );
void TCORE_clange( int norm, int M, int N, const void *A, float *work, float *normA );
void TCORE_clanhe( int norm, int uplo, int N, const void *A, float *work, float *normA );
void TCORE_clansy( int norm, int uplo, int N, const void *A, float *work, float *normA );
void TCORE_clantr( int norm, int uplo, int diag, int M, int N, const void *A, float *work, float *normA );
int  TCORE_clascal( int uplo, int m, int n, void * alpha, void *A );
void TCORE_claset( int uplo, int n1, int n2, void * alpha, void * beta, void *A );
void TCORE_claset2( int uplo, int n1, int n2, void * alpha, void *A );
int  TCORE_clatro( int uplo, int trans, int M, int N, const void *A, void *B );
void TCORE_clauum( int uplo, int N, void *A );
void TCORE_cplghe( float bump, int m, int n, void *tileA, int bigM, int m0, int n0, unsigned long long int seed );
void TCORE_cplgsy( void * bump, int m, int n, void *tileA, int bigM, int m0, int n0, unsigned long long int seed );
void TCORE_cplrnt( int m, int n, void *tileA, int bigM, int m0, int n0, unsigned long long int seed );
void TCORE_cpotrf( int uplo, int n, void *A, int *INFO );
int  TCORE_cssssm( int M1, int N1, int M2, int N2, int K, int IB, void *A1, void *A2, const void *L1, const void *L2, const int *IPIV );
void TCORE_csymm( int side, int uplo, int M, int N, void * alpha, const void *A, const void *B, void * beta, void *C );
void TCORE_csyrk( int uplo, int trans, int N, int K, void * alpha, const void *A, void * beta, void *C );
void TCORE_csyr2k( int uplo, int trans, int N, int K, void * alpha, const void *A, const void *B, void * beta, void *C );
int  TCORE_csyssq( int storev, int uplo, int N, const void *A, void *sclssq );
int  TCORE_csytf2_nopiv( int uplo, int n, void *A );
int  TCORE_ctplqt( int M, int N, int L, int IB, void *A, void *B, void *T, void *WORK );
int  TCORE_ctpmlqt( int side, int trans, int M, int N, int K, int L, int IB, const void *V, const void *T, void *A, void *B, void *WORK );
int  TCORE_ctpmqrt( int side, int trans, int M, int N, int K, int L, int IB, const void *V, const void *T, void *A, void *B, void *WORK );
int  TCORE_ctpqrt( int M, int N, int L, int IB, void *A, void *B, void *T, void *WORK );
int  TCORE_ctradd( int uplo, int trans, int M, int N, void * alpha, const void *A, void * beta, void *B );
void TCORE_ctrasm( int storev, int uplo, int diag, int M, int N, const void *A, float *work );
void TCORE_ctrmm( int side, int uplo, int transA, int diag, int M, int N, void * alpha, const void *A, void *B );
void TCORE_ctrsm( int side, int uplo, int transA, int diag, int M, int N, void * alpha, const void *A, void *B );
int  TCORE_ctrssq( int uplo, int diag, int M, int N, const void *A, void *sclssq );
void TCORE_ctrtri( int uplo, int diag, int N, void *A, int *info );
int  TCORE_ctsmlq_hetra1( int side, int trans, int m1, int n1, int m2, int n2, int k, int ib, void *A1, void *A2, const void *V, const void *T, void *WORK, int ldwork );
int  TCORE_ctsmqr_hetra1( int side, int trans, int m1, int n1, int m2, int n2, int k, int ib, void *A1, void *A2, const void *V, const void *T, void *WORK, int ldwork );
int  TCORE_ctstrf( int M, int N, int IB, int NB, void *U, void *A, void *L, int *IPIV, void *WORK, int LDWORK, int *INFO );
int  TCORE_cunmlq( int side, int trans, int M, int N, int IB, int K, const void *V, const void *T, void *C, void *WORK, int LDWORK );
int  TCORE_cunmqr( int side, int trans, int M, int N, int K, int IB, const void *V, const void *T, void *C, void *WORK, int LDWORK );
int TCORE_cgram( int uplo, int M, int N, int Mt, int Nt, const void *Di, const void *Dj, const void *D, void *A );

void TCORE_dzasum( int storev, int uplo, int M, int N, const void *A, double *work );
int  TCORE_zaxpy( int M, void *alpha, const void *A, int incA, void *B, int incB );
int  TCORE_zgeadd( int trans, int M, int N, void *alpha, const void *A, void *beta, void *B );
int  TCORE_zgelqt( int M, int N, int IB, void *A, void *T, void *TAU, void *WORK );
void TCORE_zgemm( int transA, int transB, int M, int N, int K, void *alpha, const void *A, const void *B, void *beta, void *C );
int  TCORE_zgeqrt( int M, int N, int IB, void *A, void *T, void *TAU, void *WORK );
int  TCORE_zgessm( int M, int N, int K, int IB, const int *IPIV, const void *L, void *A );
int  TCORE_zgessq( int storev, int M, int N, const void *A, void *sclssq );
int  TCORE_zgetrf( int M, int N, void *A, int *IPIV, int *INFO );
int  TCORE_zgetrf_incpiv( int M, int N, int IB, void *A, int *IPIV, int *INFO );
int  TCORE_zgetrf_nopiv( int M, int N, int IB, void *A, int *INFO );
void TCORE_zhe2ge( int uplo, int M, int N, const void *A, void *B );
void TCORE_zhemm( int side, int uplo, int M, int N, void *alpha, const void *A, const void *B, void *beta, void *C );
void TCORE_zherk( int uplo, int trans, int N, int K, void *alpha, const void *A, double beta, void *C );
void TCORE_zher2k( int uplo, int trans, int N, int K, void *alpha, const void *A, const void *B, double beta, void *C );
int  TCORE_zherfb( int uplo, int N, int K, int IB, int NB, const void *A, const void *T, void *C, void *WORK, int ldwork );
int  TCORE_zhessq( int storev, int uplo, int N, const void *A, void *sclssq );
void TCORE_zlacpy( int uplo, int M, int N, const void *A, void *B );
void TCORE_zlange( int norm, int M, int N, const void *A, double *work, double *normA );
void TCORE_zlanhe( int norm, int uplo, int N, const void *A, double *work, double *normA );
void TCORE_zlansy( int norm, int uplo, int N, const void *A, double *work, double *normA );
void TCORE_zlantr( int norm, int uplo, int diag, int M, int N, const void *A, double *work, double *normA );
int  TCORE_zlascal( int uplo, int m, int n, void *alpha, void *A );
void TCORE_zlaset( int uplo, int n1, int n2, void *alpha, void *beta, void *A );
void TCORE_zlaset2( int uplo, int n1, int n2, void *alpha, void *A );
int  TCORE_zlatro( int uplo, int trans, int M, int N, const void *A, void *B );
void TCORE_zlauum( int uplo, int N, void *A );
void TCORE_zplghe( double bump, int m, int n, void *tileA, int bigM, int m0, int n0, unsigned long long int seed );
void TCORE_zplgsy( void *bump, int m, int n, void *tileA, int bigM, int m0, int n0, unsigned long long int seed );
void TCORE_zplrnt( int m, int n, void *tileA, int bigM, int m0, int n0, unsigned long long int seed );
void TCORE_zpotrf( int uplo, int n, void *A, int *INFO );
int  TCORE_zssssm( int M1, int N1, int M2, int N2, int K, int IB, void *A1, void *A2, const void *L1, const void *L2, const int *IPIV );
void TCORE_zsymm( int side, int uplo, int M, int N, void *alpha, const void *A, const void *B, void *beta, void *C );
void TCORE_zsyrk( int uplo, int trans, int N, int K, void *alpha, const void *A, void *beta, void *C );
void TCORE_zsyr2k( int uplo, int trans, int N, int K, void *alpha, const void *A, const void *B, void *beta, void *C );
int  TCORE_zsyssq( int storev, int uplo, int N, const void *A, void *sclssq );
int  TCORE_zsytf2_nopiv( int uplo, int n, void *A );
int  TCORE_ztplqt( int M, int N, int L, int IB, void *A, void *B, void *T, void *WORK );
int  TCORE_ztpmlqt( int side, int trans, int M, int N, int K, int L, int IB, const void *V, const void *T, void *A, void *B, void *WORK );
int  TCORE_ztpmqrt( int side, int trans, int M, int N, int K, int L, int IB, const void *V, const void *T, void *A, void *B, void *WORK );
int  TCORE_ztpqrt( int M, int N, int L, int IB, void *A, void *B, void *T, void *WORK );
int  TCORE_ztradd( int uplo, int trans, int M, int N, void *alpha, const void *A, void *beta, void *B );
void TCORE_ztrasm( int storev, int uplo, int diag, int M, int N, const void *A, double *work );
void TCORE_ztrmm( int side, int uplo, int transA, int diag, int M, int N, void *alpha, const void *A, void *B );
void TCORE_ztrsm( int side, int uplo, int transA, int diag, int M, int N, void *alpha, const void *A, void *B );
int  TCORE_ztrssq( int uplo, int diag, int M, int N, const void *A, void *sclssq );
void TCORE_ztrtri( int uplo, int diag, int N, void *A, int *info );
int  TCORE_ztsmlq_hetra1( int side, int trans, int m1, int n1, int m2, int n2, int k, int ib, void *A1, void *A2, const void *V, const void *T, void *WORK, int ldwork );
int  TCORE_ztsmqr_hetra1( int side, int trans, int m1, int n1, int m2, int n2, int k, int ib, void *A1, void *A2, const void *V, const void *T, void *WORK, int ldwork );
int  TCORE_ztstrf( int M, int N, int IB, int NB, void *U, void *A, void *L, int *IPIV, void *WORK, int LDWORK, int *INFO );
int  TCORE_zunmlq( int side, int trans, int M, int N, int IB, int K, const void *V, const void *T, void *C, void *WORK, int LDWORK );
int  TCORE_zunmqr( int side, int trans, int M, int N, int K, int IB, const void *V, const void *T, void *C, void *WORK, int LDWORK );
int  TCORE_zgram( int uplo, int M, int N, int Mt, int Nt, const void *Di, const void *Dj, const void *D, void *A );

void CORE_slacpy(int uplo, int M, int N, void *A, int LDA, void *B, int LDB);
void CORE_dlacpy(int uplo, int M, int N, void *A, int LDA, void *B, int LDB);
void CORE_clacpy(int uplo, int M, int N, void *A, int LDA, void *B, int LDB);
void CORE_zlacpy(int uplo, int M, int N, void *A, int LDA, void *B, int LDB);
int CORE_splssq( int storev, int M, int N, void *sclssqin, void *sclssqout );
int CORE_dplssq( int storev, int M, int N, void *sclssqin, void *sclssqout );
int CORE_cplssq( int storev, int M, int N, void *sclssqin, void *sclssqout );
int CORE_zplssq( int storev, int M, int N, void *sclssqin, void *sclssqout );
int CORE_splssq2( int N, void *sclssq );
int CORE_dplssq2( int N, void *sclssq );
int CORE_cplssq2( int N, void *sclssq );
int CORE_zplssq2( int N, void *sclssq );

END_MODULE
