changeset 20162:2645f9ef8c88 stable

doc: Update more docstrings to have one sentence summary as first line. Reviewed specfun, special-matrix, testfun, and time script directories. * scripts/specfun/expint.m, scripts/specfun/isprime.m, scripts/specfun/legendre.m, scripts/specfun/primes.m, scripts/specfun/reallog.m, scripts/specfun/realsqrt.m, scripts/special-matrix/gallery.m, scripts/special-matrix/hadamard.m, scripts/special-matrix/hankel.m, scripts/special-matrix/hilb.m, scripts/special-matrix/invhilb.m, scripts/special-matrix/magic.m, scripts/special-matrix/pascal.m, scripts/special-matrix/rosser.m, scripts/special-matrix/toeplitz.m, scripts/special-matrix/vander.m, scripts/special-matrix/wilkinson.m, scripts/testfun/assert.m, scripts/testfun/demo.m, scripts/testfun/example.m, scripts/testfun/fail.m, scripts/testfun/rundemos.m, scripts/testfun/runtests.m, scripts/testfun/speed.m, scripts/time/asctime.m, scripts/time/calendar.m, scripts/time/clock.m, scripts/time/ctime.m, scripts/time/datenum.m, scripts/time/datestr.m, scripts/time/datevec.m, scripts/time/etime.m, scripts/time/is_leap_year.m, scripts/time/now.m, scripts/time/weekday.m: Update more docstrings to have one sentence summary as first line.
author Rik <rik@octave.org>
date Sun, 03 May 2015 17:00:11 -0700
parents 03b9d17a2d95
children 075a5e2e1ba5
files scripts/specfun/expint.m scripts/specfun/isprime.m scripts/specfun/legendre.m scripts/specfun/primes.m scripts/specfun/reallog.m scripts/specfun/realsqrt.m scripts/special-matrix/gallery.m scripts/special-matrix/hadamard.m scripts/special-matrix/hankel.m scripts/special-matrix/hilb.m scripts/special-matrix/invhilb.m scripts/special-matrix/magic.m scripts/special-matrix/pascal.m scripts/special-matrix/rosser.m scripts/special-matrix/toeplitz.m scripts/special-matrix/vander.m scripts/special-matrix/wilkinson.m scripts/testfun/assert.m scripts/testfun/demo.m scripts/testfun/example.m scripts/testfun/fail.m scripts/testfun/rundemos.m scripts/testfun/runtests.m scripts/testfun/speed.m scripts/time/asctime.m scripts/time/calendar.m scripts/time/clock.m scripts/time/ctime.m scripts/time/datenum.m scripts/time/datestr.m scripts/time/datevec.m scripts/time/etime.m scripts/time/is_leap_year.m scripts/time/now.m scripts/time/weekday.m
diffstat 35 files changed, 217 insertions(+), 193 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/specfun/expint.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/specfun/expint.m	Sun May 03 17:00:11 2015 -0700
@@ -41,7 +41,7 @@
 ## @end ifnottex
 ## Note: For compatibility, this functions uses the @sc{matlab} definition
 ## of the exponential integral.  Most other sources refer to this particular
-## value as @math{E_1 (x)}, and the exponential integral is
+## value as @math{E_1 (x)}, and the exponential integral as
 ## @tex
 ## $$
 ## {\rm Ei} (x) = - \int_{-x}^\infty {e^{-t} \over t} dt.
--- a/scripts/specfun/isprime.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/specfun/isprime.m	Sun May 03 17:00:11 2015 -0700
@@ -19,8 +19,8 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} isprime (@var{x})
-## Return a logical array which is true where the elements of @var{x} are
-## prime numbers and false where they are not.
+## Return a logical array which is true where the elements of @var{x} are prime
+## numbers and false where they are not.
 ##
 ## A prime number is conventionally defined as a positive integer greater than
 ## 1 (e.g., 2, 3, @dots{}) which is divisible only by itself and 1.  Octave
--- a/scripts/specfun/legendre.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/specfun/legendre.m	Sun May 03 17:00:11 2015 -0700
@@ -23,8 +23,9 @@
 ## Compute the Legendre function of degree @var{n} and order
 ## @var{m} = 0 @dots{} @var{n}.
 ##
-## The value @var{n} must be a real non-negative integer.  @var{x} is a
-## vector with real-valued elements in the range [-1, 1].
+## The value @var{n} must be a real non-negative integer.
+##
+## @var{x} is a vector with real-valued elements in the range [-1, 1].
 ##
 ## The optional argument @var{normalization} may be one of @qcode{"unnorm"},
 ## @qcode{"sch"}, or @qcode{"norm"}.  The default if no normalization is given
@@ -88,10 +89,10 @@
 ## @end group
 ## @end example
 ##
-## When the optional argument @code{normalization} is @qcode{"sch"},
-## compute the Schmidt semi-normalized associated Legendre function.
-## The Schmidt semi-normalized associated Legendre function is related
-## to the unnormalized Legendre functions by the following:
+## When the optional argument @code{normalization} is @qcode{"sch"}, compute
+## the Schmidt semi-normalized associated Legendre function.  The Schmidt
+## semi-normalized associated Legendre function is related to the unnormalized
+## Legendre functions by the following:
 ##
 ## For Legendre functions of degree @var{n} and order 0:
 ##
@@ -131,10 +132,10 @@
 ##
 ## @end ifnottex
 ##
