{-# LINE 1 "src/Data/Number/Flint/Fq/Zech/Types/FFI.hsc" #-}
module Data.Number.Flint.Fq.Zech.Types.FFI where
import Foreign.Ptr
import Foreign.ForeignPtr
import Foreign.C.Types
import Data.Number.Flint.Flint
data FqZech = FqZech {-# UNPACK #-} !(ForeignPtr CFqZech)
type CFqZech = CFlint FqZech
data FqZechCtx = FqZechCtx {-# UNPACK #-} !(ForeignPtr CFqZechCtx)
type CFqZechCtx = CFlint FqZechCtx
data FqZechPoly = FqZechPoly {-# UNPACK #-} !(ForeignPtr CFqZechPoly)
type CFqZechPoly = CFlint FqZechPoly
data FqZechPolyFactor = FqZechPolyFactor {-# UNPACK #-} !(ForeignPtr CFqZechPolyFactor)
data CFqZechPolyFactor = CFqZechPolyFactor (Ptr CFqZechPoly) (Ptr CLong) CLong CLong
data FqZechMat = FqZechMat {-# UNPACK #-} !(ForeignPtr CFqZechMat)
data CFqZechMat = CFqZechMat (Ptr CFqZech) CLong CLong (Ptr (Ptr CFqZech))