|
83 | 83 | import com.oracle.graal.python.builtins.objects.cext.capi.CExtNodes.FromNativeSubclassNode;
|
84 | 84 | import com.oracle.graal.python.builtins.objects.cext.PythonNativeObject;
|
85 | 85 | import com.oracle.graal.python.builtins.objects.common.FormatNodeBase;
|
| 86 | +import com.oracle.graal.python.builtins.objects.floats.FloatBuiltinsClinicProviders.AsIntegerRatioClinicProviderGen; |
86 | 87 | import com.oracle.graal.python.builtins.objects.floats.FloatBuiltinsClinicProviders.FormatNodeClinicProviderGen;
|
87 | 88 | import com.oracle.graal.python.builtins.objects.ints.PInt;
|
88 | 89 | import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
|
|
95 | 96 | import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
|
96 | 97 | import com.oracle.graal.python.nodes.function.PythonBuiltinNode;
|
97 | 98 | import com.oracle.graal.python.nodes.function.builtins.PythonBinaryBuiltinNode;
|
| 99 | +import com.oracle.graal.python.nodes.function.builtins.PythonClinicBuiltinNode; |
98 | 100 | import com.oracle.graal.python.nodes.function.builtins.PythonTernaryBuiltinNode;
|
99 | 101 | import com.oracle.graal.python.nodes.function.builtins.PythonUnaryBuiltinNode;
|
100 | 102 | import com.oracle.graal.python.nodes.function.builtins.clinic.ArgumentClinicProvider;
|
@@ -1511,20 +1513,19 @@ abstract static class ImagNode extends PythonBuiltinNode {
|
1511 | 1513 | }
|
1512 | 1514 |
|
1513 | 1515 | @GenerateNodeFactory
|
1514 |
| - @Builtin(name = "as_integer_ratio", minNumOfPositionalArgs = 1) |
1515 |
| - abstract static class AsIntegerRatio extends PythonUnaryBuiltinNode { |
| 1516 | + @Builtin(name = "as_integer_ratio", parameterNames = "x") |
| 1517 | + @ArgumentClinic(name = "x", defaultValue = "0.0", conversion = ClinicConversion.Double) |
| 1518 | + abstract static class AsIntegerRatio extends PythonClinicBuiltinNode { |
1516 | 1519 |
|
1517 |
| - @Specialization |
1518 |
| - PTuple getPFloat(PFloat self, |
1519 |
| - @Shared("nanProfile") @Cached ConditionProfile nanProfile, |
1520 |
| - @Shared("infProfile") @Cached ConditionProfile infProfile) { |
1521 |
| - return get(self.getValue(), nanProfile, infProfile); |
| 1520 | + @Override |
| 1521 | + protected ArgumentClinicProvider getArgumentClinic() { |
| 1522 | + return AsIntegerRatioClinicProviderGen.INSTANCE; |
1522 | 1523 | }
|
1523 | 1524 |
|
1524 | 1525 | @Specialization
|
1525 | 1526 | PTuple get(double self,
|
1526 |
| - @Shared("nanProfile") @Cached ConditionProfile nanProfile, |
1527 |
| - @Shared("infProfile") @Cached ConditionProfile infProfile) { |
| 1527 | + @Cached ConditionProfile nanProfile, |
| 1528 | + @Cached ConditionProfile infProfile) { |
1528 | 1529 | if (nanProfile.profile(Double.isNaN(self))) {
|
1529 | 1530 | throw raise(PythonErrorType.ValueError, ErrorMessages.CANNOT_CONVERT_S_TO_INT_RATIO, "NaN");
|
1530 | 1531 | }
|
|
0 commit comments