Legacy Issue Number: 18207
Source: dpdx.net ( Brooks Moses)
There are several places where the VSIPL++ passes Domain<> arguments
where only the length portions of the domain are used. The Dense()
constructors are the most egregious cases, but there are others such as
Fftm(). This is confusing to users – we've noticed this in training
classes – and leads to unnecessarily initializing and passing around
the unused fields in the Domain objects.
It would be better to add a smaller object – e.g., Length<>, equivalent
to Index<> – that contains only the length values, and to redefine
these interfaces in terms of it. Implementations can continue to
support the Domain<> versions of the interfaces for backwards compatibility.
In most of these cases where N is fixed, it would also be an even
clearer (and unambiguous) interface to simply accept N length values as
integer arguments, and I suggest that those interfaces should be added
as well. We already effectively have them for the N=1 case because of
the implicit Domain<1>(int) constructor.
Reported: VSIPL++ 1.2 — Tue, 23 Oct 2012 04:00 GMT
Updated: Fri, 6 Mar 2015 20:57 GMT