Skip to content

Commit 0052e16

Browse files
committed
Creating Quad with Quad
1 parent 0a75b91 commit 0052e16

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

quaddtype/numpy_quaddtype/src/scalar.c

+13
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,19 @@ QuadPrecision_from_object(PyObject *value, QuadBackendType backend)
7676
self->value.longdouble_value = (long double)val;
7777
}
7878
}
79+
else if (Py_TYPE(value) == &QuadPrecision_Type)
80+
{
81+
// todo: not working for ld backend, getting garbage value not sure why?
82+
QuadPrecisionObject *quad_obj = (QuadPrecisionObject *)value;
83+
// printf("%d %d\n", quad_obj->backend, backend);
84+
// printf("%Lf\n", quad_obj->value.longdouble_value);
85+
if (quad_obj->backend == BACKEND_SLEEF) {
86+
self->value.sleef_value = quad_obj->value.sleef_value;
87+
}
88+
else {
89+
self->value.longdouble_value = quad_obj->value.longdouble_value;
90+
}
91+
}
7992
else {
8093
PyObject *type_str = PyObject_Str((PyObject *)Py_TYPE(value));
8194
if (type_str != NULL) {

0 commit comments

Comments
 (0)