File tree 1 file changed +3
-3
lines changed
1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -2610,8 +2610,8 @@ namespace detail {
2610
2610
XTL_REQUIRES (is_reducer_options<EVS>)>
2611
2611
inline auto nanvar(E&& e, EVS es = EVS())
2612
2612
{
2613
- decltype ( auto ) sc = detail::shared_forward<E >(e);
2614
- return nanmean<T>(square (sc - nanmean<T>(sc) ), es);
2613
+ auto cached_mean = nanmean<T >(e, es)( );
2614
+ return nanmean<T>(square (std::forward<E>(e) - cached_mean ), es);
2615
2615
}
2616
2616
2617
2617
template <class T = void , class E , class EVS = DEFAULT_STRATEGY_REDUCERS,
@@ -2648,7 +2648,7 @@ namespace detail {
2648
2648
// note: forcing copy of first axes argument -- is there a better solution?
2649
2649
auto axes_copy = axes;
2650
2650
using result_type = typename std::conditional_t <std::is_same<T, void >::value, double , T>;
2651
- auto inner_mean = nanmean<result_type>(sc, std::move (axes_copy));
2651
+ auto inner_mean = eval ( nanmean<result_type>(sc, std::move (axes_copy), evaluation_strategy::immediate ));
2652
2652
2653
2653
// fake keep_dims = 1
2654
2654
auto keep_dim_shape = e.shape ();
You can’t perform that action at this time.
0 commit comments