Skip to content

Commit fb04515

Browse files
committed
fixed memory issues and more ufuncs
1 parent 96270bc commit fb04515

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

quaddtype/quaddtype/src/ops.hpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,20 @@ quad_mod(Sleef_quad *res, Sleef_quad *a, Sleef_quad *b)
153153
return 0;
154154
}
155155

156+
static inline int
157+
quad_minimum(Sleef_quad *out, Sleef_quad *in1, Sleef_quad *in2)
158+
{
159+
*out = Sleef_icmpleq1(*in1, *in2) ? *in1 : *in2;
160+
return 0;
161+
}
162+
163+
static inline int
164+
quad_maximum(Sleef_quad *out, Sleef_quad *in1, Sleef_quad *in2)
165+
{
166+
*out = Sleef_icmpgeq1(*in1, *in2) ? *in1 : *in2;
167+
return 0;
168+
}
169+
156170
// comparison functions
157171
typedef npy_bool (*cmp_def)(const Sleef_quad *, const Sleef_quad *);
158172

quaddtype/quaddtype/src/umath.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,12 @@ init_quad_binary_ops(PyObject *numpy)
422422
if (create_quad_binary_ufunc<quad_mod>(numpy, "mod") < 0) {
423423
return -1;
424424
}
425+
if (create_quad_binary_ufunc<quad_minimum>(numpy, "minimum") < 0) {
426+
return -1;
427+
}
428+
if (create_quad_binary_ufunc<quad_maximum>(numpy, "maximum") < 0) {
429+
return -1;
430+
}
425431
return 0;
426432
}
427433

0 commit comments

Comments
 (0)