libflame revision_anchor
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 )
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 FLASH_Obj_create_flat_copy_of_hier(FLA_Obj H, FLA_Obj *F)
Definition FLASH_Obj.c:623
FLA_Error FLASH_Obj_hierarchify(FLA_Obj F, FLA_Obj H)
Definition FLASH_Obj.c:773
FLA_Bool FLA_Obj_has_zero_dim(FLA_Obj A)
Definition FLA_Query.c:400
FLA_Error FLA_Obj_free(FLA_Obj *obj)
Definition FLA_Obj.c:588
int FLA_Error
Definition FLA_type_defs.h:47
FLA_Error FLA_Triangularize(FLA_Uplo uplo, FLA_Diag diag, FLA_Obj A)
Definition FLA_Triangularize.c:13
Definition FLA_type_defs.h:159

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