Using zfft1d in c#

Discussion created by fluktuation on Nov 24, 2009
Latest reply on Jul 20, 2010 by tannergooding


I am trying to use the acml (Intel fortran) Library with c# on a windows xp 32 bit.

I added the functions and the struct as follows:

    public struct doublecomplex
            public double real, imag;

    public class ACMLFunctions


        public static extern void zfft1d(int mode, int length, doublecomplex[] input,doublecomplex[] help, ref int info);

calling the method like this:
zfft1d(0, com.Length, com, ret, ref test);
zfft1d(-1, com.Length, com, ret, ref test);

i'll get back an unchanged array.

using a ref for com and ret (in declaration and in the call)

zfft1d(0, com.Length,ref com,ref ret, ref test);

will crash

If I dont use the 0 Mode(initialisation):

zfft1d(-1, com.Length,ref com,ref ret, ref test);

in the output array remains just the first unchanged element(the array is resized).

I don't get the point, why the ref not work neither why the array is resized. The example csharp project for(dgesdd) works, and there is no reference used.