void CORE_slansy(int norm, int uplo, int N, float *A, int LDA, float *work, float *normA) { *normA = LAPACKE_slansy_work( LAPACK_COL_MAJOR, lapack_const(norm), lapack_const(uplo), N, A, LDA, work); }
void CORE_slansy_quark(Quark *quark) { float *normA; int norm; int uplo; int N; float *A; int LDA; float *work; quark_unpack_args_7(quark, normA, norm, uplo, N, A, LDA, work); *normA = LAPACKE_slansy_work( LAPACK_COL_MAJOR, lapack_const(norm), lapack_const(uplo), N, A, LDA, work); }
float LAPACKE_slansy( int matrix_order, char norm, char uplo, lapack_int n, const float* a, lapack_int lda ) { lapack_int info = 0; float res = 0.; float* work = NULL; if( matrix_order != LAPACK_COL_MAJOR && matrix_order != LAPACK_ROW_MAJOR ) { LAPACKE_xerbla( "LAPACKE_slansy", -1 ); return -1; } #ifndef LAPACK_DISABLE_NAN_CHECK /* Optionally check input matrices for NaNs */ if( LAPACKE_ssy_nancheck( matrix_order, uplo, n, a, lda ) ) { return -5; } #endif /* Allocate memory for working array(s) */ if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) || LAPACKE_lsame( norm, '0' ) ) { work = (float*)LAPACKE_malloc( sizeof(float) * MAX(1,n) ); if( work == NULL ) { info = LAPACK_WORK_MEMORY_ERROR; goto exit_level_0; } } /* Call middle-level interface */ res = LAPACKE_slansy_work( matrix_order, norm, uplo, n, a, lda, work ); /* Release memory and exit */ if( LAPACKE_lsame( norm, 'i' ) || LAPACKE_lsame( norm, '1' ) || LAPACKE_lsame( norm, '0' ) ) { LAPACKE_free( work ); } exit_level_0: if( info == LAPACK_WORK_MEMORY_ERROR ) { LAPACKE_xerbla( "LAPACKE_slansy", info ); } return res; }