From 5c14edc53c213e1192554cca41a898d6ed11646b Mon Sep 17 00:00:00 2001 From: kalmarek Date: Fri, 27 Oct 2017 16:14:28 +0200 Subject: [PATCH] update change_pow to the new AutSymbol --- src/AutGroup.jl | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/src/AutGroup.jl b/src/AutGroup.jl index 71e8e81..aff9c0e 100644 --- a/src/AutGroup.jl +++ b/src/AutGroup.jl @@ -209,22 +209,20 @@ function change_pow(s::AutSymbol, n::Int) if n == 0 return id_autsymbol() end - symbol = s.ex.args[1] - if symbol == :ɛ - return flip_autsymbol(s.ex.args[2], pow=n) - elseif symbol == :σ - G = PermutationGroup(length(s.ex.args[2])) - return perm_autsymbol(G(s.ex.args[2]), pow=n) - elseif symbol == :ϱ - s.ex.args[2:end-1] - return rmul_autsymbol(s.ex.args[2:end-1]..., pow=n) - elseif symbol == :λ - return lmul_autsymbol(s.ex.args[2:end-1]..., pow=n) - elseif symbol == :id + symbol = s.typ + if isa(symbol, FlipAut) + return flip_autsymbol(symbol.i, pow=n) + elseif isa(symbol, PermAut) + return perm_autsymbol(symbol.p, pow=n) + elseif isa(symbol, RTransvect) + return rmul_autsymbol(symbol.i, symbol.j, pow=n) + elseif isa(symbol, LTransvect) + return lmul_autsymbol(symbol.i, symbol.j, pow=n) + elseif isa(symbol, Identity) return s else warn("Changing power of an unknown type of symbol! $s") - return AutSymbol(s.str, n, s.ex) + return AutSymbol(s.str, n, s.typ) end end