diff --git a/Project.toml b/Project.toml index 53ca405..6b3e6c9 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "PeriodicGraphs" uuid = "18c5b727-b240-4874-878a-f2e242435bab" authors = ["Lionel Zoubritzky lionel.zoubritzky@gmail.com"] -version = "0.9.0" +version = "0.9.1" [deps] Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6" diff --git a/src/algorithms/rings.jl b/src/algorithms/rings.jl index 3ea7582..c509c7e 100644 --- a/src/algorithms/rings.jl +++ b/src/algorithms/rings.jl @@ -1356,12 +1356,12 @@ function strong_erings(rs::Vector{Vector{Int}}, g::PeriodicGraph{D}, depth=15, r return origin, NoSymmetryGroup(length(ret)), ecycles, kp end -function strong_erings(g::PeriodicGraph, depth=15, symmetries::AbstractSymmetryGroup=NoSymmetryGroup(g), dist::DistanceRecord=DistanceRecord(g,depth)) +function strong_erings(g::PeriodicGraph, depth::Integer=15, symmetries::AbstractSymmetryGroup=NoSymmetryGroup(g), dist::DistanceRecord=DistanceRecord(g,depth)) rs, symmg = rings(g, depth, symmetries, dist) keep, symms, erings, kp = strong_erings(rs, g, depth, symmg) return rs[keep], symms, erings, kp end -function strong_erings(g::PeriodicGraph, symmetries::AbstractSymmetryGroup=NoSymmetryGroup(g), dist::DistanceRecord=DistanceRecord(g,15)) +function strong_erings(g::PeriodicGraph, symmetries::AbstractSymmetryGroup, dist::DistanceRecord=DistanceRecord(g,15)) strong_erings(g, 15, symmetries, dist) end diff --git a/src/precompile.jl b/src/precompile.jl index 8f0a4e7..48079b5 100644 --- a/src/precompile.jl +++ b/src/precompile.jl @@ -178,6 +178,11 @@ function _precompile_() @enforce Base.precompile(Tuple{typeof(swap_axes!),PeriodicGraph{i},NTuple{i,Int}}) @enforce Base.precompile(Tuple{typeof(truncated_graph),PeriodicGraph{i}}) @enforce Base.precompile(Tuple{typeof(quotient_graph),PeriodicGraph{i}}) + for N in 1:i + @enforce Base.precompile(Tuple{typeof(slice_graph), PeriodicGraph{i}, SVector{N,Int}}) + @enforce Base.precompile(Tuple{typeof(slice_graph), PeriodicGraph{i}, NTuple{N,Int}}) + end + @enforce Base.precompile(Tuple{typeof(slice_graph), PeriodicGraph{i}, Vector{Int}}) # Ring statistics dag{T} = Vector{PeriodicGraphs.JunctionNode{T}} @@ -222,6 +227,13 @@ function _precompile_() @enforce Base.precompile(Tuple{typeof(PeriodicGraphs.sort_cycles), PeriodicGraph{i}, Vector{Vector{Int}}, Int, Tuple{Vector{Tuple{PeriodicVertex{i},PeriodicVertex{i}}}, Dict{Tuple{PeriodicVertex{i},PeriodicVertex{i}},Int}}}) @enforce Base.precompile(Tuple{typeof(PeriodicGraphs.sort_cycles), PeriodicGraph{i}, Vector{Vector{Int}}, Int}) @enforce Base.precompile(Tuple{typeof(PeriodicGraphs.sort_cycles), PeriodicGraph{i}, Vector{Vector{Int}}}) + @enforce Base.precompile(Tuple{typeof(strong_erings), Vector{Vector{Int}}, PeriodicGraph{i}, Int, nosymm}) + @enforce Base.precompile(Tuple{typeof(strong_erings), Vector{Vector{Int}}, PeriodicGraph{i}, Int}) + @enforce Base.precompile(Tuple{typeof(strong_erings), Vector{Vector{Int}}, PeriodicGraph{i}}) + @enforce Base.precompile(Tuple{typeof(strong_erings), PeriodicGraph{i}, Int, nosymm, dist}) + @enforce Base.precompile(Tuple{typeof(strong_erings), PeriodicGraph{i}, Int, nosymm}) + @enforce Base.precompile(Tuple{typeof(strong_erings), PeriodicGraph{i}, Int}) + @enforce Base.precompile(Tuple{typeof(strong_erings), PeriodicGraph{i}}) @enforce Base.precompile(Tuple{typeof(strong_rings), Vector{Vector{Int}}, PeriodicGraph{i}, Int, nosymm}) @enforce Base.precompile(Tuple{typeof(strong_rings), Vector{Vector{Int}}, PeriodicGraph{i}, Int}) @enforce Base.precompile(Tuple{typeof(strong_rings), Vector{Vector{Int}}, PeriodicGraph{i}})