libflame  revision_anchor
Functions
FLA_Apply_pivots_lt_opt_var1.c File Reference

(r)

Functions

FLA_Error FLA_Apply_pivots_lt_opt_var1 (FLA_Obj p, FLA_Obj A)
 

Function Documentation

◆ FLA_Apply_pivots_lt_opt_var1()

FLA_Error FLA_Apply_pivots_lt_opt_var1 ( FLA_Obj  p,
FLA_Obj  A 
)

References FLA_Apply_pivots_ln_opc_var1(), FLA_Apply_pivots_ln_opd_var1(), FLA_Apply_pivots_ln_opi_var1(), FLA_Apply_pivots_ln_ops_var1(), FLA_Apply_pivots_ln_opz_var1(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_row_stride(), FLA_Obj_vector_dim(), FLA_Obj_vector_inc(), and FLA_Obj_width().

Referenced by FLA_Apply_pivots_lt().

14 {
15  FLA_Datatype datatype;
16  int n_A;
17  int rs_A, cs_A;
18  int inc_p;
19  int k1_0, k2_0;
20 
21  datatype = FLA_Obj_datatype( A );
22 
23  n_A = FLA_Obj_width( A );
24 
25  rs_A = FLA_Obj_row_stride( A );
26  cs_A = FLA_Obj_col_stride( A );
27 
28  // Use minus increment of the ln version.
29  inc_p = -FLA_Obj_vector_inc( p );
30 
31  // Use zero-based indices.
32  k1_0 = 0;
33  k2_0 = ( int ) FLA_Obj_vector_dim( p ) - 1;
34 
35  switch ( datatype )
36  {
37  case FLA_INT:
38  {
39  int* buff_A = FLA_INT_PTR( A );
40  int* buff_p = FLA_INT_PTR( p );
41 
43  buff_A, rs_A, cs_A,
44  k1_0,
45  k2_0,
46  buff_p, inc_p );
47 
48  break;
49  }
50 
51  case FLA_FLOAT:
52  {
53  float* buff_A = FLA_FLOAT_PTR( A );
54  int* buff_p = FLA_INT_PTR( p );
55 
57  buff_A, rs_A, cs_A,
58  k1_0,
59  k2_0,
60  buff_p, inc_p );
61 
62  break;
63  }
64 
65  case FLA_DOUBLE:
66  {
67  double* buff_A = FLA_DOUBLE_PTR( A );
68  int* buff_p = FLA_INT_PTR( p );
69 
71  buff_A, rs_A, cs_A,
72  k1_0,
73  k2_0,
74  buff_p, inc_p );
75 
76  break;
77  }
78 
79  case FLA_COMPLEX:
80  {
81  scomplex* buff_A = FLA_COMPLEX_PTR( A );
82  int* buff_p = FLA_INT_PTR( p );
83 
85  buff_A, rs_A, cs_A,
86  k1_0,
87  k2_0,
88  buff_p, inc_p );
89 
90  break;
91  }
92 
93  case FLA_DOUBLE_COMPLEX:
94  {
95  dcomplex* buff_A = FLA_DOUBLE_COMPLEX_PTR( A );
96  int* buff_p = FLA_INT_PTR( p );
97 
99  buff_A, rs_A, cs_A,
100  k1_0,
101  k2_0,
102  buff_p, inc_p );
103 
104  break;
105  }
106  }
107 
108  return FLA_SUCCESS;
109 }
FLA_Error FLA_Apply_pivots_ln_opz_var1(int n, dcomplex *a, int a_rs, int a_cs, int k1, int k2, int *p, int incp)
Definition: FLA_Apply_pivots_ln_opt_var1.c:438
dim_t FLA_Obj_row_stride(FLA_Obj obj)
Definition: FLA_Query.c:167
FLA_Error FLA_Apply_pivots_ln_opc_var1(int n, scomplex *a, int a_rs, int a_cs, int k1, int k2, int *p, int incp)
Definition: FLA_Apply_pivots_ln_opt_var1.c:356
FLA_Error FLA_Apply_pivots_ln_ops_var1(int n, float *a, int a_rs, int a_cs, int k1, int k2, int *p, int incp)
Definition: FLA_Apply_pivots_ln_opt_var1.c:192
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
Definition: blis_type_defs.h:132
FLA_Error FLA_Apply_pivots_ln_opd_var1(int n, double *a, int a_rs, int a_cs, int k1, int k2, int *p, int incp)
Definition: FLA_Apply_pivots_ln_opt_var1.c:274
dim_t FLA_Obj_vector_dim(FLA_Obj obj)
Definition: FLA_Query.c:137
int FLA_Datatype
Definition: FLA_type_defs.h:49
dim_t FLA_Obj_col_stride(FLA_Obj obj)
Definition: FLA_Query.c:174
FLA_Error FLA_Apply_pivots_ln_opi_var1(int n, int *a, int a_rs, int a_cs, int k1, int k2, int *p, int incp)
Definition: FLA_Apply_pivots_ln_opt_var1.c:110
dim_t FLA_Obj_vector_inc(FLA_Obj obj)
Definition: FLA_Query.c:145
Definition: blis_type_defs.h:137