{-# LINE 1 "src/Data/Number/Flint/Acb/Poly/FFI.hsc" #-}
module Data.Number.Flint.Acb.Poly.FFI (
AcbPoly (..)
, CAcbPoly (..)
, newAcbPoly
, newAcbPolyFromFmpzPoly
, newAcbPolyFromFmpqPoly
, withAcbPoly
, withNewAcbPoly
, withNewAcbPolyFromFmpzPoly
, withNewAcbPolyFromFmpqPoly
, acb_poly_init
, acb_poly_clear
, acb_poly_fit_length
, _acb_poly_set_length
, _acb_poly_normalise
, acb_poly_swap
, acb_poly_allocated_bytes
, acb_poly_length
, acb_poly_degree
, acb_poly_is_zero
, acb_poly_is_one
, acb_poly_is_x
, acb_poly_zero
, acb_poly_one
, acb_poly_set
, acb_poly_set_round
, acb_poly_set_trunc
, acb_poly_set_trunc_round
, acb_poly_set_coeff_si
, acb_poly_set_coeff_acb
, acb_poly_get_coeff_acb
, _acb_poly_shift_right
, acb_poly_shift_right
, _acb_poly_shift_left
, acb_poly_shift_left
, acb_poly_truncate
, acb_poly_valuation
, acb_poly_get_strd
, acb_poly_printd
, acb_poly_fprintd
, acb_poly_randtest
, acb_poly_equal
, acb_poly_contains
, acb_poly_contains_fmpz_poly
, acb_poly_contains_fmpq_poly
, _acb_poly_overlaps
, acb_poly_overlaps
, acb_poly_get_unique_fmpz_poly
, acb_poly_is_real
, acb_poly_set_fmpz_poly
, acb_poly_set2_fmpz_poly
, acb_poly_set_arb_poly
, acb_poly_set2_arb_poly
, acb_poly_set_fmpq_poly
, acb_poly_set2_fmpq_poly
, acb_poly_set_acb
, acb_poly_set_si
, _acb_poly_majorant
, acb_poly_majorant
, _acb_poly_add
, acb_poly_add
, acb_poly_add_si
, _acb_poly_sub
, acb_poly_sub
, acb_poly_add_series
, acb_poly_sub_series
, acb_poly_neg
, acb_poly_scalar_mul_2exp_si
, acb_poly_scalar_mul
, acb_poly_scalar_div
, _acb_poly_mullow_classical
, _acb_poly_mullow_transpose
, _acb_poly_mullow_transpose_gauss
, _acb_poly_mullow
, acb_poly_mullow_classical
, acb_poly_mullow_transpose
, acb_poly_mullow_transpose_gauss
, acb_poly_mullow
, _acb_poly_mul
, acb_poly_mul
, _acb_poly_inv_series
, acb_poly_inv_series
, _acb_poly_div_series
, acb_poly_div_series
, _acb_poly_div
, _acb_poly_rem
, _acb_poly_divrem
, acb_poly_divrem
, _acb_poly_div_root
, _acb_poly_taylor_shift
, _acb_poly_compose
, _acb_poly_compose_series
, _acb_poly_revert_series_lagrange
, acb_poly_revert_series_lagrange
, _acb_poly_revert_series_newton
, acb_poly_revert_series_newton
, _acb_poly_revert_series_lagrange_fast
, acb_poly_revert_series_lagrange_fast
, _acb_poly_revert_series
, acb_poly_revert_series
, _acb_poly_evaluate_horner
, acb_poly_evaluate_horner
, _acb_poly_evaluate_rectangular
, acb_poly_evaluate_rectangular
, _acb_poly_evaluate
, acb_poly_evaluate
, _acb_poly_evaluate2_horner
, acb_poly_evaluate2_horner
, _acb_poly_evaluate2_rectangular
, acb_poly_evaluate2_rectangular
, _acb_poly_evaluate2
, acb_poly_evaluate2
, _acb_poly_product_roots
, acb_poly_product_roots
, _acb_poly_tree_alloc
, _acb_poly_tree_free
, _acb_poly_tree_build
, _acb_poly_evaluate_vec_iter
, acb_poly_evaluate_vec_iter
, _acb_poly_evaluate_vec_fast_precomp
, _acb_poly_evaluate_vec_fast
, acb_poly_evaluate_vec_fast
, _acb_poly_interpolate_newton
, acb_poly_interpolate_newton
, _acb_poly_interpolate_barycentric
, acb_poly_interpolate_barycentric
, _acb_poly_interpolation_weights
, _acb_poly_interpolate_fast_precomp
, _acb_poly_interpolate_fast
, acb_poly_interpolate_fast
, _acb_poly_derivative
, acb_poly_derivative
, _acb_poly_nth_derivative
, acb_poly_nth_derivative
, _acb_poly_integral
, acb_poly_integral
, _acb_poly_borel_transform
, acb_poly_borel_transform
, _acb_poly_inv_borel_transform
, acb_poly_inv_borel_transform
, _acb_poly_binomial_transform_basecase
, acb_poly_binomial_transform_basecase
, _acb_poly_binomial_transform_convolution
, acb_poly_binomial_transform_convolution
, _acb_poly_binomial_transform
, acb_poly_binomial_transform
, _acb_poly_graeffe_transform
, acb_poly_graeffe_transform
, _acb_poly_pow_ui_trunc_binexp
, acb_poly_pow_ui_trunc_binexp
, _acb_poly_pow_ui
, acb_poly_pow_ui
, _acb_poly_pow_series
, acb_poly_pow_series
, _acb_poly_pow_acb_series
, acb_poly_pow_acb_series
, _acb_poly_sqrt_series
, acb_poly_sqrt_series
, _acb_poly_rsqrt_series
, acb_poly_rsqrt_series
, _acb_poly_log_series
, acb_poly_log_series
, _acb_poly_log1p_series
, acb_poly_log1p_series
, _acb_poly_atan_series
, acb_poly_atan_series
, _acb_poly_exp_series_basecase
, acb_poly_exp_series_basecase
, _acb_poly_exp_series
, acb_poly_exp_series
, _acb_poly_exp_pi_i_series
, acb_poly_exp_pi_i_series
, _acb_poly_sin_cos_series
, _acb_poly_sin_series
, acb_poly_sin_series
, _acb_poly_cos_series
, acb_poly_cos_series
, _acb_poly_tan_series
, acb_poly_tan_series
, _acb_poly_sin_cos_pi_series
, acb_poly_sin_cos_pi_series
, _acb_poly_sin_pi_series
, acb_poly_sin_pi_series
, _acb_poly_cos_pi_series
, acb_poly_cos_pi_series
, _acb_poly_cot_pi_series
, acb_poly_cot_pi_series
, _acb_poly_sinh_cosh_series_basecase
, acb_poly_sinh_cosh_series_basecase
, _acb_poly_sinh_cosh_series_exponential
, acb_poly_sinh_cosh_series_exponential
, _acb_poly_sinh_cosh_series
, acb_poly_sinh_cosh_series
, _acb_poly_sinh_series
, acb_poly_sinh_series
, _acb_poly_cosh_series
, acb_poly_cosh_series
, _acb_poly_sinc_series
, acb_poly_sinc_series
, _acb_poly_lambertw_series
, acb_poly_lambertw_series
, _acb_poly_gamma_series
, acb_poly_gamma_series
, _acb_poly_rgamma_series
, acb_poly_rgamma_series
, _acb_poly_lgamma_series
, acb_poly_lgamma_series
, _acb_poly_digamma_series
, acb_poly_digamma_series
, _acb_poly_rising_ui_series
, acb_poly_rising_ui_series
, _acb_poly_powsum_series_naive
, _acb_poly_powsum_series_naive_threaded
, _acb_poly_powsum_one_series_sieved
, _acb_poly_zeta_em_choose_param
, _acb_poly_zeta_em_bound1
, _acb_poly_zeta_em_bound
, _acb_poly_zeta_em_tail_naive
, _acb_poly_zeta_em_tail_bsplit
, _acb_poly_zeta_em_sum
, _acb_poly_zeta_cpx_series
, _acb_poly_zeta_series
, acb_poly_zeta_series
, _acb_poly_polylog_cpx_small
, _acb_poly_polylog_cpx_zeta
, _acb_poly_polylog_cpx
, _acb_poly_polylog_series
, acb_poly_polylog_series
, _acb_poly_erf_series
, acb_poly_erf_series
, _acb_poly_agm1_series
, acb_poly_agm1_series
, _acb_poly_elliptic_k_series
, acb_poly_elliptic_k_series
, _acb_poly_elliptic_p_series
, acb_poly_elliptic_p_series
, _acb_poly_root_bound_fujiwara
, acb_poly_root_bound_fujiwara
, _acb_poly_root_inclusion
, _acb_poly_validate_roots
, _acb_poly_refine_roots_durand_kerner
, _acb_poly_find_roots
, acb_poly_find_roots
, _acb_poly_validate_real_roots
, acb_poly_validate_real_roots
) where
import System.IO.Unsafe ( unsafePerformIO )
import Foreign.C.String
import Foreign.C.Types
import Foreign.ForeignPtr
import Foreign.Ptr ( Ptr, FunPtr )
import Foreign.Marshal ( free )
import Foreign.Storable
import Data.Number.Flint.Flint
import Data.Number.Flint.Fmpz
import Data.Number.Flint.Fmpz.Poly
import Data.Number.Flint.Fmpq.Poly
import Data.Number.Flint.Arb
import Data.Number.Flint.Arb.Types
import Data.Number.Flint.Acb
import Data.Number.Flint.Acb.Types
data AcbPoly = AcbPoly {-# UNPACK #-} !(ForeignPtr CAcbPoly)
type CAcbPoly = CFlint AcbPoly
{-# INLINE newAcbPoly #-}
newAcbPoly :: IO AcbPoly
newAcbPoly = do
ForeignPtr CAcbPoly
p <- forall a. Storable a => IO (ForeignPtr a)
mallocForeignPtr
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CAcbPoly
p Ptr CAcbPoly -> IO ()
acb_poly_init
forall a. FinalizerPtr a -> ForeignPtr a -> IO ()
addForeignPtrFinalizer FunPtr (Ptr CAcbPoly -> IO ())
p_acb_poly_clear ForeignPtr CAcbPoly
p
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ ForeignPtr CAcbPoly -> AcbPoly
AcbPoly ForeignPtr CAcbPoly
p
newAcbPolyFromFmpzPoly :: FmpzPoly -> CLong -> IO AcbPoly
newAcbPolyFromFmpzPoly FmpzPoly
poly CLong
prec = do
ForeignPtr CAcbPoly
p <- forall a. Storable a => IO (ForeignPtr a)
mallocForeignPtr
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CAcbPoly
p forall a b. (a -> b) -> a -> b
$ \Ptr CAcbPoly
p -> do
Ptr CAcbPoly -> IO ()
acb_poly_init Ptr CAcbPoly
p
forall {a}. FmpzPoly -> (Ptr CFmpzPoly -> IO a) -> IO (FmpzPoly, a)
withFmpzPoly FmpzPoly
poly forall a b. (a -> b) -> a -> b
$ \Ptr CFmpzPoly
poly -> Ptr CAcbPoly -> Ptr CFmpzPoly -> CLong -> IO ()
acb_poly_set_fmpz_poly Ptr CAcbPoly
p Ptr CFmpzPoly
poly CLong
prec
forall a. FinalizerPtr a -> ForeignPtr a -> IO ()
addForeignPtrFinalizer FunPtr (Ptr CAcbPoly -> IO ())
p_acb_poly_clear ForeignPtr CAcbPoly
p
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ ForeignPtr CAcbPoly -> AcbPoly
AcbPoly ForeignPtr CAcbPoly
p
newAcbPolyFromFmpqPoly :: FmpqPoly -> CLong -> IO AcbPoly
newAcbPolyFromFmpqPoly FmpqPoly
poly CLong
prec = do
ForeignPtr CAcbPoly
p <- forall a. Storable a => IO (ForeignPtr a)
mallocForeignPtr
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CAcbPoly
p forall a b. (a -> b) -> a -> b
$ \Ptr CAcbPoly
p -> do
Ptr CAcbPoly -> IO ()
acb_poly_init Ptr CAcbPoly
p
forall {a}. FmpqPoly -> (Ptr CFmpqPoly -> IO a) -> IO (FmpqPoly, a)
withFmpqPoly FmpqPoly
poly forall a b. (a -> b) -> a -> b
$ \Ptr CFmpqPoly
poly -> Ptr CAcbPoly -> Ptr CFmpqPoly -> CLong -> IO ()
acb_poly_set_fmpq_poly Ptr CAcbPoly
p Ptr CFmpqPoly
poly CLong
prec
forall a. FinalizerPtr a -> ForeignPtr a -> IO ()
addForeignPtrFinalizer FunPtr (Ptr CAcbPoly -> IO ())
p_acb_poly_clear ForeignPtr CAcbPoly
p
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ ForeignPtr CAcbPoly -> AcbPoly
AcbPoly ForeignPtr CAcbPoly
p
{-# INLINE withAcbPoly #-}
withAcbPoly :: AcbPoly -> (Ptr CAcbPoly -> IO a) -> IO (AcbPoly, a)
withAcbPoly (AcbPoly ForeignPtr CAcbPoly
p) Ptr CAcbPoly -> IO a
f = do
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CAcbPoly
p forall a b. (a -> b) -> a -> b
$ \Ptr CAcbPoly
fp -> Ptr CAcbPoly -> IO a
f Ptr CAcbPoly
fp forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= forall (m :: * -> *) a. Monad m => a -> m a
return forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ForeignPtr CAcbPoly -> AcbPoly
AcbPoly ForeignPtr CAcbPoly
p,)
{-# INLINE withNewAcbPoly #-}
withNewAcbPoly :: (Ptr CAcbPoly -> IO a) -> IO (AcbPoly, a)
withNewAcbPoly Ptr CAcbPoly -> IO a
f = do
AcbPoly
p <- IO AcbPoly
newAcbPoly
forall {a}. AcbPoly -> (Ptr CAcbPoly -> IO a) -> IO (AcbPoly, a)
withAcbPoly AcbPoly
p Ptr CAcbPoly -> IO a
f
withNewAcbPolyFromFmpzPoly :: FmpzPoly -> CLong -> (Ptr CAcbPoly -> IO a) -> IO (AcbPoly, a)
withNewAcbPolyFromFmpzPoly FmpzPoly
poly CLong
prec Ptr CAcbPoly -> IO a
f = do
AcbPoly
p <- FmpzPoly -> CLong -> IO AcbPoly
newAcbPolyFromFmpzPoly FmpzPoly
poly CLong
prec
forall {a}. AcbPoly -> (Ptr CAcbPoly -> IO a) -> IO (AcbPoly, a)
withAcbPoly AcbPoly
p Ptr CAcbPoly -> IO a
f
withNewAcbPolyFromFmpqPoly :: FmpqPoly -> CLong -> (Ptr CAcbPoly -> IO a) -> IO (AcbPoly, a)
withNewAcbPolyFromFmpqPoly FmpqPoly
poly CLong
prec Ptr CAcbPoly -> IO a
f = do
AcbPoly
p <- FmpqPoly -> CLong -> IO AcbPoly
newAcbPolyFromFmpqPoly FmpqPoly
poly CLong
prec
forall {a}. AcbPoly -> (Ptr CAcbPoly -> IO a) -> IO (AcbPoly, a)
withAcbPoly AcbPoly
p Ptr CAcbPoly -> IO a
f
instance Storable CAcbPoly where
{-# INLINE sizeOf #-}
sizeOf :: CAcbPoly -> Int
sizeOf CAcbPoly
_ = (Int
24)
{-# LINE 366 "src/Data/Number/Flint/Acb/Poly/FFI.hsc" #-}
{-# INLINE alignment #-}
alignment :: CAcbPoly -> Int
alignment CAcbPoly
_ = Int
8
{-# LINE 368 "src/Data/Number/Flint/Acb/Poly/FFI.hsc" #-}
peek = error "CAcbPoly.peek: Not defined"
poke :: Ptr CAcbPoly -> CAcbPoly -> IO ()
poke = forall a. HasCallStack => [Char] -> a
error [Char]
"CAcbPoly.poke: Not defined"
foreign import ccall "acb_poly.h acb_poly_init"
acb_poly_init :: Ptr CAcbPoly -> IO ()
foreign import ccall "acb_poly.h acb_poly_clear"
acb_poly_clear :: Ptr CAcbPoly -> IO ()
foreign import ccall "acb_poly.h &acb_poly_clear"
p_acb_poly_clear :: FunPtr (Ptr CAcbPoly -> IO ())
foreign import ccall "acb_poly.h acb_poly_fit_length"
acb_poly_fit_length :: Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_set_length"
_acb_poly_set_length :: Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_normalise"
_acb_poly_normalise :: Ptr CAcbPoly -> IO ()
foreign import ccall "acb_poly.h acb_poly_swap"
acb_poly_swap :: Ptr CAcbPoly -> Ptr CAcbPoly -> IO ()
foreign import ccall "acb_poly.h acb_poly_allocated_bytes"
acb_poly_allocated_bytes :: Ptr CAcbPoly -> IO CLong
foreign import ccall "acb_poly.h acb_poly_length"
acb_poly_length :: Ptr CAcbPoly -> IO CLong
foreign import ccall "acb_poly.h acb_poly_degree"
acb_poly_degree :: Ptr CAcbPoly -> IO CLong
foreign import ccall "acb_poly.h acb_poly_is_zero"
acb_poly_is_zero :: Ptr CAcbPoly -> IO CInt
foreign import ccall "acb_poly.h acb_poly_is_one"
acb_poly_is_one :: Ptr CAcbPoly -> IO CInt
foreign import ccall "acb_poly.h acb_poly_is_x"
acb_poly_is_x :: Ptr CAcbPoly -> IO CInt
foreign import ccall "acb_poly.h acb_poly_zero"
acb_poly_zero :: Ptr CAcbPoly -> IO ()
foreign import ccall "acb_poly.h acb_poly_one"
acb_poly_one :: Ptr CAcbPoly -> IO ()
foreign import ccall "acb_poly.h acb_poly_set"
acb_poly_set :: Ptr CAcbPoly -> Ptr CAcbPoly -> IO ()
foreign import ccall "acb_poly.h acb_poly_set_round"
acb_poly_set_round :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_set_trunc"
acb_poly_set_trunc :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_set_trunc_round"
acb_poly_set_trunc_round :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_set_coeff_si"
acb_poly_set_coeff_si :: Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_set_coeff_acb"
acb_poly_set_coeff_acb :: Ptr CAcbPoly -> CLong -> Ptr CAcb -> IO ()
foreign import ccall "acb_poly.h acb_poly_get_coeff_acb"
acb_poly_get_coeff_acb :: Ptr CAcb -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_shift_right"
_acb_poly_shift_right :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_shift_right"
acb_poly_shift_right :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_shift_left"
_acb_poly_shift_left :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_shift_left"
acb_poly_shift_left :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_truncate"
acb_poly_truncate :: Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_valuation"
acb_poly_valuation :: Ptr CAcbPoly -> IO CLong
foreign import ccall "acb_poly.h acb_poly_get_strd"
acb_poly_get_strd :: Ptr CAcbPoly -> CLong -> IO CString
acb_poly_printd :: Ptr CAcbPoly -> CLong -> IO ()
acb_poly_printd :: Ptr CAcbPoly -> CLong -> IO ()
acb_poly_printd Ptr CAcbPoly
poly CLong
digits = do
CString
cs <- Ptr CAcbPoly -> CLong -> IO CString
acb_poly_get_strd Ptr CAcbPoly
poly CLong
digits
[Char]
s <- CString -> IO [Char]
peekCString CString
cs
forall a. Ptr a -> IO ()
free CString
cs
[Char] -> IO ()
putStr [Char]
s
foreign import ccall "acb_poly.h acb_poly_fprintd"
acb_poly_fprintd :: Ptr CFile -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_randtest"
acb_poly_randtest :: Ptr CAcbPoly -> Ptr CFRandState -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_equal"
acb_poly_equal :: Ptr CAcbPoly -> Ptr CAcbPoly -> IO CInt
foreign import ccall "acb_poly.h acb_poly_contains"
acb_poly_contains :: Ptr CAcbPoly -> Ptr CAcbPoly -> IO CInt
foreign import ccall "acb_poly.h acb_poly_contains_fmpz_poly"
acb_poly_contains_fmpz_poly :: Ptr CAcbPoly -> Ptr CFmpzPoly -> IO CInt
foreign import ccall "acb_poly.h acb_poly_contains_fmpq_poly"
acb_poly_contains_fmpq_poly :: Ptr CAcbPoly -> Ptr CFmpqPoly -> IO CInt
foreign import ccall "acb_poly.h _acb_poly_overlaps"
_acb_poly_overlaps :: Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> IO CInt
foreign import ccall "acb_poly.h acb_poly_overlaps"
acb_poly_overlaps :: Ptr CAcbPoly -> Ptr CAcbPoly -> IO CInt
foreign import ccall "acb_poly.h acb_poly_get_unique_fmpz_poly"
acb_poly_get_unique_fmpz_poly :: Ptr CFmpzPoly -> Ptr CAcbPoly -> IO CInt
foreign import ccall "acb_poly.h acb_poly_is_real"
acb_poly_is_real :: Ptr CAcbPoly -> IO CInt
foreign import ccall "acb_poly.h acb_poly_set_fmpz_poly"
acb_poly_set_fmpz_poly :: Ptr CAcbPoly -> Ptr CFmpzPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_set2_fmpz_poly"
acb_poly_set2_fmpz_poly :: Ptr CAcbPoly -> Ptr CFmpzPoly -> Ptr CFmpzPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_set_arb_poly"
acb_poly_set_arb_poly :: Ptr CAcbPoly -> Ptr CArbPoly -> IO ()
foreign import ccall "acb_poly.h acb_poly_set2_arb_poly"
acb_poly_set2_arb_poly :: Ptr CAcbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> IO ()
foreign import ccall "acb_poly.h acb_poly_set_fmpq_poly"
acb_poly_set_fmpq_poly :: Ptr CAcbPoly -> Ptr CFmpqPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_set2_fmpq_poly"
acb_poly_set2_fmpq_poly :: Ptr CAcbPoly -> Ptr CFmpqPoly -> Ptr CFmpqPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_set_acb"
acb_poly_set_acb :: Ptr CAcbPoly -> Ptr CAcb -> IO ()
foreign import ccall "acb_poly.h acb_poly_set_si"
acb_poly_set_si :: Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_majorant"
_acb_poly_majorant :: Ptr CArb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_majorant"
acb_poly_majorant :: Ptr CArbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_add"
_acb_poly_add :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_add"
acb_poly_add :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_add_si"
acb_poly_add_si :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_sub"
_acb_poly_sub :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_sub"
acb_poly_sub :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_add_series"
acb_poly_add_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_sub_series"
acb_poly_sub_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_neg"
acb_poly_neg :: Ptr CAcbPoly -> Ptr CAcbPoly -> IO ()
foreign import ccall "acb_poly.h acb_poly_scalar_mul_2exp_si"
acb_poly_scalar_mul_2exp_si :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_scalar_mul"
acb_poly_scalar_mul :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_scalar_div"
acb_poly_scalar_div :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_mullow_classical"
_acb_poly_mullow_classical :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_mullow_transpose"
_acb_poly_mullow_transpose :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_mullow_transpose_gauss"
_acb_poly_mullow_transpose_gauss :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_mullow"
_acb_poly_mullow :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_mullow_classical"
acb_poly_mullow_classical :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_mullow_transpose"
acb_poly_mullow_transpose :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_mullow_transpose_gauss"
acb_poly_mullow_transpose_gauss :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_mullow"
acb_poly_mullow :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_mul"
_acb_poly_mul :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_mul"
acb_poly_mul :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_inv_series"
_acb_poly_inv_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_inv_series"
acb_poly_inv_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_div_series"
_acb_poly_div_series :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_div_series"
acb_poly_div_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_div"
_acb_poly_div :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_rem"
_acb_poly_rem :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_divrem"
_acb_poly_divrem :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_divrem"
acb_poly_divrem :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO CInt
foreign import ccall "acb_poly.h _acb_poly_div_root"
_acb_poly_div_root :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_taylor_shift"
_acb_poly_taylor_shift :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_compose"
_acb_poly_compose :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_compose_series"
_acb_poly_compose_series :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_revert_series_lagrange"
_acb_poly_revert_series_lagrange :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_revert_series_lagrange"
acb_poly_revert_series_lagrange :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_revert_series_newton"
_acb_poly_revert_series_newton :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_revert_series_newton"
acb_poly_revert_series_newton :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_revert_series_lagrange_fast"
_acb_poly_revert_series_lagrange_fast :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_revert_series_lagrange_fast"
acb_poly_revert_series_lagrange_fast :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_revert_series"
_acb_poly_revert_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_revert_series"
acb_poly_revert_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_evaluate_horner"
_acb_poly_evaluate_horner :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_evaluate_horner"
acb_poly_evaluate_horner :: Ptr CAcb -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_evaluate_rectangular"
_acb_poly_evaluate_rectangular :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_evaluate_rectangular"
acb_poly_evaluate_rectangular :: Ptr CAcb -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_evaluate"
_acb_poly_evaluate :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_evaluate"
acb_poly_evaluate :: Ptr CAcb -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_evaluate2_horner"
_acb_poly_evaluate2_horner :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_evaluate2_horner"
acb_poly_evaluate2_horner :: Ptr CAcb -> Ptr CAcb -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_evaluate2_rectangular"
_acb_poly_evaluate2_rectangular :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_evaluate2_rectangular"
acb_poly_evaluate2_rectangular :: Ptr CAcb -> Ptr CAcb -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_evaluate2"
_acb_poly_evaluate2 :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_evaluate2"
acb_poly_evaluate2 :: Ptr CAcb -> Ptr CAcb -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_product_roots"
_acb_poly_product_roots :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_product_roots"
acb_poly_product_roots :: Ptr CAcbPoly -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_tree_alloc"
_acb_poly_tree_alloc :: CLong -> IO (Ptr (Ptr CAcb))
foreign import ccall "acb_poly.h _acb_poly_tree_free"
_acb_poly_tree_free :: Ptr (Ptr CAcb) -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_tree_build"
_acb_poly_tree_build :: Ptr (Ptr CAcb) -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_evaluate_vec_iter"
_acb_poly_evaluate_vec_iter :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_evaluate_vec_iter"
acb_poly_evaluate_vec_iter :: Ptr CAcb -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_evaluate_vec_fast_precomp"
_acb_poly_evaluate_vec_fast_precomp :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr (Ptr CAcb) -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_evaluate_vec_fast"
_acb_poly_evaluate_vec_fast :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_evaluate_vec_fast"
acb_poly_evaluate_vec_fast :: Ptr CAcb -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_interpolate_newton"
_acb_poly_interpolate_newton :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_interpolate_newton"
acb_poly_interpolate_newton :: Ptr CAcbPoly -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_interpolate_barycentric"
_acb_poly_interpolate_barycentric :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_interpolate_barycentric"
acb_poly_interpolate_barycentric :: Ptr CAcbPoly -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_interpolation_weights"
_acb_poly_interpolation_weights :: Ptr CAcb -> Ptr (Ptr CAcb) -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_interpolate_fast_precomp"
_acb_poly_interpolate_fast_precomp :: Ptr CAcb -> Ptr CAcb -> Ptr (Ptr CAcb) -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_interpolate_fast"
_acb_poly_interpolate_fast :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_interpolate_fast"
acb_poly_interpolate_fast :: Ptr CAcbPoly -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_derivative"
_acb_poly_derivative :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_derivative"
acb_poly_derivative :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_nth_derivative"
_acb_poly_nth_derivative :: Ptr CAcb -> Ptr CAcb -> CULong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_nth_derivative"
acb_poly_nth_derivative :: Ptr CAcbPoly -> Ptr CAcbPoly -> CULong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_integral"
_acb_poly_integral :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_integral"
acb_poly_integral :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_borel_transform"
_acb_poly_borel_transform :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_borel_transform"
acb_poly_borel_transform :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_inv_borel_transform"
_acb_poly_inv_borel_transform :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_inv_borel_transform"
acb_poly_inv_borel_transform :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_binomial_transform_basecase"
_acb_poly_binomial_transform_basecase :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_binomial_transform_basecase"
acb_poly_binomial_transform_basecase :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_binomial_transform_convolution"
_acb_poly_binomial_transform_convolution :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_binomial_transform_convolution"
acb_poly_binomial_transform_convolution :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_binomial_transform"
_acb_poly_binomial_transform :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_binomial_transform"
acb_poly_binomial_transform :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_graeffe_transform"
_acb_poly_graeffe_transform :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_graeffe_transform"
acb_poly_graeffe_transform :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_pow_ui_trunc_binexp"
_acb_poly_pow_ui_trunc_binexp :: Ptr CAcb -> Ptr CAcb -> CLong -> CULong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_pow_ui_trunc_binexp"
acb_poly_pow_ui_trunc_binexp :: Ptr CAcbPoly -> Ptr CAcbPoly -> CULong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_pow_ui"
_acb_poly_pow_ui :: Ptr CAcb -> Ptr CAcb -> CLong -> CULong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_pow_ui"
acb_poly_pow_ui :: Ptr CAcbPoly -> Ptr CAcbPoly -> CULong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_pow_series"
_acb_poly_pow_series :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_pow_series"
acb_poly_pow_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_pow_acb_series"
_acb_poly_pow_acb_series :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_pow_acb_series"
acb_poly_pow_acb_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_sqrt_series"
_acb_poly_sqrt_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_sqrt_series"
acb_poly_sqrt_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_rsqrt_series"
_acb_poly_rsqrt_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_rsqrt_series"
acb_poly_rsqrt_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_log_series"
_acb_poly_log_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_log_series"
acb_poly_log_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_log1p_series"
_acb_poly_log1p_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_log1p_series"
acb_poly_log1p_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_atan_series"
_acb_poly_atan_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_atan_series"
acb_poly_atan_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_exp_series_basecase"
_acb_poly_exp_series_basecase :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_exp_series_basecase"
acb_poly_exp_series_basecase :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_exp_series"
_acb_poly_exp_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_exp_series"
acb_poly_exp_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_exp_pi_i_series"
_acb_poly_exp_pi_i_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_exp_pi_i_series"
acb_poly_exp_pi_i_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_sin_cos_series"
_acb_poly_sin_cos_series :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_sin_series"
_acb_poly_sin_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_sin_series"
acb_poly_sin_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_cos_series"
_acb_poly_cos_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_cos_series"
acb_poly_cos_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_tan_series"
_acb_poly_tan_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_tan_series"
acb_poly_tan_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_sin_cos_pi_series"
_acb_poly_sin_cos_pi_series :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_sin_cos_pi_series"
acb_poly_sin_cos_pi_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_sin_pi_series"
_acb_poly_sin_pi_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_sin_pi_series"
acb_poly_sin_pi_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_cos_pi_series"
_acb_poly_cos_pi_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_cos_pi_series"
acb_poly_cos_pi_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_cot_pi_series"
_acb_poly_cot_pi_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_cot_pi_series"
acb_poly_cot_pi_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_sinh_cosh_series_basecase"
_acb_poly_sinh_cosh_series_basecase :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_sinh_cosh_series_basecase"
acb_poly_sinh_cosh_series_basecase :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_sinh_cosh_series_exponential"
_acb_poly_sinh_cosh_series_exponential :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_sinh_cosh_series_exponential"
acb_poly_sinh_cosh_series_exponential :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_sinh_cosh_series"
_acb_poly_sinh_cosh_series :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_sinh_cosh_series"
acb_poly_sinh_cosh_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_sinh_series"
_acb_poly_sinh_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_sinh_series"
acb_poly_sinh_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_cosh_series"
_acb_poly_cosh_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_cosh_series"
acb_poly_cosh_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_sinc_series"
_acb_poly_sinc_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_sinc_series"
acb_poly_sinc_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_lambertw_series"
_acb_poly_lambertw_series :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CFmpz -> CInt -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_lambertw_series"
acb_poly_lambertw_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CFmpz -> CInt -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_gamma_series"
_acb_poly_gamma_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_gamma_series"
acb_poly_gamma_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_rgamma_series"
_acb_poly_rgamma_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_rgamma_series"
acb_poly_rgamma_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_lgamma_series"
_acb_poly_lgamma_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_lgamma_series"
acb_poly_lgamma_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_digamma_series"
_acb_poly_digamma_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_digamma_series"
acb_poly_digamma_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_rising_ui_series"
_acb_poly_rising_ui_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CULong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_rising_ui_series"
acb_poly_rising_ui_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CULong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_powsum_series_naive"
_acb_poly_powsum_series_naive :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_powsum_series_naive_threaded"
_acb_poly_powsum_series_naive_threaded :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_powsum_one_series_sieved"
_acb_poly_powsum_one_series_sieved :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_zeta_em_choose_param"
_acb_poly_zeta_em_choose_param :: Ptr CMag -> Ptr CULong -> Ptr CULong -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_zeta_em_bound1"
_acb_poly_zeta_em_bound1 :: Ptr CMag -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_zeta_em_bound"
_acb_poly_zeta_em_bound :: Ptr CArb -> Ptr CAcb -> Ptr CAcb -> CULong -> CULong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_zeta_em_tail_naive"
_acb_poly_zeta_em_tail_naive :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_zeta_em_tail_bsplit"
_acb_poly_zeta_em_tail_bsplit :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_zeta_em_sum"
_acb_poly_zeta_em_sum :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CInt -> CULong -> CULong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_zeta_cpx_series"
_acb_poly_zeta_cpx_series :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CInt -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_zeta_series"
_acb_poly_zeta_series :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CInt -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_zeta_series"
acb_poly_zeta_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcb -> CInt -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_polylog_cpx_small"
_acb_poly_polylog_cpx_small :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_polylog_cpx_zeta"
_acb_poly_polylog_cpx_zeta :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_polylog_cpx"
_acb_poly_polylog_cpx :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_polylog_series"
_acb_poly_polylog_series :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_polylog_series"
acb_poly_polylog_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_erf_series"
_acb_poly_erf_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_erf_series"
acb_poly_erf_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_agm1_series"
_acb_poly_agm1_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_agm1_series"
acb_poly_agm1_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_elliptic_k_series"
_acb_poly_elliptic_k_series :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_elliptic_k_series"
acb_poly_elliptic_k_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_elliptic_p_series"
_acb_poly_elliptic_p_series :: Ptr CAcb -> Ptr CAcb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_elliptic_p_series"
acb_poly_elliptic_p_series :: Ptr CAcbPoly -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_root_bound_fujiwara"
_acb_poly_root_bound_fujiwara :: Ptr CMag -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "acb_poly.h acb_poly_root_bound_fujiwara"
acb_poly_root_bound_fujiwara :: Ptr CMag -> Ptr CAcbPoly -> IO ()
foreign import ccall "acb_poly.h _acb_poly_root_inclusion"
_acb_poly_root_inclusion :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_validate_roots"
_acb_poly_validate_roots :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO CLong
foreign import ccall "acb_poly.h _acb_poly_refine_roots_durand_kerner"
_acb_poly_refine_roots_durand_kerner :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "acb_poly.h _acb_poly_find_roots"
_acb_poly_find_roots :: Ptr CAcb -> Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> CLong -> IO CLong
foreign import ccall "acb_poly.h acb_poly_find_roots"
acb_poly_find_roots :: Ptr CAcb -> Ptr CAcbPoly -> Ptr CAcb -> CLong -> CLong -> IO CLong
foreign import ccall "acb_poly.h _acb_poly_validate_real_roots"
_acb_poly_validate_real_roots :: Ptr CAcb -> Ptr CAcb -> CLong -> CLong -> IO CInt
foreign import ccall "acb_poly.h acb_poly_validate_real_roots"
acb_poly_validate_real_roots :: Ptr CAcb -> Ptr CAcbPoly -> CLong -> IO CInt