[vsipl++] Needing help with VSIPL++ nomenclature...

Don McCoy don at codesourcery.com
Tue Mar 6 16:50:54 UTC 2007


Haney, Wayne W. wrote:
>
> The last few days I’ve been researching VSIPL & VSIPL++ in order to 
> integrate into our Submarine SONAR code. The VSIPL++ specification is 
> confusing with the definition of what a Domain<> is. Could you please 
> elucidate a bit more on what Domain<>s are? Any information you can 
> give is greatly appreciated.
>
Domains provide an efficient way to specify a subset of the elements in 
a particular view, i.e. a matrix or a vector. In specifying a domain, 
one gives the starting index, an element-to-element stride and a length. 
Using domains is one way to extract a "sub-view" from a set of data, for 
cases where built-in methods are inadequate.

Normally, subviews are expressed through various, more convenient, view 
member functions which depend on type of view being considered. For 
example, complex views provide the real() and imag() subviews that one 
would expect. These could also be expressed with domains, but one must 
then be concerned with whether the data is held in split or interleaved 
forms.

Other examples of subviews are the row() and col() operators for 
matrices, which again may be expressed using domains, but only given 
foreknowledge of whether the data is stored in row-major or col-major 
form, etc...

In short, domains are an important construct but are not often needed 
(at least in application programs) due to the high-level syntax provided 
by the VSIPL++ standard.

I'd encourage you to take a look at the tutorial if you haven't already. 
It contains an in-depth example (fast convolution), which is relevant to 
a number of signal processing algorithms. The reference section included 
in part two discusses views, subviews and domains among other things.

http://www.codesourcery.com/vsiplplusplus/1.3/tutorial.pdf


I personally find it easier to work from things like the tutorial or 
from functional examples. We do not at this time have as many examples 
as I would like, but we are adding more all the time. If you have any 
specific requests, please don't hesitate to contact us again. We'll do 
everything we can to assist you in your evaluation! Feedback is 
appreciated as well.

Regards,

-- 
Don McCoy
don (at) CodeSourcery
(888) 776-0262 / (650) 331-3385, x712




More information about the vsipl++ mailing list