Types
The package defines the following types which map directly to Arb types with the corresponding name. In most cases you should not use these types directly but use the types from the High level interface.
Arblib.mag_struct
— Typemag_struct
Arblib.arf_struct
— Typearf_struct
Arblib.acf_struct
— Typeacf_struct
Arblib.arb_struct
— Typearb_struct
Arblib.acb_struct
— Typeacb_struct
Arblib.arb_vec_struct
— Typearb_vec_struct
Arblib.acb_vec_struct
— Typeacb_vec_struct
Arblib.arb_poly_struct
— Typearb_poly_struct
Arblib.acb_poly_struct
— Typeacb_poly_struct
Arblib.arb_mat_struct
— Typearb_mat_struct
Arblib.acb_mat_struct
— Typeacb_mat_struct
Arblib.calc_integrate_opt_struct
— Typecalc_integrate_opt_struct
For each low-level type there is a union of types that can be interpreted as the low-level type. These are the types that can be given directly as arguments to the low-level methods. Below you find these union-types.
Arblib.MagLike
— TypeMagLike = Union{Mag,MagRef,mag_struct,Ptr{mag_struct}}
Arblib.ArfLike
— TypeArfLike = Union{Arf,ArfRef,arf_struct,Ptr{arf_struct}}}
Arblib.AcfLike
— TypeAcfLike = Union{Acf,AcfRef,acf_struct,Ptr{acf_struct}}}
Arblib.ArbLike
— TypeArbLike = Union{Arb,ArbRef,arb_struct,Ptr{arb_struct}}}
Arblib.AcbLike
— TypeAcbLike = Union{Acb,AcbRef,acb_struct,Ptr{acb_struct}}}
Arblib.ArbVectorLike
— TypeArbVectorLike = Union{ArbVector,ArbRefVector,arb_vec_struct}
Arblib.AcbVectorLike
— TypeAcbVectorLike = Union{AcbVector,AcbRefVector,acb_vec_struct}
Arblib.ArbMatrixLike
— TypeArbMatrixLike = Union{ArbMatrix,ArbRefMatrix,arb_mat_struct)}
Arblib.AcbMatrixLike
— TypeAcbMatrixLike = Union{AcbMatrix,AcbRefMatrix,acb_mat_struct}
Arblib.ArbPolyLike
— TypeArbPolyLike = Union{ArbPoly,ArbSeries,arb_poly_struct}
Arblib.AcbPolyLike
— TypeAcbPolyLike = Union{AcbPoly,AcbSeries,acb_poly_struct}
Note that the show
method is overloaded for these union types, this is to make method declarations easier to read in the REPL. As an example we can print the methods for Arblib.sin!
and we see that it prints ArbLike
instead of the much longer Union{Ptr{Arblib.arb_struct}, Arb, ArbRef, Arblib.arb_struct}
.
julia> using Arblib
julia> methods(Arblib.sin!)
# 8 methods for generic function "sin!" from Arblib: [1] sin!(s::AcbSeries, h::AcbSeries; ...) @ ~/work/Arblib.jl/Arblib.jl/src/ArbCall/ArbFunction.jl:230 [2] sin!(s::AcbSeries, h::AcbSeries, n::Integer; prec) @ ~/work/Arblib.jl/Arblib.jl/src/ArbCall/ArbFunction.jl:230 [3] sin!(s::ArbSeries, h::ArbSeries; ...) @ ~/work/Arblib.jl/Arblib.jl/src/ArbCall/ArbFunction.jl:230 [4] sin!(s::ArbSeries, h::ArbSeries, n::Integer; prec) @ ~/work/Arblib.jl/Arblib.jl/src/ArbCall/ArbFunction.jl:230 [5] sin!(s::ArbLike, x::ArbLike, prec::Integer) @ ~/work/Arblib.jl/Arblib.jl/src/ArbCall/ArbFunction.jl:204 [6] sin!(s::ArbLike, x::ArbLike; prec) @ ~/work/Arblib.jl/Arblib.jl/src/ArbCall/ArbFunction.jl:247 [7] sin!(s::AcbLike, z::AcbLike, prec::Integer) @ ~/work/Arblib.jl/Arblib.jl/src/ArbCall/ArbFunction.jl:204 [8] sin!(s::AcbLike, z::AcbLike; prec) @ ~/work/Arblib.jl/Arblib.jl/src/ArbCall/ArbFunction.jl:247