Index: libs/numeric/interval/doc/guide.htm =================================================================== --- libs/numeric/interval/doc/guide.htm (revision 67019) +++ libs/numeric/interval/doc/guide.htm (working copy) @@ -71,7 +71,7 @@ not really interested by the inclusion property; you are only interested by the computation algorithms the library provides. So you do not need to use any rounding; the checking also may not be useful. Use an "exact - computation" rounding (you are allowed to think the name stangely applies + computation" rounding (you are allowed to think the name strangely applies to the situation) and a checking that never tests for any invalid numbers or empty intervals. By doing that, you will obtain library functions reduced to their minimum (an addition of two intervals will only be two Index: libs/numeric/interval/doc/interval.htm =================================================================== --- libs/numeric/interval/doc/interval.htm (revision 67019) +++ libs/numeric/interval/doc/interval.htm (working copy) @@ -146,10 +146,10 @@ methods (for instance, toward minus or plus infinity) if we want to guarantee the inclusion property. Note that we also may explicitely specify no rounding, for instance if the base number type is exact, i.e. the result - of a mathematic operation is always computed and represented without loss + of a mathematical operation is always computed and represented without loss of precision. If the number type is not exact, we may still explicitely specify no rounding, with the obvious consequence that the inclusion - property is no longuer guaranteed.
+ property is no longer guaranteed.Finally, because heavy loss of precision is always possible, some
numbers have to represent infinities or an exceptional behavior must be
@@ -480,7 +480,7 @@
set of values the intervals contain. E.g. with the default policies,
intervals are subsets of the set of real numbers. The static functions
empty
and whole
produce the intervals/subsets
- that are repectively the empty subset and the whole set. They are static
+ that are respectively the empty subset and the whole set. They are static
member functions rather than global functions because they cannot guess
their return types. Likewise for hull
. empty
and
whole
involve the checking policy in order to get the bounds
@@ -566,7 +566,7 @@
The functions division_part1
and
division_part2
are useful when the user expects the division
to return disjoint intervals if necessary. For example, the narrowest
- closed set containg [2,3] / [-2,1] is not ]-∞,∞[ but the union
+ closed set containing [2,3] / [-2,1] is not ]-∞,∞[ but the union
of ]-∞,-1] and [2,∞[. When the result of the division is
representable by only one interval, division_part1
returns
this interval and sets the boolean reference to false
.
@@ -808,7 +808,7 @@
One of the biggest problems is problably the correct use of the +
One of the biggest problems is probably the correct use of the
comparison functions and operators. First, functions and operators do not
try to know if two intervals are the same mathematical object. So, if the
comparison used is "certain", then x != x
is always true
@@ -831,7 +831,7 @@
be equal: x/x
and 1, x*x
and
square(x)
, x-x
and 0, etc. So the main cause of
wide intervals is that interval arithmetic does not identify different
- occurences of the same variable. So, whenever possible, the user has to
+ occurrences of the same variable. So, whenever possible, the user has to
rewrite the formulas to eliminate multiple occurences of the same variable.
For example, square(x)-2*x
is far less precise than
square(x-1)-1
.
/* Rounding requirements */ struct rounding { - // defaut constructor, destructor + // default constructor, destructor rounding(); ~rounding(); // mathematical operations @@ -375,7 +375,7 @@ argument correctly rounded accordingly to the current rounding mode if it was not already the case. This function is necessary to handle delayed rounding. Indeed, depending on the way the computations are done, the - intermediate results may be internaly stored in a more precise format and + intermediate results may be internally stored in a more precise format and it can lead to a wrong rounding. So the function enforces the rounding. Here is an example of what happens when the rounding is not enforced. Index: libs/numeric/interval/doc/todo.htm =================================================================== --- libs/numeric/interval/doc/todo.htm (revision 67019) +++ libs/numeric/interval/doc/todo.htm (working copy) @@ -16,7 +16,7 @@Comments from the review process
interval<double>
to
interval<float>
? Requires partial specialization.