{-# LINE 1 "src/Data/Number/Flint/Fmpq/MPoly/FFI.hsc" #-}
module Data.Number.Flint.Fmpq.MPoly.FFI (
FmpqMPoly (..)
, CFmpqMPoly (..)
, newFmpqMPoly
, withFmpqMPoly
, FmpqMPolyCtx (..)
, CFmpqMPolyCtx (..)
, newFmpqMPolyCtx
, withFmpqMPolyCtx
, fmpq_mpoly_ctx_init
, fmpq_mpoly_ctx_nvars
, fmpq_mpoly_ctx_ord
, fmpq_mpoly_ctx_clear
, fmpq_mpoly_init
, fmpq_mpoly_init2
, fmpq_mpoly_init3
, fmpq_mpoly_fit_length
, fmpq_mpoly_fit_bits
, fmpq_mpoly_realloc
, fmpq_mpoly_clear
, fmpq_mpoly_get_str_pretty
, fmpq_mpoly_fprint_pretty
, fmpq_mpoly_print_pretty
, fmpq_mpoly_set_str_pretty
, fmpq_mpoly_gen
, fmpq_mpoly_is_gen
, fmpq_mpoly_set
, fmpq_mpoly_equal
, fmpq_mpoly_swap
, fmpq_mpoly_is_fmpq
, fmpq_mpoly_get_fmpq
, fmpq_mpoly_set_fmpq
, fmpq_mpoly_set_fmpz
, fmpq_mpoly_set_ui
, fmpq_mpoly_set_si
, fmpq_mpoly_zero
, fmpq_mpoly_one
, fmpq_mpoly_equal_fmpq
, fmpq_mpoly_equal_fmpz
, fmpq_mpoly_equal_ui
, fmpq_mpoly_equal_si
, fmpq_mpoly_is_zero
, fmpq_mpoly_is_one
, fmpq_mpoly_degrees_fit_si
, fmpq_mpoly_degrees_fmpz
, fmpq_mpoly_degrees_si
, fmpq_mpoly_degree_fmpz
, fmpq_mpoly_degree_si
, fmpq_mpoly_total_degree_fits_si
, fmpq_mpoly_total_degree_fmpz
, fmpq_mpoly_total_degree_si
, fmpq_mpoly_used_vars
, fmpq_mpoly_get_denominator
, fmpq_mpoly_get_coeff_fmpq_monomial
, fmpq_mpoly_set_coeff_fmpq_monomial
, fmpq_mpoly_get_coeff_fmpq_fmpz
, fmpq_mpoly_get_coeff_fmpq_ui
, fmpq_mpoly_set_coeff_fmpq_fmpz
, fmpq_mpoly_set_coeff_fmpq_ui
, fmpq_mpoly_get_coeff_vars_ui
, fmpq_mpoly_cmp
, fmpq_mpoly_content_ref
, fmpq_mpoly_zpoly_ref
, fmpq_mpoly_zpoly_term_coeff_ref
, fmpq_mpoly_is_canonical
, fmpq_mpoly_length
, fmpq_mpoly_resize
, fmpq_mpoly_get_term_coeff_fmpq
, fmpq_mpoly_set_term_coeff_fmpq
, fmpq_mpoly_term_exp_fits_si
, fmpq_mpoly_term_exp_fits_ui
, fmpq_mpoly_get_term_exp_fmpz
, fmpq_mpoly_get_term_exp_ui
, fmpq_mpoly_get_term_exp_si
, fmpq_mpoly_get_term_var_exp_ui
, fmpq_mpoly_get_term_var_exp_si
, fmpq_mpoly_set_term_exp_fmpz
, fmpq_mpoly_set_term_exp_ui
, fmpq_mpoly_get_term
, fmpq_mpoly_get_term_monomial
, fmpq_mpoly_push_term_fmpq_fmpz
, fmpq_mpoly_push_term_fmpz_fmpz
, fmpq_mpoly_push_term_ui_fmpz
, fmpq_mpoly_push_term_si_fmpz
, fmpq_mpoly_push_term_fmpq_ui
, fmpq_mpoly_push_term_fmpz_ui
, fmpq_mpoly_push_term_ui_ui
, fmpq_mpoly_push_term_si_ui
, fmpq_mpoly_reduce
, fmpq_mpoly_sort_terms
, fmpq_mpoly_combine_like_terms
, fmpq_mpoly_randtest_bound
, fmpq_mpoly_randtest_bounds
, fmpq_mpoly_randtest_bits
, fmpq_mpoly_add_fmpq
, fmpq_mpoly_add_fmpz
, fmpq_mpoly_add_ui
, fmpq_mpoly_add_si
, fmpq_mpoly_sub_fmpq
, fmpq_mpoly_sub_fmpz
, fmpq_mpoly_sub_ui
, fmpq_mpoly_sub_si
, fmpq_mpoly_add
, fmpq_mpoly_sub
, fmpq_mpoly_neg
, fmpq_mpoly_scalar_mul_fmpq
, fmpq_mpoly_scalar_mul_fmpz
, fmpq_mpoly_scalar_mul_ui
, fmpq_mpoly_scalar_mul_si
, fmpq_mpoly_scalar_div_fmpq
, fmpq_mpoly_scalar_div_fmpz
, fmpq_mpoly_scalar_div_ui
, fmpq_mpoly_scalar_div_si
, fmpq_mpoly_make_monic
, fmpq_mpoly_derivative
, fmpq_mpoly_integral
, fmpq_mpoly_evaluate_all_fmpq
, fmpq_mpoly_evaluate_one_fmpq
, fmpq_mpoly_compose_fmpq_poly
, fmpq_mpoly_compose_fmpq_mpoly
, fmpq_mpoly_compose_fmpq_mpoly_gen
, fmpq_mpoly_mul
, fmpq_mpoly_pow_fmpz
, fmpq_mpoly_pow_ui
, fmpq_mpoly_divides
, fmpq_mpoly_div
, fmpq_mpoly_divrem
, fmpq_mpoly_divrem_ideal
, fmpq_mpoly_content
, fmpq_mpoly_term_content
, fmpq_mpoly_content_vars
, fmpq_mpoly_gcd
, fmpq_mpoly_gcd_cofactors
, fmpq_mpoly_gcd_brown
, fmpq_mpoly_gcd_hensel
, fmpq_mpoly_gcd_subresultant
, fmpq_mpoly_gcd_zippel
, fmpq_mpoly_gcd_zippel2
, fmpq_mpoly_resultant
, fmpq_mpoly_discriminant
, fmpq_mpoly_sqrt
, fmpq_mpoly_is_square
, fmpq_mpoly_univar_init
, fmpq_mpoly_univar_clear
, fmpq_mpoly_univar_swap
, fmpq_mpoly_to_univar
, fmpq_mpoly_from_univar
, fmpq_mpoly_univar_degree_fits_si
, fmpq_mpoly_univar_length
, fmpq_mpoly_univar_get_term_exp_si
, fmpq_mpoly_univar_get_term_coeff
, fmpq_mpoly_univar_swap_term_coeff
) where
import Foreign.Ptr
import Foreign.ForeignPtr
import Foreign.C.Types
import Foreign.C.String
import Foreign.Storable
import Foreign.Marshal.Array ( advancePtr )
import Data.Number.Flint.Flint
import Data.Number.Flint.MPoly
import Data.Number.Flint.Fmpz
import Data.Number.Flint.Fmpz.Poly
import Data.Number.Flint.Fmpz.MPoly
import Data.Number.Flint.Fmpz.MPoly.Q
import Data.Number.Flint.Fmpq
import Data.Number.Flint.Fmpq.Poly
data FmpqMPoly = FmpqMPoly {-# UNPACK #-} !(ForeignPtr CFmpqMPoly)
data CFmpqMPoly = CFmpqMPoly (Ptr CFmpq) CFmpzMPoly
instance Storable CFmpqMPoly where
sizeOf :: CFmpqMPoly -> Int
sizeOf CFmpqMPoly
_ = (Int
56)
{-# LINE 214 "src/Data/Number/Flint/Fmpq/MPoly/FFI.hsc" #-}
alignment _ = 8
{-# LINE 215 "src/Data/Number/Flint/Fmpq/MPoly/FFI.hsc" #-}
peek ptr = CFmpqMPoly
<$> (\hsc_ptr -> peekByteOff hsc_ptr 0) ptr
{-# LINE 217 "src/Data/Number/Flint/Fmpq/MPoly/FFI.hsc" #-}
<*> (\hsc_ptr -> peekByteOff hsc_ptr 16) ptr
{-# LINE 218 "src/Data/Number/Flint/Fmpq/MPoly/FFI.hsc" #-}
poke ptr (CFmpqMPoly content zpoly) = do
(\hsc_ptr -> pokeByteOff hsc_ptr 0) ptr content
{-# LINE 220 "src/Data/Number/Flint/Fmpq/MPoly/FFI.hsc" #-}
(\hsc_ptr -> pokeByteOff hsc_ptr 16) ptr zpoly
{-# LINE 221 "src/Data/Number/Flint/Fmpq/MPoly/FFI.hsc" #-}
newFmpqMPoly :: FmpqMPolyCtx -> IO FmpqMPoly
newFmpqMPoly ctx :: FmpqMPolyCtx
ctx@(FmpqMPolyCtx ForeignPtr CFmpqMPolyCtx
pctx) = do
ForeignPtr CFmpqMPoly
x <- IO (ForeignPtr CFmpqMPoly)
forall a. Storable a => IO (ForeignPtr a)
mallocForeignPtr
ForeignPtr CFmpqMPoly
-> (Ptr CFmpqMPoly -> IO (FmpqMPolyCtx, ()))
-> IO (FmpqMPolyCtx, ())
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CFmpqMPoly
x ((Ptr CFmpqMPoly -> IO (FmpqMPolyCtx, ()))
-> IO (FmpqMPolyCtx, ()))
-> (Ptr CFmpqMPoly -> IO (FmpqMPolyCtx, ()))
-> IO (FmpqMPolyCtx, ())
forall a b. (a -> b) -> a -> b
$ \Ptr CFmpqMPoly
x -> do
FmpqMPolyCtx
-> (Ptr CFmpqMPolyCtx -> IO ()) -> IO (FmpqMPolyCtx, ())
forall {a}.
FmpqMPolyCtx -> (Ptr CFmpqMPolyCtx -> IO a) -> IO (FmpqMPolyCtx, a)
withFmpqMPolyCtx FmpqMPolyCtx
ctx ((Ptr CFmpqMPolyCtx -> IO ()) -> IO (FmpqMPolyCtx, ()))
-> (Ptr CFmpqMPolyCtx -> IO ()) -> IO (FmpqMPolyCtx, ())
forall a b. (a -> b) -> a -> b
$ \Ptr CFmpqMPolyCtx
ctx -> do
Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
fmpq_mpoly_init Ptr CFmpqMPoly
x Ptr CFmpqMPolyCtx
ctx
FinalizerEnvPtr CFmpqMPoly CFmpqMPolyCtx
-> Ptr CFmpqMPoly -> ForeignPtr CFmpqMPolyCtx -> IO ()
forall env a.
FinalizerEnvPtr env a -> Ptr env -> ForeignPtr a -> IO ()
addForeignPtrFinalizerEnv FinalizerEnvPtr CFmpqMPoly CFmpqMPolyCtx
p_fmpq_mpoly_clear Ptr CFmpqMPoly
x ForeignPtr CFmpqMPolyCtx
pctx
FmpqMPoly -> IO FmpqMPoly
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (FmpqMPoly -> IO FmpqMPoly) -> FmpqMPoly -> IO FmpqMPoly
forall a b. (a -> b) -> a -> b
$ ForeignPtr CFmpqMPoly -> FmpqMPoly
FmpqMPoly ForeignPtr CFmpqMPoly
x
withFmpqMPoly :: FmpqMPoly -> (Ptr CFmpqMPoly -> IO a) -> IO (FmpqMPoly, a)
withFmpqMPoly (FmpqMPoly ForeignPtr CFmpqMPoly
x) Ptr CFmpqMPoly -> IO a
f = do
ForeignPtr CFmpqMPoly
-> (Ptr CFmpqMPoly -> IO (FmpqMPoly, a)) -> IO (FmpqMPoly, a)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CFmpqMPoly
x ((Ptr CFmpqMPoly -> IO (FmpqMPoly, a)) -> IO (FmpqMPoly, a))
-> (Ptr CFmpqMPoly -> IO (FmpqMPoly, a)) -> IO (FmpqMPoly, a)
forall a b. (a -> b) -> a -> b
$ \Ptr CFmpqMPoly
xp -> (ForeignPtr CFmpqMPoly -> FmpqMPoly
FmpqMPoly ForeignPtr CFmpqMPoly
x,) (a -> (FmpqMPoly, a)) -> IO a -> IO (FmpqMPoly, a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Ptr CFmpqMPoly -> IO a
f Ptr CFmpqMPoly
xp
data FmpqMPolyUniVar = FmpqMPolyUniVar {-# UNPACK #-} !(ForeignPtr CFmpqMPolyUniVar)
data CFmpqMPolyUniVar = CFmpqMPolyUniVar
instance Storable CFmpqMPolyUniVar where
{-# INLINE sizeOf #-}
sizeOf :: CFmpqMPolyUniVar -> Int
sizeOf CFmpqMPolyUniVar
_ = (Int
32)
{-# LINE 241 "src/Data/Number/Flint/Fmpq/MPoly/FFI.hsc" #-}
{-# INLINE alignment #-}
alignment :: CFmpqMPolyUniVar -> Int
alignment CFmpqMPolyUniVar
_ = Int
8
{-# LINE 243 "src/Data/Number/Flint/Fmpq/MPoly/FFI.hsc" #-}
peek = error "CFmpqMPolyUniVar.peek: Not defined"
poke :: Ptr CFmpqMPolyUniVar -> CFmpqMPolyUniVar -> IO ()
poke = [Char] -> Ptr CFmpqMPolyUniVar -> CFmpqMPolyUniVar -> IO ()
forall a. HasCallStack => [Char] -> a
error [Char]
"CFmpqMPolyUniVar.poke: Not defined"
newFmpqMPolyUniVar :: FmpqMPolyCtx -> IO FmpqMPolyUniVar
newFmpqMPolyUniVar ctx :: FmpqMPolyCtx
ctx@(FmpqMPolyCtx ForeignPtr CFmpqMPolyCtx
pctx) = do
ForeignPtr CFmpqMPolyUniVar
p <- IO (ForeignPtr CFmpqMPolyUniVar)
forall a. Storable a => IO (ForeignPtr a)
mallocForeignPtr
ForeignPtr CFmpqMPolyUniVar
-> (Ptr CFmpqMPolyUniVar -> IO (FmpqMPolyCtx, ()))
-> IO (FmpqMPolyCtx, ())
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CFmpqMPolyUniVar
p ((Ptr CFmpqMPolyUniVar -> IO (FmpqMPolyCtx, ()))
-> IO (FmpqMPolyCtx, ()))
-> (Ptr CFmpqMPolyUniVar -> IO (FmpqMPolyCtx, ()))
-> IO (FmpqMPolyCtx, ())
forall a b. (a -> b) -> a -> b
$ \Ptr CFmpqMPolyUniVar
p ->
FmpqMPolyCtx
-> (Ptr CFmpqMPolyCtx -> IO ()) -> IO (FmpqMPolyCtx, ())
forall {a}.
FmpqMPolyCtx -> (Ptr CFmpqMPolyCtx -> IO a) -> IO (FmpqMPolyCtx, a)
withFmpqMPolyCtx FmpqMPolyCtx
ctx ((Ptr CFmpqMPolyCtx -> IO ()) -> IO (FmpqMPolyCtx, ()))
-> (Ptr CFmpqMPolyCtx -> IO ()) -> IO (FmpqMPolyCtx, ())
forall a b. (a -> b) -> a -> b
$ \Ptr CFmpqMPolyCtx
ctx -> do
Ptr CFmpqMPolyUniVar -> Ptr CFmpqMPolyCtx -> IO ()
fmpq_mpoly_univar_init Ptr CFmpqMPolyUniVar
p Ptr CFmpqMPolyCtx
ctx
FinalizerEnvPtr CFmpqMPolyUniVar CFmpqMPolyCtx
-> Ptr CFmpqMPolyUniVar -> ForeignPtr CFmpqMPolyCtx -> IO ()
forall env a.
FinalizerEnvPtr env a -> Ptr env -> ForeignPtr a -> IO ()
addForeignPtrFinalizerEnv FinalizerEnvPtr CFmpqMPolyUniVar CFmpqMPolyCtx
p_fmpq_mpoly_univar_clear Ptr CFmpqMPolyUniVar
p ForeignPtr CFmpqMPolyCtx
pctx
FmpqMPolyUniVar -> IO FmpqMPolyUniVar
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (FmpqMPolyUniVar -> IO FmpqMPolyUniVar)
-> FmpqMPolyUniVar -> IO FmpqMPolyUniVar
forall a b. (a -> b) -> a -> b
$ ForeignPtr CFmpqMPolyUniVar -> FmpqMPolyUniVar
FmpqMPolyUniVar ForeignPtr CFmpqMPolyUniVar
p
{-# INLINE withFmpqMPolyUniVar #-}
withFmpqMPolyUniVar :: FmpqMPolyUniVar
-> (Ptr CFmpqMPolyUniVar -> IO a) -> IO (FmpqMPolyUniVar, a)
withFmpqMPolyUniVar (FmpqMPolyUniVar ForeignPtr CFmpqMPolyUniVar
p) Ptr CFmpqMPolyUniVar -> IO a
f = do
ForeignPtr CFmpqMPolyUniVar
-> (Ptr CFmpqMPolyUniVar -> IO (FmpqMPolyUniVar, a))
-> IO (FmpqMPolyUniVar, a)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CFmpqMPolyUniVar
p ((Ptr CFmpqMPolyUniVar -> IO (FmpqMPolyUniVar, a))
-> IO (FmpqMPolyUniVar, a))
-> (Ptr CFmpqMPolyUniVar -> IO (FmpqMPolyUniVar, a))
-> IO (FmpqMPolyUniVar, a)
forall a b. (a -> b) -> a -> b
$ \Ptr CFmpqMPolyUniVar
fp -> (ForeignPtr CFmpqMPolyUniVar -> FmpqMPolyUniVar
FmpqMPolyUniVar ForeignPtr CFmpqMPolyUniVar
p,) (a -> (FmpqMPolyUniVar, a)) -> IO a -> IO (FmpqMPolyUniVar, a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Ptr CFmpqMPolyUniVar -> IO a
f Ptr CFmpqMPolyUniVar
fp
data FmpqMPolyCtx = FmpqMPolyCtx {-# UNPACK #-} !(ForeignPtr CFmpqMPolyCtx)
data CFmpqMPolyCtx
instance Storable CFmpqMPolyCtx where
{-# INLINE sizeOf #-}
sizeOf :: CFmpqMPolyCtx -> Int
sizeOf CFmpqMPolyCtx
_ = (Int
608)
{-# LINE 267 "src/Data/Number/Flint/Fmpq/MPoly/FFI.hsc" #-}
{-# INLINE alignment #-}
alignment :: CFmpqMPolyCtx -> Int
alignment CFmpqMPolyCtx
_ = Int
8
{-# LINE 269 "src/Data/Number/Flint/Fmpq/MPoly/FFI.hsc" #-}
peek = error "CFmpqMPolyCtx.peek: Not defined"
poke :: Ptr CFmpqMPolyCtx -> CFmpqMPolyCtx -> IO ()
poke = [Char] -> Ptr CFmpqMPolyCtx -> CFmpqMPolyCtx -> IO ()
forall a. HasCallStack => [Char] -> a
error [Char]
"CFmpqMPolyCtx.poke: Not defined"
newFmpqMPolyCtx :: CLong -> Ptr COrdering -> IO FmpqMPolyCtx
newFmpqMPolyCtx CLong
nvars Ptr COrdering
ord = do
ForeignPtr CFmpqMPolyCtx
p <- IO (ForeignPtr CFmpqMPolyCtx)
forall a. Storable a => IO (ForeignPtr a)
mallocForeignPtr
ForeignPtr CFmpqMPolyCtx -> (Ptr CFmpqMPolyCtx -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CFmpqMPolyCtx
p ((Ptr CFmpqMPolyCtx -> IO ()) -> IO ())
-> (Ptr CFmpqMPolyCtx -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr CFmpqMPolyCtx
p ->
Ptr CFmpqMPolyCtx -> CLong -> Ptr COrdering -> IO ()
fmpq_mpoly_ctx_init Ptr CFmpqMPolyCtx
p CLong
nvars Ptr COrdering
ord
FinalizerPtr CFmpqMPolyCtx -> ForeignPtr CFmpqMPolyCtx -> IO ()
forall a. FinalizerPtr a -> ForeignPtr a -> IO ()
addForeignPtrFinalizer FinalizerPtr CFmpqMPolyCtx
p_fmpq_mpoly_ctx_clear ForeignPtr CFmpqMPolyCtx
p
FmpqMPolyCtx -> IO FmpqMPolyCtx
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (FmpqMPolyCtx -> IO FmpqMPolyCtx)
-> FmpqMPolyCtx -> IO FmpqMPolyCtx
forall a b. (a -> b) -> a -> b
$ ForeignPtr CFmpqMPolyCtx -> FmpqMPolyCtx
FmpqMPolyCtx ForeignPtr CFmpqMPolyCtx
p
{-# INLINE withFmpqMPolyCtx #-}
withFmpqMPolyCtx :: FmpqMPolyCtx -> (Ptr CFmpqMPolyCtx -> IO a) -> IO (FmpqMPolyCtx, a)
withFmpqMPolyCtx (FmpqMPolyCtx ForeignPtr CFmpqMPolyCtx
p) Ptr CFmpqMPolyCtx -> IO a
f = do
ForeignPtr CFmpqMPolyCtx
-> (Ptr CFmpqMPolyCtx -> IO (FmpqMPolyCtx, a))
-> IO (FmpqMPolyCtx, a)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CFmpqMPolyCtx
p ((Ptr CFmpqMPolyCtx -> IO (FmpqMPolyCtx, a))
-> IO (FmpqMPolyCtx, a))
-> (Ptr CFmpqMPolyCtx -> IO (FmpqMPolyCtx, a))
-> IO (FmpqMPolyCtx, a)
forall a b. (a -> b) -> a -> b
$ \Ptr CFmpqMPolyCtx
fp -> Ptr CFmpqMPolyCtx -> IO a
f Ptr CFmpqMPolyCtx
fp IO a -> (a -> IO (FmpqMPolyCtx, a)) -> IO (FmpqMPolyCtx, a)
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (FmpqMPolyCtx, a) -> IO (FmpqMPolyCtx, a)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ((FmpqMPolyCtx, a) -> IO (FmpqMPolyCtx, a))
-> (a -> (FmpqMPolyCtx, a)) -> a -> IO (FmpqMPolyCtx, a)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ForeignPtr CFmpqMPolyCtx -> FmpqMPolyCtx
FmpqMPolyCtx ForeignPtr CFmpqMPolyCtx
p,)
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_ctx_init"
fmpq_mpoly_ctx_init :: Ptr CFmpqMPolyCtx -> CLong -> Ptr COrdering -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_ctx_nvars"
fmpq_mpoly_ctx_nvars :: Ptr CFmpqMPolyCtx -> IO CLong
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_ctx_ord"
fmpq_mpoly_ctx_ord :: Ptr CFmpqMPolyCtx -> IO (Ptr COrdering)
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_ctx_clear"
fmpq_mpoly_ctx_clear :: Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h &fmpq_mpoly_ctx_clear"
p_fmpq_mpoly_ctx_clear :: FunPtr (Ptr CFmpqMPolyCtx -> IO ())
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_init"
fmpq_mpoly_init :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_init2"
fmpq_mpoly_init2 :: Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_init3"
fmpq_mpoly_init3 :: Ptr CFmpqMPoly -> CLong -> CFBitCnt -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_fit_length"
fmpq_mpoly_fit_length :: Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_fit_bits"
fmpq_mpoly_fit_bits :: Ptr CFmpqMPoly -> CFBitCnt -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_realloc"
fmpq_mpoly_realloc :: Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_clear"
fmpq_mpoly_clear :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h &fmpq_mpoly_clear"
p_fmpq_mpoly_clear :: FunPtr (Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ())
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_str_pretty"
fmpq_mpoly_get_str_pretty :: Ptr CFmpqMPoly -> Ptr (Ptr CChar) -> Ptr CFmpqMPolyCtx -> IO CString
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_fprint_pretty"
fmpq_mpoly_fprint_pretty :: Ptr CFile -> Ptr CFmpqMPoly -> Ptr (Ptr CChar) -> Ptr CFmpqMPolyCtx -> IO CInt
fmpq_mpoly_print_pretty :: Ptr CFmpqMPoly
-> Ptr (Ptr CChar)
-> Ptr CFmpqMPolyCtx
-> IO CInt
fmpq_mpoly_print_pretty :: Ptr CFmpqMPoly -> Ptr (Ptr CChar) -> Ptr CFmpqMPolyCtx -> IO CInt
fmpq_mpoly_print_pretty Ptr CFmpqMPoly
a Ptr (Ptr CChar)
x Ptr CFmpqMPolyCtx
ctx =
(Ptr CFmpqMPoly -> IO (Ptr CChar)) -> Ptr CFmpqMPoly -> IO CInt
forall a. (Ptr a -> IO (Ptr CChar)) -> Ptr a -> IO CInt
printCStr (\Ptr CFmpqMPoly
a -> Ptr CFmpqMPoly
-> Ptr (Ptr CChar) -> Ptr CFmpqMPolyCtx -> IO (Ptr CChar)
fmpq_mpoly_get_str_pretty Ptr CFmpqMPoly
a Ptr (Ptr CChar)
x Ptr CFmpqMPolyCtx
ctx) Ptr CFmpqMPoly
a
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_set_str_pretty"
fmpq_mpoly_set_str_pretty :: Ptr CFmpqMPoly -> CString -> Ptr (Ptr CChar) -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_gen"
fmpq_mpoly_gen :: Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_is_gen"
fmpq_mpoly_is_gen :: Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_set"
fmpq_mpoly_set :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_equal"
fmpq_mpoly_equal :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_swap"
fmpq_mpoly_swap :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_is_fmpq"
fmpq_mpoly_is_fmpq :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_fmpq"
fmpq_mpoly_get_fmpq :: Ptr CFmpq -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_set_fmpq"
fmpq_mpoly_set_fmpq :: Ptr CFmpqMPoly -> Ptr CFmpq -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_set_fmpz"
fmpq_mpoly_set_fmpz :: Ptr CFmpqMPoly -> Ptr CFmpz -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_set_ui"
fmpq_mpoly_set_ui :: Ptr CFmpqMPoly -> CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_set_si"
fmpq_mpoly_set_si :: Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_zero"
fmpq_mpoly_zero :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_one"
fmpq_mpoly_one :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_equal_fmpq"
fmpq_mpoly_equal_fmpq :: Ptr CFmpqMPoly -> Ptr CFmpq -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_equal_fmpz"
fmpq_mpoly_equal_fmpz :: Ptr CFmpqMPoly -> Ptr CFmpz -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_equal_ui"
fmpq_mpoly_equal_ui :: Ptr CFmpqMPoly -> CULong -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_equal_si"
fmpq_mpoly_equal_si :: Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_is_zero"
fmpq_mpoly_is_zero :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_is_one"
fmpq_mpoly_is_one :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_degrees_fit_si"
fmpq_mpoly_degrees_fit_si :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_degrees_fmpz"
fmpq_mpoly_degrees_fmpz :: Ptr (Ptr CFmpz) -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_degrees_si"
fmpq_mpoly_degrees_si :: Ptr CLong -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_degree_fmpz"
fmpq_mpoly_degree_fmpz :: Ptr CFmpz -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_degree_si"
fmpq_mpoly_degree_si :: Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO CLong
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_total_degree_fits_si"
fmpq_mpoly_total_degree_fits_si :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_total_degree_fmpz"
fmpq_mpoly_total_degree_fmpz :: Ptr CFmpz -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_total_degree_si"
fmpq_mpoly_total_degree_si :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CLong
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_used_vars"
fmpq_mpoly_used_vars :: Ptr CInt -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_denominator"
fmpq_mpoly_get_denominator :: Ptr CFmpz -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_coeff_fmpq_monomial"
fmpq_mpoly_get_coeff_fmpq_monomial :: Ptr CFmpq -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_set_coeff_fmpq_monomial"
fmpq_mpoly_set_coeff_fmpq_monomial :: Ptr CFmpqMPoly -> Ptr CFmpq -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_coeff_fmpq_fmpz"
fmpq_mpoly_get_coeff_fmpq_fmpz :: Ptr CFmpq -> Ptr CFmpqMPoly -> Ptr (Ptr CFmpz) -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_coeff_fmpq_ui"
fmpq_mpoly_get_coeff_fmpq_ui :: Ptr CFmpq -> Ptr CFmpqMPoly -> Ptr CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_set_coeff_fmpq_fmpz"
fmpq_mpoly_set_coeff_fmpq_fmpz :: Ptr CFmpqMPoly -> Ptr CFmpq -> Ptr (Ptr CFmpz) -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_set_coeff_fmpq_ui"
fmpq_mpoly_set_coeff_fmpq_ui :: Ptr CFmpqMPoly -> Ptr CFmpq -> Ptr CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_coeff_vars_ui"
fmpq_mpoly_get_coeff_vars_ui :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CLong -> Ptr CULong -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_cmp"
fmpq_mpoly_cmp :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_content_ref"
fmpq_mpoly_content_ref :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO (Ptr CFmpq)
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_zpoly_ref"
fmpq_mpoly_zpoly_ref :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO (Ptr (Ptr CFmpzMPoly))
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_zpoly_term_coeff_ref"
fmpq_mpoly_zpoly_term_coeff_ref :: Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO (Ptr CFmpz)
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_is_canonical"
fmpq_mpoly_is_canonical :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_length"
fmpq_mpoly_length :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CLong
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_resize"
fmpq_mpoly_resize :: Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_term_coeff_fmpq"
fmpq_mpoly_get_term_coeff_fmpq :: Ptr CFmpq -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_set_term_coeff_fmpq"
fmpq_mpoly_set_term_coeff_fmpq :: Ptr CFmpqMPoly -> CLong -> Ptr CFmpq -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_term_exp_fits_si"
fmpq_mpoly_term_exp_fits_si :: Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_term_exp_fits_ui"
fmpq_mpoly_term_exp_fits_ui :: Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_term_exp_fmpz"
fmpq_mpoly_get_term_exp_fmpz :: Ptr (Ptr CFmpz) -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_term_exp_ui"
fmpq_mpoly_get_term_exp_ui :: Ptr CULong -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_term_exp_si"
fmpq_mpoly_get_term_exp_si :: Ptr CLong -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_term_var_exp_ui"
fmpq_mpoly_get_term_var_exp_ui :: Ptr CFmpqMPoly -> CLong -> CLong -> Ptr CFmpqMPolyCtx -> IO CULong
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_term_var_exp_si"
fmpq_mpoly_get_term_var_exp_si :: Ptr CFmpqMPoly -> CLong -> CLong -> Ptr CFmpqMPolyCtx -> IO CLong
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_set_term_exp_fmpz"
fmpq_mpoly_set_term_exp_fmpz :: Ptr CFmpqMPoly -> CLong -> Ptr (Ptr CFmpz) -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_set_term_exp_ui"
fmpq_mpoly_set_term_exp_ui :: Ptr CFmpqMPoly -> CLong -> Ptr CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_term"
fmpq_mpoly_get_term :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_get_term_monomial"
fmpq_mpoly_get_term_monomial :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_push_term_fmpq_fmpz"
fmpq_mpoly_push_term_fmpq_fmpz :: Ptr CFmpqMPoly -> Ptr CFmpq -> Ptr (Ptr CFmpz) -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_push_term_fmpz_fmpz"
fmpq_mpoly_push_term_fmpz_fmpz :: Ptr CFmpqMPoly -> Ptr CFmpz -> Ptr (Ptr CFmpz) -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_push_term_ui_fmpz"
fmpq_mpoly_push_term_ui_fmpz :: Ptr CFmpqMPoly -> CULong -> Ptr (Ptr CFmpz) -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_push_term_si_fmpz"
fmpq_mpoly_push_term_si_fmpz :: Ptr CFmpqMPoly -> CLong -> Ptr (Ptr CFmpz) -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_push_term_fmpq_ui"
fmpq_mpoly_push_term_fmpq_ui :: Ptr CFmpqMPoly -> Ptr CFmpq -> Ptr CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_push_term_fmpz_ui"
fmpq_mpoly_push_term_fmpz_ui :: Ptr CFmpqMPoly -> Ptr CFmpz -> Ptr CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_push_term_ui_ui"
fmpq_mpoly_push_term_ui_ui :: Ptr CFmpqMPoly -> CULong -> Ptr CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_push_term_si_ui"
fmpq_mpoly_push_term_si_ui :: Ptr CFmpqMPoly -> CLong -> Ptr CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_reduce"
fmpq_mpoly_reduce :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_sort_terms"
fmpq_mpoly_sort_terms :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_combine_like_terms"
fmpq_mpoly_combine_like_terms :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_randtest_bound"
fmpq_mpoly_randtest_bound :: Ptr CFmpqMPoly -> Ptr CFRandState -> CLong -> CMpLimb -> CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_randtest_bounds"
fmpq_mpoly_randtest_bounds :: Ptr CFmpqMPoly -> Ptr CFRandState -> CLong -> CMpLimb -> Ptr CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_randtest_bits"
fmpq_mpoly_randtest_bits :: Ptr CFmpqMPoly -> Ptr CFRandState -> CLong -> CMpLimb -> CMpLimb -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_add_fmpq"
fmpq_mpoly_add_fmpq :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpq -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_add_fmpz"
fmpq_mpoly_add_fmpz :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpz -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_add_ui"
fmpq_mpoly_add_ui :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_add_si"
fmpq_mpoly_add_si :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_sub_fmpq"
fmpq_mpoly_sub_fmpq :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpq -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_sub_fmpz"
fmpq_mpoly_sub_fmpz :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpz -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_sub_ui"
fmpq_mpoly_sub_ui :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_sub_si"
fmpq_mpoly_sub_si :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_add"
fmpq_mpoly_add :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_sub"
fmpq_mpoly_sub :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_neg"
fmpq_mpoly_neg :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_scalar_mul_fmpq"
fmpq_mpoly_scalar_mul_fmpq :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpq -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_scalar_mul_fmpz"
fmpq_mpoly_scalar_mul_fmpz :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpz -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_scalar_mul_ui"
fmpq_mpoly_scalar_mul_ui :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_scalar_mul_si"
fmpq_mpoly_scalar_mul_si :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_scalar_div_fmpq"
fmpq_mpoly_scalar_div_fmpq :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpq -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_scalar_div_fmpz"
fmpq_mpoly_scalar_div_fmpz :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpz -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_scalar_div_ui"
fmpq_mpoly_scalar_div_ui :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CULong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_scalar_div_si"
fmpq_mpoly_scalar_div_si :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_make_monic"
fmpq_mpoly_make_monic :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_derivative"
fmpq_mpoly_derivative :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_integral"
fmpq_mpoly_integral :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_evaluate_all_fmpq"
fmpq_mpoly_evaluate_all_fmpq :: Ptr CFmpq -> Ptr CFmpqMPoly -> Ptr (Ptr CFmpq) -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_evaluate_one_fmpq"
fmpq_mpoly_evaluate_one_fmpq :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpq -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_compose_fmpq_poly"
fmpq_mpoly_compose_fmpq_poly :: Ptr CFmpqPoly -> Ptr CFmpqMPoly -> Ptr (Ptr (Ptr (Ptr CFmpqPoly))) -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_compose_fmpq_mpoly"
fmpq_mpoly_compose_fmpq_mpoly :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr (Ptr (Ptr CFmpqMPoly)) -> Ptr CFmpqMPolyCtx -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_compose_fmpq_mpoly_gen"
fmpq_mpoly_compose_fmpq_mpoly_gen :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CLong -> Ptr CFmpqMPolyCtx -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_mul"
fmpq_mpoly_mul :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_pow_fmpz"
fmpq_mpoly_pow_fmpz :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpz -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_pow_ui"
fmpq_mpoly_pow_ui :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CULong -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_divides"
fmpq_mpoly_divides :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_div"
fmpq_mpoly_div :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_divrem"
fmpq_mpoly_divrem :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_divrem_ideal"
fmpq_mpoly_divrem_ideal :: Ptr (Ptr (Ptr CFmpqMPoly)) -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr (Ptr (Ptr CFmpqMPoly)) -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_content"
fmpq_mpoly_content :: Ptr CFmpq -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_term_content"
fmpq_mpoly_term_content :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_content_vars"
fmpq_mpoly_content_vars :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CLong -> CLong -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_gcd"
fmpq_mpoly_gcd :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_gcd_cofactors"
fmpq_mpoly_gcd_cofactors :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_gcd_brown"
fmpq_mpoly_gcd_brown :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_gcd_hensel"
fmpq_mpoly_gcd_hensel :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_gcd_subresultant"
fmpq_mpoly_gcd_subresultant :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_gcd_zippel"
fmpq_mpoly_gcd_zippel :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_gcd_zippel2"
fmpq_mpoly_gcd_zippel2 :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_resultant"
fmpq_mpoly_resultant :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_discriminant"
fmpq_mpoly_discriminant :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_sqrt"
fmpq_mpoly_sqrt :: Ptr CFmpqMPoly -> Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_is_square"
fmpq_mpoly_is_square :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_univar_init"
fmpq_mpoly_univar_init :: Ptr CFmpqMPolyUniVar -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_univar_clear"
fmpq_mpoly_univar_clear :: Ptr CFmpqMPolyUniVar -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h &fmpq_mpoly_univar_clear"
p_fmpq_mpoly_univar_clear :: FunPtr (Ptr CFmpqMPolyUniVar -> Ptr CFmpqMPolyCtx -> IO ())
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_univar_swap"
fmpq_mpoly_univar_swap :: Ptr CFmpqMPolyUniVar -> Ptr CFmpqMPolyUniVar -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_to_univar"
fmpq_mpoly_to_univar :: Ptr CFmpqMPolyUniVar -> Ptr CFmpqMPoly -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_from_univar"
fmpq_mpoly_from_univar :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyUniVar -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_univar_degree_fits_si"
fmpq_mpoly_univar_degree_fits_si :: Ptr CFmpqMPolyUniVar -> Ptr CFmpqMPolyCtx -> IO CInt
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_univar_length"
fmpq_mpoly_univar_length :: Ptr CFmpqMPolyUniVar -> Ptr CFmpqMPolyCtx -> IO CLong
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_univar_get_term_exp_si"
fmpq_mpoly_univar_get_term_exp_si :: Ptr CFmpqMPolyUniVar -> CLong -> Ptr CFmpqMPolyCtx -> IO CLong
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_univar_get_term_coeff"
fmpq_mpoly_univar_get_term_coeff :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyUniVar -> CLong -> Ptr CFmpqMPolyCtx -> IO ()
foreign import ccall "fmpq_mpoly.h fmpq_mpoly_univar_swap_term_coeff"
fmpq_mpoly_univar_swap_term_coeff :: Ptr CFmpqMPoly -> Ptr CFmpqMPolyUniVar -> CLong -> Ptr CFmpqMPolyCtx -> IO ()