Krita Source Code Documentation
Loading...
Searching...
No Matches
bspline_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 BSPLINE_CREATE_H
22#define BSPLINE_CREATE_H
23
24#include "bspline_base.h"
25#include "bspline_structs.h"
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
36
38// Uniform, single precision, real //
40// Create 1D uniform single-precision, real Bspline
42create_UBspline_1d_s (Ugrid x_grid, BCtype_s xBC, float *data);
43
44// Create 2D uniform single-precision, real Bspline
46create_UBspline_2d_s (Ugrid x_grid, Ugrid y_grid,
47 BCtype_s xBC, BCtype_s yBC,
48 float *data);
49
50// Create 3D uniform single-precision, real Bspline
52create_UBspline_3d_s (Ugrid x_grid, Ugrid y_grid, Ugrid z_grid,
53 BCtype_s xBC, BCtype_s yBC, BCtype_s zBC,
54 float *data);
55
56void
57recompute_UBspline_1d_s (UBspline_1d_s* spline, float *data);
58
59void
60recompute_UBspline_2d_s (UBspline_2d_s* spline, float *data);
61
62void
63recompute_UBspline_3d_s (UBspline_3d_s* spline, float *data);
64
66// Uniform, double precision, real //
68// Create 1D uniform single-precision, real Bspline
70create_UBspline_1d_d (Ugrid x_grid, BCtype_d xBC, double *data);
71
72// Create 2D uniform single-precision, real Bspline
74create_UBspline_2d_d (Ugrid x_grid, Ugrid y_grid,
75 BCtype_d xBC, BCtype_d yBC,
76 double *data);
77
78// Create 3D uniform single-precision, real Bspline
80create_UBspline_3d_d (Ugrid x_grid, Ugrid y_grid, Ugrid z_grid,
81 BCtype_d xBC, BCtype_d yBC, BCtype_d zBC,
82 double *data);
83
84void
85recompute_UBspline_1d_d (UBspline_1d_d* spline, double *data);
86
87void
88recompute_UBspline_2d_d (UBspline_2d_d* spline, double *data);
89
90void
91recompute_UBspline_3d_d (UBspline_3d_d* spline, double *data);
92
94// Uniform, single precision, complex//
96// Create 1D uniform single-precision, real Bspline
99
100// Create 2D uniform single-precision, real Bspline
102create_UBspline_2d_c (Ugrid x_grid, Ugrid y_grid,
103 BCtype_c xBC, BCtype_c yBC,
104 complex_float *data);
105
106// Create 3D uniform single-precision, real Bspline
108create_UBspline_3d_c (Ugrid x_grid, Ugrid y_grid, Ugrid z_grid,
109 BCtype_c xBC, BCtype_c yBC, BCtype_c zBC,
110 complex_float *data);
111
112void
114
115void
117
118void
120
122// Uniform, double precision, complex//
124// Create 1D uniform double-precision, complex Bspline
127
128// Create 2D uniform double-precision, complex Bspline
130create_UBspline_2d_z (Ugrid x_grid, Ugrid y_grid,
131 BCtype_z xBC, BCtype_z yBC,
132 complex_double *data);
133
134// Create 3D uniform double-precision, complex Bspline
136create_UBspline_3d_z (Ugrid x_grid, Ugrid y_grid, Ugrid z_grid,
137 BCtype_z xBC, BCtype_z yBC, BCtype_z zBC,
138 complex_double *data);
139
140void
142
143void
145
146void
148
149#ifdef __cplusplus
150}
151#endif
152
153#endif
complex float complex_float
complex double complex_double
UBspline_1d_z * create_UBspline_1d_z(Ugrid x_grid, BCtype_z xBC, complex_double *data)
void recompute_UBspline_1d_c(UBspline_1d_c *spline, complex_float *data)
void recompute_UBspline_3d_s(UBspline_3d_s *spline, float *data)
void recompute_UBspline_3d_d(UBspline_3d_d *spline, double *data)
UBspline_2d_z * create_UBspline_2d_z(Ugrid x_grid, Ugrid y_grid, BCtype_z xBC, BCtype_z yBC, complex_double *data)
UBspline_2d_s * create_UBspline_2d_s(Ugrid x_grid, Ugrid y_grid, BCtype_s xBC, BCtype_s yBC, float *data)
void recompute_UBspline_2d_s(UBspline_2d_s *spline, float *data)
UBspline_1d_s * create_UBspline_1d_s(Ugrid x_grid, BCtype_s xBC, float *data)
UBspline_3d_c * create_UBspline_3d_c(Ugrid x_grid, Ugrid y_grid, Ugrid z_grid, BCtype_c xBC, BCtype_c yBC, BCtype_c zBC, complex_float *data)
UBspline_2d_c * create_UBspline_2d_c(Ugrid x_grid, Ugrid y_grid, BCtype_c xBC, BCtype_c yBC, complex_float *data)
void recompute_UBspline_2d_c(UBspline_2d_c *spline, complex_float *data)
void recompute_UBspline_3d_c(UBspline_3d_c *spline, complex_float *data)
void recompute_UBspline_1d_d(UBspline_1d_d *spline, double *data)
UBspline_1d_c * create_UBspline_1d_c(Ugrid x_grid, BCtype_c xBC, complex_float *data)
void recompute_UBspline_1d_s(UBspline_1d_s *spline, float *data)
void recompute_UBspline_2d_z(UBspline_2d_z *spline, complex_double *data)
UBspline_2d_d * create_UBspline_2d_d(Ugrid x_grid, Ugrid y_grid, BCtype_d xBC, BCtype_d yBC, double *data)
void recompute_UBspline_3d_z(UBspline_3d_z *spline, complex_double *data)
UBspline_3d_d * create_UBspline_3d_d(Ugrid x_grid, Ugrid y_grid, Ugrid z_grid, BCtype_d xBC, BCtype_d yBC, BCtype_d zBC, double *data)
void recompute_UBspline_2d_d(UBspline_2d_d *spline, double *data)
UBspline_3d_s * create_UBspline_3d_s(Ugrid x_grid, Ugrid y_grid, Ugrid z_grid, BCtype_s xBC, BCtype_s yBC, BCtype_s zBC, float *data)
void recompute_UBspline_1d_z(UBspline_1d_z *spline, complex_double *data)
UBspline_3d_z * create_UBspline_3d_z(Ugrid x_grid, Ugrid y_grid, Ugrid z_grid, BCtype_z xBC, BCtype_z yBC, BCtype_z zBC, complex_double *data)
UBspline_1d_d * create_UBspline_1d_d(Ugrid x_grid, BCtype_d xBC, double *data)