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;