Skip to content

Commit 12a246f

Browse files
committed
Fix
1 parent df35321 commit 12a246f

2 files changed

Lines changed: 10 additions & 5 deletions

File tree

src/coloring.jl

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,14 @@ function partial_distance2_coloring!(
6565
end
6666
end
6767
else
68-
if forbidden_colors[forced_colors[v]] == v
68+
f = forced_colors[v]
69+
if (
70+
(f == 0 && length(neighbors(bg, Val(side), v)) > 0) ||
71+
(f > 0 && forbidden_colors[f] == v)
72+
)
6973
throw(InvalidColoringError())
7074
else
71-
color[v] = forced_colors[v]
75+
color[v] = f
7276
end
7377
end
7478
end
@@ -152,7 +156,7 @@ function star_coloring(
152156
end
153157
end
154158
else
155-
if forbidden_colors[forced_colors[v]] == v
159+
if forbidden_colors[forced_colors[v]] == v # TODO: handle forced_colors[v] == 0
156160
throw(InvalidColoringError())
157161
else
158162
color[v] = forced_colors[v]
@@ -324,7 +328,7 @@ function acyclic_coloring(
324328
end
325329
end
326330
else
327-
if forbidden_colors[forced_colors[v]] == v
331+
if forbidden_colors[forced_colors[v]] == v # TODO: handle forced_colors[v] == 0
328332
throw(InvalidColoringError())
329333
else
330334
color[v] = forced_colors[v]

test/result.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using SparseMatrixColor
12
using SparseMatrixColorings: group_by_color, UnsupportedDecompressionError
23
using Test
34

@@ -20,7 +21,7 @@ using Test
2021
end
2122

2223
@testset "Empty compression" begin
23-
A = rand(10, 10)
24+
A = zeros(Bool, 10, 10)
2425
color = zeros(Int, 10)
2526
problem = ColoringProblem{:nonsymmetric,:column}()
2627
algo = ConstantColoringAlgorithm(A, color; partition=:column)

0 commit comments

Comments
 (0)