Skip to content

Commit 1570a2f

Browse files
committed
fix JET warnings
1 parent 2fad88e commit 1570a2f

File tree

2 files changed

+8
-6
lines changed

2 files changed

+8
-6
lines changed

src/decoders/belief_propagation.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ struct BeliefPropagationDecoder <: AbstractDecoder
4444
scratch::BeliefPropagationScratchSpace
4545
end
4646

47-
function BeliefPropagationDecoder(H, per::Float64, max_iters::Int)
47+
function BeliefPropagationDecoder(H::Union{SparseArrays.SparseMatrixCSC{Bool,Int}, BitMatrix}, per::Float64, max_iters::Int)
4848
s, n = size(H)
4949
sparse_H = sparse(H)
5050
sparse_HT = sparse(H')
@@ -108,7 +108,7 @@ true
108108
function decode!(decoder::BeliefPropagationDecoder, syndrome::AbstractVector) # TODO check if casting to bitarrays helps with performance -- if it does, set up warnings to the user for cases where they have not done the casting
109109
reset!(decoder)
110110
rows::Vector{Int} = rowvals(decoder.sparse_H);
111-
rowsT::Vector{Int} = rowvals(decoder.sparse_HT);
111+
rowsT::Vector{Int} = rowvals(decoder.sparse_HT);
112112
setup = decoder.scratch
113113

114114
for j in 1:decoder.n
@@ -138,7 +138,7 @@ function decode!(decoder::BeliefPropagationDecoder, syndrome::AbstractVector) #
138138

139139
for j in 1:decoder.n
140140
temp::Float64 = setup.channel_probs[j] / (1 - setup.channel_probs[j])
141-
141+
142142
for k in nzrange(decoder.sparse_H, j)
143143
setup.bit_2_check[rows[k],j] = temp
144144
temp *= setup.check_2_bit[rows[k],j]
@@ -166,7 +166,7 @@ function decode!(decoder::BeliefPropagationDecoder, syndrome::AbstractVector) #
166166

167167
syndrome_decoded = (decoder.sparse_H * setup.err) .% 2
168168
if all(syndrome_decoded .== syndrome)
169-
converged = true
169+
converged = true
170170
break # Break if converged
171171
end
172172
end

src/decoders/belief_propagation_osd.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ struct BeliefPropagationOSDDecoder <: AbstractDecoder
77
osd_order::Int
88
end
99

10-
function BeliefPropagationOSDDecoder(H, per::Float64, max_iters::Int; osd_order::Int=0)
10+
function BeliefPropagationOSDDecoder(H::BitMatrix, per::Float64, max_iters::Int; osd_order::Int=0)
1111
bp_decoder = BeliefPropagationDecoder(H, per, max_iters)
1212
return BeliefPropagationOSDDecoder(bp_decoder, H, osd_order)
1313
end
@@ -90,7 +90,9 @@ function osd(H, syndrome, bp_err, osd_order)
9090
# try all possible errors on the first `osd_order` bits within `most_reliable_cols`
9191
if x != 0
9292
trial_err = BitArray([x >> i & 1 for i in 0:osd_order-1])
93-
err[most_reliable_cols[1:osd_order]] = trial_err
93+
for j in 1:osd_order
94+
err[most_reliable_cols[j]] = trial_err[j]
95+
end
9496
end
9597
# then based on the `most_reliable_cols` part of errors, compute the `least_reliable_cols` part of errors
9698
for (i, j) in zip(least_reliable_rows, least_reliable_cols)

0 commit comments

Comments
 (0)