diff options
| author | robot-piglet <[email protected]> | 2025-06-07 08:40:18 +0300 |
|---|---|---|
| committer | robot-piglet <[email protected]> | 2025-06-07 08:51:32 +0300 |
| commit | 0d8efcced9baa2783ed347bd277d427f4856f2cd (patch) | |
| tree | 4c34c507a4f9799b69cb173b614ec557c786cf6c /contrib/python/pythran/pythran/pythonic/include/numpy/dot.hpp | |
| parent | 4090cb78bac6232cb38fb8dde597d315070fca46 (diff) | |
Intermediate changes
commit_hash:929b636025dc9f709f1ff57bfa609d3504adba19
Diffstat (limited to 'contrib/python/pythran/pythran/pythonic/include/numpy/dot.hpp')
| -rw-r--r-- | contrib/python/pythran/pythran/pythonic/include/numpy/dot.hpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/contrib/python/pythran/pythran/pythonic/include/numpy/dot.hpp b/contrib/python/pythran/pythran/pythonic/include/numpy/dot.hpp index 1d7b2a2576a..41aab6226c4 100644 --- a/contrib/python/pythran/pythran/pythonic/include/numpy/dot.hpp +++ b/contrib/python/pythran/pythran/pythonic/include/numpy/dot.hpp @@ -29,15 +29,15 @@ struct is_strided { template <class E> struct is_blas_array { static constexpr bool value = - pythonic::types::is_array<E>::value && + pythonic::types::has_buffer<E>::value && is_blas_type<typename pythonic::types::dtype_of<E>::type>::value && !is_strided<E>::value; }; template <class E> -struct is_blas_expr { +struct is_blas_view { static constexpr bool value = - pythonic::types::is_array<E>::value && + pythonic::types::has_buffer<E>::value && is_blas_type<typename pythonic::types::dtype_of<E>::type>::value; }; @@ -56,7 +56,7 @@ namespace numpy typename std::enable_if< types::is_numexpr_arg<E>::value && types::is_numexpr_arg<F>::value && E::value == 1 && F::value == 1 && - (!is_blas_expr<E>::value || !is_blas_expr<F>::value || + (!is_blas_view<E>::value || !is_blas_view<F>::value || !std::is_same<typename E::dtype, typename F::dtype>::value), typename __combined<typename E::dtype, typename F::dtype>::type>::type dot(E const &e, F const &f); @@ -102,7 +102,7 @@ namespace numpy E::value == 1 && F::value == 1 && std::is_same<typename E::dtype, float>::value && std::is_same<typename F::dtype, float>::value && - (is_blas_expr<E>::value && is_blas_expr<F>::value && + (is_blas_view<E>::value && is_blas_view<F>::value && !(is_blas_array<E>::value && is_blas_array<F>::value)), float>::type dot(E const &e, F const &f); @@ -112,7 +112,7 @@ namespace numpy E::value == 1 && F::value == 1 && std::is_same<typename E::dtype, double>::value && std::is_same<typename F::dtype, double>::value && - (is_blas_expr<E>::value && is_blas_expr<F>::value && + (is_blas_view<E>::value && is_blas_view<F>::value && !(is_blas_array<E>::value && is_blas_array<F>::value)), double>::type dot(E const &e, F const &f); @@ -122,7 +122,7 @@ namespace numpy E::value == 1 && F::value == 1 && std::is_same<typename E::dtype, std::complex<float>>::value && std::is_same<typename F::dtype, std::complex<float>>::value && - (is_blas_expr<E>::value && is_blas_expr<F>::value && + (is_blas_view<E>::value && is_blas_view<F>::value && !(is_blas_array<E>::value && is_blas_array<F>::value)), std::complex<float>>::type dot(E const &e, F const &f); @@ -132,7 +132,7 @@ namespace numpy E::value == 1 && F::value == 1 && std::is_same<typename E::dtype, std::complex<double>>::value && std::is_same<typename F::dtype, std::complex<double>>::value && - (is_blas_expr<E>::value && is_blas_expr<F>::value && + (is_blas_view<E>::value && is_blas_view<F>::value && !(is_blas_array<E>::value && is_blas_array<F>::value)), std::complex<double>>::type dot(E const &e, F const &f); |
