Skip to content

Commit ed47e33

Browse files
committed
added test coverage in release_tracker.md
1 parent 238ef89 commit ed47e33

File tree

1 file changed

+105
-91
lines changed

1 file changed

+105
-91
lines changed

quaddtype/release_tracker.md

Lines changed: 105 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,107 @@
11
# Plan for `numpy-quaddtype` v1.0.0
22

3-
| ufunc name | Added |
4-
| ------------- | ----- |
5-
| add ||
6-
| subtract ||
7-
| multiply ||
8-
| matmul | #116 |
9-
| divide ||
10-
| logaddexp | |
11-
| logaddexp2 | |
12-
| true_divide | |
13-
| floor_divide | |
14-
| negative ||
15-
| positive ||
16-
| power ||
17-
| float_power | |
18-
| remainder | |
19-
| mod ||
20-
| fmod | |
21-
| divmod | |
22-
| absolute ||
23-
| fabs | |
24-
| rint ||
25-
| sign | |
26-
| heaviside | |
27-
| conj | |
28-
| conjugate | |
29-
| exp ||
30-
| exp2 ||
31-
| log ||
32-
| log2 ||
33-
| log10 ||
34-
| expm1 | |
35-
| log1p ||
36-
| sqrt ||
37-
| square ||
38-
| cbrt | |
39-
| reciprocal | |
40-
| gcd | |
41-
| lcm | |
42-
| sin ||
43-
| cos ||
44-
| tan ||
45-
| arcsin ||
46-
| arccos ||
47-
| arctan ||
48-
| arctan2 ||
49-
| hypot | |
50-
| sinh | |
51-
| cosh | |
52-
| tanh | |
53-
| arcsinh | |
54-
| arccosh | |
55-
| arctanh | |
56-
| degrees | |
57-
| radians | |
58-
| deg2rad | |
59-
| rad2deg | |
60-
| bitwise_and | |
61-
| bitwise_or | |
62-
| bitwise_xor | |
63-
| invert | |
64-
| left_shift | |
65-
| right_shift | |
66-
| greater ||
67-
| greater_equal ||
68-
| less ||
69-
| less_equal ||
70-
| not_equal ||
71-
| equal ||
72-
| logical_and | |
73-
| logical_or | |
74-
| logical_xor | |
75-
| logical_not | |
76-
| maximum ||
77-
| minimum ||
78-
| fmax | |
79-
| fmin | |
80-
| isfinite | |
81-
| isinf | |
82-
| isnan | |
83-
| isnat | |
84-
| signbit | |
85-
| copysign | |
86-
| nextafter | |
87-
| spacing | |
88-
| modf | |
89-
| ldexp | |
90-
| frexp | |
91-
| floor ||
92-
| ceil ||
93-
| trunc ||
3+
| ufunc name | Added | Edge Cases Tested\* |
4+
| ------------- | ----- | ------------------------------------------------------------------------------------- |
5+
| add |||
6+
| subtract |||
7+
| multiply |||
8+
| matmul | #116 | 🟡 _Need: special values (NaN/inf/-0.0), degenerate cases (0×n, 1×1), extreme values_ |
9+
| divide |||
10+
| logaddexp | | |
11+
| logaddexp2 | | |
12+
| true_divide | | |
13+
| floor_divide | | |
14+
| negative |||
15+
| positive |||
16+
| power |||
17+
| float_power | | |
18+
| remainder | | |
19+
| mod ||_Need: basic tests + edge cases (NaN/inf/-0.0/large values)_ |
20+
| fmod | | |
21+
| divmod | | |
22+
| absolute |||
23+
| fabs | | |
24+
| rint ||_Need: basic tests + edge cases (NaN/inf/±0.0/halfway cases)_ |
25+
| sign | | |
26+
| heaviside | | |
27+
| conj | | |
28+
| conjugate | | |
29+
| exp ||_Need: basic tests + edge cases (NaN/inf/large +/- values/overflow)_ |
30+
| exp2 ||_Need: basic tests + edge cases (NaN/inf/large +/- values/overflow)_ |
31+
| log ||_Need: basic tests + edge cases (NaN/inf/0/-values/1)_ |
32+
| log2 ||_Need: basic tests + edge cases (NaN/inf/0/-values/1)_ |
33+
| log10 ||_Need: basic tests + edge cases (NaN/inf/0/-values/1)_ |
34+
| expm1 | | |
35+
| log1p ||_Need: basic tests + edge cases (NaN/inf/-1/small values)_ |
36+
| sqrt ||_Need: basic tests + edge cases (NaN/inf/0/-values)_ |
37+
| square ||_Need: basic tests + edge cases (NaN/inf/0/large values)_ |
38+
| cbrt | | |
39+
| reciprocal | | |
40+
| gcd | | |
41+
| lcm | | |
42+
| sin ||_Need: basic tests + edge cases (NaN/inf/0/π multiples/2π range)_ |
43+
| cos ||_Need: basic tests + edge cases (NaN/inf/0/π multiples/2π range)_ |
44+
| tan ||_Need: basic tests + edge cases (NaN/inf/0/π/2 asymptotes)_ |
45+
| arcsin ||_Need: basic tests + edge cases (NaN/inf/±1/out-of-domain)_ |
46+
| arccos ||_Need: basic tests + edge cases (NaN/inf/±1/out-of-domain)_ |
47+
| arctan ||_Need: basic tests + edge cases (NaN/inf/0/asymptotes)_ |
48+
| arctan2 ||_Need: basic tests + edge cases (NaN/inf/0/quadrant coverage)_ |
49+
| hypot | | |
50+
| sinh | | |
51+
| cosh | | |
52+
| tanh | | |
53+
| arcsinh | | |
54+
| arccosh | | |
55+
| arctanh | | |
56+
| degrees | | |
57+
| radians | | |
58+
| deg2rad | | |
59+
| rad2deg | | |
60+
| bitwise_and | | |
61+
| bitwise_or | | |
62+
| bitwise_xor | | |
63+
| invert | | |
64+
| left_shift | | |
65+
| right_shift | | |
66+
| greater |||
67+
| greater_equal |||
68+
| less |||
69+
| less_equal |||
70+
| not_equal |||
71+
| equal |||
72+
| logical_and | | |
73+
| logical_or | | |
74+
| logical_xor | | |
75+
| logical_not | | |
76+
| maximum |||
77+
| minimum |||
78+
| fmax | | |
79+
| fmin | | |
80+
| isfinite | | |
81+
| isinf | | |
82+
| isnan | | |
83+
| isnat | | |
84+
| signbit | | |
85+
| copysign | | |
86+
| nextafter | | |
87+
| spacing | | |
88+
| modf | | |
89+
| ldexp | | |
90+
| frexp | | |
91+
| floor ||_Need: basic tests + edge cases (NaN/inf/±0.0/halfway values)_ |
92+
| ceil ||_Need: basic tests + edge cases (NaN/inf/±0.0/halfway values)_ |
93+
| trunc ||_Need: basic tests + edge cases (NaN/inf/±0.0/fractional values)_ |
94+
95+
\* **Edge Cases Tested**: Indicates whether the ufunc has parametrized tests that compare QuadPrecision results against `float` and `np.float64` for edge cases including:
96+
97+
- Special values: `0.0`, `-0.0`, `inf`, `-inf`, `nan`, `-nan`
98+
- For trigonometric functions: Critical points like `0`, `π/2`, `π`, `3π/2`, ``, values in `[0, 2π]`
99+
- For logarithmic functions: Values near `0`, `1`, large values
100+
- For exponential functions: Large positive/negative values, values near `0`
101+
102+
**Testing Status:**
103+
104+
- ✅ = Comprehensive edge case tests exist in `test_quaddtype.py` with parametrized tests against float64
105+
- 🟡 = Good basic testing exists but missing some edge cases (specific missing tests noted in italics)
106+
- ❌ = Ufunc is implemented but lacks systematic testing (required tests noted in italics)
107+
- (blank) = Ufunc not yet implemented (implementation needed first)

0 commit comments

Comments
 (0)