FNFT
fnft_kdvv.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 * Sander Wahls (TU Delft) 2017-2018.
18 * Peter J Prins (TU Delft) 2017-2018.
19 */
20 
29 #ifndef FNFT_KDVV_H
30 #define FNFT_KDVV_H
31 
33 
46 typedef struct {
49 
59 
104 FNFT_INT fnft_kdvv(const FNFT_UINT D, FNFT_COMPLEX * const q,
105  FNFT_REAL const * const T, const FNFT_UINT M,
106  FNFT_COMPLEX * const contspec, FNFT_REAL const * const XI,
107  FNFT_UINT * const K_ptr, FNFT_COMPLEX * const bound_states,
108  FNFT_COMPLEX * const normconsts_or_residues,
109  fnft_kdvv_opts_t * opts_ptr);
110 
111 #ifdef FNFT_ENABLE_SHORT_NAMES
112 #define kdvv_opts_t fnft_kdvv_opts_t
113 #endif
114 
115 #endif
fnft_kdv_discretization_t.h
Lists discretizations for the Korteweg-de Vries equation.
FNFT_INT
int32_t FNFT_INT
Definition: fnft_numtypes.h:56
fnft_kdvv_opts_t
Stores additional options for the routine fnft_kdvv.
Definition: fnft_kdvv.h:46
FNFT_UINT
size_t FNFT_UINT
Definition: fnft_numtypes.h:62
fnft_kdv_discretization_t
fnft_kdv_discretization_t
Enum that specifies discretizations used to compute nonlinear Fourier transforms for the Korteweg-de ...
Definition: fnft_kdv_discretization_t.h:83
FNFT_COMPLEX
double complex FNFT_COMPLEX
Definition: fnft_numtypes.h:47
FNFT_REAL
double FNFT_REAL
Definition: fnft_numtypes.h:40
fnft_kdvv_default_opts
fnft_kdvv_opts_t fnft_kdvv_default_opts()
Creates a new options variable for fnft_kdvv with default settings.
fnft_kdvv
FNFT_INT fnft_kdvv(const FNFT_UINT D, FNFT_COMPLEX *const q, FNFT_REAL const *const T, const FNFT_UINT M, FNFT_COMPLEX *const contspec, FNFT_REAL const *const XI, FNFT_UINT *const K_ptr, FNFT_COMPLEX *const bound_states, FNFT_COMPLEX *const normconsts_or_residues, fnft_kdvv_opts_t *opts_ptr)
Fast nonlinear Fourier transform for the Korteweg-de Vries equation with vanishing boundary condition...
fnft_kdvv_opts_t::discretization
fnft_kdv_discretization_t discretization
Definition: fnft_kdvv.h:47