File tree Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -2610,8 +2610,8 @@ namespace detail {
26102610 XTL_REQUIRES (is_reducer_options<EVS>)>
26112611 inline auto nanvar(E&& e, EVS es = EVS())
26122612 {
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);
26152615 }
26162616
26172617 template <class T = void , class E , class EVS = DEFAULT_STRATEGY_REDUCERS,
@@ -2648,7 +2648,7 @@ namespace detail {
26482648 // note: forcing copy of first axes argument -- is there a better solution?
26492649 auto axes_copy = axes;
26502650 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 ));
26522652
26532653 // fake keep_dims = 1
26542654 auto keep_dim_shape = e.shape ();
You can’t perform that action at this time.
0 commit comments