<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<?xml-stylesheet href="./_c74_ref.xsl" type="text/xsl"?>

<!--This is an automatically generated file. DO NOT EDIT THIS FILE DIRECTLY. Rather, use the _ref.xml files found in the 'edits' folder.-->
<c74object name="ifft~" module="msp" category="MSP FFT">
	<digest>
		Inverse fast Fourier transform
	</digest>
	<description>
		<o>ifft~</o> performs an Inverse FFT (inverse fast Fourier transform) on an input signal.
	</description>
	<!--METADATA-->
	<metadatalist>
		<metadata name="author">
			Cycling '74
		</metadata>
		<metadata name="tag">
			MSP
		</metadata>
		<metadata name="tag">
			MSP FFT
		</metadata>
	</metadatalist>
	<!--INLETS-->
	<inletlist>
		<inlet id="0" type="signal">
			<digest>
				(signal) Real Input
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
		<inlet id="1" type="signal">
			<digest>
				(signal) Imaginary Input
			</digest>
			<description>
				TEXT_HERE
			</description>
		</inlet>
	</inletlist>
	<!--OUTLETS-->
	<outletlist>
		<outlet id="0" type="signal">
			<digest>
				(signal) Real Output
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="1" type="signal">
			<digest>
				(signal) Imaginary Output
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
		<outlet id="2" type="signal">
			<digest>
				(signal) Ramp from 0 to Number of Points - 1
			</digest>
			<description>
				TEXT_HERE
			</description>
		</outlet>
	</outletlist>
	<!--ARGUMENTS-->
	<objarglist>
		<objarg name="IFFT-points" optional="1" units="samples" type="int">
			<digest>
				Number of points in the IFFT
			</digest>
			<description>
				The first argument specifies the number of points (samples) in the IFFT. It must be a power of two. The default number of points is 512. The second argument specifies the number of samples between successive IFFTs. This must be at least the number of points, and must be also be a power of two. The default interval is 512. The third argument specifies the offset into the interval where the IFFT will start. This must either be 0 or a multiple of the signal vector size. <o>ifft~</o> will correct bad arguments, but if you change the signal vector size after creating an <o>ifft~</o> and the offset is no longer a multiple of the vector size, the <o>ifft~</o> will not operate when signal processing is turned on.
			</description>
		</objarg>
	</objarglist>
	<!--MESSAGES-->
	<methodlist>
		<method name="phase">
			<arglist>
				<arg name="offset" optional="0" type="int" />
			</arglist>
			<digest>
				Offset from the beginning of a period when the IFFT is performed
			</digest>
			<description>
				Offset from the beginning of a period when the IFFT is performed
			</description>
		</method>
		<method name="signal">
			<arglist />
			<digest>
				Function depends on inlet
			</digest>
			<description>
				In left inlet: The real part of a complex signal that will be inverse transformed.
				<br />
				<br />
				In right inlet: The imaginary part of a complex signal that will be inverse transformed.
				<br />
				<br />
				If signals are connected only to the left inlet and left outlet, a real IFFT (inverse Fast Fourier transform) will be performed. Otherwise, a complex IFFT will be performed.
			</description>
		</method>
	</methodlist>
	<!--ATTRIBUTES-->
	<!--EXAMPLE-->
	<examplelist>
		<example img="ifft~.png" caption="Using fft~ and ifft~ for analysis and resynthesis" />
	</examplelist>
	<!--SEEALSO-->
	<seealsolist>
		<seealso name="cartopol" />
		<seealso name="cartopol~" />
		<seealso name="fft~" />
		<seealso name="fftin~" />
		<seealso name="fftinfo~" />
		<seealso name="fftout~" />
		<seealso name="frameaccum~" />
		<seealso name="framedelta~" />
		<seealso name="pfft~" />
		<seealso name="poltocar" />
		<seealso name="poltocar~" />
		<seealso name="vectral~" />
		<seealso name="14_analysischapter03" module="msp" type="tutorial" />
	</seealsolist>
	<misc name="Output">
		<entry name="signal">
			<description>
				Out left outlet: The real part of the inverse Fourier transform of the input. The output begins after all the points of the input have been received.
				<br />
				<br />
				Out middle outlet: The imaginary part of the inverse Fourier transform of the input. The output begins after all the points of the input have been received.
				<br />
				<br />
				Out right outlet: A sync <m>signal</m> that ramps from 0 to the number of points minus 1 over the period in which the IFFT output occurs. When the IFFT is not being output (in the case where the interval is larger than the number of points), the sync <m>signal</m> is 0.
			</description>
		</entry>
	</misc>
</c74object>
