@@ -8,26 +8,22 @@ xmax = 10
8
8
A = Float64[f (x) for x in 1 : xmax]
9
9
itpg = interpolate (A, BSpline (Linear), OnGrid)
10
10
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))
31
27
end
32
28
33
29
# Test type-stability of 2-dimensional extrapolation with homogeneous scheme
@@ -36,33 +32,23 @@ ymax = 4
36
32
A = Float64[f (x)* g (y) for x in 1 : xmax, y in 1 : ymax]
37
33
itp2 = interpolate (A, BSpline (Linear), OnGrid)
38
34
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))
66
52
end
67
53
68
54
end
0 commit comments