|
46 | 46 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__BOOL__;
|
47 | 47 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__DIVMOD__;
|
48 | 48 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__EQ__;
|
| 49 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__FLOORDIV__; |
49 | 50 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__FORMAT__;
|
50 | 51 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__GETNEWARGS__;
|
51 | 52 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__GE__;
|
52 | 53 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__GT__;
|
53 | 54 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__HASH__;
|
54 | 55 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__LE__;
|
55 | 56 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__LT__;
|
| 57 | +import static com.oracle.graal.python.nodes.SpecialMethodNames.__MOD__; |
56 | 58 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__MUL__;
|
57 | 59 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__NEG__;
|
58 | 60 | import static com.oracle.graal.python.nodes.SpecialMethodNames.__NE__;
|
@@ -841,4 +843,26 @@ PComplex hash(PComplex self) {
|
841 | 843 | return factory().createComplex(self.getReal(), -self.getImag());
|
842 | 844 | }
|
843 | 845 | }
|
| 846 | + |
| 847 | + @GenerateNodeFactory |
| 848 | + @Builtin(name = __FLOORDIV__, minNumOfPositionalArgs = 2) |
| 849 | + @TypeSystemReference(PythonArithmeticTypes.class) |
| 850 | + abstract static class FloorDivNode extends PythonBinaryBuiltinNode { |
| 851 | + @Specialization |
| 852 | + @SuppressWarnings("unused") |
| 853 | + Object floorDiv(Object arg) { |
| 854 | + throw raise(TypeError, ErrorMessages.CANT_TAKE_FLOOR_OR_MOD_OF_COMPLEX); |
| 855 | + } |
| 856 | + } |
| 857 | + |
| 858 | + @GenerateNodeFactory |
| 859 | + @Builtin(name = __MOD__, minNumOfPositionalArgs = 2) |
| 860 | + @TypeSystemReference(PythonArithmeticTypes.class) |
| 861 | + abstract static class ModNode extends PythonBinaryBuiltinNode { |
| 862 | + @Specialization |
| 863 | + @SuppressWarnings("unused") |
| 864 | + Object mod(Object arg) { |
| 865 | + throw raise(TypeError, ErrorMessages.CANT_TAKE_FLOOR_OR_MOD_OF_COMPLEX); |
| 866 | + } |
| 867 | + } |
844 | 868 | }
|
0 commit comments