Skip to content

Commit f22642c

Browse files
committed
[GR-23339] Make more test_statistics pass
1 parent 4183846 commit f22642c

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

graalpython/com.oracle.graal.python.test/src/tests/unittest_tags/test_statistics.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,9 @@
5252
*graalpython.lib-python.3.test.test_statistics.ExactRatioTest.test_decimal
5353
*graalpython.lib-python.3.test.test_statistics.ExactRatioTest.test_decimal_nan
5454
*graalpython.lib-python.3.test.test_statistics.ExactRatioTest.test_float
55+
*graalpython.lib-python.3.test.test_statistics.ExactRatioTest.test_float_nan
5556
*graalpython.lib-python.3.test.test_statistics.ExactRatioTest.test_fraction
57+
*graalpython.lib-python.3.test.test_statistics.ExactRatioTest.test_inf
5658
*graalpython.lib-python.3.test.test_statistics.ExactRatioTest.test_int
5759
*graalpython.lib-python.3.test.test_statistics.FailNegTest.test_error_msg
5860
*graalpython.lib-python.3.test.test_statistics.FailNegTest.test_negatives_raise
@@ -101,6 +103,7 @@
101103
*graalpython.lib-python.3.test.test_statistics.TestHarmonicMean.test_singleton_lists
102104
*graalpython.lib-python.3.test.test_statistics.TestHarmonicMean.test_type_of_data_collection
103105
*graalpython.lib-python.3.test.test_statistics.TestHarmonicMean.test_type_of_data_element
106+
*graalpython.lib-python.3.test.test_statistics.TestHarmonicMean.test_types_conserved
104107
*graalpython.lib-python.3.test.test_statistics.TestHarmonicMean.test_zero
105108
*graalpython.lib-python.3.test.test_statistics.TestMean.test_bad_arg_types
106109
*graalpython.lib-python.3.test.test_statistics.TestMean.test_big_data
@@ -123,6 +126,8 @@
123126
*graalpython.lib-python.3.test.test_statistics.TestMean.test_single_value
124127
*graalpython.lib-python.3.test.test_statistics.TestMean.test_torture_pep
125128
*graalpython.lib-python.3.test.test_statistics.TestMean.test_type_of_data_collection
129+
*graalpython.lib-python.3.test.test_statistics.TestMean.test_type_of_data_element
130+
*graalpython.lib-python.3.test.test_statistics.TestMean.test_types_conserved
126131
*graalpython.lib-python.3.test.test_statistics.TestMedian.test_bad_arg_types
127132
*graalpython.lib-python.3.test.test_statistics.TestMedian.test_empty_data
128133
*graalpython.lib-python.3.test.test_statistics.TestMedian.test_even_decimals
@@ -264,6 +269,7 @@
264269
*graalpython.lib-python.3.test.test_statistics.TestPStdev.test_shift_data_exact
265270
*graalpython.lib-python.3.test.test_statistics.TestPStdev.test_single_value
266271
*graalpython.lib-python.3.test.test_statistics.TestPStdev.test_type_of_data_collection
272+
*graalpython.lib-python.3.test.test_statistics.TestPStdev.test_type_of_data_element
267273
*graalpython.lib-python.3.test.test_statistics.TestPVariance.test_bad_arg_types
268274
*graalpython.lib-python.3.test.test_statistics.TestPVariance.test_decimals
269275
*graalpython.lib-python.3.test.test_statistics.TestPVariance.test_domain_error_regression
@@ -281,6 +287,8 @@
281287
*graalpython.lib-python.3.test.test_statistics.TestPVariance.test_shift_data_exact
282288
*graalpython.lib-python.3.test.test_statistics.TestPVariance.test_single_value
283289
*graalpython.lib-python.3.test.test_statistics.TestPVariance.test_type_of_data_collection
290+
*graalpython.lib-python.3.test.test_statistics.TestPVariance.test_type_of_data_element
291+
*graalpython.lib-python.3.test.test_statistics.TestPVariance.test_types_conserved
284292
*graalpython.lib-python.3.test.test_statistics.TestQuantiles.test_equal_inputs
285293
*graalpython.lib-python.3.test.test_statistics.TestQuantiles.test_equal_sized_groups
286294
*graalpython.lib-python.3.test.test_statistics.TestQuantiles.test_error_cases
@@ -301,6 +309,7 @@
301309
*graalpython.lib-python.3.test.test_statistics.TestStdev.test_shift_data
302310
*graalpython.lib-python.3.test.test_statistics.TestStdev.test_single_value
303311
*graalpython.lib-python.3.test.test_statistics.TestStdev.test_type_of_data_collection
312+
*graalpython.lib-python.3.test.test_statistics.TestStdev.test_type_of_data_element
304313
*graalpython.lib-python.3.test.test_statistics.TestSum.test_bytes_fail
305314
*graalpython.lib-python.3.test.test_statistics.TestSum.test_compare_with_math_fsum
306315
*graalpython.lib-python.3.test.test_statistics.TestSum.test_decimals
@@ -327,3 +336,5 @@
327336
*graalpython.lib-python.3.test.test_statistics.TestVariance.test_shift_data
328337
*graalpython.lib-python.3.test.test_statistics.TestVariance.test_single_value
329338
*graalpython.lib-python.3.test.test_statistics.TestVariance.test_type_of_data_collection
339+
*graalpython.lib-python.3.test.test_statistics.TestVariance.test_type_of_data_element
340+
*graalpython.lib-python.3.test.test_statistics.TestVariance.test_types_conserved

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1512,12 +1512,19 @@ abstract static class ImagNode extends PythonBuiltinNode {
15121512

15131513
@GenerateNodeFactory
15141514
@Builtin(name = "as_integer_ratio", minNumOfPositionalArgs = 1)
1515-
abstract static class AsIntegerRatio extends PythonBuiltinNode {
1515+
abstract static class AsIntegerRatio extends PythonUnaryBuiltinNode {
1516+
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);
1522+
}
15161523

15171524
@Specialization
15181525
PTuple get(double self,
1519-
@Cached("createBinaryProfile()") ConditionProfile nanProfile,
1520-
@Cached("createBinaryProfile()") ConditionProfile infProfile) {
1526+
@Shared("nanProfile") @Cached ConditionProfile nanProfile,
1527+
@Shared("infProfile") @Cached ConditionProfile infProfile) {
15211528
if (nanProfile.profile(Double.isNaN(self))) {
15221529
throw raise(PythonErrorType.ValueError, ErrorMessages.CANNOT_CONVERT_S_TO_INT_RATIO, "NaN");
15231530
}

0 commit comments

Comments
 (0)