From 0cc0ad94a61e39c0951a94dcc48eb0cb18d4be19 Mon Sep 17 00:00:00 2001 From: kalmarek Date: Sun, 27 Aug 2017 18:32:19 +0200 Subject: [PATCH] threaded orbit_decomposition --- src/OrbitDecomposition.jl | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/OrbitDecomposition.jl b/src/OrbitDecomposition.jl index a0d2639..47fa317 100644 --- a/src/OrbitDecomposition.jl +++ b/src/OrbitDecomposition.jl @@ -54,13 +54,12 @@ function orbit_decomposition(G::Nemo.Group, E::Vector, rdict=GroupRings.reverse_ for i in 1:endof(E) if tovisit[i] - orbit = Vector{Int}() + orbit = zeros(Int, length(elts)) a = E[i] - for g in elts - idx = rdict[g(a)] - tovisit[idx] = false - push!(orbit,idx) + Threads.@threads for i in 1:length(elts) + orbit[i] = rdict[elts[i](a)] end + tovisit[orbit] = false push!(orbits, unique(orbit)) end end