Krita Source Code Documentation
Loading...
Searching...
No Matches
multi_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 MULTI_BSPLINE_CREATE_H
22#define MULTI_BSPLINE_CREATE_H
23
24#include "bspline_base.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_multi_UBspline_1d_s (Ugrid x_grid, BCtype_s xBC, int num_splines);
43
44// Create 2D uniform single-precision, real Bspline
47 BCtype_s xBC, BCtype_s yBC,
48 int num_splines);
49
50// Create 3D uniform single-precision, real Bspline
52create_multi_UBspline_3d_s (Ugrid x_grid, Ugrid y_grid, Ugrid z_grid,
53 BCtype_s xBC, BCtype_s yBC, BCtype_s zBC,
54 int num_splines);
55
56// Set the data for the splines, and compute spline coefficients
57void
59 int spline_num, float *data);
60
61void
63 int spline_num, float *data);
64
65void
67 int spline_num, float *data);
68
69
71// Uniform, double precision, real //
73// Create 1D uniform single-precision, real Bspline
75create_multi_UBspline_1d_d (Ugrid x_grid, BCtype_d xBC, int num_splines);
76
77// Create 2D uniform single-precision, real Bspline
80 BCtype_d xBC, BCtype_d yBC,
81 int num_splines);
82
83// Create 3D uniform single-precision, real Bspline
85create_multi_UBspline_3d_d (Ugrid x_grid, Ugrid y_grid, Ugrid z_grid,
86 BCtype_d xBC, BCtype_d yBC, BCtype_d zBC,
87 int num_splines);
88
89// Set the data for the splines, and compute spline coefficients
90void
92 int spline_num, double *data);
93void
95 int spline_num, double *data, BCtype_d xBC);
96
97void
99 int spline_num, double *data);
100
101void
103 int spline_num, double *data);
104
106// Uniform, single precision, complex//
108// Create 1D uniform single-precision, real Bspline
110create_multi_UBspline_1d_c (Ugrid x_grid, BCtype_c xBC, int num_splines);
111
112// Create 2D uniform single-precision, real Bspline
115 BCtype_c xBC, BCtype_c yBC,
116 int num_splines);
117
118// Create 3D uniform single-precision, real Bspline
120create_multi_UBspline_3d_c (Ugrid x_grid, Ugrid y_grid, Ugrid z_grid,
121 BCtype_c xBC, BCtype_c yBC, BCtype_c zBC,
122 int num_splines);
123
124// Set the data for the splines, and compute spline coefficients
125void
126set_multi_UBspline_1d_c (multi_UBspline_1d_c *spline, int spline_num,
127 complex_float *data);
128
129void
130set_multi_UBspline_2d_c (multi_UBspline_2d_c *spline, int spline_num,
131 complex_float *data);
132
133void
134set_multi_UBspline_3d_c (multi_UBspline_3d_c *spline, int spline_num,
135 complex_float *data);
136
138// Uniform, double precision, complex//
140// Create 1D uniform double-precision, complex Bspline
142create_multi_UBspline_1d_z (Ugrid x_grid, BCtype_z xBC, int num_splines);
143
144// Create 2D uniform double-precision, complex Bspline
147 BCtype_z xBC, BCtype_z yBC,
148 int num_splines);
149
150// Create 3D uniform double-precision, complex Bspline
152create_multi_UBspline_3d_z (Ugrid x_grid, Ugrid y_grid, Ugrid z_grid,
153 BCtype_z xBC, BCtype_z yBC, BCtype_z zBC,
154 int num_splines);
155
156// Set the data for the splines, and compute spline coefficients
157void
158set_multi_UBspline_1d_z (multi_UBspline_1d_z *spline, int spline_num,
159 complex_double *data);
160void
161set_multi_UBspline_1d_z_BC (multi_UBspline_1d_z *spline, int spline_num,
162 complex_double *data, BCtype_z xBC);
163
164
165void
166set_multi_UBspline_2d_z (multi_UBspline_2d_z *spline, int spline_num,
167 complex_double *data);
168
169void
170set_multi_UBspline_3d_z (multi_UBspline_3d_z *spline, int spline_num,
171 complex_double *data);
172
173#ifdef __cplusplus
174}
175#endif
176
177#endif
complex float complex_float
complex double complex_double
void set_multi_UBspline_3d_d(multi_UBspline_3d_d *spline, int spline_num, double *data)
void set_multi_UBspline_1d_c(multi_UBspline_1d_c *spline, int spline_num, complex_float *data)
void set_multi_UBspline_2d_s(multi_UBspline_2d_s *spline, int spline_num, float *data)
void set_multi_UBspline_2d_z(multi_UBspline_2d_z *spline, int spline_num, complex_double *data)
void set_multi_UBspline_3d_s(multi_UBspline_3d_s *spline, int spline_num, float *data)
multi_UBspline_1d_c * create_multi_UBspline_1d_c(Ugrid x_grid, BCtype_c xBC, int num_splines)
multi_UBspline_2d_d * create_multi_UBspline_2d_d(Ugrid x_grid, Ugrid y_grid, BCtype_d xBC, BCtype_d yBC, int num_splines)
void set_multi_UBspline_1d_d_BC(multi_UBspline_1d_d *spline, int spline_num, double *data, BCtype_d xBC)
void set_multi_UBspline_2d_d(multi_UBspline_2d_d *spline, int spline_num, double *data)
multi_UBspline_3d_z * create_multi_UBspline_3d_z(Ugrid x_grid, Ugrid y_grid, Ugrid z_grid, BCtype_z xBC, BCtype_z yBC, BCtype_z zBC, int num_splines)
void set_multi_UBspline_1d_z_BC(multi_UBspline_1d_z *spline, int spline_num, complex_double *data, BCtype_z xBC)
multi_UBspline_3d_d * create_multi_UBspline_3d_d(Ugrid x_grid, Ugrid y_grid, Ugrid z_grid, BCtype_d xBC, BCtype_d yBC, BCtype_d zBC, int num_splines)
void set_multi_UBspline_3d_z(multi_UBspline_3d_z *spline, int spline_num, complex_double *data)
multi_UBspline_2d_s * create_multi_UBspline_2d_s(Ugrid x_grid, Ugrid y_grid, BCtype_s xBC, BCtype_s yBC, int num_splines)
void set_multi_UBspline_2d_c(multi_UBspline_2d_c *spline, int spline_num, complex_float *data)
multi_UBspline_2d_z * create_multi_UBspline_2d_z(Ugrid x_grid, Ugrid y_grid, BCtype_z xBC, BCtype_z yBC, int num_splines)
multi_UBspline_1d_z * create_multi_UBspline_1d_z(Ugrid x_grid, BCtype_z xBC, int num_splines)
multi_UBspline_1d_d * create_multi_UBspline_1d_d(Ugrid x_grid, BCtype_d xBC, int num_splines)
multi_UBspline_3d_c * create_multi_UBspline_3d_c(Ugrid x_grid, Ugrid y_grid, Ugrid z_grid, BCtype_c xBC, BCtype_c yBC, BCtype_c zBC, int num_splines)
multi_UBspline_2d_c * create_multi_UBspline_2d_c(Ugrid x_grid, Ugrid y_grid, BCtype_c xBC, BCtype_c yBC, int num_splines)
multi_UBspline_1d_s * create_multi_UBspline_1d_s(Ugrid x_grid, BCtype_s xBC, int num_splines)
void set_multi_UBspline_3d_c(multi_UBspline_3d_c *spline, int spline_num, complex_float *data)
multi_UBspline_3d_s * create_multi_UBspline_3d_s(Ugrid x_grid, Ugrid y_grid, Ugrid z_grid, BCtype_s xBC, BCtype_s yBC, BCtype_s zBC, int num_splines)
void set_multi_UBspline_1d_s(multi_UBspline_1d_s *spline, int spline_num, float *data)
void set_multi_UBspline_1d_z(multi_UBspline_1d_z *spline, int spline_num, complex_double *data)
void set_multi_UBspline_1d_d(multi_UBspline_1d_d *spline, int spline_num, double *data)