Skip to content

Commit ac9445a

Browse files
committed
Refactor tests for type stability
1 parent 81d3b9d commit ac9445a

File tree

1 file changed

+33
-47
lines changed

1 file changed

+33
-47
lines changed

test/extrapolation/type-stability.jl

Lines changed: 33 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,22 @@ xmax = 10
88
A = Float64[f(x) for x in 1:xmax]
99
itpg = interpolate(A, BSpline(Linear), OnGrid)
1010

11-
schemes = (Flat, Linear, Reflect, Periodic)
12-
13-
14-
for E in schemes
15-
etp1 = extrapolate(itpg, E)
16-
println(E)
17-
18-
# In-bounds evaluation
19-
@inferred(getindex(etp1, 3.4))
20-
@inferred(getindex(etp1, 3))
21-
@inferred(getindex(etp1, dual(3,1)))
22-
23-
# Out-of-bounds evaluation
24-
@inferred(getindex(etp1, -3.4))
25-
@inferred(getindex(etp1, -3))
26-
@inferred(getindex(etp1, dual(-3,1)))
27-
28-
@inferred(getindex(etp1, 13.4))
29-
@inferred(getindex(etp1, 13))
30-
@inferred(getindex(etp1, dual(13,1)))
11+
schemes = (
12+
Flat,
13+
Linear,
14+
Reflect,
15+
Periodic
16+
)
17+
18+
for etp in map(E -> extrapolate(itpg, E), schemes),
19+
x in [
20+
# In-bounds evaluation
21+
3.4, 3, dual(3.1),
22+
# Out-of-bounds evaluation
23+
-3.4, -3, dual(-3,1),
24+
13.4, 13, dual(13,1)
25+
]
26+
@inferred(getindex(etp, x))
3127
end
3228

3329
# Test type-stability of 2-dimensional extrapolation with homogeneous scheme
@@ -36,33 +32,23 @@ ymax = 4
3632
A = Float64[f(x)*g(y) for x in 1:xmax, y in 1:ymax]
3733
itp2 = interpolate(A, BSpline(Linear), OnGrid)
3834

39-
for E in schemes
40-
etp2 = extrapolate(itp2, E)
41-
42-
# In-bounds evaluation
43-
@inferred(getindex(etp2, 3.4, 2.1))
44-
@inferred(getindex(etp2, 3,2))
45-
@inferred(getindex(etp2, dual(3,1), 2.3))
46-
47-
# Out-of-bounds evaluation
48-
@inferred(getindex(etp2, -3.4, 2.1))
49-
@inferred(getindex(etp2, 3.4, -2.1))
50-
@inferred(getindex(etp2, -3, 2))
51-
@inferred(getindex(etp2, 3, -2))
52-
@inferred(getindex(etp2, dual(-3,1), 2.3))
53-
@inferred(getindex(etp2, dual(3,1), -2.3))
54-
@inferred(getindex(etp2, -3.1, dual(-2.3,0)))
55-
@inferred(getindex(etp2, 3,1, dual(-2.3,1)))
56-
57-
@inferred(getindex(etp2, 13.4,2.1))
58-
@inferred(getindex(etp2, 13,2))
59-
@inferred(getindex(etp2, dual(13,1),2.1))
60-
@inferred(getindex(etp2, 3.4,12.1))
61-
@inferred(getindex(etp2, 3,12))
62-
@inferred(getindex(etp2, dual(3,1),12.1))
63-
@inferred(getindex(etp2, dual(13,1),2.1))
64-
@inferred(getindex(etp2, 3.1,dual(12.1,1)))
65-
@inferred(getindex(etp2, 13,dual(12,1)))
35+
for (etp2,E) in map(E -> (extrapolate(itp2, E), E), schemes),
36+
x in (
37+
# In-bounds evaluation
38+
3.4, 3, dual(3.1),
39+
# Out-of-bounds evaluation
40+
-3.4, -3, dual(-3,1),
41+
13.4, 13, dual(13,1)
42+
),
43+
y in (
44+
# In-bounds evaluation
45+
2.1, 2, dual(2.3, 1),
46+
# Out-of-bounds evaluation
47+
-2.1, -2, dual(-2.3, 1),
48+
12.1, 12, dual(12.1, 1)
49+
)
50+
51+
@inferred(getindex(etp2, x, y))
6652
end
6753

6854
end

0 commit comments

Comments
 (0)