The data type to the FFT is controlled by the TT_DATA template parameter. This can take one of the following choices: cint16, cint32, cfloat or cbfloat16 (ML devices). This selection applies to both input data and output data. The template parameter TT_TWIDDLE can take one of the same set of types. TT_TWIDDLE must match TT_DATA except for integer types which can mix.
Please note that cbfloat16 has only 7 bits of mantissa, which means that rounding errors and catastrophic cancellation in each rank of processing quickly erode accuracy. cbfloat16 as a data type is therefore only recommended for small point sizes.