libflame  revision_anchor
Functions
FLA_Check.c File Reference

(r)

Functions

unsigned int FLA_Check_error_level ()
 
unsigned int FLA_Check_error_level_set (unsigned int new_level)
 
FLA_Error FLA_Check_error_code_helper (int code, char *file, int line)
 
FLA_Error FLA_Check_valid_side (FLA_Side side)
 
FLA_Error FLA_Check_valid_uplo (FLA_Uplo uplo)
 
FLA_Error FLA_Check_valid_trans (FLA_Trans trans)
 
FLA_Error FLA_Check_valid_diag (FLA_Diag diag)
 
FLA_Error FLA_Check_valid_conj (FLA_Conj conj)
 
FLA_Error FLA_Check_valid_direct (FLA_Direct direct)
 
FLA_Error FLA_Check_valid_storev (FLA_Store storev)
 
FLA_Error FLA_Check_valid_inverse (FLA_Inv inv)
 
FLA_Error FLA_Check_valid_datatype (FLA_Datatype datatype)
 
FLA_Error FLA_Check_valid_object_datatype (FLA_Obj A)
 
FLA_Error FLA_Check_floating_datatype (FLA_Datatype datatype)
 
FLA_Error FLA_Check_int_datatype (FLA_Datatype datatype)
 
FLA_Error FLA_Check_real_datatype (FLA_Datatype datatype)
 
FLA_Error FLA_Check_complex_datatype (FLA_Datatype datatype)
 
FLA_Error FLA_Check_floating_object (FLA_Obj A)
 
FLA_Error FLA_Check_int_object (FLA_Obj A)
 
FLA_Error FLA_Check_real_object (FLA_Obj A)
 
FLA_Error FLA_Check_comparable_object (FLA_Obj A)
 
FLA_Error FLA_Check_complex_object (FLA_Obj A)
 
FLA_Error FLA_Check_identical_object_precision (FLA_Obj A, FLA_Obj B)
 
FLA_Error FLA_Check_consistent_object_datatype (FLA_Obj A, FLA_Obj B)
 
FLA_Error FLA_Check_consistent_datatype (FLA_Datatype datatype, FLA_Obj A)
 
FLA_Error FLA_Check_square (FLA_Obj A)
 
FLA_Error FLA_Check_if_scalar (FLA_Obj A)
 
FLA_Error FLA_Check_if_vector (FLA_Obj A)
 
FLA_Error FLA_Check_conformal_dims (FLA_Trans trans, FLA_Obj A, FLA_Obj B)
 
FLA_Error FLA_Check_matrix_matrix_dims (FLA_Trans transa, FLA_Trans transb, FLA_Obj A, FLA_Obj B, FLA_Obj C)
 
FLA_Error FLA_Check_matrix_vector_dims (FLA_Trans trans, FLA_Obj A, FLA_Obj x, FLA_Obj y)
 
FLA_Error FLA_Check_equal_vector_dims (FLA_Obj x, FLA_Obj y)
 
FLA_Error FLA_Check_conj1_trans_and_datatype (FLA_Trans trans, FLA_Obj A)
 
FLA_Error FLA_Check_hess_indices (FLA_Obj A, int ilo, int ihi)
 
FLA_Error FLA_Check_null_pointer (void *ptr)
 
FLA_Error FLA_Check_object_dims (FLA_Trans trans, dim_t m, dim_t n, FLA_Obj A)
 
FLA_Error FLA_Check_valid_pivot_type (FLA_Pivot_type ptype)
 
FLA_Error FLA_Check_malloc_pointer (void *ptr)
 
FLA_Error FLA_Check_base_buffer_mismatch (FLA_Obj A, FLA_Obj B)
 
FLA_Error FLA_Check_adjacent_objects_2x2 (FLA_Obj ATL, FLA_Obj ATR, FLA_Obj ABL, FLA_Obj ABR)
 
FLA_Error FLA_Check_adjacent_objects_2x1 (FLA_Obj AT, FLA_Obj AB)
 
FLA_Error FLA_Check_adjacent_objects_1x2 (FLA_Obj AL, FLA_Obj AR)
 
FLA_Error FLA_Check_blocksize_value (dim_t b)
 
FLA_Error FLA_Check_blocksize_object (FLA_Datatype datatype, fla_blocksize_t *bp)
 
FLA_Error FLA_Check_file_descriptor (int fd)
 
FLA_Error FLA_Check_lseek_result (int requested_offset, int lseek_r_val)
 
FLA_Error FLA_Check_close_result (int close_r_val)
 
FLA_Error FLA_Check_unlink_result (int unlink_r_val)
 
FLA_Error FLA_Check_read_result (int requested_size, int read_r_val)
 
FLA_Error FLA_Check_write_result (int requested_size, int write_r_val)
 
FLA_Error FLA_Check_valid_quadrant (FLA_Quadrant quad)
 
FLA_Error FLA_Check_vector_dim_min (FLA_Obj x, dim_t min_dim)
 
FLA_Error FLA_Check_pthread_create_result (int pthread_create_r_val)
 
FLA_Error FLA_Check_pthread_join_result (int pthread_join_r_val)
 
FLA_Error FLA_Check_valid_isgn_value (FLA_Obj isgn)
 
FLA_Error FLA_Check_sylv_matrix_dims (FLA_Obj A, FLA_Obj B, FLA_Obj C)
 
FLA_Error FLA_Check_chol_failure (FLA_Error r_val)
 
FLA_Error FLA_Check_valid_elemtype (FLA_Elemtype elemtype)
 
FLA_Error FLA_Check_posix_memalign_failure (int r_val)
 
FLA_Error FLA_Check_submatrix_dims_and_offset (dim_t m, dim_t n, dim_t i, dim_t j, FLA_Obj A)
 
FLA_Error FLA_Check_object_scalar_elemtype (FLA_Obj A)
 
FLA_Error FLA_Check_object_matrix_elemtype (FLA_Obj A)
 
FLA_Error FLA_Check_num_threads (unsigned int n_threads)
 
FLA_Error FLA_Check_conj_and_datatype (FLA_Conj conj, FLA_Obj A)
 
FLA_Error FLA_Check_valid_complex_trans (FLA_Trans trans)
 
FLA_Error FLA_Check_valid_real_trans (FLA_Trans trans)
 
FLA_Error FLA_Check_valid_blas_trans (FLA_Trans trans)
 
FLA_Error FLA_Check_nonconstant_datatype (FLA_Datatype datatype)
 
FLA_Error FLA_Check_nonconstant_object (FLA_Obj A)
 
FLA_Error FLA_Check_identical_object_datatype (FLA_Obj A, FLA_Obj B)
 
FLA_Error FLA_Check_divide_by_zero (FLA_Obj alpha)
 
FLA_Error FLA_Check_identical_object_elemtype (FLA_Obj A, FLA_Obj B)
 
FLA_Error FLA_Check_pivot_index_range (FLA_Obj p, dim_t k1, dim_t k2)
 
FLA_Error FLA_Check_householder_panel_dims (FLA_Obj A, FLA_Obj T)
 
FLA_Error FLA_Check_object_length_equals (FLA_Obj A, dim_t m)
 
FLA_Error FLA_Check_object_width_equals (FLA_Obj A, dim_t n)
 
FLA_Error FLA_Check_object_length_min (FLA_Obj A, dim_t m)
 
FLA_Error FLA_Check_object_width_min (FLA_Obj A, dim_t n)
 
FLA_Error FLA_Check_valid_error_level (unsigned int level)
 
FLA_Error FLA_Check_attempted_repart_2x2 (FLA_Obj A_quad, dim_t b_m, dim_t b_n)
 
FLA_Error FLA_Check_attempted_repart_2x1 (FLA_Obj A_side, dim_t b_m)
 
FLA_Error FLA_Check_attempted_repart_1x2 (FLA_Obj A_side, dim_t b_n)
 
FLA_Error FLA_Check_valid_leftright_side (FLA_Side side)
 
FLA_Error FLA_Check_valid_topbottom_side (FLA_Side side)
 
FLA_Error FLA_Check_matrix_strides (dim_t m, dim_t n, dim_t rs, dim_t cs)
 
FLA_Error FLA_Check_vector_dim (FLA_Obj x, dim_t expected_length)
 
FLA_Error FLA_Check_row_vector (FLA_Obj x)
 
FLA_Error FLA_Check_col_vector (FLA_Obj x)
 
FLA_Error FLA_Check_valid_evd_type (FLA_Evd_type evd_type)
 
FLA_Error FLA_Check_valid_svd_type (FLA_Svd_type svd_type)
 
FLA_Error FLA_Check_valid_svd_type_combination (FLA_Svd_type svd_type_u, FLA_Svd_type svd_type_v)
 
FLA_Error FLA_Check_valid_svd_type_and_trans_combination (FLA_Svd_type svd_type_u, FLA_Trans transu, FLA_Svd_type svd_type_v, FLA_Trans transv)
 
FLA_Error FLA_Check_valid_machval (FLA_Machval val)
 
FLA_Error FLA_Check_valid_diag_offset (FLA_Obj A, FLA_Diag_off offset)
 
FLA_Error FLA_Check_col_storage (FLA_Obj A)
 
FLA_Error FLA_Check_row_storage (FLA_Obj A)
 

Function Documentation

◆ FLA_Check_adjacent_objects_1x2()

FLA_Error FLA_Check_adjacent_objects_1x2 ( FLA_Obj  AL,
FLA_Obj  AR 
)

References FLA_Obj_length(), FLA_Obj_width(), FLA_Obj_view::offm, and FLA_Obj_view::offn.

Referenced by FLA_Merge_1x2_check().

