1817 static PyObject*
1818 _getextrema(ImagingObject* self, PyObject* args)
1819 {
1820 union {
1821 UINT8 u[2];
1822 INT32 i[2];
1823 FLOAT32 f[2];
1824 } extrema;
1825 int status;
1826
1827 status = ImagingGetExtrema(self->image, &extrema);
1828 if (status < 0)
when considering range: -0x80000000 <= value <= -1
taking True path
1829 return NULL;
1830
1831 if (status)
1832 switch (self->image->type) {
1833 case IMAGING_TYPE_UINT8:
1834 return Py_BuildValue("ii", extrema.u[0], extrema.u[1]);
1835 case IMAGING_TYPE_INT32:
1836 return Py_BuildValue("ii", extrema.i[0], extrema.i[1]);
1837 case IMAGING_TYPE_FLOAT32:
1838 return Py_BuildValue("dd", extrema.f[0], extrema.f[1]);
1839 }
1840
1841 Py_INCREF(Py_None);
1842 return Py_None;
1843 }
returning (PyObject*)NULL without setting an exception