/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version: 1.3.21
 *
 * Do not make changes to this file unless you know what you are doing--modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */


Class name: IFFT extends: UnitGenerator fields: swigCPtrForIFFT {

  Method [ pvtSetCPtr: newCPtr memoryOwn: newCMemoryOwn
    super pvtSetCPtr: (CslNI cslNI_SWIGIFFTToUnitGenerator: newCPtr) memoryOwn: newCMemoryOwn.
    swigCPtrForIFFT := newCPtr.
  ]

  Method [ getCPtrForIFFT
    ^swigCPtrForIFFT
  ]


  Method[ swigFinalize
    super swigFinalize.
    self delete.
  ]

  Method [ delete 
    (swigCMemoryOwn and:[ swigCPtrForIFFT ~~ 0 ]) ifTrue:[
      swigCMemoryOwn := false.
      CslNI cslNI_delete_IFFT: swigCPtrForIFFT.
    ].
    swigCPtrForIFFT := 0.
    super delete.
  ]

  Function[ getCPtr: obj
     obj isNil ifTrue:[^0].
     ^obj getCPtrForIFFT
  ]

  Function [ flags: flags size: size
    ^self fromPointer: (CslNI cslNI_new_IFFT__SWIG_0: flags, size) memoryOwn: true
  ]

  Function [ flags: flags
    ^self fromPointer: (CslNI cslNI_new_IFFT__SWIG_1: flags) memoryOwn: true
  ]

  Function [ new
    ^self fromPointer: (CslNI cslNI_new_IFFT__SWIG_2) memoryOwn: true
  ]

  Method [ fftSize 
    ^CslNI cslNI_IFFT_fftSize: swigCPtrForIFFT 
  ]

  Method [ binValue: binNumber outRealPart: outRealPart outComplexPart: outComplexPart 
    CslNI cslNI_IFFT_binValue: swigCPtrForIFFT with: binNumber with: (SwigTypePfloat getCPtr: outRealPart) with: (SwigTypePfloat getCPtr: outComplexPart)
  ]

  Method [ binValueMagPhase: binNumber outMag: outMag outPhase: outPhase 
    CslNI cslNI_IFFT_binValueMagPhase: swigCPtrForIFFT with: binNumber with: (SwigTypePfloat getCPtr: outMag) with: (SwigTypePfloat getCPtr: outPhase)
  ]

  Method [ setBin: binNumber realPart: realPart complexPart: complexPart 
    CslNI cslNI_IFFT_setBin: swigCPtrForIFFT with: binNumber with: realPart with: complexPart
  ]

  Method [ setBins: real complex: complex 
    CslNI cslNI_IFFT_setBins__SWIG_0: swigCPtrForIFFT with: (SwigTypePfloat getCPtr: real) with: (SwigTypePfloat getCPtr: complex)
  ]

  Method [ setBins: lower upper: upper real: real complex: complex 
    CslNI cslNI_IFFT_setBins__SWIG_1: swigCPtrForIFFT with: lower with: upper with: (SwigTypePfloat getCPtr: real) with: (SwigTypePfloat getCPtr: complex)
  ]

  Method [ setBinMagPhase: binNumber mag: mag phase: phase 
    CslNI cslNI_IFFT_setBinMagPhase: swigCPtrForIFFT with: binNumber with: mag with: phase
  ]

  Method [ setBinsMagPhase: mags phases: phases 
    CslNI cslNI_IFFT_setBinsMagPhase: swigCPtrForIFFT with: (SwigTypePfloat getCPtr: mags) with: (SwigTypePfloat getCPtr: phases)
  ]

}
