libflame  revision_anchor
FLASH_main_prototypes.h
Go to the documentation of this file.
1 /*
2 
3  Copyright (C) 2014, The University of Texas at Austin
4 
5  This file is part of libflame and is available under the 3-Clause
6  BSD license, which can be found in the LICENSE file at the top-level
7  directory, or at http://opensource.org/licenses/BSD-3-Clause
8 
9 */
10 
11 // -----------------------------------------------------------------------------
12 
14 
15 FLA_Error FLASH_Obj_create_helper_check( FLA_Bool without_buffer, FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t* b_m, dim_t* b_n, FLA_Obj* H );
16 FLA_Error FLASH_Obj_create_hierarchy_check( FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t* elem_sizes_m, dim_t* elem_sizes_n, FLA_Obj flat_matrix, FLA_Obj* H, unsigned long id, dim_t depth_overall, dim_t* depth_sizes_m, dim_t* depth_sizes_n, dim_t* m_offsets, dim_t* n_offsets );
17 
19 
26 
30 
31 FLA_Error FLASH_Obj_attach_buffer_check( void *buffer, dim_t rs, dim_t cs, FLA_Obj* H );
33 
34 // -----------------------------------------------------------------------------
35 
37  FLA_Obj* AB,
38  dim_t n_rows, FLA_Side side );
40  dim_t n_cols, FLA_Side side );
42  FLA_Obj* ABL, FLA_Obj* ABR,
43  dim_t n_rows, dim_t n_cols, FLA_Side side );
44 
46  FLA_Obj* AB );
49  FLA_Obj* ABL, FLA_Obj* ABR );
50 
51 FLA_Error FLASH_Obj_adjust_views( FLA_Bool attach_buffer, dim_t offm, dim_t offn, dim_t m, dim_t n, FLA_Obj A, FLA_Obj* S );
52 FLA_Error FLASH_Obj_adjust_views_hierarchy( FLA_Bool attach_buffer, dim_t offm, dim_t offn, dim_t m, dim_t n, FLA_Obj A, FLA_Obj* S );
53 
65 
66 FLA_Error FLASH_Obj_show( char* header, FLA_Obj H, char* elem_format, char* footer );
67 FLA_Error FLASH_Obj_show_hierarchy( FLA_Obj H, dim_t i, char* elem_format );
68 
69 // -----------------------------------------------------------------------------
70 
71 FLA_Error FLASH_Axpy_buffer_to_hier( FLA_Obj alpha, dim_t m, dim_t n, void* buffer, dim_t rs, dim_t cs, dim_t i, dim_t j, FLA_Obj H );
72 FLA_Error FLASH_Axpy_hier_to_buffer( FLA_Obj alpha, dim_t i, dim_t j, FLA_Obj H, dim_t m, dim_t n, void* buffer, dim_t rs, dim_t cs );
75 
76 FLA_Error FLASH_Axpy_hierarchy( int direction, FLA_Obj alpha, FLA_Obj F, FLA_Obj* H );
77 
78 // -----------------------------------------------------------------------------
79 
80 FLA_Error FLASH_Copy_buffer_to_hier( dim_t m, dim_t n, void* buffer, dim_t rs, dim_t cs, dim_t i, dim_t j, FLA_Obj H );
81 FLA_Error FLASH_Copy_hier_to_buffer( dim_t i, dim_t j, FLA_Obj H, dim_t m, dim_t n, void* buffer, dim_t rs, dim_t cs );
84 
85 FLA_Error FLASH_Copy_hierarchy( int direction, FLA_Obj F, FLA_Obj* H );
86 
87 // -----------------------------------------------------------------------------
88 
92 
93 FLA_Error FLASH_Obj_create( FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t* b_mn, FLA_Obj* H );
94 FLA_Error FLASH_Obj_create_ext( FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t* b_m, dim_t* b_n, FLA_Obj* H );
97 
98 FLA_Error FLASH_Obj_create_helper( FLA_Bool without_buffer, FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t* b_m, dim_t* b_n, FLA_Obj* H );
99 FLA_Error FLASH_Obj_create_hierarchy( FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t* elem_sizes_m, dim_t* elem_sizes_n, FLA_Obj flat_matrix, FLA_Obj* H, unsigned long id, dim_t depth_overall, dim_t* depth_sizes_m, dim_t* depth_sizes_n, dim_t* m_offsets, dim_t* n_offsets );
100 
109 
110 void FLASH_Obj_free( FLA_Obj* H );
113 
114 FLA_Error FLASH_Obj_attach_buffer( void* buffer, dim_t rs, dim_t cs, FLA_Obj* H );
116 
119 
121 
122 FLA_Error FLASH_Obj_show( char* header, FLA_Obj H, char* elem_format, char* footer );
123 
124 void FLASH_print_struct( FLA_Obj H );
125 void FLASH_print_struct_helper( FLA_Obj H, int indent );
FLA_Error FLASH_Axpy_hier_to_flat(FLA_Obj alpha, dim_t i, dim_t j, FLA_Obj H, FLA_Obj F)
Definition: FLASH_Axpy_other.c:122
FLA_Error FLASH_Part_free_2x2(FLA_Obj *ATL, FLA_Obj *ATR, FLA_Obj *ABL, FLA_Obj *ABR)
Definition: FLASH_View.c:589
FLA_Error FLASH_Obj_create_without_buffer(FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t *b_mn, FLA_Obj *H)
Definition: FLASH_Obj.c:159
void FLASH_Obj_free_hierarchy(FLA_Obj *H)
Definition: FLASH_Obj.c:699
dim_t FLASH_Obj_blocksizes(FLA_Obj H, dim_t *b_m, dim_t *b_n)
Definition: FLASH_Obj.c:49
unsigned long dim_t
Definition: FLA_type_defs.h:71
FLA_Datatype FLASH_Obj_datatype(FLA_Obj H)
Definition: FLASH_Obj.c:14
FLA_Error FLASH_Axpy_buffer_to_hier(FLA_Obj alpha, dim_t m, dim_t n, void *buffer, dim_t rs, dim_t cs, dim_t i, dim_t j, FLA_Obj H)
Definition: FLASH_Axpy_other.c:13
FLA_Error FLASH_Obj_attach_buffer_check(void *buffer, dim_t rs, dim_t cs, FLA_Obj *H)
Definition: FLASH_Obj_attach_buffer_check.c:13
FLA_Error FLASH_Obj_create_hier_conf_to_flat_ext(FLA_Trans trans, FLA_Obj F, dim_t depth, dim_t *b_m, dim_t *b_n, FLA_Obj *H)
Definition: FLASH_Obj.c:493
void FLASH_Obj_free_without_buffer(FLA_Obj *H)
Definition: FLASH_Obj.c:674
FLA_Error FLASH_Part_free_1x2(FLA_Obj *AL, FLA_Obj *AR)
Definition: FLASH_View.c:581
dim_t FLASH_Obj_depth(FLA_Obj H)
Definition: FLASH_Obj.c:20
FLA_Error FLASH_Part_create_2x2(FLA_Obj A, FLA_Obj *ATL, FLA_Obj *ATR, FLA_Obj *ABL, FLA_Obj *ABR, dim_t n_rows, dim_t n_cols, FLA_Side side)
Definition: FLASH_View.c:177
FLA_Error FLASH_Obj_flatten(FLA_Obj H, FLA_Obj F)
Definition: FLASH_Obj.c:765
FLA_Error FLASH_Obj_create_hier_conf_to_flat_ext_check(FLA_Trans trans, FLA_Obj F, dim_t depth, dim_t *b_m, dim_t *b_n, FLA_Obj *H)
Definition: FLASH_Obj_create_hier_conf_to_flat_ext_check.c:13
FLA_Error FLASH_Obj_create_conf_to_check(FLA_Trans trans, FLA_Obj H_cur, FLA_Obj *H_new)
Definition: FLASH_Obj_create_conf_to_check.c:13
FLA_Error FLASH_Obj_create_copy_of(FLA_Trans trans, FLA_Obj H_cur, FLA_Obj *H_new)
Definition: FLASH_Obj.c:561
FLA_Error FLASH_Obj_create_hier_copy_of_flat_ext(FLA_Obj F, dim_t depth, dim_t *b_m, dim_t *b_n, FLA_Obj *H)
Definition: FLASH_Obj.c:607
FLA_Error FLASH_Obj_attach_buffer(void *buffer, dim_t rs, dim_t cs, FLA_Obj *H)
Definition: FLASH_Obj.c:781
FLA_Error FLASH_Obj_create_without_buffer_ext(FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t *b_m, dim_t *b_n, FLA_Obj *H)
Definition: FLASH_Obj.c:167
FLA_Error FLASH_Obj_free_without_buffer_check(FLA_Obj *H)
Definition: FLASH_Obj_free_without_buffer_check.c:13
FLA_Error FLASH_Obj_create_ext(FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t *b_m, dim_t *b_n, FLA_Obj *H)
Definition: FLASH_Obj.c:151
dim_t FLASH_Obj_scalar_max_dim(FLA_Obj H)
Definition: FLASH_View.c:681
void FLASH_print_struct(FLA_Obj H)
Definition: FLASH_Obj.c:917
dim_t FLASH_Obj_base_scalar_length(FLA_Obj H)
Definition: FLASH_Obj.c:83
FLA_Error FLASH_Obj_hierarchify(FLA_Obj F, FLA_Obj H)
Definition: FLASH_Obj.c:773
dim_t FLASH_Obj_scalar_length(FLA_Obj H)
Definition: FLASH_View.c:600
void FLASH_Obj_free(FLA_Obj *H)
Definition: FLASH_Obj.c:638
FLA_Error FLASH_Obj_attach_buffer_hierarchy(FLA_Obj F, FLA_Obj *H)
Definition: FLASH_Obj.c:815
FLA_Error FLASH_Obj_create_flat_conf_to_hier(FLA_Trans trans, FLA_Obj H, FLA_Obj *F)
Definition: FLASH_Obj.c:527
FLA_Error FLASH_Axpy_flat_to_hier(FLA_Obj alpha, FLA_Obj F, dim_t i, dim_t j, FLA_Obj H)
Definition: FLASH_Axpy_other.c:93
FLA_Error FLASH_Obj_adjust_views_hierarchy(FLA_Bool attach_buffer, dim_t offm, dim_t offn, dim_t m, dim_t n, FLA_Obj A, FLA_Obj *S)
Definition: FLASH_View.c:283
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Error FLASH_Copy_hier_to_buffer(dim_t i, dim_t j, FLA_Obj H, dim_t m, dim_t n, void *buffer, dim_t rs, dim_t cs)
Definition: FLASH_Copy_other.c:47
dim_t FLASH_Obj_scalar_row_offset(FLA_Obj H)
Definition: FLASH_View.c:693
FLA_Error FLASH_Obj_create_flat_conf_to_hier_check(FLA_Trans trans, FLA_Obj H, FLA_Obj *F)
Definition: FLASH_Obj_create_flat_conf_to_hier_check.c:13
Definition: FLA_type_defs.h:158
dim_t FLASH_Obj_scalar_width_tl(FLA_Obj H)
Definition: FLASH_View.c:737
dim_t FLASH_Obj_scalar_vector_dim(FLA_Obj H)
Definition: FLASH_View.c:687
FLA_Error FLASH_Part_create_2x1(FLA_Obj A, FLA_Obj *AT, FLA_Obj *AB, dim_t n_rows, FLA_Side side)
Definition: FLASH_View.c:13
FLA_Error FLASH_Obj_show_hierarchy(FLA_Obj H, dim_t i, char *elem_format)
Definition: FLASH_View.c:793
FLA_Error FLASH_Obj_show(char *header, FLA_Obj H, char *elem_format, char *footer)
Definition: FLASH_View.c:751
void FLASH_print_struct_helper(FLA_Obj H, int indent)
Definition: FLASH_Obj.c:944
FLA_Error FLASH_Obj_create_hierarchy(FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t *elem_sizes_m, dim_t *elem_sizes_n, FLA_Obj flat_matrix, FLA_Obj *H, unsigned long id, dim_t depth_overall, dim_t *depth_sizes_m, dim_t *depth_sizes_n, dim_t *m_offsets, dim_t *n_offsets)
Definition: FLASH_Obj.c:271
FLA_Error FLASH_Obj_create_flat_copy_of_hier_check(FLA_Obj H, FLA_Obj *F)
Definition: FLASH_Obj_create_flat_copy_of_hier_check.c:13
FLA_Error FLASH_Obj_create_hier_copy_of_flat(FLA_Obj F, dim_t depth, dim_t *b_mn, FLA_Obj *H)
Definition: FLASH_Obj.c:591
FLA_Error FLASH_Obj_create_hier_copy_of_flat_ext_check(FLA_Obj F, dim_t depth, dim_t *b_m, dim_t *b_n, FLA_Obj *H)
Definition: FLASH_Obj_create_hier_copy_of_flat_ext_check.c:13
int FLA_Trans
Definition: FLA_type_defs.h:53
int FLA_Side
Definition: FLA_type_defs.h:51
FLA_Error FLASH_Obj_create(FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t *b_mn, FLA_Obj *H)
Definition: FLASH_Obj.c:143
FLA_Error FLASH_Obj_create_hier_copy_of_flat_check(FLA_Obj F, dim_t depth, dim_t *b_mn, FLA_Obj *H)
Definition: FLASH_Obj_create_hier_copy_of_flat_check.c:13
void * FLASH_Obj_extract_buffer(FLA_Obj H)
Definition: FLASH_Obj.c:741
FLA_Error FLASH_Obj_create_conf_to(FLA_Trans trans, FLA_Obj H_cur, FLA_Obj *H_new)
Definition: FLASH_Obj.c:406
FLA_Error FLASH_Obj_attach_buffer_hierarchy_check(FLA_Obj F, FLA_Obj *H)
Definition: FLASH_Obj_attach_buffer_hierarchy_check.c:13
int FLA_Datatype
Definition: FLA_type_defs.h:49
dim_t FLASH_Obj_scalar_col_offset(FLA_Obj H)
Definition: FLASH_View.c:708
FLA_Error FLASH_Obj_free_check(FLA_Obj *H)
Definition: FLASH_Obj_free_check.c:13
FLA_Error FLASH_Obj_adjust_views(FLA_Bool attach_buffer, dim_t offm, dim_t offn, dim_t m, dim_t n, FLA_Obj A, FLA_Obj *S)
Definition: FLASH_View.c:275
dim_t FLASH_Obj_scalar_min_dim(FLA_Obj H)
Definition: FLASH_View.c:675
FLA_Error FLASH_Copy_hier_to_flat(dim_t i, dim_t j, FLA_Obj H, FLA_Obj F)
Definition: FLASH_Copy_other.c:110
FLA_Error FLASH_Copy_flat_to_hier(FLA_Obj F, dim_t i, dim_t j, FLA_Obj H)
Definition: FLASH_Copy_other.c:81
FLA_Error FLASH_Part_free_2x1(FLA_Obj *AT, FLA_Obj *AB)
Definition: FLASH_View.c:572
int FLA_Bool
Definition: FLA_type_defs.h:46
FLA_Error FLASH_Copy_buffer_to_hier(dim_t m, dim_t n, void *buffer, dim_t rs, dim_t cs, dim_t i, dim_t j, FLA_Obj H)
Definition: FLASH_Copy_other.c:13
FLA_Error FLASH_Copy_hierarchy(int direction, FLA_Obj F, FLA_Obj *H)
Definition: FLASH_Copy_other.c:139
FLA_Error FLASH_Obj_blocksizes_check(FLA_Obj H, dim_t *b_m, dim_t *b_n)
Definition: FLASH_Obj_blocksizes_check.c:13
FLA_Error FLASH_Obj_create_hier_conf_to_flat_check(FLA_Trans trans, FLA_Obj F, dim_t depth, dim_t *b_mn, FLA_Obj *H)
Definition: FLASH_Obj_create_hier_conf_to_flat_check.c:13
FLA_Error FLASH_Obj_create_hierarchy_check(FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t *elem_sizes_m, dim_t *elem_sizes_n, FLA_Obj flat_matrix, FLA_Obj *H, unsigned long id, dim_t depth_overall, dim_t *depth_sizes_m, dim_t *depth_sizes_n, dim_t *m_offsets, dim_t *n_offsets)
Definition: FLASH_Obj_create_hierarchy_check.c:13
int i
Definition: bl1_axmyv2.c:145
dim_t FLASH_Obj_base_scalar_width(FLA_Obj H)
Definition: FLASH_Obj.c:113
FLA_Error FLASH_Obj_create_flat_copy_of_hier(FLA_Obj H, FLA_Obj *F)
Definition: FLASH_Obj.c:623
FLA_Error FLASH_Part_create_1x2(FLA_Obj A, FLA_Obj *AL, FLA_Obj *AR, dim_t n_cols, FLA_Side side)
Definition: FLASH_View.c:103
FLA_Error FLASH_Axpy_hier_to_buffer(FLA_Obj alpha, dim_t i, dim_t j, FLA_Obj H, dim_t m, dim_t n, void *buffer, dim_t rs, dim_t cs)
Definition: FLASH_Axpy_other.c:53
dim_t FLASH_Obj_scalar_length_tl(FLA_Obj H)
Definition: FLASH_View.c:723
FLA_Error FLASH_Obj_create_helper(FLA_Bool without_buffer, FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t *b_m, dim_t *b_n, FLA_Obj *H)
Definition: FLASH_Obj.c:175
dim_t FLASH_Obj_scalar_width(FLA_Obj H)
Definition: FLASH_View.c:641
FLA_Error FLASH_Axpy_hierarchy(int direction, FLA_Obj alpha, FLA_Obj F, FLA_Obj *H)
Definition: FLASH_Axpy_other.c:151
FLA_Error FLASH_Obj_free_hierarchy_check(FLA_Obj *H)
Definition: FLASH_Obj_free_hierachy_check.c:13
FLA_Error FLASH_Obj_create_helper_check(FLA_Bool without_buffer, FLA_Datatype datatype, dim_t m, dim_t n, dim_t depth, dim_t *b_m, dim_t *b_n, FLA_Obj *H)
Definition: FLASH_Obj_create_helper_check.c:13
FLA_Error FLASH_Obj_create_hier_conf_to_flat(FLA_Trans trans, FLA_Obj F, dim_t depth, dim_t *b_mn, FLA_Obj *H)
Definition: FLASH_Obj.c:459