|
libflame
12600
|
Functions | |
| FLA_Error | FLA_Obj_copy_view (FLA_Obj A, FLA_Obj *B) |
| void | FLA_Obj_extract_real_scalar (FLA_Obj alpha, double *alpha_value) |
| void | FLA_Obj_extract_complex_scalar (FLA_Obj alpha, dcomplex *alpha_value) |
| void | FLA_Obj_extract_real_part (FLA_Obj a, FLA_Obj b) |
| void | FLA_Obj_extract_imag_part (FLA_Obj a, FLA_Obj b) |
| void | FLA_Obj_set_real_part (FLA_Obj alpha, FLA_Obj B) |
| void | FLA_Obj_set_imag_part (FLA_Obj alpha, FLA_Obj B) |
| FLA_Error | FLA_Obj_fshow (FILE *file, char *s1, FLA_Obj A, char *format, char *s2) |
| FLA_Error | FLA_Obj_show (char *s1, FLA_Obj A, char *format, char *s2) |
| FLA_Error FLA_Obj_copy_view | ( | FLA_Obj | A, |
| FLA_Obj * | B | ||
| ) |
References FLA_Check_error_level(), FLA_Obj_copy_view_check(), FLASH_Obj_scalar_length(), FLASH_Obj_scalar_width(), FLA_Obj_view::m_inner, and FLA_Obj_view::n_inner.
{
FLA_Obj A_view;
if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
FLA_Obj_copy_view_check( A, B );
// Set the m_inner and n_inner fields of a temporary copy of A.
A_view = A;
A_view.m_inner = FLASH_Obj_scalar_length( A );
A_view.n_inner = FLASH_Obj_scalar_width( A );
// Copy the modified view into B.
*B = A_view;
return FLA_SUCCESS;
}
| void FLA_Obj_extract_complex_scalar | ( | FLA_Obj | alpha, |
| dcomplex * | alpha_value | ||
| ) |
References FLA_Check_error_level(), FLA_Obj_extract_complex_scalar_check(), FLA_Obj_is_single_precision(), scomplex::imag, dcomplex::imag, scomplex::real, and dcomplex::real.
{
if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
FLA_Obj_extract_complex_scalar_check( alpha, alpha_value );
if ( FLA_Obj_is_single_precision( alpha ) )
{
scomplex temp = *FLA_COMPLEX_PTR( alpha );
alpha_value->real = ( double ) temp.real;
alpha_value->imag = ( double ) temp.imag;
}
else
*alpha_value = *FLA_DOUBLE_COMPLEX_PTR( alpha );
}
| void FLA_Obj_extract_imag_part | ( | FLA_Obj | a, |
| FLA_Obj | b | ||
| ) |
References bl1_dcopy(), bl1_dsetv(), bl1_scopy(), bl1_ssetv(), FLA_Check_error_level(), FLA_Obj_datatype(), FLA_Obj_extract_imag_part_check(), FLA_Obj_vector_dim(), FLA_Obj_vector_inc(), and FLA_ZERO.
{
FLA_Datatype datatype;
int m, inc_a, inc_b;
if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
FLA_Obj_extract_imag_part_check( a, b );
datatype = FLA_Obj_datatype( a );
m = FLA_Obj_vector_dim( a );
inc_a = FLA_Obj_vector_inc( a );
inc_b = FLA_Obj_vector_inc( b );
switch ( datatype )
{
case FLA_FLOAT:
{
float* buff_b = FLA_FLOAT_PTR( b );
float* buff_0 = FLA_FLOAT_PTR( FLA_ZERO );
bl1_ssetv( m,
buff_0,
buff_b, inc_b );
break;
}
case FLA_DOUBLE:
{
double* buff_b = FLA_DOUBLE_PTR( b );
double* buff_0 = FLA_DOUBLE_PTR( FLA_ZERO );
bl1_dsetv( m,
buff_0,
buff_b, inc_b );
break;
}
case FLA_COMPLEX:
{
float* buff_a = FLA_FLOAT_PTR( a );
float* buff_b = FLA_FLOAT_PTR( b );
bl1_scopy( m,
++buff_a, inc_a*2,
buff_b, inc_b );
break;
}
case FLA_DOUBLE_COMPLEX:
{
double* buff_a = FLA_DOUBLE_PTR( a );
double* buff_b = FLA_DOUBLE_PTR( b );
bl1_dcopy( m,
++buff_a, inc_a*2,
buff_b, inc_b );
break;
}
}
}
| void FLA_Obj_extract_real_part | ( | FLA_Obj | a, |
| FLA_Obj | b | ||
| ) |
References bl1_dcopy(), bl1_scopy(), FLA_Check_error_level(), FLA_Obj_datatype(), FLA_Obj_extract_real_part_check(), FLA_Obj_vector_dim(), and FLA_Obj_vector_inc().
Referenced by FLA_QR_UT_piv_colnorm().
{
FLA_Datatype datatype;
int m, inc_a, inc_b;
if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
FLA_Obj_extract_real_part_check( a, b );
datatype = FLA_Obj_datatype( a );
m = FLA_Obj_vector_dim( a );
inc_a = FLA_Obj_vector_inc( a );
inc_b = FLA_Obj_vector_inc( b );
switch ( datatype )
{
case FLA_FLOAT:
{
float* buff_a = FLA_FLOAT_PTR( a );
float* buff_b = FLA_FLOAT_PTR( b );
bl1_scopy( m,
buff_a, inc_a,
buff_b, inc_b );
break;
}
case FLA_DOUBLE:
{
double* buff_a = FLA_DOUBLE_PTR( a );
double* buff_b = FLA_DOUBLE_PTR( b );
bl1_dcopy( m,
buff_a, inc_a,
buff_b, inc_b );
break;
}
case FLA_COMPLEX:
{
float* buff_a = FLA_FLOAT_PTR( a );
float* buff_b = FLA_FLOAT_PTR( b );
bl1_scopy( m,
buff_a, inc_a*2,
buff_b, inc_b );
break;
}
case FLA_DOUBLE_COMPLEX:
{
double* buff_a = FLA_DOUBLE_PTR( a );
double* buff_b = FLA_DOUBLE_PTR( b );
bl1_dcopy( m,
buff_a, inc_a*2,
buff_b, inc_b );
break;
}
}
}
| void FLA_Obj_extract_real_scalar | ( | FLA_Obj | alpha, |
| double * | alpha_value | ||
| ) |
References FLA_Check_error_level(), FLA_Obj_extract_real_scalar_check(), and FLA_Obj_is_single_precision().
{
if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
FLA_Obj_extract_real_scalar_check( alpha, alpha_value );
if ( FLA_Obj_is_single_precision( alpha ) )
*alpha_value = ( double ) *FLA_FLOAT_PTR( alpha );
else
*alpha_value = *FLA_DOUBLE_PTR( alpha );
}
| FLA_Error FLA_Obj_fshow | ( | FILE * | file, |
| char * | s1, | ||
| FLA_Obj | A, | ||
| char * | format, | ||
| char * | s2 | ||
| ) |
References FLA_Check_error_level(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_fshow_check(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_width(), scomplex::imag, scomplex::real, and dcomplex::real.
Referenced by FLA_Obj_show().
{
FLA_Datatype datatype;
dim_t i, j, m, n;
dim_t rs, cs;
if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
FLA_Obj_fshow_check( file, s1, A, format, s2 );
datatype = FLA_Obj_datatype( A );
m = FLA_Obj_length( A );
n = FLA_Obj_width( A );
rs = FLA_Obj_row_stride( A );
cs = FLA_Obj_col_stride( A );
fprintf( file, "%s\n", s1 );
switch ( datatype ){
case FLA_CONSTANT:
{
int* consti = FLA_INT_PTR( A );
float* consts = FLA_FLOAT_PTR( A );
double* constd = FLA_DOUBLE_PTR( A );
scomplex* constc = FLA_COMPLEX_PTR( A );
dcomplex* constz = FLA_DOUBLE_COMPLEX_PTR( A );
fprintf( file, "int = %d\n", *consti );
fprintf( file, "float = %e\n", *consts );
fprintf( file, "double = %e\n", *constd );
fprintf( file, "scomplex = %e + %e\n", constc->real, constc->imag );
fprintf( file, "dcomplex = %e + %e\n", constz->real, constc->imag );
break;
}
case FLA_FLOAT:
{
float *buffer = ( float * ) FLA_FLOAT_PTR( A );
for ( i = 0; i < m; i++ )
{
for ( j = 0; j < n; j++ )
{
fprintf( file, format, buffer[ j*cs + i*rs ] );
fprintf( file, " " );
}
fprintf( file, "\n" );
}
break;
}
case FLA_DOUBLE:
{
double *buffer = ( double * ) FLA_DOUBLE_PTR( A );
for ( i = 0; i < m; i++ )
{
for ( j = 0; j < n; j++ )
{
fprintf( file, format, buffer[ j*cs + i*rs ] );
fprintf( file, " " );
}
fprintf( file, "\n" );
}
break;
}
case FLA_COMPLEX:
{
scomplex *buffer = ( scomplex * ) FLA_COMPLEX_PTR( A );
for ( i = 0; i < m; i++ )
{
for ( j = 0; j < n; j++ )
{
//fprintf( file, format, buffer[ j*cs + i*rs ].real, buffer[ j*cs + i*rs ].imag );
//fprintf( file, " " );
fprintf( file, format, buffer[ j*cs + i*rs ].real );
fprintf( file, " + i * " );
fprintf( file, format, buffer[ j*cs + i*rs ].imag );
fprintf( file, " " );
}
fprintf( file, "\n" );
}
break;
}
case FLA_DOUBLE_COMPLEX:
{
dcomplex *buffer = ( dcomplex * ) FLA_DOUBLE_COMPLEX_PTR( A );
for ( i = 0; i < m; i++ )
{
for ( j = 0; j < n; j++ )
{
//fprintf( file, format, buffer[ j*cs + i*rs ].real, buffer[ j*cs + i*rs ].imag );
//fprintf( file, " " );
fprintf( file, format, buffer[ j*cs + i*rs ].real );
fprintf( file, " + i * " );
fprintf( file, format, buffer[ j*cs + i*rs ].imag );
fprintf( file, " " );
}
fprintf( file, "\n" );
}
break;
}
case FLA_INT:
{
int *buffer = ( int * ) FLA_INT_PTR( A );
for ( i = 0; i < m; i++ )
{
for ( j = 0; j < n; j++ )
{
fprintf( file, format, buffer[ j*cs + i*rs ] );
fprintf( file, " " );
}
fprintf( file, "\n" );
}
break;
}
}
fprintf( file, "%s\n", s2 );
return FLA_SUCCESS;
}
| void FLA_Obj_set_imag_part | ( | FLA_Obj | alpha, |
| FLA_Obj | B | ||
| ) |
References FLA_Check_error_level(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_is_complex(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_set_imag_part_check(), FLA_Obj_width(), scomplex::imag, and dcomplex::imag.
Referenced by FLA_Bidiag_UT_l_realify_unb(), and FLA_Bidiag_UT_u_realify_unb().
{
dim_t m_B;
dim_t n_B;
dim_t rs_B;
dim_t cs_B;
dim_t i, j;
m_B = FLA_Obj_length( B );
n_B = FLA_Obj_width( B );
rs_B = FLA_Obj_row_stride( B );
cs_B = FLA_Obj_col_stride( B );
if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
FLA_Obj_set_imag_part_check( alpha, B );
if ( FLA_Obj_is_complex( B ) )
{
if ( FLA_Obj_datatype( B ) == FLA_COMPLEX )
{
float* buff_alpha = FLA_FLOAT_PTR( alpha );
scomplex* buff_B = FLA_COMPLEX_PTR( B );
for ( j = 0; j < n_B; ++j )
{
for ( i = 0; i < m_B; ++i )
{
scomplex* beta11 = buff_B + rs_B * i + cs_B * j;
beta11->imag = *buff_alpha;
}
}
}
else if ( FLA_Obj_datatype( B ) == FLA_DOUBLE_COMPLEX )
{
double* buff_alpha = FLA_DOUBLE_PTR( alpha );
dcomplex* buff_B = FLA_DOUBLE_COMPLEX_PTR( B );
for ( j = 0; j < n_B; ++j )
{
for ( i = 0; i < m_B; ++i )
{
dcomplex* beta11 = buff_B + rs_B * i + cs_B * j;
beta11->imag = *buff_alpha;
}
}
}
}
}
| void FLA_Obj_set_real_part | ( | FLA_Obj | alpha, |
| FLA_Obj | B | ||
| ) |
References FLA_Check_error_level(), FLA_Obj_col_stride(), FLA_Obj_datatype(), FLA_Obj_is_complex(), FLA_Obj_length(), FLA_Obj_row_stride(), FLA_Obj_set_real_part_check(), FLA_Obj_width(), scomplex::real, and dcomplex::real.
{
dim_t m_B;
dim_t n_B;
dim_t rs_B;
dim_t cs_B;
dim_t i, j;
m_B = FLA_Obj_length( B );
n_B = FLA_Obj_width( B );
rs_B = FLA_Obj_row_stride( B );
cs_B = FLA_Obj_col_stride( B );
if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
FLA_Obj_set_real_part_check( alpha, B );
if ( FLA_Obj_is_complex( B ) )
{
if ( FLA_Obj_datatype( B ) == FLA_COMPLEX )
{
float* buff_alpha = FLA_FLOAT_PTR( alpha );
scomplex* buff_B = FLA_COMPLEX_PTR( B );
for ( j = 0; j < n_B; ++j )
{
for ( i = 0; i < m_B; ++i )
{
scomplex* beta11 = buff_B + rs_B * i + cs_B * j;
beta11->real = *buff_alpha;
}
}
}
else if ( FLA_Obj_datatype( B ) == FLA_DOUBLE_COMPLEX )
{
double* buff_alpha = FLA_DOUBLE_PTR( alpha );
dcomplex* buff_B = FLA_DOUBLE_COMPLEX_PTR( B );
for ( j = 0; j < n_B; ++j )
{
for ( i = 0; i < m_B; ++i )
{
dcomplex* beta11 = buff_B + rs_B * i + cs_B * j;
beta11->real = *buff_alpha;
}
}
}
}
}
| FLA_Error FLA_Obj_show | ( | char * | s1, |
| FLA_Obj | A, | ||
| char * | format, | ||
| char * | s2 | ||
| ) |
References FLA_Check_error_level(), FLA_Obj_fshow(), and FLA_Obj_show_check().
Referenced by FLASH_Obj_show().
{
if ( FLA_Check_error_level() >= FLA_MIN_ERROR_CHECKING )
FLA_Obj_show_check( s1, A, format, s2 );
return FLA_Obj_fshow( stdout, s1, A, format, s2 );
}
1.7.6.1