@@ -2872,7 +2872,7 @@ Cube<eT>::Cube(const eOpCube<T1, eop_type>& X)
28722872
28732873 init_cold ();
28742874
2875- if (is_same_type<eop_type, eop_pow>::value)
2875+ if (arma_config::optimise_powexpr && is_same_type<eop_type, eop_pow>::value)
28762876 {
28772877 constexpr bool eT_non_int = is_non_integral<eT>::value;
28782878
@@ -2902,7 +2902,7 @@ Cube<eT>::operator=(const eOpCube<T1, eop_type>& X)
29022902
29032903 init_warm (X.get_n_rows (), X.get_n_cols (), X.get_n_slices ());
29042904
2905- if (is_same_type<eop_type, eop_pow>::value)
2905+ if (arma_config::optimise_powexpr && is_same_type<eop_type, eop_pow>::value)
29062906 {
29072907 constexpr bool eT_non_int = is_non_integral<eT>::value;
29082908
@@ -2932,7 +2932,7 @@ Cube<eT>::operator+=(const eOpCube<T1, eop_type>& X)
29322932
29332933 if (bad_alias) { const Cube<eT> tmp (X); return (*this ).operator +=(tmp); }
29342934
2935- if (is_same_type<eop_type, eop_pow>::value)
2935+ if (arma_config::optimise_powexpr && is_same_type<eop_type, eop_pow>::value)
29362936 {
29372937 constexpr bool eT_non_int = is_non_integral<eT>::value;
29382938
@@ -2962,7 +2962,7 @@ Cube<eT>::operator-=(const eOpCube<T1, eop_type>& X)
29622962
29632963 if (bad_alias) { const Cube<eT> tmp (X); return (*this ).operator -=(tmp); }
29642964
2965- if (is_same_type<eop_type, eop_pow>::value)
2965+ if (arma_config::optimise_powexpr && is_same_type<eop_type, eop_pow>::value)
29662966 {
29672967 constexpr bool eT_non_int = is_non_integral<eT>::value;
29682968
@@ -2992,7 +2992,7 @@ Cube<eT>::operator%=(const eOpCube<T1, eop_type>& X)
29922992
29932993 if (bad_alias) { const Cube<eT> tmp (X); return (*this ).operator %=(tmp); }
29942994
2995- if (is_same_type<eop_type, eop_pow>::value)
2995+ if (arma_config::optimise_powexpr && is_same_type<eop_type, eop_pow>::value)
29962996 {
29972997 constexpr bool eT_non_int = is_non_integral<eT>::value;
29982998
@@ -3022,7 +3022,7 @@ Cube<eT>::operator/=(const eOpCube<T1, eop_type>& X)
30223022
30233023 if (bad_alias) { const Cube<eT> tmp (X); return (*this ).operator /=(tmp); }
30243024
3025- if (is_same_type<eop_type, eop_pow>::value)
3025+ if (arma_config::optimise_powexpr && is_same_type<eop_type, eop_pow>::value)
30263026 {
30273027 constexpr bool eT_non_int = is_non_integral<eT>::value;
30283028
0 commit comments