Skip to content

Commit

Permalink
Use ..OrPtr in more places
Browse files Browse the repository at this point in the history
  • Loading branch information
fingolfin committed Sep 30, 2024
1 parent 8b486cc commit db40a12
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 25 deletions.
6 changes: 3 additions & 3 deletions src/flint/fmpq.jl
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,9 @@ zero(::Type{QQFieldElem}) = QQFieldElem(0)
one(::Type{QQFieldElem}) = QQFieldElem(1)


is_one(a::QQFieldElem) = isinteger(a) && is_one(_num_ptr(a))
is_one(a::QQFieldElemOrPtr) = isinteger(a) && is_one(_num_ptr(a))

is_zero(a::QQFieldElem) = is_zero(_num_ptr(a))
is_zero(a::QQFieldElemOrPtr) = is_zero(_num_ptr(a))

is_unit(a::QQFieldElem) = !iszero(a)

Expand Down Expand Up @@ -1059,7 +1059,7 @@ function set!(c::QQFieldElemOrPtr, a::ZZRingElemOrPtr, b::ZZRingElemOrPtr)
return c
end

function set!(c::QQFieldElem, a::ZZRingElemOrPtr)
function set!(c::QQFieldElemOrPtr, a::ZZRingElemOrPtr)
GC.@preserve c begin
set!(_num_ptr(c), a)
one!(_den_ptr(c))
Expand Down
6 changes: 2 additions & 4 deletions src/flint/fmpq_mat.jl
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ iszero(a::QQMatrix) = ccall((:fmpq_mat_is_zero, libflint), Bool,
@boundscheck _checkbounds(A, i, j)
GC.@preserve A begin
x = mat_entry_ptr(A, i, j)
return ccall((:fmpz_is_zero, libflint), Bool, (Ptr{QQFieldElem},), x)
return is_zero(x)
end
end

Expand Down Expand Up @@ -825,9 +825,7 @@ function Generic.add_one!(a::QQMatrix, i::Int, j::Int)
@boundscheck _checkbounds(a, i, j)
GC.@preserve a begin
x = mat_entry_ptr(a, i, j)
ccall((:fmpq_add_si, libflint), Nothing,
(Ptr{QQFieldElem}, Ptr{QQFieldElem}, Int),
x, x, 1)
add!(x, 1)
end
return a
end
Expand Down
30 changes: 15 additions & 15 deletions src/flint/fmpz.jl
Original file line number Diff line number Diff line change
Expand Up @@ -221,12 +221,12 @@ Return the sign of $a$, i.e. $+1$, $0$ or $-1$.
"""
sign(a::ZZRingElem) = ZZRingElem(ccall((:fmpz_sgn, libflint), Cint, (Ref{ZZRingElem},), a))

sign(::Type{Int}, a::ZZRingElem) = Int(ccall((:fmpz_sgn, libflint), Cint, (Ref{ZZRingElem},), a))
sign(::Type{Int}, a::ZZRingElemOrPtr) = Int(ccall((:fmpz_sgn, libflint), Cint, (Ref{ZZRingElem},), a))

Base.signbit(a::ZZRingElem) = signbit(sign(Int, a))
Base.signbit(a::ZZRingElemOrPtr) = signbit(sign(Int, a))

is_negative(n::ZZRingElem) = sign(Int, n) < 0
is_positive(n::ZZRingElem) = sign(Int, n) > 0
is_negative(n::ZZRingElemOrPtr) = sign(Int, n) < 0
is_positive(n::ZZRingElemOrPtr) = sign(Int, n) > 0

@doc raw"""
fits(::Type{Int}, a::ZZRingElem)
Expand Down Expand Up @@ -289,8 +289,8 @@ function numerator(a::ZZRingElem)
return a
end

isodd(a::ZZRingElem) = ccall((:fmpz_is_odd, libflint), Cint, (Ref{ZZRingElem},), a) % Bool
iseven(a::ZZRingElem) = ccall((:fmpz_is_even, libflint), Cint, (Ref{ZZRingElem},), a) % Bool
isodd(a::ZZRingElemOrPtr) = ccall((:fmpz_is_odd, libflint), Cint, (Ref{ZZRingElem},), a) % Bool
iseven(a::ZZRingElemOrPtr) = ccall((:fmpz_is_even, libflint), Cint, (Ref{ZZRingElem},), a) % Bool

###############################################################################
#
Expand Down Expand Up @@ -2540,37 +2540,37 @@ function set!(z::ZZRingElemOrPtr, a::UInt)
return z
end

function swap!(a::ZZRingElem, b::ZZRingElem)
function swap!(a::ZZRingElemOrPtr, b::ZZRingElemOrPtr)
ccall((:fmpz_swap, libflint), Nothing,
(Ref{ZZRingElem}, Ref{ZZRingElem}),
a, b)
end

function add!(z::ZZRingElem, x::ZZRingElem, y::ZZRingElem)
function add!(z::ZZRingElemOrPtr, x::ZZRingElemOrPtr, y::ZZRingElemOrPtr)
ccall((:fmpz_add, libflint), Nothing,
(Ref{ZZRingElem}, Ref{ZZRingElem}, Ref{ZZRingElem}), z, x, y)
return z
end

function add!(z::ZZRingElem, x::ZZRingElem, y::Int)
function add!(z::ZZRingElemOrPtr, x::ZZRingElemOrPtr, y::Int)
ccall((:fmpz_add_si, libflint), Nothing,
(Ref{ZZRingElem}, Ref{ZZRingElem}, Int), z, x, y)
return z
end

function add!(z::ZZRingElem, x::ZZRingElem, y::UInt)
function add!(z::ZZRingElemOrPtr, x::ZZRingElemOrPtr, y::UInt)
ccall((:fmpz_add_ui, libflint), Nothing,
(Ref{ZZRingElem}, Ref{ZZRingElem}, UInt), z, x, y)
return z
end

function add!(a::ZZRingElem, b::ZZRingElem, c::Ptr{Int})
function add!(a::ZZRingElemOrPtr, b::ZZRingElemOrPtr, c::Ptr{Int})
ccall((:fmpz_add, libflint), Nothing, (Ref{ZZRingElem}, Ref{ZZRingElem}, Ptr{Int}), a, b, c)
return a
end

add!(z::ZZRingElem, a::ZZRingElem, b::Integer) = add!(z, a, ZZRingElem(b))
add!(z::ZZRingElem, x::Int, y::ZZRingElem) = add!(z, y, x)
add!(z::ZZRingElemOrPtr, a::ZZRingElemOrPtr, b::Integer) = add!(z, a, flintify(b))
add!(z::ZZRingElemOrPtr, x::Int, y::ZZRingElemOrPtr) = add!(z, y, x)

function neg!(z::ZZRingElemOrPtr, a::ZZRingElemOrPtr)
ccall((:fmpz_neg, libflint), Nothing,
Expand Down Expand Up @@ -2686,7 +2686,7 @@ submul!(z::ZZRingElemOrPtr, x::ZZRingElemOrPtr, y::Union{ZZRingElemOrPtr,Integer
Return $r = a b + c d$, changing $r$ in-place.
"""
function fmma!(r::ZZRingElem, a::ZZRingElem, b::ZZRingElem, c::ZZRingElem, d::ZZRingElem)
function fmma!(r::ZZRingElemOrPtr, a::ZZRingElemOrPtr, b::ZZRingElemOrPtr, c::ZZRingElemOrPtr, d::ZZRingElemOrPtr)
ccall((:fmpz_fmma, libflint), Nothing,
(Ref{ZZRingElem}, Ref{ZZRingElem}, Ref{ZZRingElem}, Ref{ZZRingElem}, Ref{ZZRingElem}), r, a, b, c, d)
return r
Expand All @@ -2697,7 +2697,7 @@ end
Return $r = a b - c d$, changing $r$ in-place.
"""
function fmms!(r::ZZRingElem, a::ZZRingElem, b::ZZRingElem, c::ZZRingElem, d::ZZRingElem)
function fmms!(r::ZZRingElemOrPtr, a::ZZRingElemOrPtr, b::ZZRingElemOrPtr, c::ZZRingElemOrPtr, d::ZZRingElemOrPtr)
ccall((:fmpz_fmms, libflint), Nothing,
(Ref{ZZRingElem}, Ref{ZZRingElem}, Ref{ZZRingElem}, Ref{ZZRingElem}, Ref{ZZRingElem}), r, a, b, c, d)
return r
Expand Down
6 changes: 3 additions & 3 deletions src/flint/fq_nmod.jl
Original file line number Diff line number Diff line change
Expand Up @@ -459,13 +459,13 @@ end
#
###############################################################################

function set!(z::fqPolyRepFieldElem, x::fqPolyRepFieldElem)
function set!(z::fqPolyRepFieldElem, x::fqPolyRepFieldElemOrPtr)
ccall((:fq_nmod_set, libflint), Nothing,
(Ref{fqPolyRepFieldElem}, Ref{fqPolyRepFieldElem}, Ref{fqPolyRepField}),
z, x, parent(z))
end

function set!(z::fqPolyRepFieldElem, x::ZZRingElem)
function set!(z::fqPolyRepFieldElem, x::ZZRingElemOrPtr)
ccall((:fq_nmod_set_fmpz, libflint), Nothing,
(Ref{fqPolyRepFieldElem}, Ref{ZZRingElem}, Ref{fqPolyRepField}),
z, x, parent(z))
Expand All @@ -483,7 +483,7 @@ function set!(z::fqPolyRepFieldElem, x::UInt)
z, x, parent(z))
end

function set!(z::fqPolyRepFieldElem, x::fpPolyRingElem)
function set!(z::fqPolyRepFieldElem, x::fpPolyRingElemOrPtr)
ccall((:fq_nmod_set_nmod_poly, libflint), Nothing,
(Ref{fqPolyRepFieldElem}, Ref{fpPolyRingElem}, Ref{fqPolyRepField}),
z, x, parent(z))
Expand Down

0 comments on commit db40a12

Please sign in to comment.