Hello community, here is the log from the commit of package armadillo for openSUSE:Factory checked in at 2016-05-04 08:20:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/armadillo (Old) and /work/SRC/openSUSE:Factory/.armadillo.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "armadillo" Changes: -------- --- /work/SRC/openSUSE:Factory/armadillo/armadillo.changes 2016-04-28 17:02:26.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.armadillo.new/armadillo.changes 2016-05-04 08:20:19.000000000 +0200 @@ -1,0 +2,6 @@ +Tue May 3 03:07:50 UTC 2016 - badshah400@gmail.com + +- Update to version 6.700.6: + + Undocumented bug fixes. + +------------------------------------------------------------------- Old: ---- armadillo-6.700.5.tar.gz New: ---- armadillo-6.700.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ armadillo.spec ++++++ --- /var/tmp/diff_new_pack.kLvacY/_old 2016-05-04 08:20:20.000000000 +0200 +++ /var/tmp/diff_new_pack.kLvacY/_new 2016-05-04 08:20:20.000000000 +0200 @@ -19,7 +19,7 @@ %define soname libarmadillo6 Name: armadillo -Version: 6.700.5 +Version: 6.700.6 Release: 0 Summary: Fast C++ matrix library with interfaces to LAPACK and ATLAS License: MPL-2.0 ++++++ armadillo-6.700.5.tar.gz -> armadillo-6.700.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.5/CMakeLists.txt new/armadillo-6.700.6/CMakeLists.txt --- old/armadillo-6.700.5/CMakeLists.txt 2016-04-24 04:32:22.000000000 +0200 +++ new/armadillo-6.700.6/CMakeLists.txt 2016-04-29 10:35:06.000000000 +0200 @@ -16,7 +16,7 @@ set(ARMA_MAJOR 6) set(ARMA_MINOR 700) -set(ARMA_PATCH 5) +set(ARMA_PATCH 6) set(ARMADILLO_VERSION ${ARMA_MAJOR}.${ARMA_MINOR}.${ARMA_PATCH}) message(STATUS "Configuring Armadillo ${ARMADILLO_VERSION}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.5/README.txt new/armadillo-6.700.6/README.txt --- old/armadillo-6.700.5/README.txt 2016-04-24 04:32:22.000000000 +0200 +++ new/armadillo-6.700.6/README.txt 2016-05-02 05:30:02.000000000 +0200 @@ -9,7 +9,7 @@ 1: Introduction 2: Citation Details - 3: Open Source and Commercial Licenses + 3: Licenses 4: Technical Support 5: Requirements @@ -78,46 +78,24 @@ -3: Open Source and Commercial Licenses -====================================== +3: Licenses +=========== Armadillo is available under 2 licenses: -(a) Open source, under the restrictions of the Mozilla Public License (MPL) 2.0. - The file "LICENSE.txt" contains a copy of the MPL. - -(b) Commercial license (not open source), available for purchase. - Please contact Conrad Sanderson for more information: - http://conradsanderson.id.au - - -The main restrictions of the open source license (MPL) are: +- Open source, under the restrictions of the Mozilla Public License (MPL) 2.0. + See the "LICENSE.txt" file for details. - - any derived works, modifications and extensions of Armadillo - are automatically licensed under the MPL - - - if you distribute any part of Armadillo in executable form - (in software or hardware products), then you must also provide - the source code of Armadillo and all derived works, modifications - or extensions - - -The commercial license has the following terms: - - - valid in perpetuity and royalty-free - - - Armadillo and derived works can be integrated into products - (software & hardware), without releasing the source code - - - one year of service/support is included (bug fixes and updates); - the service/support can be renewed annually +- Commercial license (not open source), available for purchase. + Please contact Conrad Sanderson for more information: + http://conradsanderson.id.au 4: Technical Support ==================== -You can purchase the commercial license (see above) which comes with technical support. +Technical support can be obtained by purchasing the commercial license (see above). Please contact Conrad Sanderson for more information: http://conradsanderson.id.au @@ -231,7 +209,7 @@ If you want to use Armadillo without installation (not recommended), compile along these lines: - g++ example1.cpp -o example1 -O2 -I /home/blah/armadillo-6.700.5/include -DARMA_DONT_USE_WRAPPER -lblas -llapack + g++ example1.cpp -o example1 -O2 -I /home/blah/armadillo-6.700.6/include -DARMA_DONT_USE_WRAPPER -lblas -llapack The above command line assumes that you have unpacked the armadillo archive into /home/blah/ You will need to adjust this for later versions of Armadillo, @@ -403,8 +381,8 @@ Documentation of functions and classes is available at: http://arma.sourceforge.net/docs.html - -The documentation is also in the "docs.html" file in this archive, + +The documentation is also in the "docs.html" file in this folder, which can be viewed with a web browser. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.5/docs.html new/armadillo-6.700.6/docs.html --- old/armadillo-6.700.5/docs.html 2016-04-12 05:06:40.000000000 +0200 +++ new/armadillo-6.700.6/docs.html 2016-05-01 16:25:52.000000000 +0200 @@ -197,7 +197,7 @@ </li> <br> <li> -If you use Armadillo in commercial products (software or hardware), +If you use Armadillo in products, please obtain the <a href="http://arma.sourceforge.net/faq.html#licenses">commercial license</a> </li> </ul> @@ -10616,10 +10616,10 @@ <div class="pagebreak"></div><div class="noprint"><hr class="greyline"><br></div> <a name="solve"></a> <b>X = solve( A, B )</b> -<br><b>X = solve( A, B, options )</b> (version 6.300+) +<br><b>X = solve( A, B, settings )</b> (version 6.300+) <br> <br><b>solve( X, A, B )</b> -<br><b>solve( X, A, B, options )</b> (version 6.300+) +<br><b>solve( X, A, B, settings )</b> (version 6.300+) <ul> <li>Solve a <b>dense</b> system of linear equations, <i>A*X = B</i>, where <i>X</i> is unknown; similar functionality to the \ operator in Matlab/Octave, ie. <i>X = A \ B</i> @@ -10636,31 +10636,28 @@ The number of rows in <i>A</i> and <i>B</i> must be the same </li> <br> -<li>The <i>options</i> argument is optional; it is one or a combination of the following: -<ul> +<li>The <i>settings</i> argument is optional; it is one of the following, or a combination thereof: +<br> <br> <table> <tbody> -<tr><td><code>solve_opts::fast</code></td><td> </td><td>do not apply iterative refinement and/or equilibration</td></tr> +<tr><td><code>solve_opts::fast</code></td><td> </td><td>fast mode: do not apply iterative refinement and/or equilibration</td></tr> <tr><td><code>solve_opts::equilibrate</code></td><td> </td><td>equilibrate the system before solving (matrix <i>A</i> must be square)</td></tr> <tr><td><code>solve_opts::no_approx</code></td><td> </td><td>do not find approximate solutions for rank deficient systems</td></tr> </tbody> </table> <br> -<li> -Options can be combined using the <code>+</code> operator; for example: <code>solve_opts::fast + solve_opts::no_approx</code> +the above settings can be combined using the <code>+</code> operator; for example: <code>solve_opts::fast + solve_opts::no_approx</code> </li> <br> <li> -<b>Caveat:</b> <code>solve_opts::fast</code> is recommended only for well-conditioned systems -</li> -</ul> +<b>Caveat:</b> using <i><code>solve_opts::fast</code></i> will speed up finding the solution, but for poorly conditioned systems the solution may have lower quality </li> <br> <li> If <i>A</i> is known to be a triangular matrix, the solution can be computed faster by explicitly indicating that <i>A</i> is triangular through <a href="#trimat">trimatu()</a> or <a href="#trimat">trimatl()</a>; -<br>indicating a triangular matrix also implies that <code>solve_opts::fast</code> is enabled +<br>indicating a triangular matrix also implies that <i><code>solve_opts::fast</code></i> is enabled </li> <br> <li> @@ -10686,7 +10683,7 @@ mat X1 = solve(A, B); -mat X2 = solve(A, B, solve_opts::fast); +mat X2 = solve(A, B, solve_opts::fast); // enable fast mode mat X3 = solve(trimatu(A), B); // indicate that A is triangular </pre> @@ -15492,11 +15489,11 @@ <a name="version_6700"></a> <li>Version 6.700: <ul> -<li>added <a href="#logmat">logmat()</a> for calcuating the matrix logarithm</li> +<li>added <a href="#trapz">trapz()</a> for numerical integration</li> +<li>added <a href="#logmat">logmat()</a> for calculating the matrix logarithm</li> <li>added <a href="#regspace">regspace()</a> for generating vectors with regularly spaced elements</li> <li>added <a href="#logspace">logspace()</a> for generating vectors with logarithmically spaced elements</li> <li>added <a href="#approx_equal">approx_equal()</a> for determining approximate equality</li> -<li>added <a href="#trapz">trapz()</a> for numerical integration</li> <li>expanded <a href="#save_load_mat">.save()</a> and <a href="#save_load_mat">.load()</a> with <i>hdf5_binary_trans</i> file type, to save/load data with columns transposed to rows </ul> </li> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.5/include/armadillo_bits/arma_ostream_bones.hpp new/armadillo-6.700.6/include/armadillo_bits/arma_ostream_bones.hpp --- old/armadillo-6.700.5/include/armadillo_bits/arma_ostream_bones.hpp 2015-11-10 05:42:43.000000000 +0100 +++ new/armadillo-6.700.6/include/armadillo_bits/arma_ostream_bones.hpp 2016-04-29 10:32:43.000000000 +0200 @@ -1,4 +1,4 @@ -// Copyright (C) 2008-2014 National ICT Australia (NICTA) +// Copyright (C) 2008-2016 National ICT Australia (NICTA) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -46,18 +46,18 @@ template<typename eT> arma_inline static void print_elem(std::ostream& o, const eT& x, const bool modify); template<typename T> inline static void print_elem(std::ostream& o, const std::complex<T>& x, const bool modify); - template<typename eT> inline static void print(std::ostream& o, const Mat<eT>& m, const bool modify); - template<typename eT> inline static void print(std::ostream& o, const Cube<eT>& m, const bool modify); + template<typename eT> arma_cold inline static void print(std::ostream& o, const Mat<eT>& m, const bool modify); + template<typename eT> arma_cold inline static void print(std::ostream& o, const Cube<eT>& m, const bool modify); - template<typename oT> inline static void print(std::ostream& o, const field<oT>& m); - template<typename oT> inline static void print(std::ostream& o, const subview_field<oT>& m); + template<typename oT> arma_cold inline static void print(std::ostream& o, const field<oT>& m); + template<typename oT> arma_cold inline static void print(std::ostream& o, const subview_field<oT>& m); - template<typename eT> inline static void print_dense(std::ostream& o, const SpMat<eT>& m, const bool modify); - template<typename eT> inline static void print(std::ostream& o, const SpMat<eT>& m, const bool modify); + template<typename eT> arma_cold inline static void print_dense(std::ostream& o, const SpMat<eT>& m, const bool modify); + template<typename eT> arma_cold inline static void print(std::ostream& o, const SpMat<eT>& m, const bool modify); - inline static void print(std::ostream& o, const SizeMat& S); - inline static void print(std::ostream& o, const SizeCube& S); + arma_cold inline static void print(std::ostream& o, const SizeMat& S); + arma_cold inline static void print(std::ostream& o, const SizeCube& S); }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.5/include/armadillo_bits/arma_ostream_meat.hpp new/armadillo-6.700.6/include/armadillo_bits/arma_ostream_meat.hpp --- old/armadillo-6.700.5/include/armadillo_bits/arma_ostream_meat.hpp 2016-02-29 07:36:18.000000000 +0100 +++ new/armadillo-6.700.6/include/armadillo_bits/arma_ostream_meat.hpp 2016-04-29 06:11:35.000000000 +0200 @@ -401,6 +401,7 @@ //! Print a matrix to the specified stream template<typename eT> +arma_cold inline void arma_ostream::print(std::ostream& o, const Mat<eT>& m, const bool modify) @@ -462,6 +463,7 @@ //! Print a cube to the specified stream template<typename eT> +arma_cold inline void arma_ostream::print(std::ostream& o, const Cube<eT>& x, const bool modify) @@ -495,6 +497,7 @@ //! Print a field to the specified stream //! Assumes type oT can be printed, i.e. oT has std::ostream& operator<< (std::ostream&, const oT&) template<typename oT> +arma_cold inline void arma_ostream::print(std::ostream& o, const field<oT>& x) @@ -563,6 +566,7 @@ //! Print a subfield to the specified stream //! Assumes type oT can be printed, i.e. oT has std::ostream& operator<< (std::ostream&, const oT&) template<typename oT> +arma_cold inline void arma_ostream::print(std::ostream& o, const subview_field<oT>& x) @@ -628,6 +632,7 @@ template<typename eT> +arma_cold inline void arma_ostream::print_dense(std::ostream& o, const SpMat<eT>& m, const bool modify) @@ -733,6 +738,7 @@ template<typename eT> +arma_cold inline void arma_ostream::print(std::ostream& o, const SpMat<eT>& m, const bool modify) @@ -803,6 +809,7 @@ +arma_cold inline void arma_ostream::print(std::ostream& o, const SizeMat& S) @@ -824,6 +831,7 @@ +arma_cold inline void arma_ostream::print(std::ostream& o, const SizeCube& S) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.5/include/armadillo_bits/arma_version.hpp new/armadillo-6.700.6/include/armadillo_bits/arma_version.hpp --- old/armadillo-6.700.5/include/armadillo_bits/arma_version.hpp 2016-04-24 04:32:22.000000000 +0200 +++ new/armadillo-6.700.6/include/armadillo_bits/arma_version.hpp 2016-04-29 10:35:06.000000000 +0200 @@ -1,4 +1,4 @@ -// Copyright (C) 2009-2015 National ICT Australia (NICTA) +// Copyright (C) 2009-2016 National ICT Australia (NICTA) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -15,7 +15,7 @@ #define ARMA_VERSION_MAJOR 6 #define ARMA_VERSION_MINOR 700 -#define ARMA_VERSION_PATCH 5 +#define ARMA_VERSION_PATCH 6 #define ARMA_VERSION_NAME "Catabolic Amalgamator Deluxe" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.5/include/armadillo_bits/fn_kron.hpp new/armadillo-6.700.6/include/armadillo_bits/fn_kron.hpp --- old/armadillo-6.700.5/include/armadillo_bits/fn_kron.hpp 2015-11-10 05:42:43.000000000 +0100 +++ new/armadillo-6.700.6/include/armadillo_bits/fn_kron.hpp 2016-04-28 09:56:56.000000000 +0200 @@ -1,4 +1,4 @@ -// Copyright (C) 2009-2010 National ICT Australia (NICTA) +// Copyright (C) 2009-2016 National ICT Australia (NICTA) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -87,4 +87,47 @@ +// template<typename T1, typename T2> +// inline +// SpMat<typename T1::elem_type> +// kron(const SpBase<typename T1::elem_type, T1>& A_expr, const SpBase<typename T1::elem_type, T2>& B_expr) +// { +// arma_extra_debug_sigprint(); +// +// typedef typename T1::elem_type eT; +// +// const unwrap_spmat<T1> UA(A_expr.get_ref()); +// const unwrap_spmat<T2> UB(B_expr.get_ref()); +// +// const SpMat<eT>& A = UA.M; +// const SpMat<eT>& B = UB.M; +// +// const uword A_rows = A.n_rows; +// const uword A_cols = A.n_cols; +// const uword B_rows = B.n_rows; +// const uword B_cols = B.n_cols; +// +// SpMat<eT> out(A_rows*B_rows, A_cols*B_cols); +// +// if(out.is_empty() == false) +// { +// typename SpMat<eT>::const_iterator it = A.begin(); +// typename SpMat<eT>::const_iterator it_end = A.end(); +// +// for(; it != it_end; ++it) +// { +// const uword i = it.row(); +// const uword j = it.col(); +// +// const eT A_val = (*it); +// +// out.submat(i*B_rows, j*B_cols, (i+1)*B_rows-1, (j+1)*B_cols-1) = A_val * B; +// } +// } +// +// return out; +// } + + + //! @} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.5/include/armadillo_bits/glue_kron_meat.hpp new/armadillo-6.700.6/include/armadillo_bits/glue_kron_meat.hpp --- old/armadillo-6.700.5/include/armadillo_bits/glue_kron_meat.hpp 2015-11-10 05:42:43.000000000 +0100 +++ new/armadillo-6.700.6/include/armadillo_bits/glue_kron_meat.hpp 2016-04-28 09:25:13.000000000 +0200 @@ -1,4 +1,4 @@ -// Copyright (C) 2009-2013 National ICT Australia (NICTA) +// Copyright (C) 2009-2016 National ICT Australia (NICTA) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -30,6 +30,8 @@ out.set_size(A_rows*B_rows, A_cols*B_cols); + if(out.is_empty()) { return; } + for(uword j = 0; j < A_cols; j++) { for(uword i = 0; i < A_rows; i++) @@ -60,6 +62,8 @@ out.set_size(A_rows*B_rows, A_cols*B_cols); + if(out.is_empty()) { return; } + Mat<eT> tmp_B = conv_to< Mat<eT> >::from(B); for(uword j = 0; j < A_cols; j++) @@ -90,6 +94,8 @@ out.set_size(A_rows*B_rows, A_cols*B_cols); + if(out.is_empty()) { return; } + for(uword j = 0; j < A_cols; j++) { for(uword i = 0; i < A_rows; i++) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/armadillo-6.700.5/include/armadillo_bits/op_find_meat.hpp new/armadillo-6.700.6/include/armadillo_bits/op_find_meat.hpp --- old/armadillo-6.700.5/include/armadillo_bits/op_find_meat.hpp 2015-11-10 05:42:43.000000000 +0100 +++ new/armadillo-6.700.6/include/armadillo_bits/op_find_meat.hpp 2016-04-29 05:15:30.000000000 +0200 @@ -1,4 +1,4 @@ -// Copyright (C) 2010-2014 National ICT Australia (NICTA) +// Copyright (C) 2010-2016 National ICT Australia (NICTA) // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this @@ -118,7 +118,7 @@ else if(is_same_type<op_type, op_rel_gteq_post>::yes) { not_zero_i = (tpi >= val); } else if(is_same_type<op_type, op_rel_eq >::yes) { not_zero_i = (tpi == val); } else if(is_same_type<op_type, op_rel_noteq >::yes) { not_zero_i = (tpi != val); } - else not_zero_i = false; + else { not_zero_i = false; } if(is_same_type<op_type, op_rel_lt_pre >::yes) { not_zero_j = (val < tpj); } else if(is_same_type<op_type, op_rel_lt_post >::yes) { not_zero_j = (tpj < val); } @@ -130,7 +130,7 @@ else if(is_same_type<op_type, op_rel_gteq_post>::yes) { not_zero_j = (tpj >= val); } else if(is_same_type<op_type, op_rel_eq >::yes) { not_zero_j = (tpj == val); } else if(is_same_type<op_type, op_rel_noteq >::yes) { not_zero_j = (tpj != val); } - else not_zero_j = false; + else { not_zero_j = false; } if(not_zero_i == true) { indices_mem[n_nz] = i; ++n_nz; } if(not_zero_j == true) { indices_mem[n_nz] = j; ++n_nz; } @@ -152,7 +152,7 @@ else if(is_same_type<op_type, op_rel_gteq_post>::yes) { not_zero = (tmp >= val); } else if(is_same_type<op_type, op_rel_eq >::yes) { not_zero = (tmp == val); } else if(is_same_type<op_type, op_rel_noteq >::yes) { not_zero = (tmp != val); } - else not_zero = false; + else { not_zero = false; } if(not_zero == true) { indices_mem[n_nz] = i; ++n_nz; } } @@ -181,7 +181,7 @@ else if(is_same_type<op_type, op_rel_gteq_post>::yes) { not_zero = (tmp >= val); } else if(is_same_type<op_type, op_rel_eq >::yes) { not_zero = (tmp == val); } else if(is_same_type<op_type, op_rel_noteq >::yes) { not_zero = (tmp != val); } - else not_zero = false; + else { not_zero = false; } if(not_zero == true) { indices_mem[n_nz] = i; ++n_nz; } @@ -235,7 +235,7 @@ if(is_same_type<op_type, op_rel_eq >::yes) { not_zero = (tmp == val); } else if(is_same_type<op_type, op_rel_noteq>::yes) { not_zero = (tmp != val); } - else not_zero = false; + else { not_zero = false; } if(not_zero == true) { indices_mem[n_nz] = i; ++n_nz; } } @@ -256,7 +256,7 @@ if(is_same_type<op_type, op_rel_eq >::yes) { not_zero = (tmp == val); } else if(is_same_type<op_type, op_rel_noteq>::yes) { not_zero = (tmp != val); } - else not_zero = false; + else { not_zero = false; } if(not_zero == true) { indices_mem[n_nz] = i; ++n_nz; } @@ -322,7 +322,7 @@ else if(is_same_type<glue_type, glue_rel_noteq >::yes) { not_zero = (tmp1 != tmp2); } else if(is_same_type<glue_type, glue_rel_and >::yes) { not_zero = (tmp1 && tmp2); } else if(is_same_type<glue_type, glue_rel_or >::yes) { not_zero = (tmp1 || tmp2); } - else not_zero = false; + else { not_zero = false; } if(not_zero == true) { indices_mem[n_nz] = i; ++n_nz; } } @@ -376,7 +376,7 @@ if(is_same_type<glue_type, glue_rel_eq >::yes) { not_zero = (PA[i] == PB[i]); } else if(is_same_type<glue_type, glue_rel_noteq >::yes) { not_zero = (PA[i] != PB[i]); } - else not_zero = false; + else { not_zero = false; } if(not_zero == true) { indices_mem[n_nz] = i; ++n_nz; } } @@ -395,7 +395,7 @@ if(is_same_type<glue_type, glue_rel_eq >::yes) { not_zero = (A.at(row,col) == B.at(row,col)); } else if(is_same_type<glue_type, glue_rel_noteq >::yes) { not_zero = (A.at(row,col) != B.at(row,col)); } - else not_zero = false; + else { not_zero = false; } if(not_zero == true) { indices_mem[n_nz] = i; ++n_nz; }