module HROOT.Class.TFormula.Interface where
import Data.Word
import Foreign.ForeignPtr
import HROOT.TypeCast
import HROOT.Class.TFormula.RawType
import HROOT.Class.TNamed.Interface
class (ITNamed a) => ITFormula a where
compile :: a -> String -> IO Int
clear :: a -> String -> IO ()
definedValue :: a -> Int -> IO Double
eval :: a -> Double -> Double -> Double -> Double -> IO Double
evalParOld :: a -> [Double] -> [Double] -> IO Double
evalPar :: a -> [Double] -> [Double] -> IO Double
getNdim :: a -> IO Int
getNpar :: a -> IO Int
getNumber :: a -> IO Int
getParNumber :: a -> String -> IO Int
isLinear :: a -> IO Int
isNormalized :: a -> IO Int
setNumber :: a -> Int -> IO ()
setParameter :: a -> String -> Double -> IO ()
setParameters :: a -> [Double] -> IO ()
setParName :: a -> Int -> String -> IO ()
setParNames :: a -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> String -> 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