Static funcs for projecting dt to single/double.

Details:
- Added static functions for projecting a datatype to single precision
  or double precision, both for obj_t's storage datatypes and standalone
  datatypes.
This commit is contained in:
Field G. Van Zee
2018-06-19 15:38:55 -05:00
parent d4a22702c7
commit 5f7fbb7115
2 changed files with 20 additions and 0 deletions

View File

@@ -96,6 +96,16 @@ static bool_t bli_obj_is_double_prec( obj_t* obj )
return ( bli_obj_prec( obj ) == BLIS_BITVAL_DOUBLE_PREC );
}
static num_t bli_obj_dt_proj_to_single_prec( obj_t* obj )
{
return ( bli_obj_dt( obj ) & ~BLIS_BITVAL_SINGLE_PREC );
}
static num_t bli_obj_dt_proj_to_double_prec( obj_t* obj )
{
return ( bli_obj_dt( obj ) | BLIS_BITVAL_DOUBLE_PREC );
}
static bool_t bli_obj_is_real( obj_t* obj )
{
return ( bli_obj_domain( obj ) == BLIS_BITVAL_REAL );

View File

@@ -122,6 +122,16 @@ static num_t bli_dt_proj_to_complex( num_t dt )
return ( dt | BLIS_BITVAL_COMPLEX );
}
static num_t bli_dt_proj_to_single_prec( num_t dt )
{
return ( dt & ~BLIS_BITVAL_SINGLE_PREC );
}
static num_t bli_dt_proj_to_double_prec( num_t dt )
{
return ( dt | BLIS_BITVAL_DOUBLE_PREC );
}
// trans