Krita Source Code Documentation
Loading...
Searching...
No Matches
multi_bspline_structs.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_STRUCTS_STD_H
22#define MULTI_BSPLINE_STRUCTS_STD_H
23
24
26// Single precision real //
38
39typedef struct
40{
44 intptr_t x_stride, y_stride;
45 Ugrid x_grid, y_grid;
49
50typedef struct
51{
55 intptr_t x_stride, y_stride, z_stride;
56 Ugrid x_grid, y_grid, z_grid;
57 BCtype_s xBC, yBC, zBC;
60
61
63// Double precision real //
75
76typedef struct
77{
80 double* restrict coefs;
81 intptr_t x_stride, y_stride;
82 Ugrid x_grid, y_grid;
86
87typedef struct
88{
91 double* restrict coefs;
92 intptr_t x_stride, y_stride, z_stride;
93 Ugrid x_grid, y_grid, z_grid;
94 BCtype_d xBC, yBC, zBC;
97
98
99
101// Single precision complex //
113
114typedef struct
115{
119 intptr_t x_stride, y_stride;
120 Ugrid x_grid, y_grid;
123 // temporary storage for laplacian components
126
127typedef struct
128{
132 intptr_t x_stride, y_stride, z_stride;
133 Ugrid x_grid, y_grid, z_grid;
134 BCtype_c xBC, yBC, zBC;
136 // temporary storage for laplacian components
139
140
142// Double precision complex //
154
155typedef struct
156{
160 intptr_t x_stride, y_stride;
161 Ugrid x_grid, y_grid;
164 // temporary storage for laplacian components
167
168typedef struct
169{
173 intptr_t x_stride, y_stride, z_stride;
174 Ugrid x_grid, y_grid, z_grid;
175 BCtype_z xBC, yBC, zBC;
177 // temporary storage for laplacian components
180
181
182#endif
complex float complex_float
type_code
complex double complex_double
spline_code
#define restrict
complex_float *restrict coefs
complex_double *restrict coefs
complex_float *restrict coefs
complex_float *restrict lapl2
complex_double *restrict coefs
complex_double *restrict lapl2
complex_float *restrict lapl3
complex_float *restrict coefs
complex_double *restrict coefs
complex_double *restrict lapl3