Mercurial > octave
changeset 26295:12f26c02643b
maint: merge stable to default.
author | Rik <rik@octave.org> |
---|---|
date | Sun, 23 Dec 2018 12:36:23 -0800 |
parents | cfa0429b7d5a (current diff) 3c5863948bb3 (diff) |
children | a7616edfaa34 |
files | |
diffstat | 20 files changed, 217 insertions(+), 149 deletions(-) [+] |
line wrap: on
line diff
--- a/CITATION Fri Dec 21 16:44:03 2018 -0500 +++ b/CITATION Sun Dec 23 12:36:23 2018 -0800 @@ -1,17 +1,17 @@ To cite GNU Octave in publications use: - John W. Eaton, David Bateman, Søren Hauberg, Rik Wehbring (2018). - GNU Octave version 4.4.1 manual: a high-level interactive language for + John W. Eaton, David Bateman, Søren Hauberg, Rik Wehbring (2019). + GNU Octave version 5.1.0 manual: a high-level interactive language for numerical computations. - URL https://www.gnu.org/software/octave/doc/v4.4.1/ + URL https://www.gnu.org/software/octave/doc/v5.1.0/ A BibTeX entry for LaTeX users is: @manual{, - title = {{GNU Octave} version 4.4.0 manual: a high-level interactive language for numerical computations}, + title = {{GNU Octave} version 5.1.0 manual: a high-level interactive language for numerical computations}, author = {John W. Eaton and David Bateman and S{\o}ren Hauberg and Rik Wehbring}, - year = {2018}, - url = {https://www.gnu.org/software/octave/doc/v4.4.1/}, + year = {2019}, + url = {https://www.gnu.org/software/octave/doc/v5.1.0/}, } We have invested a lot of time and effort in creating GNU Octave, please
--- a/doc/interpreter/func.txi Fri Dec 21 16:44:03 2018 -0500 +++ b/doc/interpreter/func.txi Sun Dec 23 12:36:23 2018 -0800 @@ -1098,7 +1098,9 @@ @subsection Function Locking It is sometime desirable to lock a function into memory with the @code{mlock} -function. This is typically used for dynamically linked functions in oct-files or mex-files that contain some initialization, and it is desirable that calling @code{clear} does not remove this initialization. +function. This is typically used for dynamically linked functions in +oct-files or mex-files that contain some initialization, and it is desirable +that calling @code{clear} does not remove this initialization. As an example,
--- a/doc/interpreter/image.txi Fri Dec 21 16:44:03 2018 -0500 +++ b/doc/interpreter/image.txi Sun Dec 23 12:36:23 2018 -0800 @@ -140,7 +140,7 @@ an RGB color. The color map must be of class @code{double} with values between 0 and 1. -The following convenience functions are available for conversion between image +The following convenience functions are available for conversion between image formats. @DOCSTRING(im2double) @@ -153,8 +153,8 @@ @DOCSTRING(ind2rgb) -Octave also provides tools to produce and work with movie frame structures. -Those structures encapsulate the image data (@qcode{"cdata"} field) together +Octave also provides tools to produce and work with movie frame structures. +Those structures encapsulate the image data (@qcode{"cdata"} field) together with the corresponding colormap (@qcode{"colormap"} field). @DOCSTRING(getframe) @@ -165,14 +165,15 @@ @DOCSTRING(im2frame) -The @code{colormap} function is used to change the colormap of the current axes or figure. +The @code{colormap} function is used to change the colormap of the current +axes or figure. @DOCSTRING(colormap) @DOCSTRING(iscolormap) -The following functions return predefined colormaps, the same that can be -requested by name using the @code{colormap} function. +The following functions return predefined colormaps, the same that can be +requested by name using the @code{colormap} function. @DOCSTRING(rgbplot)
--- a/doc/interpreter/oop.txi Fri Dec 21 16:44:03 2018 -0500 +++ b/doc/interpreter/oop.txi Sun Dec 23 12:36:23 2018 -0800 @@ -153,7 +153,9 @@ For a polynomial class it makes sense to have a method to compute its roots. @example +@group @EXAMPLEFILE(@polynomial/roots.m) +@end group @end example We can check for the existence of the @code{roots}-method by calling:
--- a/libgui/src/m-editor/file-editor-tab.cc Fri Dec 21 16:44:03 2018 -0500 +++ b/libgui/src/m-editor/file-editor-tab.cc Sun Dec 23 12:36:23 2018 -0800 @@ -2145,13 +2145,9 @@ _encoding = _new_encoding; // consider a possible new encoding // set the desired codec (if suitable for contents) - QTextCodec *codec = QTextCodec::codecForName (_encoding.toLatin1 ()); - - if (check_valid_codec (codec)) - { - save_file_as (remove_on_success); - return; - } + QTextCodec *codec = check_valid_codec (); + if (! codec) + return; // No valid codec // write the file QTextStream out (&file); @@ -2305,34 +2301,39 @@ return false; } - bool file_editor_tab::check_valid_codec (QTextCodec *codec) + QTextCodec* file_editor_tab::check_valid_codec () { + QTextCodec *codec = QTextCodec::codecForName (_encoding.toLatin1 ()); + + // "SYSTEM" is used as alias for locale on windows systems, + // which might not support "SYSTEM" codec + if ((! codec) && (_encoding == "SYSTEM")) + codec = QTextCodec::codecForLocale (); + if (! codec) { QMessageBox::critical (nullptr, tr ("Octave Editor"), tr ("The current encoding %1\n" "can not be applied.\n\n" - "Please select another one or cancel saving!").arg (_encoding)); - - return true; + "Please select another one!").arg (_encoding)); + + return nullptr; } if (! codec->canEncode (_edit_area->text ())) { - int ans = QMessageBox::warning (nullptr, - tr ("Octave Editor"), - tr ("The current editor contents can not be encoded\n" - "with the selected encoding %1.\n" - "Using it will result in data loss!\n\n" - "Do you want to choose another encoding?").arg (_encoding), - QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); - - if (ans == QMessageBox::Yes) - return true; + QMessageBox::critical (nullptr, + tr ("Octave Editor"), + tr ("The current editor contents can not be encoded\n" + "with the selected encoding %1.\n" + "Using it would result in data loss!\n\n" + "Please select another one!").arg (_encoding)); + + return nullptr; } - return false; + return codec; } void file_editor_tab::handle_save_file_as_answer (const QString& saveFileName)
--- a/libgui/src/m-editor/file-editor-tab.h Fri Dec 21 16:44:03 2018 -0500 +++ b/libgui/src/m-editor/file-editor-tab.h Sun Dec 23 12:36:23 2018 -0800 @@ -251,7 +251,7 @@ bool restore_breakpoints = true); void save_file_as (bool remove_on_success = false); bool check_valid_identifier (QString file_name); - bool check_valid_codec (QTextCodec *codec); + QTextCodec* check_valid_codec (void); bool unchanged_or_saved (void);
--- a/libgui/src/resource-manager.cc Fri Dec 21 16:44:03 2018 -0500 +++ b/libgui/src/resource-manager.cc Sun Dec 23 12:36:23 2018 -0800 @@ -386,6 +386,12 @@ QTextCodec *c = QTextCodec::codecForMib (mib); codecs->append (c->name ().toUpper ()); } + + // If on windows append SYSTEM even if not supported + if (ed_default_enc.def.toString () == "SYSTEM") + codecs->append (ed_default_enc.def.toString ()); + + // Clean up and sort list of codecs codecs->removeDuplicates (); qSort (*codecs); } @@ -399,8 +405,11 @@ // get the value from the settings file if no current encoding is given QString enc = current; + // Check for valid codec for the default. Allow "SYSTEM" even no valid + // codec exists, since codecForLocale will be chosen in this case bool default_exists = false; - if (QTextCodec::codecForName (ed_default_enc.def.toString ().toLatin1 ())) + if (QTextCodec::codecForName (ed_default_enc.def.toString ().toLatin1 ()) + || (ed_default_enc.def.toString () == "SYSTEM")) default_exists = true; if (enc.isEmpty ())
--- a/libinterp/corefcn/data.cc Fri Dec 21 16:44:03 2018 -0500 +++ b/libinterp/corefcn/data.cc Sun Dec 23 12:36:23 2018 -0800 @@ -572,9 +572,12 @@ An error message is printed if the dimensions of the arguments do not agree, or if either argument is complex. -Programming Notes: Floating point numbers within a few eps of an integer -will be rounded to an integer before computation for compatibility with -@sc{matlab}. +Programming Notes: When calculating with floating point numbers (double, +single), values within a few eps of an integer will be rounded to that +integer before computation for compatibility with @sc{matlab}. Any floating +point integers greater than @code{flintmax} (2^53 for double) will not compute +correctly. For larger integer values convert the input to @code{uint64} before +calling this function. By convention, @@ -582,7 +585,7 @@ @group rem (@var{x}, 0) = NaN if @var{x} is a floating point variable rem (@var{x}, 0) = 0 if @var{x} is an integer variable -rem (@var{x}, @var{y}) returns a value with the signbit from @var{x} +rem (@var{x}, @var{y}) returns a value with the signbit from @var{x} @end group @end example @@ -753,9 +756,12 @@ An error results if the dimensions of the arguments do not agree, or if either of the arguments is complex. -Programming Notes: Floating point numbers within a few eps of an integer -will be rounded to an integer before computation for compatibility with -@sc{matlab}. +Programming Notes: When calculating with floating point numbers (double, +single), values within a few eps of an integer will be rounded to that +integer before computation for compatibility with @sc{matlab}. Any floating +point integers greater than @code{flintmax} (2^53 for double) will not compute +correctly. For larger integer values convert the input to @code{uint64} before +calling this function. By convention,
--- a/libinterp/octave-value/ov-fcn-handle.cc Fri Dec 21 16:44:03 2018 -0500 +++ b/libinterp/octave-value/ov-fcn-handle.cc Sun Dec 23 12:36:23 2018 -0800 @@ -1850,7 +1850,7 @@ DEFMETHOD (str2func, interp, args, , doc: /* -*- texinfo -*- -@deftypefn {} {} str2func (@var{fcn_name}) +@deftypefn {} {} str2func (@var{fcn_name}) Return a function handle constructed from the string @var{fcn_name}. Previous versions of Octave accepted an optional second argument,
--- a/scripts/general/flip.m Fri Dec 21 16:44:03 2018 -0500 +++ b/scripts/general/flip.m Sun Dec 23 12:36:23 2018 -0800 @@ -28,7 +28,6 @@ ## Examples: ## ## @example -## @group ## ## row vector ## flip ([1 2 3 4]) ## @result{} 4 3 2 1 @@ -49,7 +48,6 @@ ## flip ([1 2; 3 4], 2) ## @result{} 2 1 ## 4 3 -## @end group ## @end example ## ## @seealso{fliplr, flipud, rot90, rotdim, permute, transpose}
--- a/scripts/geometry/convhull.m Fri Dec 21 16:44:03 2018 -0500 +++ b/scripts/geometry/convhull.m Sun Dec 23 12:36:23 2018 -0800 @@ -26,7 +26,7 @@ ## ## The hull @var{H} is a linear index vector into the original set of points ## that specifies which points form the enclosing hull. For 2-D inputs only, -## the output is ordered in a counter-clockwise manner around the hull. +## the output is ordered in a counterclockwise manner around the hull. ## ## The input @var{x} may also be a matrix with two or three columns where the ## first column contains x-data, the second y-data, and the optional third
--- a/scripts/help/__unimplemented__.m Fri Dec 21 16:44:03 2018 -0500 +++ b/scripts/help/__unimplemented__.m Sun Dec 23 12:36:23 2018 -0800 @@ -367,97 +367,118 @@ txt = check_package (fcn, "signal"); ## statistics - case {"addedvarplot", "addlevels", "addTerms", "adtest", ... - "andrewsplot", "anova1", "anova2", "anovan", "ansaribradley", ... - "aoctool", "barttest", "bbdesign", "betafit", "betalike", ... - "betastat", "binofit", "binostat", "biplot", "bootci", "bootstrp", ... - "boxplot", "candexch", "candgen", "canoncorr", "capability", ... - "capaplot", "caseread", "casewrite", "ccdesign", "cdf", ... - "cdfplot", "cell2dataset", "chi2gof", "chi2stat", "cholcov", ... + case {"addedvarplot", "addlevels", "addTerms", "adtest", "andrewsplot", ... + "anova", "anova1", "anova2", "anovan", "ansaribradley", ... + "aoctool", "bartlett_test", "barttest", "bbdesign", "betacdf", ... + "betafit", "betainv", "betalike", "betapdf", "betarnd", ... + "betastat", "binocdf", "binofit", "binoinv", "binopdf", ... + "binornd", "binostat", "biplot", "bootci", "bootstrp", "boxplot", ... + "candexch", "candgen", "canoncorr", "capability", "capaplot", ... + "caseread", "casewrite", "cauchy_cdf", "cauchy_inv", ... + "cauchy_pdf", "cauchy_rnd", "ccdesign", "cdf", "cdfplot", ... + "cell2dataset", "chi2cdf", "chi2gof", "chi2inv", "chi2pdf", ... + "chi2rnd", "chi2stat", "chisquare_test_homogeneity", ... + "chisquare_test_independence", "cholcov", ... "ClassificationBaggedEnsemble", "ClassificationDiscriminant", ... "ClassificationEnsemble", "ClassificationKNN", ... "ClassificationPartitionedEnsemble", ... "ClassificationPartitionedModel", "ClassificationTree", ... - "classify", "classregtree", "cluster", "clusterdata", "cmdscale", ... - "coefCI", "coefTest", ... - "combnk", "compact", ... + "classify", "classregtree", "cloglog", "cluster", "clusterdata", ... + "cmdscale", "coefCI", "coefTest", "combnk", "compact", ... "CompactClassificationDiscriminant", ... "CompactClassificationEnsemble", "CompactClassificationTree", ... "CompactRegressionEnsemble", "CompactRegressionTree", ... "CompactTreeBagger", "compare", "confusionmat", "controlchart", ... "controlrules", "cophenet", "copulacdf", "copulafit", ... - "copulaparam", "copulapdf", "copularnd", "copulastat", "cordexch", ... - "corrcov", "covarianceParameters", "coxphfit", "createns", ... - "crosstab", "crossval", "cvpartition", "datasample", "dataset", ... - "dataset2cell", "dataset2struct", "dataset2table", "datasetfun", ... - "daugment", "dcovary", "dendrogram", "designMatrix", ... - "devianceTest", "dfittool", ... + "copulaparam", "copulapdf", "copularnd", "copulastat", ... + "cordexch", "corrcov", "cor_test", "covarianceParameters", ... + "coxphfit", "createns", "crosstab", "crossval", "cvpartition", ... + "datasample", "dataset", "dataset2cell", "dataset2struct", ... + "dataset2table", "datasetfun", "daugment", "dcovary", ... + "dendrogram", "designMatrix", "devianceTest", "dfittool", ... "disttool", "droplevels", "dummyvar", "dwtest", "ecdf", ... "ecdfhist", "evalclusters", "evcdf", "evfit", "evinv", "evlike", ... - "evpdf", "evrnd", "evstat", "ExhaustiveSearcher", "expfit", ... - "explike", "export", "expstat", "factoran", ... - "ff2n", "fitdist", "fitensemble", "fitglm", "fitlm", ... - "fitlme", "fitlmematrix", "fitnlm", "fitted", "fixedEffects", ... - "fracfact", "fracfactgen", "friedman", "fsurfht", "fullfact", ... - "gagerr", "gamfit", "gamlike", "gamstat", ... - "GeneralizedLinearModel", "geomean", "geostat", "getlabels", ... - "getlevels", "gevcdf", "gevfit", "gevinv", "gevlike", "gevpdf", ... - "gevrnd", "gevstat", "gline", "glmfit", "glmval", "glyphplot", ... + "evpdf", "evrnd", "evstat", "ExhaustiveSearcher", "expcdf", ... + "expfit", "expinv", "explike", "export", "exppdf", "exprnd", ... + "expstat", "factoran", "fcdf", "ff2n", "finv", "fitdist", ... + "fitensemble", "fitglm", "fitlm", "fitlme", "fitlmematrix", ... + "fitnlm", "fitted", "fixedEffects", "fpdf", "fracfact", ... + "fracfactgen", "friedman", "frnd", "fsurfht", "fullfact", ... + "f_test_regression", "gagerr", "gamcdf", "gamfit", "gaminv", ... + "gamlike", "gampdf", "gamrnd", "gamstat", ... + "GeneralizedLinearModel", "geocdf", "geoinv", "geomean", ... + "geopdf", "geornd", "geostat", "getlabels", "getlevels", ... + "gevcdf", "gevfit", "gevinv", "gevlike", "gevpdf", "gevrnd", ... + "gevstat", "gline", "glmfit", "glmval", "glyphplot", ... "gmdistribution", "gname", "gpcdf", "gpfit", "gpinv", "gplike", ... "gplotmatrix", "gppdf", "gprnd", "gpstat", "grp2idx", "grpstats", ... "gscatter", "haltonset", "harmmean", "hist3", "histfit", ... "hmmdecode", "hmmestimate", "hmmgenerate", "hmmtrain", ... - "hmmviterbi", "hougen", "hygestat", "icdf", ... + "hmmviterbi", "hotelling_test", "hotelling_test_2", "hougen", ... + "hygecdf", "hygeinv", "hygepdf", "hygernd", "hygestat", "icdf", ... "inconsistent", "interactionplot", "invpred", "islevel", ... "ismissing", "isundefined", "iwishrnd", "jackknife", "jbtest", ... "johnsrnd", "join", "KDTreeSearcher", "kmeans", "knnsearch", ... - "kruskalwallis", "ksdensity", "kstest", "kstest2", "labels", ... - "lasso", "lassoglm", "lassoPlot", "levelcounts", "leverage", ... - "lhsdesign", "lhsnorm", "lillietest", "LinearMixedModel", ... - "LinearModel", "linhyptest", "linkage", "lognfit", "lognlike", ... + "kolmogorov_smirnov_cdf", "kolmogorov_smirnov_test", ... + "kolmogorov_smirnov_test_2", "kruskalwallis", ... + "kruskal_wallis_test", "ksdensity", "kstest", "kstest2", ... + "labels", "laplace_cdf", "laplace_inv", "laplace_pdf", ... + "laplace_rnd", "lasso", "lassoglm", "lassoPlot", "levelcounts", ... + "leverage", "lhsdesign", "lhsnorm", "lillietest", ... + "LinearMixedModel", "LinearModel", "linhyptest", "linkage", ... + "logistic_cdf", "logistic_inv", "logistic_pdf", ... + "logistic_regression", "logistic_rnd", "logit", "logncdf", ... + "lognfit", "logninv", "lognlike", "lognpdf", "lognrnd", ... "lognstat", "lsline", "mad", "mahal", "maineffectsplot", ... - "makedist", "manova1", "manovacluster", "mat2dataset", "mdscale", ... - "mergelevels", "mhsample", "mle", "mlecov", "mnpdf", "mnrfit", ... - "mnrnd", "mnrval", "multcompare", "multivarichart", "mvncdf", ... - "mvnpdf", "mvnrnd", "mvregress", "mvregresslike", "mvtcdf", ... - "mvtpdf", "mvtrnd", "NaiveBayes", "nancov", "nanmax", "nanmean", ... - "nanmedian", "nanmin", "nanstd", "nansum", "nanvar", "nbinfit", ... - "nbinstat", "ncfcdf", "ncfinv", "ncfpdf", "ncfrnd", "ncfstat", ... - "nctcdf", "nctinv", "nctpdf", "nctrnd", "nctstat", "ncx2cdf", ... - "ncx2inv", "ncx2pdf", "ncx2rnd", "ncx2stat", "negloglik", ... - "nlinfit", "nlintool", "nlmefit", "nlmefitsa", ... + "makedist", "manova", "manova1", "manovacluster", "mat2dataset", ... + "mcnemar_test", "mdscale", "mergelevels", "mhsample", "mle", ... + "mlecov", "mnpdf", "mnrfit", "mnrnd", "mnrval", "multcompare", ... + "multivarichart", "mvncdf", "mvnpdf", "mvnrnd", "mvregress", ... + "mvregresslike", "mvtcdf", "mvtpdf", "mvtrnd", "NaiveBayes", ... + "nancov", "nanmax", "nanmean", "nanmedian", "nanmin", "nanstd", ... + "nansum", "nanvar", "nbincdf", "nbinfit", "nbininv", "nbinpdf", ... + "nbinrnd", "nbinstat", "ncfcdf", "ncfinv", "ncfpdf", "ncfrnd", ... + "ncfstat", "nctcdf", "nctinv", "nctpdf", "nctrnd", "nctstat", ... + "ncx2cdf", "ncx2inv", "ncx2pdf", "ncx2rnd", "ncx2stat", ... + "negloglik", "nlinfit", "nlintool", "nlmefit", "nlmefitsa", ... "nlparci", "nlpredci", "nnmf", "nominal", "NonLinearModel", ... - "normfit", "normlike", "normplot", "normspec", "normstat", ... + "normcdf", "normfit", "norminv", "normlike", "normpdf", ... + "normplot", "normrnd", "normspec", "normstat", ... "optimalleaforder", "ordinal", "parallelcoords", "paramci", ... "paretotails", "partialcorr", "partialcorri", "pca", "pcacov", ... - "pcares", "pdf", "pdist", "pdist2", "pearsrnd", ... - "perfcurve", "plotAdded", "plotAdjustedResponse", ... - "plotDiagnostics", ... - "plotEffects", "plotInteraction", "plotResiduals", ... - "plotSlice", ... - "plsregress", "poissfit", "poisstat", ... - "polyconf", "polytool", "ppca", "predict", ... - "princomp", ... - "ProbDistUnivKernel", "ProbDistUnivParam", "probplot", ... - "procrustes", "proflik", "qrandset", "qrandstream", "random", ... - "randomEffects", ... - "randsample", "randtool", "rangesearch", "ranksum", "raylcdf", ... - "raylfit", "raylinv", "raylpdf", "raylrnd", "raylstat", "rcoplot", ... - "refcurve", "refline", "regress", "RegressionBaggedEnsemble", ... + "pcares", "pdf", "pdist", "pdist2", "pearsrnd", "perfcurve", ... + "plotAdded", "plotAdjustedResponse", "plotDiagnostics", ... + "plotEffects", "plotInteraction", "plotResiduals", "plotSlice", ... + "plsregress", "poisscdf", "poissfit", "poissinv", "poisspdf", ... + "poissrnd", "poisstat", "polyconf", "polytool", "ppca", ... + "prctile", "predict", "princomp", "ProbDistUnivKernel", ... + "ProbDistUnivParam", "probit", "probplot", "procrustes", ... + "proflik", "prop_test_2", "qqplot", "qrandset", "qrandstream", ... + "random", "randomEffects", "randsample", "randtool", ... + "rangesearch", "ranksum", "raylcdf", "raylfit", "raylinv", ... + "raylpdf", "raylrnd", "raylstat", "rcoplot", "refcurve", ... + "refline", "regress", "RegressionBaggedEnsemble", ... "RegressionEnsemble", "RegressionPartitionedEnsemble", ... "RegressionPartitionedModel", "RegressionTree", "regstats", ... - "relieff", "removeTerms", "residuals", "response", ... - "ridge", "robustdemo", "robustfit", "rotatefactors", "rowexch", ... - "rsmdemo", "rstool", "runstest", "sampsizepwr", "scatterhist", ... - "sequentialfs", "setlabels", "signrank", "signtest", "silhouette", ... - "slicesample", "sobolset", "squareform", "statget", "statset", ... - "step", "stepwise", "stepwisefit", "stepwiseglm", ... - "stepwiselm", "struct2dataset", "surfht", "svmclassify", ... - "svmtrain", "table2dataset", "tabulate", "tblread", "tblwrite", ... - "tdfread", "tiedrank", "TreeBagger", "trimmean", "truncate", ... - "tstat", "ttest", "ttest2", "unidstat", "unifit", "unifstat", ... - "vartest", "vartest2", "vartestn", "wblfit", "wbllike", "wblplot", ... - "wblstat", "wishrnd", "x2fx", "xlsread", "xptread", "ztest"} + "relieff", "removeTerms", "residuals", "response", "ridge", ... + "robustdemo", "robustfit", "rotatefactors", "rowexch", "rsmdemo", ... + "rstool", "runstest", "run_test", "sampsizepwr", "scatterhist", ... + "sequentialfs", "setlabels", "signrank", "signtest", "sign_test", ... + "silhouette", "slicesample", "sobolset", "squareform", "statget", ... + "statset", "stdnormal_cdf", "stdnormal_inv", "stdnormal_pdf", ... + "stdnormal_rnd", "step", "stepwise", "stepwisefit", ... + "stepwiseglm", "stepwiselm", "struct2dataset", "surfht", ... + "svmclassify", "svmtrain", "table2dataset", "tabulate", ... + "tblread", "tblwrite", "tcdf", "tdfread", "tiedrank", "tinv", ... + "tpdf", "TreeBagger", "trimmean", "trnd", "truncate", "tstat", ... + "ttest", "ttest2", "t_test", "t_test_2", "t_test_regression", ... + "unidcdf", "unidinv", "unidpdf", "unidrnd", "unidstat", ... + "unifcdf", "unifinv", "unifit", "unifpdf", "unifrnd", "unifstat", ... + "u_test", "vartest", "vartest2", "vartestn", "var_test", ... + "wblcdf", "wblfit", "wblinv", "wbllike", "wblpdf", "wblplot", ... + "wblrnd", "wblstat", "welch_test", "wienrnd", "wilcoxon_test", ... + "wishrnd", "x2fx", "xlsread", "xptread", "ztest", "z_test", ... + "z_test_2"} txt = check_package (fcn, "statistics"); ## symbolic
--- a/scripts/linear-algebra/ishermitian.m Fri Dec 21 16:44:03 2018 -0500 +++ b/scripts/linear-algebra/ishermitian.m Sun Dec 23 12:36:23 2018 -0800 @@ -84,6 +84,10 @@ ## check for exact symmetry retval = ! any ((A != A')(:)); else + if (islogical (A)) + ## Hack to allow norm to work. Choose single to minimize memory. + A = single (A); + endif norm_x = norm (A, Inf); retval = norm_x == 0 || norm (A - A', Inf) / norm_x <= tol; endif @@ -92,6 +96,10 @@ if (tol == 0) retval = ! any ((A != -A')(:)); else + if (islogical (A)) + ## Hack to allow norm to work. Choose single to minimize memory. + A = single (A); + endif norm_x = norm (A, Inf); retval = norm_x == 0 || norm (A + A', Inf) / norm_x <= tol; endif @@ -108,6 +116,8 @@ %!assert (ishermitian ([1, -2i; 2i, 1])) %!assert (ishermitian (speye (100))) %!assert (ishermitian (logical (eye (2)))) +%!assert (! ishermitian (logical ([1 1; 0 1]))) +%!assert (ishermitian (logical ([1 1; 0 1]), 0.5)) %!assert (ishermitian ([0, 2i; 2i, 0], "skew")) %!assert (! ishermitian ([0, 2; -2, eps], "skew")) %!assert (ishermitian ([0, 2; -2, eps], "skew", eps))
--- a/scripts/linear-algebra/issymmetric.m Fri Dec 21 16:44:03 2018 -0500 +++ b/scripts/linear-algebra/issymmetric.m Sun Dec 23 12:36:23 2018 -0800 @@ -83,6 +83,10 @@ ## check for exact symmetry retval = ! any ((A != A.')(:)); else + if (islogical (A)) + ## Hack to allow norm to work. Choose single to minimize memory. + A = single (A); + endif norm_x = norm (A, Inf); retval = norm_x == 0 || norm (A - A.', Inf) / norm_x <= tol; endif @@ -91,6 +95,10 @@ if (tol == 0) retval = ! any ((A != -A.')(:)); else + if (islogical (A)) + ## Hack to allow norm to work. Choose single to minimize memory. + A = single (A); + endif norm_x = norm (A, Inf); retval = norm_x == 0 || norm (A + A.', Inf) / norm_x <= tol; endif @@ -107,6 +115,8 @@ %!assert (issymmetric ([1, 2i; 2i, 1])) %!assert (issymmetric (speye (100))) %!assert (issymmetric (logical (eye (2)))) +%!assert (! issymmetric (logical ([1 1; 0 1]))) +%!assert (issymmetric (logical ([1 1; 0 1]), 0.5)) %!assert (issymmetric ([0, 2; -2, 0], "skew")) %!assert (! issymmetric ([0, 2; -2, eps], "skew")) %!assert (issymmetric ([0, 2; -2, eps], "skew", eps))
--- a/scripts/miscellaneous/inputParser.m Fri Dec 21 16:44:03 2018 -0500 +++ b/scripts/miscellaneous/inputParser.m Sun Dec 23 12:36:23 2018 -0800 @@ -24,18 +24,18 @@ ## class supports four types of arguments: ## ## @enumerate -## @item mandatory (see @command{addRequired}); +## @item mandatory (see @code{addRequired}); ## -## @item optional (see @command{addOptional}); +## @item optional (see @code{addOptional}); ## -## @item named (see @command{addParameter}); +## @item named (see @code{addParameter}); ## -## @item switch (see @command{addSwitch}). +## @item switch (see @code{addSwitch}). ## @end enumerate ## ## After defining the function API with these methods, the supplied arguments -## can be parsed with the @command{parse} method and the parsing results -## accessed with the @command{Results} accessor. +## can be parsed with the @code{parse} method and the parsing results +## accessed with the @code{Results} accessor. ## ## @end deftypefn ## @deftypefn {} {} inputParser.Parameters @@ -47,8 +47,8 @@ ## ## @end deftypefn ## @deftypefn {} {} inputParser.Unmatched -## Return structure similar to @command{Results}, but for unmatched parameters. -## See the @command{KeepUnmatched} property. +## Return structure similar to @code{Results}, but for unmatched parameters. +## See the @code{KeepUnmatched} property. ## ## @end deftypefn ## @deftypefn {} {} inputParser.UsingDefaults @@ -68,9 +68,9 @@ ## Set whether an error should be given for non-defined arguments. Defaults to ## false. If set to true, the extra arguments can be accessed through ## @code{Unmatched} after the @code{parse} method. Note that since -## @command{Switch} and @command{Parameter} arguments can be mixed, it is +## @code{Switch} and @code{Parameter} arguments can be mixed, it is ## not possible to know the unmatched type. If argument is found unmatched -## it is assumed to be of the @command{Parameter} type and it is expected to +## it is assumed to be of the @code{Parameter} type and it is expected to ## be followed by a value. ## ## @end deftypefn @@ -129,16 +129,16 @@ ## @end example ## ## @emph{Note 1}: A function can have any mixture of the four API types but -## they must appear in a specific order. @command{Required} arguments must be -## first and can be followed by any @command{Optional} arguments. Only -## the @command{Parameter} and @command{Switch} arguments may be mixed +## they must appear in a specific order. @code{Required} arguments must be +## first and can be followed by any @code{Optional} arguments. Only +## the @code{Parameter} and @code{Switch} arguments may be mixed ## together and they must appear at the end. ## -## @emph{Note 2}: If both @command{Optional} and @command{Parameter} arguments +## @emph{Note 2}: If both @code{Optional} and @code{Parameter} arguments ## are mixed in a function API then once a string Optional argument fails to -## validate it will be considered the end of the @command{Optional} +## validate it will be considered the end of the @code{Optional} ## arguments. The remaining arguments will be compared against any -## @command{Parameter} or @command{Switch} arguments. +## @code{Parameter} or @code{Switch} arguments. ## ## @seealso{nargin, validateattributes, validatestring, varargin} ## @end deftypefn @@ -150,7 +150,7 @@ ## inputParser to implement an ordered arguments type of API ## ## @var{argname} must be a string with the name of the new argument. The order -## in which new arguments are added with @command{addOptional}, represents the +## in which new arguments are added with @code{addOptional}, represents the ## expected order of arguments. ## ## @var{default} will be the value used when the argument is not specified. @@ -159,7 +159,7 @@ ## values for the argument with name @var{argname}. Alternatively, a ## function name can be used. ## -## See @command{help inputParser} for examples. +## See @code{help inputParser} for examples. ## ## @emph{Note}: if a string argument does not validate, it will be considered a ## ParamValue key. If an optional argument is not given a validator, anything @@ -183,7 +183,7 @@ ## for the parameter with name @var{argname}. Alternatively, a function name ## can be used. ## -## See @command{help inputParser} for examples. +## See @code{help inputParser} for examples. ## ## @end deftypefn @@ -193,7 +193,7 @@ ## Add new parameter to the object @var{parser} of the class inputParser to ## implement a name/value pair type of API. ## -## This is an alias for @command{addParameter} method without the +## This is an alias for @code{addParameter} method without the ## @qcode{"PartialMatchPriority"} option. See it for the help text. ## ## @end deftypefn @@ -207,17 +207,17 @@ ## arguments type of API. ## ## @var{argname} must be a string with the name of the new argument. The order -## in which new arguments are added with @command{addrequired}, represents the +## in which new arguments are added with @code{addrequired}, represents the ## expected order of arguments. ## ## @var{validator} is an optional function handle to validate the given values ## for the argument with name @var{argname}. Alternatively, a function name ## can be used. ## -## See @command{help inputParser} for examples. +## See @code{help inputParser} for examples. ## ## @emph{Note}: this can be used together with the other type of arguments but -## it must be the first (see @command{@@inputParser}). +## it must be the first (see @code{@@inputParser}). ## ## @end deftypefn @@ -236,7 +236,7 @@ ## then after parsing the value of @var{parse}.Results.@var{argname} will be ## true. ## -## See @command{help inputParser} for examples. +## See @code{help inputParser} for examples. ## ## @end deftypefn @@ -245,8 +245,8 @@ ## Parses and validates list of arguments according to object @var{parser} of ## the class inputParser. ## -## After parsing, the results can be accessed with the @command{Results} -## accessor. See @command{help inputParser} for a more complete description. +## After parsing, the results can be accessed with the @code{Results} +## accessor. See @code{help inputParser} for a more complete description. ## ## @end deftypefn
--- a/scripts/miscellaneous/inputname.m Fri Dec 21 16:44:03 2018 -0500 +++ b/scripts/miscellaneous/inputname.m Sun Dec 23 12:36:23 2018 -0800 @@ -20,7 +20,7 @@ ## public domain. ## -*- texinfo -*- -## @deftypefn {} {} inputname (@var{n}) +## @deftypefn {} {} inputname (@var{n}) ## @deftypefnx {} {} inputname (@var{n}, @var{ids_only}) ## Return the name of the @var{n}-th argument to the calling function. ##
--- a/scripts/miscellaneous/mkoctfile.m Fri Dec 21 16:44:03 2018 -0500 +++ b/scripts/miscellaneous/mkoctfile.m Sun Dec 23 12:36:23 2018 -0800 @@ -107,6 +107,7 @@ ## @code{mkoctfile}. ## ## @example +## @group ## AR ## DEPEND_EXTRA_SED_PATTERN ## DEPEND_FLAGS @@ -119,19 +120,21 @@ ## LIBS ## RANLIB ## READLINE_LIBS +## @end group ## @end example ## ## Octave configuration variables that are provided for informational ## purposes only. Except for @samp{OCTAVE_HOME} and @samp{OCTAVE_EXEC_HOME}, ## users may not override these variables. ## -## If @env{OCTAVE_HOME} or @env{OCTAVE_EXEC_HOME} are set in the environment, -## then other variables are adjusted accordingly with @env{OCTAVE_HOME} or -## @env{OCTAVE_EXEC_HOME} substituted for the original value of the directory -## specified by the @samp{--prefix} or @samp{--exec-prefix} options that were -## used when Octave was configured. +## If @w{@env{OCTAVE_HOME}} or @w{@env{OCTAVE_EXEC_HOME}} are set in the +## environment, then other variables are adjusted accordingly with +## @w{@env{OCTAVE_HOME}} or @w{@env{OCTAVE_EXEC_HOME}} substituted for the +## original value of the directory specified by the @option{--prefix} or +## @option{--exec-prefix} options that were used when Octave was configured. ## ## @example +## @group ## API_VERSION LOCALFCNFILEDIR ## ARCHLIBDIR LOCALOCTFILEDIR ## BINDIR LOCALSTARTUPFILEDIR @@ -150,6 +153,7 @@ ## LOCALAPIFCNFILEDIR STARTUPFILEDIR ## LOCALAPIOCTFILEDIR VERSION ## LOCALARCHLIBDIR +## @end group ## @end example ## ## @item --link-stand-alone
--- a/scripts/plot/draw/line.m Fri Dec 21 16:44:03 2018 -0500 +++ b/scripts/plot/draw/line.m Sun Dec 23 12:36:23 2018 -0800 @@ -33,7 +33,7 @@ ## will attempt to orient scalars and vectors so the results can be plotted. ## This requires that one of the dimensions of the vector match either the ## number of rows or the number of columns of the matrix. -## +## ## In the low-level calling form (50% higher performance) where the data is ## specified by name (@code{line ("xdata", @var{x}, @dots{})}) the data must be ## vectors. If no data is specified (@code{line ()}) then
--- a/scripts/statistics/mean.m Fri Dec 21 16:44:03 2018 -0500 +++ b/scripts/statistics/mean.m Sun Dec 23 12:36:23 2018 -0800 @@ -142,6 +142,10 @@ print_usage (); endswitch + ## FIXME: Delete this when the "divide-by-zero" warning is + ## removed in Octave 6.0. + warning ("off", "Octave:divide-by-zero", "local"); + ## The actual mean computation n = size (x, dim); switch (mean_type)
--- a/scripts/time/datestr.m Fri Dec 21 16:44:03 2018 -0500 +++ b/scripts/time/datestr.m Sun Dec 23 12:36:23 2018 -0800 @@ -24,7 +24,7 @@ ## the result in @var{str}. ## ## @var{date} is a serial date number (see @code{datenum}), a date vector (see -## @code{datevec}), or a a string or cell array of strings. In the latter case, +## @code{datevec}), or a string or cell array of strings. In the latter case, ## it is passed to @code{datevec} to guess the input date format. ## ## @var{f} can be an integer which corresponds to one of the codes in the table