-## When the optional argument @var{normalization} is @qcode{"norm"},
-## compute the fully normalized associated Legendre function.
-## The fully normalized associated Legendre function is related
-## to the unnormalized Legendre functions by the following:
+## When the optional argument @var{normalization} is @qcode{"norm"}, compute
+## the fully normalized associated Legendre function.  The fully normalized
+## associated Legendre function is related to the unnormalized Legendre
+## functions by the following:
 ##
 ## For Legendre functions of degree @var{n} and order @var{m}
 ##
--- a/scripts/specfun/primes.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/specfun/primes.m	Sun May 03 17:00:11 2015 -0700
@@ -20,14 +20,13 @@
 ## @deftypefn {Function File} {} primes (@var{n})
 ## Return all primes up to @var{n}.
 ##
-## The output data class (double, single, uint32, etc.) is the same as
-## the input class of @var{n}.  The algorithm used is the Sieve of
-## Eratosthenes.
+## The output data class (double, single, uint32, etc.) is the same as the
+## input class of @var{n}.  The algorithm used is the Sieve of Eratosthenes.
 ##
-## Notes: If you need a specific number of primes you can use the
-## fact that the distance from one prime to the next is, on average,
-## proportional to the logarithm of the prime.  Integrating, one finds
-## that there are about @math{k} primes less than
+## Notes: If you need a specific number of primes you can use the fact that the
+## distance from one prime to the next is, on average, proportional to the
+## logarithm of the prime.  Integrating, one finds that there are about
+## @math{k} primes less than
 ## @tex
 ## $k \log (5 k)$.
 ## @end tex
@@ -35,8 +34,7 @@
 ## k*log (5*k).
 ## @end ifnottex
 ##
-## See also @code{list_primes} if you need a specific number @var{n} of
-## primes.
+## See also @code{list_primes} if you need a specific number @var{n} of primes.
 ## @seealso{list_primes, isprime}
 ## @end deftypefn
 
--- a/scripts/specfun/reallog.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/specfun/reallog.m	Sun May 03 17:00:11 2015 -0700
@@ -20,8 +20,8 @@
 ## @deftypefn {Function File} {} reallog (@var{x})
 ## Return the real-valued natural logarithm of each element of @var{x}.
 ##
-## If any element results in a complex return value @code{reallog} aborts
-## and issues an error.
+## If any element results in a complex return value @code{reallog} aborts and
+## issues an error.
 ## @seealso{log, realpow, realsqrt}
 ## @end deftypefn
 
--- a/scripts/specfun/realsqrt.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/specfun/realsqrt.m	Sun May 03 17:00:11 2015 -0700
@@ -20,8 +20,8 @@
 ## @deftypefn {Function File} {} realsqrt (@var{x})
 ## Return the real-valued square root of each element of @var{x}.
 ##
-## If any element results in a complex return value @code{realsqrt} aborts
-## and issues an error.
+## If any element results in a complex return value @code{realsqrt} aborts and
+## issues an error.
 ## @seealso{sqrt, realpow, reallog}
 ## @end deftypefn
 
--- a/scripts/special-matrix/gallery.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/special-matrix/gallery.m	Sun May 03 17:00:11 2015 -0700
@@ -157,9 +157,9 @@
 ## The second input is a matrix of dimensions describing the size of the output.
 ## The dimensions can also be input as comma-separated arguments.
 ##
-## The input @var{j} is an integer index in the range [0, 2^32-1].  The
-## values of the output matrix are always exactly the same
-## (reproducibility) for a given size input and @var{j} index.
+## The input @var{j} is an integer index in the range [0, 2^32-1].  The values
+## of the output matrix are always exactly the same (reproducibility) for a
+## given size input and @var{j} index.
 ##
 ## The final optional argument determines the class of the resulting matrix.
 ## Possible values for @var{class}: @qcode{"uint8"}, @qcode{"uint16"},
@@ -181,7 +181,7 @@
 ##
 ## @deftypefn  {Function File} {@var{a} =} gallery ("ipjfact", @var{n})
 ## @deftypefnx {Function File} {@var{a} =} gallery ("ipjfact", @var{n}, @var{k})
-## Create an Hankel matrix with factorial elements.
+## Create a Hankel matrix with factorial elements.
 ##
 ## @end deftypefn
 ##
@@ -257,9 +257,9 @@
 ## The first input is a matrix of dimensions describing the size of the output.
 ## The dimensions can also be input as comma-separated arguments.
 ##
-## The input @var{j} is an integer index in the range [0, 2^32-1].  The
-## values of the output matrix are always exactly the same
-## (reproducibility) for a given size input and @var{j} index.
+## The input @var{j} is an integer index in the range [0, 2^32-1].  The values
+## of the output matrix are always exactly the same (reproducibility) for a
+## given size input and @var{j} index.
 ##
 ## The final optional argument determines the class of the resulting matrix.
 ## Possible values for @var{class}: @qcode{"single"}, @qcode{"double"}.
@@ -380,9 +380,9 @@
 ## The first input is a matrix of dimensions describing the size of the output.
 ## The dimensions can also be input as comma-separated arguments.
 ##
-## The input @var{j} is an integer index in the range [0, 2^32-1].  The
-## values of the output matrix are always exactly the same
-## (reproducibility) for a given size input and @var{j} index.
+## The input @var{j} is an integer index in the range [0, 2^32-1].  The values
+## of the output matrix are always exactly the same (reproducibility) for a
+## given size input and @var{j} index.
 ##
 ## The final optional argument determines the class of the resulting matrix.
 ## Possible values for @var{class}: @qcode{"single"}, @qcode{"double"}.
