blob: 4bea8bc6435ad53301794de6d358c8fc58570ba1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
$Header$
This directory contains code for Hermite polynomial interpolation.
makefile
This has targets to create the subdirectories for the
Maple-generated coefficient files, and to run Maple to
generated those files.
make.code.defn
This tells the Cactus build system which files to compile.
[123]d.maple
These files contain the Maple code to generate the interpolation
coefficients.
fns.maple
These files define the interpolation functions, coefficients, etc,
for the Maple code in [123]d.maple
[123]d.cube.order?.smooth?.c
These files are the individual cases for the interpolation.
Each file defines a separate function. Each file just #defines
a bunch of macros, then #includes "../template.c" to get the
actual interpolation code. Unfortunately, the ISO C standard
only guarantees 31 characters for function names (in fact, it
doesn't even guarantee that for external names -- they may be
limited by a system linker -- but I quietly ignore that and
assume I can use 31), so the functions are named in a somewhat
cryptic manner:
123456789 123456789 123456789 1
LocalInterp_UHermite_1d_cube2
LocalInterp_UHermite_1d_cube3
LocalInterp_UHermite_1d_cube4
LocalInterp_UHermite_2d_cube2
LocalInterp_UHermite_2d_cube3
LocalInterp_UHermite_3d_cube2
LocalInterp_UHermite_3d_cube3
The naming convention is as follows (eg for the last function)
LocalInterp name of this thorn
U these functions are all for the
CCTK_InterpLocalUniform() API
Hermite these functions are all for the
"Hermite polynomial interpolation"
interpolation operator
3d this function does 3-d interpolation
cube this function uses a cube-shaped
interpolation molecule
3 this function does 3rd order interpolation
all_prototypes.h
This file contains C prototypes for each of the functions
in [123]d.cube.order?.smooth0.c.
|