enthought/distarray — pull request #260 by kwmsmith (2014-03-31 15:31:46+00:00)
Title: Refactors local maps

This PR refactors local maps into a top-level `MDMap` class (Multi-dimensional map) and several 1D map classes: `BlockMap`, `CyclicMap`, `BlockCyclicMap`, and `UnstructuredMap`. This is a refactoring only -- no API changes, other than the removal of the `IndexMap` class and helper functions.

The intent is to allow a more compact representation of the local maps internal data, and to settle on a consistent API for the local maps. For instance, `BlockMap` and `CyclicMap` only keep a few integers around rather than generating all indices for their maps. `UnstructuredMap` does keep all indices around, since it is the fully general case.