--- a/scripts/special-matrix/hadamard.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/special-matrix/hadamard.m	Sun May 03 17:00:11 2015 -0700
@@ -21,10 +21,11 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} hadamard (@var{n})
-## Construct a Hadamard matrix (@nospell{Hn}) of size @var{n}-by-@var{n}.  The
-## size @var{n} must be of the form @math{2^k * p} in which
-## p is one of 1, 12, 20 or 28.  The returned matrix is normalized,
-## meaning @w{@code{Hn(:,1) == 1}} and @w{@code{Hn(1,:) == 1}}.
+## Construct a Hadamard matrix (@nospell{Hn}) of size @var{n}-by-@var{n}.
+##
+## The size @var{n} must be of the form @math{2^k * p} in which p is one of
+## 1, 12, 20 or 28.  The returned matrix is normalized, meaning
+## @w{@code{Hn(:,1) == 1}} and @w{@code{Hn(1,:) == 1}}.
 ##
 ## Some of the properties of Hadamard matrices are:
 ##
--- a/scripts/special-matrix/hankel.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/special-matrix/hankel.m	Sun May 03 17:00:11 2015 -0700
@@ -20,13 +20,14 @@
 ## @deftypefn  {Function File} {} hankel (@var{c})
 ## @deftypefnx {Function File} {} hankel (@var{c}, @var{r})
 ## Return the Hankel matrix constructed from the first column @var{c}, and
-## (optionally) the last row @var{r}.  If the last element of @var{c} is
-## not the same as the first element of @var{r}, the last element of
-## @var{c} is used.  If the second argument is omitted, it is assumed to
-## be a vector of zeros with the same size as @var{c}.
+## (optionally) the last row @var{r}.
 ##
-## A Hankel matrix formed from an m-vector @var{c}, and an n-vector
-## @var{r}, has the elements
+## If the last element of @var{c} is not the same as the first element of
+## @var{r}, the last element of @var{c} is used.  If the second argument is
+## omitted, it is assumed to be a vector of zeros with the same size as @var{c}.
+##
+## A Hankel matrix formed from an m-vector @var{c}, and an n-vector @var{r},
+## has the elements
 ## @tex
 ## $$
 ## H(i, j) = \cases{c_{i+j-1},&$i+j-1\le m$;\cr r_{i+j-m},&otherwise.\cr}
--- a/scripts/special-matrix/hilb.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/special-matrix/hilb.m	Sun May 03 17:00:11 2015 -0700
@@ -18,8 +18,9 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} hilb (@var{n})
-## Return the Hilbert matrix of order @var{n}.  The @math{i,j} element
-## of a Hilbert matrix is defined as
+## Return the Hilbert matrix of order @var{n}.
+##
+## The @math{i,j} element of a Hilbert matrix is defined as
 ## @tex
 ## $$
 ## H(i, j) = {1 \over (i + j - 1)}
@@ -34,9 +35,9 @@
 ## @end ifnottex
 ##
 ## Hilbert matrices are close to being singular which make them difficult to
-## invert with numerical routines.
-## Comparing the condition number of a random matrix 5x5 matrix with that of
-## a Hilbert matrix of order 5 reveals just how difficult the problem is.
+## invert with numerical routines.  Comparing the condition number of a random
+## matrix 5x5 matrix with that of a Hilbert matrix of order 5 reveals just how
+## difficult the problem is.
 ##
 ## @example
 ## @group
--- a/scripts/special-matrix/invhilb.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/special-matrix/invhilb.m	Sun May 03 17:00:11 2015 -0700
@@ -18,8 +18,9 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} invhilb (@var{n})
-## Return the inverse of the Hilbert matrix of order @var{n}.  This can be
-## computed exactly using
+## Return the inverse of the Hilbert matrix of order @var{n}.
+##
+## This can be computed exactly using
 ## @tex
 ## $$\eqalign{
 ##   A_{ij} &= -1^{i+j} (i+j-1)
@@ -60,10 +61,10 @@
 ## @end example
 ##
 ## @end ifnottex
-## The validity of this formula can easily be checked by expanding
-## the binomial coefficients in both formulas as factorials.  It can
-## be derived more directly via the theory of Cauchy matrices.
-## See @nospell{J. W. Demmel}, @cite{Applied Numerical Linear Algebra}, p. 92.
+## The validity of this formula can easily be checked by expanding the binomial
+## coefficients in both formulas as factorials.  It can be derived more
+## directly via the theory of Cauchy matrices.  See @nospell{J. W. Demmel},
+## @cite{Applied Numerical Linear Algebra}, p. 92.
 ##
 ## Compare this with the numerical calculation of @code{inverse (hilb (n))},
 ## which suffers from the ill-conditioning of the Hilbert matrix, and the
--- a/scripts/special-matrix/magic.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/special-matrix/magic.m	Sun May 03 17:00:11 2015 -0700
@@ -19,9 +19,10 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} magic (@var{n})
 ##
-## Create an @var{n}-by-@var{n} magic square.  A magic square is an arrangement
-## of the integers @code{1:n^2} such that the row sums, column sums, and
-## diagonal sums are all equal to the same value.
+## Create an @var{n}-by-@var{n} magic square.
+##
+## A magic square is an arrangement of the integers @code{1:n^2} such that the
+## row sums, column sums, and diagonal sums are all equal to the same value.
 ##
 ## Note: @var{n} must be greater than 2 for the magic square to exist.
 ## @end deftypefn
--- a/scripts/special-matrix/pascal.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/special-matrix/pascal.m	Sun May 03 17:00:11 2015 -0700
@@ -20,15 +20,21 @@
 ## -*- texinfo -*-
 ## @deftypefn  {Function File} {} pascal (@var{n})
 ## @deftypefnx {Function File} {} pascal (@var{n}, @var{t})
