Ejemplo n.º 1
0
        public static NativeMatrix <T> AllocateMatrix <T>(int nx, int ny) where T : struct
        {
            var size = NativeMatrix <T> .ElementSize;

            IntPtr ptr = Fftw.Malloc((IntPtr)(nx * ny * size));

            _allPointers.Add(ptr);

            return(new NativeMatrix <T>(ptr, nx, ny));
        }
Ejemplo n.º 2
0
        public static NativeArray <T> AllocateArray <T>(int length) where T : struct
        {
            var size = NativeArray <T> .ElementSize;

            IntPtr ptr = Fftw.Malloc((IntPtr)(length * size));

            _allPointers.Add(ptr);

            return(new NativeArray <T>(ptr, length));
        }
Ejemplo n.º 3
0
 private void ReleaseUnmanagedResources()
 {
     Fftw.DestroyPlan(_planPtr);
 }
Ejemplo n.º 4
0
 public override void Execute <T>(NativeArray <T> array)
 {
     Fftw.ExecuteDft(PlanPtr, array.Ptr, array.Ptr);
 }
Ejemplo n.º 5
0
 public override void Execute()
 {
     Fftw.Execute(PlanPtr);
 }
Ejemplo n.º 6
0
        public static Plan Create(NativeArray <SingleComplex> array, Direction direction)
        {
            IntPtr ptr = Fftw.PlanDft1D(array.Length, array.Ptr, array.Ptr, (int)direction, (uint)Flags.Estimate);

            return(new ArrayPlan <SingleComplex>(ptr, array));
        }