]     None<NNone<FST  dThe implementation works on all arrays of rank less than or equal to 3. The result is un-normalised. WIn contrast to plain CUFFT functions the data is redundant. That is, an array of shape sh% is transformed to an array of shape sh. This way, all dimensions of an array are handled the same way. Chances are good, that the internal post processing is fused with following array operations and thus the redundant data will not be stored in a manifest array.vImitate cuComplex types by interleaving real and imaginary components. Adds a least-significant dimension of extent 2.< !"#$%&'()*+,-./01234567 89:;<=>?@ABC !"#$)&%+'*(,.-/0NoneFST The plan must be created in the D target where  ? is executed. That is, if using cuFFT you always have to use a run*With function.   NoneFST!MThe plan must be created for the target where the transform is executed. See  for details.     E       !"#$%&'()*+, -./0123456789:;<=>?@ABC+accelerate-cufft-1.0-Ik0lwLrTGxtHG7zqDQQiYW#Data.Array.Accelerate.CUFFT.Batched"Data.Array.Accelerate.CUFFT.Single%Data.Array.Accelerate.CUFFT.RealClass#Data.Array.Accelerate.CUFFT.Privateplan1DRealModeBatch3Batch2Batch1Batch0Handle Transform getBestTarget transformforwardComplexinverseComplex forwardReal inverseRealplan2Dplan3Dswitch interleave WithDevicePtrrunWithDevicePtr ExecuteSignExecuteModeC2R getModeC2RModeR2C getModeR2CModeC2C getModeC2Cexecute plainTypesunwrapfsigntypes wrapFallbackwrapTypesC2RR2CC2CSign forwardSign inverseSign makeHandleatTarget transform2D transform3DmodeC2C modeC2CFloat modeC2CDoublemodeR2CmodeC2RtransformForeign withDevicePtr deinterleaveaddDim removeDimtakeHalfmirror2accelerate-llvm-ptx-1.1.0.0-6TsvFrB2omy2DbTZK5Hmc7%Data.Array.Accelerate.LLVM.PTX.TargetPTX