-## Return the Pascal matrix of order @var{n} if @code{@var{t} = 0}.  @var{t}
-## defaults to 0.  Return the pseudo-lower triangular Cholesky@tie{}factor of
-## the Pascal matrix if @code{@var{t} = 1} (The sign of some columns may be
-## negative).  This matrix is its own inverse, that is @code{pascal (@var{n},
-## 1) ^ 2 == eye (@var{n})}.  If @code{@var{t} = -1}, return the true
-## Cholesky@tie{}factor with strictly positive values on the diagonal.  If
-## @code{@var{t} = 2}, return a transposed and permuted version of @code{pascal
-## (@var{n}, 1)}, which is the cube root of the identity matrix.  That is,
-## @code{pascal (@var{n}, 2) ^ 3 == eye (@var{n})}.
+## Return the Pascal matrix of order @var{n} if @code{@var{t} = 0}.
+##
+## The default value of @var{t} is 0.
+##
+## When @code{@var{t} = 1}, return the pseudo-lower triangular
+## Cholesky@tie{}factor of the Pascal matrix (The sign of some columns may be
+## negative).  This matrix is its own inverse, that is
+## @code{pascal (@var{n}, 1) ^ 2 == eye (@var{n})}.
+##
+## If @code{@var{t} = -1}, return the true Cholesky@tie{}factor with strictly
+## positive values on the diagonal.
+##
+## If @code{@var{t} = 2}, return a transposed and permuted version of
+## @code{pascal (@var{n}, 1)}, which is the cube root of the identity matrix.
+## That is, @code{pascal (@var{n}, 2) ^ 3 == eye (@var{n})}.
 ##
 ## @seealso{chol}
 ## @end deftypefn
--- a/scripts/special-matrix/rosser.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/special-matrix/rosser.m	Sun May 03 17:00:11 2015 -0700
@@ -18,9 +18,9 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} rosser ()
-## Return the Rosser matrix.  This is a difficult test case used to evaluate
-## eigenvalue algorithms.
+## Return the Rosser matrix.
 ##
+## This is a difficult test case used to evaluate eigenvalue algorithms.
 ## @seealso{wilkinson, eig}
 ## @end deftypefn
 
--- a/scripts/special-matrix/toeplitz.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/special-matrix/toeplitz.m	Sun May 03 17:00:11 2015 -0700
@@ -21,10 +21,11 @@
 ## @deftypefn  {Function File} {} toeplitz (@var{c})
 ## @deftypefnx {Function File} {} toeplitz (@var{c}, @var{r})
 ## Return the Toeplitz matrix constructed from the first column @var{c},
-## and (optionally) the first row @var{r}.  If the first element of @var{r}
-## is not the same as the first element of @var{c}, the first element of
-## @var{c} is used.  If the second argument is omitted, the first row is
-## taken to be the same as the first column.
+## and (optionally) the first row @var{r}.
+##
+## If the first element of @var{r} is not the same as the first element of
+## @var{c}, the first element of @var{c} is used.  If the second argument is
+## omitted, the first row is taken to be the same as the first column.
 ##
 ## A square Toeplitz matrix has the form:
 ## @tex
--- a/scripts/special-matrix/vander.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/special-matrix/vander.m	Sun May 03 17:00:11 2015 -0700
@@ -21,8 +21,9 @@
 ## @deftypefn  {Function File} {} vander (@var{c})
 ## @deftypefnx {Function File} {} vander (@var{c}, @var{n})
 ## Return the Vandermonde matrix whose next to last column is @var{c}.
-## If @var{n} is specified, it determines the number of columns;
-## otherwise, @var{n} is taken to be equal to the length of @var{c}.
+##
+## If @var{n} is specified, it determines the number of columns; otherwise,
+## @var{n} is taken to be equal to the length of @var{c}.
 ##
 ## A Vandermonde matrix has the form:
 ## @tex
--- a/scripts/special-matrix/wilkinson.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/special-matrix/wilkinson.m	Sun May 03 17:00:11 2015 -0700
@@ -18,10 +18,11 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} wilkinson (@var{n})
-## Return the Wilkinson matrix of order @var{n}.  Wilkinson matrices are
-## symmetric and tridiagonal with pairs of nearly, but not exactly, equal
-## eigenvalues.  They are useful in testing the behavior and performance
-## of eigenvalue solvers.
+## Return the Wilkinson matrix of order @var{n}.
+##
+## Wilkinson matrices are symmetric and tridiagonal with pairs of nearly, but
+## not exactly, equal eigenvalues.  They are useful in testing the behavior and
+## performance of eigenvalue solvers.
 ##
 ## @seealso{rosser, eig}
 ## @end deftypefn
--- a/scripts/testfun/assert.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/testfun/assert.m	Sun May 03 17:00:11 2015 -0700
@@ -33,27 +33,35 @@
 ## @itemx assert (@var{cond}, @var{errmsg})
 ## @itemx assert (@var{cond}, @var{errmsg}, @dots{})
 ## @itemx assert (@var{cond}, @var{msg_id}, @var{errmsg}, @dots{})
-## Called with a single argument @var{cond}, @code{assert} produces an
-## error if @var{cond} is false (numeric zero).  Any additional arguments are
-## passed to the @code{error} function for processing.
+## Called with a single argument @var{cond}, @code{assert} produces an error if
+## @var{cond} is false (numeric zero).
+##
+## Any additional arguments are passed to the @code{error} function for
+## processing.
 ##
 ## @item assert (@var{observed}, @var{expected})
