Skip to content
  • Mark OLESEN's avatar
    ENH: mapDistributeBase compaction based on a subset of elements (#2436) · 15535b89
    Mark OLESEN authored and Andrew Heather's avatar Andrew Heather committed
    - now have both compactData(),compactLocalData(), compactRemoteData()
      depending on where the compaction information is actually known.
    
      The compactData() performs a consistent union of local and remote
      values, which eliminates the danger of mapping to non-existent
      locations but does require a double communication to setup.
      Typically needed for point maps (for example).
    
      The compactLocalData() and compactRemoteData() work on the
      assumption that the source or target values are sufficent for
      creating unique compact maps.
    
      Can be used, for example, when compacting cell maps since there is
      no possibility of a source cell being represented on different
      target processors (ie, each cell is unique and only occurs once).
    
      The existing compact() is equivalent to compactRemoteData()
      and is now simply a redirect.
    
    - use bitSet for defining compaction, but the existing compact()
      continues to use a boolList (for code compatibility).
    
    BUG: compaction in non-parallel mode didn't compact anything.
    
    STYLE: compact ascii output for procAddressing
    15535b89