slayoo/icicle — Issue #27: could the code be written with the array container as a template parameter? (i.e. switching between Blitz++, Boost.MultiArray, TNT, Armadillo, Boost.uBLAS, MTL, ...)
Author: slayoo
Created: 2011-11-15 21:23:19+00:00
State: open

It could be a great test for the code (and the libraries).
Some things to consider first:
- support for overloaded arithmetic operators (Boost.Multi_Array does not have one)
- redefined abs(), sqrt(), pow(), ... functions
- implementation using expression templates
- support for arbitrary indexing (incl. negative indices for haloes - Boost.uBLAS does not support it)
- availability of a where()-like feature
- possibility to create a "view" of an array with permuted ranks
- support for arrays of tuples (extractComponent() in Blitz)
- interoperability with boost::units (validity of pointer arithmetics; quantity vs. Array)
- availability in packages for various distros