-## Produce an error if observed is not the same as expected.  Note that
-## @var{observed} and @var{expected} can be scalars, vectors, matrices,
-## strings, cell arrays, or structures.
+## Produce an error if observed is not the same as expected.
+##
+## Note that @var{observed} and @var{expected} can be scalars, vectors,
+## matrices, strings, cell arrays, or structures.
 ##
 ## @item assert (@var{observed}, @var{expected}, @var{tol})
 ## Produce an error if observed is not the same as expected but equality
 ## comparison for numeric data uses a tolerance @var{tol}.
+## 
 ## If @var{tol} is positive then it is an absolute tolerance which will produce
 ## an error if @code{abs (@var{observed} - @var{expected}) > abs (@var{tol})}.
+## 
 ## If @var{tol} is negative then it is a relative tolerance which will produce
 ## an error if @code{abs (@var{observed} - @var{expected}) >
 ## abs (@var{tol} * @var{expected})}.
+##
 ## If @var{expected} is zero @var{tol} will always be interpreted as an
-## absolute tolerance.  If @var{tol} is not scalar its dimensions must agree
-## with those of @var{observed} and @var{expected} and tests are performed on
-## an element-by-element basis.
+## absolute tolerance.
+##
+## If @var{tol} is not scalar its dimensions must agree with those of
+## @var{observed} and @var{expected} and tests are performed on an
+## element-by-element basis.
 ## @end table
 ## @seealso{fail, test, error, isequal}
 ## @end deftypefn
--- a/scripts/testfun/demo.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/testfun/demo.m	Sun May 03 17:00:11 2015 -0700
@@ -23,6 +23,7 @@
 ## @deftypefnx {Function File} {} demo ("@var{name}", @var{n})
 ##
 ## Run example code block @var{n} associated with the function @var{name}.
+##
 ## If @var{n} is not specified, all examples are run.
 ##
 ## The preferred location for example code blocks is embedded within the script
@@ -61,20 +62,19 @@
 ## @end example
 ##
 ## @noindent
-## between the sections, but this usage is discouraged.  Other techniques
-## to avoid multiple initialization blocks include using multiple plots
-## with a new @code{figure} command between each plot, or using @code{subplot}
-## to put multiple plots in the same window.
+## between the sections, but this usage is discouraged.  Other techniques to
+## avoid multiple initialization blocks include using multiple plots with a new
+## @code{figure} command between each plot, or using @code{subplot} to put
+## multiple plots in the same window.
 ##
-## Finally, because @code{demo} evaluates within a function context it is
-## not possible to define new functions within the code.  Anonymous functions
-## make a good substitute in most instances.  If function blocks
-## @strong{must} be used then the code @code{eval (example ("function", n))}
-## will allow Octave to see them.  This has its own problems, however, as
-## @code{eval} only evaluates one line or statement at a time.  In this case
-## the function declaration must be wrapped with
-## @qcode{"if 1 <demo stuff> endif"} where @qcode{"if"} is on the same line
-## as @qcode{"demo"}.  For example:
+## Finally, because @code{demo} evaluates within a function context it is not
+## possible to define new functions within the code.  Anonymous functions make
+## a good substitute in most instances.  If function blocks @strong{must} be
+## used then the code @code{eval (example ("function", n))} will allow Octave
+## to see them.  This has its own problems, however, as @code{eval} only
+## evaluates one line or statement at a time.  In this case the function
+## declaration must be wrapped with @qcode{"if 1 <demo stuff> endif"} where
+## @qcode{"if"} is on the same line as @qcode{"demo"}.  For example:
 ##
 ## @example
 ## @group
--- a/scripts/testfun/example.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/testfun/example.m	Sun May 03 17:00:11 2015 -0700
@@ -24,8 +24,9 @@
 ## @deftypefnx {Function File} {[@var{s}, @var{idx}] =} example (@dots{})
 ##
 ## Display the code for example @var{n} associated with the function
-## @var{name}, but do not run it.  If @var{n} is not specified, all examples
-## are displayed.
+## @var{name}, but do not run it.
+##
+## If @var{n} is not specified, all examples are displayed.
 ##
 ## When called with output arguments, the examples are returned in the form of
 ## a string @var{s}, with @var{idx} indicating the ending position of the
--- a/scripts/testfun/fail.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/testfun/fail.m	Sun May 03 17:00:11 2015 -0700
@@ -53,8 +53,8 @@
 ##
 ## The angle brackets are not part of the output.
 ##
-## When called with the @qcode{"warning"} option @code{fail} will produce
-## an error if executing the code produces no warning.
+## When called with the @qcode{"warning"} option @code{fail} will produce an
+## error if executing the code produces no warning.
 ## @seealso{assert, error}
 ## @end deftypefn
 
--- a/scripts/testfun/rundemos.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/testfun/rundemos.m	Sun May 03 17:00:11 2015 -0700
@@ -24,8 +24,8 @@
 ## Demo blocks in any C++ source files (@file{*.cc}) will also be executed
 ## for use with dynamically linked oct-file functions.
 ##
-## If no directory is specified, operate on all directories in Octave's
-## search path for functions.
+## If no directory is specified, operate on all directories in Octave's search
+## path for functions.
 ## @seealso{demo, runtests, path}
 ## @end deftypefn
 
--- a/scripts/testfun/runtests.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/testfun/runtests.m	Sun May 03 17:00:11 2015 -0700
@@ -24,8 +24,8 @@
 ## Test blocks in any C++ source files (@file{*.cc}) will also be executed
 ## for use with dynamically linked oct-file functions.
 ##
