Skip to content

Commit 5f59280

Browse files
authored
Merge pull request #468 from RcppCore/feature/14.6.0
RcppArmadillo 14.6.0
2 parents 66dcdb5 + 8159eae commit 5f59280

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+2160
-922
lines changed

ChangeLog

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,38 @@
1+
2025-07-02 Dirk Eddelbuettel <[email protected]>
2+
3+
* DESCRIPTION (Version, Date): RcppArmadillo 14.6.0-1
4+
* inst/NEWS.Rd: Idem
5+
* configure.ac: Idem
6+
* configure: Idem
7+
8+
* inst/include/armadillo/: Armadillo 14.6.0
9+
* inst/include/armadillo_bits/: Idem
10+
11+
2025-07-01 Dirk Eddelbuettel <[email protected]>
12+
13+
* DESCRIPTION (Version, Date): RcppArmadillo 14.5.92-1
14+
* inst/NEWS.Rd: Idem
15+
* configure.ac: Idem
16+
* configure: Idem
17+
18+
* inst/include/armadillo/: Armadillo 14.5.92 as RC2 for 14.6.0
19+
* inst/include/armadillo_bits/: Idem
20+
21+
2025-06-30 Dirk Eddelbuettel <[email protected]>
22+
23+
* DESCRIPTION (Version, Date): RcppArmadillo 14.5.91-1
24+
* inst/NEWS.Rd: Idem
25+
* configure.ac: Idem
26+
* configure: Idem
27+
28+
* inst/include/armadillo/: Armadillo 14.5.91 as RC1 for 14.6.0
29+
* inst/include/armadillo_bits/: Idem
30+
31+
2025-06-21 Dirk Eddelbuettel <[email protected]>
32+
33+
* man/fastLm.Rd: Update discussion of rank-deficient systems to note
34+
that newer Armadillo versions warn and fall back to approx solution
35+
136
2025-05-21 Dirk Eddelbuettel <[email protected]>
237

338
* DESCRIPTION (Version, Date): RcppArmadillo 14.4.3-1

DESCRIPTION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
Package: RcppArmadillo
22
Type: Package
33
Title: 'Rcpp' Integration for the 'Armadillo' Templated Linear Algebra Library
4-
Version: 14.4.3-1
5-
Date: 2025-05-21
4+
Version: 14.6.0-1
5+
Date: 2025-07-02
66
Authors@R: c(person("Dirk", "Eddelbuettel", role = c("aut", "cre"), email = "[email protected]",
77
comment = c(ORCID = "0000-0001-6419-907X")),
88
person("Romain", "Francois", role = "aut",

configure

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#! /bin/sh
22
# Guess values for system-dependent variables and create Makefiles.
3-
# Generated by GNU Autoconf 2.72 for RcppArmadillo 14.4.3-1.
3+
# Generated by GNU Autoconf 2.72 for RcppArmadillo 14.6.0-1.
44
#
55
# Report bugs to <[email protected]>.
66
#
@@ -603,8 +603,8 @@ MAKEFLAGS=
603603
# Identity of this package.
604604
PACKAGE_NAME='RcppArmadillo'
605605
PACKAGE_TARNAME='rcpparmadillo'
606-
PACKAGE_VERSION='14.4.3-1'
607-
PACKAGE_STRING='RcppArmadillo 14.4.3-1'
606+
PACKAGE_VERSION='14.6.0-1'
607+
PACKAGE_STRING='RcppArmadillo 14.6.0-1'
608608
PACKAGE_BUGREPORT='[email protected]'
609609
PACKAGE_URL=''
610610

@@ -1222,7 +1222,7 @@ if test "$ac_init_help" = "long"; then
12221222
# Omit some internal or obsolete options to make the list less imposing.
12231223
# This message is too long to be a string in the A/UX 3.1 sh.
12241224
cat <<_ACEOF
1225-
'configure' configures RcppArmadillo 14.4.3-1 to adapt to many kinds of systems.
1225+
'configure' configures RcppArmadillo 14.6.0-1 to adapt to many kinds of systems.
12261226
12271227
Usage: $0 [OPTION]... [VAR=VALUE]...
12281228
@@ -1284,7 +1284,7 @@ fi
12841284

12851285
if test -n "$ac_init_help"; then
12861286
case $ac_init_help in
1287-
short | recursive ) echo "Configuration of RcppArmadillo 14.4.3-1:";;
1287+
short | recursive ) echo "Configuration of RcppArmadillo 14.6.0-1:";;
12881288
esac
12891289
cat <<\_ACEOF
12901290
@@ -1365,7 +1365,7 @@ fi
13651365
test -n "$ac_init_help" && exit $ac_status
13661366
if $ac_init_version; then
13671367
cat <<\_ACEOF
1368-
RcppArmadillo configure 14.4.3-1
1368+
RcppArmadillo configure 14.6.0-1
13691369
generated by GNU Autoconf 2.72
13701370
13711371
Copyright (C) 2023 Free Software Foundation, Inc.
@@ -1481,7 +1481,7 @@ cat >config.log <<_ACEOF
14811481
This file contains any messages produced by compilers while
14821482
running configure, to aid debugging if configure makes a mistake.
14831483
1484-
It was created by RcppArmadillo $as_me 14.4.3-1, which was
1484+
It was created by RcppArmadillo $as_me 14.6.0-1, which was
14851485
generated by GNU Autoconf 2.72. Invocation command line was
14861486
14871487
$ $0$ac_configure_args_raw
@@ -3980,7 +3980,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
39803980
# report actual input values of CONFIG_FILES etc. instead of their
39813981
# values after options handling.
39823982
ac_log="
3983-
This file was extended by RcppArmadillo $as_me 14.4.3-1, which was
3983+
This file was extended by RcppArmadillo $as_me 14.6.0-1, which was
39843984
generated by GNU Autoconf 2.72. Invocation command line was
39853985
39863986
CONFIG_FILES = $CONFIG_FILES
@@ -4035,7 +4035,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
40354035
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
40364036
ac_cs_config='$ac_cs_config_escaped'
40374037
ac_cs_version="\\
4038-
RcppArmadillo config.status 14.4.3-1
4038+
RcppArmadillo config.status 14.6.0-1
40394039
configured by $0, generated by GNU Autoconf 2.72,
40404040
with options \\"\$ac_cs_config\\"
40414041

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
AC_PREREQ([2.69])
1212

