openSUSE Commits
Threads by month
- ----- 2024 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
July 2019
- 2 participants
- 2045 discussions
Hello community,
here is the log from the commit of package gmmlib for openSUSE:Factory checked in at 2019-07-08 15:11:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gmmlib (Old)
and /work/SRC/openSUSE:Factory/.gmmlib.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gmmlib"
Mon Jul 8 15:11:23 2019 rev:3 rq:713728 version:19.2.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/gmmlib/gmmlib.changes 2019-04-04 15:28:15.942917878 +0200
+++ /work/SRC/openSUSE:Factory/.gmmlib.new.4615/gmmlib.changes 2019-07-08 15:11:24.611367262 +0200
@@ -1,0 +2,9 @@
+Sat Jul 6 10:38:31 UTC 2019 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 19.2.3:
+ * Memory leak fix.
+ * Crash fix.
+ * More device support.
+- Bump soname to 9 following upstream changes.
+
+-------------------------------------------------------------------
Old:
----
intel-gmmlib-18.4.1.tar.gz
New:
----
intel-gmmlib-19.2.3.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gmmlib.spec ++++++
--- /var/tmp/diff_new_pack.2ORnW4/_old 2019-07-08 15:11:25.595368206 +0200
+++ /var/tmp/diff_new_pack.2ORnW4/_new 2019-07-08 15:11:25.595368206 +0200
@@ -12,14 +12,14 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
-%define so_ver 5
+%define so_ver 9
Name: gmmlib
-Version: 18.4.1
+Version: 19.2.3
Release: 0
Summary: Intel Graphics Memory Management Library
License: MIT
++++++ intel-gmmlib-18.4.1.tar.gz -> intel-gmmlib-19.2.3.tar.gz ++++++
++++ 4903 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package qgroundcontrol for openSUSE:Factory checked in at 2019-07-08 15:11:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qgroundcontrol (Old)
and /work/SRC/openSUSE:Factory/.qgroundcontrol.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qgroundcontrol"
Mon Jul 8 15:11:06 2019 rev:9 rq:713725 version:3.5.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/qgroundcontrol/qgroundcontrol.changes 2019-03-26 15:40:38.272295561 +0100
+++ /work/SRC/openSUSE:Factory/.qgroundcontrol.new.4615/qgroundcontrol.changes 2019-07-08 15:11:19.779362625 +0200
@@ -1,0 +2,6 @@
+Sat Jun 29 16:18:58 UTC 2019 - Adrian Schröter <adrian(a)suse.de>
+
+- update to version 3.5.3
+ * no release notes, bugfix release
+
+-------------------------------------------------------------------
Old:
----
qgroundcontrol-3.5.0.obscpio
New:
----
qgroundcontrol-3.5.3.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ qgroundcontrol.spec ++++++
--- /var/tmp/diff_new_pack.EdSv0B/_old 2019-07-08 15:11:24.175366843 +0200
+++ /var/tmp/diff_new_pack.EdSv0B/_new 2019-07-08 15:11:24.175366843 +0200
@@ -19,7 +19,7 @@
# See also http://en.opensuse.org/openSUSE:Specfile_guidelines
Name: qgroundcontrol
-Version: 3.5.0
+Version: 3.5.3
Release: 0
Summary: An operator control unit / ground control software for micro air vehicles
License: GPL-3.0-only
++++++ _service ++++++
--- /var/tmp/diff_new_pack.EdSv0B/_old 2019-07-08 15:11:24.203366870 +0200
+++ /var/tmp/diff_new_pack.EdSv0B/_new 2019-07-08 15:11:24.207366874 +0200
@@ -2,8 +2,8 @@
<service name="obs_scm" mode="disabled">
<param name="url">git://github.com/mavlink/qgroundcontrol.git</param>
<param name="scm">git</param>
- <param name="revision">v3.5.0</param>
- <param name="version">3.5.0</param>
+ <param name="revision">v3.5.3</param>
+ <param name="version">3.5.3</param>
<param name="exclude">lib</param>
<!-- not working atm
<param name="exclude">mavlink</param>
++++++ debian.changelog ++++++
--- /var/tmp/diff_new_pack.EdSv0B/_old 2019-07-08 15:11:24.223366889 +0200
+++ /var/tmp/diff_new_pack.EdSv0B/_new 2019-07-08 15:11:24.223366889 +0200
@@ -1,4 +1,4 @@
-qgroundcontrol (3.5.0-0) trusty; urgency=low
+qgroundcontrol (3.5.3-0) trusty; urgency=low
* Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP>
++++++ qgroundcontrol-3.5.0.obscpio -> qgroundcontrol-3.5.3.obscpio ++++++
/work/SRC/openSUSE:Factory/qgroundcontrol/qgroundcontrol-3.5.0.obscpio /work/SRC/openSUSE:Factory/.qgroundcontrol.new.4615/qgroundcontrol-3.5.3.obscpio differ: char 48, line 1
++++++ qgroundcontrol.dsc ++++++
--- /var/tmp/diff_new_pack.EdSv0B/_old 2019-07-08 15:11:24.279366943 +0200
+++ /var/tmp/diff_new_pack.EdSv0B/_new 2019-07-08 15:11:24.279366943 +0200
@@ -1,6 +1,6 @@
Format: 1.0
Source: qgroundcontrol
-Version: 3.5.0-0
+Version: 3.5.3-0
Binary: qgroundcontrol
Maintainer: Adrian Schroeter <adrian(a)suse.de>
Architecture: all
++++++ qgroundcontrol.obsinfo ++++++
--- /var/tmp/diff_new_pack.EdSv0B/_old 2019-07-08 15:11:24.299366962 +0200
+++ /var/tmp/diff_new_pack.EdSv0B/_new 2019-07-08 15:11:24.299366962 +0200
@@ -1,5 +1,5 @@
name: qgroundcontrol
-version: 3.5.0
-mtime: 1549316323
-commit: 88e67fbf076e3c0a4e6c102781ead8ae0f6f641a
+version: 3.5.3
+mtime: 1560547201
+commit: 14d0b71a24676bbd1fe6d2dc1c2963be0558f0c7
1
0
Hello community,
here is the log from the commit of package python-relatorio for openSUSE:Factory checked in at 2019-07-08 15:11:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-relatorio (Old)
and /work/SRC/openSUSE:Factory/.python-relatorio.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-relatorio"
Mon Jul 8 15:11:03 2019 rev:7 rq:713707 version:0.8.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-relatorio/python-relatorio.changes 2018-10-04 19:02:15.835154854 +0200
+++ /work/SRC/openSUSE:Factory/.python-relatorio.new.4615/python-relatorio.changes 2019-07-08 15:11:04.543348006 +0200
@@ -1,0 +2,5 @@
+Fri Jul 5 16:33:12 UTC 2019 - Axel Braun <axel.braun(a)gmx.de>
+
+- python-magic added to requirements
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-relatorio.spec ++++++
--- /var/tmp/diff_new_pack.6iDheq/_old 2019-07-08 15:11:05.179348617 +0200
+++ /var/tmp/diff_new_pack.6iDheq/_new 2019-07-08 15:11:05.179348617 +0200
@@ -2,7 +2,7 @@
# spec file for package python-relatorio
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
-# Copyright (c) 2016-2018 Dr. Axel Braun
+# Copyright (c) 2016-2019 Dr. Axel Braun
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -37,6 +37,7 @@
Requires: python-Genshi
Requires: python-PyYAML
Requires: python-lxml
+Requires: python-magic
Requires: python-pycha
BuildArch: noarch
%python_subpackages
1
0
Hello community,
here is the log from the commit of package muparser for openSUSE:Factory checked in at 2019-07-08 15:11:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/muparser (Old)
and /work/SRC/openSUSE:Factory/.muparser.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "muparser"
Mon Jul 8 15:11:01 2019 rev:12 rq:713703 version:2.2.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/muparser/muparser.changes 2018-10-23 20:38:55.564649267 +0200
+++ /work/SRC/openSUSE:Factory/.muparser.new.4615/muparser.changes 2019-07-08 15:11:01.819345393 +0200
@@ -1,0 +2,5 @@
+Sat Jul 6 10:37:33 UTC 2019 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Trim bias from descriptions.
+
+-------------------------------------------------------------------
Old:
----
prepare-tar.sh
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ muparser.spec ++++++
--- /var/tmp/diff_new_pack.FVeaGI/_old 2019-07-08 15:11:02.755346291 +0200
+++ /var/tmp/diff_new_pack.FVeaGI/_new 2019-07-08 15:11:02.759346294 +0200
@@ -1,7 +1,7 @@
#
# spec file for package muparser
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -26,7 +26,6 @@
Url: http://muparser.beltoforion.de/
Source: https://github.com/beltoforion/muparser/archive/v%{version}.tar.gz
-Source9: prepare-tar.sh
Source1: baselibs.conf
Patch1: muparser-optflags.patch
Patch2: muparser-abiversion.diff
@@ -38,8 +37,8 @@
BuildRequires: pkg-config
%description
-muParser is an extensible high performance math parser library written in
-C++. It works by transforming a mathematical expression into bytecode and
+muParser is an extensible math parser library written in C++. It
+works by transforming a mathematical expression into bytecode and
precalculating constant parts of the expression.
%package -n %lname
@@ -47,8 +46,8 @@
Group: System/Libraries
%description -n %lname
-muParser is an extensible high performance math parser library written in
-C++. It works by transforming a mathematical expression into bytecode and
+muParser is an extensible math parser library written in C++. It
+works by transforming a mathematical expression into bytecode and
precalculating constant parts of the expression.
%package devel
@@ -57,8 +56,8 @@
Requires: %lname = %version
%description devel
-muParser is an extensible high performance math parser library written in
-C++. It works by transforming a mathematical expression into bytecode and
+muParser is an extensible math parser library written in C++. It
+works by transforming a mathematical expression into bytecode and
precalculating constant parts of the expression.
%prep
@@ -72,7 +71,7 @@
make -j1
%install
-make install DESTDIR="%buildroot"
+%make_install
rm -f "%buildroot/%_libdir"/*.la
%post -n %lname -p /sbin/ldconfig
1
0
Hello community,
here is the log from the commit of package libva-utils for openSUSE:Factory checked in at 2019-07-08 15:10:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libva-utils (Old)
and /work/SRC/openSUSE:Factory/.libva-utils.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libva-utils"
Mon Jul 8 15:10:59 2019 rev:7 rq:713701 version:2.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/libva-utils/libva-utils.changes 2018-10-25 09:12:17.358291709 +0200
+++ /work/SRC/openSUSE:Factory/.libva-utils.new.4615/libva-utils.changes 2019-07-08 15:11:00.691344310 +0200
@@ -1,0 +2,11 @@
+Sat Jul 6 08:09:55 UTC 2019 - Bjørn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 2.4.1:
+ * No changes, sync with libva version only.
+- Changes from version 2.4.0:
+ * Fix make dist issue caused by decode streamout sample.
+ * Add VP sample for Blending.
+ * Add VP seperate sample for scaling, csc, sharpness, denoise,
+ chromasitting.
+
+-------------------------------------------------------------------
Old:
----
libva-utils-2.3.0.tar.gz
New:
----
libva-utils-2.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libva-utils.spec ++++++
--- /var/tmp/diff_new_pack.aZqEC0/_old 2019-07-08 15:11:01.467345055 +0200
+++ /var/tmp/diff_new_pack.aZqEC0/_new 2019-07-08 15:11:01.471345058 +0200
@@ -1,7 +1,7 @@
#
# spec file for package libva-utils
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: libva-utils
-Version: 2.3.0
+Version: 2.4.1
Release: 0
Summary: A collection of utilities and examples to exercise VA-API
License: MIT AND EPL-1.0
++++++ libva-utils-2.3.0.tar.gz -> libva-utils-2.4.1.tar.gz ++++++
++++ 10737 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package octave for openSUSE:Factory checked in at 2019-07-08 15:10:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/octave (Old)
and /work/SRC/openSUSE:Factory/.octave.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "octave"
Mon Jul 8 15:10:56 2019 rev:63 rq:713696 version:5.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/octave/octave.changes 2019-06-06 18:15:35.628716398 +0200
+++ /work/SRC/openSUSE:Factory/.octave.new.4615/octave.changes 2019-07-08 15:10:56.919340691 +0200
@@ -1,0 +2,8 @@
+Fri Jul 05 12:14:16 2019 UTC - Markus Ebner <hiwatari.seiji(a)gmail.com>
+
+- Backport fix: Cursor misplaced when entering newline in editor with tabs indentation
+ behavior (bug #56533)
+ * Added octave-bug-56533-Cursor_misplaced_when_entering_newline_in_editor_with_tabs_indentation-part1.patch
+ * Added octave-bug-56533-Cursor_misplaced_when_entering_newline_in_editor_with_tabs_indentation-part2.patch
+
+-------------------------------------------------------------------
New:
----
octave-bug-56533-Cursor_misplaced_when_entering_newline_in_editor_with_tabs_indentation-part1.patch
octave-bug-56533-Cursor_misplaced_when_entering_newline_in_editor_with_tabs_indentation-part2.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ octave.spec ++++++
--- /var/tmp/diff_new_pack.S9UZ3V/_old 2019-07-08 15:10:58.407342119 +0200
+++ /var/tmp/diff_new_pack.S9UZ3V/_new 2019-07-08 15:10:58.411342123 +0200
@@ -86,6 +86,8 @@
Patch0: octave_tools_pie.patch
# PATCH-FIX-UPSTREAM
Patch1: octave-bug-55029-fix_pause_and_kbhit_with_glibc_2_28.patch
+Patch2: octave-bug-56533-Cursor_misplaced_when_entering_newline_in_editor_with_tabs_indentation-part1.patch
+Patch3: octave-bug-56533-Cursor_misplaced_when_entering_newline_in_editor_with_tabs_indentation-part2.patch
BuildRequires: arpack-ng-devel
# Required for Patch0
BuildRequires: autoconf
@@ -247,6 +249,8 @@
# autoconf in Leap 42.x is to old, so we just build without -pie there
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
%endif
# define octave_blas macros
++++++ octave-bug-56533-Cursor_misplaced_when_entering_newline_in_editor_with_tabs_indentation-part1.patch ++++++
# HG changeset patch
# User Torsten Lilge <ttl-octave(a)mailbox.org>
# Date 1561493414 -7200
# Node ID dffdabfd02138fd21c0d1e56d639c56b6c9c3fba
# Parent b8c0d5ad024f993929bac9a1f212b47ba06d731f
fix cursor position for editor smart indent after keyword (bug #56533)
* file-editor-tab.cc (notice_settings): initialize new class variable
holding the width of the character used for indentation;
(handle_cursor_moved): pass new class variable to smart_indent
* file-editor-tab.h: new class variable for indentation character width
* octave-qscintilla.cc (smart_indent): length of indentation character is
a new parameter which is used for setting the cursor position at the
end of the indentation of a new line
* octave-qscintilla.cc (smart_indent): new parameter
diff --git a/libgui/src/m-editor/file-editor-tab.cc b/libgui/src/m-editor/file-editor-tab.cc
--- a/libgui/src/m-editor/file-editor-tab.cc
+++ b/libgui/src/m-editor/file-editor-tab.cc
@@ -2691,6 +2691,10 @@
_edit_area->setTabWidth
(settings->value ("editor/tab_width",2).toInt ());
+ m_ind_char_width = 1;
+ if (_edit_area->indentationsUseTabs ())
+ m_ind_char_width = _edit_area->tabWidth ();
+
_edit_area->SendScintilla (QsciScintillaBase::SCI_SETHSCROLLBAR,
settings->value ("editor/show_hscroll_bar",true).toBool ());
_edit_area->SendScintilla (QsciScintillaBase::SCI_SETSCROLLWIDTH,-1);
@@ -3040,7 +3044,8 @@
{
// Obviously, we have a newline here
if (_smart_indent || _auto_endif)
- _edit_area->smart_indent (_smart_indent, _auto_endif, _line);
+ _edit_area->smart_indent (_smart_indent, _auto_endif,
+ _line, m_ind_char_width);
}
}
diff --git a/libgui/src/m-editor/file-editor-tab.h b/libgui/src/m-editor/file-editor-tab.h
--- a/libgui/src/m-editor/file-editor-tab.h
+++ b/libgui/src/m-editor/file-editor-tab.h
@@ -304,6 +304,7 @@
bool _always_reload_changed_files;
bool _smart_indent;
int _auto_endif;
+ int m_ind_char_width;
QFileSystemWatcher _file_system_watcher;
diff --git a/libgui/src/m-editor/octave-qscintilla.cc b/libgui/src/m-editor/octave-qscintilla.cc
--- a/libgui/src/m-editor/octave-qscintilla.cc
+++ b/libgui/src/m-editor/octave-qscintilla.cc
@@ -499,8 +499,8 @@
}
// Do smart indendation after if, for, ...
- void octave_qscintilla::smart_indent (bool do_smart_indent,
- int do_auto_close, int line)
+ void octave_qscintilla::smart_indent (bool do_smart_indent, int do_auto_close,
+ int line, int ind_char_width)
{
QString prevline = text (line);
@@ -534,7 +534,7 @@
{
// Do smart indent in the current line (line+1)
indent (line+1);
- setCursorPosition (line+1, indentation (line) + indentationWidth ());
+ setCursorPosition (line+1, indentation (line+1) / ind_char_width);
}
if (do_auto_close
diff --git a/libgui/src/m-editor/octave-qscintilla.h b/libgui/src/m-editor/octave-qscintilla.h
--- a/libgui/src/m-editor/octave-qscintilla.h
+++ b/libgui/src/m-editor/octave-qscintilla.h
@@ -63,7 +63,8 @@
QStringList comment_string (bool comment = true);
int get_style (int pos = -1);
int is_style_comment (int pos = -1);
- void smart_indent (bool do_smart_indent, int do_auto_close, int line);
+ void smart_indent (bool do_smart_indent, int do_auto_close,
+ int line, int ind_char_width);
void smart_indent_line_or_selected_text (int lineFrom, int lineTo);
++++++ octave-bug-56533-Cursor_misplaced_when_entering_newline_in_editor_with_tabs_indentation-part2.patch ++++++
# HG changeset patch
# User Torsten Lilge <ttl-octave(a)mailbox.org>
# Date 1562267649 -7200
# Node ID 1ae91e5d70cc1fe849945b6aba6da727b8768ff5
# Parent f5b9670604425f6bfda76c7a8e61798559f0e609
fix auto-close feature in editor when using tabs for indentation (bug #56533)
* octave-qscintilla.cc (auto_close): do not consider new inserted line for
detecting a required closing sstatement since this line has indentation
indicating that there already is a close satement, us indentation method
instead of adding spaces for indenting the line with the close statement
diff --git a/libgui/src/m-editor/octave-qscintilla.cc b/libgui/src/m-editor/octave-qscintilla.cc
index a2a97ea..dc407f7 100644
--- a/libgui/src/m-editor/octave-qscintilla.cc
+++ b/libgui/src/m-editor/octave-qscintilla.cc
@@ -965,7 +965,8 @@ namespace octave
// end* (until) (catch)
if (linenr < lines () - 1)
{
- int offset = 1;
+ int offset = 2; // linenr is the old line, thus, linnr+1 is the
+ // new one and can not be taken into account
size_t next_start;
QString next_line;
do // find next non-blank line
@@ -1022,7 +1023,9 @@ namespace octave
next_line = "end" + first_word + "\n";
}
- insertAt (QString (start, ' ') + next_line, linenr + 2, 0);
+ //insertAt (QString (start, ' ') + next_line, linenr + 2, 0);
+ insertAt (next_line, linenr + 2, 0);
+ setIndentation (linenr + 2, indentation (linenr));
}
void octave_qscintilla::dragEnterEvent (QDragEnterEvent *e)
1
0
Hello community,
here is the log from the commit of package rttr for openSUSE:Factory checked in at 2019-07-08 15:10:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rttr (Old)
and /work/SRC/openSUSE:Factory/.rttr.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rttr"
Mon Jul 8 15:10:53 2019 rev:4 rq:713654 version:0.9.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/rttr/rttr.changes 2019-05-10 09:19:52.284472310 +0200
+++ /work/SRC/openSUSE:Factory/.rttr.new.4615/rttr.changes 2019-07-08 15:10:55.611339436 +0200
@@ -1,0 +2,11 @@
+Thu Jun 27 14:25:10 UTC 2019 - Luca Beltrame <lbeltrame(a)kde.org>
+
+- Disable tests to allow the package to build under GCC 9
+
+-------------------------------------------------------------------
+Tue Jun 4 02:54:17 UTC 2019 - Dan Weatherill <plasteredparrot(a)gmail.com>
+
+- remove_pessimizing_moves.patch: remove NRVO pessimizing moves
+ (fixes a warning on gcc 9 to fix current Factory build)
+
+-------------------------------------------------------------------
New:
----
remove_pessimizing_moves.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rttr.spec ++++++
--- /var/tmp/diff_new_pack.ljLs1j/_old 2019-07-08 15:10:56.627340411 +0200
+++ /var/tmp/diff_new_pack.ljLs1j/_new 2019-07-08 15:10:56.631340414 +0200
@@ -36,6 +36,8 @@
Patch4: fix-include-permissions.patch
# PATCH-FIX-UPSTREAM lp64.patch Support all LP64 architectures (https://github.com/rttrorg/rttr/pull/231)
Patch5: lp64.patch
+#PATCH-FIX-UPSTREAM remove_pessimizing_moves.patch remove pessimizing move calls (https://github.com/rttrorg/rttr/pull/243)
+Patch6: remove_pessimizing_moves.patch
BuildRequires: cmake
BuildRequires: dos2unix
BuildRequires: doxygen
@@ -57,10 +59,15 @@
%patch4 -p1
%patch5 -p1
+#only apply move elision to gcc versions that support it
+%if 0%{?suse_version} >= 1500
+%patch6 -p1
+%endif
+
%build
find . -type f -exec chmod a-x "{}" +
dos2unix README.md
-%cmake -DBUILD_BENCHMARKS=OFF -DCMAKE_INSTALL_CMAKEDIR=cmake
+%cmake -DBUILD_BENCHMARKS=OFF -DCMAKE_INSTALL_CMAKEDIR=cmake -DBUILD_UNIT_TESTS=OFF
#make unit tests pass
export LD_LIBRARY_PATH=%{_builddir}/rttr-%{version}/build/lib/
%make_jobs
++++++ remove_pessimizing_moves.patch ++++++
Index: rttr-0.9.6/src/rttr/detail/registration/bind_impl.h
===================================================================
--- rttr-0.9.6.orig/src/rttr/detail/registration/bind_impl.h
+++ rttr-0.9.6/src/rttr/detail/registration/bind_impl.h
@@ -289,7 +289,7 @@ class registration::bind<detail::ctor_fu
std::move(get_metadata(std::forward<Args>(args)...)),
std::move(get_default_args<type_list<Acc_Func>, function_type>(std::forward<Args>(args)...)),
std::move(create_param_infos<type_list<F>, function_type>(std::forward<Args>(args)...)));
- return std::move(ctor);
+ return ctor;
}
public:
bind(const std::shared_ptr<detail::registration_executer>& reg_exec, F func)
@@ -386,7 +386,7 @@ class registration::bind<detail::prop, C
detail::map_access_level_to_enum<acc_level>::value,
getter_policy, setter_policy,
Metadata_Count>>(name, type::get<Class_Type>(), acc, std::move(metadata_list));
- return std::move(prop);
+ return prop;
}
public:
@@ -476,7 +476,7 @@ class registration::bind<detail::prop, C
getter_policy, setter_policy,
Metadata_Count>>(name, type::get<Class_Type>(),
getter, setter, std::move(metadata_list));
- return std::move(prop);
+ return prop;
}
public:
@@ -566,7 +566,7 @@ class registration::bind<detail::prop_re
getter_policy, default_setter_policy, Metadata_Count>>(name, type::get<Class_Type>(),
acc, std::move(metadata_list));
- return std::move(prop);
+ return prop;
}
public:
@@ -659,7 +659,7 @@ class registration::bind<detail::meth, C
std::move(get_metadata(std::forward<Args>(args)...)),
std::move(get_default_args<type_list<Acc_Func>, function_type>(std::forward<Args>(args)...)),
std::move(create_param_infos<type_list<F>, function_type>(std::forward<Args>(args)...)) );
- return std::move(meth);
+ return meth;
}
template<typename Policy, std::size_t Metadata_Count, typename...TArgs, typename...Param_Args>
@@ -770,7 +770,7 @@ class registration::bind<detail::enum_,
std::move(get_metadata(std::forward<Args>(args)...)));
- return std::move(enum_wrapper);
+ return enum_wrapper;
}
public:
1
0
Hello community,
here is the log from the commit of package gssproxy for openSUSE:Factory checked in at 2019-07-08 15:10:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gssproxy (Old)
and /work/SRC/openSUSE:Factory/.gssproxy.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gssproxy"
Mon Jul 8 15:10:51 2019 rev:3 rq:713631 version:0.8.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/gssproxy/gssproxy.changes 2019-07-02 10:38:51.770624453 +0200
+++ /work/SRC/openSUSE:Factory/.gssproxy.new.4615/gssproxy.changes 2019-07-08 15:10:54.727338588 +0200
@@ -1,0 +2,10 @@
+Thu Jul 4 14:33:52 UTC 2019 - Samuel Cabrero <scabrero(a)suse.de>
+
+- Fix paths in tests and replace python's f-string usage
+- Test are passing in OBS, drop patch disable-failing-test.patch
+- Added patches:
+ * 0001-Fix-runtests.py.patch
+- Removed patches:
+ * disable-failing-test.patch
+
+-------------------------------------------------------------------
Old:
----
disable-failing-test.patch
New:
----
0001-Fix-runtests.py.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gssproxy.spec ++++++
--- /var/tmp/diff_new_pack.xaT4GU/_old 2019-07-08 15:10:55.411339244 +0200
+++ /var/tmp/diff_new_pack.xaT4GU/_new 2019-07-08 15:10:55.411339244 +0200
@@ -25,7 +25,7 @@
URL: https://pagure.io/gssproxy
Source0: https://releases.pagure.org/gssproxy/%{name}-%{version}.tar.gz
# PATCH-FIX-SUSE tchvatal(a)suse.com disable test that fails only on OBS builds
-Patch0: disable-failing-test.patch
+Patch0: 0001-Fix-runtests.py.patch
BuildRequires: docbook-xsl-stylesheets
BuildRequires: doxygen
BuildRequires: krb5-client
@@ -34,6 +34,8 @@
BuildRequires: openldap2
BuildRequires: openldap2-client
BuildRequires: pkgconfig
+BuildRequires: python3
+BuildRequires: system-user-nobody
BuildRequires: systemd-rpm-macros
BuildRequires: valgrind
BuildRequires: pkgconfig(ini_config) >= 1.2.0
@@ -64,15 +66,6 @@
%prep
%setup -q
%patch0 -p1
-# add more paths for krb binaries in tests
-sed \
- -e 's#/sbin:/bin:%{_prefix}/sbin:%{_prefix}/bin#/sbin:/bin:%{_prefix}/sbin:%{_prefix}/bin:%{_prefix}/lib/mit/sbin#' \
- -i tests/runtests.py \
- -i tests/testlib.py
-# fix path for krb5 ldap schema
-sed -i \
- -e 's#%{_datadir}/doc/krb5-server-ldap\*/#%{_datadir}/kerberos/ldap/#g' \
- tests/testlib.py
%build
autoreconf -fvi
++++++ 0001-Fix-runtests.py.patch ++++++
>From ac7b0aa70ae285252e910fda5a1ef475d7e31dd1 Mon Sep 17 00:00:00 2001
From: Samuel Cabrero <scabrero(a)suse.de>
Date: Tue, 2 Jul 2019 12:19:00 +0200
Subject: [PATCH] Fix runtests.py
* f-strings require python3.6
* Add slapd to PATH
* kerberos ldap schema path
Signed-off-by: Samuel Cabrero <scabrero(a)suse.de>
---
tests/runtests.py | 4 ++--
tests/testlib.py | 9 +++++----
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/tests/runtests.py b/tests/runtests.py
index 9cd546f..5b7d85e 100755
--- a/tests/runtests.py
+++ b/tests/runtests.py
@@ -12,10 +12,10 @@ import testlib
from testlib import *
def check_exec(name):
- env = {'PATH': '/sbin:/bin:/usr/sbin:/usr/bin'}
+ env = {'PATH': '/sbin:/bin:/usr/sbin:/usr/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:/usr/lib/openldap'}
ret = subprocess.call(["which", name], stdout=subprocess.DEVNULL, env=env)
if ret != 0:
- print(f"Executable '{name}' not found in {env['PATH']}",
+ print("Executable '%s' not found in %s" % (name, env['PATH']),
file=sys.stderr)
exit(1)
diff --git a/tests/testlib.py b/tests/testlib.py
index 05c734d..8d02e5d 100755
--- a/tests/testlib.py
+++ b/tests/testlib.py
@@ -300,8 +300,9 @@ def write_ldap_krb5_config(testdir):
raise ValueError("Did not find LDAP schemas; is openldap installed?")
k5schema = None
- for path in ["/usr/share/doc/krb5-server-ldap*/kerberos.schema",
- "/usr/share/doc/krb5-kdc-ldap/kerberos.schema.gz"]:
+ # Path in TW and SLE-15-SP1 onward /usr/share/kerberos/ldap
+ for path in ["/usr/share/kerberos/ldap/kerberos.schema",
+ "/usr/share/doc/packages/krb5/kerberos.schema"]:
pathlist = glob.glob(path)
if len(pathlist) > 0:
k5schema = pathlist[0]
@@ -367,7 +368,7 @@ def setup_ldap(testdir, wrapenv):
stashfile = os.path.join(testdir, "ldap_passwd")
krb5conf = os.path.join(testdir, 'krb5.conf')
- ldapenv = {'PATH': '/sbin:/bin:/usr/sbin:/usr/bin',
+ ldapenv = {'PATH': '/sbin:/bin:/usr/sbin:/usr/bin:/usr/lib/openldap:/usr/lib/mit/sbin',
'KRB5_CONFIG': krb5conf}
ldapenv.update(wrapenv)
@@ -411,7 +412,7 @@ def setup_kdc(testdir, wrapenv):
kdcstash = os.path.join(kdcdir, KDC_STASH)
kdcdb = os.path.join(kdcdir, KDC_DBNAME)
- kdcenv = {'PATH': '/sbin:/bin:/usr/sbin:/usr/bin',
+ kdcenv = {'PATH': '/sbin:/bin:/usr/sbin:/usr/bin:/usr/lib/mit/sbin:/usr/lib/mit/bin',
'KRB5_CONFIG': krb5conf,
'KRB5_KDC_PROFILE': kdcconf}
kdcenv.update(wrapenv)
--
2.22.0
1
0
Hello community,
here is the log from the commit of package octave-forge-statistics for openSUSE:Factory checked in at 2019-07-08 15:10:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/octave-forge-statistics (Old)
and /work/SRC/openSUSE:Factory/.octave-forge-statistics.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "octave-forge-statistics"
Mon Jul 8 15:10:48 2019 rev:4 rq:713626 version:1.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/octave-forge-statistics/octave-forge-statistics.changes 2018-06-29 22:22:47.326646465 +0200
+++ /work/SRC/openSUSE:Factory/.octave-forge-statistics.new.4615/octave-forge-statistics.changes 2019-07-08 15:10:53.439337352 +0200
@@ -1,0 +2,18 @@
+Thu Jul 4 20:04:00 2019 UTC - hiwatari.seiji(a)gmail.com
+
+- Update to version 1.4.1:
+ * update install scripts for octave 5.0 depreciated functions
+
+ * bug fixes to the following functions:
+ - pdist2.m: use max in distEucSq (Bug #50377)
+ - normpdf: use eps tolerance in tests (Bug #51963)
+ - fitgmdist: fix an output bug in fitgmdist
+ - t_test: Set tolerance on t_test BISTS (Bug #54557)
+ - gpXXXXX: change order of inputs to match matlab (Bug #54009)
+ - bartlett_test: df = k-1 (Bug #45894)
+ - gppdf: apply scale factor (Bug #54009)
+ - gmdistribution: updates for bug #54278, ##54279
+ - wishrnd: Bug #55860
+ - Add octave-bug-50365-Wrong-distance-results-from-kmeans-and-wrong-centers.patch
+
+-------------------------------------------------------------------
Old:
----
statistics-1.4.0.tar.gz
New:
----
octave-bug-50365-Wrong-distance-results-from-kmeans-and-wrong-centers.patch
statistics-1.4.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ octave-forge-statistics.spec ++++++
--- /var/tmp/diff_new_pack.t4jadD/_old 2019-07-08 15:10:54.375338250 +0200
+++ /var/tmp/diff_new_pack.t4jadD/_new 2019-07-08 15:10:54.379338254 +0200
@@ -1,7 +1,7 @@
#
# spec file for package octave-forge-statistics
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,19 +12,21 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define octpkg statistics
Name: octave-forge-%{octpkg}
-Version: 1.4.0
+Version: 1.4.1
Release: 0
Summary: Additional statistics functions for Octave
License: GPL-3.0-or-later AND SUSE-Public-Domain
Group: Productivity/Scientific/Math
Url: http://octave.sourceforge.net
Source0: http://downloads.sourceforge.net/octave/%{octpkg}-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM octave-bug-50365-Wrong-distance-results-from-kmeans-and-wrong-centers.patch https://savannah.gnu.org/bugs/?func=detailitem&item_id=50365 ajuanpi+dev(a)gmail.com -- fix bug #50365. Update distances and classes to best replica
+Patch0: octave-bug-50365-Wrong-distance-results-from-kmeans-and-wrong-centers.patch
BuildArch: noarch
BuildRequires: octave-devel
Requires: octave-cli >= 4.0.0
@@ -37,6 +39,7 @@
%prep
%setup -q -c %{name}-%{version}
%octave_pkg_src
+%patch0 -p1
%build
%octave_pkg_build
++++++ octave-bug-50365-Wrong-distance-results-from-kmeans-and-wrong-centers.patch ++++++
--- a/statistics-1.4.1/inst/kmeans.m
+++ b/statistics-1.4.1/inst/kmeans.m
@@ -143,9 +143,9 @@ function [classes, centers, sumd, D] = kmeans (data, k, varargin)
replicates_set_explicitly = false;
## Remove rows containing NaN / NA, but record which rows are used
- data_idx = ! any (isnan (data), 2);
+ data_idx = ! any (isnan (data), 2);
original_rows = rows (data);
- data = data(data_idx,:);
+ data = data(data_idx,:);
#used for getting the number of samples
n_rows = rows (data);
@@ -236,11 +236,14 @@ function [classes, centers, sumd, D] = kmeans (data, k, varargin)
if (isempty (k))
k = rows (start);
elseif (rows (start) != k)
- error ("kmeans: Number of initializers (%d) should match number of centroids (%d)", rows (start), k);
+ error (["kmeans: Number of initializers (%d) " ...
+ "should match number of centroids (%d)"], rows (start), k);
endif
if (replicates_set_explicitly)
if (replicates != size (start, 3))
- error ("kmeans: The third dimension of the initializer (%d) should match the number of replicates (%d)", size (start, 3), replicates);
+ error (["kmeans: The third dimension of the initializer (%d) " ...
+ "should match the number of replicates (%d)"], ...
+ size (start, 3), replicates);
endif
else
replicates = size (start, 3);
@@ -251,32 +254,32 @@ function [classes, centers, sumd, D] = kmeans (data, k, varargin)
## dist returns the distance btwn each row of matrix x and a row vector c
switch (lower (distance))
case "sqeuclidean"
- dist = @(x, c) (sumsq (bsxfun (@minus, x, c), 2));
- centroid = @(x) (mean (x,1));
+ dist = @(x, c) sumsq (bsxfun (@minus, x, c), 2);
+ centroid = @(x) mean (x, 1);
case "cityblock"
- dist = @(x, c) (sum (abs (bsxfun (@minus, x, c)), 2));
- centroid = @(x) (median (x,1));
+ dist = @(x, c) sum (abs (bsxfun (@minus, x, c)), 2);
+ centroid = @(x) median (x, 1);
case "cosine"
## Pre-normalize all data.
## (when Octave implements normr, will use data = normr (data) )
for i = 1:rows (data)
data(i,:) = data(i,:) / sqrt (sumsq (data(i,:)));
endfor
- dist = @(x, c) (1 - (x * c') ./ sqrt (sumsq (c)));
- centroid = @(x) (mean (x,1)); ## already normalized
+ dist = @(x, c) 1 - (x * c') ./ sqrt (sumsq (c));
+ centroid = @(x) mean (x, 1); ## already normalized
case "correlation"
- ## Pre-normalize all data.
+ ## Pre-normalize all data.
data = data - mean (data, 2);
- ## (when Octave implements normr, will use data = normr (data) )
+ ## (when Octave implements normr, will use data = normr (data) )
for i = 1:rows (data)
data(i,:) = data(i,:) / sqrt (sumsq (data(i,:)));
endfor
-
- dist = @(x, c) (1 - (x * (c-mean (c))') ./ sqrt (sumsq (c-mean (c))));
- centroid = @(x) (mean (x,1)); ## already normalized
+ dist = @(x, c) 1 - (x * (c - mean (c))') ...
+ ./ sqrt (sumsq (c - mean (c)));
+ centroid = @(x) mean (x, 1); ## already normalized
case "hamming"
- dist = @(x, c) (sum (bsxfun (@ne, x, c), 2));
- centroid = @(x) (median (x,1));
+ dist = @(x, c) sum (bsxfun (@ne, x, c), 2);
+ centroid = @(x) median (x, 1);
otherwise
error ("kmeans: unsupported distance parameter %s", distance);
endswitch
@@ -285,7 +288,6 @@ function [classes, centers, sumd, D] = kmeans (data, k, varargin)
########################################
## Now that k has been set (possibly by 'replicates' option), check/use it.
-
if (! isscalar (k))
error ("kmeans: second input argument must be a scalar");
endif
@@ -293,27 +295,27 @@ function [classes, centers, sumd, D] = kmeans (data, k, varargin)
## used to hold the distances from each sample to each class
D = zeros (n_rows, k);
- best = Inf;
+ best = Inf;
best_centers = [];
for rep = 1:replicates
## check for the 'start' property
switch (lower (start))
case "sample"
- idx = randperm (n_rows, k);
+ idx = randperm (n_rows, k);
centers = data(idx, :);
case "plus" # k-means++, by Arthur and Vassilios(?)
centers(1,:) = data(randi (n_rows),:);
- d = inf (n_rows, 1); # Distance to nearest centroid so far
- for i = 2:k
- d = min (d, dist (data, centers(i-1, :)));
- centers(i,:) = data(find (cumsum (d) > rand * sum (d), 1), :);
- endfor
+ d = inf (n_rows, 1); # Distance to nearest centroid so far
+ for i = 2:k
+ d = min (d, dist (data, centers(i - 1, :)));
+ centers(i,:) = data(find (cumsum (d) > rand * sum (d), 1), :);
+ endfor
case "cluster"
- idx = randperm (n_rows, max (k, ceil (n_rows/10)));
- [~, centers] = kmeans (data(idx,:), k, "start", "sample",
+ idx = randperm (n_rows, max (k, ceil (n_rows / 10)));
+ [~, centers] = kmeans (data(idx,:), k, "start", "sample", ...
"distance", distance);
case "uniform"
- # vectorised 'min_data + range .* rand'
+ # vectorised 'min_data + range .* rand'
centers = bsxfun (@plus, min_data,
bsxfun (@times, range, rand (k, columns (data))));
otherwise
@@ -323,13 +325,9 @@ function [classes, centers, sumd, D] = kmeans (data, k, varargin)
## Run the algorithm
iter = 1;
- ## Classify once before the loop; to set sumd, and if max_iter == 0
+ ## Classify once before the loop; to set sumd, and if max_iter == 0
## Compute distances and classify
- for i = 1:k
- D (:, i) = dist (data, centers(i, :));
- endfor
- [~, classes] = min (D, [], 2);
- sumd = obj_cost (D, classes);
+ [D, classes, sumd] = update_dist (data, centers, D, k, dist);
while (err > 0.001 && iter++ <= max_iter)
## Calculate new centroids
@@ -345,18 +343,18 @@ function [classes, centers, sumd, D] = kmeans (data, k, varargin)
## farthest from any centroid (and not replacing an empty cluster
## from earlier in this pass) and add it to the empty cluster
case 'singleton'
- available = setdiff(1:n_rows, replaced_centroids);
- [~, idx] = max (min (D(available,:)'));
- idx = available(idx);
+ available = setdiff (1:n_rows, replaced_centroids);
+ [~, idx] = max (min (D(available,:)'));
+ idx = available(idx);
replaced_centroids = [replaced_centroids, idx];
- classes(idx) = i;
- membership(idx)=1;
+ classes(idx) = i;
+ membership(idx) = 1;
## if 'drop' then set C and D to NA
case 'drop'
centers(i,:) = NA;
- D(i,:) = NA;
+ D(i,:) = NA;
## if 'error' then throw the error
otherwise
@@ -370,16 +368,9 @@ function [classes, centers, sumd, D] = kmeans (data, k, varargin)
endif
endfor
- ## Compute distances
- for i = 1:k
- D (:, i) = dist (data, centers(i, :));
- endfor
-
- ## Classify
- [~, classes] = min (D, [], 2);
-
+ ## Compute distances, classes and sums
+ [D, classes, new_sumd] = update_dist (data, centers, D, k, dist);
## calculate the difference in the sum of distances
- new_sumd = obj_cost (D, classes);
err = sum (sumd - new_sumd);
## update the current sum of distances
sumd = new_sumd;
@@ -390,22 +381,30 @@ function [classes, centers, sumd, D] = kmeans (data, k, varargin)
endif
endfor
centers = best_centers;
- sumd = best';
+ ## Compute final distances, classes and sums
+ [D, classes, sumd] = update_dist (data, centers, D, k, dist);
+
+ ## Return with equal size as inputs
+ if (original_rows != rows (data))
+ final = NA (original_rows,1);
+ final(data_idx) = classes; ## other positions already NaN / NA
+ classes = final;
+ endif
- final_classes = NA (original_rows,1);
- final_classes(data_idx) = classes; ## other positions already NaN / NA
- classes = final_classes;
endfunction
-## calculate the sum of within-class distances
-function obj = obj_cost (D, classes)
- obj = zeros (1,columns (D));
- for i = 1:columns (D)
- idx = (classes == i);
- obj(i) = sum (D(idx,i));
- end
+## Update distances, classes and sums
+function [D, classes, sumd] = update_dist (data, centers, D, k, dist)
+ for i = 1:k
+ D (:, i) = dist (data, centers(i, :));
+ endfor
+ [~, classes] = min (D, [], 2);
+ ## calculate the sum of within-class distances
+ sumd = zeros (k, 1);
+ for i = 1:k
+ sumd(i) = sum (D(classes == i,i));
+ endfor
endfunction
-
## Test input parsing
%!error kmeans (rand (3,2), 4);
++++++ statistics-1.4.0.tar.gz -> statistics-1.4.1.tar.gz ++++++
++++ 1623 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/DESCRIPTION new/statistics-1.4.1/DESCRIPTION
--- old/statistics-1.4.0/DESCRIPTION 2018-05-19 06:40:09.350499425 +0200
+++ new/statistics-1.4.1/DESCRIPTION 2019-03-17 14:45:17.000000000 +0100
@@ -1,6 +1,6 @@
Name: statistics
-Version: 1.4.0
-Date: 2018-05-11
+Version: 1.4.1
+Date: 2019-03-17
Author: various authors
Maintainer: Octave-Forge community <maintainers(a)octave.org>
Title: Statistics
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/Makefile new/statistics-1.4.1/Makefile
--- old/statistics-1.4.0/Makefile 2018-05-19 06:40:09.350499425 +0200
+++ new/statistics-1.4.1/Makefile 2019-03-17 14:45:17.000000000 +0100
@@ -2,11 +2,13 @@
## Copyright 2015-2016 Oliver Heimlich
## Copyright 2017 Julien Bect <jbect(a)users.sf.net>
## Copyright 2017 Olaf Till <i7tiol(a)t-online.de>
+## Copyright 2018 John Donoghue <john.donoghue(a)ieee.org>
##
## Copying and distribution of this file, with or without modification,
## are permitted in any medium without royalty provided the copyright
## notice and this notice are preserved. This file is offered as-is,
## without any warranty.
+TOPDIR := $(shell pwd)
## Some basic tools (can be overriden using environment variables)
SED ?= sed
@@ -218,8 +220,7 @@
else __run_test_suite__ (dirs, {}); endif '
octave_test_commands = \
' pkgs = pkg("list", "$(package)"); \
- cd ("$(target_dir)/"); \
- dirs = {sprintf(".installation/%s-%s", pkgs{1}.name, pkgs{1}.version)}; \
+ dirs = {pkgs{1}.dir}; \
__run_test_suite__ (dirs, {}); '
## the following works, too, but provides no overall summary output as
## __run_test_suite__ does:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/NEWS new/statistics-1.4.1/NEWS
--- old/statistics-1.4.0/NEWS 2018-05-19 06:40:09.354499405 +0200
+++ new/statistics-1.4.1/NEWS 2019-03-17 14:45:17.000000000 +0100
@@ -1,3 +1,18 @@
+Summary of important user-visible changes for statistics 1.4.1:
+-------------------------------------------------------------------
+ ** update install scripts for octave 5.0 depreciated functions
+
+ ** bug fixes to the following functions:
+ pdist2.m: use max in distEucSq (Bug #50377)
+ normpdf: use eps tolerance in tests (Bug #51963)
+ fitgmdist: fix an output bug in fitgmdist
+ t_test: Set tolerance on t_test BISTS (Bug #54557)
+ gpXXXXX: change order of inputs to match matlab (Bug #54009)
+ bartlett_test: df = k-1 (Bug #45894)
+ gppdf: apply scale factor (Bug #54009)
+ gmdistribution: updates for bug #54278, ##54279
+ wishrnd: Bug #55860
+
Summary of important user-visible changes for statistics 1.4.0:
-------------------------------------------------------------------
@@ -8,12 +23,12 @@
gmdistribution
sigma_pts
- ** The following functions have been moved from the statisctics package but are
- condtionally installed:
+ ** The following functions have been moved from the statistics package but are
+ conditionally installed:
mad
- ** The following functions have been moved from octave to be condtionally
+ ** The following functions have been moved from octave to be conditionally
installed:
BASE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/PKG_ADD new/statistics-1.4.1/PKG_ADD
--- old/statistics-1.4.0/PKG_ADD 2018-05-19 06:40:09.354499405 +0200
+++ new/statistics-1.4.1/PKG_ADD 2019-03-17 14:45:17.000000000 +0100
@@ -6,7 +6,14 @@
## - PKG_ADD (and PKG_DEL?) is run during installation, too, from the
## root directory of the package, where no such subdirectories
## exist.
-if (isdir (fullfile (fileparts (mfilename ("fullpath")), "base")))
- addpath (fullfile (fileparts (mfilename ("fullpath")),
- {"base", "distributions", "models", "tests"}){:});
+if exist ("isfolder") == 0
+ if (isdir (fullfile (fileparts (mfilename ("fullpath")), "base")))
+ addpath (fullfile (fileparts (mfilename ("fullpath")),
+ {"base", "distributions", "models", "tests"}){:});
+ endif
+else
+ if (isfolder (fullfile (fileparts (mfilename ("fullpath")), "base")))
+ addpath (fullfile (fileparts (mfilename ("fullpath")),
+ {"base", "distributions", "models", "tests"}){:});
+ endif
endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/PKG_DEL new/statistics-1.4.1/PKG_DEL
--- old/statistics-1.4.0/PKG_DEL 2018-05-19 06:40:09.354499405 +0200
+++ new/statistics-1.4.1/PKG_DEL 2019-03-17 14:45:17.000000000 +0100
@@ -6,7 +6,14 @@
## - PKG_ADD (and PKG_DEL?) is run during installation, too, from the
## root directory of the package, where no such subdirectories
## exist.
-if (isdir (fullfile (fileparts (mfilename ("fullpath")), "base")))
- rmpath (fullfile (fileparts (mfilename ("fullpath")),
+if exist ("isfolder") == 0
+ if (isdir (fullfile (fileparts (mfilename ("fullpath")), "base")))
+ rmpath (fullfile (fileparts (mfilename ("fullpath")),
{"base", "distributions", "models", "tests"}){:});
+ endif
+else
+ if (isfolder (fullfile (fileparts (mfilename ("fullpath")), "base")))
+ rmpath (fullfile (fileparts (mfilename ("fullpath")),
+ {"base", "distributions", "models", "tests"}){:});
+ endif
endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/bbscdf.m new/statistics-1.4.1/inst/bbscdf.m
--- old/statistics-1.4.0/inst/bbscdf.m 2018-05-19 06:40:09.358499386 +0200
+++ new/statistics-1.4.1/inst/bbscdf.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,3 +1,4 @@
+## Copyright (C) 2018 John Donoghue
## Copyright (C) 2016 Dag Lyberg
## Copyright (C) 1995-2015 Kurt Hornik
##
@@ -18,7 +19,7 @@
## <http://www.gnu.org/licenses/>.
## -*- texinfo -*-
-## @deftypefn {} {} bbscdf (@var{x}, @var{location}, @var{scale}, @var{shape})
+## @deftypefn {} {} bbscdf (@var{x}, @var{shape}, @var{scale}, @var{location})
## For each element of @var{x}, compute the cumulative distribution function
## (CDF) at @var{x} of the Birnbaum-Saunders distribution with parameters
## @var{location}, @var{scale} and @var{shape}.
@@ -27,7 +28,7 @@
## Author: Dag Lyberg <daglyberg80(a)gmail.com>
## Description: CDF of the Birnbaum-Saunders distribution
-function cdf = bbscdf (x, location, scale, shape)
+function cdf = bbscdf (x, shape, scale, location)
if (nargin != 4)
print_usage ();
@@ -74,21 +75,21 @@
%!shared x,y
%! x = [-1, 0, 1, 2, Inf];
%! y = [0, 0, 1/2, 0.76024993890652337, 1];
-%!assert (bbscdf (x, zeros (1,5), ones (1,5), ones (1,5)), y, eps)
-%!assert (bbscdf (x, zeros (1,5), 1, 1), y, eps)
-%!assert (bbscdf (x, 0, ones (1,5), 1), y, eps)
-%!assert (bbscdf (x, 0, 1, ones (1,5)), y, eps)
-%!assert (bbscdf (x, 0, 1, 1), y, eps)
-%!assert (bbscdf (x, [0, 0, NaN, 0, 0], 1, 1), [y(1:2), NaN, y(4:5)], eps)
-%!assert (bbscdf (x, 0, [1, 1, NaN, 1, 1], 1), [y(1:2), NaN, y(4:5)], eps)
-%!assert (bbscdf (x, 0, 1, [1, 1, NaN, 1, 1]), [y(1:2), NaN, y(4:5)], eps)
-%!assert (bbscdf ([x, NaN], 0, 1, 1), [y, NaN], eps)
+%!assert (bbscdf (x, ones (1,5), ones (1,5), zeros (1,5)), y, eps)
+%!assert (bbscdf (x, 1, 1, zeros (1,5)), y, eps)
+%!assert (bbscdf (x, 1, ones (1,5), 0), y, eps)
+%!assert (bbscdf (x, ones (1,5), 1, 0), y, eps)
+%!assert (bbscdf (x, 1, 1, 0), y, eps)
+%!assert (bbscdf (x, 1, 1, [0, 0, NaN, 0, 0]), [y(1:2), NaN, y(4:5)], eps)
+%!assert (bbscdf (x, 1, [1, 1, NaN, 1, 1], 0), [y(1:2), NaN, y(4:5)], eps)
+%!assert (bbscdf (x, [1, 1, NaN, 1, 1], 1, 0), [y(1:2), NaN, y(4:5)], eps)
+%!assert (bbscdf ([x, NaN], 1, 1, 0), [y, NaN], eps)
## Test class of input preserved
-%!assert (bbscdf (single ([x, NaN]), 0, 1, 1), single ([y, NaN]), eps('single'))
-%!assert (bbscdf ([x, NaN], single (0), 1, 1), single ([y, NaN]), eps('single'))
-%!assert (bbscdf ([x, NaN], 0, single (1), 1), single ([y, NaN]), eps('single'))
-%!assert (bbscdf ([x, NaN], 0, 1, single (1)), single ([y, NaN]), eps('single'))
+%!assert (bbscdf (single ([x, NaN]), 1, 1, 0), single ([y, NaN]), eps('single'))
+%!assert (bbscdf ([x, NaN], 1, 1, single (0)), single ([y, NaN]), eps('single'))
+%!assert (bbscdf ([x, NaN], 1, single (1), 0), single ([y, NaN]), eps('single'))
+%!assert (bbscdf ([x, NaN], single (1), 1, 0), single ([y, NaN]), eps('single'))
## Test input validation
%!error bbscdf ()
@@ -99,8 +100,8 @@
%!error bbscdf (ones (2), ones (3), ones(2), ones(2))
%!error bbscdf (ones (2), ones (2), ones(3), ones(2))
%!error bbscdf (ones (2), ones (2), ones(2), ones(3))
-%!error bbscdf (i, 2, 3, 4)
-%!error bbscdf (1, i, 3, 4)
-%!error bbscdf (1, 2, i, 4)
-%!error bbscdf (1, 2, 3, i)
+%!error bbscdf (i, 4, 3, 2)
+%!error bbscdf (1, i, 3, 2)
+%!error bbscdf (1, 4, i, 2)
+%!error bbscdf (1, 4, 3, i)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/bbsinv.m new/statistics-1.4.1/inst/bbsinv.m
--- old/statistics-1.4.0/inst/bbsinv.m 2018-05-19 06:40:09.358499386 +0200
+++ new/statistics-1.4.1/inst/bbsinv.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,3 +1,4 @@
+## Copyright (C) 2018 John Donoghue
## Copyright (C) 2016 Dag Lyberg
## Copyright (C) 1995-2015 Kurt Hornik
##
@@ -18,7 +19,7 @@
## <http://www.gnu.org/licenses/>.
## -*- texinfo -*-
-## @deftypefn {} {} bbsinv (@var{x}, @var{location}, @var{scale}, @var{shape})
+## @deftypefn {} {} bbsinv (@var{x}, @var{shape}, @var{scale}, @var{location})
## For each element of @var{x}, compute the quantile (the inverse of the CDF)
## at @var{x} of the Birnbaum-Saunders distribution with parameters
## @var{location}, @var{scale}, and @var{shape}.
@@ -27,7 +28,7 @@
## Author: Dag Lyberg <daglyberg80(a)gmail.com>
## Description: Quantile function of the Birnbaum-Saunders distribution
-function inv = bbsinv (x, location, scale, shape)
+function inv = bbsinv (x, shape, scale, location)
if (nargin != 4)
print_usage ();
@@ -82,21 +83,21 @@
%! f = @(x,a,b,c) (a + b * (c * norminv (x) + sqrt (4 + (c * norminv(x))^2))^2) / 4;
%! x = [-1, 0, 1/4, 1/2, 1, 2];
%! y = [0, 0, f(1/4, 0, 1, 1), 1, Inf, NaN];
-%!assert (bbsinv (x, zeros (1,6), ones (1,6), ones (1,6)), y)
-%!assert (bbsinv (x, zeros (1,6), 1, 1), y)
-%!assert (bbsinv (x, 0, ones (1,6), 1), y)
-%!assert (bbsinv (x, 0, 1, ones (1,6)), y)
-%!assert (bbsinv (x, 0, 1, 1), y)
-%!assert (bbsinv (x, [0, 0, 0, NaN, 0, 0], 1, 1), [y(1:3), NaN, y(5:6)])
-%!assert (bbsinv (x, 0, [1, 1, 1, NaN, 1, 1], 1), [y(1:3), NaN, y(5:6)])
-%!assert (bbsinv (x, 0, 1, [1, 1, 1, NaN, 1, 1]), [y(1:3), NaN, y(5:6)])
-%!assert (bbsinv ([x, NaN], 0, 1, 1), [y, NaN])
+%!assert (bbsinv (x, ones (1,6), ones (1,6), zeros (1,6)), y)
+%!assert (bbsinv (x, 1, 1, zeros (1,6)), y)
+%!assert (bbsinv (x, 1, ones (1,6), 0), y)
+%!assert (bbsinv (x, ones (1,6), 1, 0), y)
+%!assert (bbsinv (x, 1, 1, 0), y)
+%!assert (bbsinv (x, 1, 1, [0, 0, 0, NaN, 0, 0]), [y(1:3), NaN, y(5:6)])
+%!assert (bbsinv (x, 1, [1, 1, 1, NaN, 1, 1], 0), [y(1:3), NaN, y(5:6)])
+%!assert (bbsinv (x, [1, 1, 1, NaN, 1, 1], 1, 0), [y(1:3), NaN, y(5:6)])
+%!assert (bbsinv ([x, NaN], 1, 1, 0), [y, NaN])
## Test class of input preserved
-%!assert (bbsinv (single ([x, NaN]), 0, 1, 1), single ([y, NaN]))
-%!assert (bbsinv ([x, NaN], single (0), 1, 1), single ([y, NaN]))
-%!assert (bbsinv ([x, NaN], 0, single (1), 1), single ([y, NaN]))
-%!assert (bbsinv ([x, NaN], 0, 1, single (1)), single ([y, NaN]))
+%!assert (bbsinv (single ([x, NaN]), 1, 1, 0), single ([y, NaN]))
+%!assert (bbsinv ([x, NaN], 1, 1, single (0)), single ([y, NaN]))
+%!assert (bbsinv ([x, NaN], 1, single (1), 0), single ([y, NaN]))
+%!assert (bbsinv ([x, NaN], single (1), 1, 0), single ([y, NaN]))
## Test input validation
%!error bbsinv ()
@@ -107,8 +108,8 @@
%!error bbsinv (ones (2), ones (3), ones(2), ones(2))
%!error bbsinv (ones (2), ones (2), ones(3), ones(2))
%!error bbsinv (ones (2), ones (2), ones(2), ones(3))
-%!error bbsinv (i, 2, 3, 4)
-%!error bbsinv (1, i, 3, 4)
-%!error bbsinv (1, 2, i, 4)
-%!error bbsinv (1, 2, 3, i)
+%!error bbsinv (i, 4, 3, 2)
+%!error bbsinv (1, i, 3, 2)
+%!error bbsinv (1, 4, i, 2)
+%!error bbsinv (1, 4, 3, i)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/bbspdf.m new/statistics-1.4.1/inst/bbspdf.m
--- old/statistics-1.4.0/inst/bbspdf.m 2018-05-19 06:40:09.358499386 +0200
+++ new/statistics-1.4.1/inst/bbspdf.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,3 +1,4 @@
+## Copyright (C) 2018 John Donoghue
## Copyright (C) 2016 Dag Lyberg
## Copyright (C) 1995-2015 Kurt Hornik
##
@@ -18,7 +19,7 @@
## <http://www.gnu.org/licenses/>.
## -*- texinfo -*-
-## @deftypefn {} {} bbspdf (@var{x}, @var{location}, @var{scale}, @var{shape})
+## @deftypefn {} {} bbspdf (@var{x}, @var{shape}, @var{scale}, @var{location})
## For each element of @var{x}, compute the probability density function (PDF)
## at @var{x} of the Birnbaum-Saunders distribution with parameters
## @var{location}, @var{scale} and @var{shape}.
@@ -27,7 +28,7 @@
## Author: Dag Lyberg <daglyberg80(a)gmail.com>
## Description: PDF of the Birnbaum-Saunders distribution
-function pdf = bbspdf (x, location, scale, shape)
+function pdf = bbspdf (x, shape, scale, location)
if (nargin != 4)
print_usage ();
@@ -80,21 +81,21 @@
%!shared x,y
%! x = [-1, 0, 1, 2, Inf];
%! y = [0, 0, 0.3989422804014327, 0.1647717335503959, 0];
-%!assert (bbspdf (x, zeros (1,5), ones (1,5), ones (1,5)), y, eps)
-%!assert (bbspdf (x, zeros (1,5), 1, 1), y, eps)
-%!assert (bbspdf (x, 0, ones (1,5), 1), y, eps)
-%!assert (bbspdf (x, 0, 1, ones (1,5)), y, eps)
-%!assert (bbspdf (x, 0, 1, 1), y, eps)
-%!assert (bbspdf (x, [0, 0, NaN, 0, 0], 1, 1), [y(1:2), NaN, y(4:5)], eps)
-%!assert (bbspdf (x, 0, [1, 1, NaN, 1, 1], 1), [y(1:2), NaN, y(4:5)], eps)
-%!assert (bbspdf (x, 0, 1, [1, 1, NaN, 1, 1]), [y(1:2), NaN, y(4:5)], eps)
-%!assert (bbspdf ([x, NaN], 0, 1, 1), [y, NaN], eps)
+%!assert (bbspdf (x, ones (1,5), ones (1,5), zeros (1,5)), y, eps)
+%!assert (bbspdf (x, 1, 1, zeros (1,5)), y, eps)
+%!assert (bbspdf (x, 1, ones (1,5), 0), y, eps)
+%!assert (bbspdf (x, ones (1,5), 1, 0), y, eps)
+%!assert (bbspdf (x, 1, 1, 0), y, eps)
+%!assert (bbspdf (x, 1, 1, [0, 0, NaN, 0, 0]), [y(1:2), NaN, y(4:5)], eps)
+%!assert (bbspdf (x, 1, [1, 1, NaN, 1, 1], 0), [y(1:2), NaN, y(4:5)], eps)
+%!assert (bbspdf (x, [1, 1, NaN, 1, 1], 1, 0), [y(1:2), NaN, y(4:5)], eps)
+%!assert (bbspdf ([x, NaN], 1, 1, 0), [y, NaN], eps)
## Test class of input preserved
-%!assert (bbspdf (single ([x, NaN]), 0, 1, 1), single ([y, NaN]), eps('single'))
-%!assert (bbspdf ([x, NaN], single (0), 1, 1), single ([y, NaN]), eps('single'))
-%!assert (bbspdf ([x, NaN], 0, single (1), 1), single ([y, NaN]), eps('single'))
-%!assert (bbspdf ([x, NaN], 0, 1, single (1)), single ([y, NaN]), eps('single'))
+%!assert (bbspdf (single ([x, NaN]), 1, 1, 0), single ([y, NaN]), eps('single'))
+%!assert (bbspdf ([x, NaN], 1, 1, single (0)), single ([y, NaN]), eps('single'))
+%!assert (bbspdf ([x, NaN], 1, single (1), 0), single ([y, NaN]), eps('single'))
+%!assert (bbspdf ([x, NaN], single (1), 1, 0), single ([y, NaN]), eps('single'))
## Test input validation
%!error bbspdf ()
@@ -105,8 +106,8 @@
%!error bbspdf (ones (2), ones (3), ones(2), ones(2))
%!error bbspdf (ones (2), ones (2), ones(3), ones(2))
%!error bbspdf (ones (2), ones (2), ones(2), ones(3))
-%!error bbspdf (i, 2, 3, 4)
-%!error bbspdf (1, i, 3, 4)
-%!error bbspdf (1, 2, i, 4)
-%!error bbspdf (1, 2, 3, i)
+%!error bbspdf (i, 4, 3, 2)
+%!error bbspdf (1, i, 3, 2)
+%!error bbspdf (1, 4, i, 2)
+%!error bbspdf (1, 4, 3, i)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/bbsrnd.m new/statistics-1.4.1/inst/bbsrnd.m
--- old/statistics-1.4.0/inst/bbsrnd.m 2018-05-19 06:40:09.358499386 +0200
+++ new/statistics-1.4.1/inst/bbsrnd.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,3 +1,4 @@
+## Copyright (C) 2018 John Donoghue
## Copyright (C) 2016 Dag Lyberg
## Copyright (C) 1995-2015 Kurt Hornik
##
@@ -18,10 +19,10 @@
## <http://www.gnu.org/licenses/>.
## -*- texinfo -*-
-## @deftypefn {} {} bbsrnd (@var{location}, @var{scale}, @var{shape})
-## @deftypefnx {} {} bbsrnd (@var{location}, @var{scale}, @var{shape}, @var{r})
-## @deftypefnx {} {} bbsrnd (@var{location}, @var{scale}, @var{shape}, @var{r}, @var{c}, @dots{})
-## @deftypefnx {} {} bbsrnd (@var{location}, @var{scale}, @var{shape}, [@var{sz}])
+## @deftypefn {} {} bbsrnd (@var{shape}, @var{scale}, @var{location})
+## @deftypefnx {} {} bbsrnd (@var{shape}, @var{scale}, @var{location}, @var{r})
+## @deftypefnx {} {} bbsrnd (@var{shape}, @var{scale}, @var{location}, @var{r}, @var{c}, @dots{})
+## @deftypefnx {} {} bbsrnd (@var{shape}, @var{scale}, @var{location}, [@var{sz}])
## Return a matrix of random samples from the Birnbaum-Saunders
## distribution with parameters @var{location}, @var{scale} and @var{shape}.
##
@@ -38,7 +39,7 @@
## Author: Dag Lyberg <daglyberg80(a)gmail.com>
## Description: Random deviates from the Birnbaum-Saunders distribution
-function rnd = bbsrnd (location, scale, shape, varargin)
+function rnd = bbsrnd (shape, scale, location, varargin)
if (nargin < 3)
print_usage ();
@@ -105,25 +106,25 @@
endfunction
-%!assert (size (bbsrnd (0, 1, 1)), [1 1])
-%!assert (size (bbsrnd (zeros (2,1), 1, 1)), [2, 1])
-%!assert (size (bbsrnd (zeros (2,2), 1, 1)), [2, 2])
-%!assert (size (bbsrnd (0, ones (2,1), 1)), [2, 1])
-%!assert (size (bbsrnd (0, ones (2,2), 1)), [2, 2])
-%!assert (size (bbsrnd (0, 1, ones (2,1))), [2, 1])
-%!assert (size (bbsrnd (0, 1, ones (2,2))), [2, 2])
-%!assert (size (bbsrnd (0, 1, 1, 3)), [3, 3])
-%!assert (size (bbsrnd (0, 1, 1, [4 1])), [4, 1])
-%!assert (size (bbsrnd (0, 1, 1, 4, 1)), [4, 1])
+%!assert (size (bbsrnd (1, 1, 0)), [1 1])
+%!assert (size (bbsrnd (1, 1, zeros (2,1))), [2, 1])
+%!assert (size (bbsrnd (1, 1, zeros (2,2))), [2, 2])
+%!assert (size (bbsrnd (1, ones (2,1), 0)), [2, 1])
+%!assert (size (bbsrnd (1, ones (2,2), 0)), [2, 2])
+%!assert (size (bbsrnd (ones (2,1), 1, 0)), [2, 1])
+%!assert (size (bbsrnd (ones (2,2), 1, 0)), [2, 2])
+%!assert (size (bbsrnd (1, 1, 0, 3)), [3, 3])
+%!assert (size (bbsrnd (1, 1, 0, [4 1])), [4, 1])
+%!assert (size (bbsrnd (1, 1, 0, 4, 1)), [4, 1])
## Test class of input preserved
-%!assert (class (bbsrnd (0,1,1)), "double")
-%!assert (class (bbsrnd (single (0),1,1)), "single")
-%!assert (class (bbsrnd (single ([0 0]),1,1)), "single")
-%!assert (class (bbsrnd (0,single (1),1)), "single")
-%!assert (class (bbsrnd (0,single ([1 1]),1)), "single")
-%!assert (class (bbsrnd (0,1,single (1))), "single")
-%!assert (class (bbsrnd (0,1,single ([1 1]))), "single")
+%!assert (class (bbsrnd (1,1,0)), "double")
+%!assert (class (bbsrnd (1, 1, single (0))), "single")
+%!assert (class (bbsrnd (1, 1, single ([0 0]))), "single")
+%!assert (class (bbsrnd (1, single (1), 0)), "single")
+%!assert (class (bbsrnd (1, single ([1 1]), 0)), "single")
+%!assert (class (bbsrnd (single (1), 1, 0)), "single")
+%!assert (class (bbsrnd (single ([1 1]), 1, 0)), "single")
## Test input validation
%!error bbsrnd ()
@@ -138,7 +139,7 @@
%!error bbsrnd (1,2,3, -1)
%!error bbsrnd (1,2,3, ones (2))
%!error bbsrnd (1,2,3, [2 -1 2])
-%!error bbsrnd (ones (2),1,2, 3)
-%!error bbsrnd (ones (2),1,2, [3, 2])
-%!error bbsrnd (ones (2),1,2, 3, 2)
+%!error bbsrnd (2, 1, ones (2), 3)
+%!error bbsrnd (2, 1, ones (2), [3, 2])
+%!error bbsrnd (2, 1, ones (2), 3, 2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/fitgmdist.m new/statistics-1.4.1/inst/fitgmdist.m
--- old/statistics-1.4.0/inst/fitgmdist.m 2018-05-19 06:40:09.370499328 +0200
+++ new/statistics-1.4.1/inst/fitgmdist.m 2019-03-17 14:45:17.000000000 +0100
@@ -511,7 +511,7 @@
obj = gmdistribution (best_params.mu, best_params.Sigma, best_params.p');
if (Display == 1)
fprintf (" %d iterations log-likelihood = %g\n", ...
- -extra.NegativeLogLikelihood, extra.NumIterations);
+ extra.NumIterations, -extra.NegativeLogLikelihood);
endif
endfunction
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/gmdistribution.m new/statistics-1.4.1/inst/gmdistribution.m
--- old/statistics-1.4.0/inst/gmdistribution.m 2018-05-19 06:40:09.374499307 +0200
+++ new/statistics-1.4.1/inst/gmdistribution.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,4 +1,5 @@
## Copyright (C) 2015 Lachlan Andrew <lachlanbis(a)gmail.com>
+## Copyright (C) 2018 John Donoghue <john.donoghue(a)ieee.org>
##
## This program is free software; you can redistribute it and/or modify it under
## the terms of the GNU General Public License as published by the Free Software
@@ -229,8 +230,11 @@
########################################
## Random numbers from Gaussian mixture distribution
function c = random (obj,n)
+ if nargin == 1
+ n = 1;
+ endif
c = zeros (n, obj.NumVariables);
- classes = randsample (obj.NumVariables, n, true, obj.ComponentProportion);
+ classes = randsample (obj.NumComponents, n, true, obj.ComponentProportion);
if (obj.SharedCovariance)
if (obj.DiagonalCovariance)
sig = diag (obj.Sigma);
@@ -262,7 +266,7 @@
methods (Static)
## Gaussian mixture parameter estimates
function c = fit (X,k,varargin)
- c = fitgmdist (X,k,varargin);
+ c = fitgmdist (X,k,varargin{:});
endfunction
endmethods
@@ -338,4 +342,7 @@
%!
%! R = GM.random(20);
%! assert (size(R), [20, 2]);
+%!
+%! R = GM.random();
+%! assert (size(R), [1, 2]);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/gpcdf.m new/statistics-1.4.1/inst/gpcdf.m
--- old/statistics-1.4.0/inst/gpcdf.m 2018-05-19 06:40:09.374499307 +0200
+++ new/statistics-1.4.1/inst/gpcdf.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,3 +1,4 @@
+## Copyright (C) 2018 John Donoghue
## Copyright (C) 2016 Dag Lyberg
## Copyright (C) 1997-2015 Kurt Hornik
##
@@ -18,7 +19,7 @@
## <http://www.gnu.org/licenses/>.
## -*- texinfo -*-
-## @deftypefn {} {} gpcdf (@var{x}, @var{location}, @var{scale}, @var{shape})
+## @deftypefn {} {} gpcdf (@var{x}, @var{shape}, @var{scale}, @var{location})
## Compute the cumulative distribution function (CDF) at @var{x} of the
## generalized Pareto distribution with parameters @var{location}, @var{scale},
## and @var{shape}.
@@ -27,7 +28,7 @@
## Author: Dag Lyberg <daglyberg80(a)gmail.com>
## Description: PDF of the generalized Pareto distribution
-function cdf = gpcdf (x, location, scale, shape)
+function cdf = gpcdf (x, shape, scale, location)
if (nargin != 4)
print_usage ();
@@ -113,50 +114,50 @@
%! y3 = [0, 0, 0, 1/2, 1, 1];
%! seps = eps('single')*5;
%!assert (gpcdf (x, zeros (1,6), ones (1,6), zeros (1,6)), y1, eps)
-%!assert (gpcdf (x, zeros (1,6), 1, 0), y1, eps)
-%!assert (gpcdf (x, 0, ones (1,6), 0), y1, eps)
%!assert (gpcdf (x, 0, 1, zeros (1,6)), y1, eps)
+%!assert (gpcdf (x, 0, ones (1,6), 0), y1, eps)
+%!assert (gpcdf (x, zeros (1,6), 1, 0), y1, eps)
%!assert (gpcdf (x, 0, 1, 0), y1, eps)
-%!assert (gpcdf (x, [0, 0, 0, NaN, 0, 0], 1, 0), [y1(1:3), NaN, y1(5:6)], eps)
-%!assert (gpcdf (x, 0, [1, 1, 1, NaN, 1, 1], 0), [y1(1:3), NaN, y1(5:6)], eps)
%!assert (gpcdf (x, 0, 1, [0, 0, 0, NaN, 0, 0]), [y1(1:3), NaN, y1(5:6)], eps)
+%!assert (gpcdf (x, 0, [1, 1, 1, NaN, 1, 1], 0), [y1(1:3), NaN, y1(5:6)], eps)
+%!assert (gpcdf (x, [0, 0, 0, NaN, 0, 0], 1, 0), [y1(1:3), NaN, y1(5:6)], eps)
%!assert (gpcdf ([x(1:3), NaN, x(5:6)], 0, 1, 0), [y1(1:3), NaN, y1(5:6)], eps)
-%!assert (gpcdf (x, zeros (1,6), ones (1,6), ones (1,6)), y2, eps)
-%!assert (gpcdf (x, zeros (1,6), 1, 1), y2, eps)
-%!assert (gpcdf (x, 0, ones (1,6), 1), y2, eps)
-%!assert (gpcdf (x, 0, 1, ones (1,6)), y2, eps)
-%!assert (gpcdf (x, 0, 1, 1), y2, eps)
-%!assert (gpcdf (x, [0, 0, 0, NaN, 0, 0], 1, 1), [y2(1:3), NaN, y2(5:6)], eps)
-%!assert (gpcdf (x, 0, [1, 1, 1, NaN, 1, 1], 1), [y2(1:3), NaN, y2(5:6)], eps)
-%!assert (gpcdf (x, 0, 1, [1, 1, 1, NaN, 1, 1]), [y2(1:3), NaN, y2(5:6)], eps)
-%!assert (gpcdf ([x(1:3), NaN, x(5:6)], 0, 1, 1), [y2(1:3), NaN, y2(5:6)], eps)
-
-%!assert (gpcdf (x, zeros (1,6), ones (1,6), -ones (1,6)), y3, eps)
-%!assert (gpcdf (x, zeros (1,6), 1, -1), y3, eps)
-%!assert (gpcdf (x, 0, ones (1,6), -1), y3, eps)
-%!assert (gpcdf (x, 0, 1, -ones (1,6)), y3, eps)
-%!assert (gpcdf (x, 0, 1, -1), y3, eps)
-%!assert (gpcdf (x, [0, 0, 0, NaN, 0, 0], 1, -1), [y1(1:3), NaN, y3(5:6)], eps)
-%!assert (gpcdf (x, 0, [1, 1, 1, NaN, 1, 1], -1), [y1(1:3), NaN, y3(5:6)], eps)
-%!assert (gpcdf (x, 0, 1, [-1, -1, -1, NaN, -1, -1]), [y1(1:3), NaN, y3(5:6)], eps)
-%!assert (gpcdf ([x(1:3), NaN, x(5:6)], 0, 1, -1), [y1(1:3), NaN, y3(5:6)], eps)
+%!assert (gpcdf (x, ones (1,6), ones (1,6), zeros (1,6)), y2, eps)
+%!assert (gpcdf (x, 1, 1, zeros (1,6)), y2, eps)
+%!assert (gpcdf (x, 1, ones (1,6), 0), y2, eps)
+%!assert (gpcdf (x, ones (1,6), 1, 0), y2, eps)
+%!assert (gpcdf (x, 1, 1, 0), y2, eps)
+%!assert (gpcdf (x, 1, 1, [0, 0, 0, NaN, 0, 0]), [y2(1:3), NaN, y2(5:6)], eps)
+%!assert (gpcdf (x, 1, [1, 1, 1, NaN, 1, 1], 0), [y2(1:3), NaN, y2(5:6)], eps)
+%!assert (gpcdf (x, [1, 1, 1, NaN, 1, 1], 1, 0), [y2(1:3), NaN, y2(5:6)], eps)
+%!assert (gpcdf ([x(1:3), NaN, x(5:6)], 1, 1, 0), [y2(1:3), NaN, y2(5:6)], eps)
+
+%!assert (gpcdf (x, -ones (1,6), ones (1,6), zeros (1,6)), y3, eps)
+%!assert (gpcdf (x, -1, 1, zeros (1,6)), y3, eps)
+%!assert (gpcdf (x, -1, ones (1,6), 0), y3, eps)
+%!assert (gpcdf (x, -ones (1,6), 1, 0), y3, eps)
+%!assert (gpcdf (x, -1, 1, 0), y3, eps)
+%!assert (gpcdf (x, -1, 1, [0, 0, 0, NaN, 0, 0]), [y1(1:3), NaN, y3(5:6)], eps)
+%!assert (gpcdf (x, -1, [1, 1, 1, NaN, 1, 1], 0), [y1(1:3), NaN, y3(5:6)], eps)
+%!assert (gpcdf (x, [-1, -1, -1, NaN, -1, -1], 1, 0), [y1(1:3), NaN, y3(5:6)], eps)
+%!assert (gpcdf ([x(1:3), NaN, x(5:6)], -1, 1, 0), [y1(1:3), NaN, y3(5:6)], eps)
## Test class of input preserved
%!assert (gpcdf (single ([x, NaN]), 0, 1, 0), single ([y1, NaN]), eps('single'))
-%!assert (gpcdf ([x, NaN], single (0), 1, 0), single ([y1, NaN]), eps('single'))
-%!assert (gpcdf ([x, NaN], 0, single (1), 0), single ([y1, NaN]), eps('single'))
%!assert (gpcdf ([x, NaN], 0, 1, single (0)), single ([y1, NaN]), eps('single'))
+%!assert (gpcdf ([x, NaN], 0, single (1), 0), single ([y1, NaN]), eps('single'))
+%!assert (gpcdf ([x, NaN], single (0), 1, 0), single ([y1, NaN]), eps('single'))
-%!assert (gpcdf (single ([x, NaN]), 0, 1, 1), single ([y2, NaN]), eps('single'))
-%!assert (gpcdf ([x, NaN], single (0), 1, 1), single ([y2, NaN]), eps('single'))
-%!assert (gpcdf ([x, NaN], 0, single (1), 1), single ([y2, NaN]), eps('single'))
-%!assert (gpcdf ([x, NaN], 0, 1, single (1)), single ([y2, NaN]), eps('single'))
-
-%!assert (gpcdf (single ([x, NaN]), 0, 1, -1), single ([y3, NaN]), eps('single'))
-%!assert (gpcdf ([x, NaN], single (0), 1, -1), single ([y3, NaN]), eps('single'))
-%!assert (gpcdf ([x, NaN], 0, single (1), -1), single ([y3, NaN]), eps('single'))
-%!assert (gpcdf ([x, NaN], 0, 1, single (-1)), single ([y3, NaN]), eps('single'))
+%!assert (gpcdf (single ([x, NaN]), 1, 1, 0), single ([y2, NaN]), eps('single'))
+%!assert (gpcdf ([x, NaN], 1, 1, single (0)), single ([y2, NaN]), eps('single'))
+%!assert (gpcdf ([x, NaN], 1, single (1), 0), single ([y2, NaN]), eps('single'))
+%!assert (gpcdf ([x, NaN], single (1), 1, 0), single ([y2, NaN]), eps('single'))
+
+%!assert (gpcdf (single ([x, NaN]), -1, 1, 0), single ([y3, NaN]), eps('single'))
+%!assert (gpcdf ([x, NaN], -1, 1, single (0)), single ([y3, NaN]), eps('single'))
+%!assert (gpcdf ([x, NaN], -1, single (1), 0), single ([y3, NaN]), eps('single'))
+%!assert (gpcdf ([x, NaN], single (-1), 1, 0), single ([y3, NaN]), eps('single'))
## Test input validation
%!error gpcdf ()
@@ -165,9 +166,9 @@
%!error gpcdf (1,2,3)
%!error gpcdf (1,2,3,4,5)
%!error gpcdf (ones (3), ones (2), ones (2), ones (2))
-%!error gpcdf (ones (2), ones (3), ones (2), ones (2))
-%!error gpcdf (ones (2), ones (2), ones (3), ones (2))
%!error gpcdf (ones (2), ones (2), ones (2), ones (3))
+%!error gpcdf (ones (2), ones (2), ones (3), ones (2))
+%!error gpcdf (ones (2), ones (3), ones (2), ones (2))
%!error gpcdf (i, 2, 2, 2)
%!error gpcdf (2, i, 2, 2)
%!error gpcdf (2, 2, i, 2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/gpinv.m new/statistics-1.4.1/inst/gpinv.m
--- old/statistics-1.4.0/inst/gpinv.m 2018-05-19 06:40:09.374499307 +0200
+++ new/statistics-1.4.1/inst/gpinv.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,3 +1,4 @@
+## Copyright (C) 2018 John Donoghue
## Copyright (C) 2016 Dag Lyberg
## Copyright (C) 1997-2015 Kurt Hornik
##
@@ -18,7 +19,7 @@
## <http://www.gnu.org/licenses/>.
## -*- texinfo -*-
-## @deftypefn {} {} gpinv (@var{x}, @var{location}, @var{scale}, @var{shape})
+## @deftypefn {} {} gpinv (@var{x}, @var{shape}, @var{scale}, @var{location})
## For each element of @var{x}, compute the quantile (the inverse of the CDF)
## at @var{x} of the generalized Pareto distribution with parameters
## @var{location}, @var{scale}, and @var{shape}.
@@ -27,7 +28,7 @@
## Author: Dag Lyberg <daglyberg80(a)gmail.com>
## Description: Quantile function of the generalized Pareto distribution
-function inv = gpinv (x, location, scale, shape)
+function inv = gpinv (x, shape, scale, location)
if (nargin != 4)
print_usage ();
endif
@@ -99,50 +100,50 @@
%! y2 = [NaN, 0, 1, Inf, NaN];
%! y3 = [NaN, 0, 1/2, 1, NaN];
%!assert (gpinv (x, zeros (1,5), ones (1,5), zeros (1,5)), y1)
-%!assert (gpinv (x, zeros (1,5), 1, 0), y1)
-%!assert (gpinv (x, 0, ones (1,5), 0), y1)
%!assert (gpinv (x, 0, 1, zeros (1,5)), y1)
+%!assert (gpinv (x, 0, ones (1,5), 0), y1)
+%!assert (gpinv (x, zeros (1,5), 1, 0), y1)
%!assert (gpinv (x, 0, 1, 0), y1)
-%!assert (gpinv (x, [0, 0, NaN, 0, 0], 1, 0), [y1(1:2), NaN, y1(4:5)])
-%!assert (gpinv (x, 0, [1, 1, NaN, 1, 1], 0), [y1(1:2), NaN, y1(4:5)])
%!assert (gpinv (x, 0, 1, [0, 0, NaN, 0, 0]), [y1(1:2), NaN, y1(4:5)])
+%!assert (gpinv (x, 0, [1, 1, NaN, 1, 1], 0), [y1(1:2), NaN, y1(4:5)])
+%!assert (gpinv (x, [0, 0, NaN, 0, 0], 1, 0), [y1(1:2), NaN, y1(4:5)])
%!assert (gpinv ([x(1:2), NaN, x(4:5)], 0, 1, 0), [y1(1:2), NaN, y1(4:5)])
-%!assert (gpinv (x, zeros (1,5), ones (1,5), ones (1,5)), y2)
-%!assert (gpinv (x, zeros (1,5), 1, 1), y2)
-%!assert (gpinv (x, 0, ones (1,5), 1), y2)
-%!assert (gpinv (x, 0, 1, ones (1,5)), y2)
-%!assert (gpinv (x, 0, 1, 1), y2)
-%!assert (gpinv (x, [0, 0, NaN, 0, 0], 1, 1), [y2(1:2), NaN, y2(4:5)])
-%!assert (gpinv (x, 0, [1, 1, NaN, 1, 1], 1), [y2(1:2), NaN, y2(4:5)])
-%!assert (gpinv (x, 0, 1, [1, 1, NaN, 1, 1]), [y2(1:2), NaN, y2(4:5)])
-%!assert (gpinv ([x(1:2), NaN, x(4:5)], 0, 1, 1), [y2(1:2), NaN, y2(4:5)])
-
-%!assert (gpinv (x, zeros (1,5), ones (1,5), -ones (1,5)), y3)
-%!assert (gpinv (x, zeros (1,5), 1, -1), y3)
-%!assert (gpinv (x, 0, ones (1,5), -1), y3)
-%!assert (gpinv (x, 0, 1, -ones (1,5)), y3)
-%!assert (gpinv (x, 0, 1, -1), y3)
-%!assert (gpinv (x, [0, 0, NaN, 0, 0], 1, -1), [y3(1:2), NaN, y3(4:5)])
-%!assert (gpinv (x, 0, [1, 1, NaN, 1, 1], -1), [y3(1:2), NaN, y3(4:5)])
-%!assert (gpinv (x, 0, 1, -[1, 1, NaN, 1, 1]), [y3(1:2), NaN, y3(4:5)])
-%!assert (gpinv ([x(1:2), NaN, x(4:5)], 0, 1, -1), [y3(1:2), NaN, y3(4:5)])
+%!assert (gpinv (x, ones (1,5), ones (1,5), zeros (1,5)), y2)
+%!assert (gpinv (x, 1, 1, zeros (1,5)), y2)
+%!assert (gpinv (x, 1, ones (1,5), 0), y2)
+%!assert (gpinv (x, ones (1,5), 1, 0), y2)
+%!assert (gpinv (x, 1, 1, 0), y2)
+%!assert (gpinv (x, 1, 1, [0, 0, NaN, 0, 0]), [y2(1:2), NaN, y2(4:5)])
+%!assert (gpinv (x, 1, [1, 1, NaN, 1, 1], 0), [y2(1:2), NaN, y2(4:5)])
+%!assert (gpinv (x, [1, 1, NaN, 1, 1], 1, 0), [y2(1:2), NaN, y2(4:5)])
+%!assert (gpinv ([x(1:2), NaN, x(4:5)], 1, 1, 0), [y2(1:2), NaN, y2(4:5)])
+
+%!assert (gpinv (x, -ones (1,5), ones (1,5), zeros (1,5)), y3)
+%!assert (gpinv (x, -1, 1, zeros (1,5)), y3)
+%!assert (gpinv (x, -1, ones (1,5), 0), y3)
+%!assert (gpinv (x, -ones (1,5), 1, 0), y3)
+%!assert (gpinv (x, -1, 1, 0), y3)
+%!assert (gpinv (x, -1, 1, [0, 0, NaN, 0, 0]), [y3(1:2), NaN, y3(4:5)])
+%!assert (gpinv (x, -1, [1, 1, NaN, 1, 1], 0), [y3(1:2), NaN, y3(4:5)])
+%!assert (gpinv (x, -[1, 1, NaN, 1, 1], 1, 0), [y3(1:2), NaN, y3(4:5)])
+%!assert (gpinv ([x(1:2), NaN, x(4:5)], -1, 1, 0), [y3(1:2), NaN, y3(4:5)])
## Test class of input preserved
%!assert (gpinv (single ([x, NaN]), 0, 1, 0), single ([y1, NaN]))
-%!assert (gpinv ([x, NaN], single (0), 1, 0), single ([y1, NaN]))
-%!assert (gpinv ([x, NaN], 0, single (1), 0), single ([y1, NaN]))
%!assert (gpinv ([x, NaN], 0, 1, single (0)), single ([y1, NaN]))
+%!assert (gpinv ([x, NaN], 0, single (1), 0), single ([y1, NaN]))
+%!assert (gpinv ([x, NaN], single (0), 1, 0), single ([y1, NaN]))
-%!assert (gpinv (single ([x, NaN]), 0, 1, 1), single ([y2, NaN]))
-%!assert (gpinv ([x, NaN], single (0), 1, 1), single ([y2, NaN]))
-%!assert (gpinv ([x, NaN], 0, single (1), 1), single ([y2, NaN]))
-%!assert (gpinv ([x, NaN], 0, 1, single (1)), single ([y2, NaN]))
-
-%!assert (gpinv (single ([x, NaN]), 0, 1, -1), single ([y3, NaN]))
-%!assert (gpinv ([x, NaN], single (0), 1, -1), single ([y3, NaN]))
-%!assert (gpinv ([x, NaN], 0, single (1), -1), single ([y3, NaN]))
-%!assert (gpinv ([x, NaN], 0, 1, single (-1)), single ([y3, NaN]))
+%!assert (gpinv (single ([x, NaN]), 1, 1, 0), single ([y2, NaN]))
+%!assert (gpinv ([x, NaN], 1, 1, single (0)), single ([y2, NaN]))
+%!assert (gpinv ([x, NaN], 1, single (1), 0), single ([y2, NaN]))
+%!assert (gpinv ([x, NaN], single (1), 1, 0), single ([y2, NaN]))
+
+%!assert (gpinv (single ([x, NaN]), -1, 1, 0), single ([y3, NaN]))
+%!assert (gpinv ([x, NaN], -1, 1, single (0)), single ([y3, NaN]))
+%!assert (gpinv ([x, NaN], -1, single (1), 0), single ([y3, NaN]))
+%!assert (gpinv ([x, NaN], single (-1), 1, 0), single ([y3, NaN]))
## Test input validation
%!error gpinv ()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/gppdf.m new/statistics-1.4.1/inst/gppdf.m
--- old/statistics-1.4.0/inst/gppdf.m 2018-05-19 06:40:09.374499307 +0200
+++ new/statistics-1.4.1/inst/gppdf.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,3 +1,4 @@
+## Copyright (C) 2018 John Donoghue
## Copyright (C) 2016 Dag Lyberg
## Copyright (C) 1997-2015 Kurt Hornik
##
@@ -18,7 +19,7 @@
## <http://www.gnu.org/licenses/>.
## -*- texinfo -*-
-## @deftypefn {} {} gppdf (@var{x}, @var{location}, @var{scale}, @var{shape})
+## @deftypefn {} {} gppdf (@var{x}, @var{shape}, @var{scale}, @var{location})
## Compute the probability density function (PDF) at @var{x} of the
## generalized Pareto distribution with parameters @var{location}, @var{scale},
## and @var{shape}.
@@ -27,7 +28,7 @@
## Author: Dag Lyberg <daglyberg80(a)gmail.com>
## Description: PDF of the generalized Pareto distribution
-function pdf = gppdf (x, location, scale, shape)
+function pdf = gppdf (x, shape, scale, location)
if (nargin != 4)
print_usage ();
@@ -69,13 +70,13 @@
j = k & (shape > 0) & (z >= 0);
if (any (j))
- pdf(j) = (shape * z(j) + 1).^(-(shape + 1) / shape);
+ pdf(j) = (shape * z(j) + 1).^(-(shape + 1) / shape) ./ scale;
endif
if (shape < 0)
j = k & (shape < 0) & (0 <= z) & (z <= -1. / shape);
if (any (j))
- pdf(j) = (shape * z(j) + 1).^(-(shape + 1) / shape);
+ pdf(j) = (shape * z(j) + 1).^(-(shape + 1) / shape) ./ scale;
endif
endif
else
@@ -88,13 +89,13 @@
j = k & (shape > 0) & (z >= 0);
if (any (j))
- pdf(j) = (shape(j) .* z(j) + 1).^(-(shape(j) + 1) ./ shape(j));
+ pdf(j) = (shape(j) .* z(j) + 1).^(-(shape(j) + 1) ./ shape(j)) ./ scale(j);
endif
if (any (shape < 0))
j = k & (shape < 0) & (0 <= z) & (z <= -1 ./ shape);
if (any (j))
- pdf(j) = (shape(j) .* z(j) + 1).^(-(shape(j) + 1) ./ shape(j));
+ pdf(j) = (shape(j) .* z(j) + 1).^(-(shape(j) + 1) ./ shape(j)) ./ scale(j);
endif
endif
endif
@@ -108,50 +109,50 @@
%! y2 = [0, 0, 1, 4/9, 1/4, 0];
%! y3 = [0, 0, 1, 1, 1, 0];
%!assert (gppdf (x, zeros (1,6), ones (1,6), zeros (1,6)), y1, eps)
-%!assert (gppdf (x, zeros (1,6), 1, 0), y1, eps)
-%!assert (gppdf (x, 0, ones (1,6), 0), y1, eps)
%!assert (gppdf (x, 0, 1, zeros (1,6)), y1, eps)
+%!assert (gppdf (x, 0, ones (1,6), 0), y1, eps)
+%!assert (gppdf (x, zeros (1,6), 1, 0), y1, eps)
%!assert (gppdf (x, 0, 1, 0), y1, eps)
-%!assert (gppdf (x, [0, 0, 0, NaN, 0, 0], 1, 0), [y1(1:3), NaN, y1(5:6)])
-%!assert (gppdf (x, 0, [1, 1, 1, NaN, 1, 1], 0), [y1(1:3), NaN, y1(5:6)])
%!assert (gppdf (x, 0, 1, [0, 0, 0, NaN, 0, 0]), [y1(1:3), NaN, y1(5:6)])
+%!assert (gppdf (x, 0, [1, 1, 1, NaN, 1, 1], 0), [y1(1:3), NaN, y1(5:6)])
+%!assert (gppdf (x, [0, 0, 0, NaN, 0, 0], 1, 0), [y1(1:3), NaN, y1(5:6)])
%!assert (gppdf ([x(1:3), NaN, x(5:6)], 0, 1, 0), [y1(1:3), NaN, y1(5:6)])
-%!assert (gppdf (x, zeros (1,6), ones (1,6), ones (1,6)), y2, eps)
-%!assert (gppdf (x, zeros (1,6), 1, 1), y2, eps)
-%!assert (gppdf (x, 0, ones (1,6), 1), y2, eps)
-%!assert (gppdf (x, 0, 1, ones (1,6)), y2, eps)
-%!assert (gppdf (x, 0, 1, 1), y2, eps)
-%!assert (gppdf (x, [0, 0, 0, NaN, 0, 0], 1, 1), [y2(1:3), NaN, y2(5:6)])
-%!assert (gppdf (x, 0, [1, 1, 1, NaN, 1, 1], 1), [y2(1:3), NaN, y2(5:6)])
-%!assert (gppdf (x, 0, 1, [1, 1, 1, NaN, 1, 1]), [y2(1:3), NaN, y2(5:6)])
-%!assert (gppdf ([x(1:3), NaN, x(5:6)], 0, 1, 1), [y2(1:3), NaN, y2(5:6)])
-
-%!assert (gppdf (x, zeros (1,6), ones (1,6), -ones (1,6)), y3, eps)
-%!assert (gppdf (x, zeros (1,6), 1, -1), y3, eps)
-%!assert (gppdf (x, 0, ones (1,6), -1), y3, eps)
-%!assert (gppdf (x, 0, 1, -ones (1,6)), y3, eps)
-%!assert (gppdf (x, 0, 1, -1), y3, eps)
-%!assert (gppdf (x, [0, 0, 0, NaN, 0, 0], 1, -1), [y3(1:3), NaN, y3(5:6)])
-%!assert (gppdf (x, 0, [1, 1, 1, NaN, 1, 1], -1), [y3(1:3), NaN, y3(5:6)])
-%!assert (gppdf (x, 0, 1, [-1, -1, -1, NaN, -1, -1]), [y3(1:3), NaN, y3(5:6)])
-%!assert (gppdf ([x(1:3), NaN, x(5:6)], 0, 1, -1), [y3(1:3), NaN, y3(5:6)])
+%!assert (gppdf (x, ones (1,6), ones (1,6), zeros (1,6)), y2, eps)
+%!assert (gppdf (x, 1, 1, zeros (1,6)), y2, eps)
+%!assert (gppdf (x, 1, ones (1,6), 0), y2, eps)
+%!assert (gppdf (x, ones (1,6), 1, 0), y2, eps)
+%!assert (gppdf (x, 1, 1, 0), y2, eps)
+%!assert (gppdf (x, 1, 1, [0, 0, 0, NaN, 0, 0]), [y2(1:3), NaN, y2(5:6)])
+%!assert (gppdf (x, 1, [1, 1, 1, NaN, 1, 1], 0), [y2(1:3), NaN, y2(5:6)])
+%!assert (gppdf (x, [1, 1, 1, NaN, 1, 1], 1, 0), [y2(1:3), NaN, y2(5:6)])
+%!assert (gppdf ([x(1:3), NaN, x(5:6)], 1, 1, 0), [y2(1:3), NaN, y2(5:6)])
+
+%!assert (gppdf (x, -ones (1,6), ones (1,6), zeros (1,6)), y3, eps)
+%!assert (gppdf (x, -1, 1, zeros (1,6)), y3, eps)
+%!assert (gppdf (x, -1, ones (1,6), 0), y3, eps)
+%!assert (gppdf (x, -ones (1,6), 1, 0), y3, eps)
+%!assert (gppdf (x, -1, 1, 0), y3, eps)
+%!assert (gppdf (x, -1, 1, [0, 0, 0, NaN, 0, 0]), [y3(1:3), NaN, y3(5:6)])
+%!assert (gppdf (x, -1, [1, 1, 1, NaN, 1, 1], 0), [y3(1:3), NaN, y3(5:6)])
+%!assert (gppdf (x, [-1, -1, -1, NaN, -1, -1], 1, 0), [y3(1:3), NaN, y3(5:6)])
+%!assert (gppdf ([x(1:3), NaN, x(5:6)], -1, 1, 0), [y3(1:3), NaN, y3(5:6)])
## Test class of input preserved
%!assert (gppdf (single ([x, NaN]), 0, 1, 0), single ([y1, NaN]))
-%!assert (gppdf ([x, NaN], single (0), 1, 0), single ([y1, NaN]))
-%!assert (gppdf ([x, NaN], 0, single (1), 0), single ([y1, NaN]))
%!assert (gppdf ([x, NaN], 0, 1, single (0)), single ([y1, NaN]))
+%!assert (gppdf ([x, NaN], 0, single (1), 0), single ([y1, NaN]))
+%!assert (gppdf ([x, NaN], single (0), 1, 0), single ([y1, NaN]))
-%!assert (gppdf (single ([x, NaN]), 0, 1, 1), single ([y2, NaN]))
-%!assert (gppdf ([x, NaN], single (0), 1, 1), single ([y2, NaN]))
-%!assert (gppdf ([x, NaN], 0, single (1), 1), single ([y2, NaN]))
-%!assert (gppdf ([x, NaN], 0, 1, single (1)), single ([y2, NaN]))
-
-%!assert (gppdf (single ([x, NaN]), 0, 1, -1), single ([y3, NaN]))
-%!assert (gppdf ([x, NaN], single (0), 1, -1), single ([y3, NaN]))
-%!assert (gppdf ([x, NaN], 0, single (1), -1), single ([y3, NaN]))
-%!assert (gppdf ([x, NaN], 0, 1, single (-1)), single ([y3, NaN]))
+%!assert (gppdf (single ([x, NaN]), 1, 1, 0), single ([y2, NaN]))
+%!assert (gppdf ([x, NaN], 1, 1, single (0)), single ([y2, NaN]))
+%!assert (gppdf ([x, NaN], 1, single (1), 0), single ([y2, NaN]))
+%!assert (gppdf ([x, NaN], single (1), 1, 0), single ([y2, NaN]))
+
+%!assert (gppdf (single ([x, NaN]), -1, 1, 0), single ([y3, NaN]))
+%!assert (gppdf ([x, NaN], -1, 1, single (0)), single ([y3, NaN]))
+%!assert (gppdf ([x, NaN], -1, single (1), 0), single ([y3, NaN]))
+%!assert (gppdf ([x, NaN], single (-1), 1, 0), single ([y3, NaN]))
## Test input validation
%!error gppdf ()
@@ -159,9 +160,9 @@
%!error gppdf (1,2)
%!error gppdf (1,2,3)
%!error gppdf (1,2,3,4,5)
-%!error gppdf (1, ones (3), ones (2), ones (2))
-%!error gppdf (1, ones (2), ones (3), ones (2))
%!error gppdf (1, ones (2), ones (2), ones (3))
+%!error gppdf (1, ones (2), ones (3), ones (2))
+%!error gppdf (1, ones (3), ones (2), ones (2))
%!error gppdf (i, 2, 2, 2)
%!error gppdf (2, i, 2, 2)
%!error gppdf (2, 2, i, 2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/gprnd.m new/statistics-1.4.1/inst/gprnd.m
--- old/statistics-1.4.0/inst/gprnd.m 2018-05-19 06:40:09.374499307 +0200
+++ new/statistics-1.4.1/inst/gprnd.m 2019-03-17 14:45:17.000000000 +0100
@@ -18,10 +18,10 @@
## <http://www.gnu.org/licenses/>.
## -*- texinfo -*-
-## @deftypefn {} {} gprnd (@var{location}, @var{scale}, @var{shape})
-## @deftypefnx {} {} gprnd (@var{location}, @var{scale}, @var{shape}, @var{r})
-## @deftypefnx {} {} gprnd (@var{location}, @var{scale}, @var{shape}, @var{r}, @var{c}, @dots{})
-## @deftypefnx {} {} gprnd (@var{location}, @var{scale}, @var{shape}, [@var{sz}])
+## @deftypefn {} {} gprnd (@var{shape}, @var{scale}, @var{location})
+## @deftypefnx {} {} gprnd (@var{shape}, @var{scale}, @var{location}, @var{r})
+## @deftypefnx {} {} gprnd (@var{shape}, @var{scale}, @var{location}, @var{r}, @var{c}, @dots{})
+## @deftypefnx {} {} gprnd (@var{shape}, @var{scale}, @var{location}, [@var{sz}])
## Return a matrix of random samples from the generalized Pareto distribution
## with parameters @var{location}, @var{scale} and @var{shape}.
##
@@ -38,7 +38,7 @@
## Author: Dag Lyberg <daglyberg80(a)gmail.com>
## Description: Random deviates from the generalized Pareto distribution
-function rnd = gprnd (location, scale, shape, varargin)
+function rnd = gprnd (shape, scale, location, varargin)
if (nargin < 3)
print_usage ();
@@ -114,61 +114,61 @@
%!assert (size (gprnd (0,1,0)), [1, 1])
-%!assert (size (gprnd (zeros (2,1), 1,0)), [2, 1])
-%!assert (size (gprnd (zeros (2,2), 1,0)), [2, 2])
+%!assert (size (gprnd (0, 1, zeros (2,1))), [2, 1])
+%!assert (size (gprnd (0, 1, zeros (2,2))), [2, 2])
%!assert (size (gprnd (0, ones (2,1), 0)), [2, 1])
%!assert (size (gprnd (0, ones (2,2), 0)), [2, 2])
-%!assert (size (gprnd (0,1, zeros (2,1))), [2, 1])
-%!assert (size (gprnd (0,1, zeros (2,2))), [2, 2])
-%!assert (size (gprnd (0,1, 0, 3)), [3, 3])
-%!assert (size (gprnd (0,1, 0, [4 1])), [4, 1])
-%!assert (size (gprnd (0,1, 0, 4, 1)), [4, 1])
-
-%!assert (size (gprnd (0,1,1)), [1, 1])
-%!assert (size (gprnd (zeros (2,1), 1,1)), [2, 1])
-%!assert (size (gprnd (zeros (2,2), 1,1)), [2, 2])
-%!assert (size (gprnd (0, ones (2,1), 1)), [2, 1])
-%!assert (size (gprnd (0, ones (2,2), 1)), [2, 2])
-%!assert (size (gprnd (0,1, ones (2,1))), [2, 1])
-%!assert (size (gprnd (0,1, ones (2,2))), [2, 2])
-%!assert (size (gprnd (0,1, 1, 3)), [3, 3])
-%!assert (size (gprnd (0,1, 1, [4 1])), [4, 1])
-%!assert (size (gprnd (0,1, 1, 4, 1)), [4, 1])
-
-%!assert (size (gprnd (0,1,-1)), [1, 1])
-%!assert (size (gprnd (zeros (2,1), -1,1)), [2, 1])
-%!assert (size (gprnd (zeros (2,2), -1,1)), [2, 2])
-%!assert (size (gprnd (0, ones (2,1), -1)), [2, 1])
-%!assert (size (gprnd (0, ones (2,2), -1)), [2, 2])
-%!assert (size (gprnd (0,1, -ones (2,1))), [2, 1])
-%!assert (size (gprnd (0,1, -ones (2,2))), [2, 2])
-%!assert (size (gprnd (0,1, -1, 3)), [3, 3])
-%!assert (size (gprnd (0,1, -1, [4 1])), [4, 1])
-%!assert (size (gprnd (0,1, -1, 4, 1)), [4, 1])
+%!assert (size (gprnd (zeros (2,1), 1, 0)), [2, 1])
+%!assert (size (gprnd (zeros (2,2), 1, 0)), [2, 2])
+%!assert (size (gprnd (0, 1, 0, 3)), [3, 3])
+%!assert (size (gprnd (0, 1, 0, [4 1])), [4, 1])
+%!assert (size (gprnd (0, 1, 0, 4, 1)), [4, 1])
+
+%!assert (size (gprnd (1,1,0)), [1, 1])
+%!assert (size (gprnd (1, 1, zeros (2,1))), [2, 1])
+%!assert (size (gprnd (1, 1, zeros (2,2))), [2, 2])
+%!assert (size (gprnd (1, ones (2,1), 0)), [2, 1])
+%!assert (size (gprnd (1, ones (2,2), 0)), [2, 2])
+%!assert (size (gprnd (ones (2,1), 1, 0)), [2, 1])
+%!assert (size (gprnd (ones (2,2), 1, 0)), [2, 2])
+%!assert (size (gprnd (1, 1, 0, 3)), [3, 3])
+%!assert (size (gprnd (1, 1, 0, [4 1])), [4, 1])
+%!assert (size (gprnd (1, 1, 0, 4, 1)), [4, 1])
+
+%!assert (size (gprnd (-1, 1, 0)), [1, 1])
+%!assert (size (gprnd (-1, 1, zeros (2,1))), [2, 1])
+%!assert (size (gprnd (1, -1, zeros (2,2))), [2, 2])
+%!assert (size (gprnd (-1, ones (2,1), 0)), [2, 1])
+%!assert (size (gprnd (-1, ones (2,2), 0)), [2, 2])
+%!assert (size (gprnd (-ones (2,1), 1, 0)), [2, 1])
+%!assert (size (gprnd (-ones (2,2), 1, 0)), [2, 2])
+%!assert (size (gprnd (-1, 1, 0, 3)), [3, 3])
+%!assert (size (gprnd (-1, 1, 0, [4 1])), [4, 1])
+%!assert (size (gprnd (-1, 1, 0, 4, 1)), [4, 1])
## Test class of input preserved
%!assert (class (gprnd (0,1,0)), "double")
-%!assert (class (gprnd (single (0),1,0)), "single")
-%!assert (class (gprnd (single ([0 0]),1,0)), "single")
+%!assert (class (gprnd (0, 1, single (0))), "single")
+%!assert (class (gprnd (0, 1, single ([0 0]))), "single")
%!assert (class (gprnd (0,single (1),0)), "single")
%!assert (class (gprnd (0,single ([1 1]),0)), "single")
-%!assert (class (gprnd (0,1,single (0))), "single")
-%!assert (class (gprnd (0,1,single ([0 0]))), "single")
+%!assert (class (gprnd (single (0), 1, 0)), "single")
+%!assert (class (gprnd (single ([0 0]), 1, 0)), "single")
## Test input validation
%!error gprnd ()
%!error gprnd (1)
%!error gprnd (1,2)
-%!error gprnd (zeros (3), ones (2), zeros (2))
-%!error gprnd (zeros (2), ones (3), zeros (2))
%!error gprnd (zeros (2), ones (2), zeros (3))
+%!error gprnd (zeros (2), ones (3), zeros (2))
+%!error gprnd (zeros (3), ones (2), zeros (2))
%!error gprnd (i, 1, 0)
%!error gprnd (0, i, 0)
%!error gprnd (0, 1, i)
%!error gprnd (0,1,0, -1)
%!error gprnd (0,1,0, ones (2))
%!error gprnd (0,1,0, [2 -1 2])
-%!error gprnd (zeros (2),1,0, 3)
-%!error gprnd (zeros (2),1,0, [3, 2])
-%!error gprnd (zeros (2),1,0, 3, 2)
+%!error gprnd (0,1, zeros (2), 3)
+%!error gprnd (0,1, zeros (2), [3, 2])
+%!error gprnd (0,1, zeros (2), 3, 2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/monotone_smooth.m new/statistics-1.4.1/inst/monotone_smooth.m
--- old/statistics-1.4.0/inst/monotone_smooth.m 2018-05-19 06:40:09.382499268 +0200
+++ new/statistics-1.4.1/inst/monotone_smooth.m 2019-03-17 14:45:17.000000000 +0100
@@ -17,7 +17,9 @@
## -*- texinfo -*-
## @deftypefn {Function File} {@var{yy} =} monotone_smooth (@var{x}, @var{y}, @var{h})
## Produce a smooth monotone increasing approximation to a sampled functional
-## dependence y(x) using a kernel method (an Epanechnikov smoothing kernel is
+## dependence
+##
+## A kernel method is used (an Epanechnikov smoothing kernel is
## applied to y(x); this is integrated to yield the monotone increasing form.
## See Reference 1 for details.)
##
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/pcacov.m new/statistics-1.4.1/inst/pcacov.m
--- old/statistics-1.4.0/inst/pcacov.m 2018-05-19 06:40:09.390499229 +0200
+++ new/statistics-1.4.1/inst/pcacov.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,4 +1,4 @@
-## Copyright (C) 2013 Fernando Damian Nieuwveldt <fdnieuwveldt(a)gmail.com>
+## Copyright (C) 2013-2019 Fernando Damian Nieuwveldt <fdnieuwveldt(a)gmail.com>
##
## This program is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License
@@ -16,10 +16,10 @@
## @deftypefn {Function File} {[@var{COEFF}]} = pcacov(@var{X})
## @deftypefnx {Function File} {[@var{COEFF},@var{latent}]} = pcacov(@var{X})
## @deftypefnx {Function File} {[@var{COEFF},@var{latent},@var{explained}]} = pcacov(@var{X})
+## Perform principal component analysis on the nxn covariance matrix X
+##
## @itemize @bullet
## @item
-## pcacov performs principal component analysis on the nxn covariance matrix X
-## @item
## @var{COEFF} : a nxn matrix with columns containing the principal component coefficients
## @item
## @var{latent} : a vector containing the principal component variances
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/pcares.m new/statistics-1.4.1/inst/pcares.m
--- old/statistics-1.4.0/inst/pcares.m 2018-05-19 06:40:09.390499229 +0200
+++ new/statistics-1.4.1/inst/pcares.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,4 +1,4 @@
-## Copyright (C) 2013 Fernando Damian Nieuwveldt <fdnieuwveldt(a)gmail.com>
+## Copyright (C) 2013-2019 Fernando Damian Nieuwveldt <fdnieuwveldt(a)gmail.com>
##
## This program is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License
@@ -14,6 +14,8 @@
## -*- texinfo -*-
## @deftypefn {Function File} {[@var{residuals},@var{reconstructed}]}=pcares(@var{X}, @var{NDIM})
+## Calulate residuals from principal component analysis
+##
## @itemize @bullet
## @item
## @var{X} : N x P Matrix with N observations and P variables, the variables will be mean centered
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/pdist2.m new/statistics-1.4.1/inst/pdist2.m
--- old/statistics-1.4.0/inst/pdist2.m 2018-05-19 06:40:09.390499229 +0200
+++ new/statistics-1.4.1/inst/pdist2.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,4 +1,4 @@
-## Copyright (C) 2014 Piotr Dollar <pdollar(a)gmail.com>
+## Copyright (C) 2014-2019 Piotr Dollar <pdollar(a)gmail.com>
##
## This program is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License as
@@ -152,7 +152,7 @@
function dists = distEucSq (x, y)
xx = sumsq (x, 2);
yy = sumsq (y, 2)';
- dists = bsxfun (@plus, xx, yy) - 2 * x * (y');
+ dists = max (0, bsxfun (@plus, xx, yy) - 2 * x * (y'));
endfunction
## euclidean distance as loop for testing purposes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/plsregress.m new/statistics-1.4.1/inst/plsregress.m
--- old/statistics-1.4.0/inst/plsregress.m 2018-05-19 06:40:09.390499229 +0200
+++ new/statistics-1.4.1/inst/plsregress.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,4 +1,4 @@
-## Copyright (C) 2012 Fernando Damian Nieuwveldt <fdnieuwveldt(a)gmail.com>
+## Copyright (C) 2012-2019 Fernando Damian Nieuwveldt <fdnieuwveldt(a)gmail.com>
##
## This program is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License
@@ -13,8 +13,9 @@
## this program; if not, see <http://www.gnu.org/licenses/>.
## -*- texinfo -*-
-## @deftypefn {Function File} {[@var{XLOADINGS},@var{YLOADINGS},@var{XSCORES},@var{YSCORES},@var{coefficients},@var{fitted}] =} ...
-## plsregress(@var{X}, @var{Y}, @var{NCOMP})
+## @deftypefn {Function File} {[@var{XLOADINGS},@var{YLOADINGS},@var{XSCORES},@var{YSCORES},@var{coefficients},@var{fitted}] =} plsregress(@var{X}, @var{Y}, @var{NCOMP})
+## Calculate partial least squares regression
+##
## @itemize @bullet
## @item
## @var{X}: Matrix of observations
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/princomp.m new/statistics-1.4.1/inst/princomp.m
--- old/statistics-1.4.0/inst/princomp.m 2018-05-19 06:40:09.390499229 +0200
+++ new/statistics-1.4.1/inst/princomp.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,4 +1,4 @@
-## Copyright (C) 2013 Fernando Damian Nieuwveldt <fdnieuwveldt(a)gmail.com>
+## Copyright (C) 2013-2019 Fernando Damian Nieuwveldt <fdnieuwveldt(a)gmail.com>
##
## This program is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License
@@ -18,10 +18,10 @@
## @deftypefnx {Function File} {[@var{COEFF},@var{SCORE},@var{latent}]} = princomp(@var{X})
## @deftypefnx {Function File} {[@var{COEFF},@var{SCORE},@var{latent},@var{tsquare}]} = princomp(@var{X})
## @deftypefnx {Function File} {[...]} = princomp(@var{X},'econ')
+## Performs a principal component analysis on a NxP data matrix X
+##
## @itemize @bullet
## @item
-## princomp performs principal component analysis on a NxP data matrix X
-## @item
## @var{COEFF} : returns the principal component coefficients
## @item
## @var{SCORE} : returns the principal component scores, the representation of X
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/ttest.m new/statistics-1.4.1/inst/ttest.m
--- old/statistics-1.4.0/inst/ttest.m 2018-05-19 06:40:09.402499170 +0200
+++ new/statistics-1.4.1/inst/ttest.m 2019-03-17 14:45:17.000000000 +0100
@@ -154,7 +154,7 @@
%! [h, pval, ci0] = ttest (x, 0);
%! assert (h, 1)
%! assert (pval, 0)
-%! assert (ci0, ci)
+%! assert (ci0, ci, 2e-15)
%! [h, pval, ci] = ttest (x, 10, "tail", "right", "dim", 2, "alpha", 0.05);
%! assert (h, 0)
%! assert (pval, 0.5, 10*eps)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/inst/wishrnd.m new/statistics-1.4.1/inst/wishrnd.m
--- old/statistics-1.4.0/inst/wishrnd.m 2018-05-19 06:40:09.406499150 +0200
+++ new/statistics-1.4.1/inst/wishrnd.m 2019-03-17 14:45:17.000000000 +0100
@@ -1,4 +1,4 @@
-## Copyright (C) 2013 Nir Krakauer <nkrakauer(a)ccny.cuny.edu>
+## Copyright (C) 2013-2019 Nir Krakauer <mail(a)nirkrakauer.net>
##
## This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
##
@@ -10,10 +10,10 @@
## @deftypefn {Function File} {} [@var{W}[, @var{D}]] = wishrnd (@var{Sigma}, @var{df}[, @var{D}][, @var{n}=1])
## Return a random matrix sampled from the Wishart distribution with given parameters
##
-## Inputs: the @var{p} x @var{p} positive definite matrix @var{Sigma} and scalar degrees of freedom parameter @var{df} (and optionally the Cholesky factor @var{D} of @var{Sigma}).
+## Inputs: the @var{p} x @var{p} positive definite matrix @var{Sigma} (or the lower-triangular Cholesky factor @var{D} of @var{Sigma}) and scalar degrees of freedom parameter @var{df}.
## @var{df} can be non-integer as long as @var{df} > @var{p}
##
-## Output: a random @var{p} x @var{p} matrix @var{W} from the Wishart(@var{Sigma}, @var{df}) distribution. If @var{n} > 1, then @var{W} is @var{p} x @var{p} x @var{n} and holds @var{n} such random matrices. (Optionally, the Cholesky factor @var{D} of @var{Sigma} is also returned.)
+## Output: a random @var{p} x @var{p} matrix @var{W} from the Wishart(@var{Sigma}, @var{df}) distribution. If @var{n} > 1, then @var{W} is @var{p} x @var{p} x @var{n} and holds @var{n} such random matrices. (Optionally, the lower-triangular Cholesky factor @var{D} of @var{Sigma} is also returned.)
##
## Averaged across many samples, the mean of @var{W} should approach @var{df}*@var{Sigma}, and the variance of each element @var{W}_ij should approach @var{df}*(@var{Sigma}_ij^2 + @var{Sigma}_ii*@var{Sigma}_jj)
##
@@ -22,8 +22,8 @@
## @seealso{iwishrnd, wishpdf}
## @end deftypefn
-## Author: Nir Krakauer <nkrakauer(a)ccny.cuny.edu>
-## Description: Compute the probability density function of the Wishart distribution
+## Author: Nir Krakauer <mail(a)nirkrakauer.net>
+## Description: Sample from the Wishart distribution
function [W, D] = wishrnd(Sigma, df, D, n=1)
@@ -33,7 +33,7 @@
if nargin < 3 || isempty(D)
try
- D = chol(Sigma);
+ D = chol(Sigma, 'lower');
catch
error('wishrnd: Cholesky decomposition failed; Sigma probably not positive definite')
end_try_catch
@@ -59,23 +59,21 @@
for i = 1:n
if df_isint
- Z = randn(df, p) * D;
- W(:, :, i) = Z'*Z;
+ Z = D * randn(p, df);
else
Z = diag(sqrt(chi2rnd(df - (0:(p-1))))); #fill diagonal
#note: chi2rnd(x) is equivalent to 2*randg(x/2), but the latter seems to offer no performance advantage
Z(ii > jj) = randn(p*(p-1)/2, 1); #fill lower triangle with normally distributed variates
Z = D * Z;
- W(:, :, i) = Z*Z';
endif
-
-
+ W(:, :, i) = Z*Z';
endfor
endfunction
-
+%!assert(size (wishrnd (1,2)), [1, 1]);
+%!assert(size (wishrnd (1,2,[])), [1, 1]);
%!assert(size (wishrnd (1,2,1)), [1, 1]);
%!assert(size (wishrnd ([],2,1)), [1, 1]);
%!assert(size (wishrnd ([3 1; 1 3], 2.00001, [], 1)), [2, 2]);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/install-conditionally/distributions/normpdf.m new/statistics-1.4.1/install-conditionally/distributions/normpdf.m
--- old/statistics-1.4.0/install-conditionally/distributions/normpdf.m 2018-05-19 06:40:09.434499012 +0200
+++ new/statistics-1.4.1/install-conditionally/distributions/normpdf.m 2019-03-17 14:45:17.000000000 +0100
@@ -71,12 +71,12 @@
%!shared x,y
%! x = [-Inf 1 2 Inf];
%! y = 1/sqrt(2*pi)*exp (-(x-1).^2/2);
-%!assert (normpdf (x, ones (1,4), ones (1,4)), y)
-%!assert (normpdf (x, 1, ones (1,4)), y)
-%!assert (normpdf (x, ones (1,4), 1), y)
-%!assert (normpdf (x, [0 -Inf NaN Inf], 1), [y(1) NaN NaN NaN])
-%!assert (normpdf (x, 1, [Inf NaN -1 0]), [NaN NaN NaN NaN])
-%!assert (normpdf ([x, NaN], 1, 1), [y, NaN])
+%!assert (normpdf (x, ones (1,4), ones (1,4)), y, eps)
+%!assert (normpdf (x, 1, ones (1,4)), y, eps)
+%!assert (normpdf (x, ones (1,4), 1), y, eps)
+%!assert (normpdf (x, [0 -Inf NaN Inf], 1), [y(1) NaN NaN NaN], eps)
+%!assert (normpdf (x, 1, [Inf NaN -1 0]), [NaN NaN NaN NaN], eps)
+%!assert (normpdf ([x, NaN], 1, 1), [y, NaN], eps)
## Test class of input preserved
%!assert (normpdf (single ([x, NaN]), 1, 1), single ([y, NaN]), eps ("single"))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/install-conditionally/tests/bartlett_test.m new/statistics-1.4.1/install-conditionally/tests/bartlett_test.m
--- old/statistics-1.4.0/install-conditionally/tests/bartlett_test.m 2018-05-19 06:40:09.446498953 +0200
+++ new/statistics-1.4.1/install-conditionally/tests/bartlett_test.m 2019-03-17 14:45:17.000000000 +0100
@@ -55,7 +55,7 @@
v_tot = sum (f .* v) / f_tot;
c = 1 + (sum (1 ./ f) - 1 / f_tot) / (3 * (k - 1));
chisq = (f_tot * log (v_tot) - sum (f .* log (v))) / c;
- df = k;
+ df = k - 1;
pval = 1 - chi2cdf (chisq, df);
if (nargout == 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/install-conditionally/tests/t_test.m new/statistics-1.4.1/install-conditionally/tests/t_test.m
--- old/statistics-1.4.0/install-conditionally/tests/t_test.m 2018-05-19 06:40:09.450498934 +0200
+++ new/statistics-1.4.1/install-conditionally/tests/t_test.m 2019-03-17 14:45:17.000000000 +0100
@@ -93,7 +93,7 @@
%! tval = -abs (tinv (0.5*pval, n-1));
%! endif
%! unew = tval * std(x)/sqrt(n) + u0;
-%! assert (xbar, unew, 1000*eps);
+%! assert (xbar, unew, 1e6*eps);
%!test
%! x = rand (10,1); n = length (x);
@@ -101,7 +101,7 @@
%! pval = t_test (x, u0, ">");
%! tval = tinv (1-pval, n-1);
%! unew = tval * std(x)/sqrt(n) + u0;
-%! assert (mean (x), unew, 1000*eps);
+%! assert (mean (x), unew, 1e6*eps);
%!test
%! x = rand (10,1); n = length (x);
@@ -109,4 +109,4 @@
%! pval = t_test (x, u0, "<");
%! tval = tinv (pval, n-1);
%! unew = tval * std(x)/sqrt(n) + u0;
-%! assert (mean (x), unew, 1000*eps);
+%! assert (mean (x), unew, 1e6*eps);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/src/configure.ac new/statistics-1.4.1/src/configure.ac
--- old/statistics-1.4.0/src/configure.ac 2018-05-19 06:40:09.454498915 +0200
+++ new/statistics-1.4.1/src/configure.ac 2019-03-17 14:45:17.000000000 +0100
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
-AC_INIT([statistics], [1.4.0])
+AC_INIT([statistics], [1.4.1])
AC_CANONICAL_TARGET
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/utils/conditional_installation.m new/statistics-1.4.1/utils/conditional_installation.m
--- old/statistics-1.4.0/utils/conditional_installation.m 2018-05-19 06:40:09.454498915 +0200
+++ new/statistics-1.4.1/utils/conditional_installation.m 2019-03-17 14:45:17.000000000 +0100
@@ -35,6 +35,10 @@
## "functions_to_install")); # defines variable
## # 'install_functions'
+ if exist ("isfolder") == 0
+ isfolder = @(n) isdir(n);
+ endif
+
installed_functions = {};
subdirs = {"base", "distributions", "models", "tests"};
@@ -51,7 +55,7 @@
assert_dir (fullfile (destdir, subdir));
- if (isdir (private_dir = fullfile (srcdir, subdir, "private"))
+ if (isfolder (private_dir = fullfile (srcdir, subdir, "private"))
&& ! ([status, msg] = ...
copyfile (private_dir, fullfile (destdir, subdir))))
@@ -131,7 +135,11 @@
function assert_dir (directory)
- if (! isdir (directory))
+ if exist ("isfolder") == 0
+ isfolder = @(n) isdir(n);
+ endif
+
+ if (! isfolder (directory))
if (! ([succ, msg] = mkdir (directory)))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/statistics-1.4.0/utils/functions_to_install new/statistics-1.4.1/utils/functions_to_install
--- old/statistics-1.4.0/utils/functions_to_install 2018-05-19 06:40:09.454498915 +0200
+++ new/statistics-1.4.1/utils/functions_to_install 2019-03-17 14:45:17.000000000 +0100
@@ -15,6 +15,7 @@
## "base/corr.m", ...
## "base/corrcoef.m", ...
## "base/cov.m", ...
+## "base/crosstab.m", ...
## "base/gls.m", ...
## "base/histc.m", ...
## "base/iqr.m", ...
@@ -22,6 +23,7 @@
## "base/kurtosis.m", ...
## "base/logit.m", ...
## "base/lscov.m", ...
+## "base/mad.m", ...
## "base/mean.m", ...
## "base/meansq.m", ...
## "base/median.m", ...
@@ -41,112 +43,125 @@
## "base/spearman.m", ...
## "base/statistics.m", ...
## "base/std.m", ...
-## "base/table.m", ...
## "base/var.m", ...
## "base/zscore.m", ...
## ...
-## "distributions/center.m", ...
-## "distributions/cloglog.m", ...
-## "distributions/corr.m", ...
-## "distributions/corrcoef.m", ...
-## "distributions/cov.m", ...
-## "distributions/gls.m", ...
-## "distributions/histc.m", ...
-## "distributions/iqr.m", ...
-## "distributions/kendall.m", ...
-## "distributions/kurtosis.m", ...
-## "distributions/logit.m", ...
-## "distributions/lscov.m", ...
-## "distributions/mean.m", ...
-## "distributions/meansq.m", ...
-## "distributions/median.m", ...
-## "distributions/mode.m", ...
-## "distributions/moment.m", ...
-## "distributions/ols.m", ...
-## "distributions/ppplot.m", ...
-## "distributions/prctile.m", ...
-## "distributions/probit.m", ...
-## "distributions/qqplot.m", ...
-## "distributions/quantile.m", ...
-## "distributions/range.m", ...
-## "distributions/ranks.m", ...
-## "distributions/run_count.m", ...
-## "distributions/runlength.m", ...
-## "distributions/skewness.m", ...
-## "distributions/spearman.m", ...
-## "distributions/statistics.m", ...
-## "distributions/std.m", ...
-## "distributions/table.m", ...
-## "distributions/var.m", ...
-## "distributions/zscore.m", ...
+## "distributions/betacdf.m", ...
+## "distributions/betainv.m", ...
+## "distributions/betapdf.m", ...
+## "distributions/betarnd.m", ...
+## "distributions/binocdf.m", ...
+## "distributions/binoinv.m", ...
+## "distributions/binopdf.m", ...
+## "distributions/binornd.m", ...
+## "distributions/cauchy_cdf.m", ...
+## "distributions/cauchy_inv.m", ...
+## "distributions/cauchy_pdf.m", ...
+## "distributions/cauchy_rnd.m", ...
+## "distributions/chi2cdf.m", ...
+## "distributions/chi2inv.m", ...
+## "distributions/chi2pdf.m", ...
+## "distributions/chi2rnd.m", ...
+## "distributions/discrete_cdf.m", ...
+## "distributions/discrete_inv.m", ...
+## "distributions/discrete_pdf.m", ...
+## "distributions/discrete_rnd.m", ...
+## "distributions/empirical_cdf.m", ...
+## "distributions/empirical_inv.m", ...
+## "distributions/empirical_pdf.m", ...
+## "distributions/empirical_rnd.m", ...
+## "distributions/expcdf.m", ...
+## "distributions/expinv.m", ...
+## "distributions/exppdf.m", ...
+## "distributions/exprnd.m", ...
+## "distributions/fcdf.m", ...
+## "distributions/finv.m", ...
+## "distributions/fpdf.m", ...
+## "distributions/frnd.m", ...
+## "distributions/gamcdf.m", ...
+## "distributions/gaminv.m", ...
+## "distributions/gampdf.m", ...
+## "distributions/gamrnd.m", ...
+## "distributions/geocdf.m", ...
+## "distributions/geoinv.m", ...
+## "distributions/geopdf.m", ...
+## "distributions/geornd.m", ...
+## "distributions/hygecdf.m", ...
+## "distributions/hygeinv.m", ...
+## "distributions/hygepdf.m", ...
+## "distributions/hygernd.m", ...
+## "distributions/kolmogorov_smirnov_cdf.m", ...
+## "distributions/laplace_cdf.m", ...
+## "distributions/laplace_inv.m", ...
+## "distributions/laplace_pdf.m", ...
+## "distributions/laplace_rnd.m", ...
+## "distributions/logistic_cdf.m", ...
+## "distributions/logistic_inv.m", ...
+## "distributions/logistic_pdf.m", ...
+## "distributions/logistic_rnd.m", ...
+## "distributions/logncdf.m", ...
+## "distributions/logninv.m", ...
+## "distributions/lognpdf.m", ...
+## "distributions/lognrnd.m", ...
+## "distributions/nbincdf.m", ...
+## "distributions/nbininv.m", ...
+## "distributions/nbinpdf.m", ...
+## "distributions/nbinrnd.m", ...
+## "distributions/normcdf.m", ...
+## "distributions/norminv.m", ...
+## "distributions/normpdf.m", ...
+## "distributions/normrnd.m", ...
+## "distributions/poisscdf.m", ...
+## "distributions/poissinv.m", ...
+## "distributions/poisspdf.m", ...
+## "distributions/poissrnd.m", ...
+## "distributions/stdnormal_cdf.m", ...
+## "distributions/stdnormal_inv.m", ...
+## "distributions/stdnormal_pdf.m", ...
+## "distributions/stdnormal_rnd.m", ...
+## "distributions/tcdf.m", ...
+## "distributions/tinv.m", ...
+## "distributions/tpdf.m", ...
+## "distributions/trnd.m", ...
+## "distributions/unidcdf.m", ...
+## "distributions/unidinv.m", ...
+## "distributions/unidpdf.m", ...
+## "distributions/unidrnd.m", ...
+## "distributions/unifcdf.m", ...
+## "distributions/unifinv.m", ...
+## "distributions/unifpdf.m", ...
+## "distributions/unifrnd.m", ...
+## "distributions/wblcdf.m", ...
+## "distributions/wblinv.m", ...
+## "distributions/wblpdf.m", ...
+## "distributions/wblrnd.m", ...
+## "distributions/wienrnd.m", ...
## ...
-## "models/center.m", ...
-## "models/cloglog.m", ...
-## "models/corr.m", ...
-## "models/corrcoef.m", ...
-## "models/cov.m", ...
-## "models/gls.m", ...
-## "models/histc.m", ...
-## "models/iqr.m", ...
-## "models/kendall.m", ...
-## "models/kurtosis.m", ...
-## "models/logit.m", ...
-## "models/lscov.m", ...
-## "models/mean.m", ...
-## "models/meansq.m", ...
-## "models/median.m", ...
-## "models/mode.m", ...
-## "models/moment.m", ...
-## "models/ols.m", ...
-## "models/ppplot.m", ...
-## "models/prctile.m", ...
-## "models/probit.m", ...
-## "models/qqplot.m", ...
-## "models/quantile.m", ...
-## "models/range.m", ...
-## "models/ranks.m", ...
-## "models/run_count.m", ...
-## "models/runlength.m", ...
-## "models/skewness.m", ...
-## "models/spearman.m", ...
-## "models/statistics.m", ...
-## "models/std.m", ...
-## "models/table.m", ...
-## "models/var.m", ...
-## "models/zscore.m", ...
+## "models/logistic_regression.m", ...
## ...
-## "tests/center.m", ...
-## "tests/cloglog.m", ...
-## "tests/corr.m", ...
-## "tests/corrcoef.m", ...
-## "tests/cov.m", ...
-## "tests/gls.m", ...
-## "tests/histc.m", ...
-## "tests/iqr.m", ...
-## "tests/kendall.m", ...
-## "tests/kurtosis.m", ...
-## "tests/logit.m", ...
-## "tests/lscov.m", ...
-## "tests/mean.m", ...
-## "tests/meansq.m", ...
-## "tests/median.m", ...
-## "tests/mode.m", ...
-## "tests/moment.m", ...
-## "tests/ols.m", ...
-## "tests/ppplot.m", ...
-## "tests/prctile.m", ...
-## "tests/probit.m", ...
-## "tests/qqplot.m", ...
-## "tests/quantile.m", ...
-## "tests/range.m", ...
-## "tests/ranks.m", ...
-## "tests/run_count.m", ...
-## "tests/runlength.m", ...
-## "tests/skewness.m", ...
-## "tests/spearman.m", ...
-## "tests/statistics.m", ...
-## "tests/std.m", ...
-## "tests/table.m", ...
-## "tests/var.m", ...
-## "tests/zscore.m" ...
+## "tests/anova.m", ...
+## "tests/bartlett_test.m", ...
+## "tests/chisquare_test_homogeneity.m", ...
+## "tests/chisquare_test_independence.m", ...
+## "tests/cor_test.m", ...
+## "tests/f_test_regression.m", ...
+## "tests/hotelling_test_2.m", ...
+## "tests/hotelling_test.m", ...
+## "tests/kolmogorov_smirnov_test_2.m", ...
+## "tests/kolmogorov_smirnov_test.m", ...
+## "tests/kruskal_wallis_test.m", ...
+## "tests/manova.m", ...
+## "tests/mcnemar_test.m", ...
+## "tests/prop_test_2.m", ...
+## "tests/run_test.m", ...
+## "tests/sign_test.m", ...
+## "tests/t_test_2.m", ...
+## "tests/t_test.m", ...
+## "tests/t_test_regression.m", ...
+## "tests/u_test.m", ...
+## "tests/var_test.m", ...
+## "tests/welch_test.m", ...
+## "tests/wilcoxon_test.m", ...
+## "tests/z_test_2.m", ...
+## "tests/z_test.m" ...
};
1
0
Hello community,
here is the log from the commit of package sbd for openSUSE:Factory checked in at 2019-07-08 15:10:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sbd (Old)
and /work/SRC/openSUSE:Factory/.sbd.new.4615 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sbd"
Mon Jul 8 15:10:41 2019 rev:29 rq:713616 version:1.4.0+20190514.e9be8d9
Changes:
--------
--- /work/SRC/openSUSE:Factory/sbd/sbd.changes 2019-04-04 14:13:42.149336265 +0200
+++ /work/SRC/openSUSE:Factory/.sbd.new.4615/sbd.changes 2019-07-08 15:10:43.275327599 +0200
@@ -1,0 +2,14 @@
+Tue May 14 12:09:07 UTC 2019 - Yan Gao <ygao(a)suse.com>
+
+- Update to version 1.4.0+20190514.e9be8d9:
+- sbd-inquisitor: Avoid flooding logs with messages that hint the default/configured timeout action (bsc#1134496)
+
+-------------------------------------------------------------------
+Tue Apr 30 09:57:01 UTC 2019 - Yan Gao <ygao(a)suse.com>
+
+- Update to version 1.4.0+20190416.5e3283c:
+- sbd-inquisitor: overhaul device-list-parser
+- sbd-inquisitor: free timeout action on bail out
+- sbd-md: prevent unrealistic overflow on sector io calc
+
+-------------------------------------------------------------------
Old:
----
sbd-1.4.0+20190326.c38c5e6.tar.xz
New:
----
sbd-1.4.0+20190514.e9be8d9.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ sbd.spec ++++++
--- /var/tmp/diff_new_pack.ras8tg/_old 2019-07-08 15:10:44.547328820 +0200
+++ /var/tmp/diff_new_pack.ras8tg/_new 2019-07-08 15:10:44.547328820 +0200
@@ -13,7 +13,7 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
@@ -23,7 +23,7 @@
%endif
Name: sbd
-Version: 1.4.0+20190326.c38c5e6
+Version: 1.4.0+20190514.e9be8d9
Release: 0
Summary: Storage-based death
License: GPL-2.0-or-later
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.ras8tg/_old 2019-07-08 15:10:44.591328862 +0200
+++ /var/tmp/diff_new_pack.ras8tg/_new 2019-07-08 15:10:44.591328862 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/ClusterLabs/sbd.git</param>
- <param name="changesrevision">79b778debfee5b4ab2d099b2bfc7385f45597f70</param>
+ <param name="changesrevision">13d85f249b34e17eccf5ecb7527134c65fcf25a0</param>
</service>
</servicedata>
\ No newline at end of file
++++++ sbd-1.4.0+20190326.c38c5e6.tar.xz -> sbd-1.4.0+20190514.e9be8d9.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.4.0+20190326.c38c5e6/src/sbd-common.c new/sbd-1.4.0+20190514.e9be8d9/src/sbd-common.c
--- old/sbd-1.4.0+20190326.c38c5e6/src/sbd-common.c 2019-03-26 11:38:35.000000000 +0100
+++ new/sbd-1.4.0+20190514.e9be8d9/src/sbd-common.c 2019-05-14 14:00:48.000000000 +0200
@@ -568,13 +568,13 @@
#define IOPRIO_PRIO_DATA(mask) ((mask) & IOPRIO_PRIO_MASK)
#define IOPRIO_PRIO_VALUE(class, data) (((class) << IOPRIO_CLASS_SHIFT) | data)
-static unsigned char
+static void
sbd_stack_hogger(unsigned char * inbuf, int kbytes)
{
unsigned char buf[1024];
if(kbytes <= 0) {
- return HOG_CHAR;
+ return;
}
if (inbuf == NULL) {
@@ -584,10 +584,10 @@
}
if (kbytes > 0) {
- return sbd_stack_hogger(buf, kbytes-1);
- } else {
- return buf[sizeof(buf)-1];
+ sbd_stack_hogger(buf, kbytes-1);
}
+
+ return;
}
static void
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.4.0+20190326.c38c5e6/src/sbd-inquisitor.c new/sbd-1.4.0+20190514.e9be8d9/src/sbd-inquisitor.c
--- old/sbd-1.4.0+20190326.c38c5e6/src/sbd-inquisitor.c 2019-03-26 11:38:35.000000000 +0100
+++ new/sbd-1.4.0+20190514.e9be8d9/src/sbd-inquisitor.c 2019-05-14 14:00:48.000000000 +0200
@@ -780,56 +780,56 @@
int
parse_device_line(const char *line)
{
- int lpc = 0;
- int last = 0;
- int max = 0;
+ size_t lpc = 0;
+ size_t last = 0;
+ size_t max = 0;
int found = 0;
+ bool skip_space = true;
+ int space_run = 0;
- if(line) {
- max = strlen(line);
+ if (!line) {
+ return 0;
}
- if (max <= 0) {
- return found;
- }
+ max = strlen(line);
- cl_log(LOG_DEBUG, "Processing %d bytes: [%s]", max, line);
- /* Skip initial whitespace */
- for (lpc = 0; lpc <= max && isspace(line[lpc]); lpc++) {
- last = lpc + 1;
- }
+ cl_log(LOG_DEBUG, "Processing %d bytes: [%s]", (int) max, line);
- /* Now the actual content */
for (lpc = 0; lpc <= max; lpc++) {
- int a_space = isspace(line[lpc]);
-
- if (a_space && lpc < max && isspace(line[lpc + 1])) {
- /* fast-forward to the end of the spaces */
+ if (isspace(line[lpc])) {
+ if (skip_space) {
+ last = lpc + 1;
+ } else {
+ space_run++;
+ }
+ continue;
+ }
+ skip_space = false;
+ if (line[lpc] == ';' || line[lpc] == 0) {
+ int rc = 0;
+ char *entry = calloc(1, 1 + lpc - last);
- } else if (a_space || line[lpc] == ';' || line[lpc] == 0) {
- int rc = 1;
- char *entry = NULL;
-
- if (lpc > last) {
- entry = calloc(1, 1 + lpc - last);
- if (!entry) {
- fprintf(stderr, "heap allocation failed parsing device-line.\n");
- exit(1);
- }
+ if (entry) {
rc = sscanf(line + last, "%[^;]", entry);
+ } else {
+ fprintf(stderr, "Heap allocation failed parsing device-line.\n");
+ exit(1);
}
if (rc != 1) {
- cl_log(LOG_WARNING, "Could not parse (%d %d): %s", last, lpc, line + last);
+ cl_log(LOG_WARNING, "Could not parse: '%s'", line + last);
} else {
+ entry[strlen(entry)-space_run] = '\0';
cl_log(LOG_DEBUG, "Adding '%s'", entry);
recruit_servant(entry, 0);
found++;
}
free(entry);
+ skip_space = true;
last = lpc + 1;
}
+ space_run = 0;
}
return found;
}
@@ -890,7 +890,7 @@
int devices = parse_device_line(value);
if(devices < 1) {
fprintf(stderr, "Invalid device line: %s\n", value);
- exit_status = -2;
+ exit_status = -2;
goto out;
}
#else
@@ -1088,7 +1088,8 @@
break;
case 'h':
usage();
- return (0);
+ goto out;
+ break;
default:
exit_status = -2;
goto out;
@@ -1174,8 +1175,6 @@
goto out;
}
}
- cl_log(LOG_NOTICE, "%s flush + writing \'%c\' to sysrq on timeout",
- do_flush?"Doing":"Skipping", timeout_sysrq_char);
#if SUPPORT_SHARED_DISK
if (strcmp(argv[optind], "create") == 0) {
@@ -1237,10 +1236,15 @@
recruit_servant("cluster", 0);
}
+ cl_log(LOG_NOTICE, "%s flush + write \'%c\' to sysrq in case of timeout",
+ do_flush?"Do":"Skip", timeout_sysrq_char);
exit_status = inquisitor();
}
out:
+ if (timeout_action) {
+ free(timeout_action);
+ }
if (exit_status < 0) {
if (exit_status == -2) {
usage();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.4.0+20190326.c38c5e6/src/sbd-md.c new/sbd-1.4.0+20190514.e9be8d9/src/sbd-md.c
--- old/sbd-1.4.0+20190326.c38c5e6/src/sbd-md.c 2019-03-26 11:38:35.000000000 +0100
+++ new/sbd-1.4.0+20190514.e9be8d9/src/sbd-md.c 2019-05-14 14:00:48.000000000 +0200
@@ -162,9 +162,9 @@
memset(&st->io, 0, sizeof(struct iocb));
if (rw) {
- io_prep_pwrite(&st->io, st->devfd, data, sector_size, sector_size * sector);
+ io_prep_pwrite(&st->io, st->devfd, data, sector_size, (long long) sector_size * sector);
} else {
- io_prep_pread(&st->io, st->devfd, data, sector_size, sector_size * sector);
+ io_prep_pread(&st->io, st->devfd, data, sector_size, (long long) sector_size * sector);
}
if (io_submit(st->ioctx, 1, ios) != 1) {
@@ -373,7 +373,6 @@
struct sector_header_s *s_header;
struct sector_node_s *s_node;
struct sector_mbox_s *s_mbox;
- struct stat s;
char uuid[37];
int i;
int rc = 0;
@@ -394,10 +393,6 @@
uuid_generate(s_header->uuid);
uuid_unparse_lower(s_header->uuid, uuid);
- fstat(st->devfd, &s);
- /* printf("st_size = %ld, st_blksize = %ld, st_blocks = %ld\n",
- s.st_size, s.st_blksize, s.st_blocks); */
-
cl_log(LOG_INFO, "Creating version %d.%d header on device %d (uuid: %s)",
s_header->version, s_header->minor_version,
st->devfd, uuid);
1
0