Go to the documentation of this file.
26 #ifndef FNFT__POLY_FMULT_H
27 #define FNFT__POLY_FMULT_H
208 #ifdef FNFT_ENABLE_SHORT_NAMES
209 #define poly_fmult_two_polys_len(...) fnft__poly_fmult_two_polys_len(__VA_ARGS__)
210 #define poly_fmult_two_polys_lenmen(...) fnft__poly_fmult_two_polys_lenmen(__VA_ARGS__)
211 #define poly_fmult_two_polys(...) fnft__poly_fmult_two_polys(__VA_ARGS__)
212 #define poly_fmult_two_polys2x2(...) fnft__poly_fmult_two_polys2x2(__VA_ARGS__)
213 #define poly_fmult_numel(...) fnft__poly_fmult_numel(__VA_ARGS__)
214 #define poly_fmult2x2_numel(...) fnft__poly_fmult2x2_numel(__VA_ARGS__)
215 #define poly_fmult(...) fnft__poly_fmult(__VA_ARGS__)
216 #define poly_fmult2x2(...) fnft__poly_fmult2x2(__VA_ARGS__)
FNFT_UINT fnft__poly_fmult2x2_numel(const FNFT_UINT deg, const FNFT_UINT n)
Number of elements that the inputs p and result to fnft__poly_fmult2x2 should have.
int32_t FNFT_INT
Definition: fnft_numtypes.h:56
size_t FNFT_UINT
Definition: fnft_numtypes.h:62
kiss_fft_cfg fnft__fft_wrapper_plan_t
Stores information needed by fnft__fft_wrapper_execute_plan to perform a (inverse) FFT.
Definition: fnft__fft_wrapper_plan_t.h:41
FNFT_UINT fnft__poly_fmult_numel(const FNFT_UINT deg, const FNFT_UINT n)
Number of elements that the input p to fnft__poly_fmult should have.
FNFT_INT fnft__poly_fmult_two_polys(const FNFT_UINT deg, FNFT_COMPLEX const *const p1, FNFT_COMPLEX const *const p2, FNFT_COMPLEX *const result, fnft__fft_wrapper_plan_t plan_fwd, fnft__fft_wrapper_plan_t plan_inv, FNFT_COMPLEX *const buf0, FNFT_COMPLEX *const buf1, FNFT_COMPLEX *const buf2, const FNFT_INT add_flag)
Multiplies two polynomials.
double complex FNFT_COMPLEX
Definition: fnft_numtypes.h:47
FNFT_INT fnft__poly_fmult_two_polys_len(const FNFT_UINT deg)
Length of the FFTs used by fnft__poly_fmult_two_polys.
FNFT_INT fnft__poly_fmult_two_polys2x2(const FNFT_UINT deg, FNFT_COMPLEX const *const p1_11, const FNFT_UINT p1_stride, FNFT_COMPLEX const *const p2_11, const FNFT_UINT p2_stride, FNFT_COMPLEX *const result_11, const FNFT_UINT result_stride, fnft__fft_wrapper_plan_t plan_fwd, fnft__fft_wrapper_plan_t plan_inv, FNFT_COMPLEX *const buf0, FNFT_COMPLEX *const buf1, FNFT_COMPLEX *const buf2)
Multiplies two 2x2 matrices of polynomials.
FNFT_INT fnft__poly_fmult2x2(FNFT_UINT *d, FNFT_UINT n, FNFT_COMPLEX *const p, FNFT_COMPLEX *const result, FNFT_INT *const W_ptr)
Fast multiplication of multiple 2x2 matrix-valued polynomials of the same degree.
FNFT_INT fnft__poly_fmult(FNFT_UINT *const d, FNFT_UINT n, FNFT_COMPLEX *const p, FNFT_INT *const W_ptr)
Fast multiplication of multiple polynomials of same degree.