Hello,

I found a way how to correctly implement multidimensional functional map for ndslices and for packed ndslices (tensors composed of tensors). It allows 1. a compiler to use vectorisation with SIMD instructions like `fabs` or `sqrt` for example. But first [1] should be merged
 2. to manage mapped ndslices as common ndslices.
In additional the future ndmap abstraction has zero computational cost.

The are 6 ndslice PRs, which should be merged first [1]. Please help to review and merge this. They does not contain any new API names, but optimizations and small API enhancements, which was delayed before because I wanted to get enough experience with ndslice first.

ndslice is in experimental and it is the most generic package in Phobos along with new regex. Regex has a lot CTFE-able magic, ndslice operates with abstract entities. Feel free to ask questions if you want to have more detailed imagination about implementation.

[1] https://github.com/dlang/phobos/pulls?q=is%3Aopen+is%3Apr+author%3A9il+label%3Andslice

Thank you and best regards,
Ilya

Reply via email to