-## If no directory is specified, operate on all directories in Octave's
-## search path for functions.
+## If no directory is specified, operate on all directories in Octave's search
+## path for functions.
 ## @seealso{rundemos, test, path}
 ## @end deftypefn
 
--- a/scripts/testfun/speed.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/testfun/speed.m	Sun May 03 17:00:11 2015 -0700
@@ -21,12 +21,14 @@
 ## @deftypefnx {Function File} {[@var{order}, @var{n}, @var{T_f}, @var{T_f2}] =} speed (@dots{})
 ##
 ## Determine the execution time of an expression (@var{f}) for various input
-## values (@var{n}).  The @var{n} are log-spaced from 1 to @var{max_n}.  For
-## each @var{n}, an initialization expression (@var{init}) is computed to
-## create any data needed for the test.  If a second expression (@var{f2}) is
-## given then the execution times of the two expressions are compared.  When
-## called without output arguments the results are printed to stdout and
-## displayed graphically.
+## values (@var{n}).
+##
+## The @var{n} are log-spaced from 1 to @var{max_n}.  For each @var{n}, an
+## initialization expression (@var{init}) is computed to create any data needed
+## for the test.  If a second expression (@var{f2}) is given then the
+## execution times of the two expressions are compared.  When called without
+## output arguments the results are printed to stdout and displayed
+## graphically.
 ##
 ## @table @code
 ## @item @var{f}
@@ -38,10 +40,10 @@
 ## @code{[n1, n2, @dots{}, nk]}.
 ##
 ## @item @var{init}
-## Initialization expression for function argument values.  Use @var{k}
-## for the test number and @var{n} for the size of the test.  This should
-## compute values for all variables used by @var{f}.  Note that @var{init} will
-## be evaluated first for @math{k = 0}, so things which are constant throughout
+## Initialization expression for function argument values.  Use @var{k} for
+## the test number and @var{n} for the size of the test.  This should compute
+## values for all variables used by @var{f}.  Note that @var{init} will be
+## evaluated first for @math{k = 0}, so things which are constant throughout
 ## the test series can be computed once.  The default value is
 ## @code{@var{x} = randn (@var{n}, 1)}.
 ##
@@ -56,8 +58,8 @@
 ## @code{eps}.  If @var{tol} is @code{Inf}, then no comparison will be made.
 ##
 ## @item @var{order}
-## The time complexity of the expression @math{O(a*n^p)}.  This
-## is a structure with fields @code{a} and @code{p}.
+## The time complexity of the expression @math{O(a*n^p)}.  This is a
+## structure with fields @code{a} and @code{p}.
 ##
 ## @item @var{n}
 ## The values @var{n} for which the expression was calculated @strong{AND}
@@ -72,17 +74,15 @@
 ##
 ## @end table
 ##
-## The slope of the execution time graph shows the approximate
-## power of the asymptotic running time @math{O(n^p)}.  This
-## power is plotted for the region over which it is approximated
-## (the latter half of the graph).  The estimated power is not
-## very accurate, but should be sufficient to determine the
-## general order of an algorithm.  It should indicate if, for
-## example, the implementation is unexpectedly @math{O(n^2)}
-## rather than @math{O(n)} because it extends a vector each
-## time through the loop rather than pre-allocating storage.
-## In the current version of Octave, the following is not the
-## expected @math{O(n)}.
+## The slope of the execution time graph shows the approximate power of the
+## asymptotic running time @math{O(n^p)}.  This power is plotted for the
+## region over which it is approximated (the latter half of the graph).  The
+## estimated power is not very accurate, but should be sufficient to
+## determine the general order of an algorithm.  It should indicate if, for
+## example, the implementation is unexpectedly @math{O(n^2)} rather than
+## @math{O(n)} because it extends a vector each time through the loop rather
+## than pre-allocating storage.  In the current version of Octave, the
+## following is not the expected @math{O(n)}.
 ##
 ## @example
 ## speed ("for i = 1:n, y@{i@} = x(i); endfor", "", [1000, 10000])
@@ -98,21 +98,19 @@
 ## @end group
 ## @end example
 ##
-## An attempt is made to approximate the cost of individual
-## operations, but it is wildly inaccurate.  You can improve the
-## stability somewhat by doing more work for each @code{n}.  For
-## example:
+## An attempt is made to approximate the cost of individual operations, but
+## it is wildly inaccurate.  You can improve the stability somewhat by doing
+## more work for each @code{n}.  For example:
 ##
 ## @example
 ## speed ("airy(x)", "x = rand (n, 10)", [10000, 100000])
 ## @end example
 ##
-## When comparing two different expressions (@var{f}, @var{f2}), the slope
-## of the line on the speedup ratio graph should be larger than 1 if the new
+## When comparing two different expressions (@var{f}, @var{f2}), the slope of
+## the line on the speedup ratio graph should be larger than 1 if the new
 ## expression is faster.  Better algorithms have a shallow slope.  Generally,
-## vectorizing an algorithm will not change the slope of the execution
-## time graph, but will shift it relative to the original.  For
-## example:
+## vectorizing an algorithm will not change the slope of the execution time
+## graph, but will shift it relative to the original.  For example:
 ##
 ## @example
 ## @group
@@ -135,12 +133,12 @@
 ## @end group
 ## @end example
 ##
