diff options
author | jthorn <jthorn@df1f8a13-aa1d-4dd4-9681-27ded5b42416> | 2002-05-19 13:14:22 +0000 |
---|---|---|
committer | jthorn <jthorn@df1f8a13-aa1d-4dd4-9681-27ded5b42416> | 2002-05-19 13:14:22 +0000 |
commit | 420c76006777c214856bd3b5d3ff14b9357af5d6 (patch) | |
tree | c2070f3140832157d823adf01ad04351563c0713 /src | |
parent | 13f1732c4f1ea3ea0eba489d1b8e15f6f160b218 (diff) |
add a "guided tour" to the source code
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/LocalInterp/trunk@50 df1f8a13-aa1d-4dd4-9681-27ded5b42416
Diffstat (limited to 'src')
-rw-r--r-- | src/GeneralizedPolynomial-Uniform/README | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/GeneralizedPolynomial-Uniform/README b/src/GeneralizedPolynomial-Uniform/README index 39949c3..a4232b9 100644 --- a/src/GeneralizedPolynomial-Uniform/README +++ b/src/GeneralizedPolynomial-Uniform/README @@ -12,6 +12,36 @@ program! +The source code files are as follows: +* startup.c registers the interpolation operator +* InterpLocalUniform.c is the top-level driver: it gets the various + options from the parameter table, then decodes + (N_dims, molecule_family, order, smoothing) + and calls the appropriate subfunction to do the actual interpolation, + then finally stores some results back in the parameter table. +* [123]d.cube.order*.smooth*.c define the individual interpolation + subfunctions. Each of them just #defines a whole bunch of macros, + then #includes template.c (which has the actual code). +* template.c is the actual interpolation code. It is written in + terms of a large number of macros, which should be #defined + before #including template.c. There's a long block comment + "Implementation notes:" at the start of the function, which + gives an outline of how the function works. (This is probably + the best place to start reading if you want to understand this + interpolator!) All the actual interpolation is done by + Maple-generated code fragments in the [123]d.coeffs/directories; + template.c uses various macros to tell it which fragments to + #include. +* [123]d.maple are the top-level Maple code files; they call + various functions in interpolate.maple and util.maple to do + the actual work. +* interpolate.maple contains the high-level Maple code for + computing an interpolant and manipulating/printing it in various + ways +* util.maple contains low-level utility routines + + + To add a new combination of (N_dims, molecule_family, order, smoothing), to this interpolator, you need to * edit the appropriate Maple script (1d.maple, 2d.maple, 3d.maple, etc) |