aboutsummaryrefslogtreecommitdiff
path: root/src/jtutil/README
diff options
context:
space:
mode:
authorjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2001-09-16 12:59:20 +0000
committerjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2001-09-16 12:59:20 +0000
commita42af45b9455cf3c24ef6d5316db3951e72a61b0 (patch)
treeca533ed209d680dfb7ff914d85e6baa66827a4f7 /src/jtutil/README
parent4dcb42ba546aa8a1be5a9474b38ed2f8b6326a8b (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/README36
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 .