module HROOT.Hist.TFormula.Interface where
import Data.Word
import Foreign.C
import Foreign.Ptr
import Foreign.ForeignPtr
import FFICXX.Runtime.Cast
import HROOT.Hist.TFormula.RawType
import HROOT.Core.TNamed.Interface
class (ITNamed a) => ITFormula a where
compile :: a -> CString -> IO CInt
clear :: a -> CString -> IO ()
definedValue :: a -> CInt -> IO CDouble
eval :: a -> CDouble -> CDouble -> CDouble -> CDouble -> IO CDouble
evalParOld :: a -> (Ptr CDouble) -> (Ptr CDouble) -> IO CDouble
evalPar :: a -> (Ptr CDouble) -> (Ptr CDouble) -> IO CDouble
getNdim :: a -> IO CInt
getNpar :: a -> IO CInt
getNumber :: a -> IO CInt
getParNumber :: a -> CString -> IO CInt
isLinear :: a -> IO CInt
isNormalized :: a -> IO CInt
setNumber :: a -> CInt -> IO ()
setParameter :: a -> CString -> CDouble -> IO ()
setParameters :: a -> (Ptr CDouble) -> IO ()
setParName :: a -> CInt -> CString -> IO ()
setParNames :: a -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> IO ()
update :: a -> IO ()
instance Existable TFormula where
data Exist TFormula = forall a. (FPtr a, ITFormula a) => ETFormula a
upcastTFormula :: (FPtr a, ITFormula a) => a -> TFormula
upcastTFormula h = let fh = get_fptr h
fh2 :: ForeignPtr RawTFormula = castForeignPtr fh
in cast_fptr_to_obj fh2
downcastTFormula :: (FPtr a, ITFormula a) => TFormula -> a
downcastTFormula h = let fh = get_fptr h
fh2 = castForeignPtr fh
in cast_fptr_to_obj fh2