示例#1
0
lapack_int LAPACKE_ssfrk( int matrix_order, char transr, char uplo, char trans,
                          lapack_int n, lapack_int k, float alpha,
                          const float* a, lapack_int lda, float beta, float* c )
{
    if( matrix_order != LAPACK_COL_MAJOR && matrix_order != LAPACK_ROW_MAJOR ) {
        LAPACKE_xerbla( "LAPACKE_ssfrk", -1 );
        return -1;
    }
#ifndef LAPACK_DISABLE_NAN_CHECK
    /* Optionally check input matrices for NaNs */
    lapack_int ka = LAPACKE_lsame( trans, 'n' ) ? k : n;
    lapack_int na = LAPACKE_lsame( trans, 'n' ) ? n : k;
    if( LAPACKE_sge_nancheck( matrix_order, na, ka, a, lda ) ) {
        return -8;
    }
    if( LAPACKE_s_nancheck( 1, &alpha, 1 ) ) {
        return -7;
    }
    if( LAPACKE_s_nancheck( 1, &beta, 1 ) ) {
        return -10;
    }
    if( LAPACKE_spf_nancheck( n, c ) ) {
        return -11;
    }
#endif
    return LAPACKE_ssfrk_work( matrix_order, transr, uplo, trans, n, k, alpha,
                               a, lda, beta, c );
}
lapack_int LAPACKE_spftri( int matrix_layout, char transr, char uplo,
                           lapack_int n, float* a )
{
    if( matrix_layout != LAPACK_COL_MAJOR && matrix_layout != LAPACK_ROW_MAJOR ) {
        LAPACKE_xerbla( "LAPACKE_spftri", -1 );
        return -1;
    }
#ifndef LAPACK_DISABLE_NAN_CHECK
    /* Optionally check input matrices for NaNs */
    if( LAPACKE_spf_nancheck( n, a ) ) {
        return -5;
    }
#endif
    return LAPACKE_spftri_work( matrix_layout, transr, uplo, n, a );
}