Blitz logo

Blitz Support :

From: Edward Grace (ej.grace_at_[hidden])
Date: 2004-05-07 05:44:01


> Cool! I've sent along your notice to the support list. Thanks
> for doing this!

Your welcome. Kudos for developing this library, it looks impressive. One of
my main frustrations with C++ has been the complete absense of any decent
array handling. (std::valarray doesn't count)....

One of the reasons I have started investigating this library is in relation to
interfacing with MATLAB.

The concept of storage orders seems to be almost what is needed, but at the
same time I doubt it will work. I have started using MATLAB for the
convenience of prototyping, data analysis etc. Unfortunately the part of the
MATLAB API I am using deals with complex numbers using seperate arrays for
the real and imaginary parts, rather than one array of (say) complex<double>.

The library requires:

        double* realPart;
        double* imagPart;

Whereas a typical array (even in Blitz++) would be

        Array<complex<double>,2> A(2,2);

A pointer to which is given by:
        complex<double>* complexArray=A.data();

Is there any way (no matter how contrived), that pointers to the real and
imaginary parts can be returned such that

        realPart++; imagPart++;

point to the next real and imaginary double?

If this question is better suited to a discussion board please advise me where
it should go...

Thanks,

-ed