|
4 | 4 | #include <Python.h> |
5 | 5 |
|
6 | 6 | #include "cinderx/StaticPython/generic_type.h" |
| 7 | +#include "cinderx/StaticPython/type_code.h" |
| 8 | + |
7 | 9 | #ifdef __cplusplus |
8 | 10 | extern "C" { |
9 | 11 | #endif |
10 | 12 |
|
11 | | -#define TYPED_INT_UNSIGNED 0 |
12 | | -#define TYPED_INT_SIGNED 1 |
13 | | - |
14 | | -#define TYPED_INT_8BIT 0 |
15 | | -#define TYPED_INT_16BIT 1 |
16 | | -#define TYPED_INT_32BIT 2 |
17 | | -#define TYPED_INT_64BIT 3 |
18 | | - |
19 | | -#define TYPED_INT8 (TYPED_INT_8BIT << 1 | TYPED_INT_SIGNED) |
20 | | -#define TYPED_INT16 (TYPED_INT_16BIT << 1 | TYPED_INT_SIGNED) |
21 | | -#define TYPED_INT32 (TYPED_INT_32BIT << 1 | TYPED_INT_SIGNED) |
22 | | -#define TYPED_INT64 (TYPED_INT_64BIT << 1 | TYPED_INT_SIGNED) |
23 | | - |
24 | | -#define TYPED_UINT8 (TYPED_INT_8BIT << 1 | TYPED_INT_UNSIGNED) |
25 | | -#define TYPED_UINT16 (TYPED_INT_16BIT << 1 | TYPED_INT_UNSIGNED) |
26 | | -#define TYPED_UINT32 (TYPED_INT_32BIT << 1 | TYPED_INT_UNSIGNED) |
27 | | -#define TYPED_UINT64 (TYPED_INT_64BIT << 1 | TYPED_INT_UNSIGNED) |
28 | | - |
29 | | -// Gets one of TYPED_INT_8BIT, TYPED_INT_16BIT, etc.. from TYPED_INT8, |
30 | | -// TYPED_UINT8, etc... also TYPED_SIZE(TYPED_BOOL) == TYPED_INT_8BIT |
31 | | -#define TYPED_SIZE(typed_int) ((typed_int >> 1) & 3) |
32 | | - |
33 | | -#define TYPED_OBJECT 0x08 |
34 | | -#define TYPED_DOUBLE 0x09 |
35 | | -#define TYPED_SINGLE 0x0A |
36 | | -#define TYPED_CHAR 0x0B |
37 | | -// must be even: TYPED_BOOL & TYPED_INT_SIGNED should be false |
38 | | -#define TYPED_BOOL 0x0C |
39 | | -#define TYPED_VOID 0x0D |
40 | | -#define TYPED_STRING 0x0E |
41 | | -#define TYPED_ERROR 0x0F |
42 | | - |
43 | | -#define TYPED_ARRAY 0x80 |
44 | | - |
45 | | -#define _Py_IS_TYPED_ARRAY(x) (x & TYPED_ARRAY) |
46 | | -#define _Py_IS_TYPED_ARRAY_SIGNED(x) (x & (TYPED_INT_SIGNED << 4)) |
47 | | - |
48 | | -#define Ci_METH_TYPED 0x0400 |
49 | | - |
50 | 13 | /* Flag marks this as optional */ |
51 | 14 | #define Ci_Py_SIG_OPTIONAL 0x01 |
52 | 15 | /* Flag marks this a type param, high bits are type index */ |
|
0 commit comments