| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib/python3/dist-packages/pythran/pythonic/operator_/ |
Upload File : |
#ifndef PYTHONIC_OPERATOR_MUL_HPP
#define PYTHONIC_OPERATOR_MUL_HPP
#include "pythonic/include/operator_/mul.hpp"
#include "pythonic/utils/functor.hpp"
#include "pythonic/operator_/overloads.hpp"
PYTHONIC_NS_BEGIN
namespace operator_
{
template <class A, class B>
auto mul(A &&a, B &&b) -> decltype(std::forward<A>(a) * std::forward<B>(b))
{
return std::forward<A>(a) * std::forward<B>(b);
}
DEFINE_ALL_OPERATOR_OVERLOADS_IMPL(
mul, *,
(b == 0 ||
(a * b >= 0 &&
std::abs(a) <= std::numeric_limits<decltype(b)>::max() / std::abs(b)) ||
(a * b <= 0 &&
std::abs(a) >= std::numeric_limits<decltype(b)>::min() / std::abs(b))))
}
PYTHONIC_NS_END
#endif