Fixed bug in bli_obj_is_packed() and renamed.

Details:
- This macro is used to determine whether the partitioning routines should
  call a corresponding packm_part routine instead. However, it was
  unintentionally catching matrices that were marked as "packed" by virtue
  of them simply being marked as BLIS_PACKED_UNSPEC in, say, bli_gemv().
  The macro has now been renamed to bli_obj_is_panel_packed(), and now only
  checks for row or column panel packing. (Note that I first attempted to
  fix this bug in a571af816d72.) Thanks to Bryan Marker for reporting the
  erroneous behavior that led me to this bug.
This commit is contained in:
Field G. Van Zee
2013-04-15 19:27:57 -05:00
parent 99b99eebe7
commit 2ee6bbca29
2 changed files with 19 additions and 9 deletions

View File

@@ -823,11 +823,12 @@ bli_obj_width_stored( obj )
// Check if an object is a packed object
// NOTE: TRUE here does not mean the actual packing is complete, such as with
// incremental packing.)
// incremental packing.
#define bli_obj_is_packed( obj ) \
#define bli_obj_is_panel_packed( obj ) \
\
( bli_obj_pack_status( obj ) != BLIS_NOT_PACKED )
( bli_obj_pack_status( obj ) == BLIS_PACKED_ROW_PANELS || \
bli_obj_pack_status( obj ) == BLIS_PACKED_COL_PANELS )
// Release object's pack (and cast) memory entries back to memory manager