Tightened some macros that detect datatypes.

Details:
- Modified the definitions of some macros, such as bli_is_real(), so that
  the "special" bit is taken into account so that BLIS_INT is differentiated
  from BLIS_FLOAT.
- Whitespace changes to bli_obj_macro_defs.h.
- Removed BLIS_SPECIAL_BIT definition from bli_type_defs.h, since it wasn't
  being used.
This commit is contained in:
Field G. Van Zee
2013-07-22 12:54:32 -05:00
parent b33e2f4443
commit 03f6c35997
3 changed files with 36 additions and 29 deletions

View File

@@ -40,6 +40,30 @@
// Info query
#define bli_obj_is_float( obj ) \
\
( ( (obj).info & BLIS_DATATYPE_BITS ) == BLIS_BITVAL_FLOAT_TYPE )
#define bli_obj_is_double( obj ) \
\
( ( (obj).info & BLIS_DATATYPE_BITS ) == BLIS_BITVAL_DOUBLE_TYPE )
#define bli_obj_is_scomplex( obj ) \
\
( ( (obj).info & BLIS_DATATYPE_BITS ) == BLIS_BITVAL_SCOMPLEX_TYPE )
#define bli_obj_is_dcomplex( obj ) \
\
( ( (obj).info & BLIS_DATATYPE_BITS ) == BLIS_BITVAL_DCOMPLEX_TYPE )
#define bli_obj_is_int( obj ) \
\
( ( (obj).info & BLIS_DATATYPE_BITS ) == BLIS_BITVAL_INT_TYPE )
#define bli_obj_is_const( obj ) \
\
( ( (obj).info & BLIS_DATATYPE_BITS ) == BLIS_BITVAL_CONST_TYPE )
#define bli_obj_domain( obj ) \
\
( (obj).info & BLIS_DOMAIN_BIT )
@@ -80,30 +104,6 @@
\
( ( (obj).info & BLIS_EXECUTION_DT_BITS ) >> BLIS_EXECUTION_DT_SHIFT )
#define bli_obj_is_float( obj ) \
\
( ( (obj).info & BLIS_DATATYPE_BITS ) == BLIS_BITVAL_FLOAT_TYPE )
#define bli_obj_is_double( obj ) \
\
( ( (obj).info & BLIS_DATATYPE_BITS ) == BLIS_BITVAL_DOUBLE_TYPE )
#define bli_obj_is_scomplex( obj ) \
\
( ( (obj).info & BLIS_DATATYPE_BITS ) == BLIS_BITVAL_SCOMPLEX_TYPE )
#define bli_obj_is_dcomplex( obj ) \
\
( ( (obj).info & BLIS_DATATYPE_BITS ) == BLIS_BITVAL_DCOMPLEX_TYPE )
#define bli_obj_is_int( obj ) \
\
( ( (obj).info & BLIS_DATATYPE_BITS ) == BLIS_BITVAL_INT_TYPE )
#define bli_obj_is_const( obj ) \
\
( ( (obj).info & BLIS_DATATYPE_BITS ) == BLIS_BITVAL_CONST_TYPE )
#define bli_obj_conjtrans_status( obj ) \
\
( (obj).info & BLIS_CONJTRANS_BITS )

View File

@@ -75,21 +75,29 @@
\
( dt == BLIS_CONSTANT )
#define bli_is_int( dt ) \
\
( dt == BLIS_INT )
#define bli_is_real( dt ) \
\
( ( dt & BLIS_DOMAIN_BIT ) == BLIS_BITVAL_REAL )
( bli_is_float( dt ) || \
bli_is_double( dt ) )
#define bli_is_complex( dt ) \
\
( ( dt & BLIS_DOMAIN_BIT ) == BLIS_BITVAL_COMPLEX )
( bli_is_scomplex( dt ) || \
bli_is_dcomplex( dt ) )
#define bli_is_single_prec( dt ) \
\
( ( dt & BLIS_PRECISION_BIT ) == BLIS_BITVAL_SINGLE_PREC )
( bli_is_float( dt ) || \
bli_is_scomplex( dt ) )
#define bli_is_double_prec( dt ) \
\
( ( dt & BLIS_PRECISION_BIT ) == BLIS_BITVAL_DOUBLE_PREC )
( bli_is_double( dt ) || \
bli_is_dcomplex( dt ) )
#define bli_datatype_proj_to_real( dt ) \
\

View File

@@ -145,7 +145,6 @@ typedef dcomplex f77_dcomplex;
#define BLIS_DOMAIN_BIT 0x01
#define BLIS_PRECISION_BIT 0x02
#define BLIS_SPECIAL_BIT 0x04
#define BLIS_DATATYPE_BITS 0x07
#define BLIS_TRANS_BIT 0x08
#define BLIS_CONJ_BIT 0x10