diff --git a/src/arb/arb.jl b/src/arb/arb.jl index 906bcf0e3..a419229fe 100644 --- a/src/arb/arb.jl +++ b/src/arb/arb.jl @@ -16,7 +16,7 @@ export ball, radius, midpoint, contains, contains_zero, isnonzero, isexact, isint, ispositive, isfinite, isnonnegative, isnegative, isnonpositive, add!, mul!, sub!, div!, strongequal, prec, overlaps, unique_integer, - accuracy_bits, trim, ldexp, setunion, + accuracy_bits, trim, ldexp, setunion, setintersection, const_pi, const_e, const_log2, const_log10, const_euler, const_catalan, const_khinchin, const_glaisher, floor, ceil, hypot, rsqrt, sqrt1pm1, root, @@ -907,6 +907,18 @@ function setunion(x::arb, y::arb) return z end +doc""" + setintersection(x::arb, y::arb) +> Return an `arb` containing the intersection of the intervals represented by +> $x$ and $y$. +""" +function setintersection(x::arb, y::arb) + z = parent(x)() + ccall((:arb_intersection, :libarb), Void, + (Ref{arb}, Ref{arb}, Ref{arb}, Int), z, x, y, parent(x).prec) + return z +end + ################################################################################ # # Constants