annotate test/SbpOperators/allocations_test.jl @ 1889:c1519a9b4903 allocation_testing

Close branch.
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 28 Jan 2025 22:07:06 +0100
parents 24590890e124
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 using Test
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 using BenchmarkTools
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 using Sbplib.Grids
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 using Sbplib.SbpOperators
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 using Sbplib.LazyTensors
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 using Sbplib.RegionIndices
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 @testset "Allocations" begin
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 stencil_set = read_stencil_set(sbp_operators_path()*"standard_diagonal.toml", order=4)
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 @testset "1D" begin
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 g₁ = EquidistantGrid(15, 0.,1.)
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 H = inner_product(g₁, stencil_set)
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 H⁻¹ = inverse_inner_product(g₁, stencil_set)
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 D₂ = second_derivative(g₁, stencil_set, 1)
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 eₗ = boundary_restriction(g₁, stencil_set, CartesianBoundary{1,Lower}())
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 eᵣ = boundary_restriction(g₁, stencil_set, CartesianBoundary{1,Upper}())
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 dₗ = normal_derivative(g₁, stencil_set, CartesianBoundary{1,Lower}())
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 dᵣ = normal_derivative(g₁, stencil_set, CartesianBoundary{1,Upper}())
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
27 indices = [1, 6, 15]
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
29 v = rand(size(g₁)...)
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
30 u = fill(1.)
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
32 neumannSATₗ = H⁻¹∘eₗ'∘dₗ # TODO: Remove
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
33 neumannSATᵣ = H⁻¹∘eᵣ'∘dᵣ # TODO: Remove
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
35 @testset for i ∈ indices
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
36 @test (@ballocated LazyTensors.apply($D₂, $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
37 @test (@ballocated LazyTensors.apply($H, $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
38 @test (@ballocated LazyTensors.apply($(H∘H), $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
39 @test (@ballocated LazyTensors.apply($H⁻¹, $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
40 @test (@ballocated LazyTensors.apply($eₗ', $u, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
41 @test (@ballocated LazyTensors.apply($eᵣ', $u, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
42 @test (@ballocated LazyTensors.apply($dₗ', $u, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
43 @test (@ballocated LazyTensors.apply($dᵣ', $u, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
44 @test (@ballocated LazyTensors.apply($neumannSATₗ, $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
45 @test (@ballocated LazyTensors.apply($neumannSATᵣ, $v, $i)) == 0
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
46 end
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
47
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
48 @testset "boundary operators" begin
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
49 @test (@ballocated LazyTensors.apply($eₗ, $v)) == 0
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
50 @test (@ballocated LazyTensors.apply($eᵣ, $v)) == 0
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
51 @test (@ballocated LazyTensors.apply($dₗ, $v)) == 0
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
52 @test (@ballocated LazyTensors.apply($dᵣ, $v)) == 0
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53 end
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
54 end
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
55
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
56
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
57 @testset "2D" begin
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
58 g₂ = EquidistantGrid((15,15), (0.,0.),(1.,1.))
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
59
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
60 H = inner_product(g₂, stencil_set)
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
61 H⁻¹ = inverse_inner_product(g₂, stencil_set)
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
62 D₂x = second_derivative(g₂, stencil_set, 1)
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
63 D₂y = second_derivative(g₂, stencil_set, 2)
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
64
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
65 e₁ₗ = boundary_restriction(g₂, stencil_set, CartesianBoundary{1,Lower}())
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
66 e₁ᵤ = boundary_restriction(g₂, stencil_set, CartesianBoundary{1,Upper}())
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
67 e₂ₗ = boundary_restriction(g₂, stencil_set, CartesianBoundary{2,Lower}())
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
68 e₂ᵤ = boundary_restriction(g₂, stencil_set, CartesianBoundary{2,Upper}())
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
69
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
70 d₁ₗ = normal_derivative(g₂, stencil_set, CartesianBoundary{1,Lower}())
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
71 d₁ᵤ = normal_derivative(g₂, stencil_set, CartesianBoundary{1,Upper}())
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
72 d₂ₗ = normal_derivative(g₂, stencil_set, CartesianBoundary{2,Lower}())
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
73 d₂ᵤ = normal_derivative(g₂, stencil_set, CartesianBoundary{2,Upper}())
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
74
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
75 H₁ₗ = inner_product(boundary_grid(g₂, CartesianBoundary{1,Lower}()), stencil_set)
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
76 H₁ᵤ = inner_product(boundary_grid(g₂, CartesianBoundary{1,Upper}()), stencil_set)
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
77 H₂ₗ = inner_product(boundary_grid(g₂, CartesianBoundary{2,Lower}()), stencil_set)
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
78 H₂ᵤ = inner_product(boundary_grid(g₂, CartesianBoundary{2,Upper}()), stencil_set)
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
79
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
80
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
81 # neumannSAT₁ₗ = H⁻¹∘e₁ₗ'∘H₁ₗ∘d₁ₗ
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
82 # neumannSAT₂ᵤ = H⁻¹∘e₂ᵤ'∘H₂ᵤ∘d₂ᵤ
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
83
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
84 neumannSAT₁ₗ = e₁ₗ'∘d₁ₗ # TODO: Remove
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
85 neumannSAT₂ᵤ = e₂ᵤ'∘d₂ᵤ # TODO: Remove
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
86
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
87 indices = [1,6,15]
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
88
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
89 v = rand(size(g₂)...)
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
90 u = rand(first(size(g₂)))
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
91
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
92 @testset for i ∈ indices
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
93 @testset for j ∈ indices
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
94 @test (@ballocated LazyTensors.apply($D₂x, $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
95 @test (@ballocated LazyTensors.apply($D₂y, $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
96 @test (@ballocated LazyTensors.apply($(D₂x∘D₂y), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
97 @test (@ballocated LazyTensors.apply($H, $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
98 @test (@ballocated LazyTensors.apply($(H∘H), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
99 @test (@ballocated LazyTensors.apply($H⁻¹, $v, $i, $j)) == 0
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
100
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
101 @test (@ballocated LazyTensors.apply($e₁ₗ', $u, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
102 @test (@ballocated LazyTensors.apply($e₁ᵤ', $u, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
103 @test (@ballocated LazyTensors.apply($e₂ₗ', $u, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
104 @test (@ballocated LazyTensors.apply($e₂ᵤ', $u, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
105
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
106 @test (@ballocated LazyTensors.apply($d₁ₗ', $u, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
107 @test (@ballocated LazyTensors.apply($d₁ᵤ', $u, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
108 @test (@ballocated LazyTensors.apply($d₂ₗ', $u, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
109 @test (@ballocated LazyTensors.apply($d₂ᵤ', $u, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
110
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
111 @test (@ballocated LazyTensors.apply($neumannSAT₁ₗ, $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
112 @test (@ballocated LazyTensors.apply($neumannSAT₂ᵤ, $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
113
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
114
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
115
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
116 ## Experiments
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
117 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘d₁ₗ), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
118 @test (@ballocated LazyTensors.apply($(d₁ₗ'∘e₁ₗ), $v, $i, $j)) == 0
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
119
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
120 @test_broken (@ballocated LazyTensors.apply($(H⁻¹∘e₁ₗ'∘H₁ₗ∘d₁ₗ), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
121 @test_broken (@ballocated LazyTensors.apply($(e₁ₗ'∘H₁ₗ∘d₁ₗ∘H⁻¹), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
122 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘H₁ₗ∘d₁ₗ), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
123 @test_broken (@ballocated LazyTensors.apply($(H⁻¹∘e₁ₗ'∘d₁ₗ), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
124 @test (@ballocated LazyTensors.apply($(H⁻¹∘D₂x), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
125 @test (@ballocated LazyTensors.apply($(H⁻¹∘D₂y), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
126 @test_broken (@ballocated LazyTensors.apply($(H⁻¹∘D₂x∘D₂y), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
127 @test_broken (@ballocated LazyTensors.apply($(D₂x∘e₁ₗ'∘H₁ₗ∘d₁ₗ), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
128 @test_broken (@ballocated LazyTensors.apply($(D₂y∘e₁ₗ'∘H₁ₗ∘d₁ₗ), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
129 @test (@ballocated LazyTensors.apply($(D₂x∘e₁ₗ'∘d₁ₗ), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
130 @test (@ballocated LazyTensors.apply($(D₂y∘e₁ₗ'∘d₁ₗ), $v, $i, $j)) == 0
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
131
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
132 @test (@ballocated LazyTensors.apply($(H⁻¹∘e₁ₗ'), $u, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
133 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘H₁ₗ), $u, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
134 @test (@ballocated LazyTensors.apply($(H₁ₗ∘d₁ₗ), $v, $i)) == 0
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
135
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
136 @test_broken (@ballocated LazyTensors.apply($(H⁻¹∘e₁ₗ'∘H₁ₗ), $u, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
137 @test (@ballocated LazyTensors.apply($(H₁ₗ∘e₁ₗ∘H⁻¹), $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
138 @test (@ballocated LazyTensors.apply($(H₁ₗ∘d₁ₗ∘H⁻¹), $v, $i)) == 0
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
139
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
140 @test_broken (@ballocated LazyTensors.apply($(e₁ₗ'∘e₁ₗ∘e₁ₗ'∘e₁ₗ), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
141 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘e₁ₗ∘e₁ₗ'), $u, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
142 @test (@ballocated LazyTensors.apply($(e₁ₗ∘e₁ₗ'∘e₁ₗ), $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
143 @test (@ballocated LazyTensors.apply($(e₁ₗ'∘e₁ₗ), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
144 @test (@ballocated LazyTensors.apply($(e₁ₗ∘e₁ₗ'), $u, $i)) == 0
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
145
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
146
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
147 @test (@ballocated LazyTensors.apply($H, $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
148 @test (@ballocated LazyTensors.apply($(H∘H), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
149 @test_broken (@ballocated LazyTensors.apply($(H∘H∘H), $v, $i, $j)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
150 @test_broken (@ballocated LazyTensors.apply($(H∘H∘H∘H), $v, $i, $j)) == 0
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
151
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
152 end
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
153
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
154 @test (@ballocated LazyTensors.apply($e₁ₗ, $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
155 @test (@ballocated LazyTensors.apply($e₁ᵤ, $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
156 @test (@ballocated LazyTensors.apply($e₂ₗ, $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
157 @test (@ballocated LazyTensors.apply($e₂ᵤ, $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
158
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
159 @test (@ballocated LazyTensors.apply($d₁ₗ, $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
160 @test (@ballocated LazyTensors.apply($d₁ᵤ, $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
161 @test (@ballocated LazyTensors.apply($d₂ₗ, $v, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
162 @test (@ballocated LazyTensors.apply($d₂ᵤ, $v, $i)) == 0
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
163
1887
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
164 ## Experiments
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
165 @test (@ballocated LazyTensors.apply($(e₁ₗ∘d₁ₗ'), $u, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
166 @test (@ballocated LazyTensors.apply($(d₁ₗ∘e₁ₗ'), $u, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
167
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
168 @test (@ballocated LazyTensors.apply($(e₁ₗ∘H∘d₁ₗ'), $u, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
169 @test (@ballocated LazyTensors.apply($(d₁ₗ∘H∘e₁ₗ'), $u, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
170
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
171 @test (@ballocated LazyTensors.apply($(H₁ₗ∘e₁ₗ∘d₁ₗ'), $u, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
172 @test (@ballocated LazyTensors.apply($(H₁ₗ∘d₁ₗ∘e₁ₗ'), $u, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
173
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
174 @test_broken (@ballocated LazyTensors.apply($(H₁ₗ∘e₁ₗ∘H∘d₁ₗ'), $u, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
175 @test_broken (@ballocated LazyTensors.apply($(H₁ₗ∘d₁ₗ∘H∘e₁ₗ'), $u, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
176
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
177 @test_broken (@ballocated LazyTensors.apply($(e₁ₗ∘H∘d₁ₗ'∘H₁ₗ), $u, $i)) == 0
24590890e124 Refactor a little bit
Jonatan Werpers <jonatan@werpers.com>
parents: 1886
diff changeset
178 @test_broken (@ballocated LazyTensors.apply($(d₁ₗ∘H∘e₁ₗ'∘H₁ₗ), $u, $i)) == 0
1886
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
179 end
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
180 end
9ce6d939dfae Start experimenting with allocation testing
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
181 end