libflame revision_anchor
Functions
FLA_Bidiag_UT_scale_diagonals.c File Reference

(r)

Functions

FLA_Error FLA_Bidiag_UT_scale_diagonals (FLA_Obj alpha, FLA_Obj A)
 
FLA_Error FLA_Bidiag_UT_u_scale_diagonals (FLA_Obj alpha, FLA_Obj A)
 
FLA_Error FLA_Bidiag_UT_l_scale_diagonals (FLA_Obj alpha, FLA_Obj A)
 

Function Documentation

◆ FLA_Bidiag_UT_l_scale_diagonals()

FLA_Error FLA_Bidiag_UT_l_scale_diagonals ( FLA_Obj  alpha,
FLA_Obj  A 
)
127{
128 FLA_Datatype datatype;
129 int m_A;
130 int rs_A, cs_A;
131 int i;
132
133 datatype = FLA_Obj_datatype( A );
134
135 m_A = FLA_Obj_length( A );
136
139
140 switch ( datatype )
141 {
142 case FLA_FLOAT:
143 {
144 float* buff_A = FLA_FLOAT_PTR( A );
145 float* buff_alpha = FLA_FLOAT_PTR( alpha );
146 for ( i = 0; i < m_A; ++i )
147 {
148 float* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
149 float* a21_t = buff_A + (i )*cs_A + (i+1)*rs_A;
150 int m_ahead = m_A - i - 1;
151
153
154 if ( m_ahead > 0 )
156 }
157
158 break;
159 }
160
161 case FLA_DOUBLE:
162 {
163 double* buff_A = FLA_DOUBLE_PTR( A );
164 double* buff_alpha = FLA_DOUBLE_PTR( alpha );
165 for ( i = 0; i < m_A; ++i )
166 {
167 double* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
168 double* a21_t = buff_A + (i )*cs_A + (i+1)*rs_A;
169 int m_ahead = m_A - i - 1;
170
172
173 if ( m_ahead > 0 )
175 }
176
177 break;
178 }
179
180 case FLA_COMPLEX:
181 {
183 float* buff_alpha = FLA_FLOAT_PTR( alpha );
184 for ( i = 0; i < m_A; ++i )
185 {
186 scomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
187 scomplex* a21_t = buff_A + (i )*cs_A + (i+1)*rs_A;
188 int m_ahead = m_A - i - 1;
189
191
192 if ( m_ahead > 0 )
194 }
195
196 break;
197 }
198
200 {
202 double* buff_alpha = FLA_DOUBLE_PTR( alpha );
203 for ( i = 0; i < m_A; ++i )
204 {
205 dcomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
206 dcomplex* a21_t = buff_A + (i )*cs_A + (i+1)*rs_A;
207 int m_ahead = m_A - i - 1;
208
210
211 if ( m_ahead > 0 )
213 }
214
215 break;
216 }
217 }
218
219 return FLA_SUCCESS;
220}
dim_t FLA_Obj_row_stride(FLA_Obj obj)
Definition FLA_Query.c:167
dim_t FLA_Obj_length(FLA_Obj obj)
Definition FLA_Query.c:116
dim_t FLA_Obj_col_stride(FLA_Obj obj)
Definition FLA_Query.c:174
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_length(), FLA_Obj_row_stride(), and i.

Referenced by FLA_Bidiag_UT_scale_diagonals(), and FLA_Tridiag_UT_scale_diagonals().

◆ FLA_Bidiag_UT_scale_diagonals()

FLA_Error FLA_Bidiag_UT_scale_diagonals ( FLA_Obj  alpha,
FLA_Obj  A 
)
14{
16
19
20 if ( FLA_Obj_length( A ) >= FLA_Obj_width( A ) )
22 else
24
25 return r_val;
26}
FLA_Error FLA_Bidiag_UT_u_scale_diagonals(FLA_Obj alpha, FLA_Obj A)
Definition FLA_Bidiag_UT_scale_diagonals.c:30
FLA_Error FLA_Bidiag_UT_l_scale_diagonals(FLA_Obj alpha, FLA_Obj A)
Definition FLA_Bidiag_UT_scale_diagonals.c:126
FLA_Error FLA_Bidiag_UT_scale_diagonals_check(FLA_Obj alpha, FLA_Obj A)
Definition FLA_Bidiag_UT_scale_diagonals_check.c:13
dim_t FLA_Obj_width(FLA_Obj obj)
Definition FLA_Query.c:123
unsigned int FLA_Check_error_level(void)
Definition FLA_Check.c:18
int FLA_Error
Definition FLA_type_defs.h:47

References FLA_Bidiag_UT_l_scale_diagonals(), FLA_Bidiag_UT_scale_diagonals_check(), FLA_Bidiag_UT_u_scale_diagonals(), FLA_Check_error_level(), FLA_Obj_length(), FLA_Obj_width(), and i.

◆ FLA_Bidiag_UT_u_scale_diagonals()

FLA_Error FLA_Bidiag_UT_u_scale_diagonals ( FLA_Obj  alpha,
FLA_Obj  A 
)
31{
32 FLA_Datatype datatype;
33 int n_A;
34 int rs_A, cs_A;
35 int i;
36
37 datatype = FLA_Obj_datatype( A );
38
39 n_A = FLA_Obj_width( A );
40
43
44 switch ( datatype )
45 {
46 case FLA_FLOAT:
47 {
48 float* buff_A = FLA_FLOAT_PTR( A );
49 float* buff_alpha = FLA_FLOAT_PTR( alpha );
50 for ( i = 0; i < n_A; ++i )
51 {
52 float* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
53 float* a12t_l = buff_A + (i+1)*cs_A + (i )*rs_A;
54 int n_ahead = n_A - i - 1;
55
57
58 if ( n_ahead > 0 )
60 }
61
62 break;
63 }
64
65 case FLA_DOUBLE:
66 {
67 double* buff_A = FLA_DOUBLE_PTR( A );
68 double* buff_alpha = FLA_DOUBLE_PTR( alpha );
69 for ( i = 0; i < n_A; ++i )
70 {
71 double* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
72 double* a12t_l = buff_A + (i+1)*cs_A + (i )*rs_A;
73 int n_ahead = n_A - i - 1;
74
76
77 if ( n_ahead > 0 )
79 }
80
81 break;
82 }
83
84 case FLA_COMPLEX:
85 {
87 float* buff_alpha = FLA_FLOAT_PTR( alpha );
88 for ( i = 0; i < n_A; ++i )
89 {
90 scomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
91 scomplex* a12t_l = buff_A + (i+1)*cs_A + (i )*rs_A;
92 int n_ahead = n_A - i - 1;
93
95
96 if ( n_ahead > 0 )
98 }
99
100 break;
101 }
102
104 {
106 double* buff_alpha = FLA_DOUBLE_PTR( alpha );
107 for ( i = 0; i < n_A; ++i )
108 {
109 dcomplex* alpha11 = buff_A + (i )*cs_A + (i )*rs_A;
110 dcomplex* a12t_l = buff_A + (i+1)*cs_A + (i )*rs_A;
111 int n_ahead = n_A - i - 1;
112
114
115 if ( n_ahead > 0 )
117 }
118
119 break;
120 }
121 }
122
123 return FLA_SUCCESS;
124}

References FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_row_stride(), FLA_Obj_width(), and i.

Referenced by FLA_Bidiag_UT_scale_diagonals(), and FLA_Tridiag_UT_scale_diagonals().