File numpy-complex.patch of Package python-pythran

From a49dc44076f7068205c22f532975c50cc4c03958 Mon Sep 17 00:00:00 2001
From: Lysandros Nikolaou <lisandrosnik@gmail.com>
Date: Wed, 19 Jul 2023 13:03:41 +0200
Subject: [PATCH] Use npy_creal/npy_cimag from npy_math in from_python::convert

---
 pythran/pythonic/types/complex.hpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/pythran/pythonic/types/complex.hpp b/pythran/pythonic/types/complex.hpp
index 9b57f7384..929a3d200 100644
--- a/pythran/pythonic/types/complex.hpp
+++ b/pythran/pythonic/types/complex.hpp
@@ -177,6 +177,7 @@ PYTHONIC_NS_END
 #ifdef ENABLE_PYTHON_MODULE
 
 #include "numpy/arrayscalars.h"
+#include "numpy/npy_math.h"
 #include "pythonic/python/core.hpp"
 
 PYTHONIC_NS_BEGIN
@@ -228,7 +229,7 @@ inline std::complex<long double>
 from_python<std::complex<long double>>::convert(PyObject *obj)
 {
   auto val = PyArrayScalar_VAL(obj, CLongDouble);
-  return {val.real, val.imag};
+  return {npy_creall(val), npy_cimagl(val)};
 }
 
 template <>
@@ -243,7 +244,7 @@ inline std::complex<float>
 from_python<std::complex<float>>::convert(PyObject *obj)
 {
   auto val = PyArrayScalar_VAL(obj, CFloat);
-  return {val.real, val.imag};
+  return {npy_crealf(val), npy_cimagf(val)};
 }
 PYTHONIC_NS_END
 #endif
openSUSE Build Service is sponsored by