From 75c249abb8485ee562ef3db7f664fe34b6de766c Mon Sep 17 00:00:00 2001 From: kalmarek Date: Tue, 31 Jul 2018 10:19:06 +0200 Subject: [PATCH] remove iterator for FinField --- src/OrbitDecomposition.jl | 39 --------------------------------------- 1 file changed, 39 deletions(-) diff --git a/src/OrbitDecomposition.jl b/src/OrbitDecomposition.jl index 5899bc4..7ae3c4b 100644 --- a/src/OrbitDecomposition.jl +++ b/src/OrbitDecomposition.jl @@ -1,44 +1,5 @@ include("Projections.jl") -############################################################################### -# -# Iterator protocol for Nemo.FinField -# -############################################################################### - -mutable struct FFEltsIter{T<:Generic.FinField} - all::Int - field::T - - function FFEltsIter{T}(F::T) where {T} - return new(Int(characteristic(F)^degree(F)), F) - end -end -FFEltsIter(F::T) where {T<:Nemo.FinField} = FFEltsIter{T}(F) - -import Base: start, next, done, eltype, length - -Base.start(A::FFEltsIter) = (zero(A.field), 0) -Base.next(A::FFEltsIter, state) = next_ffelem(state...) -Base.done(A::FFEltsIter, state) = state[2] >= A.all -Base.eltype(::Type{FFEltsIter}) = elem_type(A.field) -Base.length(A::FFEltsIter) = A.all - -function next_ffelem(f::Nemo.FinFieldElem, c::Int) - if c == 0 - return (f, (f, 1)) - elseif c == 1 - f = one(parent(f)) - return (f, (f, 2)) - else - f = gen(parent(f))*f - return (f, (f, c+1)) - end -end - -import Nemo.elements -elements(F::Nemo.FinField) = FFEltsIter(F) - ############################################################################### # # Orbit stuff