Lines Matching defs:ival
36 #define IS_SMALL_INT(ival) (-_PY_NSMALLNEGINTS <= (ival) && (ival) < _PY_NSMALLPOSINTS)
37 #define IS_SMALL_UINT(ival) ((ival) < _PY_NSMALLPOSINTS)
58 get_small_int(sdigit ival)
60 assert(IS_SMALL_INT(ival));
61 PyObject *v = (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS + ival];
70 stwodigits ival = medium_value(v);
71 if (IS_SMALL_INT(ival)) {
73 return (PyLongObject *)get_small_int((sdigit)ival);
182 stwodigits ival = medium_value(src);
183 if (IS_SMALL_INT(ival)) {
184 return get_small_int((sdigit)ival);
216 _PyLong_FromLarge(stwodigits ival)
220 assert(!is_medium_int(ival));
222 if (ival < 0) {
223 /* negate: can't write this as abs_ival = -ival since that
224 invokes undefined behaviour when ival is LONG_MIN */
225 abs_ival = 0U-(twodigits)ival;
229 abs_ival = (twodigits)ival;
288 PyLong_FromLong(long ival)
295 if (IS_SMALL_INT(ival)) {
296 return get_small_int((sdigit)ival);
298 if (-(long)PyLong_MASK <= ival && ival <= (long)PyLong_MASK) {
299 return _PyLong_FromMedium((sdigit)ival);
303 abs_ival = ival < 0 ? 0U-(unsigned long)ival : (unsigned long)ival;
316 Py_SET_SIZE(v, ival < 0 ? -ndigits : ndigits);
326 #define PYLONG_FROM_UINT(INT_TYPE, ival) \
328 if (IS_SMALL_UINT(ival)) { \
329 return get_small_int((sdigit)(ival)); \
333 INT_TYPE t = (ival); \
343 while ((ival)) { \
344 *p++ = (digit)((ival) & PyLong_MASK); \
345 (ival) >>= PyLong_SHIFT; \
353 PyLong_FromUnsignedLong(unsigned long ival)
355 PYLONG_FROM_UINT(unsigned long, ival);
361 PyLong_FromUnsignedLongLong(unsigned long long ival)
363 PYLONG_FROM_UINT(unsigned long long, ival);
369 PyLong_FromSize_t(size_t ival)
371 PYLONG_FROM_UINT(size_t, ival);
1115 PyLong_FromLongLong(long long ival)
1122 if (IS_SMALL_INT(ival)) {
1123 return get_small_int((sdigit)ival);
1125 if (-(long long)PyLong_MASK <= ival && ival <= (long long)PyLong_MASK) {
1126 return _PyLong_FromMedium((sdigit)ival);
1130 abs_ival = ival < 0 ? 0U-(unsigned long long)ival : (unsigned long long)ival;
1143 Py_SET_SIZE(v, ival < 0 ? -ndigits : ndigits);
1156 PyLong_FromSsize_t(Py_ssize_t ival)
1164 if (IS_SMALL_INT(ival)) {
1165 return get_small_int((sdigit)ival);
1168 if (ival < 0) {
1169 /* avoid signed overflow when ival = SIZE_T_MIN */
1170 abs_ival = (size_t)(-1-ival)+1;
1174 abs_ival = (size_t)ival;