@@ -4,6 +4,13 @@ using SciMLOperators: IdentityOperator,
4
4
ScaledOperator,
5
5
AddedOperator
6
6
7
+ function apply_op! (H, w, v, u, p, t)
8
+ H (w, v, u, p, t)
9
+ return nothing
10
+ end
11
+
12
+ test_apply_noalloc (H, w, v, u, p, t) = @test (@allocations apply_op! (H, w, v, u, p, t)) == 0
13
+
7
14
@testset " Allocations Check" begin
8
15
Random. seed! (0 )
9
16
N = 8
@@ -17,13 +24,7 @@ using SciMLOperators: IdentityOperator,
17
24
t = 0
18
25
op = AddedOperator (A, B)
19
26
20
- function apply_op! (H, w, v, u, p, t)
21
- H (w, v, u, p, t)
22
- return nothing
23
- end
24
-
25
- test_apply_noalloc (H, w, v, u, p, t) = @test (@allocations apply_op! (H, w, v, u, p, t)) == 0
26
-
27
+ apply_op! (op, w, v, u, p, t) # Warm up
27
28
test_apply_noalloc (op, w, v, u, p, t)
28
29
29
30
for T in (Float32, Float64, ComplexF32, ComplexF64)
@@ -53,6 +54,8 @@ using SciMLOperators: IdentityOperator,
53
54
p = (ω = 0.1 ,)
54
55
t = 0.1
55
56
57
+ apply_op! (H_sparse, w, v, u, p, t) # Warm up
58
+ apply_op! (H_dense, w, v, u, p, t) # Warm up
56
59
test_apply_noalloc (H_sparse, w, v, u, p, t)
57
60
test_apply_noalloc (H_dense, w, v, u, p, t)
58
61
end
0 commit comments