Mercurial > octave-nkf
comparison scripts/ode/private/kahan.m @ 20580:25623ef2ff4f
doc: Rewrite docstrings for ode* family of functions.
* scripts/ode/module.mk: Remove extra newline.
* ode45.m, odeget.m, odeset.m: Rewrite docstrings.
* AbsRel_Norm.m, fuzzy_compare.m, hermite_quartic_interpolation.m,
integrate_adaptive.m, integrate_const.m, integrate_n_steps.m, kahan.m,
ode_struct_value_check.m, odepkg_event_handle.m, odepkg_structure_check.m,
runge_kutta_45_dorpri.m, starting_stepsize.m:
Don't break @deftypefn lines. Wrap lines at 80 columns rather than 72.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 03 Oct 2015 21:03:16 -0700 |
parents | 6256f6e366ac |
children | eb9e2d187ed2 |
comparison
equal
deleted
inserted
replaced
20579:52ce821a52fd | 20580:25623ef2ff4f |
---|---|
15 ## You should have received a copy of the GNU General Public License | 15 ## You should have received a copy of the GNU General Public License |
16 ## along with Octave; see the file COPYING. If not, see | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | 17 ## <http://www.gnu.org/licenses/>. |
18 | 18 |
19 ## -*- texinfo -*- | 19 ## -*- texinfo -*- |
20 ## @deftypefn {Command} {[@var{sum}] =} kahan (@var{sum}, | 20 ## @deftypefn {Function File} {[@var{sum}] =} kahan (@var{sum}, @var{comp}, @var{temp}) |
21 ## @var{comp}, @var{temp}) | 21 ## @deftypefnx {Function File} {[@var{sum}, @var{comp}] =} kahan (@var{sum}, @var{comp}, @var{temp}) |
22 ## @deftypefnx {Command} {[@var{sum}, @var{comp}] =} kahan (@var{sum}, | |
23 ## @var{comp}, @var{temp}) | |
24 ## | 22 ## |
25 ## This function is the implementation of the Kahan summation algorithm, | 23 ## This function is the implementation of the Kahan summation algorithm, |
26 ## also known as compensated summation. It significantly reduces the numerical | 24 ## also known as compensated summation. |
27 ## error in the total obtained by adding a sequence of finite precision | 25 ## |
28 ## floating point numbers, compared to the obvious approach. For more details | 26 ## It significantly reduces the numerical error in the total obtained by adding |
27 ## a sequence of finite precision floating point numbers, compared to the | |
28 ## obvious approach. For more details | |
29 ## see @url{http://en.wikipedia.org/wiki/Kahan_summation_algorithm}. | 29 ## see @url{http://en.wikipedia.org/wiki/Kahan_summation_algorithm}. |
30 ## This function is called in @command{integrate_adaptive} and in | 30 ## This function is called in @command{integrate_adaptive} and in |
31 ## @command{integrate_const} to better catch equality comparisons. | 31 ## @command{integrate_const} to better catch equality comparisons. |
32 ## | 32 ## |
33 ## The first input argument is the variable that will contain the summation, | 33 ## The first input argument is the variable that will contain the summation, |
34 ## so that is also returned as first output argument in order to reuse it in | 34 ## so that is also returned as first output argument in order to reuse it in |
35 ## next calls to kahan function. | 35 ## next calls to kahan function. |
36 ## | 36 ## |
37 ## The second input argument contains the compensation term and it is returned | 37 ## The second input argument contains the compensation term and it is returned |
38 ## as second output argument so that it can be reused in the next calls | 38 ## as second output argument so that it can be reused in the next calls of the |
39 ## of the same computation. | 39 ## same computation. |
40 ## | 40 ## |
41 ## The third input argument is the variable that contains the term to | 41 ## The third input argument is the variable that contains the term to be added |
42 ## be added to @var{Sum}. | 42 ## to @var{Sum}. |
43 ## @end deftypefn | 43 ## @end deftypefn |
44 | 44 |
45 function [Sum, comp] = kahan (Sum, comp, term) | 45 function [Sum, comp] = kahan (Sum, comp, term) |
46 | 46 |
47 y = term - comp; | 47 y = term - comp; |