|
libflame
12600
|
Functions | |
| FLA_Error | FLA_Bsvd_check (FLA_Uplo uplo, FLA_Obj d, FLA_Obj e, FLA_Obj G, FLA_Obj H, FLA_Svd_type jobu, FLA_Obj U, FLA_Svd_type jobv, FLA_Obj V) |
| FLA_Error FLA_Bsvd_check | ( | FLA_Uplo | uplo, |
| FLA_Obj | d, | ||
| FLA_Obj | e, | ||
| FLA_Obj | G, | ||
| FLA_Obj | H, | ||
| FLA_Svd_type | jobu, | ||
| FLA_Obj | U, | ||
| FLA_Svd_type | jobv, | ||
| FLA_Obj | V | ||
| ) |
References FLA_Check_complex_object(), FLA_Check_identical_object_datatype(), FLA_Check_identical_object_precision(), FLA_Check_nonconstant_object(), FLA_Check_object_length_equals(), FLA_Check_real_object(), FLA_Check_valid_svd_type(), FLA_Check_valid_uplo(), FLA_Check_vector_dim(), FLA_Obj_has_zero_dim(), and FLA_Obj_vector_dim().
Referenced by FLA_Bsvd(), and FLA_Bsvd_ext_check().
{
FLA_Error e_val = FLA_SUCCESS;
dim_t m_d, m_e;
e_val = FLA_Check_valid_uplo( uplo );
FLA_Check_error_code( e_val );
e_val = FLA_Check_real_object( d );
FLA_Check_error_code( e_val );
e_val = FLA_Check_nonconstant_object( d );
FLA_Check_error_code( e_val );
m_d = FLA_Obj_vector_dim( d );
m_e = ( m_d - 1 );
if ( m_e > 0 )
{
e_val = FLA_Check_real_object( e );
FLA_Check_error_code( e_val );
e_val = FLA_Check_nonconstant_object( e );
FLA_Check_error_code( e_val );
e_val = FLA_Check_identical_object_datatype( d, e );
FLA_Check_error_code( e_val );
e_val = FLA_Check_vector_dim( e, m_e );
FLA_Check_error_code( e_val );
}
if ( m_e > 0 )
{
e_val = FLA_Check_complex_object( G );
FLA_Check_error_code( e_val );
e_val = FLA_Check_identical_object_precision( d, G );
FLA_Check_error_code( e_val );
e_val = FLA_Check_object_length_equals( G, m_e );
FLA_Check_error_code( e_val );
}
if ( m_e > 0 )
{
e_val = FLA_Check_complex_object( H );
FLA_Check_error_code( e_val );
e_val = FLA_Check_identical_object_precision( d, H );
FLA_Check_error_code( e_val );
e_val = FLA_Check_object_length_equals( H, m_e );
FLA_Check_error_code( e_val );
}
FLA_Check_valid_svd_type( jobu );
FLA_Check_error_code( e_val );
FLA_Check_valid_svd_type( jobv );
FLA_Check_error_code( e_val );
if ( jobu != FLA_SVD_VECTORS_NONE && FLA_Obj_has_zero_dim( U ) == FALSE )
{
FLA_Check_identical_object_precision( d, U );
FLA_Check_error_code( e_val );
}
if ( jobv != FLA_SVD_VECTORS_NONE && FLA_Obj_has_zero_dim( V ) == FALSE )
{
FLA_Check_identical_object_precision( d, V );
FLA_Check_error_code( e_val );
}
return FLA_SUCCESS;
}
1.7.6.1