libflame  revision_anchor
Functions
FLASH_Triangularize.c File Reference

(r)

Functions

FLA_Error FLASH_Triangularize (FLA_Uplo uplo, FLA_Diag diag, FLA_Obj A)
 

Function Documentation

◆ FLASH_Triangularize()

FLA_Error FLASH_Triangularize ( FLA_Uplo  uplo,
FLA_Diag  diag,
FLA_Obj  A 
)

References FLA_Obj_free(), FLA_Obj_has_zero_dim(), FLA_Triangularize(), FLASH_Obj_create_flat_copy_of_hier(), and FLASH_Obj_hierarchify().

14 {
15  FLA_Error r_val;
16  FLA_Obj A_flat;
17 
18  // Exit early if one dimension is zero.
19  if ( FLA_Obj_has_zero_dim( A ) ) return FLA_SUCCESS;
20 
21  // Create a temporary flat copy of the hierarchical object.
23 
24  // Triangularize the flat matrix object as specified by uplo and diag.
25  r_val = FLA_Triangularize( uplo, diag, A_flat );
26 
27  // Copy the flat object's contents back to the hierarchical object.
28  FLASH_Obj_hierarchify( A_flat, A );
29 
30  // Free the temporary flat object.
31  FLA_Obj_free( &A_flat );
32 
33  return r_val;
34 }
FLA_Error FLA_Obj_free(FLA_Obj *obj)
Definition: FLA_Obj.c:588
FLA_Error FLASH_Obj_hierarchify(FLA_Obj F, FLA_Obj H)
Definition: FLASH_Obj.c:773
int FLA_Error
Definition: FLA_type_defs.h:47
Definition: FLA_type_defs.h:158
FLA_Bool FLA_Obj_has_zero_dim(FLA_Obj A)
Definition: FLA_Query.c:400
FLA_Error FLA_Triangularize(FLA_Uplo uplo, FLA_Diag diag, FLA_Obj A)
Definition: FLA_Triangularize.c:13
FLA_Error FLASH_Obj_create_flat_copy_of_hier(FLA_Obj H, FLA_Obj *F)
Definition: FLASH_Obj.c:623