FLINT3.7.0-dev

fft_small_op_init, fft_small_op_init_borrowed, fft_small_op_sizeof_data, fft_small_op_clear

Synopsis#include <flint/fft_small.h>
void fft_small_op_init(fft_small_op_t X, const fft_small_plan_t P)source
void fft_small_op_init_borrowed(fft_small_op_t X, const fft_small_plan_t P, double * data)source
ulong fft_small_op_sizeof_data(const fft_small_plan_t P)source
void fft_small_op_clear(fft_small_op_t X)source

Initialise an operand for the plan P, with storage allocated by the operand or provided by the caller, and free it. The borrowed storage must hold fft_small_op_sizeof_data(P) bytes, be aligned to 4096 bytes and outlive the operand; fft_small_op_clear does not free it.

The data size is \mathtt{np} \cdot \mathtt{stride} \cdot 8 bytes rounded up to 4096. For transforms shorter than one block the padding up to the stride is zeroed by both initialisers. An operand can be used with any plan that has the same primes, depth and stride, which is checked only by assertions.

Guides#

Cite this page

The FLINT team, “fft_small_op_init, fft_small_op_init_borrowed, fft_small_op_sizeof_data, fft_small_op_clear (fft_small.h),” FLINT: Fast Library for Number Theory, documentation, version 3.7.0-dev, 2026. https://flintlib.org/doc/fft_small/fft_small_op_init.html (generated 2026-10-20).