Skip to content

Commit 385ec31

Browse files
authored
Merge pull request #2224 from serge-sans-paille/fix/warnings
Fix various warnings
2 parents 2799672 + b24b7a0 commit 385ec31

File tree

4 files changed

+11
-4
lines changed

4 files changed

+11
-4
lines changed

include/xtensor/xmasked_view.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,8 @@ namespace xt
160160
template <class D, class M>
161161
xmasked_view(D&& data, M&& mask);
162162

163+
xmasked_view(xmasked_view const&) = default;
164+
163165
size_type size() const noexcept;
164166
const inner_shape_type& shape() const noexcept;
165167
const inner_strides_type& strides() const noexcept;

include/xtensor/xmath.hpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2694,9 +2694,10 @@ namespace detail {
26942694
// note: forcing copy of first axes argument -- is there a better solution?
26952695
auto axes_copy = axes;
26962696
using value_type = typename std::conditional_t<std::is_same<T, void>::value, double, T>;
2697+
using sum_type = typename std::conditional_t<std::is_same<T, void>::value, typename std::common_type_t<typename std::decay_t<E>::value_type, value_type>, T>;
26972698
// sum cannot always be a double. It could be a complex number which cannot operate on
26982699
// std::plus<double>.
2699-
return nansum<T>(sc, std::forward<X>(axes), es) / xt::cast<value_type>(count_nonnan(sc, std::move(axes_copy), es));
2700+
return nansum<sum_type>(sc, std::forward<X>(axes), es) / xt::cast<value_type>(count_nonnan(sc, std::move(axes_copy), es));
27002701
}
27012702

27022703
template <class T = void, class E, class EVS = DEFAULT_STRATEGY_REDUCERS,
@@ -2705,7 +2706,8 @@ namespace detail {
27052706
{
27062707
decltype(auto) sc = detail::shared_forward<E>(e);
27072708
using value_type = typename std::conditional_t<std::is_same<T, void>::value, double, T>;
2708-
return nansum<T>(sc, es) / xt::cast<value_type>(count_nonnan(sc, es));
2709+
using sum_type = typename std::conditional_t<std::is_same<T, void>::value, typename std::common_type_t<typename std::decay_t<E>::value_type, value_type>, T>;
2710+
return nansum<sum_type>(sc, es) / xt::cast<value_type>(count_nonnan(sc, es));
27092711
}
27102712

27112713
#ifdef X_OLD_CLANG
@@ -2776,7 +2778,7 @@ namespace detail {
27762778
keep_dim_shape[el] = 1;
27772779
}
27782780
auto mrv = reshape_view<XTENSOR_DEFAULT_LAYOUT>(std::move(inner_mean), std::move(keep_dim_shape));
2779-
return nanmean<result_type>(square(sc - std::move(mrv)), std::forward<X>(axes), es);
2781+
return nanmean<result_type>(square(cast<result_type>(sc) - std::move(mrv)), std::forward<X>(axes), es);
27802782
}
27812783

27822784
/**

include/xtensor/xview.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ namespace xt
230230
struct is_contiguous_view
231231
: std::integral_constant<bool,
232232
has_data_interface<E>::value &&
233-
!(E::static_layout == layout_type::column_major && static_dimension<typename E::shape_type>::value != sizeof...(S)) &&
233+
!(E::static_layout == layout_type::column_major && static_cast<std::size_t>(static_dimension<typename E::shape_type>::value) != sizeof...(S)) &&
234234
is_contiguous_view_impl<E::static_layout, true, false, false, xtl::mpl::vector<S...>>::value
235235
>
236236
{

test/test_xnpy.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ namespace xt
2929
case xtl::endian::little_endian:
3030
endianness = ".le";
3131
break;
32+
case xtl::endian::mixed:
33+
endianness = ".unsupported";
34+
break;
3235
}
3336
return npy_prefix + lts + endianness + ".npy";
3437
}

0 commit comments

Comments
 (0)