FNFT
Loading...
Searching...
No Matches
fnft__manakov_fscatter.h
Go to the documentation of this file.
1/*
2* This file is part of FNFT.
3*
4* FNFT is free software; you can redistribute it and/or
5* modify it under the terms of the version 2 of the GNU General
6* Public License as published by the Free Software Foundation.
7*
8* FNFT is distributed in the hope that it will be useful,
9* but WITHOUT ANY WARRANTY; without even the implied warranty of
10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11* GNU General Public License for more details.
12*
13* You should have received a copy of the GNU General Public License
14* along with this program. If not, see <http://www.gnu.org/licenses/>.
15*
16* Contributors:
17* Lianne de Vries (TU Delft student) 2021.
18* Sander Wahls (TU Delft) 2021.
19*/
20
28#ifndef FNFT__MANAKOV_FSCATTER_H
29#define FNFT__MANAKOV_FSCATTER_H
30
32#include "fnft__misc.h"
33#include "fnft__errwarn.h"
34#include "fnft__poly_fmult.h"
35
49 fnft_manakov_discretization_t discretization);
50
83FNFT_INT fnft__manakov_fscatter(const UINT D, COMPLEX const* const q1, COMPLEX const* const q2, const INT kappa,
84 REAL eps_t, COMPLEX* const result, UINT* const deg_ptr,
85 INT* const W_ptr, manakov_discretization_t const discretization);
86
87#ifdef FNFT_ENABLE_SHORT_NAMES
88#define manakov_fscatter_numel(...) fnft__manakov_fscatter_numel(__VA_ARGS__)
89#define manakov_fscatter(...) fnft__manakov_fscatter(__VA_ARGS__)
90# endif
91
92
93#endif // !FNFT__MANAKOV_FSCATTER_H
94
95
96
97
Properties of the discretization for the Manakov equation.
FNFT_INT fnft__manakov_fscatter(const UINT D, COMPLEX const *const q1, COMPLEX const *const q2, const INT kappa, REAL eps_t, COMPLEX *const result, UINT *const deg_ptr, INT *const W_ptr, manakov_discretization_t const discretization)
Fast computation of polynomial approximation of the combined scattering matrix.
FNFT_UINT fnft__manakov_fscatter_numel(FNFT_UINT D, fnft_manakov_discretization_t discretization)
Returns the length of transfer_matrix to be allocated based on the number of samples and discretizati...
Miscellaneous functions used in the FNFT library.
Fast multiplication of n polynomials.
fnft_manakov_discretization_t
Enum that specifies discretizations and methods used to compute nonlinear Fourier transforms for the ...
Definition fnft_manakov_discretization_t.h:88
size_t FNFT_UINT
Definition fnft_numtypes.h:62
int32_t FNFT_INT
Definition fnft_numtypes.h:56