Mercurial > hg > octave-terminal
changeset 12653:25d4e163ee38
merge stable to default
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 06 May 2011 18:45:05 -0400 |
parents | 332bb3b9600e (current diff) 5fd90b7cb787 (diff) |
children | 52d79740a76c |
files | scripts/general/dblquad.m scripts/general/triplequad.m scripts/sparse/gmres.m scripts/statistics/base/quantile.m src/DLD-FUNCTIONS/eigs.cc src/DLD-FUNCTIONS/quadcc.cc src/variables.cc |
diffstat | 65 files changed, 172 insertions(+), 106 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/interpreter/contributors.in +++ b/doc/interpreter/contributors.in @@ -111,6 +111,7 @@ Heine Kolltveit Ken Kouno Kacper Kowalik +Daniel Kraft Oyvind Kristiansen Piotr Krzyzanowski Volker Kuhlmann
--- a/doc/interpreter/func.txi +++ b/doc/interpreter/func.txi @@ -353,7 +353,7 @@ which stops the function execution and prints a message about the correct way to call the function whenever the number of inputs is wrong. -For compatability with @sc{matlab}, @code{nargchk} and @code{nargoutchk} are +For compatibility with @sc{matlab}, @code{nargchk} and @code{nargoutchk} are available which provide similar error checking. @DOCSTRING(nargchk) @@ -1328,7 +1328,7 @@ Functions that don't really belong anywhere else. @item optimization -Functions related to minimzation, optimization, and root finding. +Functions related to minimization, optimization, and root finding. @item path Functions to manage the directory path Octave uses to find functions.
--- a/scripts/general/cumtrapz.m +++ b/scripts/general/cumtrapz.m @@ -27,7 +27,7 @@ ## along the first non-singleton dimension. Where @code{trapz} reports ## only the overall integral sum, @code{cumtrapz} reports the current partial ## sum value at each point of @var{y}. When the argument @var{x} is omitted -## an equally spaced @var{x} vector with unit spacing (1) is assumed. +## an equally spaced @var{x} vector with unit spacing (1) is assumed. ## @code{cumtrapz (@var{x}, @var{y})} evaluates the integral with respect to ## the spacing in @var{x} and the values in @var{y}. This is useful if the ## points in @var{y} have been sampled unevenly. If the optional @var{dim}
--- a/scripts/general/dblquad.m +++ b/scripts/general/dblquad.m @@ -32,7 +32,7 @@ ## integration for x and y respectively. The underlying integrator determines ## whether infinite bounds are accepted. ## -## The optional argument @var{tol} defines the absolute tolerance used to +## The optional argument @var{tol} defines the absolute tolerance used to ## integrate each sub-integral. The default value is @math{1e^{-6}}. ## ## The optional argument @var{quadf} specifies which underlying integrator
--- a/scripts/general/quadgk.m +++ b/scripts/general/quadgk.m @@ -52,11 +52,11 @@ ## ## The optional argument @var{tol} defines the absolute tolerance used to stop ## the integration procedure. The default value is @math{1e^{-10}}. -## +## ## The algorithm used by @code{quadgk} involves subdividing the ## integration interval and evaluating each subinterval. ## If @var{trace} is true then after computing each of these partial -## integrals display: (1) the number of subintervals at this step, +## integrals display: (1) the number of subintervals at this step, ## (2) the current estimate of the error @var{err}, (3) the current estimate ## for the integral @var{q}. ## @@ -116,8 +116,8 @@ ## integrates @code{log (z)} along the square defined by @code{[1+1i, ## 1-1i, -1-1i, -1+1i]} ## -## The result of the integration is returned in @var{q}. -## @var{err} is an approximate bound on the error in the integral +## The result of the integration is returned in @var{q}. +## @var{err} is an approximate bound on the error in the integral ## @code{abs (@var{q} - @var{I})}, where @var{I} is the exact value of the ## integral. ##
--- a/scripts/general/quadl.m +++ b/scripts/general/quadl.m @@ -39,7 +39,7 @@ ## integration interval. ## If @var{trace} is defined then for each subinterval display: (1) the left ## end of the subinterval, (2) the length of the subinterval, (3) the -## approximation of the integral over the subinterval. +## approximation of the integral over the subinterval. ## ## Additional arguments @var{p1}, etc., are passed directly to the function ## @var{f}. To use default values for @var{tol} and @var{trace}, one may pass
--- a/scripts/general/quadv.m +++ b/scripts/general/quadv.m @@ -33,7 +33,7 @@ ## ## @var{a} and @var{b} are the lower and upper limits of integration. Both ## limits must be finite. -## +## ## The optional argument @var{tol} defines the tolerance used to stop ## the adaptation procedure. The default value is @math{1e^{-6}}. ## @@ -52,7 +52,7 @@ ## the number of function evaluations that were made. ## ## Note: @code{quadv} is written in Octave's scripting language and can be -## used recursively in @code{dblquad} and @code{triplequad}, unlike the +## used recursively in @code{dblquad} and @code{triplequad}, unlike the ## similar @code{quad} function. ## @seealso{quad, quadl, quadgk, quadcc, trapz, dblquad, triplequad} ## @end deftypefn
--- a/scripts/general/sortrows.m +++ b/scripts/general/sortrows.m @@ -102,3 +102,14 @@ %! assert (issparse (sx)); %! assert (x, full (sx)); %! assert (idx, sidx); + +%!test +%! m = [1, 0, 0, 4]; +%! c = 1; +%! [x, idx] = sortrows (m, c); +%! [sx, sidx] = sortrows (sparse (m), c); +%! assert (x, m); +%! assert (idx, 1); +%! assert (issparse (sx)); +%! assert (x, full (sx)); +%! assert (idx, sidx);
--- a/scripts/general/trapz.m +++ b/scripts/general/trapz.m @@ -25,7 +25,7 @@ ## method. ## @w{@code{trapz (@var{y})}} computes the integral of @var{y} along the first ## non-singleton dimension. When the argument @var{x} is omitted an -## equally spaced @var{x} vector with unit spacing (1) is assumed. +## equally spaced @var{x} vector with unit spacing (1) is assumed. ## @code{trapz (@var{x}, @var{y})} evaluates the integral with respect ## to the spacing in @var{x} and the values in @var{y}. This is useful if ## the points in @var{y} have been sampled unevenly. @@ -45,7 +45,7 @@ ## @result{} q = 2.525 # No scaling ## q * 0.1 ## @result{} q = 0.2525 # Approximation to integral by scaling -## trapz (x, y) +## trapz (x, y) ## @result{} q = 0.2525 # Same result by specifying @var{x} ## @end group ## @end example
--- a/scripts/general/triplequad.m +++ b/scripts/general/triplequad.m @@ -32,7 +32,7 @@ ## and upper limits of integration for x, y, and z respectively. The ## underlying integrator determines whether infinite bounds are accepted. ## -## The optional argument @var{tol} defines the absolute tolerance used to +## The optional argument @var{tol} defines the absolute tolerance used to ## integrate each sub-integral. The default value is @math{1e^{-6}}. ## ## The optional argument @var{quadf} specifies which underlying integrator
--- a/scripts/linear-algebra/cond.m +++ b/scripts/linear-algebra/cond.m @@ -20,7 +20,7 @@ ## @deftypefn {Function File} {} cond (@var{A}) ## @deftypefnx {Function File} {} cond (@var{A}, @var{p}) ## Compute the @var{p}-norm condition number of a matrix. -## +## ## @code{cond (@var{A})} is ## defined as ## @tex ## $ {\parallel A \parallel_p * \parallel A^{-1} \parallel_p .} $
--- a/scripts/linear-algebra/gmres.m +++ b/scripts/linear-algebra/gmres.m @@ -24,25 +24,25 @@ ## with restart, a.k.a. PGMRES(m). ## ## @itemize @minus -## @item @var{rtol} is the relative tolerance, +## @item @var{rtol} is the relative tolerance, ## if not given or set to [] the default value 1e-6 is used. ## ## @item @var{maxit} is the maximum number of outer iterations, -## if not given or set to [] the default value +## if not given or set to [] the default value ## @code{min (10, numel (b) / restart)} is used. ## ## @item @var{x0} is the initial guess, -## if not given or set to [] the default value @code{zeros(size (b))} is used. +## if not given or set to [] the default value @code{zeros(size (b))} is used. ## ## @item @var{m} is the restart parameter, ## if not given or set to [] the default value @code{numel (b)} is used. ## @end itemize ## -## Argument @var{A} can be passed as a matrix, function handle, or +## Argument @var{A} can be passed as a matrix, function handle, or ## inline function @code{f} such that @code{f(x) = A*x}. ## -## The preconditioner @var{P} is given as @code{P = M1 * M2}. -## Both @var{M1} and @var{M2} can be passed as a matrix, function handle, or +## The preconditioner @var{P} is given as @code{P = M1 * M2}. +## Both @var{M1} and @var{M2} can be passed as a matrix, function handle, or ## inline function @code{g} such that @code{g(x) = M1\x} or @code{g(x) = M2\x}. ## ## Besides the vector @var{x}, additional outputs are: @@ -63,7 +63,7 @@ ## @item @var{relres} is the final value of the relative residual. ## ## @item @var{iter} is a vector containing the number of outer iterations and -## total iterations performed. +## total iterations performed. ## ## @item @var{resvec} is a vector containing the relative residual at each ## iteration.
--- a/scripts/miscellaneous/bzip2.m +++ b/scripts/miscellaneous/bzip2.m @@ -23,7 +23,7 @@ ## Compress the list of files specified in @var{files}. ## Each file is compressed separately and a new file with a '.bz2' extension ## is created. The original files are not modified. Existing compressed files -## are silently overwritten. If @var{outdir} is defined the compressed +## are silently overwritten. If @var{outdir} is defined the compressed ## files are placed in this directory. ## @seealso{bunzip2, gzip, zip, tar} ## @end deftypefn
--- a/scripts/miscellaneous/compare_versions.m +++ b/scripts/miscellaneous/compare_versions.m @@ -66,7 +66,7 @@ ## Note that version "1.1-test2" will compare as greater than ## "1.1-test10". Also, since the numeric part is compared first, "a" ## compares less than "1a" because the second string starts with a -## numeric part even though @code{double("a")} is greater than +## numeric part even though @code{double("a")} is greater than ## @code{double("1").} ## @end deftypefn
--- a/scripts/miscellaneous/getappdata.m +++ b/scripts/miscellaneous/getappdata.m @@ -19,7 +19,7 @@ ## Return the @var{value} for named application data for the object(s) with ## handle(s) @var{h}. ## @deftypefnx {Function File} {@var{appdata} =} getappdata (@var{h}) -## Returns a structure, @var{appdata}, whose fields correspond to the appdata +## Return a structure, @var{appdata}, whose fields correspond to the appdata ## properties. ## @end deftypefn
--- a/scripts/miscellaneous/unpack.m +++ b/scripts/miscellaneous/unpack.m @@ -21,12 +21,12 @@ ## @deftypefnx {Function File} {@var{files} =} unpack (@var{file}, @var{dir}) ## @deftypefnx {Function File} {@var{files} =} unpack (@var{file}, @var{dir}, @var{filetype}) ## Unpack the archive @var{file} based on its extension to the directory -## @var{dir}. If @var{file} is a list of strings, then each file is +## @var{dir}. If @var{file} is a list of strings, then each file is ## unpacked individually. If @var{dir} is not specified, it defaults to ## the current directory. If a directory is in the file list, then the ## @var{filetype} must also be specified. ## -## The optional return value is a list of @var{files} unpacked. +## The optional return value is a list of @var{files} unpacked. ## @seealso{bzip2, gzip, zip, tar} ## @end deftypefn
--- a/scripts/miscellaneous/ver.m +++ b/scripts/miscellaneous/ver.m @@ -42,7 +42,7 @@ ## ## @deftypefnx {Function File} {v =} ver (@code{"Octave"}) ## Return version information for Octave only. -## +## ## @deftypefnx {Function File} {v =} ver (@var{package}) ## Return version information for @var{package}. ##
--- a/scripts/optimization/glpk.m +++ b/scripts/optimization/glpk.m @@ -342,14 +342,19 @@ ## @table @asis ## @item 180 (@w{@code{LPX_OPT}}) ## Solution is optimal. +## ## @item 181 (@w{@code{LPX_FEAS}}) ## Solution is feasible. +## ## @item 182 (@w{@code{LPX_INFEAS}}) ## Solution is infeasible. +## ## @item 183 (@w{@code{LPX_NOFEAS}}) ## Problem has no feasible solution. +## ## @item 184 (@w{@code{LPX_UNBND}}) ## Problem has no unbounded solution. +## ## @item 185 (@w{@code{LPX_UNDEF}}) ## Solution status is undefined. ## @end table @@ -357,6 +362,7 @@ ## @table @asis ## @item 150 (@w{@code{LPX_T_UNDEF}}) ## The interior point method is undefined. +## ## @item 151 (@w{@code{LPX_T_OPT}}) ## The interior point method is optimal. ## @end table @@ -364,10 +370,13 @@ ## @table @asis ## @item 170 (@w{@code{LPX_I_UNDEF}}) ## The status is undefined. +## ## @item 171 (@w{@code{LPX_I_OPT}}) ## The solution is integer optimal. +## ## @item 172 (@w{@code{LPX_I_FEAS}}) ## Solution integer feasible but its optimality has not been proven +## ## @item 173 (@w{@code{LPX_I_NOFEAS}}) ## No integer feasible solution. ## @end table @@ -378,24 +387,34 @@ ## @table @asis ## @item 204 (@w{@code{LPX_E_FAULT}}) ## Unable to start the search. +## ## @item 205 (@w{@code{LPX_E_OBJLL}}) ## Objective function lower limit reached. +## ## @item 206 (@w{@code{LPX_E_OBJUL}}) ## Objective function upper limit reached. +## ## @item 207 (@w{@code{LPX_E_ITLIM}}) ## Iterations limit exhausted. +## ## @item 208 (@w{@code{LPX_E_TMLIM}}) ## Time limit exhausted. +## ## @item 209 (@w{@code{LPX_E_NOFEAS}}) ## No feasible solution. +## ## @item 210 (@w{@code{LPX_E_INSTAB}}) ## Numerical instability. +## ## @item 211 (@w{@code{LPX_E_SING}}) ## Problems with basis matrix. +## ## @item 212 (@w{@code{LPX_E_NOCONV}}) ## No convergence (interior). +## ## @item 213 (@w{@code{LPX_E_NOPFS}}) ## No primal feasible solution (LP presolver). +## ## @item 214 (@w{@code{LPX_E_NODFS}}) ## No dual feasible solution (LP presolver). ## @end table
--- a/scripts/pkg/pkg.m +++ b/scripts/pkg/pkg.m @@ -58,7 +58,7 @@ ## @item -global ## A global installation is forced, even if the user doesn't normally have ## system privileges -## +## ## @item -forge ## Install a package directly from the Octave-Forge repository. This ## requires an internet connection and the cURL library.
--- a/scripts/plot/axis.m +++ b/scripts/plot/axis.m @@ -18,9 +18,9 @@ ## -*- texinfo -*- ## @deftypefn {Function File} {} axis () -## @deftypefnx {Function File} {} axis ([@var{x}_lo, @var{x}_hi]) -## @deftypefnx {Function File} {} axis ([@var{x}_lo, @var{x}_hi, @var{y}_lo, @var{y}_hi]) -## @deftypefnx {Function File} {} axis ([@var{x}_lo, @var{x}_hi, @var{y}_lo, @var{y}_hi, @var{z}_lo, @var{z}_hi]) +## @deftypefnx {Function File} {} axis ([@var{x}_lo @var{x}_hi]) +## @deftypefnx {Function File} {} axis ([@var{x}_lo @var{x}_hi @var{y}_lo @var{y}_hi]) +## @deftypefnx {Function File} {} axis ([@var{x}_lo @var{x}_hi @var{y}_lo @var{y}_hi @var{z}_lo @var{z}_hi]) ## @deftypefnx {Function File} {} axis (@var{option}) ## @deftypefnx {Function File} {} axis (@dots{}, @var{option}) ## @deftypefnx {Function File} {} axis (@var{h}, @dots{})
--- a/scripts/plot/private/__contour__.m +++ b/scripts/plot/private/__contour__.m @@ -530,7 +530,7 @@ ## it be an absolute or relative tolerance, or switch from one to the ## other depending on the value of lev? if (isscalar (lev)) - lvl_eps = abs (lev) * sqrt (eps); + lvl_eps = abs (lev) * sqrt (eps) + sqrt (eps); else tmp = min (abs (diff (lev))); if (tmp < 10*eps)
--- a/scripts/plot/uigetdir.m +++ b/scripts/plot/uigetdir.m @@ -20,7 +20,7 @@ ## @deftypefn {Function File} {@var{dirname} =} uigetdir () ## @deftypefnx {Function File} {@var{dirname} =} uigetdir (@var{init_path}) ## @deftypefnx {Function File} {@var{dirname} =} uigetdir (@var{init_path}, @var{dialog_name}) -## Open a GUI dialog for selecting a directory. If @var{init_path} is not +## Open a GUI dialog for selecting a directory. If @var{init_path} is not ## given the current working directory is used. @var{dialog_name} may be ## used to customize the dialog title. ## @seealso{uigetfile}
--- a/scripts/plot/uigetfile.m +++ b/scripts/plot/uigetfile.m @@ -21,7 +21,7 @@ ## @deftypefnx {Function File} {[@dots{}] =} uigetfile (@var{flt}) ## @deftypefnx {Function File} {[@dots{}] =} uigetfile (@var{flt}, @var{dialog_name}) ## @deftypefnx {Function File} {[@dots{}] =} uigetfile (@var{flt}, @var{dialog_name}, @var{default_file}) -## @deftypefnx {Function File} {[@dots{}] =} uigetfile (@dots{}, "Position", [@var{px}, @var{py}]) +## @deftypefnx {Function File} {[@dots{}] =} uigetfile (@dots{}, "Position", [@var{px} @var{py}]) ## @deftypefnx {Function File} {[@dots{}] =} uigetfile (@dots{}, "MultiSelect", @var{mode}) ## ## Open a GUI dialog for selecting a file. It returns the filename @var{fname},
--- a/scripts/plot/view.m +++ b/scripts/plot/view.m @@ -19,8 +19,8 @@ ## -*- texinfo -*- ## @deftypefn {Function File} {[@var{azimuth}, @var{elevation}] =} view () ## @deftypefnx {Function File} {} view (@var{azimuth}, @var{elevation}) -## @deftypefnx {Function File} {} view ([@var{azimuth}, @var{elevation}]) -## @deftypefnx {Function File} {} view ([@var{x}, @var{y}, @var{z}]) +## @deftypefnx {Function File} {} view ([@var{azimuth} @var{elevation}]) +## @deftypefnx {Function File} {} view ([@var{x} @var{y} @var{z}]) ## @deftypefnx {Function File} {} view (@var{dims}) ## @deftypefnx {Function File} {} view (@var{ax}, @dots{}) ## Query or set the viewpoint for the current axes. The parameters
--- a/scripts/sparse/gmres.m +++ b/scripts/sparse/gmres.m @@ -24,25 +24,25 @@ ## with restart, a.k.a. PGMRES(m). ## ## @itemize @minus -## @item @var{rtol} is the relative tolerance, +## @item @var{rtol} is the relative tolerance, ## if not given or set to [] the default value 1e-6 is used. ## ## @item @var{maxit} is the maximum number of outer iterations, -## if not given or set to [] the default value +## if not given or set to [] the default value ## @code{min (10, numel (b) / restart)} is used. ## ## @item @var{x0} is the initial guess, -## if not given or set to [] the default value @code{zeros(size (b))} is used. +## if not given or set to [] the default value @code{zeros(size (b))} is used. ## ## @item @var{m} is the restart parameter, ## if not given or set to [] the default value @code{numel (b)} is used. ## @end itemize ## -## Argument @var{A} can be passed as a matrix, function handle, or +## Argument @var{A} can be passed as a matrix, function handle, or ## inline function @code{f} such that @code{f(x) = A*x}. ## -## The preconditioner @var{P} is given as @code{P = M1 * M2}. -## Both @var{M1} and @var{M2} can be passed as a matrix, function handle, or +## The preconditioner @var{P} is given as @code{P = M1 * M2}. +## Both @var{M1} and @var{M2} can be passed as a matrix, function handle, or ## inline function @code{g} such that @code{g(x) = M1\x} or @code{g(x) = M2\x}. ## ## Besides the vector @var{x}, additional outputs are: @@ -63,7 +63,7 @@ ## @item @var{relres} is the final value of the relative residual. ## ## @item @var{iter} is a vector containing the number of outer iterations and -## total iterations performed. +## total iterations performed. ## ## @item @var{resvec} is a vector containing the relative residual at each ## iteration.
--- a/scripts/statistics/base/prctile.m +++ b/scripts/statistics/base/prctile.m @@ -32,7 +32,7 @@ ## The optional argument @var{dim} determines the dimension along which ## the percentiles are calculated. If @var{dim} is omitted, and @var{x} is ## a vector or matrix, it defaults to 1 (column-wise quantiles). When -## @var{x} is an N-d array, @var{dim} defaults to the first non-singleton +## @var{x} is an N-D array, @var{dim} defaults to the first non-singleton ## dimension. ## @seealso{quantile} ## @end deftypefn
--- a/scripts/statistics/base/quantile.m +++ b/scripts/statistics/base/quantile.m @@ -31,7 +31,7 @@ ## The optional argument @var{dim} determines the dimension along which ## the quantiles are calculated. If @var{dim} is omitted, and @var{x} is ## a vector or matrix, it defaults to 1 (column-wise quantiles). If -## @var{x} is an N-d array, @var{dim} defaults to the first non-singleton +## @var{x} is an N-D array, @var{dim} defaults to the first non-singleton ## dimension. ## ## The methods available to calculate sample quantiles are the nine methods
--- a/scripts/statistics/distributions/unidcdf.m +++ b/scripts/statistics/distributions/unidcdf.m @@ -20,7 +20,7 @@ ## @deftypefn {Function File} {} unidcdf (@var{x}, @var{v}) ## For each element of @var{x}, compute the cumulative distribution ## function (CDF) at @var{x} of a discrete uniform distribution which -## assumes the values in @var{v} with equal probability. +## assumes the values in @var{v} with equal probability. ## If @var{v} is a scalar then @code{1/@var{v}} is the probability of a ## single element. ## @end deftypefn
--- a/scripts/statistics/distributions/unidinv.m +++ b/scripts/statistics/distributions/unidinv.m @@ -20,7 +20,7 @@ ## @deftypefn {Function File} {} unidinv (@var{x}, @var{v}) ## For each component of @var{x}, compute the quantile (the inverse of ## the CDF) at @var{x} of the discrete uniform distribution which assumes the -## values in @var{v} with equal probability. +## values in @var{v} with equal probability. ## If @var{v} is a scalar then @code{1/@var{v}} is the probability of a ## single element. ## @end deftypefn
--- a/scripts/strings/isstrprop.m +++ b/scripts/strings/isstrprop.m @@ -43,10 +43,10 @@ ## True for characters that are alphabetic or digits. ## ## @item "lower" -## True for lower-case letters. +## True for lowercase letters. ## ## @item "upper" -## True for upper-case letters. +## True for uppercase letters. ## ## @item "digit" ## True for decimal digits (0-9).
--- a/src/DLD-FUNCTIONS/balance.cc +++ b/src/DLD-FUNCTIONS/balance.cc @@ -61,10 +61,10 @@ equilibration to be computed without round-off. Results of eigenvalue\n\ calculation are typically improved by balancing first.\n\ \n\ -If two output values are requested, @code{balance} returns \n\ +If two output values are requested, @code{balance} returns\n\ the diagonal @var{D} and the permutation @var{P} separately as vectors.\n\ In this case, @code{@var{DD} = eye(n)(:,@var{P}) * diag (@var{D})}, where\n\ -@math{n} is the matrix size. \n\ +@math{n} is the matrix size.\n\ \n\ If four output values are requested, compute @code{@var{AA} =\n\ @var{CC}*@var{A}*@var{DD}} and @code{@var{BB} = @var{CC}*@var{B}*@var{DD}},\n\
--- a/src/DLD-FUNCTIONS/besselj.cc +++ b/src/DLD-FUNCTIONS/besselj.cc @@ -387,7 +387,7 @@ \n\ @table @code\n\ @item besselj\n\ -Bessel functions of the first kind. If the argument @var{opt} is supplied, \n\ +Bessel functions of the first kind. If the argument @var{opt} is supplied,\n\ the result is multiplied by @code{exp(-abs(imag(@var{x})))}.\n\ \n\ @item bessely\n\
--- a/src/DLD-FUNCTIONS/cellfun.cc +++ b/src/DLD-FUNCTIONS/cellfun.cc @@ -159,7 +159,7 @@ endfunction\n\ [aa, bb] = cellfun(@@twoouts, @{1, 2, 3@})\n\ @result{}\n\ - aa = \n\ + aa =\n\ 1 2 3\n\ bb =\n\ 1 4 9\n\
--- a/src/DLD-FUNCTIONS/colamd.cc +++ b/src/DLD-FUNCTIONS/colamd.cc @@ -459,7 +459,7 @@ vector p such that @code{@var{S}(@var{p}, @var{p})} tends to have a\n\ sparser Cholesky@tie{}factor than @var{S}. Sometimes @code{symamd} works\n\ well for symmetric indefinite matrices too. The matrix @var{S} is assumed\n\ -to be symmetric; only the strictly lower triangular part is referenced. \n\ +to be symmetric; only the strictly lower triangular part is referenced.\n\ @var{S} must be square.\n\ \n\ @var{knobs} is an optional one- to two-element input vector. If @var{S} is\n\ @@ -467,7 +467,7 @@ @code{max(16,@var{knobs}(1)*sqrt(n))} entries are removed prior to ordering,\n\ and ordered last in the output permutation @var{p}. No rows/columns are\n\ removed if @code{@var{knobs}(1) < 0}. If @code{@var{knobs} (2)} is nonzero,\n\ -@code{stats} and @var{knobs} are printed. The default is @code{@var{knobs} \n\ +@code{stats} and @var{knobs} are printed. The default is @code{@var{knobs}\n\ = [10 0]}. Note that @var{knobs} differs from earlier versions of symamd.\n\ \n\ @var{stats} is an optional 20-element output vector that provides data\n\
--- a/src/DLD-FUNCTIONS/dot.cc +++ b/src/DLD-FUNCTIONS/dot.cc @@ -107,7 +107,7 @@ "-*- texinfo -*-\n\ @deftypefn {Loadable Function} {} dot (@var{x}, @var{y}, @var{dim})\n\ Compute the dot product of two vectors. If @var{x} and @var{y}\n\ -are matrices, calculate the dot products along the first \n\ +are matrices, calculate the dot products along the first\n\ non-singleton dimension. If the optional argument @var{dim} is\n\ given, calculate the dot products along this dimension.\n\ \n\
--- a/src/DLD-FUNCTIONS/eigs.cc +++ b/src/DLD-FUNCTIONS/eigs.cc @@ -260,7 +260,7 @@ @end table\n\ It is also possible to represent @var{A} by a function denoted @var{af}.\n\ @var{af} must be followed by a scalar argument @var{n} defining the length\n\ -of the vector argument accepted by @var{af}. @var{af} can be \n\ +of the vector argument accepted by @var{af}. @var{af} can be\n\ a function handle, an inline function, or a string. When @var{af} is a\n\ string it holds the name of the function to use.\n\ \n\
--- a/src/DLD-FUNCTIONS/fftw.cc +++ b/src/DLD-FUNCTIONS/fftw.cc @@ -58,7 +58,7 @@ \n\ @example\n\ fftw ('dwisdom', @var{wisdom})\n\ -@end example \n\ +@end example\n\ \n\ If @var{wisdom} is an empty matrix, then the wisdom used is cleared.\n\ \n\
--- a/src/DLD-FUNCTIONS/matrix_type.cc +++ b/src/DLD-FUNCTIONS/matrix_type.cc @@ -45,7 +45,7 @@ @deftypefnx {Loadable Function} {@var{A} =} matrix_type (@var{A}, 'lower', @var{perm})\n\ @deftypefnx {Loadable Function} {@var{A} =} matrix_type (@var{A}, 'banded', @var{nl}, @var{nu})\n\ Identify the matrix type or mark a matrix as a particular type. This allows\n\ -more rapid solutions of linear equations involving @var{A} to be performed. \n\ +more rapid solutions of linear equations involving @var{A} to be performed.\n\ Called with a single argument, @code{matrix_type} returns the type of the\n\ matrix and caches it for future use. Called with more than one argument,\n\ @code{matrix_type} allows the type of the matrix to be defined.\n\ @@ -99,7 +99,7 @@ \n\ Note that the matrix type will be discovered automatically on the first\n\ attempt to solve a linear equation involving @var{A}. Therefore\n\ -@code{matrix_type} is only useful to give Octave hints of the matrix type. \n\ +@code{matrix_type} is only useful to give Octave hints of the matrix type.\n\ Incorrectly defining the matrix type will result in incorrect results from\n\ solutions of linear equations; it is entirely @strong{the responsibility of\n\ the user} to correctly identify the matrix type.\n\
--- a/src/DLD-FUNCTIONS/pinv.cc +++ b/src/DLD-FUNCTIONS/pinv.cc @@ -41,7 +41,7 @@ @deftypefn {Loadable Function} {} pinv (@var{x})\n\ @deftypefnx {Loadable Function} {} pinv (@var{x}, @var{tol})\n\ Return the pseudoinverse of @var{x}. Singular values less than\n\ -@var{tol} are ignored. \n\ +@var{tol} are ignored.\n\ \n\ If the second argument is omitted, it is taken to be\n\ \n\
--- a/src/DLD-FUNCTIONS/qr.cc +++ b/src/DLD-FUNCTIONS/qr.cc @@ -150,7 +150,7 @@ \n\ @example\n\ @group\n\ -@var{Q} = \n\ +@var{Q} =\n\ \n\ -0.44721 -0.89443\n\ -0.89443 0.44721\n\
--- a/src/DLD-FUNCTIONS/quad.cc +++ b/src/DLD-FUNCTIONS/quad.cc @@ -179,10 +179,10 @@ @deftypefnx {Loadable Function} {@var{q} =} quad (@var{f}, @var{a}, @var{b}, @var{tol}, @var{sing})\n\ @deftypefnx {Loadable Function} {[@var{q}, @var{ier}, @var{nfun}, @var{err}] =} quad (@dots{})\n\ Numerically evaluate the integral of @var{f} from @var{a} to @var{b} using\n\ -Fortran routines from @w{@sc{quadpack}}. @var{f} is a function handle, inline\n\ -function, or a string containing the name of the function to evaluate.\n\ -The function must have the form @code{y = f (x)} where @var{y} and @var{x}\n\ -are scalars.\n\ +Fortran routines from @w{@sc{quadpack}}. @var{f} is a function handle,\n\ +inline function, or a string containing the name of the function to\n\ +evaluate. The function must have the form @code{y = f (x)} where @var{y} and\n\ +@var{x} are scalars.\n\ \n\ @var{a} and @var{b} are the lower and upper limits of integration. Either\n\ or both may be infinite.\n\
--- a/src/DLD-FUNCTIONS/quadcc.cc +++ b/src/DLD-FUNCTIONS/quadcc.cc @@ -1522,7 +1522,7 @@ \n\ @code{quadcc} is capable of dealing with non-numeric\n\ values of the integrand such as @code{NaN} or @code{Inf}.\n\ -If the integral diverges, and @code{quadcc} detects this, \n\ +If the integral diverges, and @code{quadcc} detects this,\n\ then a warning is issued and @code{Inf} or @code{-Inf} is returned.\n\ \n\ Note: @code{quadcc} is a general purpose quadrature algorithm\n\
--- a/src/DLD-FUNCTIONS/qz.cc +++ b/src/DLD-FUNCTIONS/qz.cc @@ -307,7 +307,7 @@ \n\ @item @code{[AA, BB, Q, Z, V, W, @var{lambda}] = qz (@var{A}, @var{B})}\n\ \n\ -Computes QZ@tie{}decomposition, generalized eigenvectors, and \n\ +Computes QZ@tie{}decomposition, generalized eigenvectors, and\n\ generalized eigenvalues of @math{(A - s B)}\n\ @tex\n\ $$ AV = BV{ \\rm diag }(\\lambda) $$\n\ @@ -343,13 +343,13 @@ of the revised pencil contains all eigenvalues that satisfy:\n\ @table @asis\n\ @item \"N\"\n\ -= unordered (default) \n\ += unordered (default)\n\ \n\ @item \"S\"\n\ -= small: leading block has all |lambda| @leq{} 1 \n\ += small: leading block has all |lambda| @leq{} 1\n\ \n\ @item \"B\"\n\ -= big: leading block has all |lambda| @geq{} 1 \n\ += big: leading block has all |lambda| @geq{} 1\n\ \n\ @item \"-\"\n\ = negative real part: leading block has all eigenvalues\n\
--- a/src/DLD-FUNCTIONS/regexp.cc +++ b/src/DLD-FUNCTIONS/regexp.cc @@ -937,7 +937,7 @@ Alternatively, use (?i) in the pattern.\n\ \n\ @item stringanchors\n\ -Match the anchor characters at the beginning and end of the string. \n\ +Match the anchor characters at the beginning and end of the string.\n\ (default)\n\ \n\ Alternatively, use (?-m) in the pattern.\n\
--- a/src/DLD-FUNCTIONS/schur.cc +++ b/src/DLD-FUNCTIONS/schur.cc @@ -293,7 +293,7 @@ Convert a real, upper quasi-triangular Schur@tie{}form @var{TR} to a complex,\n\ upper triangular Schur@tie{}form @var{T}.\n\ \n\ -Note that the following relations hold: \n\ +Note that the following relations hold:\n\ \n\ @tex\n\ $UR \\cdot TR \\cdot {UR}^T = U T U^{\\dagger}$ and\n\
--- a/src/DLD-FUNCTIONS/time.cc +++ b/src/DLD-FUNCTIONS/time.cc @@ -131,7 +131,7 @@ "-*- texinfo -*-\n\ @deftypefn {Loadable Function} {@var{tm_struct} =} gmtime (@var{t})\n\ Given a value returned from @code{time}, or any non-negative integer,\n\ -return a time structure corresponding to CUT (Coordinated Universal Time). \n\ +return a time structure corresponding to CUT (Coordinated Universal Time).\n\ For example:\n\ \n\ @example\n\
--- a/src/DLD-FUNCTIONS/typecast.cc +++ b/src/DLD-FUNCTIONS/typecast.cc @@ -118,7 +118,7 @@ consecutive pairs of real numbers. The sizes of integer types are given by\n\ their bit counts. Both logical and char are typically one byte wide;\n\ however, this is not guaranteed by C++. If your system is IEEE conformant,\n\ -single and double should be 4 bytes and 8 bytes wide, respectively. \n\ +single and double should be 4 bytes and 8 bytes wide, respectively.\n\ \"logical\" is not allowed for @var{class}. If the input is a row vector,\n\ the return value is a row vector, otherwise it is a column vector. If the\n\ bit length of @var{x} is not divisible by that of @var{class}, an error\n\
--- a/src/DLD-FUNCTIONS/urlwrite.cc +++ b/src/DLD-FUNCTIONS/urlwrite.cc @@ -690,7 +690,7 @@ \n\ @example\n\ @group\n\ -urlwrite (\"ftp://ftp.octave.org/pub/octave/README\", \n\ +urlwrite (\"ftp://ftp.octave.org/pub/octave/README\",\n\ \"README.txt\");\n\ @end group\n\ @end example\n\
--- a/src/OPERATORS/op-struct.cc +++ b/src/OPERATORS/op-struct.cc @@ -34,7 +34,7 @@ // struct ops. -DEFUNOP (transpose, cell) +DEFUNOP (transpose, struct) { CAST_UNOP_ARG (const octave_struct&); @@ -47,6 +47,13 @@ return octave_value (v.map_value().transpose ()); } +DEFUNOP (scalar_transpose, scalar_struct) +{ + CAST_UNOP_ARG (const octave_scalar_struct&); + + return octave_value (v.scalar_map_value ()); +} + DEFNDCATOP_FN (struct_struct, struct, struct, map, map, concat) static octave_value @@ -85,6 +92,9 @@ INSTALL_UNOP (op_transpose, octave_struct, transpose); INSTALL_UNOP (op_hermitian, octave_struct, transpose); + INSTALL_UNOP (op_transpose, octave_scalar_struct, scalar_transpose); + INSTALL_UNOP (op_hermitian, octave_scalar_struct, scalar_transpose); + INSTALL_CATOP (octave_struct, octave_struct, struct_struct); INSTALL_CATOP (octave_struct, octave_matrix, struct_matrix); INSTALL_CATOP (octave_matrix, octave_struct, matrix_struct);
--- a/src/bitfcns.cc +++ b/src/bitfcns.cc @@ -428,8 +428,8 @@ bitshift (10, [-2, -1, 0, 1, 2])\n\ @result{} 2 5 10 20 40\n\ @c FIXME -- restore this example when third arg is allowed to be an array.\n\ -@c \n\ -@c \n\ +@c\n\ +@c\n\ @c bitshift ([1, 10], 2, [3,4])\n\ @c @result{} 4 8\n\ @end group\n\ @@ -518,7 +518,7 @@ @deftypefnx {Built-in Function} {} bitmax (\"double\")\n\ @deftypefnx {Built-in Function} {} bitmax (\"single\")\n\ Return the largest integer that can be represented within a floating point\n\ -value. The default class is \"double\", but \"single\" is a valid option. \n\ +value. The default class is \"double\", but \"single\" is a valid option.\n\ On IEEE-754 compatible systems, @code{bitmax} is @w{@math{2^{53} - 1}}.\n\ @end deftypefn") {
--- a/src/data.cc +++ b/src/data.cc @@ -518,7 +518,7 @@ "-*- texinfo -*-\n\ @deftypefn {Mapping Function} {} rem (@var{x}, @var{y})\n\ @deftypefnx {Mapping Function} {} fmod (@var{x}, @var{y})\n\ -Return the remainder of the division @code{@var{x} / @var{y}}, computed \n\ +Return the remainder of the division @code{@var{x} / @var{y}}, computed\n\ using the expression\n\ \n\ @example\n\ @@ -4748,7 +4748,7 @@ Frobenius norm of @var{A}, @code{sqrt (sum (diag (@var{A}' * @var{A})))}.\n\ \n\ @item other @var{p}, @code{@var{p} > 1}\n\ -@cindex general p-norm \n\ +@cindex general p-norm\n\ maximum @code{norm (A*x, p)} such that @code{norm (x, p) == 1}\n\ @end table\n\ \n\ @@ -6398,7 +6398,7 @@ \n\ In the array mask case, both @var{tval} and @var{fval} must be either\n\ scalars or arrays with dimensions equal to @var{mask}. The result is\n\ -constructed as follows: \n\ +constructed as follows:\n\ \n\ @example\n\ @group\n\
--- a/src/debug.cc +++ b/src/debug.cc @@ -545,7 +545,7 @@ DEFUN (dbstatus, args, nargout, "-*- texinfo -*-\n\ @deftypefn {Loadable Function} {lst =} dbstatus (@var{func})\n\ -Return a vector containing the lines on which a function has \n\ +Return a vector containing the lines on which a function has\n\ breakpoints set.\n\ @table @code\n\ @item func\n\
--- a/src/dirfns.cc +++ b/src/dirfns.cc @@ -545,7 +545,7 @@ @deftypefn {Built-in Function} {} glob (@var{pattern})\n\ Given an array of pattern strings (as a char array or a cell array) in\n\ @var{pattern}, return a cell array of file names that match any of\n\ -them, or an empty cell array if no patterns match. The pattern strings are \n\ +them, or an empty cell array if no patterns match. The pattern strings are\n\ interpreted as filename globbing patterns (as they are used by Unix shells).\n\ Within a pattern\n\ @table @code\n\ @@ -565,7 +565,7 @@ @example\n\ ls\n\ @result{}\n\ - file1 file2 file3 myfile1 myfile1b \n\ + file1 file2 file3 myfile1 myfile1b\n\ glob (\"*file1\")\n\ @result{}\n\ @{\n\
--- a/src/file-io.cc +++ b/src/file-io.cc @@ -733,7 +733,7 @@ freport ()\n\ \n\ @print{} number mode name\n\ - @print{} \n\ + @print{}\n\ @print{} 0 r stdin\n\ @print{} 1 w stdout\n\ @print{} 2 w stderr\n\
--- a/src/load-path.cc +++ b/src/load-path.cc @@ -1956,7 +1956,7 @@ @deftypefn {Built-in Function} {} genpath (@var{dir})\n\ @deftypefnx {Built-in Function} {} genpath (@var{dir}, @var{skip}, @dots{})\n\ Return a path constructed from @var{dir} and all its subdirectories.\n\ -If additional string parameters are given, the resulting path will \n\ +If additional string parameters are given, the resulting path will\n\ exclude directories with those names.\n\ @end deftypefn") {
--- a/src/load-save.cc +++ b/src/load-save.cc @@ -1441,7 +1441,7 @@ of the scalar structure @var{STRUCT} are saved as if they were variables\n\ with corresponding names.\n\ Valid options for the @code{save} command are listed in the following table.\n\ -Options that modify the output format override the format specified by \n\ +Options that modify the output format override the format specified by\n\ @code{default_save_options}.\n\ \n\ If save is invoked using the functional form\n\ @@ -1522,7 +1522,7 @@ Match the list of characters specified by @var{list}. If the first\n\ character is @code{!} or @code{^}, match all characters except those\n\ specified by @var{list}. For example, the pattern @code{[a-zA-Z]} will\n\ -match all lower and upper case alphabetic characters. \n\ +match all lower and uppercase alphabetic characters.\n\ \n\ Wildcards may also be used in the field name specifications when using\n\ the @option{-struct} modifier (but not in the struct name itself).\n\
--- a/src/mappers.cc +++ b/src/mappers.cc @@ -1114,7 +1114,7 @@ "-*- texinfo -*-\n\ @deftypefn {Mapping Function} {} islower (@var{s})\n\ Return a logical array which is true where the elements of @var{s} are\n\ -lower case letters and false where they are not.\n\ +lowercase letters and false where they are not.\n\ @seealso{isupper, isalpha, isletter, isalnum}\n\ @end deftypefn") { @@ -1266,7 +1266,7 @@ "-*- texinfo -*-\n\ @deftypefn {Mapping Function} {} isupper (@var{s})\n\ Return a logical array which is true where the elements of @var{s} are\n\ -upper case letters and false where they are not.\n\ +uppercase letters and false where they are not.\n\ @seealso{islower, isalpha, isletter, isalnum}\n\ @end deftypefn") { @@ -1781,8 +1781,8 @@ "-*- texinfo -*-\n\ @deftypefn {Mapping Function} {} tolower (@var{s})\n\ @deftypefnx {Mapping Function} {} lower (@var{s})\n\ -Return a copy of the string or cell string @var{s}, with each upper-case\n\ -character replaced by the corresponding lower-case one; non-alphabetic\n\ +Return a copy of the string or cell string @var{s}, with each uppercase\n\ +character replaced by the corresponding lowercase one; non-alphabetic\n\ characters are left unchanged. For example:\n\ \n\ @example\n\ @@ -1827,8 +1827,8 @@ "-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} toupper (@var{s})\n\ @deftypefnx {Built-in Function} {} upper (@var{s})\n\ -Return a copy of the string or cell string @var{s}, with each lower-case\n\ -character replaced by the corresponding upper-case one; non-alphabetic\n\ +Return a copy of the string or cell string @var{s}, with each lowercase\n\ +character replaced by the corresponding uppercase one; non-alphabetic\n\ characters are left unchanged. For example:\n\ \n\ @example\n\
--- a/src/oct-hist.cc +++ b/src/oct-hist.cc @@ -559,7 +559,7 @@ history list using the editor named by the variable @w{@env{EDITOR}}. The\n\ commands to be edited are first copied to a temporary file. When you\n\ exit the editor, Octave executes the commands that remain in the file.\n\ -It is often more convenient to use @code{edit_history} to define functions \n\ +It is often more convenient to use @code{edit_history} to define functions\n\ rather than attempting to enter them directly on the command line.\n\ By default, the block of commands is executed as soon as you exit the\n\ editor. To avoid executing any commands, simply delete all the lines\n\ @@ -615,7 +615,7 @@ omitted, use the default history file (normally @file{~/.octave_hist}).\n\ \n\ @item -r @var{file}\n\ -Read the file @var{file}, appending its contents to the current \n\ +Read the file @var{file}, appending its contents to the current\n\ history list. If the name is omitted, use the default history file\n\ (normally @file{~/.octave_hist}).\n\ \n\
--- a/src/ov-base-scalar.h +++ b/src/ov-base-scalar.h @@ -109,7 +109,10 @@ { return mode ? mode : ASCENDING; } Array<octave_idx_type> sort_rows_idx (sortmode) const - { return Array<octave_idx_type> (dim_vector (1, 0)); } + { + return Array<octave_idx_type> (dim_vector (1, 1), + static_cast<octave_idx_type> (0)); + } sortmode is_sorted_rows (sortmode mode = UNSORTED) const { return mode ? mode : ASCENDING; }
--- a/src/ov-bool-mat.cc +++ b/src/ov-bool-mat.cc @@ -575,3 +575,15 @@ return retval; } + +/* +%!shared m, s, c +%! m = eye (2) != 0; +%! s = !0; +%! c = {"double", "single", "int8", "int16", "int32", "int64", "uint8", "uint16", "uint32", "uint64", "logical"}; +%!test +%! for i = 1:numel (c) +%! assert (logical (eye (2, c{i})), m) +%! assert (logical (eye (1, c{i})), s) +%! endfor +*/
--- a/src/ov-fcn-inline.cc +++ b/src/ov-fcn-inline.cc @@ -885,10 +885,12 @@ is expected.\n\ \n\ @example\n\ +@group\n\ fcn = vectorize (inline (\"x^2 - 1\"))\n\ @result{} fcn = f(x) = x.^2 - 1\n\ quadv (fcn, 0, 3)\n\ @result{} 6\n\ +@end group\n\ @end example\n\ @end deftypefn") {
--- a/src/ov-intx.h +++ b/src/ov-intx.h @@ -564,6 +564,14 @@ return retval; } + bool bool_value (bool warn = false) const + { + if (warn && scalar != 0.0 && scalar != 1.0) + gripe_logical_conversion (); + + return scalar.bool_value (); + } + boolNDArray bool_array_value (bool warn = false) const {
--- a/src/ov.cc +++ b/src/ov.cc @@ -2750,8 +2750,8 @@ idx.type = \"()\";\n\ idx.subs = @{\":\", 1:2@};\n\ subsref(val, idx)\n\ - @result{} [ 8 1 \n\ - 3 5 \n\ + @result{} [ 8 1\n\ + 3 5\n\ 4 9 ]\n\ @end group\n\ @end example\n\
--- a/src/syscalls.cc +++ b/src/syscalls.cc @@ -968,7 +968,7 @@ dev = 2049\n\ @}\n\ @result{} err = 0\n\ - @result{} msg = \n\ + @result{} msg =\n\ @end example\n\ @end deftypefn") {
--- a/src/variables.cc +++ b/src/variables.cc @@ -1837,7 +1837,7 @@ \n\ If @code{whos} is called as a function, return a struct array of defined\n\ variable names matching the given patterns. Fields in the structure\n\ -describing each variable are: name, size, bytes, class, global, sparse, \n\ +describing each variable are: name, size, bytes, class, global, sparse,\n\ complex, nesting, persistent.\n\ @seealso{who, whos_line_format}\n\ @end deftypefn") @@ -2272,7 +2272,7 @@ Match the list of characters specified by @var{list}. If the first\n\ character is @code{!} or @code{^}, match all characters except those\n\ specified by @var{list}. For example, the pattern @samp{[a-zA-Z]} will\n\ -match all lower and upper case alphabetic characters.\n\ +match all lowercase and uppercase alphabetic characters.\n\ @end table\n\ \n\ For example, the command\n\ @@ -2320,7 +2320,7 @@ The arguments are treated as regular expressions as any variables that\n\ match will be cleared.\n\ @end table\n\ -With the exception of @code{exclusive}, all long options can be used \n\ +With the exception of @code{exclusive}, all long options can be used\n\ without the dash as well.\n\ @end deftypefn") {