1313
## Process this file with autoconf to produce a configure script.
14-
AC_INIT([RcppArmadillo],[14.4.3-1],[[email protected]])
14+
AC_INIT([RcppArmadillo],[14.6.0-1],[[email protected]])
1515

1616
## Set R_HOME, respecting an environment variable if one is set
1717
: ${R_HOME=$(R RHOME)}

inst/NEWS.Rd

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,22 @@
33
\newcommand{\ghpr}{\href{https://github.com/RcppCore/RcppArmadillo/pull/#1}{##1}}
44
\newcommand{\ghit}{\href{https://github.com/RcppCore/RcppArmadillo/issues/#1}{##1}}
55

6+
\section{Changes in RcppArmadillo version 14.6.0-1 (2025-07-02)}{
7+
\itemize{
8+
\item Upgraded to Armadillo release 14.6.0 (Caffe Mocha)
9+
\itemize{
10+
\item Added \code{balance()} to transform matrices so that column and
11+
row norms are roughly the same
12+
\item Added \code{omit_nan()} and \code{omit_nonfinite()} to extract
13+
elements while omitting NaN and non-finite values
14+
\item Added \code{find_nonnan()} for finding indices of non-NaN elements
15+
\item Added standalone \code{replace()} function
16+
}
17+
\item The \code{fastLm()} help page now mentions that options to
18+
\code{solve()} can control its behavior.
19+
}
20+
}
21+
622
\section{Changes in RcppArmadillo version 14.4.3-1 (2025-05-21)}{
723
\itemize{
824
\item Upgraded to Armadillo release 14.4.3 (Filtered Espresso)
@@ -20,9 +36,7 @@
2036
\item Fix for \code{expmat()}
2137
\item Workaround for bugs in clang 20 compiler
2238
}
23-
\itemize{
24-
\item Micro-cleanup in one test file
25-
}
39+
\item Micro-cleanup in one test file
2640
}
2741
}
2842

inst/include/armadillo

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,7 @@ namespace arma
304304
#include "armadillo_bits/op_clamp_bones.hpp"
305305
#include "armadillo_bits/op_expmat_bones.hpp"
306306
#include "armadillo_bits/op_nonzeros_bones.hpp"
307+
#include "armadillo_bits/op_omit_bones.hpp"
307308
#include "armadillo_bits/op_diff_bones.hpp"
308309
#include "armadillo_bits/op_norm_bones.hpp"
309310
#include "armadillo_bits/op_vecnorm_bones.hpp"
@@ -377,6 +378,7 @@ namespace arma
377378
#include "armadillo_bits/spop_norm_bones.hpp"
378379
#include "armadillo_bits/spop_shift_bones.hpp"
379380
#include "armadillo_bits/spop_relational_bones.hpp"
381+
#include "armadillo_bits/spop_omit_bones.hpp"
380382

381383
#include "armadillo_bits/spglue_plus_bones.hpp"
382384
#include "armadillo_bits/spglue_minus_bones.hpp"
@@ -564,6 +566,7 @@ namespace arma
564566
#include "armadillo_bits/fn_clamp.hpp"
565567
#include "armadillo_bits/fn_expmat.hpp"
566568
#include "armadillo_bits/fn_nonzeros.hpp"
569+
#include "armadillo_bits/fn_omit.hpp"
567570
#include "armadillo_bits/fn_interp1.hpp"
568571
#include "armadillo_bits/fn_interp2.hpp"
569572
#include "armadillo_bits/fn_qz.hpp"
@@ -590,6 +593,7 @@ namespace arma
590593
#include "armadillo_bits/fn_powmat.hpp"
591594
#include "armadillo_bits/fn_powext.hpp"
592595
#include "armadillo_bits/fn_diags_spdiags.hpp"
596+
#include "armadillo_bits/fn_balance.hpp"
593597

594598
#include "armadillo_bits/fn_speye.hpp"
595599
#include "armadillo_bits/fn_spones.hpp"
@@ -758,6 +762,7 @@ namespace arma
758762
#include "armadillo_bits/op_clamp_meat.hpp"
759763
#include "armadillo_bits/op_expmat_meat.hpp"
760764
#include "armadillo_bits/op_nonzeros_meat.hpp"
765+
#include "armadillo_bits/op_omit_meat.hpp"
761766
#include "armadillo_bits/op_diff_meat.hpp"
762767
#include "armadillo_bits/op_norm_meat.hpp"
763768
#include "armadillo_bits/op_vecnorm_meat.hpp"
@@ -831,6 +836,7 @@ namespace arma
831836
#include "armadillo_bits/spop_norm_meat.hpp"
832837
#include "armadillo_bits/spop_shift_meat.hpp"
833838
#include "armadillo_bits/spop_relational_meat.hpp"
839+
#include "armadillo_bits/spop_omit_meat.hpp"
834840

835841
#include "armadillo_bits/spglue_plus_meat.hpp"
836842
#include "armadillo_bits/spglue_minus_meat.hpp"

inst/include/armadillo_bits/BaseCube_meat.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ BaseCube<elem_type,derived>::is_finite() const
328328
for(uword c=0; c<n_c; ++c)
329329
for(uword r=0; r<n_r; ++r)
330330
{
331-
if( arma_isfinite(P.at(r,c,s)) == false ) { return false; }
331+
if( arma_isnonfinite(P.at(r,c,s)) ) { return false; }
332332
}
333333
}
334334

@@ -436,7 +436,7 @@ BaseCube<elem_type,derived>::has_nonfinite() const
436436
for(uword c=0; c<n_c; ++c)
437437
for(uword r=0; r<n_r; ++r)
438438
{
439-
if(arma_isfinite(P.at(r,c,s)) == false) { return true; }
439+
if(arma_isnonfinite(P.at(r,c,s))) { return true; }
440440
}
441441
}
442442

inst/include/armadillo_bits/Base_meat.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,7 @@ Base<elem_type,derived>::is_finite() const
685685

686686
for(uword i=0; i<n_elem; ++i)
687687
{
688-
if(arma_isfinite(Pea[i]) == false) { return false; }
688+
if(arma_isnonfinite(Pea[i])) { return false; }
689689
}
690690
}
691691
else
@@ -696,7 +696,7 @@ Base<elem_type,derived>::is_finite() const
696696
for(uword col=0; col<n_cols; ++col)
697697
for(uword row=0; row<n_rows; ++row)
698698
{
699-
if(arma_isfinite(P.at(row,col)) == false) { return false; }
699+
if(arma_isnonfinite(P.at(row,col))) { return false; }
700700
}
701701
}
702702
}
@@ -829,7 +829,7 @@ Base<elem_type,derived>::has_nonfinite() const
829829

