úÎ\UY4+      !"#$%&'()* Safe-Infered @A transform which may be applied to vectors of different sizes. A  can be used to run an fftw algorithm for a specific input/ output size. +The (only) valid input size for this plan. ,The (only) valid output size for this plan. Run a plan on the given +. If  p / = length v, then calling   execute p v will throw an exception. ORun a plan on the given mutable vectors. The same vector may be used for both  input and output. If  p / = length vIn or  p / = length vOut,  then calling unsafeExecuteM p vIn vOut will throw an exception.  Create a ( of a specific size for this transform.  Create a 5 of a specific size. This function is equivalent to    . Create and run a  for the given transform. ,BHelper function; seems like it should be in the vector package... -./0123456 The plan to run. The input vector. The output vector. 789:,;<-./0123456 789:,-./0123456 789:,;< Safe-Infered     Safe-Infered PA forward discrete Fourier transform. The output and input sizes are the same (n). 'y_k = sum_(j=0)^(n-1) x_j e^(-2pi i j k/n)QA backward discrete Fourier transform. The output and input sizes are the same (n). &y_k = sum_(j=0)^(n-1) x_j e^(2pi i j k/n)KA forward discrete Fourier transform with real data. If the input size is n,  the output size will be n `div` 2 + 1. @A backward discrete Fourier transform which produces real data. This & behaves differently than the others:  Calling  plan dftC2R n creates a  whose output size is n , and whose  input size is n `div` 2 + 1.  If  length v == n, then  length (run dftC2R v) == 2*(n-1). &A type-1 discrete cosine transform. =y_k = x_0 + (-1)^k x_(n-1) + 2 sum_(j=1)^(n-2) x_j cos(pi j k/(n-1))&A type-2 discrete cosine transform. &y_k = 2 sum_(j=0)^(n-1) x_j cos(pi(j+1/2)k/n)&A type-3 discrete cosine transform. .y_k = x_0 + 2 sum_(j=1)^(n-1) x_j cos(pi j(k+1/2)/n)&A type-4 discrete cosine transform. &y_k = 2 sum_(j=0)^(n-1) x_j cos(pi(j+1/2)(k+1/2)/n)"A type-1 discrete sine transform. ,y_k = 2 sum_(j=0)^(n-1) x_j sin(pi(j+1)(k+1)/(n+1))"A type-2 discrete sine transform. &y_k = 2 sum_(j=0)^(n-1) x_j sin(pi(j+1/2)(k+1)/n)$A type-3 discrete sine transform. <y_k = (-1)^k x_(n-1) + 2 sum_(j=0)^(n-2) x_j sin(pi(j+1)(k+1/2)/n)"A type-4 discrete sine transform. $y_k = sum_(j=0)^(n-1) x_j sin(pi(j+1/2)(k+1/2)/n)     Safe-Infered >A backward discrete Fourier transform which is the inverse of ,. The output and input sizes are the same (n). y_k = (1/#n) sum_(j=0)^(n-1) x_j e^(2pi i j k/n)NA normalized backward discrete Fourier transform which is the left inverse of  . (Specifically, run dftC2R . run dftR2C == id.) This & behaves differently than the others:  Calling  plan dftC2R n creates a  whose output size is n , and whose  input size is n `div` 2 + 1.  If  length v == n, then  length (run dftC2R v) == 2*(n-1). ;A type-1 discrete cosine transform which is the inverse of . y_k = (1/A(2(n-1)) [x_0 + (-1)^k x_(n-1) + 2 sum_(j=1)^(n-2) x_j cos(pi j k/(n-1))];A type-3 discrete cosine transform which is the inverse of . y_k = (1//(2n)) [x_0 + 2 sum_(j=1)^(n-1) x_j cos(pi j(k+1/2)/n)];A type-2 discrete cosine transform which is the inverse of . y_k = (1/!n) sum_(j=0)^(n-1) x_j cos(pi(j+1/2)k/n);A type-4 discrete cosine transform which is the inverse of . y_k = (1/!n) sum_(j=0)^(n-1) x_j cos(pi(j+1/2)(k+1/2)/n) 9A type-1 discrete sine transform which is the inverse of . y_k = (1/+(n+1)) sum_(j=0)^(n-1) x_j sin(pi(j+1)(k+1)/(n+1))!9A type-3 discrete sine transform which is the inverse of . y_k = (1/=(2n)) [(-1)^k x_(n-1) + 2 sum_(j=0)^(n-2) x_j sin(pi(j+1)(k+1/2)/n)]"9A type-2 discrete sine transform which is the inverse of . y_k = (1/!n) sum_(j=0)^(n-1) x_j sin(pi(j+1/2)(k+1)/n)#9A type-4 discrete sine transform which is the inverse of . y_k = (1/$(2n)) sum_(j=0)^(n-1) x_j sin(pi(j+1/2)(k+1/2)/n)  !"#  !"#  !"#  !"# Safe-Infered$GA discrete Fourier transform. The output and input sizes are the same (n). y_k = (1/)sqrt n) sum_(j=0)^(n-1) x_j e^(-2pi i j k/n)%QAn inverse discrete Fourier transform. The output and input sizes are the same (n). y_k = (1/(sqrt n) sum_(j=0)^(n-1) x_j e^(2pi i j k/n)&KA forward discrete Fourier transform with real data. If the input size is n,  the output size will be n `div` 2 + 1. 'NA normalized backward discrete Fourier transform which is the left inverse of  . (Specifically, run dftC2R . run dftR2C == id.) This & behaves differently than the others:  Calling  plan dftC2R n creates a  whose output size is n , and whose  input size is n `div` 2 + 1.  If  length v == n, then  length (run dftC2R v) == 2*(n-1). (<A type-4 discrete cosine transform. It is its own inverse. y_k = (1/&sqrt n) sum_(j=0)^(n-1) x_j cos(pi(j+1/2)(k+1/2)/n))4A type-2 discrete cosine transform. Its inverse is dct3. )y_k = w(k) sum_(j=0)^(n-1) x_j cos(pi(j+1/2)k/n);  where  w(0)=1/sqrt n, and  w(k)=sqrt(2/n) for k>0. *;A type-3 discrete cosine transform which is the inverse of ). Hy_k = (-1)^k w(n-1) x_(n-1) + 2 sum_(j=0)^(n-2) w(j) x_j sin(pi(j+1)(k+1/2)/n);  where  w(0)=1/sqrt(n), and w(k)=1/sqrt(2n) for k>0. $%&'()* $%&'()* $%&')*($%&'()*=      !"#$%&'!()*+,-./0123456789:;vector-fftw-0.1.2Numeric.FFT.Vector.PlanNumeric.FFT.Vector.UnnormalizedNumeric.FFT.Vector.InvertibleNumeric.FFT.Vector.UnitaryNumeric.FFT.Vector.Base TransformPlanPlanType ExhaustivePatientMeasureEstimate planInputSizeplanOutputSizeexecuteexecuteM planOfTypeplanrundftidftdftR2CdftC2Rdct1dct2dct3dct4dst1dst2dst3dst4idct1idct2idct3idct4idst1idst2idst3idst4 vector-0.9.1Data.Vector.Generic.BaseVector unsafeModifyScalablescaleByD inputSize outputSizecreationSizeFromInputmakePlan normalizationCPlanCFlags modifyInput modifyOutputconstMultOutputmultC$fScalableComplex$fScalableDouble