630 {
631  FLA_Error e_val = FLA_SUCCESS;
632 
633  if ( FLA_Obj_length( AL ) != FLA_Obj_length( AR ) )
634  e_val = FLA_ADJACENT_OBJECT_DIM_MISMATCH;
635 
636  if ( AR.offn != AL.offn + FLA_Obj_width( AL ) )
637  e_val = FLA_OBJECTS_NOT_HORIZONTALLY_ADJ;
638 
639  if ( AL.offm != AR.offm )
640  e_val = FLA_OBJECTS_NOT_HORIZONTALLY_ALIGNED;
641 
642  return e_val;
643 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
dim_t offn
Definition: FLA_type_defs.h:162
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116
dim_t offm
Definition: FLA_type_defs.h:161

◆ FLA_Check_adjacent_objects_2x1()

FLA_Error FLA_Check_adjacent_objects_2x1 ( FLA_Obj  AT,
FLA_Obj  AB 
)

References FLA_Obj_length(), FLA_Obj_width(), FLA_Obj_view::offm, and FLA_Obj_view::offn.

Referenced by FLA_Merge_2x1_check().

614 {
615  FLA_Error e_val = FLA_SUCCESS;
616 
617  if ( FLA_Obj_width( AT ) != FLA_Obj_width( AB ) )
618  e_val = FLA_ADJACENT_OBJECT_DIM_MISMATCH;
619 
620  if ( AB.offm != AT.offm + FLA_Obj_length( AT ) )
621  e_val = FLA_OBJECTS_NOT_VERTICALLY_ADJ;
622 
623  if ( AB.offn != AT.offn )
624  e_val = FLA_OBJECTS_NOT_VERTICALLY_ALIGNED;
625 
626  return e_val;
627 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
dim_t offn
Definition: FLA_type_defs.h:162
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116
dim_t offm
Definition: FLA_type_defs.h:161

◆ FLA_Check_adjacent_objects_2x2()

FLA_Error FLA_Check_adjacent_objects_2x2 ( FLA_Obj  ATL,
FLA_Obj  ATR,
FLA_Obj  ABL,
FLA_Obj  ABR 
)

References FLA_Obj_length(), FLA_Obj_width(), FLA_Obj_view::offm, and FLA_Obj_view::offn.

Referenced by FLA_Merge_2x2_check().

584 {
585  FLA_Error e_val = FLA_SUCCESS;
586 
587  if ( FLA_Obj_length( ATL ) != FLA_Obj_length( ATR ) ||
588  FLA_Obj_length( ABL ) != FLA_Obj_length( ABR ) ||
589  FLA_Obj_width( ATL ) != FLA_Obj_width( ABL ) ||
590  FLA_Obj_width( ATR ) != FLA_Obj_width( ABR ) )
591  e_val = FLA_ADJACENT_OBJECT_DIM_MISMATCH;
592 
593  if ( ATL.offm != ABL.offm + FLA_Obj_length( ABL ) ||
594  ATR.offm != ABR.offm + FLA_Obj_length( ABL ) )
595  e_val = FLA_OBJECTS_NOT_VERTICALLY_ADJ;
596 
597  if ( ATL.offn != ABL.offn ||
598  ATR.offn != ABR.offn )
599  e_val = FLA_OBJECTS_NOT_VERTICALLY_ALIGNED;
600 
601  if ( ATL.offn != ATR.offn + FLA_Obj_width( ATR ) ||
602  ABL.offn != ABR.offn + FLA_Obj_width( ATR ) )
603  e_val = FLA_OBJECTS_NOT_HORIZONTALLY_ADJ;
604 
605  if ( ATL.offm != ATR.offm ||
606  ABL.offm != ABR.offm )
607  e_val = FLA_OBJECTS_NOT_HORIZONTALLY_ALIGNED;
608 
609  return e_val;
610 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
dim_t offn
Definition: FLA_type_defs.h:162
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116
dim_t offm
Definition: FLA_type_defs.h:161

◆ FLA_Check_attempted_repart_1x2()

FLA_Error FLA_Check_attempted_repart_1x2 ( FLA_Obj  A_side,
dim_t  b_n 
)

References FLA_Obj_width().

Referenced by FLA_Repart_1x2_to_1x3_check().

1115 {
1116  FLA_Error e_val = FLA_SUCCESS;
1117 
1118  if ( b_n > FLA_Obj_width( A_side ) )
1119  e_val = FLA_ATTEMPTED_OVER_REPART_1X2;
1120 
1121  return e_val;
1122 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123

◆ FLA_Check_attempted_repart_2x1()

FLA_Error FLA_Check_attempted_repart_2x1 ( FLA_Obj  A_side,
dim_t  b_m 
)

References FLA_Obj_length().

Referenced by FLA_Repart_2x1_to_3x1_check().

1105 {
1106  FLA_Error e_val = FLA_SUCCESS;
1107 
1108  if ( b_m > FLA_Obj_length( A_side ) )
1109  e_val = FLA_ATTEMPTED_OVER_REPART_2X1;
1110 
1111  return e_val;
1112 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116

◆ FLA_Check_attempted_repart_2x2()

FLA_Error FLA_Check_attempted_repart_2x2 ( FLA_Obj  A_quad,
dim_t  b_m,
dim_t  b_n 
)

References FLA_Obj_length(), and FLA_Obj_width().

Referenced by FLA_Repart_2x2_to_3x3_check().

1092 {
1093  FLA_Error e_val = FLA_SUCCESS;
1094 
1095  if ( b_m > FLA_Obj_length( A_quad ) )
1096  e_val = FLA_ATTEMPTED_OVER_REPART_2X2;
1097 
1098  if ( b_n > FLA_Obj_width( A_quad ) )
1099  e_val = FLA_ATTEMPTED_OVER_REPART_2X2;
1100 
1101  return e_val;
1102 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116

◆ FLA_Check_base_buffer_mismatch()

FLA_Error FLA_Check_base_buffer_mismatch ( FLA_Obj  A,
FLA_Obj  B 
)

References FLA_Obj_view::base, and FLA_Obj_struct::buffer.

Referenced by FLA_Merge_1x2_check(), FLA_Merge_2x1_check(), and FLA_Merge_2x2_check().

573 {
574  FLA_Error e_val = FLA_SUCCESS;
575 
576  if ( A.base->buffer != B.base->buffer )
577  e_val = FLA_OBJECT_BASE_BUFFER_MISMATCH;
578 
579  return e_val;
580 }
FLA_Base_obj * base
Definition: FLA_type_defs.h:168
int FLA_Error
Definition: FLA_type_defs.h:47
void * buffer
Definition: FLA_type_defs.h:138

◆ FLA_Check_blocksize_object()

FLA_Error FLA_Check_blocksize_object ( FLA_Datatype  datatype,
fla_blocksize_t bp 
)

References FLA_Blocksize_extract().

656 {
657  FLA_Error e_val = FLA_SUCCESS;
658  dim_t b;
659 
660  b = FLA_Blocksize_extract( datatype, bp );
661  if ( b <= 0 )
662  e_val = FLA_INVALID_BLOCKSIZE_OBJ;
663 
664  return e_val;
665 }
unsigned long dim_t
Definition: FLA_type_defs.h:71
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Blocksize_extract(FLA_Datatype dt, fla_blocksize_t *bp)
Definition: FLA_Blocksize.c:116

◆ FLA_Check_blocksize_value()

FLA_Error FLA_Check_blocksize_value ( dim_t  b)

Referenced by FLA_Determine_blocksize().

646 {
647  FLA_Error e_val = FLA_SUCCESS;
648 
649  if ( b <= 0 )
650  e_val = FLA_INVALID_BLOCKSIZE_VALUE;
651 
652  return e_val;
653 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_chol_failure()

FLA_Error FLA_Check_chol_failure ( FLA_Error  r_val)

Referenced by FLA_SPDinv_internal().

804 {
805  FLA_Error e_val = FLA_SUCCESS;
806 
807  if ( r_val > 0 )
808  e_val = FLA_CHOL_FAILED_MATRIX_NOT_SPD;
809 
810  return e_val;
811 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_close_result()

FLA_Error FLA_Check_close_result ( int  close_r_val)
688 {
689  FLA_Error e_val = FLA_SUCCESS;
690 
691  if ( close_r_val == -1 )
692  e_val = FLA_CLOSE_RETURNED_ERROR;
693 
694  return e_val;
695 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_col_storage()

FLA_Error FLA_Check_col_storage ( FLA_Obj  A)

References FLA_Obj_row_stride().

Referenced by FLA_Bidiag_check(), FLA_Hess_check(), FLA_Hevd_check(), FLA_Hevdd_check(), FLA_Hevdr_check(), FLA_LQ_check(), FLA_QR_check(), FLA_Svd_check(), FLA_Svd_ext_check(), and FLA_Tridiag_check().

1326 {
1327  FLA_Error e_val = FLA_SUCCESS;
1328 
1329  if ( FLA_Obj_row_stride( A ) != 1 )
1330  e_val = FLA_EXPECTED_COL_STORAGE;
1331 
1332  return e_val;
1333 }
dim_t FLA_Obj_row_stride(FLA_Obj obj)
Definition: FLA_Query.c:167
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_col_vector()

FLA_Error FLA_Check_col_vector ( FLA_Obj  x)

References FLA_Obj_width().

Referenced by FLA_Accum_T_UT_check(), FLA_Bidiag_check(), FLA_LQ_check(), FLA_LU_piv_check(), FLA_LU_piv_solve_check(), FLA_QR_check(), FLA_Shift_pivots_to_check(), and FLA_Tridiag_check().

1234 {
1235  FLA_Error e_val = FLA_SUCCESS;
1236 
1237  if ( FLA_Obj_width( x ) != 1 )
1238  e_val = FLA_EXPECTED_COL_VECTOR;
1239 
1240  return e_val;
1241 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123

◆ FLA_Check_comparable_object()

FLA_Error FLA_Check_comparable_object ( FLA_Obj  A)

References FLA_Check_int_datatype(), FLA_Check_real_datatype(), and FLA_Obj_datatype().

Referenced by FLA_Obj_ge_check(), FLA_Obj_gt_check(), FLA_Obj_le_check(), and FLA_Obj_lt_check().

272 {
273  FLA_Error e_val = FLA_SUCCESS;
274  FLA_Datatype datatype;
275 
276  datatype = FLA_Obj_datatype( A );
277 
278  if ( FLA_Check_int_datatype( datatype ) != FLA_SUCCESS &&
279  FLA_Check_real_datatype( datatype ) != FLA_SUCCESS )
280  e_val = FLA_OBJECT_NOT_COMPARABLE;
281 
282  return e_val;
283 }
FLA_Error FLA_Check_real_datatype(FLA_Datatype datatype)
Definition: FLA_Check.c:208
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13
FLA_Error FLA_Check_int_datatype(FLA_Datatype datatype)
Definition: FLA_Check.c:197
int FLA_Datatype
Definition: FLA_type_defs.h:49

◆ FLA_Check_complex_datatype()

FLA_Error FLA_Check_complex_datatype ( FLA_Datatype  datatype)

Referenced by FLA_Check_complex_object().

221 {
222  FLA_Error e_val = FLA_SUCCESS;
223 
224  if ( datatype != FLA_CONSTANT &&
225  datatype != FLA_COMPLEX &&
226  datatype != FLA_DOUBLE_COMPLEX )
227  e_val = FLA_INVALID_COMPLEX_DATATYPE;
228 
229  return e_val;
230 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_complex_object()

FLA_Error FLA_Check_complex_object ( FLA_Obj  A)

References FLA_Check_complex_datatype(), and FLA_Obj_datatype().

Referenced by FLA_Apply_G_check(), FLA_Bsvd_check(), and FLA_Obj_extract_complex_scalar_check().

286 {
287  FLA_Error e_val = FLA_SUCCESS;
288  FLA_Datatype datatype;
289 
290  datatype = FLA_Obj_datatype( A );
291 
292  if ( FLA_Check_complex_datatype( datatype ) != FLA_SUCCESS )
293  e_val = FLA_OBJECT_NOT_COMPLEX;
294 
295  return e_val;
296 }
FLA_Error FLA_Check_complex_datatype(FLA_Datatype datatype)
Definition: FLA_Check.c:220
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13
int FLA_Datatype
Definition: FLA_type_defs.h:49

◆ FLA_Check_conformal_dims()

FLA_Error FLA_Check_conformal_dims ( FLA_Trans  trans,
FLA_Obj  A,
FLA_Obj  B 
)

References FLA_Obj_length(), and FLA_Obj_width().

Referenced by FLA_Apply_CAQ2_UT_internal_check(), FLA_Apply_CAQ_UT_inc_check(), FLA_Apply_CAQ_UT_inc_internal_check(), FLA_Apply_HUD_UT_check(), FLA_Apply_Q2_UT_check(), FLA_Apply_Q2_UT_internal_check(), FLA_Apply_Q_UT_inc_check(), FLA_Apply_Q_UT_inc_internal_check(), FLA_Apply_QUD_UT_inc_check(), FLA_Apply_QUD_UT_inc_internal_check(), FLA_Apply_QUD_UT_internal_check(), FLA_Axpy_check(), FLA_Axpy_internal_check(), FLA_Axpyrt_check(), FLA_Axpys_check(), FLA_Axpyt_check(), FLA_Axpyt_internal_check(), FLA_CAQR_UT_inc_check(), FLA_CAQR_UT_inc_solve_check(), FLA_Copy_check(), FLA_Copy_internal_check(), FLA_Copyr_check(), FLA_Copyr_internal_check(), FLA_Copyrt_check(), FLA_Copyt_check(), FLA_Copyt_internal_check(), FLA_Eig_gest_internal_check(), FLA_FS_incpiv_check(), FLA_Hevdr_check(), FLA_Inv_scal_elemwise_check(), FLA_LU_incpiv_check(), FLA_Lyap_internal_check(), FLA_Max_elemwise_diff_check(), FLA_Obj_equals_check(), FLA_QR_UT_copy_internal_check(), FLA_QR_UT_inc_check(), FLA_QR_UT_inc_solve_check(), FLA_Scal_elemwise_check(), FLA_Swap_check(), FLA_Swapt_check(), and FLA_UDdate_UT_inc_check().

394 {
395  FLA_Error e_val = FLA_SUCCESS;
396 
397  if ( trans == FLA_NO_TRANSPOSE || trans == FLA_CONJ_NO_TRANSPOSE )
398  {
399  if ( FLA_Obj_length( A ) != FLA_Obj_length( B ) )
400  e_val = FLA_NONCONFORMAL_DIMENSIONS;
401 
402  if ( FLA_Obj_width( A ) != FLA_Obj_width( B ) )
403  e_val = FLA_NONCONFORMAL_DIMENSIONS;
404  }
405  else
406  {
407  if ( FLA_Obj_width( A ) != FLA_Obj_length( B ) )
408  e_val = FLA_NONCONFORMAL_DIMENSIONS;
409 
410  if ( FLA_Obj_length( A ) != FLA_Obj_width( B ) )
411  e_val = FLA_NONCONFORMAL_DIMENSIONS;
412  }
413 
414  return e_val;
415 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116

◆ FLA_Check_conj1_trans_and_datatype()

FLA_Error FLA_Check_conj1_trans_and_datatype ( FLA_Trans  trans,
FLA_Obj  A 
)

References FLA_Obj_is_complex().

488 {
489  FLA_Error e_val = FLA_SUCCESS;
490 
491  if ( trans == FLA_CONJ_TRANSPOSE || trans == FLA_CONJ_NO_TRANSPOSE ){
492  if ( FLA_Obj_is_complex( A ) == FALSE )
493  e_val = FLA_INVALID_TRANS_GIVEN_DATATYPE;
494  }
495 
496  return e_val;
497 }
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Bool FLA_Obj_is_complex(FLA_Obj A)
Definition: FLA_Query.c:324

◆ FLA_Check_conj_and_datatype()

FLA_Error FLA_Check_conj_and_datatype ( FLA_Conj  conj,
FLA_Obj  A 
)

References FLA_Obj_is_complex().

895 {
896  FLA_Error e_val = FLA_SUCCESS;
897 
898  if ( conj == FLA_CONJUGATE ){
899  if ( FLA_Obj_is_complex( A ) == FALSE )
900  e_val = FLA_INVALID_CONJ_GIVEN_DATATYPE;
901  }
902 
903  return e_val;
904 }
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Bool FLA_Obj_is_complex(FLA_Obj A)
Definition: FLA_Query.c:324

◆ FLA_Check_consistent_datatype()

FLA_Error FLA_Check_consistent_datatype ( FLA_Datatype  datatype,
FLA_Obj  A 
)

References FLA_Obj_datatype().

352 {
353  FLA_Error e_val = FLA_SUCCESS;
354 
355  if ( FLA_Obj_datatype( A ) != FLA_CONSTANT &&
356  datatype != FLA_CONSTANT )
357  if ( FLA_Obj_datatype( A ) != datatype )
358  e_val = FLA_INCONSISTENT_DATATYPES;
359 
360  return e_val;
361 }
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13

◆ FLA_Check_consistent_object_datatype()

FLA_Error FLA_Check_consistent_object_datatype ( FLA_Obj  A,
FLA_Obj  B 
)

References FLA_Obj_datatype().

Referenced by FLA_Accum_T_UT_check(), FLA_Axpy_buffer_to_object_check(), FLA_Axpy_check(), FLA_Axpy_object_to_buffer_check(), FLA_Axpyrt_check(), FLA_Axpys_check(), FLA_Axpyt_check(), FLA_Bidiag_UT_recover_tau_check(), FLA_Dot2cs_check(), FLA_Dot2s_check(), FLA_Dotcs_check(), FLA_Dots_check(), FLA_Fill_with_linear_dist_check(), FLA_Fill_with_random_dist_check(), FLA_Gemm_check(), FLA_Gemv_check(), FLA_Gemvc_check(), FLA_Ger_check(), FLA_Gerc_check(), FLA_Hemm_check(), FLA_Hemv_check(), FLA_Hemvc_check(), FLA_Her2_check(), FLA_Her2c_check(), FLA_Her2k_check(), FLA_Hess_UT_recover_tau_check(), FLA_Inv_scal_check(), FLA_Inv_scalc_check(), FLA_LQ_UT_recover_tau_check(), FLA_Obj_equals_check(), FLA_Obj_ge_check(), FLA_Obj_gt_check(), FLA_Obj_le_check(), FLA_Obj_lt_check(), FLA_QR_UT_recover_tau_check(), FLA_Scal_check(), FLA_Scalc_check(), FLA_Scale_diag_check(), FLA_Scalr_check(), FLA_Set_check(), FLA_Set_diag_check(), FLA_Setr_check(), FLA_Shift_diag_check(), FLA_Symm_check(), FLA_Symv_check(), FLA_Syr2_check(), FLA_Syr2k_check(), FLA_Syr_check(), FLA_Syrk_check(), FLA_Tridiag_UT_recover_tau_check(), FLA_Trmm_check(), FLA_Trmmsx_check(), FLA_Trmvsx_check(), FLA_Trsm_check(), FLA_Trsmsx_check(), FLA_Trsvsx_check(), FLASH_Axpy_buffer_to_hier(), and FLASH_Axpy_hier_to_buffer().

340 {
341  FLA_Error e_val = FLA_SUCCESS;
342 
343  if ( FLA_Obj_datatype( A ) != FLA_CONSTANT &&
344  FLA_Obj_datatype( B ) != FLA_CONSTANT )
345  if ( FLA_Obj_datatype( A ) != FLA_Obj_datatype( B ) )
346  e_val = FLA_INCONSISTENT_DATATYPES;
347 
348  return e_val;
349 }
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13

◆ FLA_Check_divide_by_zero()

FLA_Error FLA_Check_divide_by_zero ( FLA_Obj  alpha)

References FLA_Obj_equals(), and FLA_ZERO.

Referenced by FLA_Inv_scal_check(), and FLA_Inv_scalc_check().

978 {
979  FLA_Error e_val = FLA_SUCCESS;
980 
981  if ( FLA_Obj_equals( alpha, FLA_ZERO ) )
982  e_val = FLA_DIVIDE_BY_ZERO;
983 
984  return e_val;
985 }
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Bool FLA_Obj_equals(FLA_Obj A, FLA_Obj B)
Definition: FLA_Query.c:507
FLA_Obj FLA_ZERO
Definition: FLA_Init.c:20

◆ FLA_Check_equal_vector_dims()

FLA_Error FLA_Check_equal_vector_dims ( FLA_Obj  x,
FLA_Obj  y 
)

References FLA_Obj_vector_dim().

Referenced by FLA_Apply_G_mx2_check(), FLA_Axpy_check(), FLA_Copy_check(), FLA_Dot2cs_check(), FLA_Dot2s_check(), FLA_Dot_check(), FLA_Dotc_check(), FLA_Dotcs_check(), FLA_Dots_check(), and FLA_Swap_check().

478 {
479  FLA_Error e_val = FLA_SUCCESS;
480 
481  if ( FLA_Obj_vector_dim( x ) != FLA_Obj_vector_dim( y ) )
482  e_val = FLA_UNEQUAL_VECTOR_DIMS;
483 
484  return e_val;
485 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_vector_dim(FLA_Obj obj)
Definition: FLA_Query.c:137

◆ FLA_Check_error_code_helper()

FLA_Error FLA_Check_error_code_helper ( int  code,
char *  file,
int  line 
)

References FLA_Abort(), FLA_Error_string_for_code(), and FLA_Print_message().

39 {
40  if ( code == FLA_SUCCESS )
41  return code;
42 
43  //if ( /* fatal error checking enabled */ )
44  if ( TRUE )
45  {
46  if ( FLA_ERROR_CODE_MAX <= code && code <= FLA_ERROR_CODE_MIN )
47  {
49  file, line );
50  FLA_Abort();
51  }
52  else
53  {
54  FLA_Print_message( FLA_Error_string_for_code( FLA_UNDEFINED_ERROR_CODE ),
55  file, line );
56  FLA_Abort();
57  }
58  }
59 
60  return code;
61 }
void FLA_Abort(void)
Definition: FLA_Error.c:248
void FLA_Print_message(char *str, char *file, int line)
Definition: FLA_Error.c:234
char * FLA_Error_string_for_code(int code)
Definition: FLA_Error.c:23

◆ FLA_Check_error_level()

unsigned int FLA_Check_error_level ( void  )

Referenced by FLA_Absolute_square(), FLA_Absolute_value(), FLA_Accum_T_UT(), FLA_Add_to_diag(), FLA_Amax_external(), FLA_Apply_CAQ2_UT_internal(), FLA_Apply_CAQ_UT_inc_internal(), FLA_Apply_diag_matrix(), FLA_Apply_G(), FLA_Apply_H2_UT(), FLA_Apply_HUD_UT(), FLA_Apply_pivots_unb_external(), FLA_Apply_Q2_UT_internal(), FLA_Apply_Q_blk_external(), FLA_Apply_Q_UT(), FLA_Apply_Q_UT_inc_internal(), FLA_Apply_Q_UT_internal(), FLA_Apply_QUD_UT(), FLA_Apply_QUD_UT_inc_internal(), FLA_Apply_QUD_UT_internal(), FLA_Asum_external(), FLA_Axpy(), FLA_Axpy_buffer_to_object(), FLA_Axpy_external(), FLA_Axpy_external_gpu(), FLA_Axpy_internal(), FLA_Axpy_object_to_buffer(), FLA_Axpyrt_external(), FLA_Axpys_external(), FLA_Axpyt(), FLA_Axpyt_external(), FLA_Axpyt_internal(), FLA_Bidiag_blk_external(), FLA_Bidiag_form_U_external(), FLA_Bidiag_form_V_external(), FLA_Bidiag_unb_external(), FLA_Bidiag_UT(), FLA_Bidiag_UT_extract_diagonals(), FLA_Bidiag_UT_extract_real_diagonals(), FLA_Bidiag_UT_form_U(), FLA_Bidiag_UT_form_V(), FLA_Bidiag_UT_internal(), FLA_Bidiag_UT_realify(), FLA_Bidiag_UT_realify_diagonals(), FLA_Bidiag_UT_recover_tau(), FLA_Bidiag_UT_scale_diagonals(), FLA_Blocksize_create_copy(), FLA_Blocksize_extract(), FLA_Blocksize_scale(), FLA_Bsvd(), FLA_Bsvd_create_workspace(), FLA_Bsvd_ext(), FLA_CAQR2_UT_internal(), FLA_Chol(), FLA_Chol_blk_external(), FLA_Chol_internal(), FLA_Chol_solve(), FLA_Chol_unb_external(), FLA_Conjugate(), FLA_Conjugate_r(), FLA_Cont_with_1x3_to_1x2(), FLA_Cont_with_3x1_to_2x1(), FLA_Cont_with_3x3_to_2x2(), FLA_Copy(), FLA_Copy_buffer_to_object(), FLA_Copy_external(), FLA_Copy_external_gpu(), FLA_Copy_internal(), FLA_Copy_object_to_buffer(), FLA_Copyr(), FLA_Copyr_external(), FLA_Copyr_internal(), FLA_Copyrt_external(), FLA_Copyt(), FLA_Copyt_external(), FLA_Copyt_internal(), FLA_Determine_blocksize(), FLA_Dot2cs_external(), FLA_Dot2s_external(), FLA_Dot_external(), FLA_Dotc_external(), FLA_Dotcs_external(), FLA_Dots_external(), FLA_Eig_gest(), FLA_Eig_gest_blk_external(), FLA_Eig_gest_internal(), FLA_Eig_gest_unb_external(), FLA_Fill_with_cluster_dist(), FLA_Fill_with_geometric_dist(), FLA_Fill_with_inverse_dist(), FLA_Fill_with_linear_dist(), FLA_Fill_with_logarithmic_dist(), FLA_Fill_with_random_dist(), FLA_Form_perm_matrix(), FLA_Gemm(), FLA_Gemm_external(), FLA_Gemm_external_gpu(), FLA_Gemm_internal(), FLA_Gemv(), FLA_Gemv_external(), FLA_Gemv_external_gpu(), FLA_Gemv_internal(), FLA_Gemvc_external(), FLA_Ger_external(), FLA_Gerc_external(), FLA_Givens2(), FLA_Hemm(), FLA_Hemm_external(), FLA_Hemm_external_gpu(), FLA_Hemm_internal(), FLA_Hemv_external(), FLA_Hemvc_external(), FLA_Her2_external(), FLA_Her2c_external(), FLA_Her2k(), FLA_Her2k_external(), FLA_Her2k_external_gpu(), FLA_Her2k_internal(), FLA_Her_external(), FLA_Herc_external(), FLA_Herk(), FLA_Herk_external(), FLA_Herk_external_gpu(), FLA_Herk_internal(), FLA_Hermitianize(), FLA_Hess_blk_external(), FLA_Hess_unb_external(), FLA_Hess_UT(), FLA_Hess_UT_internal(), FLA_Hess_UT_recover_tau(), FLA_Hevd(), FLA_Hevd_compute_scaling(), FLA_Hevd_external(), FLA_Hevdd_external(), FLA_Hevdr_external(), FLA_Househ2_UT(), FLA_Househ2s_UT(), FLA_Househ3UD_UT(), FLA_Inv_scal_elemwise(), FLA_Inv_scal_external(), FLA_Inv_scalc_external(), FLA_Invert(), FLA_LQ_blk_external(), FLA_LQ_unb_external(), FLA_LQ_UT(), FLA_LQ_UT_internal(), FLA_LQ_UT_solve(), FLA_LU_find_zero_on_diagonal(), FLA_LU_nopiv(), FLA_LU_nopiv_internal(), FLA_LU_nopiv_solve(), FLA_LU_piv(), FLA_LU_piv_blk_external(), FLA_LU_piv_internal(), FLA_LU_piv_solve(), FLA_LU_piv_unb_external(), FLA_Lyap(), FLA_Lyap_internal(), FLA_Mach_params(), FLA_malloc(), FLA_Max_abs_value(), FLA_Max_abs_value_herm(), FLA_Max_elemwise_diff(), FLA_Merge_1x2(), FLA_Merge_2x1(), FLA_Merge_2x2(), FLA_Mult_add(), FLA_Negate(), FLA_Norm1(), FLA_Norm_frob(), FLA_Norm_inf(), FLA_Nrm2_external(), FLA_Obj_attach_buffer(), FLA_Obj_buffer_at_view(), FLA_Obj_copy_view(), FLA_Obj_create_buffer(), FLA_Obj_create_complex_constant(), FLA_Obj_create_conf_to(), FLA_Obj_create_constant(), FLA_Obj_create_constant_ext(), FLA_Obj_create_ext(), FLA_Obj_create_without_buffer(), FLA_Obj_datatype(), FLA_Obj_datatype_size(), FLA_Obj_elem_size(), FLA_Obj_elemtype(), FLA_Obj_equals(), FLA_Obj_extract_complex_scalar(), FLA_Obj_extract_imag_part(), FLA_Obj_extract_real_part(), FLA_Obj_extract_real_scalar(), FLA_Obj_flip_base(), FLA_Obj_flip_view(), FLA_Obj_free(), FLA_Obj_free_buffer(), FLA_Obj_free_without_buffer(), FLA_Obj_fshow(), FLA_Obj_ge(), FLA_Obj_gt(), FLA_Obj_has_nan(), FLA_Obj_le(), FLA_Obj_lt(), FLA_Obj_set_imag_part(), FLA_Obj_set_real_part(), FLA_Obj_show(), FLA_Part_1x2(), FLA_Part_2x1(), FLA_Part_2x2(), FLA_Pow(), FLA_QR2_UT_internal(), FLA_QR_blk_external(), FLA_QR_form_Q_external(), FLA_QR_unb_external(), FLA_QR_UT(), FLA_QR_UT_copy_internal(), FLA_QR_UT_form_Q(), FLA_QR_UT_internal(), FLA_QR_UT_piv(), FLA_QR_UT_piv_colnorm(), FLA_QR_UT_piv_internal(), FLA_QR_UT_recover_tau(), FLA_QR_UT_solve(), FLA_Random_herm_matrix(), FLA_Random_matrix(), FLA_Random_spd_matrix(), FLA_Random_symm_matrix(), FLA_Random_tri_matrix(), FLA_Random_unitary_matrix(), FLA_realloc(), FLA_Repart_1x2_to_1x3(), FLA_Repart_2x1_to_3x1(), FLA_Repart_2x2_to_3x3(), FLA_Scal(), FLA_Scal_elemwise(), FLA_Scal_external(), FLA_Scal_external_gpu(), FLA_Scal_internal(), FLA_Scalc_external(), FLA_Scale_diag(), FLA_Scalr(), FLA_Scalr_external(), FLA_Scalr_external_gpu(), FLA_Scalr_internal(), FLA_Set(), FLA_Set_diag(), FLA_Set_to_identity(), FLA_Setr(), FLA_Shift_diag(), FLA_Shift_pivots_to(), FLA_Sort(), FLA_Sort_evd(), FLA_Sort_svd(), FLA_SPDinv(), FLA_SPDinv_blk_external(), FLA_SPDinv_internal(), FLA_Sqrt(), FLA_Submatrix_at(), FLA_Svd(), FLA_Svd_compute_scaling(), FLA_Svd_ext(), FLA_Svd_external(), FLA_Svdd_external(), FLA_Swap_external(), FLA_Swapt_external(), FLA_Sylv(), FLA_Sylv_internal(), FLA_Sylv_unb_external(), FLA_Symm(), FLA_Symm_external(), FLA_Symm_external_gpu(), FLA_Symm_internal(), FLA_Symmetrize(), FLA_Symv_external(), FLA_Syr2_external(), FLA_Syr2k(), FLA_Syr2k_external(), FLA_Syr2k_external_gpu(), FLA_Syr2k_internal(), FLA_Syr_external(), FLA_Syrk(), FLA_Syrk_external(), FLA_Syrk_external_gpu(), FLA_Syrk_internal(), FLA_Transpose(), FLA_Triangularize(), FLA_Tridiag_blk_external(), FLA_Tridiag_form_Q_external(), FLA_Tridiag_unb_external(), FLA_Tridiag_UT(), FLA_Tridiag_UT_extract_diagonals(), FLA_Tridiag_UT_extract_real_diagonals(), FLA_Tridiag_UT_form_Q(), FLA_Tridiag_UT_internal(), FLA_Tridiag_UT_realify(), FLA_Tridiag_UT_realify_subdiagonal(), FLA_Tridiag_UT_recover_tau(), FLA_Tridiag_UT_scale_diagonals(), FLA_Tridiag_UT_shift_U(), FLA_Trinv(), FLA_Trinv_blk_external(), FLA_Trinv_internal(), FLA_Trinv_unb_external(), FLA_Trmm(), FLA_Trmm_external(), FLA_Trmm_external_gpu(), FLA_Trmm_internal(), FLA_Trmmsx_external(), FLA_Trmv_external(), FLA_Trmvsx_external(), FLA_Trsm(), FLA_Trsm_external(), FLA_Trsm_external_gpu(), FLA_Trsm_internal(), FLA_Trsmsx_external(), FLA_Trsv(), FLA_Trsv_external(), FLA_Trsv_external_gpu(), FLA_Trsv_internal(), FLA_Trsvsx_external(), FLA_Ttmm(), FLA_Ttmm_blk_external(), FLA_Ttmm_internal(), FLA_Ttmm_unb_external(), FLA_UDdate_UT(), FLA_UDdate_UT_internal(), FLA_UDdate_UT_solve(), FLA_UDdate_UT_update_rhs(), FLA_Wilkshift_tridiag(), FLASH_Apply_CAQ_UT_inc(), FLASH_Apply_Q2_UT(), FLASH_Apply_Q_UT(), FLASH_Apply_Q_UT_inc(), FLASH_Apply_QUD_UT_inc(), FLASH_Axpy(), FLASH_Axpy_buffer_to_hier(), FLASH_Axpy_hier_to_buffer(), FLASH_Axpyt(), FLASH_CAQR_UT_inc_noopt(), FLASH_CAQR_UT_inc_solve(), FLASH_Chol(), FLASH_Chol_solve(), FLASH_Copy(), FLASH_Copy_buffer_to_hier(), FLASH_Copy_hier_to_buffer(), FLASH_Copyr(), FLASH_Copyt(), FLASH_Eig_gest(), FLASH_FS_incpiv(), FLASH_Gemm(), FLASH_Gemv(), FLASH_Hemm(), FLASH_Her2k(), FLASH_Herk(), FLASH_LQ_UT(), FLASH_LQ_UT_solve(), FLASH_LU_find_zero_on_diagonal(), FLASH_LU_incpiv(), FLASH_LU_incpiv_solve(), FLASH_LU_nopiv(), FLASH_LU_nopiv_solve(), FLASH_LU_piv(), FLASH_LU_piv_solve(), FLASH_Lyap(), FLASH_Obj_attach_buffer(), FLASH_Obj_attach_buffer_hierarchy(), FLASH_Obj_blocksizes(), FLASH_Obj_create_conf_to(), FLASH_Obj_create_flat_conf_to_hier(), FLASH_Obj_create_flat_copy_of_hier(), FLASH_Obj_create_helper(), FLASH_Obj_create_hier_conf_to_flat(), FLASH_Obj_create_hier_conf_to_flat_ext(), FLASH_Obj_create_hier_copy_of_flat(), FLASH_Obj_create_hier_copy_of_flat_ext(), FLASH_Obj_create_hierarchy(), FLASH_Obj_free(), FLASH_Obj_free_hierarchy(), FLASH_Obj_free_without_buffer(), FLASH_Part_create_1x2(), FLASH_Part_create_2x1(), FLASH_Part_create_2x2(), FLASH_QR2_UT(), FLASH_QR_UT(), FLASH_QR_UT_inc_noopt(), FLASH_QR_UT_inc_opt1(), FLASH_QR_UT_inc_solve(), FLASH_QR_UT_solve(), FLASH_Random_spd_matrix(), FLASH_Scal(), FLASH_Scalr(), FLASH_SPDinv(), FLASH_Sylv(), FLASH_Symm(), FLASH_Syr2k(), FLASH_Syrk(), FLASH_Trinv(), FLASH_Trmm(), FLASH_Trsm(), FLASH_Trsv(), FLASH_Ttmm(), FLASH_UDdate_UT_inc(), FLASH_UDdate_UT_inc_solve(), and FLASH_UDdate_UT_inc_update_rhs().

19 {
20  return fla_error_checking_level;
21 }

◆ FLA_Check_error_level_set()

unsigned int FLA_Check_error_level_set ( unsigned int  new_level)

References FLA_Check_valid_error_level().

24 {
25  FLA_Error e_val;
26  unsigned int old_level;
27 
28  e_val = FLA_Check_valid_error_level( new_level );
29  FLA_Check_error_code( e_val );
30 
31  old_level = fla_error_checking_level;
32 
33  fla_error_checking_level = new_level;
34 
35  return old_level;
36 }
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Error FLA_Check_valid_error_level(unsigned int level)
Definition: FLA_Check.c:1079

◆ FLA_Check_file_descriptor()

FLA_Error FLA_Check_file_descriptor ( int  fd)
668 {
669  FLA_Error e_val = FLA_SUCCESS;
670 
671  if ( fd == -1 )
672  e_val = FLA_OPEN_RETURNED_ERROR;
673 
674  return e_val;
675 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_floating_datatype()

FLA_Error FLA_Check_floating_datatype ( FLA_Datatype  datatype)

Referenced by FLA_Check_floating_object().

184 {
185  FLA_Error e_val = FLA_SUCCESS;
186 
187  if ( datatype != FLA_CONSTANT &&
188  datatype != FLA_FLOAT &&
189  datatype != FLA_DOUBLE &&
190  datatype != FLA_COMPLEX &&
191  datatype != FLA_DOUBLE_COMPLEX )
192  e_val = FLA_INVALID_FLOATING_DATATYPE;
193 
194  return e_val;
195 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_floating_object()

FLA_Error FLA_Check_floating_object ( FLA_Obj  A)

References FLA_Check_floating_datatype(), and FLA_Obj_datatype().

Referenced by FLA_Absolute_square_check(), FLA_Absolute_value_check(), FLA_Accum_T_UT_check(), FLA_Add_to_diag_check(), FLA_Amax_check(), FLA_Apply_CAQ_UT_inc_check(), FLA_Apply_diag_matrix_check(), FLA_Apply_G_check(), FLA_Apply_H2_UT_check(), FLA_Apply_HUD_UT_check(), FLA_Apply_pivots_check(), FLA_Apply_Q2_UT_check(), FLA_Apply_Q_check(), FLA_Apply_Q_UT_check(), FLA_Apply_Q_UT_inc_check(), FLA_Apply_QUD_UT_check(), FLA_Apply_QUD_UT_inc_check(), FLA_Asum_check(), FLA_Axpy_buffer_to_object_check(), FLA_Axpy_check(), FLA_Axpy_object_to_buffer_check(), FLA_Axpyrt_check(), FLA_Axpys_check(), FLA_Axpyt_check(), FLA_Bidiag_check(), FLA_Bidiag_form_U_check(), FLA_Bidiag_form_V_check(), FLA_Bidiag_UT_check(), FLA_Bidiag_UT_extract_diagonals_check(), FLA_Bidiag_UT_extract_real_diagonals_check(), FLA_Bidiag_UT_form_U_check(), FLA_Bidiag_UT_form_V_check(), FLA_Bidiag_UT_realify_check(), FLA_Bidiag_UT_realify_diagonals_check(), FLA_Bidiag_UT_recover_tau_check(), FLA_Bidiag_UT_scale_diagonals_check(), FLA_CAQR_UT_inc_check(), FLA_CAQR_UT_inc_solve_check(), FLA_Check_identical_object_precision(), FLA_Chol_check(), FLA_Chol_solve_check(), FLA_Conjugate_check(), FLA_Conjugate_r_check(), FLA_Copy_buffer_to_object_check(), FLA_Copy_object_to_buffer_check(), FLA_Dot2cs_check(), FLA_Dot2s_check(), FLA_Dot_check(), FLA_Dotc_check(), FLA_Dotcs_check(), FLA_Dots_check(), FLA_Eig_gest_check(), FLA_Fill_with_cluster_dist_check(), FLA_Fill_with_geometric_dist_check(), FLA_Fill_with_inverse_dist_check(), FLA_Fill_with_linear_dist_check(), FLA_Fill_with_logarithmic_dist_check(), FLA_Fill_with_random_dist_check(), FLA_Form_perm_matrix_check(), FLA_FS_incpiv_check(), FLA_Gemm_check(), FLA_Gemv_check(), FLA_Gemvc_check(), FLA_Ger_check(), FLA_Gerc_check(), FLA_Hemv_check(), FLA_Hemvc_check(), FLA_Her2_check(), FLA_Her2c_check(), FLA_Her_check(), FLA_Herc_check(), FLA_Hermitianize_check(), FLA_Hess_check(), FLA_Hess_UT_check(), FLA_Hess_UT_recover_tau_check(), FLA_Hevd_check(), FLA_Hevd_compute_scaling_check(), FLA_Hevdd_check(), FLA_Hevdr_check(), FLA_Inv_scal_check(), FLA_Inv_scal_elemwise_check(), FLA_Inv_scalc_check(), FLA_Invert_check(), FLA_LQ_check(), FLA_LQ_UT_check(), FLA_LQ_UT_form_Q_check(), FLA_LQ_UT_recover_tau_check(), FLA_LQ_UT_solve_check(), FLA_LU_find_zero_on_diagonal_check(), FLA_LU_incpiv_check(), FLA_LU_incpiv_solve_check(), FLA_LU_nopiv_check(), FLA_LU_nopiv_solve_check(), FLA_LU_piv_check(), FLA_LU_piv_solve_check(), FLA_Lyap_check(), FLA_Max_abs_value_check(), FLA_Max_abs_value_herm_check(), FLA_Max_elemwise_diff_check(), FLA_Mult_add_check(), FLA_Negate_check(), FLA_Norm1_check(), FLA_Norm_frob_check(), FLA_Norm_inf_check(), FLA_Nrm2_check(), FLA_Obj_datatype_proj_to_real_check(), FLA_Obj_extract_imag_part_check(), FLA_Obj_extract_real_part_check(), FLA_Obj_has_nan_check(), FLA_Obj_set_imag_part_check(), FLA_Obj_set_real_part_check(), FLA_Pow_check(), FLA_QR2_UT_check(), FLA_QR_check(), FLA_QR_form_Q_check(), FLA_QR_UT_check(), FLA_QR_UT_form_Q_check(), FLA_QR_UT_inc_check(), FLA_QR_UT_inc_solve_check(), FLA_QR_UT_piv_check(), FLA_QR_UT_piv_colnorm_check(), FLA_QR_UT_recover_tau_check(), FLA_QR_UT_solve_check(), FLA_Random_herm_matrix_check(), FLA_Random_matrix_check(), FLA_Random_spd_matrix_check(), FLA_Random_symm_matrix_check(), FLA_Random_tri_matrix_check(), FLA_Random_unitary_matrix_check(), FLA_Scal_check(), FLA_Scal_elemwise_check(), FLA_Scalc_check(), FLA_Scale_diag_check(), FLA_Scalr_check(), FLA_Setr_check(), FLA_Shift_diag_check(), FLA_Sort_check(), FLA_Sort_evd_check(), FLA_Sort_svd_check(), FLA_SPDinv_check(), FLA_Sqrt_check(), FLA_Svd_check(), FLA_Svd_compute_scaling_check(), FLA_Svd_ext_check(), FLA_Svdd_check(), FLA_Swap_check(), FLA_Swapt_check(), FLA_Sylv_check(), FLA_Symm_check(), FLA_Symmetrize_check(), FLA_Symv_check(), FLA_Syr2_check(), FLA_Syr2k_check(), FLA_Syr_check(), FLA_Syrk_check(), FLA_Transpose_check(), FLA_Triangularize_check(), FLA_Tridiag_apply_Q_check(), FLA_Tridiag_check(), FLA_Tridiag_form_Q_check(), FLA_Tridiag_UT_check(), FLA_Tridiag_UT_extract_diagonals_check(), FLA_Tridiag_UT_extract_real_diagonals_check(), FLA_Tridiag_UT_form_Q_check(), FLA_Tridiag_UT_realify_check(), FLA_Tridiag_UT_realify_subdiagonal_check(), FLA_Tridiag_UT_recover_tau_check(), FLA_Tridiag_UT_scale_diagonals_check(), FLA_Tridiag_UT_shift_U_check(), FLA_Trinv_check(), FLA_Trmm_check(), FLA_Trmmsx_check(), FLA_Trmv_check(), FLA_Trmvsx_check(), FLA_Trsm_check(), FLA_Trsmsx_check(), FLA_Trsv_check(), FLA_Trsvsx_check(), FLA_Ttmm_check(), FLA_UDdate_UT_check(), FLA_UDdate_UT_inc_check(), FLA_UDdate_UT_inc_solve_check(), FLA_UDdate_UT_inc_update_rhs_check(), FLA_UDdate_UT_solve_check(), FLA_UDdate_UT_update_rhs_check(), and FLASH_LU_find_zero_on_diagonal_check().

233 {
234  FLA_Error e_val = FLA_SUCCESS;
235  FLA_Datatype datatype;
236 
237  datatype = FLA_Obj_datatype( A );
238 
239  if ( FLA_Check_floating_datatype( datatype ) != FLA_SUCCESS )
240  e_val = FLA_OBJECT_NOT_FLOATING_POINT;
241 
242  return e_val;
243 }
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13
int FLA_Datatype
Definition: FLA_type_defs.h:49
FLA_Error FLA_Check_floating_datatype(FLA_Datatype datatype)
Definition: FLA_Check.c:183

◆ FLA_Check_hess_indices()

FLA_Error FLA_Check_hess_indices ( FLA_Obj  A,
int  ilo,
int  ihi 
)

References FLA_Obj_width().

Referenced by FLA_Hess_check().

500 {
501  FLA_Error e_val = FLA_SUCCESS;
502 
503  if ( FLA_Obj_width( A ) == 0 && ilo != 0 && ihi != -1 )
504  e_val = FLA_INVALID_HESSENBERG_INDICES;
505 
506  if ( ilo < 0 || FLA_Obj_width( A ) - 1 < ilo )
507  e_val = FLA_INVALID_HESSENBERG_INDICES;
508 
509  if ( ihi < 0 || FLA_Obj_width( A ) - 1 < ihi )
510  e_val = FLA_INVALID_HESSENBERG_INDICES;
511 
512  if ( ihi < ilo )
513  e_val = FLA_INVALID_HESSENBERG_INDICES;
514 
515  return e_val;
516 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123

◆ FLA_Check_householder_panel_dims()

FLA_Error FLA_Check_householder_panel_dims ( FLA_Obj  A,
FLA_Obj  T 
)

References FLA_Obj_datatype(), FLA_Obj_length(), FLA_Obj_min_dim(), FLA_Obj_width(), and FLA_Query_blocksize().

1024 {
1025  FLA_Error e_val = FLA_SUCCESS;
1026  dim_t nb_alg;
1027 
1028  nb_alg = FLA_Query_blocksize( FLA_Obj_datatype( A ), FLA_DIMENSION_MIN );
1029 
1030  if ( FLA_Obj_length( T ) < nb_alg )
1031  e_val = FLA_HOUSEH_PANEL_MATRIX_TOO_SMALL;
1032 
1033  if ( FLA_Obj_width( T ) < FLA_Obj_min_dim( A ) )
1034  e_val = FLA_HOUSEH_PANEL_MATRIX_TOO_SMALL;
1035 
1036  return e_val;
1037 }
unsigned long dim_t
Definition: FLA_type_defs.h:71
dim_t FLA_Query_blocksize(FLA_Datatype dt, FLA_Dimension dim)
Definition: FLA_Blocksize.c:161
int FLA_Error
Definition: FLA_type_defs.h:47
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
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116
dim_t FLA_Obj_min_dim(FLA_Obj obj)
Definition: FLA_Query.c:153

◆ FLA_Check_identical_object_datatype()

FLA_Error FLA_Check_identical_object_datatype ( FLA_Obj  A,
FLA_Obj  B 
)

References FLA_Obj_datatype().

Referenced by FLA_Apply_CAQ_UT_inc_check(), FLA_Apply_G_1x2_check(), FLA_Apply_G_mx2_check(), FLA_Apply_GTG_check(), FLA_Apply_H2_UT_check(), FLA_Apply_HUD_UT_check(), FLA_Apply_Q2_UT_check(), FLA_Apply_Q_check(), FLA_Apply_Q_UT_check(), FLA_Apply_Q_UT_inc_check(), FLA_Apply_QUD_UT_check(), FLA_Apply_QUD_UT_inc_check(), FLA_Axpy_check(), FLA_Axpyrt_check(), FLA_Axpys_check(), FLA_Axpyt_check(), FLA_Bidiag_check(), FLA_Bidiag_form_U_check(), FLA_Bidiag_form_V_check(), FLA_Bidiag_UT_check(), FLA_Bidiag_UT_extract_diagonals_check(), FLA_Bidiag_UT_form_U_check(), FLA_Bidiag_UT_form_V_check(), FLA_Bidiag_UT_realify_check(), FLA_Bidiag_UT_realify_diagonals_check(), FLA_Bsvd_check(), FLA_Bsvd_ext_check(), FLA_CAQR_UT_inc_check(), FLA_CAQR_UT_inc_solve_check(), FLA_Chol_solve_check(), FLA_Dot2cs_check(), FLA_Dot2s_check(), FLA_Dot_check(), FLA_Dotc_check(), FLA_Dotcs_check(), FLA_Dots_check(), FLA_FS_incpiv_check(), FLA_Gemm_check(), FLA_Gemv_check(), FLA_Gemvc_check(), FLA_Ger_check(), FLA_Gerc_check(), FLA_Givens1_check(), FLA_Givens2_check(), FLA_Hemm_check(), FLA_Hemv_check(), FLA_Hemvc_check(), FLA_Her2_check(), FLA_Her2c_check(), FLA_Her2k_check(), FLA_Her_check(), FLA_Herc_check(), FLA_Herk_check(), FLA_Hess_check(), FLA_Hess_UT_check(), FLA_Hevdr_check(), FLA_Househ2_UT_check(), FLA_Househ2s_UT_check(), FLA_Househ3UD_UT_check(), FLA_Introduce_bulge_check(), FLA_Inv_scal_elemwise_check(), FLA_LQ_check(), FLA_LQ_UT_check(), FLA_LQ_UT_form_Q_check(), FLA_LQ_UT_solve_check(), FLA_LU_incpiv_check(), FLA_LU_incpiv_solve_check(), FLA_LU_nopiv_solve_check(), FLA_LU_piv_solve_check(), FLA_Lyap_check(), FLA_Max_elemwise_diff_check(), FLA_QR2_UT_check(), FLA_QR_check(), FLA_QR_form_Q_check(), FLA_QR_UT_check(), FLA_QR_UT_form_Q_check(), FLA_QR_UT_inc_check(), FLA_QR_UT_inc_solve_check(), FLA_QR_UT_piv_check(), FLA_QR_UT_solve_check(), FLA_Scal_elemwise_check(), FLA_Sort_svd_check(), FLA_Svd_check(), FLA_Svd_ext_check(), FLA_Svdd_check(), FLA_Swap_check(), FLA_Swapt_check(), FLA_Sylv_check(), FLA_Symm_check(), FLA_Symv_check(), FLA_Syr2_check(), FLA_Syr2k_check(), FLA_Syr_check(), FLA_Syrk_check(), FLA_Tridiag_apply_Q_check(), FLA_Tridiag_check(), FLA_Tridiag_form_Q_check(), FLA_Tridiag_UT_check(), FLA_Tridiag_UT_extract_diagonals_check(), FLA_Tridiag_UT_form_Q_check(), FLA_Tridiag_UT_realify_check(), FLA_Tridiag_UT_realify_subdiagonal_check(), FLA_Trmm_check(), FLA_Trmmsx_check(), FLA_Trmv_check(), FLA_Trmvsx_check(), FLA_Trsm_check(), FLA_Trsmsx_check(), FLA_Trsv_check(), FLA_Trsvsx_check(), FLA_UDdate_UT_check(), FLA_UDdate_UT_inc_check(), FLA_UDdate_UT_inc_solve_check(), FLA_UDdate_UT_inc_update_rhs_check(), FLA_UDdate_UT_solve_check(), FLA_UDdate_UT_update_rhs_check(), and FLA_Wilkshift_tridiag_check().

968 {
969  FLA_Error e_val = FLA_SUCCESS;
970 
971  if ( FLA_Obj_datatype( A ) != FLA_Obj_datatype( B ) )
972  e_val = FLA_OBJECT_DATATYPES_NOT_EQUAL;
973 
974  return e_val;
975 }
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13

◆ FLA_Check_identical_object_elemtype()

FLA_Error FLA_Check_identical_object_elemtype ( FLA_Obj  A,
FLA_Obj  B 
)

◆ FLA_Check_identical_object_precision()

FLA_Error FLA_Check_identical_object_precision ( FLA_Obj  A,
FLA_Obj  B 
)

References FLA_Check_floating_object(), FLA_Obj_datatype(), FLA_Obj_datatype_size(), and FLA_Obj_is_complex().

Referenced by FLA_Apply_diag_matrix_check(), FLA_Apply_G_check(), FLA_Apply_G_mx2_check(), FLA_Asum_check(), FLA_Bidiag_UT_extract_real_diagonals_check(), FLA_Bidiag_UT_scale_diagonals_check(), FLA_Bsvd_check(), FLA_Fill_with_cluster_dist_check(), FLA_Fill_with_geometric_dist_check(), FLA_Fill_with_inverse_dist_check(), FLA_Fill_with_linear_dist_check(), FLA_Fill_with_logarithmic_dist_check(), FLA_Fill_with_random_dist_check(), FLA_Her2k_check(), FLA_Her_check(), FLA_Herc_check(), FLA_Herk_check(), FLA_Hevd_check(), FLA_Hevd_compute_scaling_check(), FLA_Hevdd_check(), FLA_Hevdr_check(), FLA_Inv_scal_check(), FLA_Inv_scalc_check(), FLA_Lyap_check(), FLA_Max_abs_value_check(), FLA_Max_abs_value_herm_check(), FLA_Norm1_check(), FLA_Norm_frob_check(), FLA_Norm_inf_check(), FLA_Nrm2_check(), FLA_Obj_extract_imag_part_check(), FLA_Obj_extract_real_part_check(), FLA_Obj_set_imag_part_check(), FLA_Obj_set_real_part_check(), FLA_QR_UT_piv_check(), FLA_QR_UT_piv_colnorm_check(), FLA_Scal_check(), FLA_Scalc_check(), FLA_Scale_diag_check(), FLA_Scalr_check(), FLA_Shift_diag_check(), FLA_Sort_evd_check(), FLA_Sort_svd_check(), FLA_Svd_check(), FLA_Svd_compute_scaling_check(), FLA_Svd_ext_check(), FLA_Svdd_check(), FLA_Sylv_check(), FLA_Tridiag_UT_extract_real_diagonals_check(), and FLA_Tridiag_UT_scale_diagonals_check().

299 {
300  FLA_Error e_val = FLA_SUCCESS;
301  FLA_Datatype datatype_A;
302  FLA_Datatype datatype_B;
303  dim_t precision_A;
304  dim_t precision_B;
305 
306  datatype_A = FLA_Obj_datatype( A );
307  datatype_B = FLA_Obj_datatype( B );
308 
309  if ( datatype_A == FLA_CONSTANT ||
310  datatype_B == FLA_CONSTANT )
311  {
312  return FLA_SUCCESS;
313  }
314 
315  if ( FLA_Check_floating_object( A ) != FLA_SUCCESS ||
316  FLA_Check_floating_object( B ) != FLA_SUCCESS )
317  {
318  return FLA_OBJECT_NOT_FLOATING_POINT;
319  }
320 
321  datatype_A = FLA_Obj_datatype( A );
322  datatype_B = FLA_Obj_datatype( B );
323 
324  precision_A = FLA_Obj_datatype_size( datatype_A );
325  precision_B = FLA_Obj_datatype_size( datatype_B );
326 
327  if ( FLA_Obj_is_complex( A ) )
328  precision_A = precision_A / 2;
329 
330  if ( FLA_Obj_is_complex( B ) )
331  precision_B = precision_B / 2;
332 
333  if ( precision_A != precision_B )
334  e_val = FLA_INCONSISTENT_OBJECT_PRECISION;
335 
336  return e_val;
337 }
unsigned long dim_t
Definition: FLA_type_defs.h:71
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13
int FLA_Datatype
Definition: FLA_type_defs.h:49
FLA_Bool FLA_Obj_is_complex(FLA_Obj A)
Definition: FLA_Query.c:324
dim_t FLA_Obj_datatype_size(FLA_Datatype datatype)
Definition: FLA_Query.c:61
FLA_Error FLA_Check_floating_object(FLA_Obj A)
Definition: FLA_Check.c:232

◆ FLA_Check_if_scalar()

FLA_Error FLA_Check_if_scalar ( FLA_Obj  A)

References FLA_Obj_length(), and FLA_Obj_width().

Referenced by FLA_Absolute_square_check(), FLA_Absolute_value_check(), FLA_Amax_check(), FLA_Apply_G_1x2_check(), FLA_Apply_G_mx2_check(), FLA_Apply_GTG_check(), FLA_Apply_H2_UT_check(), FLA_Apply_HUD_UT_check(), FLA_Asum_check(), FLA_Axpy_buffer_to_object_check(), FLA_Axpy_object_to_buffer_check(), FLA_Axpyrt_check(), FLA_Axpys_check(), FLA_Axpyt_check(), FLA_Bidiag_UT_scale_diagonals_check(), FLA_Dot2cs_check(), FLA_Dot2s_check(), FLA_Dotcs_check(), FLA_Dots_check(), FLA_Fill_with_cluster_dist_check(), FLA_Fill_with_geometric_dist_check(), FLA_Fill_with_inverse_dist_check(), FLA_Fill_with_linear_dist_check(), FLA_Fill_with_logarithmic_dist_check(), FLA_Fill_with_random_dist_check(), FLA_Gemm_check(), FLA_Gemv_check(), FLA_Gemvc_check(), FLA_Ger_check(), FLA_Gerc_check(), FLA_Givens1_check(), FLA_Givens2_check(), FLA_Hemm_check(), FLA_Hemv_check(), FLA_Hemvc_check(), FLA_Her2_check(), FLA_Her2c_check(), FLA_Her2k_check(), FLA_Her_check(), FLA_Herc_check(), FLA_Herk_check(), FLA_Hevd_compute_scaling_check(), FLA_Househ2_UT_check(), FLA_Househ2s_UT_check(), FLA_Househ3UD_UT_check(), FLA_Introduce_bulge_check(), FLA_Inv_scal_check(), FLA_Inv_scalc_check(), FLA_Lyap_check(), FLA_Max_abs_value_check(), FLA_Max_abs_value_herm_check(), FLA_Mult_add_check(), FLA_Norm1_check(), FLA_Norm_frob_check(), FLA_Norm_inf_check(), FLA_Nrm2_check(), FLA_Obj_extract_complex_scalar_check(), FLA_Obj_extract_real_scalar_check(), FLA_Obj_ge_check(), FLA_Obj_gt_check(), FLA_Obj_le_check(), FLA_Obj_lt_check(), FLA_Obj_set_imag_part_check(), FLA_Obj_set_real_part_check(), FLA_Pow_check(), FLA_QR_UT_piv_colnorm_check(), FLA_Scal_check(), FLA_Scalc_check(), FLA_Scale_diag_check(), FLA_Scalr_check(), FLA_Set_check(), FLA_Set_diag_check(), FLA_Shift_diag_check(), FLA_Sqrt_check(), FLA_Svd_compute_scaling_check(), FLA_Sylv_check(), FLA_Symm_check(), FLA_Symv_check(), FLA_Syr2_check(), FLA_Syr2k_check(), FLA_Syr_check(), FLA_Syrk_check(), FLA_Tridiag_UT_scale_diagonals_check(), FLA_Trmm_check(), FLA_Trmmsx_check(), FLA_Trmvsx_check(), FLA_Trsm_check(), FLA_Trsmsx_check(), FLA_Trsvsx_check(), FLA_Wilkshift_tridiag_check(), FLASH_Axpy_buffer_to_hier(), and FLASH_Axpy_hier_to_buffer().

374 {
375  FLA_Error e_val = FLA_SUCCESS;
376 
377  if ( FLA_Obj_length( A ) != 1 || FLA_Obj_width( A ) != 1 )
378  e_val = FLA_OBJECT_NOT_SCALAR;
379 
380  return e_val;
381 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116

◆ FLA_Check_if_vector()

FLA_Error FLA_Check_if_vector ( FLA_Obj  A)

References FLA_Obj_length(), and FLA_Obj_width().

Referenced by FLA_Amax_check(), FLA_Apply_G_mx2_check(), FLA_Apply_H2_UT_check(), FLA_Apply_HUD_UT_check(), FLA_Apply_pivots_check(), FLA_Asum_check(), FLA_Bidiag_form_U_check(), FLA_Bidiag_form_V_check(), FLA_Bidiag_UT_extract_diagonals_check(), FLA_Bidiag_UT_extract_real_diagonals_check(), FLA_Bidiag_UT_realify_check(), FLA_Bidiag_UT_realify_diagonals_check(), FLA_Bidiag_UT_recover_tau_check(), FLA_Dot2cs_check(), FLA_Dot2s_check(), FLA_Dot_check(), FLA_Dotc_check(), FLA_Dotcs_check(), FLA_Dots_check(), FLA_Fill_with_cluster_dist_check(), FLA_Fill_with_geometric_dist_check(), FLA_Fill_with_inverse_dist_check(), FLA_Fill_with_linear_dist_check(), FLA_Fill_with_logarithmic_dist_check(), FLA_Fill_with_random_dist_check(), FLA_Form_perm_matrix_check(), FLA_Gemv_check(), FLA_Gemvc_check(), FLA_Ger_check(), FLA_Gerc_check(), FLA_Hemv_check(), FLA_Hemvc_check(), FLA_Her2_check(), FLA_Her2c_check(), FLA_Her_check(), FLA_Herc_check(), FLA_Hess_UT_recover_tau_check(), FLA_Househ2s_UT_check(), FLA_Invert_check(), FLA_LQ_UT_recover_tau_check(), FLA_Nrm2_check(), FLA_QR_form_Q_check(), FLA_QR_UT_recover_tau_check(), FLA_Symv_check(), FLA_Syr2_check(), FLA_Syr_check(), FLA_Tridiag_form_Q_check(), FLA_Tridiag_UT_extract_diagonals_check(), FLA_Tridiag_UT_extract_real_diagonals_check(), FLA_Tridiag_UT_realify_check(), FLA_Tridiag_UT_realify_subdiagonal_check(), FLA_Tridiag_UT_recover_tau_check(), FLA_Trmv_check(), FLA_Trmvsx_check(), FLA_Trsv_check(), and FLA_Trsvsx_check().

384 {
385  FLA_Error e_val = FLA_SUCCESS;
386 
387  if ( FLA_Obj_length( A ) != 1 && FLA_Obj_width( A ) != 1 )
388  e_val = FLA_OBJECT_NOT_VECTOR;
389 
390  return e_val;
391 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116

◆ FLA_Check_int_datatype()

FLA_Error FLA_Check_int_datatype ( FLA_Datatype  datatype)

Referenced by FLA_Check_comparable_object(), and FLA_Check_int_object().

198 {
199  FLA_Error e_val = FLA_SUCCESS;
200 
201  if ( datatype != FLA_CONSTANT &&
202  datatype != FLA_INT )
203  e_val = FLA_INVALID_INTEGER_DATATYPE;
204 
205  return e_val;
206 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_int_object()

FLA_Error FLA_Check_int_object ( FLA_Obj  A)

References FLA_Check_int_datatype(), and FLA_Obj_datatype().

Referenced by FLA_Amax_check(), FLA_Apply_pivots_check(), FLA_Fill_with_cluster_dist_check(), FLA_Form_perm_matrix_check(), FLA_FS_incpiv_check(), FLA_LU_incpiv_check(), FLA_LU_incpiv_solve_check(), FLA_LU_piv_check(), FLA_LU_piv_solve_check(), FLA_Lyap_check(), FLA_QR_UT_piv_check(), FLA_Shift_pivots_to_check(), and FLA_Sylv_check().

246 {
247  FLA_Error e_val = FLA_SUCCESS;
248  FLA_Datatype datatype;
249 
250  datatype = FLA_Obj_datatype( A );
251 
252  if ( FLA_Check_int_datatype( datatype ) != FLA_SUCCESS )
253  e_val = FLA_OBJECT_NOT_INTEGER;
254 
255  return e_val;
256 }
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13
FLA_Error FLA_Check_int_datatype(FLA_Datatype datatype)
Definition: FLA_Check.c:197
int FLA_Datatype
Definition: FLA_type_defs.h:49

◆ FLA_Check_lseek_result()

FLA_Error FLA_Check_lseek_result ( int  requested_offset,
int  lseek_r_val 
)
678 {
679  FLA_Error e_val = FLA_SUCCESS;
680 
681  if ( lseek_r_val != requested_offset )
682  e_val = FLA_LSEEK_RETURNED_ERROR;
683 
684  return e_val;
685 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_malloc_pointer()

FLA_Error FLA_Check_malloc_pointer ( void *  ptr)

Referenced by FLA_malloc(), and FLA_realloc().

563 {
564  FLA_Error e_val = FLA_SUCCESS;
565 
566  if ( ptr == NULL )
567  e_val = FLA_MALLOC_RETURNED_NULL_POINTER;
568 
569  return e_val;
570 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_matrix_matrix_dims()

FLA_Error FLA_Check_matrix_matrix_dims ( FLA_Trans  transa,
FLA_Trans  transb,
FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  C 
)

References FLA_Obj_length(), and FLA_Obj_width().

Referenced by FLA_Apply_Q2_UT_check(), FLA_Apply_QUD_UT_check(), FLA_Apply_QUD_UT_inc_check(), FLA_Apply_QUD_UT_inc_internal_check(), FLA_Apply_QUD_UT_internal_check(), FLA_CAQR_UT_inc_solve_check(), FLA_Chol_solve_check(), FLA_Gemm_check(), FLA_Gemm_internal_check(), FLA_Hemm_check(), FLA_Hemm_internal_check(), FLA_Her2k_check(), FLA_Her2k_internal_check(), FLA_Herk_check(), FLA_Herk_internal_check(), FLA_LQ_UT_solve_check(), FLA_LU_incpiv_solve_check(), FLA_LU_nopiv_solve_check(), FLA_LU_piv_solve_check(), FLA_QR2_UT_check(), FLA_QR_UT_inc_solve_check(), FLA_QR_UT_solve_check(), FLA_Symm_check(), FLA_Symm_internal_check(), FLA_Syr2k_check(), FLA_Syr2k_internal_check(), FLA_Syrk_check(), FLA_Syrk_internal_check(), FLA_Trmm_check(), FLA_Trmm_internal_check(), FLA_Trmmsx_check(), FLA_Trsm_check(), FLA_Trsm_internal_check(), FLA_Trsmsx_check(), FLA_UDdate_UT_inc_solve_check(), FLA_UDdate_UT_inc_update_rhs_check(), FLA_UDdate_UT_solve_check(), and FLA_UDdate_UT_update_rhs_check().

418 {
419  FLA_Error e_val = FLA_SUCCESS;
420  dim_t k_A, k_B;
421  dim_t m_A, m_C;
422  dim_t n_B, n_C;
423 
424  m_A = ( transa == FLA_NO_TRANSPOSE ||
425  transa == FLA_CONJ_NO_TRANSPOSE ? FLA_Obj_length( A ) :
426  FLA_Obj_width( A ) );
427  k_A = ( transa == FLA_NO_TRANSPOSE ||
428  transa == FLA_CONJ_NO_TRANSPOSE ? FLA_Obj_width( A ) :
429  FLA_Obj_length( A ) );
430 
431  k_B = ( transb == FLA_NO_TRANSPOSE ||
432  transb == FLA_CONJ_NO_TRANSPOSE ? FLA_Obj_length( B ) :
433  FLA_Obj_width( B ) );
434  n_B = ( transb == FLA_NO_TRANSPOSE ||
435  transb == FLA_CONJ_NO_TRANSPOSE ? FLA_Obj_width( B ) :
436  FLA_Obj_length( B ) );
437 
438  m_C = FLA_Obj_length( C );
439  n_C = FLA_Obj_width( C );
440 
441  if ( m_A != m_C )
442  e_val = FLA_NONCONFORMAL_DIMENSIONS;
443 
444  if ( k_A != k_B )
445  e_val = FLA_NONCONFORMAL_DIMENSIONS;
446 
447  if ( n_B != n_C )
448  e_val = FLA_NONCONFORMAL_DIMENSIONS;
449 
450  return e_val;
451 }
unsigned long dim_t
Definition: FLA_type_defs.h:71
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116

◆ FLA_Check_matrix_strides()

FLA_Error FLA_Check_matrix_strides ( dim_t  m,
dim_t  n,
dim_t  rs,
dim_t  cs 
)

Referenced by FLA_Axpy_buffer_to_object_check(), FLA_Axpy_object_to_buffer_check(), FLA_Copy_buffer_to_object_check(), FLA_Copy_object_to_buffer_check(), FLA_Obj_attach_buffer_check(), FLA_Obj_create_buffer_check(), FLA_Obj_create_ext_check(), FLASH_Axpy_buffer_to_hier(), FLASH_Axpy_hier_to_buffer(), FLASH_Copy_buffer_to_hier(), FLASH_Copy_hier_to_buffer(), and FLASH_Obj_attach_buffer_check().

1147 {
1148  FLA_Error e_val = FLA_SUCCESS;
1149 
1150  // Note: The default case (whereby we interpret rs == cs == 0 as a request
1151  // for column-major order) is handled prior to calling this function, so we
1152  // never see zero strides here.
1153 
1154  // Disallow either of the strides to be zero.
1155  if ( ( rs == 0 || cs == 0 ) )
1156  return FLA_INVALID_STRIDE_COMBINATION;
1157 
1158  // Check stride consistency in cases of general stride.
1159  if ( rs != 1 && cs != 1 )
1160  {
1161  // We apply different tests depending on which way the strides "tilt".
1162  if ( rs == cs )
1163  {
1164  // If rs == cs, then we must be dealing with an m-by-1 or a 1-by-n matrix
1165  // and thus at least one of the dimensions, m or n, must be unit (even if
1166  // the other is zero).
1167  if ( m != 1 && n != 1 )
1168  return FLA_INVALID_STRIDE_COMBINATION;
1169  }
1170  else if ( rs < cs )
1171  {
1172  // For column-major tilt, cs must be equal or larger than m * rs.
1173  if ( m * rs > cs )
1174  return FLA_INVALID_STRIDE_COMBINATION;
1175  }
1176  else if ( cs < rs )
1177  {
1178  // For row-major tilt, rs must be equal or larger than n * cs.
1179  if ( n * cs > rs )
1180  return FLA_INVALID_STRIDE_COMBINATION;
1181  }
1182  }
1183 
1184  if ( rs == 1 && cs == 1 )
1185  {
1186  // Only allow rs == cs == 1 for scalars and "empty" objects.
1187  if ( !( m == 1 && n == 1 ) &&
1188  !( m == 0 ) &&
1189  !( n == 0 ) )
1190  return FLA_INVALID_STRIDE_COMBINATION;
1191  }
1192  else // perform additional stride/dimension checks on non-scalars.
1193  {
1194  if ( rs == 1 )
1195  {
1196  // For column-major storage, don't allow the column stride to be less than
1197  // the m dimension.
1198  if ( cs < m )
1199  e_val = FLA_INVALID_COL_STRIDE;
1200  }
1201  else if ( cs == 1 )
1202  {
1203  // For row-major storage, don't allow the row stride to be less than
1204  // the n dimension.
1205  if ( rs < n )
1206  e_val = FLA_INVALID_ROW_STRIDE;
1207  }
1208  }
1209 
1210  return e_val;
1211 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_matrix_vector_dims()

FLA_Error FLA_Check_matrix_vector_dims ( FLA_Trans  trans,
FLA_Obj  A,
FLA_Obj  x,
FLA_Obj  y 
)

References FLA_Obj_length(), FLA_Obj_vector_dim(), and FLA_Obj_width().

Referenced by FLA_Apply_HUD_UT_check(), FLA_Form_perm_matrix_check(), FLA_Gemv_check(), FLA_Gemv_internal_check(), FLA_Gemvc_check(), FLA_Ger_check(), FLA_Gerc_check(), FLA_Hemv_check(), FLA_Hemvc_check(), FLA_Her2_check(), FLA_Her2c_check(), FLA_Her_check(), FLA_Herc_check(), FLA_Symv_check(), FLA_Syr2_check(), FLA_Syr_check(), FLA_Trmv_check(), FLA_Trmvsx_check(), FLA_Trsv_check(), FLA_Trsv_internal_check(), and FLA_Trsvsx_check().

454 {
455  FLA_Error e_val = FLA_SUCCESS;
456 
457  if ( trans == FLA_NO_TRANSPOSE || trans == FLA_CONJ_NO_TRANSPOSE )
458  {
459  if ( FLA_Obj_width( A ) != FLA_Obj_vector_dim( x ) )
460  e_val = FLA_NONCONFORMAL_DIMENSIONS;
461 
462  if ( FLA_Obj_length( A ) != FLA_Obj_vector_dim( y ) )
463  e_val = FLA_NONCONFORMAL_DIMENSIONS;
464  }
465  else
466  {
467  if ( FLA_Obj_length( A ) != FLA_Obj_vector_dim( x ) )
468  e_val = FLA_NONCONFORMAL_DIMENSIONS;
469 
470  if ( FLA_Obj_width( A ) != FLA_Obj_vector_dim( y ) )
471  e_val = FLA_NONCONFORMAL_DIMENSIONS;
472  }
473 
474  return e_val;
475 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
dim_t FLA_Obj_vector_dim(FLA_Obj obj)
Definition: FLA_Query.c:137
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116

◆ FLA_Check_nonconstant_datatype()

FLA_Error FLA_Check_nonconstant_datatype ( FLA_Datatype  datatype)

Referenced by FLA_Check_nonconstant_object().

941 {
942  FLA_Error e_val = FLA_SUCCESS;
943 
944  if ( datatype != FLA_INT &&
945  datatype != FLA_FLOAT &&
946  datatype != FLA_DOUBLE &&
947  datatype != FLA_COMPLEX &&
948  datatype != FLA_DOUBLE_COMPLEX )
949  e_val = FLA_INVALID_NONCONSTANT_DATATYPE;
950 
951  return e_val;
952 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_nonconstant_object()

FLA_Error FLA_Check_nonconstant_object ( FLA_Obj  A)

References FLA_Check_nonconstant_datatype(), and FLA_Obj_datatype().

Referenced by FLA_Absolute_square_check(), FLA_Absolute_value_check(), FLA_Add_to_diag_check(), FLA_Amax_check(), FLA_Apply_CAQ_UT_inc_check(), FLA_Apply_diag_matrix_check(), FLA_Apply_G_1x2_check(), FLA_Apply_G_check(), FLA_Apply_G_mx2_check(), FLA_Apply_GTG_check(), FLA_Apply_H2_UT_check(), FLA_Apply_HUD_UT_check(), FLA_Apply_pivots_check(), FLA_Apply_Q2_UT_check(), FLA_Apply_Q_check(), FLA_Apply_Q_UT_check(), FLA_Apply_Q_UT_inc_check(), FLA_Apply_QUD_UT_check(), FLA_Apply_QUD_UT_inc_check(), FLA_Asum_check(), FLA_Axpy_buffer_to_object_check(), FLA_Axpy_check(), FLA_Axpy_object_to_buffer_check(), FLA_Axpyrt_check(), FLA_Axpys_check(), FLA_Axpyt_check(), FLA_Bidiag_check(), FLA_Bidiag_form_U_check(), FLA_Bidiag_form_V_check(), FLA_Bidiag_UT_check(), FLA_Bidiag_UT_extract_diagonals_check(), FLA_Bidiag_UT_extract_real_diagonals_check(), FLA_Bidiag_UT_form_U_check(), FLA_Bidiag_UT_form_V_check(), FLA_Bidiag_UT_realify_check(), FLA_Bidiag_UT_scale_diagonals_check(), FLA_Bsvd_check(), FLA_Bsvd_create_workspace(), FLA_CAQR_UT_inc_check(), FLA_CAQR_UT_inc_solve_check(), FLA_Chol_check(), FLA_Chol_solve_check(), FLA_Conjugate_check(), FLA_Conjugate_r_check(), FLA_Copy_buffer_to_object_check(), FLA_Copy_check(), FLA_Copy_object_to_buffer_check(), FLA_Copyr_check(), FLA_Copyrt_check(), FLA_Copyt_check(), FLA_Dot2cs_check(), FLA_Dot2s_check(), FLA_Dot_check(), FLA_Dotc_check(), FLA_Dotcs_check(), FLA_Dots_check(), FLA_Eig_gest_check(), FLA_Fill_with_cluster_dist_check(), FLA_Fill_with_geometric_dist_check(), FLA_Fill_with_inverse_dist_check(), FLA_Fill_with_linear_dist_check(), FLA_Fill_with_logarithmic_dist_check(), FLA_Fill_with_random_dist_check(), FLA_Form_perm_matrix_check(), FLA_FS_incpiv_check(), FLA_Gemm_check(), FLA_Gemv_check(), FLA_Gemvc_check(), FLA_Ger_check(), FLA_Gerc_check(), FLA_Givens1_check(), FLA_Givens2_check(), FLA_Hemm_check(), FLA_Hemv_check(), FLA_Hemvc_check(), FLA_Her2_check(), FLA_Her2c_check(), FLA_Her2k_check(), FLA_Her_check(), FLA_Herc_check(), FLA_Herk_check(), FLA_Hermitianize_check(), FLA_Hess_check(), FLA_Hess_UT_check(), FLA_Hevd_check(), FLA_Hevd_compute_scaling_check(), FLA_Hevdd_check(), FLA_Hevdr_check(), FLA_Househ2_UT_check(), FLA_Househ2s_UT_check(), FLA_Househ3UD_UT_check(), FLA_Introduce_bulge_check(), FLA_Inv_scal_check(), FLA_Inv_scal_elemwise_check(), FLA_Inv_scalc_check(), FLA_Invert_check(), FLA_LQ_check(), FLA_LQ_UT_check(), FLA_LQ_UT_form_Q_check(), FLA_LQ_UT_solve_check(), FLA_LU_find_zero_on_diagonal_check(), FLA_LU_incpiv_check(), FLA_LU_incpiv_solve_check(), FLA_LU_nopiv_check(), FLA_LU_nopiv_solve_check(), FLA_LU_piv_check(), FLA_LU_piv_solve_check(), FLA_Lyap_check(), FLA_Max_abs_value_check(), FLA_Max_abs_value_herm_check(), FLA_Max_elemwise_diff_check(), FLA_Mult_add_check(), FLA_Negate_check(), FLA_Norm1_check(), FLA_Norm_frob_check(), FLA_Norm_inf_check(), FLA_Nrm2_check(), FLA_Obj_datatype_proj_to_real_check(), FLA_Obj_extract_imag_part_check(), FLA_Obj_extract_real_part_check(), FLA_Obj_has_nan_check(), FLA_Obj_set_imag_part_check(), FLA_Obj_set_real_part_check(), FLA_Pow_check(), FLA_QR2_UT_check(), FLA_QR_check(), FLA_QR_form_Q_check(), FLA_QR_UT_check(), FLA_QR_UT_form_Q_check(), FLA_QR_UT_inc_check(), FLA_QR_UT_inc_solve_check(), FLA_QR_UT_piv_check(), FLA_QR_UT_piv_colnorm_check(), FLA_QR_UT_solve_check(), FLA_Random_herm_matrix_check(), FLA_Random_matrix_check(), FLA_Random_spd_matrix_check(), FLA_Random_symm_matrix_check(), FLA_Random_tri_matrix_check(), FLA_Random_unitary_matrix_check(), FLA_Scal_check(), FLA_Scal_elemwise_check(), FLA_Scalc_check(), FLA_Scale_diag_check(), FLA_Scalr_check(), FLA_Set_check(), FLA_Set_diag_check(), FLA_Set_to_identity_check(), FLA_Setr_check(), FLA_Shift_diag_check(), FLA_Shift_pivots_to_check(), FLA_Sort_check(), FLA_Sort_evd_check(), FLA_Sort_svd_check(), FLA_SPDinv_check(), FLA_Sqrt_check(), FLA_Svd_check(), FLA_Svd_compute_scaling_check(), FLA_Svd_ext_check(), FLA_Svdd_check(), FLA_Swap_check(), FLA_Swapt_check(), FLA_Sylv_check(), FLA_Symm_check(), FLA_Symmetrize_check(), FLA_Symv_check(), FLA_Syr2_check(), FLA_Syr2k_check(), FLA_Syr_check(), FLA_Syrk_check(), FLA_Transpose_check(), FLA_Triangularize_check(), FLA_Tridiag_apply_Q_check(), FLA_Tridiag_check(), FLA_Tridiag_form_Q_check(), FLA_Tridiag_UT_check(), FLA_Tridiag_UT_extract_diagonals_check(), FLA_Tridiag_UT_extract_real_diagonals_check(), FLA_Tridiag_UT_form_Q_check(), FLA_Tridiag_UT_realify_check(), FLA_Tridiag_UT_scale_diagonals_check(), FLA_Tridiag_UT_shift_U_check(), FLA_Trinv_check(), FLA_Trmm_check(), FLA_Trmmsx_check(), FLA_Trmv_check(), FLA_Trmvsx_check(), FLA_Trsm_check(), FLA_Trsmsx_check(), FLA_Trsv_check(), FLA_Trsvsx_check(), FLA_Ttmm_check(), FLA_UDdate_UT_check(), FLA_UDdate_UT_inc_check(), FLA_UDdate_UT_inc_solve_check(), FLA_UDdate_UT_inc_update_rhs_check(), FLA_UDdate_UT_solve_check(), FLA_UDdate_UT_update_rhs_check(), FLA_Wilkshift_tridiag_check(), and FLASH_LU_find_zero_on_diagonal_check().

955 {
956  FLA_Error e_val = FLA_SUCCESS;
957  FLA_Datatype datatype;
958 
959  datatype = FLA_Obj_datatype( A );
960 
961  if ( FLA_Check_nonconstant_datatype( datatype ) != FLA_SUCCESS )
962  e_val = FLA_OBJECT_NOT_NONCONSTANT;
963 
964  return e_val;
965 }
FLA_Error FLA_Check_nonconstant_datatype(FLA_Datatype datatype)
Definition: FLA_Check.c:940
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13
int FLA_Datatype
Definition: FLA_type_defs.h:49

◆ FLA_Check_null_pointer()

FLA_Error FLA_Check_null_pointer ( void *  ptr)

Referenced by FLA_Add_to_diag_check(), FLA_Apply_CAQ2_UT_internal_check(), FLA_Apply_CAQ_UT_inc_internal_check(), FLA_Apply_Q2_UT_internal_check(), FLA_Apply_Q_UT_inc_internal_check(), FLA_Apply_Q_UT_internal_check(), FLA_Apply_QUD_UT_inc_internal_check(), FLA_Apply_QUD_UT_internal_check(), FLA_Axpy_buffer_to_object_check(), FLA_Axpy_internal_check(), FLA_Axpy_object_to_buffer_check(), FLA_Axpyt_internal_check(), FLA_Bidiag_UT_internal_check(), FLA_Blocksize_create_copy(), FLA_Blocksize_extract(), FLA_Blocksize_scale(), FLA_CAQR2_UT_internal_check(), FLA_Chol_internal_check(), FLA_Cont_with_1x3_to_1x2_check(), FLA_Cont_with_3x1_to_2x1_check(), FLA_Cont_with_3x3_to_2x2_check(), FLA_Copy_buffer_to_object_check(), FLA_Copy_internal_check(), FLA_Copy_object_to_buffer_check(), FLA_Copyr_internal_check(), FLA_Copyt_internal_check(), FLA_Eig_gest_internal_check(), FLA_Gemm_internal_check(), FLA_Gemv_internal_check(), FLA_Hemm_internal_check(), FLA_Her2k_internal_check(), FLA_Herk_internal_check(), FLA_Hess_UT_internal_check(), FLA_LQ_UT_internal_check(), FLA_LU_nopiv_internal_check(), FLA_LU_piv_internal(), FLA_Lyap_internal_check(), FLA_Merge_1x2_check(), FLA_Merge_2x1_check(), FLA_Merge_2x2_check(), FLA_Obj_attach_buffer_check(), FLA_Obj_buffer_at_view_check(), FLA_Obj_copy_view_check(), FLA_Obj_create_buffer_check(), FLA_Obj_create_complex_constant_check(), FLA_Obj_create_conf_to_check(), FLA_Obj_create_constant_check(), FLA_Obj_create_constant_ext_check(), FLA_Obj_create_ext_check(), FLA_Obj_create_without_buffer_check(), FLA_Obj_datatype_check(), FLA_Obj_datatype_proj_to_real_check(), FLA_Obj_elemtype_check(), FLA_Obj_extract_complex_scalar_check(), FLA_Obj_extract_real_scalar_check(), FLA_Obj_flip_base(), FLA_Obj_flip_view(), FLA_Obj_free_buffer_check(), FLA_Obj_free_check(), FLA_Obj_free_without_buffer_check(), FLA_Obj_fshow_check(), FLA_Obj_show_check(), FLA_Part_1x2_check(), FLA_Part_2x1_check(), FLA_Part_2x2_check(), FLA_QR2_UT_internal_check(), FLA_QR_UT_copy_internal_check(), FLA_QR_UT_internal_check(), FLA_QR_UT_piv_internal_check(), FLA_Repart_1x2_to_1x3_check(), FLA_Repart_2x1_to_3x1_check(), FLA_Repart_2x2_to_3x3_check(), FLA_Scal_internal_check(), FLA_Scalr_internal_check(), FLA_SPDinv_internal_check(), FLA_Submatrix_at_check(), FLA_Sylv_internal_check(), FLA_Symm_internal_check(), FLA_Syr2k_internal_check(), FLA_Syrk_internal_check(), FLA_Tridiag_UT_internal_check(), FLA_Trinv_internal_check(), FLA_Trmm_internal_check(), FLA_Trsm_internal_check(), FLA_Trsv_internal_check(), FLA_Ttmm_internal_check(), FLA_UDdate_UT_internal_check(), FLASH_Obj_attach_buffer_check(), FLASH_Obj_attach_buffer_hierarchy_check(), FLASH_Obj_blocksizes_check(), FLASH_Obj_create_conf_to_check(), FLASH_Obj_create_flat_conf_to_hier_check(), FLASH_Obj_create_flat_copy_of_hier_check(), FLASH_Obj_create_helper_check(), FLASH_Obj_create_hier_conf_to_flat_check(), FLASH_Obj_create_hier_conf_to_flat_ext_check(), FLASH_Obj_create_hier_copy_of_flat_check(), FLASH_Obj_create_hier_copy_of_flat_ext_check(), FLASH_Obj_create_hierarchy_check(), FLASH_Obj_free_check(), FLASH_Obj_free_hierarchy_check(), and FLASH_Obj_free_without_buffer_check().

519 {
520  FLA_Error e_val = FLA_SUCCESS;
521 
522  if ( ptr == NULL )
523  e_val = FLA_NULL_POINTER;
524 
525  return e_val;
526 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_num_threads()

FLA_Error FLA_Check_num_threads ( unsigned int  n_threads)

Referenced by FLASH_Queue_set_num_threads().

885 {
886  FLA_Error e_val = FLA_SUCCESS;
887 
888  if ( n_threads < 1 )
889  e_val = FLA_ENCOUNTERED_NON_POSITIVE_NTHREADS;
890 
891  return e_val;
892 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_object_dims()

FLA_Error FLA_Check_object_dims ( FLA_Trans  trans,
dim_t  m,
dim_t  n,
FLA_Obj  A 
)

References FLA_Obj_length(), and FLA_Obj_width().

Referenced by FLA_Axpy_buffer_to_object_check(), FLA_Axpy_object_to_buffer_check(), FLA_Copy_buffer_to_object_check(), and FLA_Copy_object_to_buffer_check().

529 {
530  FLA_Error e_val = FLA_SUCCESS;
531 
532  if ( trans == FLA_NO_TRANSPOSE || trans == FLA_CONJ_NO_TRANSPOSE )
533  {
534  if ( FLA_Obj_length( A ) != m )
535  e_val = FLA_SPECIFIED_OBJ_DIM_MISMATCH;
536 
537  if ( FLA_Obj_width( A ) != n )
538  e_val = FLA_SPECIFIED_OBJ_DIM_MISMATCH;
539  }
540  else
541  {
542  if ( FLA_Obj_length( A ) != n )
543  e_val = FLA_SPECIFIED_OBJ_DIM_MISMATCH;
544 
545  if ( FLA_Obj_width( A ) != m )
546  e_val = FLA_SPECIFIED_OBJ_DIM_MISMATCH;
547  }
548 
549  return e_val;
550 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116

◆ FLA_Check_object_length_equals()

FLA_Error FLA_Check_object_length_equals ( FLA_Obj  A,
dim_t  m 
)

◆ FLA_Check_object_length_min()

FLA_Error FLA_Check_object_length_min ( FLA_Obj  A,
dim_t  m 
)

References FLA_Obj_length().

Referenced by FLA_CAQR_UT_inc_check(), FLA_CAQR_UT_inc_solve_check(), FLA_QR_UT_inc_solve_check(), and FLA_QR_UT_solve_check().

1060 {
1061  FLA_Error e_val = FLA_SUCCESS;
1062 
1063  if ( FLA_Obj_length( A ) < m )
1064  e_val = FLA_INVALID_OBJECT_LENGTH;
1065 
1066  return e_val;
1067 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116

◆ FLA_Check_object_matrix_elemtype()

FLA_Error FLA_Check_object_matrix_elemtype ( FLA_Obj  A)

References FLA_Obj_elemtype().

872 {
873  FLA_Error e_val = FLA_SUCCESS;
874  FLA_Elemtype elemtype;
875 
876  elemtype = FLA_Obj_elemtype( A );
877 
878  if ( elemtype != FLA_MATRIX )
879  e_val = FLA_OBJECT_NOT_MATRIX_ELEMTYPE;
880 
881  return e_val;
882 }
int FLA_Elemtype
Definition: FLA_type_defs.h:50
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Elemtype FLA_Obj_elemtype(FLA_Obj obj)
Definition: FLA_Query.c:51

◆ FLA_Check_object_scalar_elemtype()

FLA_Error FLA_Check_object_scalar_elemtype ( FLA_Obj  A)

References FLA_Obj_elemtype().

Referenced by FLA_LU_find_zero_on_diagonal_check(), FLA_Obj_fshow_check(), and FLA_Obj_show_check().

859 {
860  FLA_Error e_val = FLA_SUCCESS;
861  FLA_Elemtype elemtype;
862 
863  elemtype = FLA_Obj_elemtype( A );
864 
865  if ( elemtype != FLA_SCALAR )
866  e_val = FLA_OBJECT_NOT_SCALAR_ELEMTYPE;
867 
868  return e_val;
869 }
int FLA_Elemtype
Definition: FLA_type_defs.h:50
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Elemtype FLA_Obj_elemtype(FLA_Obj obj)
Definition: FLA_Query.c:51

◆ FLA_Check_object_width_equals()

FLA_Error FLA_Check_object_width_equals ( FLA_Obj  A,
dim_t  n 
)

References FLA_Obj_width().

Referenced by FLA_Apply_CAQ2_UT_internal_check(), FLA_Apply_CAQ_UT_inc_internal_check(), FLA_Apply_diag_matrix_check(), FLA_Apply_H2_UT_check(), FLA_Apply_Q2_UT_internal_check(), FLA_Apply_Q_check(), FLA_Apply_Q_UT_check(), FLA_Apply_Q_UT_inc_check(), FLA_Apply_Q_UT_inc_internal_check(), FLA_Apply_Q_UT_internal_check(), FLA_Apply_QUD_UT_check(), FLA_Apply_QUD_UT_inc_check(), FLA_Apply_QUD_UT_inc_internal_check(), FLA_Apply_QUD_UT_internal_check(), FLA_Bidiag_UT_check(), FLA_Bidiag_UT_form_U_check(), FLA_Bidiag_UT_form_V_check(), FLA_Bidiag_UT_recover_tau_check(), FLA_CAQR2_UT_internal_check(), FLA_Eig_gest_internal_check(), FLA_FS_incpiv_check(), FLA_Hess_UT_check(), FLA_Hess_UT_recover_tau_check(), FLA_LQ_UT_check(), FLA_LQ_UT_form_Q_check(), FLA_LQ_UT_solve_check(), FLA_QR2_UT_internal_check(), FLA_QR_UT_check(), FLA_QR_UT_copy_internal_check(), FLA_QR_UT_piv_check(), FLA_QR_UT_solve_check(), FLA_Svd_ext_check(), FLA_Tridiag_apply_Q_check(), FLA_Tridiag_UT_check(), FLA_Tridiag_UT_form_Q_check(), FLA_Tridiag_UT_realify_check(), FLA_Tridiag_UT_recover_tau_check(), FLA_UDdate_UT_check(), FLA_UDdate_UT_inc_check(), FLA_UDdate_UT_inc_update_rhs_check(), FLA_UDdate_UT_internal_check(), and FLA_UDdate_UT_update_rhs_check().

1050 {
1051  FLA_Error e_val = FLA_SUCCESS;
1052 
1053  if ( FLA_Obj_width( A ) != n )
1054  e_val = FLA_INVALID_OBJECT_WIDTH;
1055 
1056  return e_val;
1057 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123

◆ FLA_Check_object_width_min()

FLA_Error FLA_Check_object_width_min ( FLA_Obj  A,
dim_t  n 
)

References FLA_Obj_width().

Referenced by FLA_LQ_UT_internal_check(), and FLA_QR_UT_internal_check().

1070 {
1071  FLA_Error e_val = FLA_SUCCESS;
1072 
1073  if ( FLA_Obj_width( A ) < n )
1074  e_val = FLA_INVALID_OBJECT_WIDTH;
1075 
1076  return e_val;
1077 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123

◆ FLA_Check_pivot_index_range()

FLA_Error FLA_Check_pivot_index_range ( FLA_Obj  p,
dim_t  k1,
dim_t  k2 
)

References FLA_Obj_has_zero_dim(), and FLA_Obj_length().

998 {
999  FLA_Error e_val = FLA_SUCCESS;
1000 
1001  if ( FLA_Obj_has_zero_dim( p ) )
1002  return e_val;
1003 
1004  // FGVZ: Note that we don't need to test if k1 < 0 since the type is an
1005  // unsigned integer. Same goes for k2 < 0. If we ever wanted to allow
1006  // the caller to specify the index range k1:k2 == -1:0, which would
1007  // result in no action. If this "no-op" behavior is needed, then k1 and
1008  // k2 should be type re-declared as ints.
1009  //if ( k1 < 0 || FLA_Obj_length( p ) - 1 < k1 )
1010  if ( FLA_Obj_length( p ) - 1 < k1 )
1011  e_val = FLA_INVALID_PIVOT_INDEX_RANGE;
1012 
1013  //if ( k2 < 0 || FLA_Obj_length( p ) - 1 < k2 )
1014  if ( FLA_Obj_length( p ) - 1 < k2 )
1015  e_val = FLA_INVALID_PIVOT_INDEX_RANGE;
1016 
1017  if ( k2 < k1 )
1018  e_val = FLA_INVALID_PIVOT_INDEX_RANGE;
1019 
1020  return e_val;
1021 }
int FLA_Error
Definition: FLA_type_defs.h:47
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

◆ FLA_Check_posix_memalign_failure()

FLA_Error FLA_Check_posix_memalign_failure ( int  r_val)

Referenced by FLA_malloc().

825 {
826  FLA_Error e_val = FLA_SUCCESS;
827 
828  if ( r_val != 0 )
829  e_val = FLA_POSIX_MEMALIGN_FAILED;
830 
831  return e_val;
832 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_pthread_create_result()

FLA_Error FLA_Check_pthread_create_result ( int  pthread_create_r_val)

Referenced by FLASH_Queue_exec_parallel().

751 {
752  FLA_Error e_val = FLA_SUCCESS;
753 
754  if ( pthread_create_r_val != 0 )
755  e_val = FLA_PTHREAD_CREATE_RETURNED_ERROR;
756 
757  return e_val;
758 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_pthread_join_result()

FLA_Error FLA_Check_pthread_join_result ( int  pthread_join_r_val)

Referenced by FLASH_Queue_exec_parallel().

761 {
762  FLA_Error e_val = FLA_SUCCESS;
763 
764  if ( pthread_join_r_val != 0 )
765  e_val = FLA_PTHREAD_JOIN_RETURNED_ERROR;
766 
767  return e_val;
768 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_read_result()

FLA_Error FLA_Check_read_result ( int  requested_size,
int  read_r_val 
)
708 {
709  FLA_Error e_val = FLA_SUCCESS;
710 
711  if ( read_r_val == -1 )
712  e_val = FLA_READ_RETURNED_ERROR;
713 
714  return e_val;
715 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_real_datatype()

FLA_Error FLA_Check_real_datatype ( FLA_Datatype  datatype)

Referenced by FLA_Check_comparable_object(), and FLA_Check_real_object().

209 {
210  FLA_Error e_val = FLA_SUCCESS;
211 
212  if ( datatype != FLA_CONSTANT &&
213  datatype != FLA_FLOAT &&
214  datatype != FLA_DOUBLE )
215  e_val = FLA_INVALID_REAL_DATATYPE;
216 
217  return e_val;
218 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_real_object()

FLA_Error FLA_Check_real_object ( FLA_Obj  A)

References FLA_Check_real_datatype(), and FLA_Obj_datatype().

Referenced by FLA_Apply_G_1x2_check(), FLA_Apply_G_mx2_check(), FLA_Apply_GTG_check(), FLA_Bidiag_UT_extract_real_diagonals_check(), FLA_Bidiag_UT_scale_diagonals_check(), FLA_Bsvd_check(), FLA_Bsvd_create_workspace(), FLA_Fill_with_cluster_dist_check(), FLA_Fill_with_geometric_dist_check(), FLA_Fill_with_inverse_dist_check(), FLA_Fill_with_linear_dist_check(), FLA_Fill_with_logarithmic_dist_check(), FLA_Fill_with_random_dist_check(), FLA_Givens1_check(), FLA_Givens2_check(), FLA_Her2k_check(), FLA_Her_check(), FLA_Herc_check(), FLA_Herk_check(), FLA_Hevd_check(), FLA_Hevd_compute_scaling_check(), FLA_Hevdd_check(), FLA_Hevdr_check(), FLA_Introduce_bulge_check(), FLA_Mach_params_check(), FLA_Max_abs_value_herm_check(), FLA_Norm_frob_check(), FLA_Norm_inf_check(), FLA_Nrm2_check(), FLA_Obj_extract_imag_part_check(), FLA_Obj_extract_real_part_check(), FLA_Obj_extract_real_scalar_check(), FLA_Obj_set_imag_part_check(), FLA_Obj_set_real_part_check(), FLA_Sort_evd_check(), FLA_Sort_svd_check(), FLA_Svd_check(), FLA_Svd_compute_scaling_check(), FLA_Svd_ext_check(), FLA_Svdd_check(), FLA_Tridiag_UT_scale_diagonals_check(), and FLA_Wilkshift_tridiag_check().

259 {
260  FLA_Error e_val = FLA_SUCCESS;
261  FLA_Datatype datatype;
262 
263  datatype = FLA_Obj_datatype( A );
264 
265  if ( FLA_Check_real_datatype( datatype ) != FLA_SUCCESS )
266  e_val = FLA_OBJECT_NOT_REAL;
267 
268  return e_val;
269 }
FLA_Error FLA_Check_real_datatype(FLA_Datatype datatype)
Definition: FLA_Check.c:208
int FLA_Error
Definition: FLA_type_defs.h:47
FLA_Datatype FLA_Obj_datatype(FLA_Obj obj)
Definition: FLA_Query.c:13
int FLA_Datatype
Definition: FLA_type_defs.h:49

◆ FLA_Check_row_storage()

FLA_Error FLA_Check_row_storage ( FLA_Obj  A)

References FLA_Obj_col_stride().

1336 {
1337  FLA_Error e_val = FLA_SUCCESS;
1338 
1339  if ( FLA_Obj_col_stride( A ) != 1 )
1340  e_val = FLA_EXPECTED_ROW_STORAGE;
1341 
1342  return e_val;
1343 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_col_stride(FLA_Obj obj)
Definition: FLA_Query.c:174

◆ FLA_Check_row_vector()

FLA_Error FLA_Check_row_vector ( FLA_Obj  x)

References FLA_Obj_length().

1224 {
1225  FLA_Error e_val = FLA_SUCCESS;
1226 
1227  if ( FLA_Obj_length( x ) != 1 )
1228  e_val = FLA_EXPECTED_ROW_VECTOR;
1229 
1230  return e_val;
1231 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116

◆ FLA_Check_square()

FLA_Error FLA_Check_square ( FLA_Obj  A)

References FLA_Obj_length(), and FLA_Obj_width().

Referenced by FLA_Apply_Q2_UT_check(), FLA_Chol_check(), FLA_Chol_solve_check(), FLA_Eig_gest_check(), FLA_Form_perm_matrix_check(), FLA_FS_incpiv_check(), FLA_Hemm_check(), FLA_Hemv_check(), FLA_Hemvc_check(), FLA_Her2_check(), FLA_Her2c_check(), FLA_Her2k_check(), FLA_Her_check(), FLA_Herc_check(), FLA_Herk_check(), FLA_Hermitianize_check(), FLA_Hess_UT_check(), FLA_Hevd_check(), FLA_Hevdd_check(), FLA_Hevdr_check(), FLA_LU_incpiv_check(), FLA_LU_incpiv_solve_check(), FLA_LU_nopiv_solve_check(), FLA_LU_piv_solve_check(), FLA_Lyap_check(), FLA_Lyap_internal_check(), FLA_QR2_UT_check(), FLA_Random_herm_matrix_check(), FLA_Random_spd_matrix_check(), FLA_Random_symm_matrix_check(), FLA_Random_unitary_matrix_check(), FLA_SPDinv_check(), FLA_Svdd_check(), FLA_Sylv_check(), FLA_Symm_check(), FLA_Symmetrize_check(), FLA_Symv_check(), FLA_Syr2_check(), FLA_Syr2k_check(), FLA_Syr_check(), FLA_Syrk_check(), FLA_Transpose_check(), FLA_Tridiag_check(), FLA_Tridiag_form_Q_check(), FLA_Tridiag_UT_check(), FLA_Tridiag_UT_extract_diagonals_check(), FLA_Tridiag_UT_extract_real_diagonals_check(), FLA_Tridiag_UT_form_Q_check(), FLA_Tridiag_UT_realify_check(), FLA_Tridiag_UT_shift_U_check(), FLA_Trinv_check(), FLA_Trmm_check(), FLA_Trmmsx_check(), FLA_Trmv_check(), FLA_Trmvsx_check(), FLA_Trsm_check(), FLA_Trsmsx_check(), FLA_Trsv_check(), FLA_Trsvsx_check(), FLA_Ttmm_check(), FLA_UDdate_UT_check(), FLA_UDdate_UT_inc_check(), FLA_UDdate_UT_inc_solve_check(), FLA_UDdate_UT_internal_check(), and FLA_UDdate_UT_solve_check().

364 {
365  FLA_Error e_val = FLA_SUCCESS;
366 
367  if ( FLA_Obj_length( A ) != FLA_Obj_width( A ) )
368  e_val = FLA_OBJECT_NOT_SQUARE;
369 
370  return e_val;
371 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116

◆ FLA_Check_submatrix_dims_and_offset()

FLA_Error FLA_Check_submatrix_dims_and_offset ( dim_t  m,
dim_t  n,
dim_t  i,
dim_t  j,
FLA_Obj  A 
)

References FLA_Obj_elemtype(), FLA_Obj_length(), FLA_Obj_width(), FLASH_Obj_scalar_length(), and FLASH_Obj_scalar_width().

Referenced by FLA_Axpy_buffer_to_object_check(), FLA_Axpy_object_to_buffer_check(), FLA_Copy_buffer_to_object_check(), FLA_Copy_object_to_buffer_check(), FLASH_Axpy_buffer_to_hier(), FLASH_Axpy_hier_to_buffer(), FLASH_Copy_buffer_to_hier(), and FLASH_Copy_hier_to_buffer().

835 {
836  FLA_Error e_val = FLA_SUCCESS;
837  dim_t m_A, n_A;
838 
839  if ( FLA_Obj_elemtype( A ) == FLA_MATRIX )
840  {
841  m_A = FLASH_Obj_scalar_length( A );
842  n_A = FLASH_Obj_scalar_width( A );
843  }
844  else
845  {
846  m_A = FLA_Obj_length( A );
847  n_A = FLA_Obj_width( A );
848  }
849 
850  if ( i > m_A || j > n_A )
851  e_val = FLA_INVALID_SUBMATRIX_OFFSET;
852  else if ( i + m > m_A || j + n > n_A )
853  e_val = FLA_INVALID_SUBMATRIX_DIMS;
854 
855  return e_val;
856 }
unsigned long dim_t
Definition: FLA_type_defs.h:71
dim_t FLASH_Obj_scalar_length(FLA_Obj H)
Definition: FLASH_View.c:600
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
int i
Definition: bl1_axmyv2.c:145
dim_t FLASH_Obj_scalar_width(FLA_Obj H)
Definition: FLASH_View.c:641
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116
FLA_Elemtype FLA_Obj_elemtype(FLA_Obj obj)
Definition: FLA_Query.c:51

◆ FLA_Check_sylv_matrix_dims()

FLA_Error FLA_Check_sylv_matrix_dims ( FLA_Obj  A,
FLA_Obj  B,
FLA_Obj  C 
)

References FLA_Obj_length(), and FLA_Obj_width().

Referenced by FLA_Sylv_check(), and FLA_Sylv_internal_check().

782 {
783  FLA_Error e_val = FLA_SUCCESS;
784  dim_t m_A, m_C;
785  dim_t n_B, n_C;
786 
787  m_A = FLA_Obj_length( A );
788 
789  n_B = FLA_Obj_width( B );
790 
791  m_C = FLA_Obj_length( C );
792  n_C = FLA_Obj_width( C );
793 
794  if ( m_A != m_C )
795  e_val = FLA_NONCONFORMAL_DIMENSIONS;
796 
797  if ( n_B != n_C )
798  e_val = FLA_NONCONFORMAL_DIMENSIONS;
799 
800  return e_val;
801 }
unsigned long dim_t
Definition: FLA_type_defs.h:71
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_width(FLA_Obj obj)
Definition: FLA_Query.c:123
dim_t FLA_Obj_length(FLA_Obj obj)
Definition: FLA_Query.c:116

◆ FLA_Check_unlink_result()

FLA_Error FLA_Check_unlink_result ( int  unlink_r_val)
698 {
699  FLA_Error e_val = FLA_SUCCESS;
700 
701  if ( unlink_r_val == -1 )
702  e_val = FLA_UNLINK_RETURNED_ERROR;
703 
704  return e_val;
705 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_blas_trans()

FLA_Error FLA_Check_valid_blas_trans ( FLA_Trans  trans)

Referenced by FLA_Lyap_check(), and FLA_Sylv_check().

929 {
930  FLA_Error e_val = FLA_SUCCESS;
931 
932  if ( trans != FLA_NO_TRANSPOSE &&
933  trans != FLA_TRANSPOSE &&
934  trans != FLA_CONJ_TRANSPOSE )
935  e_val = FLA_INVALID_BLAS_TRANS;
936 
937  return e_val;
938 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_complex_trans()

FLA_Error FLA_Check_valid_complex_trans ( FLA_Trans  trans)

Referenced by FLA_Apply_Q_check(), FLA_Her2k_check(), FLA_Herk_check(), and FLA_Tridiag_apply_Q_check().

907 {
908  FLA_Error e_val = FLA_SUCCESS;
909 
910  if ( trans != FLA_NO_TRANSPOSE &&
911  trans != FLA_CONJ_TRANSPOSE )
912  e_val = FLA_INVALID_COMPLEX_TRANS;
913 
914  return e_val;
915 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_conj()

FLA_Error FLA_Check_valid_conj ( FLA_Conj  conj)

Referenced by FLA_Apply_diag_matrix_check(), FLA_Dot2cs_check(), FLA_Dotc_check(), FLA_Dotcs_check(), FLA_Gemvc_check(), FLA_Gerc_check(), FLA_Hemvc_check(), FLA_Her2c_check(), FLA_Herc_check(), FLA_Inv_scalc_check(), FLA_Invert_check(), FLA_Scalc_check(), FLA_Scale_diag_check(), and FLA_Shift_diag_check().

113 {
114  FLA_Error e_val = FLA_SUCCESS;
115 
116  if ( conj != FLA_NO_CONJUGATE &&
117  conj != FLA_CONJUGATE )
118  e_val = FLA_INVALID_CONJ;
119 
120  return e_val;
121 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_datatype()

FLA_Error FLA_Check_valid_datatype ( FLA_Datatype  datatype)

Referenced by FLA_Check_valid_object_datatype(), FLA_Obj_create_ext_check(), FLA_Obj_create_without_buffer_check(), FLA_Obj_datatype_size_check(), FLA_Obj_elem_size_check(), FLA_Submatrix_at_check(), FLASH_Obj_create_helper_check(), and FLASH_Obj_create_hierarchy_check().

157 {
158  FLA_Error e_val = FLA_SUCCESS;
159 
160  if ( datatype != FLA_INT &&
161  datatype != FLA_FLOAT &&
162  datatype != FLA_DOUBLE &&
163  datatype != FLA_COMPLEX &&
164  datatype != FLA_DOUBLE_COMPLEX &&
165  datatype != FLA_CONSTANT )
166  e_val = FLA_INVALID_DATATYPE;
167 
168  return e_val;
169 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_diag()

FLA_Error FLA_Check_valid_diag ( FLA_Diag  diag)

Referenced by FLA_Random_tri_matrix_check(), FLA_Triangularize_check(), FLA_Trinv_check(), FLA_Trmm_check(), FLA_Trmmsx_check(), FLA_Trmv_check(), FLA_Trmvsx_check(), FLA_Trsm_check(), FLA_Trsmsx_check(), FLA_Trsv_check(), and FLA_Trsvsx_check().

101 {
102  FLA_Error e_val = FLA_SUCCESS;
103 
104  if ( diag != FLA_NONUNIT_DIAG &&
105  diag != FLA_UNIT_DIAG &&
106  diag != FLA_ZERO_DIAG )
107  e_val = FLA_INVALID_DIAG;
108 
109  return e_val;
110 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_diag_offset()

FLA_Error FLA_Check_valid_diag_offset ( FLA_Obj  A,
FLA_Diag_off  offset 
)

References FLA_Obj_min_dim().

1316 {
1317  FLA_Error e_val = FLA_SUCCESS;
1318 
1319  if ( FLA_Obj_min_dim( A ) <= abs( offset ) )
1320  e_val = FLA_INVALID_DIAG_OFFSET;
1321 
1322  return e_val;
1323 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_min_dim(FLA_Obj obj)
Definition: FLA_Query.c:153

◆ FLA_Check_valid_direct()

FLA_Error FLA_Check_valid_direct ( FLA_Direct  direct)

Referenced by FLA_Accum_T_UT_check(), FLA_Apply_CAQ_UT_inc_check(), FLA_Apply_G_check(), FLA_Apply_Q2_UT_check(), FLA_Apply_Q_UT_check(), FLA_Apply_Q_UT_inc_check(), FLA_Apply_QUD_UT_check(), FLA_Apply_QUD_UT_inc_check(), FLA_Sort_check(), FLA_Sort_evd_check(), and FLA_Sort_svd_check().

124 {
125  FLA_Error e_val = FLA_SUCCESS;
126 
127  if ( direct != FLA_FORWARD &&
128  direct != FLA_BACKWARD )
129  e_val = FLA_INVALID_DIRECT;
130 
131  return e_val;
132 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_elemtype()

FLA_Error FLA_Check_valid_elemtype ( FLA_Elemtype  elemtype)

Referenced by FLA_Obj_create_ext_check(), and FLA_Obj_elem_size_check().

814 {
815  FLA_Error e_val = FLA_SUCCESS;
816 
817  if ( elemtype != FLA_SCALAR &&
818  elemtype != FLA_MATRIX )
819  e_val = FLA_INVALID_ELEMTYPE;
820 
821  return e_val;
822 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_error_level()

FLA_Error FLA_Check_valid_error_level ( unsigned int  level)

Referenced by FLA_Check_error_level_set().

1080 {
1081  FLA_Error e_val = FLA_SUCCESS;
1082 
1083  if ( level != FLA_NO_ERROR_CHECKING &&
1084  level != FLA_MIN_ERROR_CHECKING &&
1085  level != FLA_FULL_ERROR_CHECKING )
1086  e_val = FLA_INVALID_ERROR_CHECKING_LEVEL;
1087 
1088  return e_val;
1089 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_evd_type()

FLA_Error FLA_Check_valid_evd_type ( FLA_Evd_type  evd_type)

Referenced by FLA_Hevd_check(), FLA_Hevdd_check(), and FLA_Hevdr_check().

1244 {
1245  FLA_Error e_val = FLA_SUCCESS;
1246 
1247  if ( evd_type != FLA_EVD_WITHOUT_VECTORS &&
1248  evd_type != FLA_EVD_WITH_VECTORS )
1249  e_val = FLA_INVALID_EVD_TYPE;
1250 
1251  return e_val;
1252 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_inverse()

FLA_Error FLA_Check_valid_inverse ( FLA_Inv  inv)

Referenced by FLA_Eig_gest_check().

146 {
147  FLA_Error e_val = FLA_SUCCESS;
148 
149  if ( inv != FLA_NO_INVERSE &&
150  inv != FLA_INVERSE )
151  e_val = FLA_INVALID_INVERSE;
152 
153  return e_val;
154 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_isgn_value()

FLA_Error FLA_Check_valid_isgn_value ( FLA_Obj  isgn)

References FLA_MINUS_ONE, FLA_Obj_is(), and FLA_ONE.

Referenced by FLA_Lyap_check(), and FLA_Sylv_check().

771 {
772  FLA_Error e_val = FLA_SUCCESS;
773 
774  if ( !FLA_Obj_is( isgn, FLA_ONE ) &&
775  !FLA_Obj_is( isgn, FLA_MINUS_ONE ) )
776  e_val = FLA_INVALID_ISGN_VALUE;
777 
778  return e_val;
779 }
FLA_Obj FLA_MINUS_ONE
Definition: FLA_Init.c:22
FLA_Bool FLA_Obj_is(FLA_Obj A, FLA_Obj B)
Definition: FLA_Query.c:460
FLA_Obj FLA_ONE
Definition: FLA_Init.c:18
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_leftright_side()

FLA_Error FLA_Check_valid_leftright_side ( FLA_Side  side)

◆ FLA_Check_valid_machval()

FLA_Error FLA_Check_valid_machval ( FLA_Machval  val)

Referenced by FLA_Mach_params_check().

1296 {
1297  FLA_Error e_val = FLA_SUCCESS;
1298 
1299  if ( val != FLA_MACH_EPS &&
1300  val != FLA_MACH_SFMIN &&
1301  val != FLA_MACH_BASE &&
1302  val != FLA_MACH_PREC &&
1303  val != FLA_MACH_NDIGMANT &&
1304  val != FLA_MACH_RND &&
1305  val != FLA_MACH_EMIN &&
1306  val != FLA_MACH_RMIN &&
1307  val != FLA_MACH_EMAX &&
1308  val != FLA_MACH_RMAX &&
1309  val != FLA_MACH_EPS2 )
1310  e_val = FLA_INVALID_MACHVAL;
1311 
1312  return e_val;
1313 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_object_datatype()

FLA_Error FLA_Check_valid_object_datatype ( FLA_Obj  A)

◆ FLA_Check_valid_pivot_type()

FLA_Error FLA_Check_valid_pivot_type ( FLA_Pivot_type  ptype)

Referenced by FLA_Shift_pivots_to_check().

553 {
554  FLA_Error e_val = FLA_SUCCESS;
555 
556  if ( ptype != FLA_NATIVE_PIVOTS && ptype != FLA_LAPACK_PIVOTS )
557  e_val = FLA_INVALID_PIVOT_TYPE;
558 
559  return e_val;
560 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_quadrant()

FLA_Error FLA_Check_valid_quadrant ( FLA_Quadrant  quad)

Referenced by FLA_Cont_with_3x3_to_2x2_check(), FLA_Part_2x2_check(), and FLA_Repart_2x2_to_3x3_check().

728 {
729  FLA_Error e_val = FLA_SUCCESS;
730 
731  if ( quad != FLA_TL &&
732  quad != FLA_TR &&
733  quad != FLA_BL &&
734  quad != FLA_BR )
735  e_val = FLA_INVALID_QUADRANT;
736 
737  return e_val;
738 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_real_trans()

FLA_Error FLA_Check_valid_real_trans ( FLA_Trans  trans)

Referenced by FLA_Apply_Q_check(), FLA_Axpy_buffer_to_object_check(), FLA_Axpy_object_to_buffer_check(), FLA_Copy_buffer_to_object_check(), FLA_Copy_object_to_buffer_check(), FLA_Syr2k_check(), FLA_Syrk_check(), FLA_Tridiag_apply_Q_check(), FLASH_Obj_create_conf_to_check(), FLASH_Obj_create_flat_conf_to_hier_check(), FLASH_Obj_create_hier_conf_to_flat_check(), and FLASH_Obj_create_hier_conf_to_flat_ext_check().

918 {
919  FLA_Error e_val = FLA_SUCCESS;
920 
921  if ( trans != FLA_NO_TRANSPOSE &&
922  trans != FLA_TRANSPOSE )
923  e_val = FLA_INVALID_REAL_TRANS;
924 
925  return e_val;
926 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_side()

FLA_Error FLA_Check_valid_side ( FLA_Side  side)
64 {
65  FLA_Error e_val = FLA_SUCCESS;
66 
67  if ( side != FLA_LEFT &&
68  side != FLA_RIGHT &&
69  side != FLA_TOP &&
70  side != FLA_BOTTOM )
71  e_val = FLA_INVALID_SIDE;
72 
73  return e_val;
74 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_storev()

FLA_Error FLA_Check_valid_storev ( FLA_Store  storev)

Referenced by FLA_Accum_T_UT_check(), FLA_Apply_CAQ_UT_inc_check(), FLA_Apply_Q2_UT_check(), FLA_Apply_Q_check(), FLA_Apply_Q_UT_check(), FLA_Apply_Q_UT_inc_check(), FLA_Apply_QUD_UT_check(), and FLA_Apply_QUD_UT_inc_check().

135 {
136  FLA_Error e_val = FLA_SUCCESS;
137 
138  if ( storev != FLA_COLUMNWISE &&
139  storev != FLA_ROWWISE )
140  e_val = FLA_INVALID_STOREV;
141 
142  return e_val;
143 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_svd_type()

FLA_Error FLA_Check_valid_svd_type ( FLA_Svd_type  svd_type)

Referenced by FLA_Bsvd_check(), FLA_Svd_check(), FLA_Svd_ext_check(), and FLA_Svdd_check().

1255 {
1256  FLA_Error e_val = FLA_SUCCESS;
1257 
1258  if ( svd_type != FLA_SVD_VECTORS_ALL &&
1259  svd_type != FLA_SVD_VECTORS_MIN_COPY &&
1260  svd_type != FLA_SVD_VECTORS_MIN_OVERWRITE &&
1261  svd_type != FLA_SVD_VECTORS_NONE )
1262  e_val = FLA_INVALID_SVD_TYPE;
1263 
1264  return e_val;
1265 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_svd_type_and_trans_combination()

FLA_Error FLA_Check_valid_svd_type_and_trans_combination ( FLA_Svd_type  svd_type_u,
FLA_Trans  transu,
FLA_Svd_type  svd_type_v,
FLA_Trans  transv 
)

Referenced by FLA_Svd_ext_check().

1280 {
1281  FLA_Error e_val = FLA_SUCCESS;
1282 
1283  if ( svd_type_u == FLA_SVD_VECTORS_MIN_OVERWRITE )
1284  if ( transu == FLA_TRANSPOSE ||
1285  transu == FLA_CONJ_TRANSPOSE )
1286  e_val = FLA_INVALID_SVD_TYPE_AND_TRANS_COMBINATION;
1287  if ( svd_type_v == FLA_SVD_VECTORS_MIN_OVERWRITE )
1288  if ( transv == FLA_NO_TRANSPOSE ||
1289  transv == FLA_CONJ_NO_TRANSPOSE )
1290  e_val = FLA_INVALID_SVD_TYPE_AND_TRANS_COMBINATION;
1291 
1292  return e_val;
1293 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_svd_type_combination()

FLA_Error FLA_Check_valid_svd_type_combination ( FLA_Svd_type  svd_type_u,
FLA_Svd_type  svd_type_v 
)

Referenced by FLA_Svd_ext_check().

1268 {
1269  FLA_Error e_val = FLA_SUCCESS;
1270 
1271  if ( svd_type_u == FLA_SVD_VECTORS_MIN_OVERWRITE &&
1272  svd_type_v == FLA_SVD_VECTORS_MIN_OVERWRITE )
1273  e_val = FLA_INVALID_SVD_TYPE_COMBINATION;
1274 
1275  return e_val;
1276 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_topbottom_side()

FLA_Error FLA_Check_valid_topbottom_side ( FLA_Side  side)

Referenced by FLA_Cont_with_3x1_to_2x1_check(), FLA_Part_2x1_check(), and FLA_Repart_2x1_to_3x1_check().

1136 {
1137  FLA_Error e_val = FLA_SUCCESS;
1138 
1139  if ( side != FLA_TOP &&
1140  side != FLA_BOTTOM )
1141  e_val = FLA_INVALID_SIDE;
1142 
1143  return e_val;
1144 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_valid_trans()

FLA_Error FLA_Check_valid_trans ( FLA_Trans  trans)

◆ FLA_Check_valid_uplo()

FLA_Error FLA_Check_valid_uplo ( FLA_Uplo  uplo)

Referenced by FLA_Bidiag_UT_realify_diagonals_check(), FLA_Bsvd_check(), FLA_Chol_check(), FLA_Chol_solve_check(), FLA_Conjugate_r_check(), FLA_Copyr_check(), FLA_Copyrt_check(), FLA_Eig_gest_check(), FLA_Hemm_check(), FLA_Hemv_check(), FLA_Hemvc_check(), FLA_Her2_check(), FLA_Her2c_check(), FLA_Her2k_check(), FLA_Her_check(), FLA_Herc_check(), FLA_Herk_check(), FLA_Hermitianize_check(), FLA_Hevd_check(), FLA_Hevd_compute_scaling_check(), FLA_Hevdd_check(), FLA_Hevdr_check(), FLA_Max_abs_value_herm_check(), FLA_Random_herm_matrix_check(), FLA_Random_spd_matrix_check(), FLA_Random_symm_matrix_check(), FLA_Random_tri_matrix_check(), FLA_Scalr_check(), FLA_Setr_check(), FLA_SPDinv_check(), FLA_Symm_check(), FLA_Symmetrize_check(), FLA_Symv_check(), FLA_Syr2_check(), FLA_Syr2k_check(), FLA_Syr_check(), FLA_Syrk_check(), FLA_Triangularize_check(), FLA_Tridiag_apply_Q_check(), FLA_Tridiag_check(), FLA_Tridiag_form_Q_check(), FLA_Tridiag_UT_check(), FLA_Tridiag_UT_extract_diagonals_check(), FLA_Tridiag_UT_extract_real_diagonals_check(), FLA_Tridiag_UT_form_Q_check(), FLA_Tridiag_UT_realify_check(), FLA_Tridiag_UT_scale_diagonals_check(), FLA_Tridiag_UT_shift_U_check(), FLA_Trinv_check(), FLA_Trmm_check(), FLA_Trmmsx_check(), FLA_Trmv_check(), FLA_Trmvsx_check(), FLA_Trsm_check(), FLA_Trsmsx_check(), FLA_Trsv_check(), FLA_Trsvsx_check(), FLA_Ttmm_check(), and FLASH_Random_spd_matrix().

77 {
78  FLA_Error e_val = FLA_SUCCESS;
79 
80  if ( uplo != FLA_LOWER_TRIANGULAR &&
81  uplo != FLA_UPPER_TRIANGULAR )
82  e_val = FLA_INVALID_UPLO;
83 
84  return e_val;
85 }
int FLA_Error
Definition: FLA_type_defs.h:47

◆ FLA_Check_vector_dim()

FLA_Error FLA_Check_vector_dim ( FLA_Obj  x,
dim_t  expected_length 
)

◆ FLA_Check_vector_dim_min()

FLA_Error FLA_Check_vector_dim_min ( FLA_Obj  x,
dim_t  min_dim 
)

References FLA_Obj_vector_dim().

Referenced by FLA_Bidiag_form_U_check(), FLA_Bidiag_form_V_check(), FLA_Hess_check(), FLA_LU_piv_check(), FLA_LU_piv_solve_check(), FLA_Tridiag_apply_Q_check(), FLA_Tridiag_check(), and FLA_Tridiag_form_Q_check().

741 {
742  FLA_Error e_val = FLA_SUCCESS;
743 
744  if ( FLA_Obj_vector_dim( x ) < min_dim )
745  e_val = FLA_VECTOR_DIM_BELOW_MIN;
746 
747  return e_val;
748 }
int FLA_Error
Definition: FLA_type_defs.h:47
dim_t FLA_Obj_vector_dim(FLA_Obj obj)
Definition: FLA_Query.c:137

◆ FLA_Check_write_result()

FLA_Error FLA_Check_write_result ( int  requested_size,
int  write_r_val 
)
718 {
719  FLA_Error e_val = FLA_SUCCESS;
720 
721  if ( write_r_val != requested_size )
722  e_val = FLA_WRITE_RETURNED_ERROR;
723 
724  return e_val;
725 }
int FLA_Error
Definition: FLA_type_defs.h:47