|
1 | 1 | /*
|
2 |
| - * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved. |
| 2 | + * Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved. |
3 | 3 | * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
4 | 4 | *
|
5 | 5 | * The Universal Permissive License (UPL), Version 1.0
|
|
40 | 40 | */
|
41 | 41 | package com.oracle.graal.python.builtins.objects.cext;
|
42 | 42 |
|
| 43 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_ABSOLUTE; |
43 | 44 | import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_ADD;
|
44 | 45 | import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_AND;
|
| 46 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_BOOL; |
| 47 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_DIVMOD; |
| 48 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_FLOAT; |
45 | 49 | import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_FLOOR_DIVIDE;
|
46 | 50 | import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INDEX;
|
47 | 51 | import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INPLACE_ADD;
|
| 52 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INPLACE_AND; |
| 53 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INPLACE_FLOOR_DIVIDE; |
| 54 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INPLACE_LSHIFT; |
48 | 55 | import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INPLACE_MULTIPLY;
|
| 56 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INPLACE_OR; |
| 57 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INPLACE_POWER; |
| 58 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INPLACE_REMAINDER; |
| 59 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INPLACE_RSHIFT; |
| 60 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INPLACE_SUBTRACT; |
| 61 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INPLACE_TRUE_DIVIDE; |
| 62 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INPLACE_XOR; |
| 63 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INT; |
| 64 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_INVERT; |
| 65 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_LSHIFT; |
49 | 66 | import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_MULTIPLY;
|
50 |
| -import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_POW; |
| 67 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_NEGATIVE; |
| 68 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_OR; |
| 69 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_POSITIVE; |
| 70 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_POWER; |
51 | 71 | import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_REMAINDER;
|
| 72 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_RSHIFT; |
52 | 73 | import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_SUBTRACT;
|
53 | 74 | import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_TRUE_DIVIDE;
|
| 75 | +import static com.oracle.graal.python.builtins.objects.cext.NativeMemberNames.NB_XOR; |
| 76 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__ABS__; |
54 | 77 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__ADD__;
|
55 | 78 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__AND__;
|
| 79 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__BOOL__; |
| 80 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__DIVMOD__; |
| 81 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__FLOAT__; |
56 | 82 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__FLOORDIV__;
|
57 | 83 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__IADD__;
|
| 84 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__IAND__; |
| 85 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__IFLOORDIV__; |
| 86 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__ILSHIFT__; |
| 87 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__IMOD__; |
58 | 88 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__IMUL__;
|
59 | 89 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__INDEX__;
|
| 90 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__INT__; |
| 91 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__INVERT__; |
| 92 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__IOR__; |
| 93 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__IPOW__; |
| 94 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__IRSHIFT__; |
| 95 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__ISUB__; |
| 96 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__ITRUEDIV__; |
| 97 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__IXOR__; |
| 98 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__LSHIFT__; |
60 | 99 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__MOD__;
|
61 | 100 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__MUL__;
|
| 101 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__NEG__; |
| 102 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__OR__; |
| 103 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__POS__; |
62 | 104 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__POW__;
|
| 105 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__RSHIFT__; |
63 | 106 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__SUB__;
|
64 | 107 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__TRUEDIV__;
|
| 108 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__XOR__; |
65 | 109 |
|
66 | 110 | import com.oracle.graal.python.builtins.objects.type.PythonManagedClass;
|
67 | 111 | import com.oracle.graal.python.nodes.SpecialMethodNames;
|
|
92 | 136 | public class PyNumberMethodsWrapper extends PythonNativeWrapper {
|
93 | 137 |
|
94 | 138 | @CompilationFinal(dimensions = 1) private static final String[] NUMBER_METHODS = new String[]{
|
| 139 | + NB_ABSOLUTE, |
95 | 140 | NB_ADD,
|
96 |
| - NB_SUBTRACT, |
97 |
| - NB_REMAINDER, |
98 | 141 | NB_AND,
|
99 |
| - NB_INDEX, |
100 |
| - NB_POW, |
101 |
| - NB_TRUE_DIVIDE, |
| 142 | + NB_BOOL, |
| 143 | + NB_DIVMOD, |
| 144 | + NB_FLOAT, |
102 | 145 | NB_FLOOR_DIVIDE,
|
103 |
| - NB_MULTIPLY, |
| 146 | + NB_INDEX, |
104 | 147 | NB_INPLACE_ADD,
|
105 |
| - NB_INPLACE_MULTIPLY |
| 148 | + NB_INPLACE_AND, |
| 149 | + NB_INPLACE_FLOOR_DIVIDE, |
| 150 | + NB_INPLACE_LSHIFT, |
| 151 | + NB_INPLACE_MULTIPLY, |
| 152 | + NB_INPLACE_OR, |
| 153 | + NB_INPLACE_POWER, |
| 154 | + NB_INPLACE_REMAINDER, |
| 155 | + NB_INPLACE_RSHIFT, |
| 156 | + NB_INPLACE_SUBTRACT, |
| 157 | + NB_INPLACE_TRUE_DIVIDE, |
| 158 | + NB_INPLACE_XOR, |
| 159 | + NB_INT, |
| 160 | + NB_INVERT, |
| 161 | + NB_LSHIFT, |
| 162 | + NB_MULTIPLY, |
| 163 | + NB_NEGATIVE, |
| 164 | + NB_OR, |
| 165 | + NB_POSITIVE, |
| 166 | + NB_POWER, |
| 167 | + NB_REMAINDER, |
| 168 | + NB_RSHIFT, |
| 169 | + NB_SUBTRACT, |
| 170 | + NB_TRUE_DIVIDE, |
| 171 | + NB_XOR, |
106 | 172 | };
|
107 | 173 |
|
108 | 174 | @CompilationFinal(dimensions = 1) private static final String[] NUMBER_METHODS_MAPPING = new String[]{
|
| 175 | + __ABS__, |
109 | 176 | __ADD__,
|
110 |
| - __SUB__, |
111 |
| - __MOD__, |
112 | 177 | __AND__,
|
| 178 | + __BOOL__, |
| 179 | + __DIVMOD__, |
| 180 | + __FLOAT__, |
| 181 | + __FLOORDIV__, |
113 | 182 | __INDEX__,
|
| 183 | + __IADD__, |
| 184 | + __IAND__, |
| 185 | + __IFLOORDIV__, |
| 186 | + __ILSHIFT__, |
| 187 | + __IMUL__, |
| 188 | + __IOR__, |
| 189 | + __IPOW__, |
| 190 | + __IMOD__, |
| 191 | + __IRSHIFT__, |
| 192 | + __ISUB__, |
| 193 | + __ITRUEDIV__, |
| 194 | + __IXOR__, |
| 195 | + __INT__, |
| 196 | + __INVERT__, |
| 197 | + __LSHIFT__, |
| 198 | + __MUL__, |
| 199 | + __NEG__, |
| 200 | + __OR__, |
| 201 | + __POS__, |
114 | 202 | __POW__,
|
| 203 | + __MOD__, |
| 204 | + __RSHIFT__, |
| 205 | + __SUB__, |
115 | 206 | __TRUEDIV__,
|
116 |
| - __FLOORDIV__, |
117 |
| - __MUL__, |
118 |
| - __IADD__, |
119 |
| - __IMUL__ |
| 207 | + __XOR__ |
120 | 208 | };
|
121 | 209 |
|
122 | 210 | public PyNumberMethodsWrapper(PythonManagedClass delegate) {
|
|
0 commit comments