Skip to content

Commit 1dde933

Browse files
committed
Release 14.3.91-1 synced with 14.3.91
1 parent 451618d commit 1dde933

File tree

7 files changed

+88
-15
lines changed

7 files changed

+88
-15
lines changed

ChangeLog

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1+
2025-02-13 Dirk Eddelbuettel <[email protected]>
2+
3+
* inst/include/armadillo_bits/: Sync again with updated sources for
4+
Armadillo 14.3.91 as a RC for 14.4.*
5+
16
2025-02-11 Dirk Eddelbuettel <[email protected]>
27

8+
* inst/include/armadillo_bits/: Sync again with updated sources for
9+
Armadillo 14.3.90 as a RC for 14.4.*
10+
311
* R/RcppArmadillo.package.skeleton.R: Generalise helper function to
412
support additional DESCRIPTION fields
513
* man/RcppArmadillo.package.skeleton.Rd: Document

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.3.90-1
5-
Date: 2025-02-10
4+
Version: 14.3.91-1
5+
Date: 2025-02-13
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",

inst/include/armadillo_bits/Mat_meat.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -474,9 +474,9 @@ Mat<eT>::Mat(const char* text)
474474

475475
init( std::string(text) );
476476
}
477-
478-
479-
477+
478+
479+
480480
//! create the matrix from a textual description
481481
template<typename eT>
482482
inline
@@ -489,8 +489,8 @@ Mat<eT>::operator=(const char* text)
489489

490490
return *this;
491491
}
492-
493-
492+
493+
494494

495495
//! create the matrix from a textual description
496496
template<typename eT>
@@ -508,9 +508,9 @@ Mat<eT>::Mat(const std::string& text)
508508

509509
init(text);
510510
}
511-
512-
513-
511+
512+
513+
514514
//! create the matrix from a textual description
515515
template<typename eT>
516516
inline

inst/include/armadillo_bits/arma_version.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323

2424
#define ARMA_VERSION_MAJOR 14
2525
#define ARMA_VERSION_MINOR 3
26-
#define ARMA_VERSION_PATCH 90
27-
#define ARMA_VERSION_NAME "unstable"
26+
#define ARMA_VERSION_PATCH 91
27+
#define ARMA_VERSION_NAME "14.4-RC1"
2828

2929

3030

inst/include/armadillo_bits/fn_accu.hpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ accu(const eOp<T1,eop_square>& expr)
288288

289289
if((is_Mat<expr_P_stored_type>::value) || (is_subview_col<expr_P_stored_type>::value))
290290
{
291-
const quasi_unwrap<T1> U(expr.P.Q);
291+
const quasi_unwrap<expr_P_stored_type> U(expr.P.Q);
292292

293293
const eT* X_mem = U.M.memptr();
294294

@@ -987,8 +987,8 @@ accu(const eGlueCube<T1,T2,eglue_schur>& expr)
987987

988988
typedef eGlueCube<T1,T2,eglue_schur> expr_type;
989989

990-
typedef typename expr_type::proxy_type::stored_type P1_stored_type;
991-
typedef typename expr_type::proxy_type::stored_type P2_stored_type;
990+
typedef typename expr_type::proxy1_type::stored_type P1_stored_type;
991+
typedef typename expr_type::proxy2_type::stored_type P2_stored_type;
992992

993993
if(is_Cube<P1_stored_type>::value && is_Cube<P2_stored_type>::value)
994994
{

inst/include/armadillo_bits/fn_conv_to.hpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ class conv_to
2828
{
2929
public:
3030

31+
template<typename in_eT>
32+
arma_frown("use as_scalar() instead") inline static out_eT from(const in_eT& in, const typename arma_scalar_only<in_eT>::result* junk = nullptr);
33+
3134
template<typename in_eT, typename T1>
3235
arma_frown("use as_scalar() instead") inline static out_eT from(const Base<in_eT, T1>& in, const typename arma_not_cx<in_eT>::result* junk = nullptr);
3336

@@ -43,6 +46,26 @@ class conv_to
4346

4447

4548

49+
template<typename out_eT>
50+
template<typename in_eT>
51+
arma_warn_unused
52+
inline
53+
out_eT
54+
conv_to<out_eT>::from(const in_eT& in, const typename arma_scalar_only<in_eT>::result* junk)
55+
{
56+
arma_debug_sigprint();
57+
arma_ignore(junk);
58+
59+
arma_type_check(( is_supported_elem_type<out_eT>::value == false ));
60+
61+
// NOTE: this is meant only as a workaround for old user code;
62+
// NOTE: it doesn't handle conversions from complex to real
63+
64+
return out_eT(in);
65+
}
66+
67+
68+
4669
template<typename out_eT>
4770
template<typename in_eT, typename T1>
4871
arma_warn_unused

inst/include/armadillo_bits/fn_elem.hpp

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,20 @@ sqrt(const T1& A)
603603

604604

605605

606+
// workaround for old user code
607+
template<typename eT>
608+
arma_frown("use std::sqrt(arma::as_scalar(X)) instead")
609+
inline
610+
typename arma_scalar_only<eT>::result
611+
sqrt(const eT& A)
612+
{
613+
arma_debug_sigprint();
614+
615+
return eop_aux::sqrt(A);
616+
}
617+
618+
619+
606620
template<typename T1>
607621
arma_warn_unused
608622
arma_inline
@@ -767,6 +781,20 @@ pow(const T1& A, const typename T1::elem_type exponent)
767781

768782

769783

784+
// workaround for old user code
785+
template<typename eT>
786+
arma_frown("use std::pow(arma::as_scalar(X),Y) instead")
787+
inline
788+
typename arma_scalar_only<eT>::result
789+
pow(const eT& A, const eT exponent)
790+
{
791+
arma_debug_sigprint();
792+
793+
return eop_aux::pow(A, exponent);
794+
}
795+
796+
797+
770798
template<typename T1>
771799
arma_warn_unused
772800
arma_inline
@@ -797,6 +825,20 @@ pow(const T1& A, const typename T1::elem_type::value_type exponent)
797825

798826

799827

828+
// workaround for old user code
829+
template<typename eT>
830+
arma_frown("use std::pow(arma::as_scalar(X),Y) instead")
831+
inline
832+
typename enable_if2< is_cx<eT>::yes, eT >::result
833+
pow(const eT& A, const typename eT::value_type exponent)
834+
{
835+
arma_debug_sigprint();
836+
837+
return eop_aux::pow(A, eT(exponent));
838+
}
839+
840+
841+
800842
template<typename T1>
801843
arma_warn_unused
802844
arma_inline

0 commit comments

Comments
 (0)