Skip to content

Commit c7c7edc

Browse files
committed
Actually use forced colors
1 parent 1522ef7 commit c7c7edc

1 file changed

Lines changed: 6 additions & 8 deletions

File tree

src/interface.jl

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ function _coloring(
237237
bg = BipartiteGraph(A; symmetric_pattern)
238238
color_by_order = map(algo.orders) do order
239239
vertices_in_order = vertices(bg, Val(2), order)
240-
return partial_distance2_coloring(bg, Val(2), vertices_in_order)
240+
return partial_distance2_coloring(bg, Val(2), vertices_in_order; forced_colors)
241241
end
242242
color = argmin(maximum, color_by_order)
243243
if speed_setting isa WithResult
@@ -260,7 +260,7 @@ function _coloring(
260260
bg = BipartiteGraph(A; symmetric_pattern)
261261
color_by_order = map(algo.orders) do order
262262
vertices_in_order = vertices(bg, Val(1), order)
263-
return partial_distance2_coloring(bg, Val(1), vertices_in_order)
263+
return partial_distance2_coloring(bg, Val(1), vertices_in_order; forced_colors)
264264
end
265265
color = argmin(maximum, color_by_order)
266266
if speed_setting isa WithResult
@@ -282,7 +282,7 @@ function _coloring(
282282
ag = AdjacencyGraph(A; has_diagonal=true)
283283
color_and_star_set_by_order = map(algo.orders) do order
284284
vertices_in_order = vertices(ag, order)
285-
return star_coloring(ag, vertices_in_order, algo.postprocessing)
285+
return star_coloring(ag, vertices_in_order, algo.postprocessing; forced_colors)
286286
end
287287
color, star_set = argmin(maximum first, color_and_star_set_by_order)
288288
if speed_setting isa WithResult
@@ -298,8 +298,7 @@ function _coloring(
298298
::ColoringProblem{:symmetric,:column},
299299
algo::GreedyColoringAlgorithm{:substitution},
300300
decompression_eltype::Type{R},
301-
symmetric_pattern::Bool;
302-
forced_colors::Union{AbstractVector{<:Integer},Nothing}=nothing,
301+
symmetric_pattern::Bool,
303302
) where {R}
304303
ag = AdjacencyGraph(A; has_diagonal=true)
305304
color_and_tree_set_by_order = map(algo.orders) do order
@@ -327,7 +326,7 @@ function _coloring(
327326
ag = AdjacencyGraph(A_and_Aᵀ, edge_to_index; has_diagonal=false)
328327
outputs_by_order = map(algo.orders) do order
329328
vertices_in_order = vertices(ag, order)
330-
_color, _star_set = star_coloring(ag, vertices_in_order, algo.postprocessing)
329+
_color, _star_set = star_coloring(ag, vertices_in_order, algo.postprocessing; forced_colors)
331330
(_row_color, _column_color, _symmetric_to_row, _symmetric_to_column) = remap_colors(
332331
eltype(ag), _color, maximum(_color), size(A)...
333332
)
@@ -366,8 +365,7 @@ function _coloring(
366365
::ColoringProblem{:nonsymmetric,:bidirectional},
367366
algo::GreedyColoringAlgorithm{:substitution},
368367
decompression_eltype::Type{R},
369-
symmetric_pattern::Bool;
370-
forced_colors::Union{AbstractVector{<:Integer},Nothing}=nothing,
368+
symmetric_pattern::Bool,
371369
) where {R}
372370
A_and_Aᵀ, edge_to_index = bidirectional_pattern(A; symmetric_pattern)
373371
ag = AdjacencyGraph(A_and_Aᵀ, edge_to_index; has_diagonal=false)

0 commit comments

Comments
 (0)