-## Assuming one of the two versions is in xcorr_orig, this
-## would compare their speed and their output values.  Note that the
-## FFT version is not exact, so one must specify an acceptable tolerance on
-## the comparison @code{100*eps}.  In this case, the comparison should be
-## computed relatively, as @code{abs ((@var{x} - @var{y}) ./ @var{y})} rather
-## than absolutely as @code{abs (@var{x} - @var{y})}.
+## Assuming one of the two versions is in xcorr_orig, this would compare their
+## speed and their output values.  Note that the FFT version is not exact, so
+## one must specify an acceptable tolerance on the comparison @code{100*eps}.
+## In this case, the comparison should be computed relatively, as
+## @code{abs ((@var{x} - @var{y}) ./ @var{y})} rather than absolutely as
+## @code{abs (@var{x} - @var{y})}.
 ##
 ## Type @kbd{example ("speed")} to see some real examples or
 ## @kbd{demo ("speed")} to run them.
--- a/scripts/time/asctime.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/time/asctime.m	Sun May 03 17:00:11 2015 -0700
@@ -19,7 +19,9 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} asctime (@var{tm_struct})
 ## Convert a time structure to a string using the following
-## format: @qcode{"ddd mmm mm HH:MM:SS yyyy"}.  For example:
+## format: @qcode{"ddd mmm mm HH:MM:SS yyyy"}.
+##
+## For example:
 ##
 ## @example
 ## @group
--- a/scripts/time/calendar.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/time/calendar.m	Sun May 03 17:00:11 2015 -0700
@@ -23,8 +23,8 @@
 ## @deftypefnx {Function File} {} calendar (@dots{})
 ## Return the current monthly calendar in a 6x7 matrix.
 ##
-## If @var{d} is specified, return the calendar for the month containing
-## the date @var{d}, which must be a serial date number or a date string.
+## If @var{d} is specified, return the calendar for the month containing the
+## date @var{d}, which must be a serial date number or a date string.
 ##
 ## If @var{y} and @var{m} are specified, return the calendar for year @var{y}
 ## and month @var{m}.
--- a/scripts/time/clock.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/time/clock.m	Sun May 03 17:00:11 2015 -0700
@@ -18,10 +18,11 @@
 
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} clock ()
-## Return the current local date and time as a date vector.  The date vector
-## contains the following fields: current year, month (1-12), day (1-31),
-## hour (0-23), minute (0-59), and second (0-61).  The seconds field has
-## a fractional part after the decimal point for extended accuracy.
+## Return the current local date and time as a date vector.
+##
+## The date vector contains the following fields: current year, month (1-12),
+## day (1-31), hour (0-23), minute (0-59), and second (0-61).  The seconds
+## field has a fractional part after the decimal point for extended accuracy.
 ##
 ## For example:
 ##
@@ -32,8 +33,8 @@
 ## @end group
 ## @end example
 ##
-## The function clock is more accurate on systems that have the
-## @code{gettimeofday} function.
+## @code{clock} is more accurate on systems that have the @code{gettimeofday}
+## function.
 ## @seealso{now, date, datevec}
 ## @end deftypefn
 
--- a/scripts/time/ctime.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/time/ctime.m	Sun May 03 17:00:11 2015 -0700
@@ -20,7 +20,9 @@
 ## @deftypefn {Function File} {} ctime (@var{t})
 ## Convert a value returned from @code{time} (or any other non-negative
 ## integer), to the local time and return a string of the same form as
-## @code{asctime}.  The function @code{ctime (time)} is equivalent to
+## @code{asctime}.
+##
+## The function @code{ctime (time)} is equivalent to
 ## @code{asctime (localtime (time))}.  For example:
 ##
 ## @example
--- a/scripts/time/datenum.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/time/datenum.m	Sun May 03 17:00:11 2015 -0700
@@ -75,15 +75,9 @@
 ## Days can be fractional.
 ## @end itemize
 ##
-## @strong{Caution:} this function does not attempt to handle Julian
-## calendars so dates before October 15, 1582 are wrong by as much
-## as eleven days.  Also, be aware that only Roman Catholic countries
-## adopted the calendar in 1582.  It took until 1924 for it to be
-## adopted everywhere.  See the Wikipedia entry on the Gregorian
-## calendar for more details.
+## @strong{Caution:} this function does not attempt to handle Julian calendars so dates before October 15, 1582 are wrong by as much as eleven days.  Also, be aware that only Roman Catholic countries adopted the calendar in 1582.  It took until 1924 for it to be adopted everywhere.  See the Wikipedia entry on the Gregorian calendar for more details.
 ##
-## @strong{Warning:} leap seconds are ignored.  A table of leap seconds
-## is available on the Wikipedia entry for leap seconds.
+## @strong{Warning:} leap seconds are ignored.  A table of leap seconds is available on the Wikipedia entry for leap seconds.
 ## @seealso{datestr, datevec, now, clock, date}
 ## @end deftypefn
 
--- a/scripts/time/datestr.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/time/datestr.m	Sun May 03 17:00:11 2015 -0700
@@ -21,16 +21,18 @@
 ## @deftypefnx {Function File} {@var{str} =} datestr (@var{date}, @var{f})
 ## @deftypefnx {Function File} {@var{str} =} datestr (@var{date}, @var{f}, @var{p})
 ## Format the given date/time according to the format @code{f} and return
-## the result in @var{str}.  @var{date} is a serial date number (see
-## @code{datenum}) or a date vector (see @code{datevec}).  The value of
-## @var{date} may also be a string or cell array of strings.
+## the result in @var{str}.
+##
+## @var{date} is a serial date number (see @code{datenum}) or a date vector
+## (see @code{datevec}).  The value of @var{date} may also be a string or cell
+## array of strings.
 ##
