Juergen,
At 10:25 22-08-2000 +0200, you wrote:
>Hello,
>
>For some filtering of matrices I need to act on the real and the
>imaginary part seperately (the filter is real). For now, I
>copy the real (and imaginary) part into a temporary matrix, and
>act on these like:
> temp(1:N,1:N) = real(mat(1:N,1:N)
> call filter(filtercoefs, temp)
> erg(1:N,1:N) = temp(1:N,1:N)
>
> temp(1:N,1:N) = real(mat(1:N,1:N)
> call filter(filtercoefs, temp)
> erg(1:N,1:N) = erg(1:N,1:N) + cmplx(0.0, temp(1:N,1:N))
>
>
>However I was wondering if the storage scheme of complex numbers is
>defined in the standard, or if the storage scheme was just adopted by
>all compiler manufacturers. If it was standardized, a 2-stride "real" access
>of the complex matrix would yield the real (or the imaginary) parts.
>
>so: is the storage scheme of complex numbers standardized?
Yes, Standard Fortran 90, section 4.3.1.3 states that
a value of complex type is an ordered pair of real values.
The first real value is the real part and the second the imaginary part.
--
Meilleures Salutations,
Kindest Regards,
/---
Jan van Oosterwijk
Computing Centre
Delft University of Technology
Postbus 354
2600 AJ Delft
Netherlands / Pays-Bas
mailto:[log in to unmask]
Phone: +31 15 278 50 17
Fax: +31 15 278 37 87
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|