libflame revision_anchor
FLA_Set_diagonal.c File Reference

(r)

Functions

FLA_Error FLA_Set_diagonal_vector (FLA_Obj A, FLA_Obj d)
 
FLA_Error FLA_Set_diagonal_matrix (FLA_Obj d, FLA_Obj A)
 

Function Documentation

◆ FLA_Set_diagonal_matrix()

FLA_Error FLA_Set_diagonal_matrix ( FLA_Obj d,
FLA_Obj A )
72{
73 FLA_Datatype datatype;
74 int i, m;
75 int rs_A, cs_A;
76 int inc_d;
77
78 datatype = FLA_Obj_datatype( A );
79
80 m = FLA_Obj_min_dim( A );
81
82 rs_A = FLA_Obj_row_stride( A );
83 cs_A = FLA_Obj_col_stride( A );
84
85 inc_d = FLA_Obj_vector_inc( d );
86
87 switch ( datatype )
88 {
89 case FLA_FLOAT:
90 {
91 FLA_OBJ_SET_DIAGONAL_VECTOR( float, FLA_FLOAT_PTR, delta_to_alpha, m );
92 break;
93 }
94 case FLA_DOUBLE:
95 {
96 FLA_OBJ_SET_DIAGONAL_VECTOR( double, FLA_DOUBLE_PTR, delta_to_alpha, m );
97 break;
98 }
99
100 case FLA_COMPLEX:
101 {
102 FLA_OBJ_SET_DIAGONAL_VECTOR( scomplex, FLA_COMPLEX_PTR, delta_to_alpha, m );
103 break;
104 }
105
106 case FLA_DOUBLE_COMPLEX:
107 {
108 FLA_OBJ_SET_DIAGONAL_VECTOR( dcomplex, FLA_DOUBLE_COMPLEX_PTR, delta_to_alpha, m );
109 break;
110 }
111 }
112 return FLA_SUCCESS;
113}
dim_t FLA_Obj_row_stride(FLA_Obj obj)
Definition FLA_Query.c:167
dim_t FLA_Obj_col_stride(FLA_Obj obj)
Definition FLA_Query.c:174
dim_t FLA_Obj_min_dim(FLA_Obj obj)
Definition FLA_Query.c:153
dim_t FLA_Obj_vector_inc(FLA_Obj obj)
Definition FLA_Query.c:145
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition FLA_Query.c:13
int FLA_Datatype
Definition FLA_type_defs.h:49
int i
Definition bl1_axmyv2.c:145
Definition blis_type_defs.h:138
Definition blis_type_defs.h:133

References FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_min_dim(), FLA_Obj_row_stride(), FLA_Obj_vector_inc(), and i.

◆ FLA_Set_diagonal_vector()

FLA_Error FLA_Set_diagonal_vector ( FLA_Obj A,
FLA_Obj d )
28{
29 FLA_Datatype datatype;
30 int i, m;
31 int rs_A, cs_A;
32 int inc_d;
33
34 datatype = FLA_Obj_datatype( A );
35
36 m = FLA_Obj_min_dim( A );
37
38 rs_A = FLA_Obj_row_stride( A );
39 cs_A = FLA_Obj_col_stride( A );
40
41 inc_d = FLA_Obj_vector_inc( d );
42
43 switch ( datatype )
44 {
45 case FLA_FLOAT:
46 {
47 FLA_OBJ_SET_DIAGONAL_VECTOR( float, FLA_FLOAT_PTR, alpha_to_delta, m );
48 break;
49 }
50 case FLA_DOUBLE:
51 {
52 FLA_OBJ_SET_DIAGONAL_VECTOR( double, FLA_DOUBLE_PTR, alpha_to_delta, m );
53 break;
54 }
55
56 case FLA_COMPLEX:
57 {
58 FLA_OBJ_SET_DIAGONAL_VECTOR( scomplex, FLA_COMPLEX_PTR, alpha_to_delta, m );
59 break;
60 }
61
62 case FLA_DOUBLE_COMPLEX:
63 {
64 FLA_OBJ_SET_DIAGONAL_VECTOR( dcomplex, FLA_DOUBLE_COMPLEX_PTR, alpha_to_delta, m );
65 break;
66 }
67 }
68 return FLA_SUCCESS;
69}

References FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_min_dim(), FLA_Obj_row_stride(), FLA_Obj_vector_inc(), and i.