diff --git a/src/RationalFunctionField.jl b/src/RationalFunctionField.jl index 9211359798..91baa4307f 100644 --- a/src/RationalFunctionField.jl +++ b/src/RationalFunctionField.jl @@ -10,7 +10,7 @@ # ############################################################################### -function rational_function_field(k::Field, s::VarName; cached::Bool=true) +function rational_function_field(k::Field, s::VarName = :t; cached::Bool=true) return Generic.rational_function_field(k, Symbol(s); cached=cached) end diff --git a/src/generic/RationalFunctionField.jl b/src/generic/RationalFunctionField.jl index 0fa5e5e9df..3ec0c8b0f3 100644 --- a/src/generic/RationalFunctionField.jl +++ b/src/generic/RationalFunctionField.jl @@ -34,10 +34,6 @@ function is_exact_type(a::Type{S}) where {T <: FieldElement, U <: Union{PolyRing return is_exact_type(T) end -function characteristic(R::RationalFunctionField) - return characteristic(base_ring(R)) -end - ############################################################################### # # Constructors @@ -127,6 +123,12 @@ function deepcopy_internal(a::RationalFunctionFieldElem, dict::IdDict) return R(deepcopy_internal(data(a), dict)) end +function characteristic(R::RationalFunctionField) + return characteristic(base_ring(R)) +end + +is_finite(R::RationalFunctionField) = false + ############################################################################### # # Canonicalisation diff --git a/test/generic/RationalFunctionField-test.jl b/test/generic/RationalFunctionField-test.jl index f08a28d060..3680b94995 100644 --- a/test/generic/RationalFunctionField-test.jl +++ b/test/generic/RationalFunctionField-test.jl @@ -6,6 +6,7 @@ end @testset "Generic.RationalFunctionField.constructors" begin # Univariate + T, x = rational_function_field(QQ) # verify default variable name is provided T, x = rational_function_field(QQ, "x") @test rational_function_field(QQ, "x", cached = true)[1] === rational_function_field(QQ, "x", cached = true)[1] @@ -75,6 +76,14 @@ end @test isa(12//(y + 2), Generic.RationalFunctionFieldElem) @test isa(((x + 1)//(y + 2))//((y + 3)//(x + 4)), Generic.RationalFunctionFieldElem) + + T, = rational_function_field(QQ) + @test characteristic(T) == 0 + @test !is_finite(T) + + T, = rational_function_field(GF(3)) + @test characteristic(T) == 3 + @test !is_finite(T) end @testset "Generic.RationalFunctionField.printing" begin