libflame revision_anchor
Functions
FLA_LU_piv_blk_external.c File Reference

(r)

Functions

FLA_Error FLA_LU_piv_blk_external (FLA_Obj A, FLA_Obj p)
 
FLA_Error FLA_LU_piv_blk_ext (FLA_Obj A, FLA_Obj p)
 

Function Documentation

◆ FLA_LU_piv_blk_ext()

FLA_Error FLA_LU_piv_blk_ext ( FLA_Obj  A,
FLA_Obj  p 
)
107{
108 return FLA_LU_piv_blk_external( A, p );
109}
FLA_Error FLA_LU_piv_blk_external(FLA_Obj A, FLA_Obj p)
Definition FLA_LU_piv_blk_external.c:13
int i
Definition bl1_axmyv2.c:145

References FLA_LU_piv_blk_external(), and i.

Referenced by FLA_LU_piv_internal().

◆ FLA_LU_piv_blk_external()

FLA_Error FLA_LU_piv_blk_external ( FLA_Obj  A,
FLA_Obj  p 
)
14{
16#ifdef FLA_ENABLE_EXTERNAL_LAPACK_INTERFACES
17 int info;
18 FLA_Datatype datatype;
19 int m_A, n_A, cs_A;
20
23
24 if ( FLA_Obj_has_zero_dim( A ) ) return FLA_SUCCESS;
25
26 datatype = FLA_Obj_datatype( A );
27
28 m_A = FLA_Obj_length( A );
29 n_A = FLA_Obj_width( A );
31
32
33 switch( datatype ){
34
35 case FLA_FLOAT:
36 {
37 float *buff_A = ( float * ) FLA_FLOAT_PTR( A );
38 int *buff_p = ( int * ) FLA_INT_PTR( p );
39
41 &n_A,
42 buff_A, &cs_A,
43 buff_p,
44 &info );
45
46 break;
47 }
48
49 case FLA_DOUBLE:
50 {
51 double *buff_A = ( double * ) FLA_DOUBLE_PTR( A );
52 int *buff_p = ( int * ) FLA_INT_PTR( p );
53
55 &n_A,
56 buff_A, &cs_A,
57 buff_p,
58 &info );
59
60 break;
61 }
62
63 case FLA_COMPLEX:
64 {
66 int *buff_p = ( int * ) FLA_INT_PTR( p );
67
69 &n_A,
70 buff_A, &cs_A,
71 buff_p,
72 &info );
73
74 break;
75 }
76
78 {
80 int *buff_p = ( int * ) FLA_INT_PTR( p );
81
83 &n_A,
84 buff_A, &cs_A,
85 buff_p,
86 &info );
87
88 break;
89 }
90
91 }
92
94
95 // Convert to zero-based indexing, if an index was reported.
96 if ( info > 0 ) r_val = info - 1;
97 else r_val = FLA_SUCCESS;
98
99#else
101#endif
102
103 return r_val;
104}
FLA_Error FLA_LU_piv_check(FLA_Obj A, FLA_Obj p)
Definition FLA_LU_piv_check.c:13
int F77_zgetrf(int *m, int *n, dcomplex *a, int *lda, int *ipiv, int *info)
int F77_cgetrf(int *m, int *n, scomplex *a, int *lda, int *ipiv, int *info)
int F77_dgetrf(int *m, int *n, double *a, int *lda, int *ipiv, int *info)
int F77_sgetrf(int *m, int *n, float *a, int *lda, int *ipiv, int *info)
dim_t FLA_Obj_width(FLA_Obj obj)
Definition FLA_Query.c:123
FLA_Bool FLA_Obj_has_zero_dim(FLA_Obj A)
Definition FLA_Query.c:400
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
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition FLA_Query.c:13
int FLA_Error
Definition FLA_type_defs.h:47
int FLA_Datatype
Definition FLA_type_defs.h:49
FLA_Error FLA_Shift_pivots_to(FLA_Pivot_type ptype, FLA_Obj p)
Definition FLA_Shift_pivots_to.c:13
Definition blis_type_defs.h:138
Definition blis_type_defs.h:133

References F77_cgetrf(), F77_dgetrf(), F77_sgetrf(), F77_zgetrf(), FLA_Check_error_level(), FLA_LU_piv_check(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_has_zero_dim(), FLA_Obj_length(), FLA_Obj_width(), FLA_Shift_pivots_to(), and i.

Referenced by FLA_LU_piv_blk_ext().