diff options
author | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2001-09-16 12:59:20 +0000 |
---|---|---|
committer | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2001-09-16 12:59:20 +0000 |
commit | a42af45b9455cf3c24ef6d5316db3951e72a61b0 (patch) | |
tree | ca533ed209d680dfb7ff914d85e6baa66827a4f7 /src/jtutil/README | |
parent | 4dcb42ba546aa8a1be5a9474b38ed2f8b6326a8b (diff) |
Modified Files:
libutil/README util/README
describe main C++ classes
Added Files:
README
describe subdirectories
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@350 f88db872-0e4f-0410-b76b-b9085cfa78c5
Diffstat (limited to 'src/jtutil/README')
-rw-r--r-- | src/jtutil/README | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/src/jtutil/README b/src/jtutil/README index d8dac3a..2273735 100644 --- a/src/jtutil/README +++ b/src/jtutil/README @@ -1,3 +1,37 @@ This directory holds low-level utility code that we use, but that's not really specific to this project -- things like min/max templates, -multidimensional array classes, fuzzy arithmetic routines, etc. +multidimensional array classes, fuzzy arithmetic routines, etc: + +array<fp> + is a template class (templated on the integer or floating-point + type of the array elements) providing multidimensional arrays. + At present these are stored directly in C++ \code{new[]}-allocated + storage, but sometime soon I'll add an option to use Cactus + grid functions or local arrays. + +linear_map<fp> + is a template class (templated on the floating-point type) + representing a linear map between a contiguous interval of + integers, and floating-point numbers. +cpm_map<fp> + is a template class (templated on the floating-point type) + representing a mapping from the integers to the integers, + of the form i --> constant +/- i . (The name abbreviates + "Constant Plus or Minus MAP".) +fuzzy<fp> + is a template class (templated on the floating-point type) + providing fuzzy arithmetic, to try to paper over some of the + effects of floating-point rounding errors. For example, + one can write + for (fp x = 0.0 ; fuzzy<fp>::LE(x,1.0) ; x += 0.1) + { + // ... + } + and have the loop execute as one would naievly expect, + even if rounding errors cause the final value of \code{x} + to be 0.9999999999999999 or 1.000000000000001 or suchlike. +round<fp> + is a template class (templated on the floating-point type) + to do machine-independent rounding of floating point values + +There are also a number of test drivers in the files test_*.cc . |