-## @var{f} can be an integer which corresponds to one of the codes in
-## the table below, or a date format string.
+## @var{f} can be an integer which corresponds to one of the codes in the table
+## below, or a date format string.
 ##
-## @var{p} is the year at the start of the century in which two-digit years
-## are to be interpreted in.  If not specified, it defaults to the current
-## year minus 50.
+## @var{p} is the year at the start of the century in which two-digit years are
+## to be interpreted in.  If not specified, it defaults to the current year
+## minus 50.
 ##
 ## For example, the date 730736.65149 (2000-09-07 15:38:09.0934) would be
 ## formatted as follows:
@@ -94,9 +96,8 @@
 ## @item PM   @tab Use 12-hour time format                      @tab 11:30 PM
 ## @end multitable
 ##
-## If @var{f} is not specified or is @code{-1}, then use 0, 1 or 16,
-## depending on whether the date portion or the time portion of
-## @var{date} is empty.
+## If @var{f} is not specified or is @code{-1}, then use 0, 1 or 16, depending
+## on whether the date portion or the time portion of @var{date} is empty.
 ##
 ## If @var{p} is nor specified, it defaults to the current year minus 50.
 ##
--- a/scripts/time/datevec.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/time/datevec.m	Sun May 03 17:00:11 2015 -0700
@@ -31,14 +31,14 @@
 ## @var{f} is the format string used to interpret date strings
 ## (see @code{datestr}).  If @var{date} is a string, but no format is
 ## specified, then a relatively slow search is performed through various
-## formats.  It is always preferable to specify the format string @var{f}
-## if it is known.  Formats which do not specify a particular time component
-## will have the value set to zero.  Formats which do not specify a date will
+## formats.  It is always preferable to specify the format string @var{f} if it
+## is known.  Formats which do not specify a particular time component will
+## have the value set to zero.  Formats which do not specify a date will
 ## default to January 1st of the current year.
 ##
 ## @var{p} is the year at the start of the century to which two-digit years
-## will be referenced.  If not specified, it defaults to the current year
-## minus 50.
+## will be referenced.  If not specified, it defaults to the current year minus
+## 50.
 ## @seealso{datenum, datestr, clock, now, date}
 ## @end deftypefn
 
--- a/scripts/time/etime.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/time/etime.m	Sun May 03 17:00:11 2015 -0700
@@ -19,7 +19,9 @@
 ## -*- texinfo -*-
 ## @deftypefn {Function File} {} etime (@var{t2}, @var{t1})
 ## Return the difference in seconds between two time values returned from
-## @code{clock} (@math{@var{t2} - @var{t1}}).  For example:
+## @code{clock} (@math{@var{t2} - @var{t1}}).
+##
+## For example:
 ##
 ## @example
 ## @group
@@ -30,8 +32,8 @@
 ## @end example
 ##
 ## @noindent
-## will set the variable @code{elapsed_time} to the number of seconds since
-## the variable @code{t0} was set.
+## will set the variable @code{elapsed_time} to the number of seconds since the
+## variable @code{t0} was set.
 ## @seealso{tic, toc, clock, cputime, addtodate}
 ## @end deftypefn
 
--- a/scripts/time/is_leap_year.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/time/is_leap_year.m	Sun May 03 17:00:11 2015 -0700
@@ -19,8 +19,10 @@
 ## -*- texinfo -*-
 ## @deftypefn  {Function File} {} is_leap_year ()
 ## @deftypefnx {Function File} {} is_leap_year (@var{year})
-## Return true if @var{year} is a leap year and false otherwise.  If no
-## year is specified, @code{is_leap_year} uses the current year.
+## Return true if @var{year} is a leap year and false otherwise.
+##
+## If no year is specified, @code{is_leap_year} uses the current year.
+##
 ## For example:
 ##
 ## @example
--- a/scripts/time/now.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/time/now.m	Sun May 03 17:00:11 2015 -0700
@@ -24,8 +24,7 @@
 ## The integral part, @code{floor (now)} corresponds to the number of days
 ## between today and Jan 1, 0000.
 ##
-## The fractional part, @code{rem (now, 1)} corresponds to the current
-## time.
+## The fractional part, @code{rem (now, 1)} corresponds to the current time.
 ## @seealso{clock, date, datenum}
 ## @end deftypefn
 
--- a/scripts/time/weekday.m	Sun May 03 15:36:23 2015 -0700
+++ b/scripts/time/weekday.m	Sun May 03 17:00:11 2015 -0700
@@ -20,13 +20,14 @@
 ## @deftypefn  {Function File} {[@var{n}, @var{s}] =} weekday (@var{d})
 ## @deftypefnx {Function File} {[@var{n}, @var{s}] =} weekday (@var{d}, @var{format})
 ## Return the day of the week as a number in @var{n} and as a string in @var{s}.
+##
 ## The days of the week are numbered 1--7 with the first day being Sunday.
 ##
 ## @var{d} is a serial date number or a date string.
 ##
-## If the string @var{format} is not present or is equal to @qcode{"short"} then
-## @var{s} will contain the abbreviated name of the weekday.  If @var{format}
-## is @qcode{"long"} then @var{s} will contain the full name.
+## If the string @var{format} is not present or is equal to @qcode{"short"}
+## then @var{s} will contain the abbreviated name of the weekday.  If
+## @var{format} is @qcode{"long"} then @var{s} will contain the full name.
 ##
 ## Table of return values based on @var{format}:
 ##