{-# LINE 1 "src/Data/Number/Flint/Arb/Poly/FFI.hsc" #-}
module Data.Number.Flint.Arb.Poly.FFI (
ArbPoly (..)
, CArbPoly (..)
, newArbPoly
, newArbPolyFromFmpzPoly
, newArbPolyFromFmpqPoly
, withArbPoly
, withNewArbPoly
, withNewArbPolyFromFmpzPoly
, withNewArbPolyFromFmpqPoly
, arb_poly_init
, arb_poly_clear
, arb_poly_fit_length
, _arb_poly_set_length
, _arb_poly_normalise
, arb_poly_allocated_bytes
, arb_poly_length
, arb_poly_degree
, arb_poly_is_zero
, arb_poly_is_one
, arb_poly_is_x
, arb_poly_zero
, arb_poly_one
, arb_poly_set
, arb_poly_set_round
, arb_poly_set_trunc
, arb_poly_set_trunc_round
, arb_poly_set_coeff_si
, arb_poly_set_coeff_arb
, arb_poly_get_coeff_arb
, _arb_poly_shift_right
, arb_poly_shift_right
, _arb_poly_shift_left
, arb_poly_shift_left
, arb_poly_truncate
, arb_poly_valuation
, arb_poly_set_fmpz_poly
, arb_poly_set_fmpq_poly
, arb_poly_set_si
, arb_poly_get_strd
, arb_poly_printd
, arb_poly_fprintd
, arb_poly_randtest
, arb_poly_contains
, arb_poly_contains_fmpz_poly
, arb_poly_contains_fmpq_poly
, arb_poly_equal
, _arb_poly_overlaps
, arb_poly_overlaps
, arb_poly_get_unique_fmpz_poly
, _arb_poly_majorant
, arb_poly_majorant
, _arb_poly_add
, arb_poly_add
, arb_poly_add_si
, _arb_poly_sub
, arb_poly_sub
, arb_poly_add_series
, arb_poly_sub_series
, arb_poly_neg
, arb_poly_scalar_mul_2exp_si
, arb_poly_scalar_mul
, arb_poly_scalar_div
, _arb_poly_mullow_classical
, _arb_poly_mullow_block
, _arb_poly_mullow
, arb_poly_mullow_classical
, arb_poly_mullow_block
, arb_poly_mullow
, _arb_poly_mul
, arb_poly_mul
, _arb_poly_inv_series
, arb_poly_inv_series
, _arb_poly_div_series
, arb_poly_div_series
, _arb_poly_div
, _arb_poly_rem
, _arb_poly_divrem
, arb_poly_divrem
, _arb_poly_div_root
, _arb_poly_taylor_shift
, arb_poly_taylor_shift
, _arb_poly_compose
, arb_poly_compose
, _arb_poly_compose_series
, arb_poly_compose_series
, _arb_poly_revert_series_lagrange
, arb_poly_revert_series_lagrange
, _arb_poly_revert_series_newton
, arb_poly_revert_series_newton
, _arb_poly_revert_series_lagrange_fast
, arb_poly_revert_series_lagrange_fast
, _arb_poly_revert_series
, arb_poly_revert_series
, _arb_poly_evaluate_horner
, arb_poly_evaluate_horner
, _arb_poly_evaluate_rectangular
, arb_poly_evaluate_rectangular
, _arb_poly_evaluate
, arb_poly_evaluate
, _arb_poly_evaluate_acb_horner
, arb_poly_evaluate_acb_horner
, _arb_poly_evaluate_acb_rectangular
, arb_poly_evaluate_acb_rectangular
, _arb_poly_evaluate_acb
, arb_poly_evaluate_acb
, _arb_poly_evaluate2_horner
, arb_poly_evaluate2_horner
, _arb_poly_evaluate2_rectangular
, arb_poly_evaluate2_rectangular
, _arb_poly_evaluate2
, arb_poly_evaluate2
, _arb_poly_evaluate2_acb_horner
, arb_poly_evaluate2_acb_horner
, _arb_poly_evaluate2_acb_rectangular
, arb_poly_evaluate2_acb_rectangular
, _arb_poly_evaluate2_acb
, arb_poly_evaluate2_acb
, _arb_poly_product_roots
, arb_poly_product_roots
, _arb_poly_product_roots_complex
, arb_poly_product_roots_complex
, _arb_poly_tree_alloc
, _arb_poly_tree_free
, _arb_poly_tree_build
, _arb_poly_evaluate_vec_iter
, arb_poly_evaluate_vec_iter
, _arb_poly_evaluate_vec_fast_precomp
, _arb_poly_evaluate_vec_fast
, arb_poly_evaluate_vec_fast
, _arb_poly_interpolate_newton
, arb_poly_interpolate_newton
, _arb_poly_interpolate_barycentric
, arb_poly_interpolate_barycentric
, _arb_poly_interpolation_weights
, _arb_poly_interpolate_fast_precomp
, _arb_poly_interpolate_fast
, arb_poly_interpolate_fast
, _arb_poly_derivative
, arb_poly_derivative
, _arb_poly_nth_derivative
, arb_poly_nth_derivative
, _arb_poly_integral
, arb_poly_integral
, _arb_poly_borel_transform
, arb_poly_borel_transform
, _arb_poly_inv_borel_transform
, arb_poly_inv_borel_transform
, _arb_poly_binomial_transform_basecase
, arb_poly_binomial_transform_basecase
, _arb_poly_binomial_transform_convolution
, arb_poly_binomial_transform_convolution
, _arb_poly_binomial_transform
, arb_poly_binomial_transform
, _arb_poly_graeffe_transform
, arb_poly_graeffe_transform
, _arb_poly_pow_ui_trunc_binexp
, arb_poly_pow_ui_trunc_binexp
, _arb_poly_pow_ui
, arb_poly_pow_ui
, _arb_poly_pow_series
, arb_poly_pow_series
, _arb_poly_pow_arb_series
, arb_poly_pow_arb_series
, _arb_poly_sqrt_series
, arb_poly_sqrt_series
, _arb_poly_rsqrt_series
, arb_poly_rsqrt_series
, _arb_poly_log_series
, arb_poly_log_series
, _arb_poly_log1p_series
, arb_poly_log1p_series
, _arb_poly_atan_series
, arb_poly_atan_series
, _arb_poly_asin_series
, arb_poly_asin_series
, _arb_poly_acos_series
, arb_poly_acos_series
, _arb_poly_exp_series_basecase
, arb_poly_exp_series_basecase
, _arb_poly_exp_series
, arb_poly_exp_series
, _arb_poly_sin_cos_series
, arb_poly_sin_cos_series
, _arb_poly_sin_series
, arb_poly_sin_series
, _arb_poly_cos_series
, arb_poly_cos_series
, _arb_poly_tan_series
, arb_poly_tan_series
, _arb_poly_sin_cos_pi_series
, arb_poly_sin_cos_pi_series
, _arb_poly_sin_pi_series
, arb_poly_sin_pi_series
, _arb_poly_cos_pi_series
, arb_poly_cos_pi_series
, _arb_poly_cot_pi_series
, arb_poly_cot_pi_series
, _arb_poly_sinh_cosh_series_basecase
, arb_poly_sinh_cosh_series_basecase
, _arb_poly_sinh_cosh_series_exponential
, arb_poly_sinh_cosh_series_exponential
, _arb_poly_sinh_cosh_series
, arb_poly_sinh_cosh_series
, _arb_poly_sinh_series
, arb_poly_sinh_series
, _arb_poly_cosh_series
, arb_poly_cosh_series
, _arb_poly_sinc_series
, arb_poly_sinc_series
, _arb_poly_sinc_pi_series
, arb_poly_sinc_pi_series
, _arb_poly_lambertw_series
, arb_poly_lambertw_series
, _arb_poly_gamma_series
, arb_poly_gamma_series
, _arb_poly_rgamma_series
, arb_poly_rgamma_series
, _arb_poly_lgamma_series
, arb_poly_lgamma_series
, _arb_poly_digamma_series
, arb_poly_digamma_series
, _arb_poly_rising_ui_series
, arb_poly_rising_ui_series
, arb_poly_zeta_series
, _arb_poly_riemann_siegel_theta_series
, arb_poly_riemann_siegel_theta_series
, _arb_poly_riemann_siegel_z_series
, arb_poly_riemann_siegel_z_series
, _arb_poly_root_bound_fujiwara
, arb_poly_root_bound_fujiwara
, _arb_poly_newton_convergence_factor
, _arb_poly_newton_step
, _arb_poly_newton_refine_root
, _arb_poly_swinnerton_dyer_ui
, arb_poly_swinnerton_dyer_ui
) 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
{-# INLINE newArbPoly #-}
newArbPoly :: IO ArbPoly
newArbPoly = do
ForeignPtr CArbPoly
p <- forall a. Storable a => IO (ForeignPtr a)
mallocForeignPtr
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CArbPoly
p Ptr CArbPoly -> IO ()
arb_poly_init
forall a. FinalizerPtr a -> ForeignPtr a -> IO ()
addForeignPtrFinalizer FunPtr (Ptr CArbPoly -> IO ())
p_arb_poly_clear ForeignPtr CArbPoly
p
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ ForeignPtr CArbPoly -> ArbPoly
ArbPoly ForeignPtr CArbPoly
p
newArbPolyFromFmpzPoly :: FmpzPoly -> CLong -> IO ArbPoly
newArbPolyFromFmpzPoly FmpzPoly
poly CLong
prec = do
ForeignPtr CArbPoly
p <- forall a. Storable a => IO (ForeignPtr a)
mallocForeignPtr
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CArbPoly
p forall a b. (a -> b) -> a -> b
$ \Ptr CArbPoly
p -> do
Ptr CArbPoly -> IO ()
arb_poly_init Ptr CArbPoly
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 CArbPoly -> Ptr CFmpzPoly -> CLong -> IO ()
arb_poly_set_fmpz_poly Ptr CArbPoly
p Ptr CFmpzPoly
poly CLong
prec
forall a. FinalizerPtr a -> ForeignPtr a -> IO ()
addForeignPtrFinalizer FunPtr (Ptr CArbPoly -> IO ())
p_arb_poly_clear ForeignPtr CArbPoly
p
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ ForeignPtr CArbPoly -> ArbPoly
ArbPoly ForeignPtr CArbPoly
p
newArbPolyFromFmpqPoly :: FmpqPoly -> CLong -> IO ArbPoly
newArbPolyFromFmpqPoly FmpqPoly
poly CLong
prec = do
ForeignPtr CArbPoly
p <- forall a. Storable a => IO (ForeignPtr a)
mallocForeignPtr
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CArbPoly
p forall a b. (a -> b) -> a -> b
$ \Ptr CArbPoly
p -> do
Ptr CArbPoly -> IO ()
arb_poly_init Ptr CArbPoly
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 CArbPoly -> Ptr CFmpqPoly -> CLong -> IO ()
arb_poly_set_fmpq_poly Ptr CArbPoly
p Ptr CFmpqPoly
poly CLong
prec
forall a. FinalizerPtr a -> ForeignPtr a -> IO ()
addForeignPtrFinalizer FunPtr (Ptr CArbPoly -> IO ())
p_arb_poly_clear ForeignPtr CArbPoly
p
forall (m :: * -> *) a. Monad m => a -> m a
return forall a b. (a -> b) -> a -> b
$ ForeignPtr CArbPoly -> ArbPoly
ArbPoly ForeignPtr CArbPoly
p
{-# INLINE withArbPoly #-}
withArbPoly :: ArbPoly -> (Ptr CArbPoly -> IO a) -> IO (ArbPoly, a)
withArbPoly (ArbPoly ForeignPtr CArbPoly
p) Ptr CArbPoly -> IO a
f = do
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CArbPoly
p forall a b. (a -> b) -> a -> b
$ \Ptr CArbPoly
fp -> Ptr CArbPoly -> IO a
f Ptr CArbPoly
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 CArbPoly -> ArbPoly
ArbPoly ForeignPtr CArbPoly
p,)
{-# INLINE withNewArbPoly #-}
withNewArbPoly :: (Ptr CArbPoly -> IO a) -> IO (ArbPoly, a)
withNewArbPoly Ptr CArbPoly -> IO a
f = do
ArbPoly
p <- IO ArbPoly
newArbPoly
forall {a}. ArbPoly -> (Ptr CArbPoly -> IO a) -> IO (ArbPoly, a)
withArbPoly ArbPoly
p Ptr CArbPoly -> IO a
f
withNewArbPolyFromFmpzPoly :: FmpzPoly -> CLong -> (Ptr CArbPoly -> IO a) -> IO (ArbPoly, a)
withNewArbPolyFromFmpzPoly FmpzPoly
poly CLong
prec Ptr CArbPoly -> IO a
f = do
ArbPoly
p <- FmpzPoly -> CLong -> IO ArbPoly
newArbPolyFromFmpzPoly FmpzPoly
poly CLong
prec
forall {a}. ArbPoly -> (Ptr CArbPoly -> IO a) -> IO (ArbPoly, a)
withArbPoly ArbPoly
p Ptr CArbPoly -> IO a
f
withNewArbPolyFromFmpqPoly :: FmpqPoly -> CLong -> (Ptr CArbPoly -> IO a) -> IO (ArbPoly, a)
withNewArbPolyFromFmpqPoly FmpqPoly
poly CLong
prec Ptr CArbPoly -> IO a
f = do
ArbPoly
p <- FmpqPoly -> CLong -> IO ArbPoly
newArbPolyFromFmpqPoly FmpqPoly
poly CLong
prec
forall {a}. ArbPoly -> (Ptr CArbPoly -> IO a) -> IO (ArbPoly, a)
withArbPoly ArbPoly
p Ptr CArbPoly -> IO a
f
instance Storable CArbPoly where
{-# INLINE sizeOf #-}
sizeOf :: CArbPoly -> Int
sizeOf CArbPoly
_ = (Int
24)
{-# LINE 342 "src/Data/Number/Flint/Arb/Poly/FFI.hsc" #-}
{-# INLINE alignment #-}
alignment :: CArbPoly -> Int
alignment CArbPoly
_ = Int
8
{-# LINE 344 "src/Data/Number/Flint/Arb/Poly/FFI.hsc" #-}
peek = error "CArbPoly.peek: Not defined"
poke :: Ptr CArbPoly -> CArbPoly -> IO ()
poke = forall a. HasCallStack => [Char] -> a
error [Char]
"CArbPoly.poke: Not defined"
foreign import ccall "arb_poly.h arb_poly_init"
arb_poly_init :: Ptr CArbPoly -> IO ()
foreign import ccall "arb_poly.h arb_poly_clear"
arb_poly_clear :: Ptr CArbPoly -> IO ()
foreign import ccall "arb_poly.h &arb_poly_clear"
p_arb_poly_clear :: FunPtr (Ptr CArbPoly -> IO ())
foreign import ccall "arb_poly.h arb_poly_fit_length"
arb_poly_fit_length :: Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_set_length"
_arb_poly_set_length :: Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_normalise"
_arb_poly_normalise :: Ptr CArbPoly -> IO ()
foreign import ccall "arb_poly.h arb_poly_allocated_bytes"
arb_poly_allocated_bytes :: Ptr CArbPoly -> IO CLong
foreign import ccall "arb_poly.h arb_poly_length"
arb_poly_length :: Ptr CArbPoly -> IO CLong
foreign import ccall "arb_poly.h arb_poly_degree"
arb_poly_degree :: Ptr CArbPoly -> IO CLong
foreign import ccall "arb_poly.h arb_poly_is_zero"
arb_poly_is_zero :: Ptr CArbPoly -> IO CInt
foreign import ccall "arb_poly.h arb_poly_is_one"
arb_poly_is_one :: Ptr CArbPoly -> IO CInt
foreign import ccall "arb_poly.h arb_poly_is_x"
arb_poly_is_x :: Ptr CArbPoly -> IO CInt
foreign import ccall "arb_poly.h arb_poly_zero"
arb_poly_zero :: Ptr CArbPoly -> IO ()
foreign import ccall "arb_poly.h arb_poly_one"
arb_poly_one :: Ptr CArbPoly -> IO ()
foreign import ccall "arb_poly.h arb_poly_set"
arb_poly_set :: Ptr CArbPoly -> Ptr CArbPoly -> IO ()
foreign import ccall "arb_poly.h arb_poly_set_round"
arb_poly_set_round :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_set_trunc"
arb_poly_set_trunc :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_set_trunc_round"
arb_poly_set_trunc_round :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_set_coeff_si"
arb_poly_set_coeff_si :: Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_set_coeff_arb"
arb_poly_set_coeff_arb :: Ptr CArbPoly -> CLong -> Ptr CArb -> IO ()
foreign import ccall "arb_poly.h arb_poly_get_coeff_arb"
arb_poly_get_coeff_arb :: Ptr CArb -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_shift_right"
_arb_poly_shift_right :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_shift_right"
arb_poly_shift_right :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_shift_left"
_arb_poly_shift_left :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_shift_left"
arb_poly_shift_left :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_truncate"
arb_poly_truncate :: Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_valuation"
arb_poly_valuation :: Ptr CArbPoly -> IO CLong
foreign import ccall "arb_poly.h arb_poly_set_fmpz_poly"
arb_poly_set_fmpz_poly :: Ptr CArbPoly -> Ptr CFmpzPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_set_fmpq_poly"
arb_poly_set_fmpq_poly :: Ptr CArbPoly -> Ptr CFmpqPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_set_si"
arb_poly_set_si :: Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_get_strd"
arb_poly_get_strd :: Ptr CArbPoly -> CLong -> IO CString
arb_poly_printd :: Ptr CArbPoly -> CLong -> IO ()
arb_poly_printd :: Ptr CArbPoly -> CLong -> IO ()
arb_poly_printd Ptr CArbPoly
poly CLong
digits = do
forall a. (Ptr a -> IO CString) -> Ptr a -> IO CInt
printCStr (forall a b c. (a -> b -> c) -> b -> a -> c
flip Ptr CArbPoly -> CLong -> IO CString
arb_poly_get_strd CLong
digits) Ptr CArbPoly
poly
forall (m :: * -> *) a. Monad m => a -> m a
return ()
foreign import ccall "arb_poly.h arb_poly_fprintd"
arb_poly_fprintd :: Ptr CFile -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_randtest"
arb_poly_randtest :: Ptr CArbPoly -> Ptr CFRandState -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_contains"
arb_poly_contains :: Ptr CArbPoly -> Ptr CArbPoly -> IO CInt
foreign import ccall "arb_poly.h arb_poly_contains_fmpz_poly"
arb_poly_contains_fmpz_poly :: Ptr CArbPoly -> Ptr CFmpzPoly -> IO CInt
foreign import ccall "arb_poly.h arb_poly_contains_fmpq_poly"
arb_poly_contains_fmpq_poly :: Ptr CArbPoly -> Ptr CFmpqPoly -> IO CInt
foreign import ccall "arb_poly.h arb_poly_equal"
arb_poly_equal :: Ptr CArbPoly -> Ptr CArbPoly -> IO CInt
foreign import ccall "arb_poly.h _arb_poly_overlaps"
_arb_poly_overlaps :: Ptr CArb -> CLong -> Ptr CArb -> CLong -> IO CInt
foreign import ccall "arb_poly.h arb_poly_overlaps"
arb_poly_overlaps :: Ptr CArbPoly -> Ptr CArbPoly -> IO CInt
foreign import ccall "arb_poly.h arb_poly_get_unique_fmpz_poly"
arb_poly_get_unique_fmpz_poly :: Ptr CFmpzPoly -> Ptr CArbPoly -> IO CInt
foreign import ccall "arb_poly.h _arb_poly_majorant"
_arb_poly_majorant :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_majorant"
arb_poly_majorant :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_add"
_arb_poly_add :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_add"
arb_poly_add :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_add_si"
arb_poly_add_si :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_sub"
_arb_poly_sub :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_sub"
arb_poly_sub :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_add_series"
arb_poly_add_series :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_sub_series"
arb_poly_sub_series :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_neg"
arb_poly_neg :: Ptr CArbPoly -> Ptr CArbPoly -> IO ()
foreign import ccall "arb_poly.h arb_poly_scalar_mul_2exp_si"
arb_poly_scalar_mul_2exp_si :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_scalar_mul"
arb_poly_scalar_mul :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_scalar_div"
arb_poly_scalar_div :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_mullow_classical"
_arb_poly_mullow_classical :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_mullow_block"
_arb_poly_mullow_block :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_mullow"
_arb_poly_mullow :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_mullow_classical"
arb_poly_mullow_classical :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_mullow_block"
arb_poly_mullow_block :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_mullow"
arb_poly_mullow :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_mul"
_arb_poly_mul :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_mul"
arb_poly_mul :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_inv_series"
_arb_poly_inv_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_inv_series"
arb_poly_inv_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_div_series"
_arb_poly_div_series :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_div_series"
arb_poly_div_series :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_div"
_arb_poly_div :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_rem"
_arb_poly_rem :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_divrem"
_arb_poly_divrem :: Ptr CArb -> Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_divrem"
arb_poly_divrem :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO CInt
foreign import ccall "arb_poly.h _arb_poly_div_root"
_arb_poly_div_root :: Ptr CArb -> Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_taylor_shift"
_arb_poly_taylor_shift :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_taylor_shift"
arb_poly_taylor_shift :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_compose"
_arb_poly_compose :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_compose"
arb_poly_compose :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_compose_series"
_arb_poly_compose_series :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_compose_series"
arb_poly_compose_series :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_revert_series_lagrange"
_arb_poly_revert_series_lagrange :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_revert_series_lagrange"
arb_poly_revert_series_lagrange :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_revert_series_newton"
_arb_poly_revert_series_newton :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_revert_series_newton"
arb_poly_revert_series_newton :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_revert_series_lagrange_fast"
_arb_poly_revert_series_lagrange_fast :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_revert_series_lagrange_fast"
arb_poly_revert_series_lagrange_fast :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_revert_series"
_arb_poly_revert_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_revert_series"
arb_poly_revert_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate_horner"
_arb_poly_evaluate_horner :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate_horner"
arb_poly_evaluate_horner :: Ptr CArb -> Ptr CArbPoly -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate_rectangular"
_arb_poly_evaluate_rectangular :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate_rectangular"
arb_poly_evaluate_rectangular :: Ptr CArb -> Ptr CArbPoly -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate"
_arb_poly_evaluate :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate"
arb_poly_evaluate :: Ptr CArb -> Ptr CArbPoly -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate_acb_horner"
_arb_poly_evaluate_acb_horner :: Ptr CAcb -> Ptr CArb -> CLong -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate_acb_horner"
arb_poly_evaluate_acb_horner :: Ptr CAcb -> Ptr CArbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate_acb_rectangular"
_arb_poly_evaluate_acb_rectangular :: Ptr CAcb -> Ptr CArb -> CLong -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate_acb_rectangular"
arb_poly_evaluate_acb_rectangular :: Ptr CAcb -> Ptr CArbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate_acb"
_arb_poly_evaluate_acb :: Ptr CAcb -> Ptr CArb -> CLong -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate_acb"
arb_poly_evaluate_acb :: Ptr CAcb -> Ptr CArbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate2_horner"
_arb_poly_evaluate2_horner :: Ptr CArb -> Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate2_horner"
arb_poly_evaluate2_horner :: Ptr CArb -> Ptr CArb -> Ptr CArbPoly -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate2_rectangular"
_arb_poly_evaluate2_rectangular :: Ptr CArb -> Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate2_rectangular"
arb_poly_evaluate2_rectangular :: Ptr CArb -> Ptr CArb -> Ptr CArbPoly -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate2"
_arb_poly_evaluate2 :: Ptr CArb -> Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate2"
arb_poly_evaluate2 :: Ptr CArb -> Ptr CArb -> Ptr CArbPoly -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate2_acb_horner"
_arb_poly_evaluate2_acb_horner :: Ptr CAcb -> Ptr CAcb -> Ptr CArb -> CLong -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate2_acb_horner"
arb_poly_evaluate2_acb_horner :: Ptr CAcb -> Ptr CAcb -> Ptr CArbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate2_acb_rectangular"
_arb_poly_evaluate2_acb_rectangular :: Ptr CAcb -> Ptr CAcb -> Ptr CArb -> CLong -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate2_acb_rectangular"
arb_poly_evaluate2_acb_rectangular :: Ptr CAcb -> Ptr CAcb -> Ptr CArbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate2_acb"
_arb_poly_evaluate2_acb :: Ptr CAcb -> Ptr CAcb -> Ptr CArb -> CLong -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate2_acb"
arb_poly_evaluate2_acb :: Ptr CAcb -> Ptr CAcb -> Ptr CArbPoly -> Ptr CAcb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_product_roots"
_arb_poly_product_roots :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_product_roots"
arb_poly_product_roots :: Ptr CArbPoly -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_product_roots_complex"
_arb_poly_product_roots_complex :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_product_roots_complex"
arb_poly_product_roots_complex :: Ptr CArbPoly -> Ptr CArb -> CLong -> Ptr CAcb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_tree_alloc"
_arb_poly_tree_alloc :: CLong -> IO (Ptr (Ptr CArb))
foreign import ccall "arb_poly.h _arb_poly_tree_free"
_arb_poly_tree_free :: Ptr (Ptr CArb) -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_tree_build"
_arb_poly_tree_build :: Ptr (Ptr CArb) -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate_vec_iter"
_arb_poly_evaluate_vec_iter :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate_vec_iter"
arb_poly_evaluate_vec_iter :: Ptr CArb -> Ptr CArbPoly -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate_vec_fast_precomp"
_arb_poly_evaluate_vec_fast_precomp :: Ptr CArb -> Ptr CArb -> CLong -> Ptr (Ptr CArb) -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_evaluate_vec_fast"
_arb_poly_evaluate_vec_fast :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_evaluate_vec_fast"
arb_poly_evaluate_vec_fast :: Ptr CArb -> Ptr CArbPoly -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_interpolate_newton"
_arb_poly_interpolate_newton :: Ptr CArb -> Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_interpolate_newton"
arb_poly_interpolate_newton :: Ptr CArbPoly -> Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_interpolate_barycentric"
_arb_poly_interpolate_barycentric :: Ptr CArb -> Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_interpolate_barycentric"
arb_poly_interpolate_barycentric :: Ptr CArbPoly -> Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_interpolation_weights"
_arb_poly_interpolation_weights :: Ptr CArb -> Ptr (Ptr CArb) -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_interpolate_fast_precomp"
_arb_poly_interpolate_fast_precomp :: Ptr CArb -> Ptr CArb -> Ptr (Ptr CArb) -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_interpolate_fast"
_arb_poly_interpolate_fast :: Ptr CArb -> Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_interpolate_fast"
arb_poly_interpolate_fast :: Ptr CArbPoly -> Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_derivative"
_arb_poly_derivative :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_derivative"
arb_poly_derivative :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_nth_derivative"
_arb_poly_nth_derivative :: Ptr CArb -> Ptr CArb -> CULong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_nth_derivative"
arb_poly_nth_derivative :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_integral"
_arb_poly_integral :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_integral"
arb_poly_integral :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_borel_transform"
_arb_poly_borel_transform :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_borel_transform"
arb_poly_borel_transform :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_inv_borel_transform"
_arb_poly_inv_borel_transform :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_inv_borel_transform"
arb_poly_inv_borel_transform :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_binomial_transform_basecase"
_arb_poly_binomial_transform_basecase :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_binomial_transform_basecase"
arb_poly_binomial_transform_basecase :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_binomial_transform_convolution"
_arb_poly_binomial_transform_convolution :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_binomial_transform_convolution"
arb_poly_binomial_transform_convolution :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_binomial_transform"
_arb_poly_binomial_transform :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_binomial_transform"
arb_poly_binomial_transform :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_graeffe_transform"
_arb_poly_graeffe_transform :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_graeffe_transform"
arb_poly_graeffe_transform :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_pow_ui_trunc_binexp"
_arb_poly_pow_ui_trunc_binexp :: Ptr CArb -> Ptr CArb -> CLong -> CULong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_pow_ui_trunc_binexp"
arb_poly_pow_ui_trunc_binexp :: Ptr CArbPoly -> Ptr CArbPoly -> CULong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_pow_ui"
_arb_poly_pow_ui :: Ptr CArb -> Ptr CArb -> CLong -> CULong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_pow_ui"
arb_poly_pow_ui :: Ptr CArbPoly -> Ptr CArbPoly -> CULong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_pow_series"
_arb_poly_pow_series :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_pow_series"
arb_poly_pow_series :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_pow_arb_series"
_arb_poly_pow_arb_series :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_pow_arb_series"
arb_poly_pow_arb_series :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArb -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_sqrt_series"
_arb_poly_sqrt_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_sqrt_series"
arb_poly_sqrt_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_rsqrt_series"
_arb_poly_rsqrt_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_rsqrt_series"
arb_poly_rsqrt_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_log_series"
_arb_poly_log_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_log_series"
arb_poly_log_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_log1p_series"
_arb_poly_log1p_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_log1p_series"
arb_poly_log1p_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_atan_series"
_arb_poly_atan_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_atan_series"
arb_poly_atan_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_asin_series"
_arb_poly_asin_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_asin_series"
arb_poly_asin_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_acos_series"
_arb_poly_acos_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_acos_series"
arb_poly_acos_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_exp_series_basecase"
_arb_poly_exp_series_basecase :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_exp_series_basecase"
arb_poly_exp_series_basecase :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_exp_series"
_arb_poly_exp_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_exp_series"
arb_poly_exp_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_sin_cos_series"
_arb_poly_sin_cos_series :: Ptr CArb -> Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_sin_cos_series"
arb_poly_sin_cos_series :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_sin_series"
_arb_poly_sin_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_sin_series"
arb_poly_sin_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_cos_series"
_arb_poly_cos_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_cos_series"
arb_poly_cos_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_tan_series"
_arb_poly_tan_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_tan_series"
arb_poly_tan_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_sin_cos_pi_series"
_arb_poly_sin_cos_pi_series :: Ptr CArb -> Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_sin_cos_pi_series"
arb_poly_sin_cos_pi_series :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_sin_pi_series"
_arb_poly_sin_pi_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_sin_pi_series"
arb_poly_sin_pi_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_cos_pi_series"
_arb_poly_cos_pi_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_cos_pi_series"
arb_poly_cos_pi_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_cot_pi_series"
_arb_poly_cot_pi_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_cot_pi_series"
arb_poly_cot_pi_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_sinh_cosh_series_basecase"
_arb_poly_sinh_cosh_series_basecase :: Ptr CArb -> Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_sinh_cosh_series_basecase"
arb_poly_sinh_cosh_series_basecase :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_sinh_cosh_series_exponential"
_arb_poly_sinh_cosh_series_exponential :: Ptr CArb -> Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_sinh_cosh_series_exponential"
arb_poly_sinh_cosh_series_exponential :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_sinh_cosh_series"
_arb_poly_sinh_cosh_series :: Ptr CArb -> Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_sinh_cosh_series"
arb_poly_sinh_cosh_series :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_sinh_series"
_arb_poly_sinh_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_sinh_series"
arb_poly_sinh_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_cosh_series"
_arb_poly_cosh_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_cosh_series"
arb_poly_cosh_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_sinc_series"
_arb_poly_sinc_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_sinc_series"
arb_poly_sinc_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_sinc_pi_series"
_arb_poly_sinc_pi_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_sinc_pi_series"
arb_poly_sinc_pi_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_lambertw_series"
_arb_poly_lambertw_series :: Ptr CArb -> Ptr CArb -> CLong -> CInt -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_lambertw_series"
arb_poly_lambertw_series :: Ptr CArbPoly -> Ptr CArbPoly -> CInt -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_gamma_series"
_arb_poly_gamma_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_gamma_series"
arb_poly_gamma_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_rgamma_series"
_arb_poly_rgamma_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_rgamma_series"
arb_poly_rgamma_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_lgamma_series"
_arb_poly_lgamma_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_lgamma_series"
arb_poly_lgamma_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_digamma_series"
_arb_poly_digamma_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_digamma_series"
arb_poly_digamma_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_rising_ui_series"
_arb_poly_rising_ui_series :: Ptr CArb -> Ptr CArb -> CLong -> CULong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_rising_ui_series"
arb_poly_rising_ui_series :: Ptr CArbPoly -> Ptr CArbPoly -> CULong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_zeta_series"
arb_poly_zeta_series :: Ptr CArbPoly -> Ptr CArbPoly -> Ptr CArb -> CInt -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_riemann_siegel_theta_series"
_arb_poly_riemann_siegel_theta_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_riemann_siegel_theta_series"
arb_poly_riemann_siegel_theta_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_riemann_siegel_z_series"
_arb_poly_riemann_siegel_z_series :: Ptr CArb -> Ptr CArb -> CLong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_riemann_siegel_z_series"
arb_poly_riemann_siegel_z_series :: Ptr CArbPoly -> Ptr CArbPoly -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_root_bound_fujiwara"
_arb_poly_root_bound_fujiwara :: Ptr CMag -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_root_bound_fujiwara"
arb_poly_root_bound_fujiwara :: Ptr CMag -> Ptr CArbPoly -> IO ()
foreign import ccall "arb_poly.h _arb_poly_newton_convergence_factor"
_arb_poly_newton_convergence_factor :: Ptr CArf -> Ptr CArb -> CLong -> Ptr CArb -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_newton_step"
_arb_poly_newton_step :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> Ptr CArb -> Ptr CArf -> CLong -> IO CInt
foreign import ccall "arb_poly.h _arb_poly_newton_refine_root"
_arb_poly_newton_refine_root :: Ptr CArb -> Ptr CArb -> CLong -> Ptr CArb -> Ptr CArb -> Ptr CArf -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h _arb_poly_swinnerton_dyer_ui"
_arb_poly_swinnerton_dyer_ui :: Ptr CArb -> CULong -> CLong -> CLong -> IO ()
foreign import ccall "arb_poly.h arb_poly_swinnerton_dyer_ui"
arb_poly_swinnerton_dyer_ui :: Ptr CArbPoly -> CULong -> CLong -> IO ()