diff --git a/src/AutGroup.jl b/src/AutGroup.jl index 0ef430a..c6e103c 100644 --- a/src/AutGroup.jl +++ b/src/AutGroup.jl @@ -157,7 +157,21 @@ function (f::AutSymbol){T}(v::Vector{GWord{T}}) if f.pow == 0 return v end - return f.func(v) + if f.ex == :(id()) + func = identity(v) + elseif f.ex.args[1] == :ϱ + func = ϱ(f.ex.args[2], f.ex.args[3], f.pow) + elseif f.ex.args[1] == :λ + func = λ(f.ex.args[2], f.ex.args[3], f.pow) + elseif f.ex.args[1] == :ɛ + func = ɛ(f.ex.args[2], f.pow) + elseif f.ex.args[1] == :σ + g = PermutationGroup(length(f.ex.args[2]))(f.ex.args[2]) + func = σ(g, f.ex.args[3]) + else + throw("Unknown AutSymbol!") + end + return func(v) end function (F::AutGroupElem)(v::Vector)