Krita Source Code Documentation
Loading...
Searching...
No Matches
nubspline_create.h
Go to the documentation of this file.
1
2// einspline: a library for creating and evaluating B-splines //
3// Copyright (C) 2007 Kenneth P. Esler, Jr. //
4// //
5// This program is free software; you can redistribute it and/or modify //
6// it under the terms of the GNU General Public License as published by //
7// the Free Software Foundation; either version 2 of the License, or //
8// (at your option) any later version. //
9// //
10// This program is distributed in the hope that it will be useful, //
11// but WITHOUT ANY WARRANTY; without even the implied warranty of //
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
13// GNU General Public License for more details. //
14// //
15// You should have received a copy of the GNU General Public License //
16// along with this program; if not, write to the Free Software //
17// Foundation, Inc., 51 Franklin Street, Fifth Floor, //
18// Boston, MA 02110-1301 USA //
20
21#ifndef NUBSPLINE_CREATE_H
22#define NUBSPLINE_CREATE_H
23
24#include "nubspline_structs.h"
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30NUgrid*
31create_center_grid (double start, double end, double ratio, int num_points);
32
33NUgrid*
34create_general_grid (double *points, int num_points);
35
41
43// Nonuniform, single precision, real //
46create_NUBspline_1d_s (NUgrid* x_grid, BCtype_s xBC, float *data);
47
49create_NUBspline_2d_s (NUgrid* x_grid, NUgrid* y_grid,
50 BCtype_s xBC, BCtype_s yBC, float *data);
51
53create_NUBspline_3d_s (NUgrid* x_grid, NUgrid* y_grid, NUgrid* z_grid,
54 BCtype_s xBC, BCtype_s yBC, BCtype_s zBC, float *data);
55
57// Nonuniform, double precision, real //
60create_NUBspline_1d_d (NUgrid* x_grid, BCtype_d xBC, double *data);
61
63create_NUBspline_2d_d (NUgrid* x_grid, NUgrid* y_grid,
64 BCtype_d xBC, BCtype_d yBC, double *data);
65
67create_NUBspline_3d_d (NUgrid* x_grid, NUgrid* y_grid, NUgrid* z_grid,
68 BCtype_d xBC, BCtype_d yBC, BCtype_d zBC, double *data);
69
71// Nonuniform, single precision, complex //
75 complex_float *data);
76
78create_NUBspline_2d_c (NUgrid* x_grid, NUgrid* y_grid,
79 BCtype_c xBC, BCtype_c yBC, complex_float *data);
80
82create_NUBspline_3d_c (NUgrid* x_grid, NUgrid* y_grid, NUgrid* z_grid,
83 BCtype_c xBC, BCtype_c yBC, BCtype_c zBC,
84 complex_float *data);
85
87// Nonuniform, double precision, complex //
91 complex_double *data);
94 BCtype_z xBC, BCtype_z yBC, complex_double *data);
95
97create_NUBspline_3d_z (NUgrid* x_grid, NUgrid* y_grid, NUgrid* z_grid,
98 BCtype_z xBC, BCtype_z yBC, BCtype_z zBC, complex_double *data);
99
100#ifdef __cplusplus
101}
102#endif
103#endif
complex float complex_float
complex double complex_double
#define restrict
NUBspline_1d_c * create_NUBspline_1d_c(NUgrid *x_grid, BCtype_c xBC, complex_float *data)
NUBspline_3d_s * create_NUBspline_3d_s(NUgrid *x_grid, NUgrid *y_grid, NUgrid *z_grid, BCtype_s xBC, BCtype_s yBC, BCtype_s zBC, float *data)
NUgrid * create_center_grid(double start, double end, double ratio, int num_points)
Definition nugrid.cpp:83
NUBspline_2d_z * create_NUBspline_2d_z(NUgrid *x_grid, NUgrid *restrict y_grid, BCtype_z xBC, BCtype_z yBC, complex_double *data)
NUBspline_1d_d * create_NUBspline_1d_d(NUgrid *x_grid, BCtype_d xBC, double *data)
NUBspline_1d_s * create_NUBspline_1d_s(NUgrid *x_grid, BCtype_s xBC, float *data)
NUBspline_2d_c * create_NUBspline_2d_c(NUgrid *x_grid, NUgrid *y_grid, BCtype_c xBC, BCtype_c yBC, complex_float *data)
NUgrid * create_general_grid(double *points, int num_points)
Definition nugrid.cpp:155
NUBspline_3d_z * create_NUBspline_3d_z(NUgrid *x_grid, NUgrid *y_grid, NUgrid *z_grid, BCtype_z xBC, BCtype_z yBC, BCtype_z zBC, complex_double *data)
NUBspline_2d_s * create_NUBspline_2d_s(NUgrid *x_grid, NUgrid *y_grid, BCtype_s xBC, BCtype_s yBC, float *data)
NUBspline_3d_c * create_NUBspline_3d_c(NUgrid *x_grid, NUgrid *y_grid, NUgrid *z_grid, BCtype_c xBC, BCtype_c yBC, BCtype_c zBC, complex_float *data)
NUBspline_1d_z * create_NUBspline_1d_z(NUgrid *x_grid, BCtype_z xBC, complex_double *data)
NUBspline_2d_d * create_NUBspline_2d_d(NUgrid *x_grid, NUgrid *y_grid, BCtype_d xBC, BCtype_d yBC, double *data)
NUBspline_3d_d * create_NUBspline_3d_d(NUgrid *x_grid, NUgrid *y_grid, NUgrid *z_grid, BCtype_d xBC, BCtype_d yBC, BCtype_d zBC, double *data)