diff --git a/frame/include/bli_obj_macro_defs.h b/frame/include/bli_obj_macro_defs.h index 60176d98c..bf1259a57 100644 --- a/frame/include/bli_obj_macro_defs.h +++ b/frame/include/bli_obj_macro_defs.h @@ -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 ); diff --git a/frame/include/bli_param_macro_defs.h b/frame/include/bli_param_macro_defs.h index 5584f8ed0..e8343d804 100644 --- a/frame/include/bli_param_macro_defs.h +++ b/frame/include/bli_param_macro_defs.h @@ -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