From 5aaab3492c26a161b89cd72a5235197eb0a6600c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20G=C3=B6ttgens?= Date: Thu, 6 Jul 2023 10:54:07 +0200 Subject: [PATCH] Change return argument order of `is_prime_power_with_data` (#1484) --- src/flint/fmpz.jl | 8 ++++---- src/flint/fq_default_extended.jl | 2 +- test/flint/fmpz-test.jl | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/flint/fmpz.jl b/src/flint/fmpz.jl index 3c48ec2bc..98caaa9ec 100644 --- a/src/flint/fmpz.jl +++ b/src/flint/fmpz.jl @@ -2958,20 +2958,20 @@ is_prime_power(q::Integer) = is_prime_power(ZZRingElem(q)) @doc raw""" is_prime_power_with_data(q::IntegerUnion) -> Bool, ZZRingElem, Int -Returns a flag indicating whether $q$ is a prime power and integers $p, e$ such +Returns a flag indicating whether $q$ is a prime power and integers $e, p$ such that $q = p^e$. If $q$ is a prime power, than $p$ is a prime. """ is_prime_power_with_data(::IntegerUnion) function is_prime_power_with_data(q::ZZRingElem) - iszero(q) && return false, q, 1 + iszero(q) && return false, 1, q e, a = _maximal_integer_root(q) - return isprime(a), a, e + return isprime(a), e, a end function is_prime_power_with_data(q::Integer) e, a = _maximal_integer_root(ZZRingElem(q)) - return isprime(a), typeof(q)(a), e + return isprime(a), e, typeof(q)(a) end ############################################################################### diff --git a/src/flint/fq_default_extended.jl b/src/flint/fq_default_extended.jl index 42292b788..f027e9479 100644 --- a/src/flint/fq_default_extended.jl +++ b/src/flint/fq_default_extended.jl @@ -636,7 +636,7 @@ end ################################################################################ function NGFiniteField(a::IntegerUnion, s::VarName = :o; cached::Bool = true, check::Bool = true) - fl, p, e = is_prime_power_with_data(a) + fl, e, p = is_prime_power_with_data(a) !fl && error("Order must be a prime power") return NGFiniteField(p, e, s; cached = cached, check = false) end diff --git a/test/flint/fmpz-test.jl b/test/flint/fmpz-test.jl index dfe8a30a9..0f2d2fad5 100644 --- a/test/flint/fmpz-test.jl +++ b/test/flint/fmpz-test.jl @@ -1157,11 +1157,11 @@ end # Prime power for T in [Int, BigInt, ZZRingElem] @test @inferred Nemo.is_prime_power(T(2)) - @test (@inferred Nemo.is_prime_power_with_data(T(2))) == (true, T(2), 1) + @test (@inferred Nemo.is_prime_power_with_data(T(2))) == (true, 1, T(2)) @test Nemo.is_prime_power(T(4)) - @test (@inferred Nemo.is_prime_power_with_data(T(4))) == (true, T(2), 2) + @test (@inferred Nemo.is_prime_power_with_data(T(4))) == (true, 2, T(2)) @test Nemo.is_prime_power(T(27)) - @test (@inferred Nemo.is_prime_power_with_data(T(27))) == (true, T(3), 3) + @test (@inferred Nemo.is_prime_power_with_data(T(27))) == (true, 3, T(3)) @test !Nemo.is_prime_power(T(1)) @test !Nemo.is_prime_power(T(6)) @test !Nemo.is_prime_power(T(-3))