Moved implementations of scan and distributed scan into the detail namespace
The algorithms are supposed to be used via overloaded plain functions in the Algorithms namespace: for now, there are only inplaceInclusiveScan and inplaceExclusiveScan (and their distributed variant). The scan and segmentedScan methods were removed from data structures (Vector, VectorView, DistributedVector, DistributedVectorView). They were inflexible (only std::plus was actually used for reduction), incomplete (some overloads just threw NotImplementedError), and they were violating the open-closed principle: https://en.wikipedia.org/wiki/Open%E2%80%93closed_principle
parent
624e709f
Please register or sign in to comment