@@ -46,3 +46,122 @@ array_api_tests/test_special_cases.py::test_binary[__pow__(x1_i is -0 and x2_i >
46
46
array_api_tests/test_special_cases.py::test_iop[__ipow__(x1_i is -infinity and x2_i > 0 and not (x2_i.is_integer() and x2_i % 2 == 1)) -> +infinity]
47
47
array_api_tests/test_special_cases.py::test_iop[__ipow__(x1_i is -0 and x2_i > 0 and not (x2_i.is_integer() and x2_i % 2 == 1)) -> +0]
48
48
array_api_tests/meta/test_hypothesis_helpers.py::test_symmetric_matrices
49
+
50
+
51
+ # NumPy 1.21 specific XFAILS
52
+ ############################
53
+
54
+ # finfo has no smallest_normal
55
+ array_api_tests/test_data_type_functions.py::test_finfo[float64]
56
+
57
+ # dlpack stuff
58
+ array_api_tests/test_has_names.py::test_has_names[creation-from_dlpack]
59
+ array_api_tests/test_has_names.py::test_has_names[array_method-__dlpack__]
60
+ array_api_tests/test_has_names.py::test_has_names[array_method-__dlpack_device__]
61
+ array_api_tests/test_signatures.py::test_func_signature[from_dlpack]
62
+ array_api_tests/test_signatures.py::test_array_method_signature[__dlpack__]
63
+ array_api_tests/test_signatures.py::test_array_method_signature[__dlpack_device__]
64
+
65
+ # qr() doesn't support matrix stacks
66
+ array_api_tests/test_linalg.py::test_qr
67
+
68
+ # argmax and argmin do not support keepdims
69
+ array_api_tests/test_searching_functions.py::test_argmax
70
+ array_api_tests/test_searching_functions.py::test_argmin
71
+ array_api_tests/test_signatures.py::test_func_signature[argmax]
72
+ array_api_tests/test_signatures.py::test_func_signature[argmin]
73
+
74
+ # NumPy 1.21 doesn't support NPY_PROMOTION_STATE=weak, so many tests fail with
75
+ # type promotion issues
76
+ array_api_tests/test_operators_and_elementwise_functions.py::test_add[add(x1, x2)]
77
+ array_api_tests/test_operators_and_elementwise_functions.py::test_add[__add__(x1, x2)]
78
+ array_api_tests/test_operators_and_elementwise_functions.py::test_add[__add__(x, s)]
79
+ array_api_tests/test_operators_and_elementwise_functions.py::test_add[__iadd__(x, s)]
80
+ array_api_tests/test_operators_and_elementwise_functions.py::test_atan2
81
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_and[bitwise_and(x1, x2)]
82
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_and[__and__(x1, x2)]
83
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_and[__and__(x, s)]
84
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_and[__iand__(x, s)]
85
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_left_shift[bitwise_left_shift(x1, x2)]
86
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_left_shift[__lshift__(x1, x2)]
87
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_left_shift[__lshift__(x, s)]
88
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_left_shift[__ilshift__(x, s)]
89
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_or[bitwise_or(x1, x2)]
90
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_or[__or__(x1, x2)]
91
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_or[__or__(x, s)]
92
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_or[__ior__(x, s)]
93
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_right_shift[bitwise_right_shift(x1, x2)]
94
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_right_shift[__rshift__(x1, x2)]
95
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_right_shift[__rshift__(x, s)]
96
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_right_shift[__irshift__(x, s)]
97
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_xor[bitwise_xor(x1, x2)]
98
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_xor[__xor__(x1, x2)]
99
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_xor[__xor__(x, s)]
100
+ array_api_tests/test_operators_and_elementwise_functions.py::test_bitwise_xor[__ixor__(x, s)]
101
+ array_api_tests/test_operators_and_elementwise_functions.py::test_divide[divide(x1, x2)]
102
+ array_api_tests/test_operators_and_elementwise_functions.py::test_divide[__truediv__(x1, x2)]
103
+ array_api_tests/test_operators_and_elementwise_functions.py::test_divide[__truediv__(x, s)]
104
+ array_api_tests/test_operators_and_elementwise_functions.py::test_floor_divide[floor_divide(x1, x2)]
105
+ array_api_tests/test_operators_and_elementwise_functions.py::test_floor_divide[__floordiv__(x1, x2)]
106
+ array_api_tests/test_operators_and_elementwise_functions.py::test_floor_divide[__floordiv__(x, s)]
107
+ array_api_tests/test_operators_and_elementwise_functions.py::test_floor_divide[__ifloordiv__(x, s)]
108
+ array_api_tests/test_operators_and_elementwise_functions.py::test_logaddexp
109
+ array_api_tests/test_operators_and_elementwise_functions.py::test_multiply[multiply(x1, x2)]
110
+ array_api_tests/test_operators_and_elementwise_functions.py::test_multiply[__mul__(x1, x2)]
111
+ array_api_tests/test_operators_and_elementwise_functions.py::test_multiply[__mul__(x, s)]
112
+ array_api_tests/test_operators_and_elementwise_functions.py::test_multiply[__imul__(x, s)]
113
+ array_api_tests/test_operators_and_elementwise_functions.py::test_pow[pow(x1, x2)]
114
+ array_api_tests/test_operators_and_elementwise_functions.py::test_pow[__pow__(x1, x2)]
115
+ array_api_tests/test_operators_and_elementwise_functions.py::test_pow[__pow__(x, s)]
116
+ array_api_tests/test_operators_and_elementwise_functions.py::test_pow[__ipow__(x, s)]
117
+ array_api_tests/test_operators_and_elementwise_functions.py::test_remainder[remainder(x1, x2)]
118
+ array_api_tests/test_operators_and_elementwise_functions.py::test_remainder[__mod__(x1, x2)]
119
+ array_api_tests/test_operators_and_elementwise_functions.py::test_remainder[__mod__(x, s)]
120
+ array_api_tests/test_operators_and_elementwise_functions.py::test_remainder[__imod__(x, s)]
121
+ array_api_tests/test_operators_and_elementwise_functions.py::test_subtract[subtract(x1, x2)]
122
+ array_api_tests/test_operators_and_elementwise_functions.py::test_subtract[__sub__(x1, x2)]
123
+ array_api_tests/test_operators_and_elementwise_functions.py::test_subtract[__sub__(x, s)]
124
+ array_api_tests/test_operators_and_elementwise_functions.py::test_subtract[__isub__(x, s)]
125
+ array_api_tests/test_special_cases.py::test_binary[add((x1_i is +0 or x1_i == -0) and isfinite(x2_i) and x2_i != 0) -> x2_i]
126
+ array_api_tests/test_special_cases.py::test_binary[__add__((x1_i is +0 or x1_i == -0) and isfinite(x2_i) and x2_i != 0) -> x2_i]
127
+ array_api_tests/test_special_cases.py::test_binary[__add__(isfinite(x1_i) and x1_i != 0 and (x2_i is +0 or x2_i == -0)) -> x1_i]
128
+ array_api_tests/test_special_cases.py::test_binary[atan2(x1_i < 0 and x2_i is +0) -> roughly -pi/2]
129
+ array_api_tests/test_special_cases.py::test_binary[divide(x1_i is +0 and x2_i > 0) -> +0]
130
+ array_api_tests/test_special_cases.py::test_binary[divide(x1_i is -0 and x2_i > 0) -> -0]
131
+ array_api_tests/test_special_cases.py::test_binary[divide(x1_i is -0 and x2_i < 0) -> +0]
132
+ array_api_tests/test_special_cases.py::test_binary[__truediv__(x1_i is +0 and x2_i > 0) -> +0]
133
+ array_api_tests/test_special_cases.py::test_binary[__truediv__(x1_i is -0 and x2_i > 0) -> -0]
134
+ array_api_tests/test_special_cases.py::test_binary[__truediv__(x1_i is +0 and x2_i < 0) -> -0]
135
+ array_api_tests/test_special_cases.py::test_binary[__truediv__(x1_i is -0 and x2_i < 0) -> +0]
136
+ array_api_tests/test_special_cases.py::test_binary[__truediv__(x1_i > 0 and x2_i is +0) -> +infinity]
137
+ array_api_tests/test_special_cases.py::test_binary[floor_divide(x1_i is +0 and x2_i > 0) -> +0]
138
+ array_api_tests/test_special_cases.py::test_binary[floor_divide(x1_i is +0 and x2_i < 0) -> -0]
139
+ array_api_tests/test_special_cases.py::test_binary[__floordiv__(x1_i is +0 and x2_i > 0) -> +0]
140
+ array_api_tests/test_special_cases.py::test_binary[__floordiv__(x1_i > 0 and x2_i is -0) -> -infinity]
141
+ array_api_tests/test_special_cases.py::test_binary[pow(x1_i is NaN and not x2_i == 0) -> NaN]
142
+ array_api_tests/test_special_cases.py::test_binary[pow(abs(x1_i) > 1 and x2_i is +infinity) -> +infinity]
143
+ array_api_tests/test_special_cases.py::test_binary[pow(abs(x1_i) > 1 and x2_i is -infinity) -> +0]
144
+ array_api_tests/test_special_cases.py::test_binary[pow(x1_i is +infinity and x2_i > 0) -> +infinity]
145
+ array_api_tests/test_special_cases.py::test_binary[pow(x1_i is +infinity and x2_i < 0) -> +0]
146
+ array_api_tests/test_special_cases.py::test_binary[pow(x1_i is -infinity and x2_i < 0 and not (x2_i.is_integer() and x2_i % 2 == 1)) -> +0]
147
+ array_api_tests/test_special_cases.py::test_binary[pow(x1_i is +0 and x2_i > 0) -> +0]
148
+ array_api_tests/test_special_cases.py::test_binary[pow(x1_i is +0 and x2_i < 0) -> +infinity]
149
+ array_api_tests/test_special_cases.py::test_binary[pow(x1_i is -0 and x2_i > 0 and not (x2_i.is_integer() and x2_i % 2 == 1)) -> +0]
150
+ array_api_tests/test_special_cases.py::test_binary[pow(x1_i is -0 and x2_i < 0 and not (x2_i.is_integer() and x2_i % 2 == 1)) -> +infinity]
151
+ array_api_tests/test_special_cases.py::test_binary[pow(x1_i < 0 and isfinite(x1_i) and isfinite(x2_i) and not x2_i.is_integer()) -> NaN]
152
+ array_api_tests/test_special_cases.py::test_binary[__pow__(x1_i is -infinity and x2_i < 0 and x2_i.is_integer() and x2_i % 2 == 1) -> -0]
153
+ array_api_tests/test_special_cases.py::test_binary[__pow__(x1_i is +0 and x2_i < 0) -> +infinity]
154
+ array_api_tests/test_special_cases.py::test_binary[__pow__(x1_i is -0 and x2_i > 0 and x2_i.is_integer() and x2_i % 2 == 1) -> -0]
155
+ array_api_tests/test_special_cases.py::test_binary[__pow__(x1_i is -0 and x2_i < 0 and x2_i.is_integer() and x2_i % 2 == 1) -> -infinity]
156
+ array_api_tests/test_special_cases.py::test_binary[remainder(x1_i is +0 and x2_i > 0) -> +0]
157
+ array_api_tests/test_special_cases.py::test_binary[remainder(x1_i is -0 and x2_i > 0) -> +0]
158
+ array_api_tests/test_special_cases.py::test_binary[remainder(x1_i is +0 and x2_i < 0) -> -0]
159
+ array_api_tests/test_special_cases.py::test_binary[remainder(x1_i is -0 and x2_i < 0) -> -0]
160
+ array_api_tests/test_special_cases.py::test_binary[remainder(isfinite(x1_i) and x1_i > 0 and x2_i is +infinity) -> x1_i]
161
+ array_api_tests/test_special_cases.py::test_binary[remainder(isfinite(x1_i) and x1_i > 0 and x2_i is -infinity) -> x2_i]
162
+ array_api_tests/test_special_cases.py::test_binary[remainder(isfinite(x1_i) and x1_i < 0 and x2_i is -infinity) -> x1_i]
163
+ array_api_tests/test_special_cases.py::test_binary[__mod__(x1_i is +0 and x2_i > 0) -> +0]
164
+ array_api_tests/test_special_cases.py::test_binary[__mod__(x1_i is -0 and x2_i < 0) -> -0]
165
+ array_api_tests/test_special_cases.py::test_binary[__mod__(isfinite(x1_i) and x1_i > 0 and x2_i is +infinity) -> x1_i]
166
+ array_api_tests/test_special_cases.py::test_binary[__mod__(isfinite(x1_i) and x1_i < 0 and x2_i is -infinity) -> x1_i]
167
+ array_api_tests/test_special_cases.py::test_iop[__iadd__(x1_i is -0 and x2_i is -0) -> -0]
0 commit comments