VSIPL 1.6 RTF Avatar
  1. OMG Issue

VSIPL16 — Domain<> is used when unneeded

  • Key: VSIPL16-12
  • Legacy Issue Number: 18207
  • Status: open  
  • Source: dpdx.net ( Brooks Moses)
  • Summary:

    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