diff --git a/include/armadillo_bits/fn_accu.hpp b/include/armadillo_bits/fn_accu.hpp index d116c4a6..dc297c44 100644 --- a/include/armadillo_bits/fn_accu.hpp +++ b/include/armadillo_bits/fn_accu.hpp @@ -292,7 +292,7 @@ accu(const Glue& expr) constexpr bool use_at = (Proxy::use_at) || (Proxy::use_at); constexpr bool fast_unwrap = (partial_unwrap::is_fast && partial_unwrap::is_fast); - + if(proxy_is_mat || use_at || fast_unwrap) { const partial_unwrap UA(expr.A); diff --git a/include/armadillo_bits/fn_as_scalar.hpp b/include/armadillo_bits/fn_as_scalar.hpp index ee5a074e..e2ae69cf 100644 --- a/include/armadillo_bits/fn_as_scalar.hpp +++ b/include/armadillo_bits/fn_as_scalar.hpp @@ -75,6 +75,7 @@ as_scalar_redirect<2>::apply(const Glue& X) // T1 must result in a matrix with one row // T2 must result in a matrix with one column + // element type must non-complex constexpr bool proxy_is_mat = (is_Mat::stored_type>::value && is_Mat::stored_type>::value); @@ -133,6 +134,7 @@ as_scalar_redirect<3>::apply(const Glue< Glue, T3, glue_time // T1 * T2 must result in a matrix with one row // T3 must result in a matrix with one column + // element type must non-complex typedef typename strip_inv ::stored_type T2_stripped_1; typedef typename strip_diagmat::stored_type T2_stripped_2;