|
libflame
12600
|
Functions | |
| FLA_Error | FLASH_Random_spd_matrix (FLA_Uplo uplo, FLA_Obj H) |
| FLA_Error FLASH_Random_spd_matrix | ( | FLA_Uplo | uplo, |
| FLA_Obj | H | ||
| ) |
References FLA_Check_error_level(), FLA_Check_valid_uplo(), FLA_Obj_has_zero_dim(), FLA_Random_spd_matrix(), FLASH_Obj_create_flat_copy_of_hier(), FLASH_Obj_free(), and FLASH_Obj_hierarchify().
{
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;
}
1.7.6.1