{-# LINE 1 "src/Data/Number/Flint/Fq/NMod/MPoly/FFI.hsc" #-}
module Data.Number.Flint.Fq.NMod.MPoly.FFI (
FqNModMPoly (..)
, CFqNModMPoly (..)
, newFqNModMPoly
, withFqNModMPoly
, FqNModMPolyCtx (..)
, CFqNModMPolyCtx (..)
, newFqNModMPolyCtx
, withFqNModMPolyCtx
, fq_nmod_mpoly_ctx_init
, fq_nmod_mpoly_ctx_nvars
, fq_nmod_mpoly_ctx_ord
, fq_nmod_mpoly_ctx_clear
, fq_nmod_mpoly_init
, fq_nmod_mpoly_init2
, fq_nmod_mpoly_init3
, fq_nmod_mpoly_fit_length
, fq_nmod_mpoly_realloc
, fq_nmod_mpoly_clear
, fq_nmod_mpoly_get_str_pretty
, fq_nmod_mpoly_fprint_pretty
, fq_nmod_mpoly_print_pretty
, fq_nmod_mpoly_set_str_pretty
, fq_nmod_mpoly_gen
, fq_nmod_mpoly_is_gen
, fq_nmod_mpoly_set
, fq_nmod_mpoly_equal
, fq_nmod_mpoly_swap
, fq_nmod_mpoly_is_fq_nmod
, fq_nmod_mpoly_get_fq_nmod
, fq_nmod_mpoly_set_fq_nmod
, fq_nmod_mpoly_set_ui
, fq_nmod_mpoly_set_fq_nmod_gen
, fq_nmod_mpoly_zero
, fq_nmod_mpoly_one
, fq_nmod_mpoly_equal_fq_nmod
, fq_nmod_mpoly_is_zero
, fq_nmod_mpoly_is_one
, fq_nmod_mpoly_degrees_fit_si
, fq_nmod_mpoly_degrees_fmpz
, fq_nmod_mpoly_degrees_si
, fq_nmod_mpoly_degree_fmpz
, fq_nmod_mpoly_degree_si
, fq_nmod_mpoly_total_degree_fits_si
, fq_nmod_mpoly_total_degree_fmpz
, fq_nmod_mpoly_total_degree_si
, fq_nmod_mpoly_used_vars
, fq_nmod_mpoly_get_coeff_fq_nmod_monomial
, fq_nmod_mpoly_set_coeff_fq_nmod_monomial
, fq_nmod_mpoly_get_coeff_fq_nmod_fmpz
, fq_nmod_mpoly_get_coeff_fq_nmod_ui
, fq_nmod_mpoly_set_coeff_fq_nmod_fmpz
, fq_nmod_mpoly_set_coeff_fq_nmod_ui
, fq_nmod_mpoly_get_coeff_vars_ui
, fq_nmod_mpoly_cmp
, fq_nmod_mpoly_is_canonical
, fq_nmod_mpoly_length
, fq_nmod_mpoly_resize
, fq_nmod_mpoly_get_term_coeff_fq_nmod
, fq_nmod_mpoly_term_exp_fits_si
, fq_nmod_mpoly_term_exp_fits_ui
, fq_nmod_mpoly_get_term_exp_fmpz
, fq_nmod_mpoly_get_term_exp_ui
, fq_nmod_mpoly_get_term_exp_si
, fq_nmod_mpoly_get_term_var_exp_ui
, fq_nmod_mpoly_get_term_var_exp_si
, fq_nmod_mpoly_set_term_exp_fmpz
, fq_nmod_mpoly_set_term_exp_ui
, fq_nmod_mpoly_get_term
, fq_nmod_mpoly_get_term_monomial
, fq_nmod_mpoly_push_term_fq_nmod_fmpz
, fq_nmod_mpoly_push_term_fq_nmod_ui
, fq_nmod_mpoly_sort_terms
, fq_nmod_mpoly_combine_like_terms
, fq_nmod_mpoly_reverse
, fq_nmod_mpoly_randtest_bound
, fq_nmod_mpoly_randtest_bounds
, fq_nmod_mpoly_randtest_bits
, fq_nmod_mpoly_add_fq_nmod
, fq_nmod_mpoly_sub_fq_nmod
, fq_nmod_mpoly_add
, fq_nmod_mpoly_sub
, fq_nmod_mpoly_neg
, fq_nmod_mpoly_scalar_mul_fq_nmod
, fq_nmod_mpoly_make_monic
, fq_nmod_mpoly_derivative
, fq_nmod_mpoly_evaluate_all_fq_nmod
, fq_nmod_mpoly_evaluate_one_fq_nmod
, fq_nmod_mpoly_compose_fq_nmod_poly
, fq_nmod_mpoly_compose_fq_nmod_mpoly
, fq_nmod_mpoly_compose_fq_nmod_mpoly_gen
, fq_nmod_mpoly_mul
, fq_nmod_mpoly_pow_fmpz
, fq_nmod_mpoly_pow_ui
, fq_nmod_mpoly_divides
, fq_nmod_mpoly_div
, fq_nmod_mpoly_divrem
, fq_nmod_mpoly_divrem_ideal
, fq_nmod_mpoly_term_content
, fq_nmod_mpoly_content_vars
, fq_nmod_mpoly_gcd
, fq_nmod_mpoly_gcd_cofactors
, fq_nmod_mpoly_gcd_brown
, fq_nmod_mpoly_gcd_hensel
, fq_nmod_mpoly_gcd_zippel
, fq_nmod_mpoly_resultant
, fq_nmod_mpoly_discriminant
, fq_nmod_mpoly_sqrt
, fq_nmod_mpoly_is_square
, fq_nmod_mpoly_quadratic_root
, fq_nmod_mpoly_univar_init
, fq_nmod_mpoly_univar_clear
, fq_nmod_mpoly_univar_swap
, fq_nmod_mpoly_to_univar
, fq_nmod_mpoly_from_univar
, fq_nmod_mpoly_univar_degree_fits_si
, fq_nmod_mpoly_univar_length
, fq_nmod_mpoly_univar_get_term_exp_si
, fq_nmod_mpoly_univar_get_term_coeff
, fq_nmod_mpoly_univar_swap_term_coeff
) where
import Foreign.C.String
import Foreign.C.Types
import qualified Foreign.Concurrent
import Foreign.ForeignPtr
import Foreign.Ptr ( Ptr, FunPtr, plusPtr )
import Foreign.Storable
import Foreign.Marshal ( free )
import Data.Number.Flint.Flint
import Data.Number.Flint.MPoly
import Data.Number.Flint.Fmpz
import Data.Number.Flint.Fmpz.Mod.Poly
import Data.Number.Flint.NMod.Poly
import Data.Number.Flint.NMod.MPoly
import Data.Number.Flint.Fq
import Data.Number.Flint.Fq.Poly
import Data.Number.Flint.Fq.NMod
import Data.Number.Flint.Fq.NMod.Types
instance Storable CFqNModMPoly where
{-# INLINE sizeOf #-}
sizeOf :: CFqNModMPoly -> Int
sizeOf CFqNModMPoly
_ = (Int
48)
{-# LINE 184 "src/Data/Number/Flint/Fq/NMod/MPoly/FFI.hsc" #-}
{-# INLINE alignment #-}
alignment :: CFqNModMPoly -> Int
alignment CFqNModMPoly
_ = Int
8
{-# LINE 186 "src/Data/Number/Flint/Fq/NMod/MPoly/FFI.hsc" #-}
peek = undefined
poke :: Ptr CFqNModMPoly -> CFqNModMPoly -> IO ()
poke = Ptr CFqNModMPoly -> CFqNModMPoly -> IO ()
forall a. HasCallStack => a
undefined
newFqNModMPoly :: FqNModMPolyCtx -> IO FqNModMPoly
newFqNModMPoly ctx :: FqNModMPolyCtx
ctx@(FqNModMPolyCtx ForeignPtr CFqNModMPolyCtx
ftx) = do
ForeignPtr CFqNModMPoly
x <- IO (ForeignPtr CFqNModMPoly)
forall a. Storable a => IO (ForeignPtr a)
mallocForeignPtr
ForeignPtr CFqNModMPoly -> (Ptr CFqNModMPoly -> IO ()) -> IO ()
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CFqNModMPoly
x ((Ptr CFqNModMPoly -> IO ()) -> IO ())
-> (Ptr CFqNModMPoly -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr CFqNModMPoly
x -> do
FqNModMPolyCtx
-> (Ptr CFqNModMPolyCtx -> IO ()) -> IO (FqNModMPolyCtx, ())
forall {a}.
FqNModMPolyCtx
-> (Ptr CFqNModMPolyCtx -> IO a) -> IO (FqNModMPolyCtx, a)
withFqNModMPolyCtx FqNModMPolyCtx
ctx ((Ptr CFqNModMPolyCtx -> IO ()) -> IO (FqNModMPolyCtx, ()))
-> (Ptr CFqNModMPolyCtx -> IO ()) -> IO (FqNModMPolyCtx, ())
forall a b. (a -> b) -> a -> b
$ \Ptr CFqNModMPolyCtx
ctx -> do
Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
fq_nmod_mpoly_init Ptr CFqNModMPoly
x Ptr CFqNModMPolyCtx
ctx
FinalizerEnvPtr CFqNModMPoly CFqNModMPolyCtx
-> Ptr CFqNModMPoly -> ForeignPtr CFqNModMPolyCtx -> IO ()
forall env a.
FinalizerEnvPtr env a -> Ptr env -> ForeignPtr a -> IO ()
addForeignPtrFinalizerEnv FinalizerEnvPtr CFqNModMPoly CFqNModMPolyCtx
p_fq_nmod_mpoly_clear Ptr CFqNModMPoly
x ForeignPtr CFqNModMPolyCtx
ftx
FqNModMPoly -> IO FqNModMPoly
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (FqNModMPoly -> IO FqNModMPoly) -> FqNModMPoly -> IO FqNModMPoly
forall a b. (a -> b) -> a -> b
$ ForeignPtr CFqNModMPoly -> FqNModMPoly
FqNModMPoly ForeignPtr CFqNModMPoly
x
{-# INLINE withFqNModMPoly #-}
withFqNModMPoly :: FqNModMPoly -> (Ptr CFqNModMPoly -> IO a) -> IO (FqNModMPoly, a)
withFqNModMPoly (FqNModMPoly ForeignPtr CFqNModMPoly
x) Ptr CFqNModMPoly -> IO a
f = do
ForeignPtr CFqNModMPoly
-> (Ptr CFqNModMPoly -> IO (FqNModMPoly, a)) -> IO (FqNModMPoly, a)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CFqNModMPoly
x ((Ptr CFqNModMPoly -> IO (FqNModMPoly, a)) -> IO (FqNModMPoly, a))
-> (Ptr CFqNModMPoly -> IO (FqNModMPoly, a)) -> IO (FqNModMPoly, a)
forall a b. (a -> b) -> a -> b
$ \Ptr CFqNModMPoly
px -> Ptr CFqNModMPoly -> IO a
f Ptr CFqNModMPoly
px IO a -> (a -> IO (FqNModMPoly, a)) -> IO (FqNModMPoly, a)
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (FqNModMPoly, a) -> IO (FqNModMPoly, a)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ((FqNModMPoly, a) -> IO (FqNModMPoly, a))
-> (a -> (FqNModMPoly, a)) -> a -> IO (FqNModMPoly, a)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ForeignPtr CFqNModMPoly -> FqNModMPoly
FqNModMPoly ForeignPtr CFqNModMPoly
x,)
data FqNModMPolyUnivar = FqNModMPolyUnivar {-# UNPACK #-} !(ForeignPtr CFqNModMPolyUnivar)
data CFqNModMPolyUnivar = CFqNModMPolyUnivar
instance Storable CFqNModMPolyUnivar where
{-# INLINE sizeOf #-}
sizeOf :: CFqNModMPolyUnivar -> Int
sizeOf CFqNModMPolyUnivar
_ = (Int
32)
{-# LINE 209 "src/Data/Number/Flint/Fq/NMod/MPoly/FFI.hsc" #-}
{-# INLINE alignment #-}
alignment :: CFqNModMPolyUnivar -> Int
alignment CFqNModMPolyUnivar
_ = Int
8
{-# LINE 211 "src/Data/Number/Flint/Fq/NMod/MPoly/FFI.hsc" #-}
peek = error "CFqNModMPolyUnivar.peek: Not defined"
poke :: Ptr CFqNModMPolyUnivar -> CFqNModMPolyUnivar -> IO ()
poke = [Char] -> Ptr CFqNModMPolyUnivar -> CFqNModMPolyUnivar -> IO ()
forall a. HasCallStack => [Char] -> a
error [Char]
"CFqNModMPolyUnivar.poke: Not defined"
newFqNModMPolyUnivar :: FqNModMPolyCtx -> IO FqNModMPolyUnivar
newFqNModMPolyUnivar ctx :: FqNModMPolyCtx
ctx@(FqNModMPolyCtx ForeignPtr CFqNModMPolyCtx
pctx) = do
ForeignPtr CFqNModMPolyUnivar
p <- IO (ForeignPtr CFqNModMPolyUnivar)
forall a. Storable a => IO (ForeignPtr a)
mallocForeignPtr
ForeignPtr CFqNModMPolyUnivar
-> (Ptr CFqNModMPolyUnivar -> IO (FqNModMPolyCtx, ()))
-> IO (FqNModMPolyCtx, ())
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CFqNModMPolyUnivar
p ((Ptr CFqNModMPolyUnivar -> IO (FqNModMPolyCtx, ()))
-> IO (FqNModMPolyCtx, ()))
-> (Ptr CFqNModMPolyUnivar -> IO (FqNModMPolyCtx, ()))
-> IO (FqNModMPolyCtx, ())
forall a b. (a -> b) -> a -> b
$ \Ptr CFqNModMPolyUnivar
p ->
FqNModMPolyCtx
-> (Ptr CFqNModMPolyCtx -> IO ()) -> IO (FqNModMPolyCtx, ())
forall {a}.
FqNModMPolyCtx
-> (Ptr CFqNModMPolyCtx -> IO a) -> IO (FqNModMPolyCtx, a)
withFqNModMPolyCtx FqNModMPolyCtx
ctx ((Ptr CFqNModMPolyCtx -> IO ()) -> IO (FqNModMPolyCtx, ()))
-> (Ptr CFqNModMPolyCtx -> IO ()) -> IO (FqNModMPolyCtx, ())
forall a b. (a -> b) -> a -> b
$ \Ptr CFqNModMPolyCtx
ctx -> do
Ptr CFqNModMPolyUnivar -> Ptr CFqNModMPolyCtx -> IO ()
fq_nmod_mpoly_univar_init Ptr CFqNModMPolyUnivar
p Ptr CFqNModMPolyCtx
ctx
FinalizerEnvPtr CFqNModMPolyUnivar CFqNModMPolyCtx
-> Ptr CFqNModMPolyUnivar -> ForeignPtr CFqNModMPolyCtx -> IO ()
forall env a.
FinalizerEnvPtr env a -> Ptr env -> ForeignPtr a -> IO ()
addForeignPtrFinalizerEnv FinalizerEnvPtr CFqNModMPolyUnivar CFqNModMPolyCtx
p_fq_nmod_mpoly_univar_clear Ptr CFqNModMPolyUnivar
p ForeignPtr CFqNModMPolyCtx
pctx
FqNModMPolyUnivar -> IO FqNModMPolyUnivar
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (FqNModMPolyUnivar -> IO FqNModMPolyUnivar)
-> FqNModMPolyUnivar -> IO FqNModMPolyUnivar
forall a b. (a -> b) -> a -> b
$ ForeignPtr CFqNModMPolyUnivar -> FqNModMPolyUnivar
FqNModMPolyUnivar ForeignPtr CFqNModMPolyUnivar
p
{-# INLINE withFqNModMPolyUnivar #-}
withFqNModMPolyUnivar :: FqNModMPolyUnivar
-> (Ptr CFqNModMPolyUnivar -> IO a) -> IO (FqNModMPolyUnivar, a)
withFqNModMPolyUnivar (FqNModMPolyUnivar ForeignPtr CFqNModMPolyUnivar
p) Ptr CFqNModMPolyUnivar -> IO a
f = do
ForeignPtr CFqNModMPolyUnivar
-> (Ptr CFqNModMPolyUnivar -> IO (FqNModMPolyUnivar, a))
-> IO (FqNModMPolyUnivar, a)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CFqNModMPolyUnivar
p ((Ptr CFqNModMPolyUnivar -> IO (FqNModMPolyUnivar, a))
-> IO (FqNModMPolyUnivar, a))
-> (Ptr CFqNModMPolyUnivar -> IO (FqNModMPolyUnivar, a))
-> IO (FqNModMPolyUnivar, a)
forall a b. (a -> b) -> a -> b
$ \Ptr CFqNModMPolyUnivar
fp -> (ForeignPtr CFqNModMPolyUnivar -> FqNModMPolyUnivar
FqNModMPolyUnivar ForeignPtr CFqNModMPolyUnivar
p,) (a -> (FqNModMPolyUnivar, a)) -> IO a -> IO (FqNModMPolyUnivar, a)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Ptr CFqNModMPolyUnivar -> IO a
f Ptr CFqNModMPolyUnivar
fp
data FqNModMPolyCtx = FqNModMPolyCtx {-# UNPACK #-} !(ForeignPtr CFqNModMPolyCtx)
data CFqNModMPolyCtx
instance Storable CFqNModMPolyCtx where
{-# INLINE sizeOf #-}
sizeOf :: CFqNModMPolyCtx -> Int
sizeOf CFqNModMPolyCtx
_ = (Int
776)
{-# LINE 236 "src/Data/Number/Flint/Fq/NMod/MPoly/FFI.hsc" #-}
{-# INLINE alignment #-}
alignment :: CFqNModMPolyCtx -> Int
alignment CFqNModMPolyCtx
_ = Int
8
{-# LINE 238 "src/Data/Number/Flint/Fq/NMod/MPoly/FFI.hsc" #-}
peek = error "CFqNModMPolyCtx.peek: Not defined"
poke :: Ptr CFqNModMPolyCtx -> CFqNModMPolyCtx -> IO ()
poke = [Char] -> Ptr CFqNModMPolyCtx -> CFqNModMPolyCtx -> IO ()
forall a. HasCallStack => [Char] -> a
error [Char]
"CFqNModMPolyCtx.poke: Not defined"
newFqNModMPolyCtx :: CLong -> Ptr COrdering -> FqNModCtx -> IO FqNModMPolyCtx
newFqNModMPolyCtx CLong
nvars Ptr COrdering
ord FqNModCtx
fqctx = do
ForeignPtr CFqNModMPolyCtx
p <- IO (ForeignPtr CFqNModMPolyCtx)
forall a. Storable a => IO (ForeignPtr a)
mallocForeignPtr
ForeignPtr CFqNModMPolyCtx
-> (Ptr CFqNModMPolyCtx -> IO (FqNModCtx, ()))
-> IO (FqNModCtx, ())
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CFqNModMPolyCtx
p ((Ptr CFqNModMPolyCtx -> IO (FqNModCtx, ())) -> IO (FqNModCtx, ()))
-> (Ptr CFqNModMPolyCtx -> IO (FqNModCtx, ()))
-> IO (FqNModCtx, ())
forall a b. (a -> b) -> a -> b
$ \Ptr CFqNModMPolyCtx
p ->
FqNModCtx -> (Ptr CFqNModCtx -> IO ()) -> IO (FqNModCtx, ())
forall {a}.
FqNModCtx -> (Ptr CFqNModCtx -> IO a) -> IO (FqNModCtx, a)
withFqNModCtx FqNModCtx
fqctx ((Ptr CFqNModCtx -> IO ()) -> IO (FqNModCtx, ()))
-> (Ptr CFqNModCtx -> IO ()) -> IO (FqNModCtx, ())
forall a b. (a -> b) -> a -> b
$ \Ptr CFqNModCtx
fqctx -> do
Ptr CFqNModMPolyCtx
-> CLong -> Ptr COrdering -> Ptr CFqNModCtx -> IO ()
fq_nmod_mpoly_ctx_init Ptr CFqNModMPolyCtx
p CLong
nvars Ptr COrdering
ord Ptr CFqNModCtx
fqctx
FinalizerPtr CFqNModMPolyCtx -> ForeignPtr CFqNModMPolyCtx -> IO ()
forall a. FinalizerPtr a -> ForeignPtr a -> IO ()
addForeignPtrFinalizer FinalizerPtr CFqNModMPolyCtx
p_fq_nmod_mpoly_ctx_clear ForeignPtr CFqNModMPolyCtx
p
FqNModMPolyCtx -> IO FqNModMPolyCtx
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (FqNModMPolyCtx -> IO FqNModMPolyCtx)
-> FqNModMPolyCtx -> IO FqNModMPolyCtx
forall a b. (a -> b) -> a -> b
$ ForeignPtr CFqNModMPolyCtx -> FqNModMPolyCtx
FqNModMPolyCtx ForeignPtr CFqNModMPolyCtx
p
{-# INLINE withFqNModMPolyCtx #-}
withFqNModMPolyCtx :: FqNModMPolyCtx
-> (Ptr CFqNModMPolyCtx -> IO a) -> IO (FqNModMPolyCtx, a)
withFqNModMPolyCtx (FqNModMPolyCtx ForeignPtr CFqNModMPolyCtx
p) Ptr CFqNModMPolyCtx -> IO a
f = do
ForeignPtr CFqNModMPolyCtx
-> (Ptr CFqNModMPolyCtx -> IO (FqNModMPolyCtx, a))
-> IO (FqNModMPolyCtx, a)
forall a b. ForeignPtr a -> (Ptr a -> IO b) -> IO b
withForeignPtr ForeignPtr CFqNModMPolyCtx
p ((Ptr CFqNModMPolyCtx -> IO (FqNModMPolyCtx, a))
-> IO (FqNModMPolyCtx, a))
-> (Ptr CFqNModMPolyCtx -> IO (FqNModMPolyCtx, a))
-> IO (FqNModMPolyCtx, a)
forall a b. (a -> b) -> a -> b
$ \Ptr CFqNModMPolyCtx
fp -> Ptr CFqNModMPolyCtx -> IO a
f Ptr CFqNModMPolyCtx
fp IO a -> (a -> IO (FqNModMPolyCtx, a)) -> IO (FqNModMPolyCtx, a)
forall a b. IO a -> (a -> IO b) -> IO b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (FqNModMPolyCtx, a) -> IO (FqNModMPolyCtx, a)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ((FqNModMPolyCtx, a) -> IO (FqNModMPolyCtx, a))
-> (a -> (FqNModMPolyCtx, a)) -> a -> IO (FqNModMPolyCtx, a)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ForeignPtr CFqNModMPolyCtx -> FqNModMPolyCtx
FqNModMPolyCtx ForeignPtr CFqNModMPolyCtx
p,)
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_ctx_init"
fq_nmod_mpoly_ctx_init :: Ptr CFqNModMPolyCtx -> CLong -> Ptr COrdering -> Ptr CFqNModCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_ctx_nvars"
fq_nmod_mpoly_ctx_nvars :: Ptr CFqNModMPolyCtx -> IO CLong
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_ctx_ord"
fq_nmod_mpoly_ctx_ord :: Ptr CFqNModMPolyCtx -> IO (Ptr COrdering)
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_ctx_clear"
fq_nmod_mpoly_ctx_clear :: Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h &fq_nmod_mpoly_ctx_clear"
p_fq_nmod_mpoly_ctx_clear :: FunPtr (Ptr CFqNModMPolyCtx -> IO ())
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_init"
fq_nmod_mpoly_init :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_init2"
fq_nmod_mpoly_init2 :: Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_init3"
fq_nmod_mpoly_init3 :: Ptr CFqNModMPoly -> CLong -> CFBitCnt -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_fit_length"
fq_nmod_mpoly_fit_length :: Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_realloc"
fq_nmod_mpoly_realloc :: Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_clear"
fq_nmod_mpoly_clear :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h &fq_nmod_mpoly_clear"
p_fq_nmod_mpoly_clear :: FunPtr (Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ())
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_str_pretty"
fq_nmod_mpoly_get_str_pretty :: Ptr CFqNModMPoly -> Ptr CString -> Ptr CFqNModMPolyCtx -> IO CString
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_fprint_pretty"
fq_nmod_mpoly_fprint_pretty :: Ptr CFile -> Ptr CFqNModMPoly -> Ptr CString -> Ptr CFqNModMPolyCtx -> IO CInt
fq_nmod_mpoly_print_pretty :: Ptr CFqNModMPoly -> Ptr CString -> Ptr CFqNModMPolyCtx -> IO CInt
fq_nmod_mpoly_print_pretty :: Ptr CFqNModMPoly -> Ptr CString -> Ptr CFqNModMPolyCtx -> IO CInt
fq_nmod_mpoly_print_pretty Ptr CFqNModMPoly
a Ptr CString
x Ptr CFqNModMPolyCtx
ctx =
(Ptr CFqNModMPoly -> IO CString) -> Ptr CFqNModMPoly -> IO CInt
forall a. (Ptr a -> IO CString) -> Ptr a -> IO CInt
printCStr (\Ptr CFqNModMPoly
a -> Ptr CFqNModMPoly
-> Ptr CString -> Ptr CFqNModMPolyCtx -> IO CString
fq_nmod_mpoly_get_str_pretty Ptr CFqNModMPoly
a Ptr CString
x Ptr CFqNModMPolyCtx
ctx) Ptr CFqNModMPoly
a
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_set_str_pretty"
fq_nmod_mpoly_set_str_pretty :: Ptr CFqNModMPoly -> CString -> Ptr CString -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_gen"
fq_nmod_mpoly_gen :: Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_is_gen"
fq_nmod_mpoly_is_gen :: Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_set"
fq_nmod_mpoly_set :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_equal"
fq_nmod_mpoly_equal :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_swap"
fq_nmod_mpoly_swap :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_is_fq_nmod"
fq_nmod_mpoly_is_fq_nmod :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_fq_nmod"
fq_nmod_mpoly_get_fq_nmod :: Ptr CFqNMod -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_set_fq_nmod"
fq_nmod_mpoly_set_fq_nmod :: Ptr CFqNModMPoly -> Ptr CFqNMod -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_set_ui"
fq_nmod_mpoly_set_ui :: Ptr CFqNModMPoly -> CULong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_set_fq_nmod_gen"
fq_nmod_mpoly_set_fq_nmod_gen :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_zero"
fq_nmod_mpoly_zero :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_one"
fq_nmod_mpoly_one :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_equal_fq_nmod"
fq_nmod_mpoly_equal_fq_nmod :: Ptr CFqNModMPoly -> Ptr CFqNMod -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_is_zero"
fq_nmod_mpoly_is_zero :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_is_one"
fq_nmod_mpoly_is_one :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_degrees_fit_si"
fq_nmod_mpoly_degrees_fit_si :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_degrees_fmpz"
fq_nmod_mpoly_degrees_fmpz :: Ptr (Ptr CFmpz) -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_degrees_si"
fq_nmod_mpoly_degrees_si :: Ptr CLong -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_degree_fmpz"
fq_nmod_mpoly_degree_fmpz :: Ptr CFmpz -> Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_degree_si"
fq_nmod_mpoly_degree_si :: Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO CLong
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_total_degree_fits_si"
fq_nmod_mpoly_total_degree_fits_si :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_total_degree_fmpz"
fq_nmod_mpoly_total_degree_fmpz :: Ptr CFmpz -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_total_degree_si"
fq_nmod_mpoly_total_degree_si :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CLong
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_used_vars"
fq_nmod_mpoly_used_vars :: Ptr CInt -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_coeff_fq_nmod_monomial"
fq_nmod_mpoly_get_coeff_fq_nmod_monomial :: Ptr CFqNMod -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_set_coeff_fq_nmod_monomial"
fq_nmod_mpoly_set_coeff_fq_nmod_monomial :: Ptr CFqNModMPoly -> Ptr CFqNMod -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_coeff_fq_nmod_fmpz"
fq_nmod_mpoly_get_coeff_fq_nmod_fmpz :: Ptr CFqNMod -> Ptr CFqNModMPoly -> Ptr (Ptr CFmpz) -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_coeff_fq_nmod_ui"
fq_nmod_mpoly_get_coeff_fq_nmod_ui :: Ptr CFqNMod -> Ptr CFqNModMPoly -> Ptr CULong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_set_coeff_fq_nmod_fmpz"
fq_nmod_mpoly_set_coeff_fq_nmod_fmpz :: Ptr CFqNModMPoly -> Ptr CFqNMod -> Ptr (Ptr CFmpz) -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_set_coeff_fq_nmod_ui"
fq_nmod_mpoly_set_coeff_fq_nmod_ui :: Ptr CFqNModMPoly -> Ptr CFqNMod -> Ptr CULong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_coeff_vars_ui"
fq_nmod_mpoly_get_coeff_vars_ui :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CLong -> Ptr CULong -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_cmp"
fq_nmod_mpoly_cmp :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_is_canonical"
fq_nmod_mpoly_is_canonical :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_length"
fq_nmod_mpoly_length :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CLong
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_resize"
fq_nmod_mpoly_resize :: Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_term_coeff_fq_nmod"
fq_nmod_mpoly_get_term_coeff_fq_nmod :: Ptr CFqNMod -> Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_term_exp_fits_si"
fq_nmod_mpoly_term_exp_fits_si :: Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_term_exp_fits_ui"
fq_nmod_mpoly_term_exp_fits_ui :: Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_term_exp_fmpz"
fq_nmod_mpoly_get_term_exp_fmpz :: Ptr (Ptr CFmpz) -> Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_term_exp_ui"
fq_nmod_mpoly_get_term_exp_ui :: Ptr CULong -> Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_term_exp_si"
fq_nmod_mpoly_get_term_exp_si :: Ptr CLong -> Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_term_var_exp_ui"
fq_nmod_mpoly_get_term_var_exp_ui :: Ptr CFqNModMPoly -> CLong -> CLong -> Ptr CFqNModMPolyCtx -> IO CULong
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_term_var_exp_si"
fq_nmod_mpoly_get_term_var_exp_si :: Ptr CFqNModMPoly -> CLong -> CLong -> Ptr CFqNModMPolyCtx -> IO CLong
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_set_term_exp_fmpz"
fq_nmod_mpoly_set_term_exp_fmpz :: Ptr CFqNModMPoly -> CLong -> Ptr (Ptr CFmpz) -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_set_term_exp_ui"
fq_nmod_mpoly_set_term_exp_ui :: Ptr CFqNModMPoly -> CLong -> Ptr CULong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_term"
fq_nmod_mpoly_get_term :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_get_term_monomial"
fq_nmod_mpoly_get_term_monomial :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_push_term_fq_nmod_fmpz"
fq_nmod_mpoly_push_term_fq_nmod_fmpz :: Ptr CFqNModMPoly -> Ptr CFqNMod -> Ptr (Ptr CFmpz) -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_push_term_fq_nmod_ui"
fq_nmod_mpoly_push_term_fq_nmod_ui :: Ptr CFqNModMPoly -> Ptr CFqNMod -> Ptr CULong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_sort_terms"
fq_nmod_mpoly_sort_terms :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_combine_like_terms"
fq_nmod_mpoly_combine_like_terms :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_reverse"
fq_nmod_mpoly_reverse :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_randtest_bound"
fq_nmod_mpoly_randtest_bound :: Ptr CFqNModMPoly -> Ptr CFRandState -> CLong -> CULong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_randtest_bounds"
fq_nmod_mpoly_randtest_bounds :: Ptr CFqNModMPoly -> Ptr CFRandState -> CLong -> CULong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_randtest_bits"
fq_nmod_mpoly_randtest_bits :: Ptr CFqNModMPoly -> Ptr CFRandState -> CLong -> CMpLimb -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_add_fq_nmod"
fq_nmod_mpoly_add_fq_nmod :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNMod -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_sub_fq_nmod"
fq_nmod_mpoly_sub_fq_nmod :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNMod -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_add"
fq_nmod_mpoly_add :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_sub"
fq_nmod_mpoly_sub :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_neg"
fq_nmod_mpoly_neg :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_scalar_mul_fq_nmod"
fq_nmod_mpoly_scalar_mul_fq_nmod :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNMod -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_make_monic"
fq_nmod_mpoly_make_monic :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_derivative"
fq_nmod_mpoly_derivative :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_evaluate_all_fq_nmod"
fq_nmod_mpoly_evaluate_all_fq_nmod :: Ptr CFqNMod -> Ptr CFqNModMPoly -> Ptr (Ptr (Ptr CFqNMod)) -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_evaluate_one_fq_nmod"
fq_nmod_mpoly_evaluate_one_fq_nmod :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> CLong -> Ptr CFqNMod -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_compose_fq_nmod_poly"
fq_nmod_mpoly_compose_fq_nmod_poly :: Ptr CFqNModPoly -> Ptr CFqNModMPoly -> Ptr (Ptr (Ptr CFqNModPoly)) -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_compose_fq_nmod_mpoly"
fq_nmod_mpoly_compose_fq_nmod_mpoly :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr (Ptr (Ptr CFqNModMPoly)) -> Ptr CFqNModMPolyCtx -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_compose_fq_nmod_mpoly_gen"
fq_nmod_mpoly_compose_fq_nmod_mpoly_gen :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CLong -> Ptr CFqNModMPolyCtx -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_mul"
fq_nmod_mpoly_mul :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_pow_fmpz"
fq_nmod_mpoly_pow_fmpz :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFmpz -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_pow_ui"
fq_nmod_mpoly_pow_ui :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> CULong -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_divides"
fq_nmod_mpoly_divides :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_div"
fq_nmod_mpoly_div :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_divrem"
fq_nmod_mpoly_divrem :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_divrem_ideal"
fq_nmod_mpoly_divrem_ideal :: Ptr (Ptr (Ptr CFqNModMPoly)) -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr (Ptr (Ptr CFqNModMPoly)) -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_term_content"
fq_nmod_mpoly_term_content :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_content_vars"
fq_nmod_mpoly_content_vars :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CLong -> CLong -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_gcd"
fq_nmod_mpoly_gcd :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_gcd_cofactors"
fq_nmod_mpoly_gcd_cofactors :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_gcd_brown"
fq_nmod_mpoly_gcd_brown :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_gcd_hensel"
fq_nmod_mpoly_gcd_hensel :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_gcd_zippel"
fq_nmod_mpoly_gcd_zippel :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_resultant"
fq_nmod_mpoly_resultant :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_discriminant"
fq_nmod_mpoly_discriminant :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_sqrt"
fq_nmod_mpoly_sqrt :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_is_square"
fq_nmod_mpoly_is_square :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_quadratic_root"
fq_nmod_mpoly_quadratic_root :: Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPoly -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_univar_init"
fq_nmod_mpoly_univar_init :: Ptr CFqNModMPolyUnivar -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_univar_clear"
fq_nmod_mpoly_univar_clear :: Ptr CFqNModMPolyUnivar -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h &fq_nmod_mpoly_univar_clear"
p_fq_nmod_mpoly_univar_clear :: FunPtr (Ptr CFqNModMPolyUnivar -> Ptr CFqNModMPolyCtx -> IO ())
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_univar_swap"
fq_nmod_mpoly_univar_swap :: Ptr CFqNModMPolyUnivar -> Ptr CFqNModMPolyUnivar -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_to_univar"
fq_nmod_mpoly_to_univar :: Ptr CFqNModMPolyUnivar -> Ptr CFqNModMPoly -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_from_univar"
fq_nmod_mpoly_from_univar :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyUnivar -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_univar_degree_fits_si"
fq_nmod_mpoly_univar_degree_fits_si :: Ptr CFqNModMPolyUnivar -> Ptr CFqNModMPolyCtx -> IO CInt
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_univar_length"
fq_nmod_mpoly_univar_length :: Ptr CFqNModMPolyUnivar -> Ptr CFqNModMPolyCtx -> IO CLong
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_univar_get_term_exp_si"
fq_nmod_mpoly_univar_get_term_exp_si :: Ptr CFqNModMPolyUnivar -> CLong -> Ptr CFqNModMPolyCtx -> IO CLong
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_univar_get_term_coeff"
fq_nmod_mpoly_univar_get_term_coeff :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyUnivar -> CLong -> Ptr CFqNModMPolyCtx -> IO ()
foreign import ccall "fq_nmod_mpoly.h fq_nmod_mpoly_univar_swap_term_coeff"
fq_nmod_mpoly_univar_swap_term_coeff :: Ptr CFqNModMPoly -> Ptr CFqNModMPolyUnivar -> CLong -> Ptr CFqNModMPolyCtx -> IO ()