Skip to content

Commit 1bb3d60

Browse files
committed
Clean up inbounds throughout VLC code
1 parent a14cc8e commit 1bb3d60

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

src/EEAlgorithm.jl

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ Calculate the angular distance between two jets `i` and `j` using the formula
1717
- `Float64`: The angular distance between `i` and `j`, which is ``1 -
1818
cos\theta``.
1919
"""
20-
@inline function angular_distance(eereco, i, j)
21-
@inbounds @muladd 1.0 - eereco[i].nx * eereco[j].nx - eereco[i].ny * eereco[j].ny -
22-
eereco[i].nz * eereco[j].nz
20+
Base.@propagate_inbounds @inline function angular_distance(eereco, i, j)
21+
@muladd 1.0 - eereco[i].nx * eereco[j].nx - eereco[i].ny * eereco[j].ny -
22+
eereco[i].nz * eereco[j].nz
2323
end
2424

2525
"""
@@ -37,7 +37,7 @@ Calculate the Valencia distance between two jets `i` and `j` as
3737
# Returns
3838
- `Float64`: The Valencia distance between `i` and `j`.
3939
"""
40-
Base.@propagate_inbounds function valencia_distance(eereco, i, j, R)
40+
Base.@propagate_inbounds @inline function valencia_distance(eereco, i, j, R)
4141
angular_dist = angular_distance(eereco, i, j)
4242
# Valencia dij : min(E_i^{2β}, E_j^{2β}) * 2 * (1 - cos θ) / R²
4343
# Note that β plays the role of p in other algorithms, so E2p can be used.
@@ -61,11 +61,12 @@ for unit direction cosines. Since ``sin^2 θ = 1 - nz^2``, we implement
6161
# Returns
6262
- `Float64`: The Valencia beam distance for jet `i`.
6363
"""
64-
Base.@propagate_inbounds function valencia_beam_distance(eereco, i, γ, β)
65-
nz = @inbounds eereco[i].nz
64+
Base.@propagate_inbounds @inline function valencia_beam_distance(eereco, i, γ, β)
65+
nz = eereco[i].nz
6666
# sin^2(theta) = 1 - nz^2; beam distance independent of R
6767
sin2 = 1 - nz * nz
68-
return eereco[i].E2p * sin2^γ
68+
E2p = eereco[i].E2p
69+
return E2p * sin2^γ
6970
end
7071

7172
"""
@@ -141,9 +142,9 @@ function get_angular_nearest_neighbours!(eereco, algorithm, dij_factor, p, γ =
141142
end
142143
end
143144
# Nearest neighbour dij distance
144-
for i in 1:N
145+
@inbounds for i in 1:N
145146
if algorithm == JetAlgorithm.Valencia
146-
eereco.dijdist[i] = @inbounds valencia_distance(eereco, i, eereco[i].nni, R)
147+
eereco.dijdist[i] = valencia_distance(eereco, i, eereco[i].nni, R)
147148
else
148149
eereco.dijdist[i] = dij_dist(eereco, i, eereco[i].nni, dij_factor, algorithm, R)
149150
end
@@ -158,7 +159,7 @@ function get_angular_nearest_neighbours!(eereco, algorithm, dij_factor, p, γ =
158159
end
159160
elseif algorithm == JetAlgorithm.Valencia
160161
@inbounds for i in 1:N
161-
valencia_beam_dist = @inbounds valencia_beam_distance(eereco, i, γ, p)
162+
valencia_beam_dist = valencia_beam_distance(eereco, i, γ, p)
162163
beam_closer = valencia_beam_dist < eereco[i].dijdist
163164
eereco.dijdist[i] = beam_closer ? valencia_beam_dist : eereco.dijdist[i]
164165
eereco.nni[i] = beam_closer ? 0 : eereco.nni[i]
@@ -182,7 +183,7 @@ function update_nn_no_cross!(eereco, i, N, algorithm, dij_factor, β = 1.0, γ =
182183
end
183184
end
184185
if algorithm == JetAlgorithm.Valencia
185-
eereco.dijdist[i] = @inbounds valencia_distance(eereco, i, eereco[i].nni, R)
186+
eereco.dijdist[i] = valencia_distance(eereco, i, eereco[i].nni, R)
186187
else
187188
eereco.dijdist[i] = dij_dist(eereco, i, eereco[i].nni, dij_factor, algorithm, R)
188189
end
@@ -191,7 +192,7 @@ function update_nn_no_cross!(eereco, i, N, algorithm, dij_factor, β = 1.0, γ =
191192
eereco.dijdist[i] = beam_close ? eereco[i].E2p : eereco.dijdist[i]
192193
eereco.nni[i] = beam_close ? 0 : eereco.nni[i]
193194
elseif algorithm == JetAlgorithm.Valencia
194-
valencia_beam_dist = @inbounds valencia_beam_distance(eereco, i, γ, β)
195+
valencia_beam_dist = valencia_beam_distance(eereco, i, γ, β)
195196
beam_close = valencia_beam_dist < eereco[i].dijdist
196197
eereco.dijdist[i] = beam_close ? valencia_beam_dist : eereco.dijdist[i]
197198
eereco.nni[i] = beam_close ? 0 : eereco.nni[i]

0 commit comments

Comments
 (0)