%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/985914/root/lib/python3/dist-packages/pythran/pythonic/utils/
Upload File :
Create Path :
Current File : //proc/985914/root/lib/python3/dist-packages/pythran/pythonic/utils/numpy_conversion.hpp

#ifndef PYTHONIC_UTILS_NUMPY_CONVERSION_HPP
#define PYTHONIC_UTILS_NUMPY_CONVERSION_HPP

#include "pythonic/include/utils/numpy_conversion.hpp"
#include "pythonic/utils/numpy_traits.hpp"

#if _MSC_VER && !__clang__
#define NUMPY_EXPR_TO_NDARRAY0_IMPL(fname)                                     \
  template <class E, class... Types,                                           \
            typename std::enable_if<!types::is_ndarray<E>::value &&            \
                                        types::is_array<E>::value,             \
                                    E>::type * = nullptr>                      \
  auto fname(E const &expr, Types &&... others)                                \
  {                                                                            \
    return fname(types::ndarray<typename E::dtype, typename E::shape_t>{expr}, \
                 std::forward<Types>(others)...);                              \
  }
#else
#define NUMPY_EXPR_TO_NDARRAY0_IMPL(fname)                                     \
  template <class E, class... Types>                                           \
  auto fname(E const &expr, Types &&... others)                                \
      ->typename std::enable_if<                                               \
          !types::is_ndarray<E>::value && types::is_array<E>::value,           \
          decltype(fname(                                                      \
              types::ndarray<typename E::dtype, typename E::shape_t>{expr},    \
              std::forward<Types>(others)...))>::type                          \
  {                                                                            \
    return fname(types::ndarray<typename E::dtype, typename E::shape_t>{expr}, \
                 std::forward<Types>(others)...);                              \
  }
#endif
#endif

Zerion Mini Shell 1.0