Issue 18207: Domain<> is used when unneeded (vsiplxx-rtf) Source: (Mr. Brooks Moses, brooks.moses(at)dpdx.net) Nature: Enhancement Severity: Minor 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. Resolution: In the interest of closing the current RTF so that the solutions to resolved issues can be made publically available, this issue is deferred to the next RTF. Disposition: Deferred Revised Text: Actions taken: October 23, 2012: received issue Discussion: End of Annotations:===== te: Tue, 23 Oct 2012 12:09:33 -0700 From: Brooks Moses User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20120216 Thunderbird/10.0.2 To: Subject: VSIPL++ issue (#16 from me) X-OriginalArrivalTime: 23 Oct 2012 19:09:34.0169 (UTC) FILETIME=[F0107490:01CDB151] Name: Brooks Moses Employer: Mentor Graphics mailFrom: brooks_moses@mentor.com Terms_Agreement: I agree Specification: VSIPL++ Section: 6.3 [block.dense] and others FormalNumber: ptc/2012-07-27 Version: 1.2 - FTF Beta 1 Doc_Year: 2012 Doc_Month: August Doc_Day: 10 Page: 28 and others Title: Domain<> is used when unneeded. Nature: Enhancement Severity: Minor B1: Report Issue Description: 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. - Brooks