|
From: | Scott Haney |
Subject: | Re: [pooma-dev] template idiom in the Blitz stencils; TList as a Domain simplification |
Date: | Fri, 15 Jun 2001 15:43:49 -0600 |
On Thursday, June 7, 2001, at 07:31 AM, Allan Stokes wrote:
There might be a case for adopting a TList mechanism to handle vararg constructs in Pooma. The TList itself contains all the nasty code replication. There would no longer be a need for Pooma components to replicate member functions on rank.I don't know to what extend vararg constructs are currently exposed in user level contexts, or how much of an imposition it would be to require users topackage their varargs. A possible compromise would be to retain the functions for 1 to 3dimensions, and only require packaging for extended ranks. Is having threeversions any better than having seven?I'm tossing this construct out first, because it's the least "C++ compliant" of all the conveniences which Domain presently offers. Allowing integers toact as a domain type is also a hassle, but at least it's a hassle the language endorses.
Hi Allan,Having one function would be wonderful from an implementation perspective; however, I believe that asking the users to package their domains would be viewed as ugly and onerous. Providing 7 versions of some functions really isn't all that big of a deal, certainly not significantly harder than providing 3.
I thought that our approach was C++-compliant. Could you explain where it falls short here?
As for integers appearing in a mix of domains, one could legitimately argue that this adds a lot of complexity that might better be handled in other ways: for example, having slices require a specific syntax and doing indexing with a separate set of member functions.
I do like Todd's approach of defining the stencils. It probably wouldn't be horribly hard to try a similar thing with POOMA . Are you interested in pursuing a prototype of, say, a cell->cell divergence for comparison purposes?
Scott
[Prev in Thread] | Current Thread | [Next in Thread] |