FLA_Error FLA_Cont_with_1xmode3_to_1xmode2_check( FLA_Obj *AT,  FLA_Obj A0,
                                                                FLA_Obj A1,
                                                  FLA_Obj *AB,  FLA_Obj A2,
                                                                dim_t mode, FLA_Side side )
{
  FLA_Error e_val;

  e_val = FLA_Check_null_pointer( AT );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( AB );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_object_datatype( A0 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_object_datatype( A1 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_object_datatype( A2 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_topbottom_side( side );
  FLA_Check_error_code( e_val );

  // Needed: check for adjacency, similar to those in FLA_Merge_*().

  return FLA_SUCCESS;
}
Пример #2
0
FLA_Error FLA_Obj_equals_check( FLA_Obj A, FLA_Obj B )
{
  FLA_Error e_val;

  e_val = FLA_Check_valid_object_datatype( A );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_object_datatype( B );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_consistent_object_datatype( A, B );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_conformal_dims( FLA_NO_TRANSPOSE, A, B );
  FLA_Check_error_code( e_val );

  return FLA_SUCCESS;
}
Пример #3
0
FLA_Error FLA_Set_to_identity_check( FLA_Obj A )
{
    FLA_Error e_val;

    e_val = FLA_Check_valid_object_datatype( A );
    FLA_Check_error_code( e_val );

    e_val = FLA_Check_nonconstant_object( A );
    FLA_Check_error_code( e_val );

    return FLA_SUCCESS;
}
FLA_Error FLA_Repart_1xmode2_to_1xmode3_check( FLA_Obj AT,  FLA_Obj *A0,
                                                            FLA_Obj *A1,
                                               FLA_Obj AB,  FLA_Obj *A2,
                                               dim_t mode,  dim_t    b,  FLA_Side side )
{
  FLA_Error e_val;

  e_val = FLA_Check_valid_object_datatype( AT );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_object_datatype( AB );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( A0 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( A1 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( A2 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_topbottom_side( side );
  FLA_Check_error_code( e_val );

  if      ( side == FLA_TOP )
  {
    e_val = FLA_Check_attempted_repart_1xmode2( AT, mode, b );
    FLA_Check_error_code( e_val );
  }
  else if ( side == FLA_BOTTOM )
  {
    e_val = FLA_Check_attempted_repart_1xmode2( AB, mode, b );
    FLA_Check_error_code( e_val );
  }

  // Needed: check for adjacency, similar to those in FLA_Merge_*().

  return FLA_SUCCESS;
}
FLA_Error FLA_Obj_create_conf_to_check( FLA_Trans trans, FLA_Obj obj_old, FLA_Obj *obj )
{
  FLA_Error e_val;

  e_val = FLA_Check_valid_trans( trans );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_object_datatype( obj_old );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( obj );
  FLA_Check_error_code( e_val );

  return FLA_SUCCESS;
}
Пример #6
0
FLA_Error FLA_Copyr_check( FLA_Uplo uplo, FLA_Obj A, FLA_Obj B )
{
  FLA_Error e_val;

  e_val = FLA_Check_valid_uplo( uplo );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_object_datatype( A );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_nonconstant_object( B );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_conformal_dims( FLA_NO_TRANSPOSE, A, B );
  FLA_Check_error_code( e_val );

  return FLA_SUCCESS;
}
Пример #7
0
FLA_Error FLA_Set_diag_check( FLA_Obj alpha, FLA_Obj A )
{
  FLA_Error e_val;

  e_val = FLA_Check_valid_object_datatype( A );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_nonconstant_object( A );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_consistent_object_datatype( A, alpha );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_if_scalar( alpha );
  FLA_Check_error_code( e_val );

  return FLA_SUCCESS;
}
Пример #8
0
FLA_Error FLA_Copy_check( FLA_Obj A, FLA_Obj B )
{
  FLA_Error e_val;

  e_val = FLA_Check_valid_object_datatype( A );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_nonconstant_object( B );
  FLA_Check_error_code( e_val );

  if ( FLA_Obj_is_vector( A ) && FLA_Obj_is_vector( B ) )
  {
    e_val = FLA_Check_equal_vector_dims( A, B );
    FLA_Check_error_code( e_val );
  }
  else
  {
    e_val = FLA_Check_conformal_dims( FLA_NO_TRANSPOSE, A, B );
    FLA_Check_error_code( e_val );
  }

  return FLA_SUCCESS;
}
Пример #9
0
FLA_Error FLA_Obj_fshow_check( FILE* file, char* s1, FLA_Obj obj, char* format, char* s2 )
{
  FLA_Error e_val;

  e_val = FLA_Check_null_pointer( file );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( s1 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_object_scalar_elemtype( obj );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_object_datatype( obj );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( format );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( s2 );
  FLA_Check_error_code( e_val );

  return FLA_SUCCESS;
}
FLA_Error FLA_Repart_2x2_to_3x3_check( FLA_Obj ATL, FLA_Obj ATR,  FLA_Obj *A00, FLA_Obj *A01, FLA_Obj *A02,
                                                                  FLA_Obj *A10, FLA_Obj *A11, FLA_Obj *A12,
                                       FLA_Obj ABL, FLA_Obj ABR,  FLA_Obj *A20, FLA_Obj *A21, FLA_Obj *A22,
                                       dim_t   mb,  dim_t    nb,  FLA_Quadrant quadrant )
{
  FLA_Error e_val;

  e_val = FLA_Check_valid_object_datatype( ATL );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_object_datatype( ABL );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_object_datatype( ATR );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_object_datatype( ABR );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( A00 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( A10 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( A20 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( A01 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( A11 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( A21 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( A02 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( A12 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_null_pointer( A22 );
  FLA_Check_error_code( e_val );

  e_val = FLA_Check_valid_quadrant( quadrant );
  FLA_Check_error_code( e_val );

  if      ( quadrant == FLA_TL )
  {
    e_val = FLA_Check_attempted_repart_2x2( ATL, mb, nb );
    FLA_Check_error_code( e_val );
  }
  else if ( quadrant == FLA_TR )
  {
    e_val = FLA_Check_attempted_repart_2x2( ATR, mb, nb );
    FLA_Check_error_code( e_val );
  }
  else if ( quadrant == FLA_BL )
  {
    e_val = FLA_Check_attempted_repart_2x2( ABL, mb, nb );
    FLA_Check_error_code( e_val );
  }
  else if ( quadrant == FLA_BR )
  {
    e_val = FLA_Check_attempted_repart_2x2( ABR, mb, nb );
    FLA_Check_error_code( e_val );
  }

  // Needed: check for adjacency, similar to those in FLA_Merge_*().

  return FLA_SUCCESS;
}