Skip to content

Commit 13de574

Browse files
committed
Use argument clinic in AsIntegerRatio
1 parent 2a3d94f commit 13de574

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/floats/FloatBuiltins.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@
8383
import com.oracle.graal.python.builtins.objects.cext.capi.CExtNodes.FromNativeSubclassNode;
8484
import com.oracle.graal.python.builtins.objects.cext.PythonNativeObject;
8585
import com.oracle.graal.python.builtins.objects.common.FormatNodeBase;
86+
import com.oracle.graal.python.builtins.objects.floats.FloatBuiltinsClinicProviders.AsIntegerRatioClinicProviderGen;
8687
import com.oracle.graal.python.builtins.objects.floats.FloatBuiltinsClinicProviders.FormatNodeClinicProviderGen;
8788
import com.oracle.graal.python.builtins.objects.ints.PInt;
8889
import com.oracle.graal.python.builtins.objects.object.PythonObjectLibrary;
@@ -95,6 +96,7 @@
9596
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
9697
import com.oracle.graal.python.nodes.function.PythonBuiltinNode;
9798
import com.oracle.graal.python.nodes.function.builtins.PythonBinaryBuiltinNode;
99+
import com.oracle.graal.python.nodes.function.builtins.PythonClinicBuiltinNode;
98100
import com.oracle.graal.python.nodes.function.builtins.PythonTernaryBuiltinNode;
99101
import com.oracle.graal.python.nodes.function.builtins.PythonUnaryBuiltinNode;
100102
import com.oracle.graal.python.nodes.function.builtins.clinic.ArgumentClinicProvider;
@@ -1511,20 +1513,19 @@ abstract static class ImagNode extends PythonBuiltinNode {
15111513
}
15121514

15131515
@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 {
15161519

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;
15221523
}
15231524

15241525
@Specialization
15251526
PTuple get(double self,
1526-
@Shared("nanProfile") @Cached ConditionProfile nanProfile,
1527-
@Shared("infProfile") @Cached ConditionProfile infProfile) {
1527+
@Cached ConditionProfile nanProfile,
1528+
@Cached ConditionProfile infProfile) {
15281529
if (nanProfile.profile(Double.isNaN(self))) {
15291530
throw raise(PythonErrorType.ValueError, ErrorMessages.CANNOT_CONVERT_S_TO_INT_RATIO, "NaN");
15301531
}

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/function/builtins/clinic/JavaDoubleConversionNode.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
public abstract class JavaDoubleConversionNode extends ArgumentCastNode {
5656

5757
private final double defaultValue;
58-
private final boolean useDefaultForNone;
58+
final boolean useDefaultForNone;
5959

6060
protected JavaDoubleConversionNode(double defaultValue, boolean useDefaultForNone) {
6161
this.defaultValue = defaultValue;
@@ -90,8 +90,7 @@ static double doPFloat(PFloat l) {
9090

9191
@ClinicConverterFactory(shortCircuitPrimitive = PrimitiveType.Double)
9292
public static JavaDoubleConversionNode create(@DefaultValue double defaultValue, @UseDefaultForNone boolean useDefaultForNone) {
93-
//return JavaIntConversionNodeGen.create(defaultValue, useDefaultForNone);
94-
return null;
93+
return JavaDoubleConversionNodeGen.create(defaultValue, useDefaultForNone);
9594
}
9695

9796
protected boolean isHandledPNone(Object value) {

0 commit comments

Comments
 (0)