From dff30c015193fa2793c543a7733194437881ec91 Mon Sep 17 00:00:00 2001 From: SwayamInSync Date: Thu, 11 Sep 2025 17:06:52 +0000 Subject: [PATCH 1/2] avoid direct union casting, bad --- quaddtype/numpy_quaddtype/src/umath/comparison_ops.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/quaddtype/numpy_quaddtype/src/umath/comparison_ops.cpp b/quaddtype/numpy_quaddtype/src/umath/comparison_ops.cpp index 095b6d39..e4b9579c 100644 --- a/quaddtype/numpy_quaddtype/src/umath/comparison_ops.cpp +++ b/quaddtype/numpy_quaddtype/src/umath/comparison_ops.cpp @@ -121,15 +121,19 @@ quad_generic_comp_strided_loop_aligned(PyArrayMethod_Context *context, char *con QuadPrecDTypeObject *descr = (QuadPrecDTypeObject *)context->descriptors[0]; QuadBackendType backend = descr->backend; while (N--) { - quad_value in1 = *(quad_value *)in1_ptr; - quad_value in2 = *(quad_value *)in2_ptr; + quad_value in1; + quad_value in2; npy_bool result; if (backend == BACKEND_SLEEF) { + in1.sleef_value = *(Sleef_quad *)in1_ptr; + in2.sleef_value = *(Sleef_quad *)in2_ptr; result = sleef_comp(&in1.sleef_value, &in2.sleef_value); } else { + in1.longdouble_value = *(long double *)in1_ptr; + in2.longdouble_value = *(long double *)in2_ptr; result = ld_comp(&in1.longdouble_value, &in2.longdouble_value); } From bcc67e60b9f707b888b7328fb575c7e5b547d460 Mon Sep 17 00:00:00 2001 From: SwayamInSync Date: Thu, 11 Sep 2025 19:14:26 +0000 Subject: [PATCH 2/2] bumping version to 0.2 --- quaddtype/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quaddtype/pyproject.toml b/quaddtype/pyproject.toml index 2353ca64..466b5231 100644 --- a/quaddtype/pyproject.toml +++ b/quaddtype/pyproject.toml @@ -10,7 +10,7 @@ build-backend = "mesonpy" [project] name = "numpy_quaddtype" description = "Quad (128-bit) float dtype for numpy" -version = "0.1.0" +version = "0.2.0" readme = 'README.md' license = { file = "LICENSE" } authors = [{name = "Swayam Singh", email = "singhswayam008@gmail.com"}]