14{
16 int m_A, n_A;
17 int rs_A, cs_A;
19
22
24
29
30
31
32 if ( uplo == FLA_LOWER_TRIANGULAR ) uplo = FLA_UPPER_TRIANGULAR;
33 else uplo = FLA_LOWER_TRIANGULAR;
34
36
37 switch ( datatype ){
38
39 case FLA_FLOAT:
40 {
41 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
42 float *buff_0 = (
float * ) FLA_FLOAT_PTR(
FLA_ZERO );
43 float *buff_1 = (
float * ) FLA_FLOAT_PTR(
FLA_ONE );
44
46 m_A,
47 n_A,
48 buff_0,
49 buff_A, rs_A, cs_A );
50
51 if ( diag == FLA_UNIT_DIAG )
53 m_A,
54 n_A,
55 buff_1,
56 buff_A, rs_A, cs_A );
57 else if ( diag == FLA_ZERO_DIAG )
59 m_A,
60 n_A,
61 buff_0,
62 buff_A, rs_A, cs_A );
63
64 break;
65 }
66
67 case FLA_DOUBLE:
68 {
69 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
70 double *buff_0 = (
double * ) FLA_DOUBLE_PTR(
FLA_ZERO );
71 double *buff_1 = (
double * ) FLA_DOUBLE_PTR(
FLA_ONE );
72
74 m_A,
75 n_A,
76 buff_0,
77 buff_A, rs_A, cs_A );
78
79 if ( diag == FLA_UNIT_DIAG )
81 m_A,
82 n_A,
83 buff_1,
84 buff_A, rs_A, cs_A );
85 else if ( diag == FLA_ZERO_DIAG )
87 m_A,
88 n_A,
89 buff_0,
90 buff_A, rs_A, cs_A );
91
92 break;
93 }
94
95 case FLA_COMPLEX:
96 {
100
102 m_A,
103 n_A,
104 buff_0,
105 buff_A, rs_A, cs_A );
106
107 if ( diag == FLA_UNIT_DIAG )
109 m_A,
110 n_A,
111 buff_1,
112 buff_A, rs_A, cs_A );
113 else if ( diag == FLA_ZERO_DIAG )
115 m_A,
116 n_A,
117 buff_0,
118 buff_A, rs_A, cs_A );
119
120 break;
121 }
122
123 case FLA_DOUBLE_COMPLEX:
124 {
128
130 m_A,
131 n_A,
132 buff_0,
133 buff_A, rs_A, cs_A );
134
135 if ( diag == FLA_UNIT_DIAG )
137 m_A,
138 n_A,
139 buff_1,
140 buff_A, rs_A, cs_A );
141 else if ( diag == FLA_ZERO_DIAG )
143 m_A,
144 n_A,
145 buff_0,
146 buff_A, rs_A, cs_A );
147
148 break;
149 }
150
151 }
152
153 return FLA_SUCCESS;
154}
FLA_Error FLA_Triangularize_check(FLA_Uplo uplo, FLA_Diag diag, FLA_Obj A)
Definition FLA_Triangularize_check.c:13
FLA_Obj FLA_ZERO
Definition FLA_Init.c:20
FLA_Obj FLA_ONE
Definition FLA_Init.c:18
dim_t FLA_Obj_width(FLA_Obj obj)
Definition FLA_Query.c:123
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
unsigned int FLA_Check_error_level(void)
Definition FLA_Check.c:18
void FLA_Param_map_flame_to_blis_uplo(FLA_Uplo uplo, uplo1_t *blis_uplo)
Definition FLA_Param.c:285
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition FLA_Query.c:13
int FLA_Datatype
Definition FLA_type_defs.h:49
void bl1_zsetdiag(int offset, int m, int n, dcomplex *sigma, dcomplex *a, int a_rs, int a_cs)
Definition bl1_setdiag.c:98
void bl1_csetmr(uplo1_t uplo, int m, int n, scomplex *sigma, scomplex *a, int a_rs, int a_cs)
Definition bl1_setmr.c:119
void bl1_csetdiag(int offset, int m, int n, scomplex *sigma, scomplex *a, int a_rs, int a_cs)
Definition bl1_setdiag.c:76
void bl1_dsetdiag(int offset, int m, int n, double *sigma, double *a, int a_rs, int a_cs)
Definition bl1_setdiag.c:55
void bl1_ssetdiag(int offset, int m, int n, float *sigma, float *a, int a_rs, int a_cs)
Definition bl1_setdiag.c:34
void bl1_dsetmr(uplo1_t uplo, int m, int n, double *sigma, double *a, int a_rs, int a_cs)
Definition bl1_setmr.c:66
void bl1_zsetmr(uplo1_t uplo, int m, int n, dcomplex *sigma, dcomplex *a, int a_rs, int a_cs)
Definition bl1_setmr.c:172
void bl1_ssetmr(uplo1_t uplo, int m, int n, float *sigma, float *a, int a_rs, int a_cs)
Definition bl1_setmr.c:13
uplo1_t
Definition blis_type_defs.h:61
Definition blis_type_defs.h:138
Definition blis_type_defs.h:133