FLA_Error FLA_Tridiag_check( FLA_Uplo uplo, FLA_Obj A, FLA_Obj t ) { FLA_Error e_val; e_val = FLA_Check_valid_uplo( uplo ); FLA_Check_error_code( e_val ); e_val = FLA_Check_floating_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_nonconstant_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_identical_object_datatype( A, t ); FLA_Check_error_code( e_val ); e_val = FLA_Check_square( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_col_vector( t ); FLA_Check_error_code( e_val ); e_val = FLA_Check_col_storage( t ); FLA_Check_error_code( e_val ); e_val = FLA_Check_vector_dim_min( t, FLA_Obj_length( A ) - 1 ); FLA_Check_error_code( e_val ); return FLA_SUCCESS; }
FLA_Error FLA_Eig_gest_check( FLA_Inv inv, FLA_Uplo uplo, FLA_Obj A, FLA_Obj B ) { FLA_Error e_val; e_val = FLA_Check_valid_inverse( inv ); FLA_Check_error_code( e_val ); e_val = FLA_Check_valid_uplo( uplo ); FLA_Check_error_code( e_val ); e_val = FLA_Check_floating_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_nonconstant_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_square( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_floating_object( B ); FLA_Check_error_code( e_val ); e_val = FLA_Check_nonconstant_object( B ); FLA_Check_error_code( e_val ); e_val = FLA_Check_square( B ); FLA_Check_error_code( e_val ); return FLA_SUCCESS; }
FLA_Error FLA_Scalr_check( FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj A ) { FLA_Error e_val; e_val = FLA_Check_valid_uplo( uplo ); FLA_Check_error_code( e_val ); e_val = FLA_Check_floating_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_nonconstant_object( A ); FLA_Check_error_code( e_val ); if ( FLA_Obj_is_real( A ) ) { e_val = FLA_Check_consistent_object_datatype( A, alpha ); FLA_Check_error_code( e_val ); } else { e_val = FLA_Check_identical_object_precision( A, alpha ); FLA_Check_error_code( e_val ); } e_val = FLA_Check_if_scalar( alpha ); FLA_Check_error_code( e_val ); return FLA_SUCCESS; }
FLA_Error FLASH_Random_spd_matrix( FLA_Uplo uplo, FLA_Obj H ) { FLA_Obj F; FLA_Error e_val; if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING ) { e_val = FLA_Check_valid_uplo( uplo ); FLA_Check_error_code( e_val ); } // Exit early if one dimension is zero. if ( FLA_Obj_has_zero_dim( H ) ) return FLA_SUCCESS; // Create a temporary flat copy of the hierarchical object. FLASH_Obj_create_flat_copy_of_hier( H, &F ); // Randomize the flat matrix object to be SPD. FLA_Random_spd_matrix( uplo, F ); // Copy the flat object's contents back to the hierarchical object. FLASH_Obj_hierarchify( F, H ); // Free the temporary flat object. FLASH_Obj_free( &F ); return FLA_SUCCESS; }
FLA_Error FLA_Syr_check( FLA_Uplo uplo, FLA_Obj alpha, FLA_Obj x, FLA_Obj A ) { FLA_Error e_val; e_val = FLA_Check_valid_uplo( uplo ); FLA_Check_error_code( e_val ); e_val = FLA_Check_floating_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_nonconstant_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_identical_object_datatype( A, x ); FLA_Check_error_code( e_val ); e_val = FLA_Check_consistent_object_datatype( A, alpha ); FLA_Check_error_code( e_val ); e_val = FLA_Check_if_vector( x ); FLA_Check_error_code( e_val ); e_val = FLA_Check_if_scalar( alpha ); FLA_Check_error_code( e_val ); e_val = FLA_Check_square( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_matrix_vector_dims( FLA_TRANSPOSE, A, x, x ); FLA_Check_error_code( e_val ); return FLA_SUCCESS; }
FLA_Error FLA_Chol_solve_check( FLA_Uplo uplo, FLA_Obj A, FLA_Obj B, FLA_Obj X ) { FLA_Error e_val; e_val = FLA_Check_valid_uplo( uplo ); FLA_Check_error_code( e_val ); e_val = FLA_Check_floating_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_nonconstant_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_identical_object_datatype( A, B ); FLA_Check_error_code( e_val ); e_val = FLA_Check_identical_object_datatype( A, X ); FLA_Check_error_code( e_val ); e_val = FLA_Check_square( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_matrix_matrix_dims( FLA_NO_TRANSPOSE, FLA_NO_TRANSPOSE, A, X, B ); FLA_Check_error_code( e_val ); return FLA_SUCCESS; }
FLA_Error FLA_Trmv_check( FLA_Uplo uplo, FLA_Trans transa, FLA_Diag diag, FLA_Obj A, FLA_Obj x ) { FLA_Error e_val; e_val = FLA_Check_valid_uplo( uplo ); FLA_Check_error_code( e_val ); e_val = FLA_Check_valid_trans( transa ); FLA_Check_error_code( e_val ); e_val = FLA_Check_valid_diag( diag ); FLA_Check_error_code( e_val ); e_val = FLA_Check_floating_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_nonconstant_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_identical_object_datatype( A, x ); FLA_Check_error_code( e_val ); e_val = FLA_Check_square( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_if_vector( x ); FLA_Check_error_code( e_val ); e_val = FLA_Check_matrix_vector_dims( FLA_NO_TRANSPOSE, A, x, x ); FLA_Check_error_code( e_val ); return FLA_SUCCESS; }
FLA_Error FLA_Trmmsx_check( FLA_Side side, FLA_Uplo uplo, FLA_Trans trans, FLA_Diag diag, FLA_Obj alpha, FLA_Obj A, FLA_Obj B, FLA_Obj beta, FLA_Obj C ) { FLA_Error e_val; e_val = FLA_Check_valid_leftright_side( side ); FLA_Check_error_code( e_val ); e_val = FLA_Check_valid_uplo( uplo ); FLA_Check_error_code( e_val ); e_val = FLA_Check_valid_trans( trans ); FLA_Check_error_code( e_val ); e_val = FLA_Check_valid_diag( diag ); FLA_Check_error_code( e_val ); e_val = FLA_Check_floating_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_nonconstant_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_identical_object_datatype( A, B ); FLA_Check_error_code( e_val ); e_val = FLA_Check_identical_object_datatype( A, C ); FLA_Check_error_code( e_val ); e_val = FLA_Check_consistent_object_datatype( A, alpha ); FLA_Check_error_code( e_val ); e_val = FLA_Check_consistent_object_datatype( A, beta ); FLA_Check_error_code( e_val ); e_val = FLA_Check_if_scalar( alpha ); FLA_Check_error_code( e_val ); e_val = FLA_Check_if_scalar( beta ); FLA_Check_error_code( e_val ); e_val = FLA_Check_square( A ); FLA_Check_error_code( e_val ); if ( side == FLA_LEFT ) { e_val = FLA_Check_matrix_matrix_dims( FLA_NO_TRANSPOSE, FLA_NO_TRANSPOSE, A, B, C ); FLA_Check_error_code( e_val ); } else { e_val = FLA_Check_matrix_matrix_dims( FLA_NO_TRANSPOSE, FLA_NO_TRANSPOSE, B, A, C ); FLA_Check_error_code( e_val ); } return FLA_SUCCESS; }
FLA_Error FLA_Tridiag_UT_extract_real_diagonals_check( FLA_Uplo uplo, FLA_Obj A, FLA_Obj d, FLA_Obj e ) { FLA_Error e_val; dim_t m_A; e_val = FLA_Check_valid_uplo( uplo ); FLA_Check_error_code( e_val ); e_val = FLA_Check_floating_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_nonconstant_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_square( A ); FLA_Check_error_code( e_val ); m_A = FLA_Obj_length( A ); e_val = FLA_Check_nonconstant_object( d ); FLA_Check_error_code( e_val ); e_val = FLA_Check_identical_object_precision( A, d ); FLA_Check_error_code( e_val ); e_val = FLA_Check_if_vector( d ); FLA_Check_error_code( e_val ); e_val = FLA_Check_vector_dim( d, m_A ); FLA_Check_error_code( e_val ); if ( m_A > 1 ) { e_val = FLA_Check_nonconstant_object( e ); FLA_Check_error_code( e_val ); e_val = FLA_Check_identical_object_precision( A, e ); FLA_Check_error_code( e_val ); e_val = FLA_Check_if_vector( e ); FLA_Check_error_code( e_val ); e_val = FLA_Check_vector_dim( e, m_A - 1 ); FLA_Check_error_code( e_val ); } return FLA_SUCCESS; }
FLA_Error FLA_Copyr_check( FLA_Uplo uplo, FLA_Obj A, FLA_Obj B ) { FLA_Error e_val; e_val = FLA_Check_valid_uplo( uplo ); FLA_Check_error_code( e_val ); e_val = FLA_Check_valid_object_datatype( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_nonconstant_object( B ); FLA_Check_error_code( e_val ); e_val = FLA_Check_conformal_dims( FLA_NO_TRANSPOSE, A, B ); FLA_Check_error_code( e_val ); return FLA_SUCCESS; }
FLA_Error FLA_Tridiag_UT_shift_U_check( FLA_Uplo uplo, FLA_Obj A ) { FLA_Error e_val; e_val = FLA_Check_valid_uplo( uplo ); FLA_Check_error_code( e_val ); e_val = FLA_Check_floating_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_nonconstant_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_square( A ); FLA_Check_error_code( e_val ); return FLA_SUCCESS; }
FLA_Error FLA_Tridiag_UT_check( FLA_Uplo uplo, FLA_Obj A, FLA_Obj T ) { FLA_Error e_val; e_val = FLA_Check_valid_uplo( uplo ); FLA_Check_error_code( e_val ); e_val = FLA_Check_floating_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_nonconstant_object( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_identical_object_datatype( A, T ); FLA_Check_error_code( e_val ); e_val = FLA_Check_square( A ); FLA_Check_error_code( e_val ); e_val = FLA_Check_object_width_equals( T, FLA_Obj_width( A ) ); FLA_Check_error_code( e_val ); return FLA_SUCCESS; }