830830
for(uword i=0; i<n_elem; ++i)
831831
{
832-
if(arma_isfinite(Pea[i]) == false) { return true; }
832+
if(arma_isnonfinite(Pea[i])) { return true; }
833833
}
834834
}
835835
else
@@ -840,7 +840,7 @@ Base<elem_type,derived>::has_nonfinite() const
840840
for(uword col=0; col<n_cols; ++col)
841841
for(uword row=0; row<n_rows; ++row)
842842
{
843-
if(arma_isfinite(P.at(row,col)) == false) { return true; }
843+
if(arma_isnonfinite(P.at(row,col))) { return true; }
844844
}
845845
}
846846
}

inst/include/armadillo_bits/Cube_meat.hpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -784,6 +784,10 @@ Cube<eT>::operator=(const Cube<eT>& x)
784784

785785
arrayops::copy( memptr(), x.mem, n_elem );
786786
}
787+
else
788+
{
789+
arma_debug_print("Cube::operator=(): copy omitted");
790+
}
787791

788792
return *this;
789793
}

inst/include/armadillo_bits/MapMat_meat.hpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,12 @@ MapMat<eT>::operator=(const MapMat<eT>& x)
106106
{
107107
arma_debug_sigprint();
108108

109-
if(this == &x) { return; }
109+
if(this == &x)
110+
{
111+
arma_debug_print("MapMat::operator=(): copy omitted");
112+
113+
return;
114+
}
110115

111116
access::rw(n_rows) = x.n_rows;
112117
access::rw(n_cols) = x.n_cols;

0 commit comments

Comments
 (0)