packages feed

HROOT-hist-0.9: src/HROOT/Hist/TF1/Implementation.hs

{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,
  ForeignFunctionInterface, IncoherentInstances,
  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,
  TypeSynonymInstances #-}
module HROOT.Hist.TF1.Implementation where
import FFICXX.Runtime.Cast
import Data.Word
import Foreign.C
import Foreign.Ptr
import System.IO.Unsafe
import HROOT.Hist.TF1.RawType
import HROOT.Hist.TF1.FFI
import HROOT.Hist.TF1.Interface
import HROOT.Hist.TF1.Cast
import HROOT.Core.TObject.RawType
import HROOT.Core.TObject.Cast
import HROOT.Core.TObject.Interface
import HROOT.Hist.TH1.RawType
import HROOT.Hist.TH1.Cast
import HROOT.Hist.TH1.Interface
import HROOT.Hist.TAxis.RawType
import HROOT.Hist.TAxis.Cast
import HROOT.Hist.TAxis.Interface
import HROOT.Core.TAttLine.RawType
import HROOT.Core.TAttLine.Cast
import HROOT.Core.TAttLine.Interface
import HROOT.Core.TAttFill.RawType
import HROOT.Core.TAttFill.Cast
import HROOT.Core.TAttFill.Interface
import HROOT.Core.TAttMarker.RawType
import HROOT.Core.TAttMarker.Cast
import HROOT.Core.TAttMarker.Interface
import HROOT.Core.Deletable.RawType
import HROOT.Core.Deletable.Cast
import HROOT.Core.Deletable.Interface

instance ITF1 TF1 where
        derivative = xform3 c_tf1_derivative
        derivative2 = xform3 c_tf1_derivative2
        derivative3 = xform3 c_tf1_derivative3
        drawCopyTF1 = xform1 c_tf1_drawcopytf1
        drawDerivative = xform1 c_tf1_drawderivative
        drawIntegral = xform1 c_tf1_drawintegral
        fixParameter = xform2 c_tf1_fixparameter
        getMaximumTF1 = xform5 c_tf1_getmaximumtf1
        getMinimumTF1 = xform5 c_tf1_getminimumtf1
        getMaximumX = xform5 c_tf1_getmaximumx
        getMinimumX = xform5 c_tf1_getminimumx
        getNDF = xform0 c_tf1_getndf
        getNpx = xform0 c_tf1_getnpx
        getNumberFreeParameters = xform0 c_tf1_getnumberfreeparameters
        getNumberFitPoints = xform0 c_tf1_getnumberfitpoints
        getParError = xform1 c_tf1_getparerror
        getProb = xform0 c_tf1_getprob
        getQuantilesTF1 = xform3 c_tf1_getquantilestf1
        getRandomTF1 = xform2 c_tf1_getrandomtf1
        getSave = xform1 c_tf1_getsave
        getX = xform5 c_tf1_getx
        getXmin = xform0 c_tf1_getxmin
        getXmax = xform0 c_tf1_getxmax
        gradientPar = xform3 c_tf1_gradientpar
        initArgs = xform2 c_tf1_initargs
        integralTF1 = xform3 c_tf1_integraltf1
        integralError = xform5 c_tf1_integralerror
        integralFast = xform7 c_tf1_integralfast
        isInside = xform1 c_tf1_isinside
        releaseParameter = xform1 c_tf1_releaseparameter
        setChisquare = xform1 c_tf1_setchisquare
        setMaximumTF1 = xform1 c_tf1_setmaximumtf1
        setMinimumTF1 = xform1 c_tf1_setminimumtf1
        setNDF = xform1 c_tf1_setndf
        setNumberFitPoints = xform1 c_tf1_setnumberfitpoints
        setNpx = xform1 c_tf1_setnpx
        setParError = xform2 c_tf1_setparerror
        setParErrors = xform1 c_tf1_setparerrors
        setParLimits = xform3 c_tf1_setparlimits
        setParent = xform1 c_tf1_setparent
        setRange1 = xform2 c_tf1_setrange1
        setRange2 = xform4 c_tf1_setrange2
        setRange3 = xform6 c_tf1_setrange3
        setSavedPoint = xform2 c_tf1_setsavedpoint
        moment = xform5 c_tf1_moment
        centralMoment = xform5 c_tf1_centralmoment
        mean = xform4 c_tf1_mean
        variance = xform4 c_tf1_variance

instance ITAttLine TF1 where
        getLineColor = xform0 c_tf1_getlinecolor
        getLineStyle = xform0 c_tf1_getlinestyle
        getLineWidth = xform0 c_tf1_getlinewidth
        resetAttLine = xform1 c_tf1_resetattline
        setLineAttributes = xform0 c_tf1_setlineattributes
        setLineColor = xform1 c_tf1_setlinecolor
        setLineStyle = xform1 c_tf1_setlinestyle
        setLineWidth = xform1 c_tf1_setlinewidth

instance ITAttFill TF1 where
        setFillColor = xform1 c_tf1_setfillcolor
        setFillStyle = xform1 c_tf1_setfillstyle

instance ITAttMarker TF1 where
        getMarkerColor = xform0 c_tf1_getmarkercolor
        getMarkerStyle = xform0 c_tf1_getmarkerstyle
        getMarkerSize = xform0 c_tf1_getmarkersize
        resetAttMarker = xform1 c_tf1_resetattmarker
        setMarkerAttributes = xform0 c_tf1_setmarkerattributes
        setMarkerColor = xform1 c_tf1_setmarkercolor
        setMarkerStyle = xform1 c_tf1_setmarkerstyle
        setMarkerSize = xform1 c_tf1_setmarkersize

instance IDeletable TF1 where
        delete = xform0 c_tf1_delete

newTF1 ::
         (Castable c1 CString, Castable c0 CString) =>
         c0 -> c1 -> CDouble -> CDouble -> IO TF1
newTF1 = xform3 c_tf1_newtf1

tF1GetChisquare :: TF1 -> IO CDouble
tF1GetChisquare = xform0 c_tf1_tf1getchisquare

tF1GetHistogram :: TF1 -> IO TH1
tF1GetHistogram = xform0 c_tf1_tf1gethistogram

tF1GetParent :: TF1 -> IO TObject
tF1GetParent = xform0 c_tf1_tf1getparent

tF1GetXaxis :: TF1 -> IO TAxis
tF1GetXaxis = xform0 c_tf1_tf1getxaxis

tF1GetYaxis :: TF1 -> IO TAxis
tF1GetYaxis = xform0 c_tf1_tf1getyaxis

tF1GetZaxis :: TF1 -> IO TAxis
tF1GetZaxis = xform0 c_tf1_tf1getzaxis

tF1DerivativeError :: IO CDouble
tF1DerivativeError = xformnull c_tf1_tf1derivativeerror

tF1InitStandardFunctions :: IO ()
tF1InitStandardFunctions = xformnull c_tf1_tf1initstandardfunctions

tF1GetCurrent :: IO TF1
tF1GetCurrent = xformnull c_tf1_tf1getcurrent

tF1AbsValue :: CInt -> IO ()
tF1AbsValue = xform0 c_tf1_tf1absvalue

tF1RejectPoint :: CInt -> IO ()
tF1RejectPoint = xform0 c_tf1_tf1rejectpoint

tF1RejectedPoint :: IO CInt
tF1RejectedPoint = xformnull c_tf1_tf1rejectedpoint

tF1SetCurrent :: (ITF1 c0, FPtr c0) => c0 -> IO ()
tF1SetCurrent = xform0 c_tf1_tf1setcurrent

tF1CalcGaussLegendreSamplingPoints ::
                                     CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> IO ()
tF1CalcGaussLegendreSamplingPoints
  = xform3 c_tf1_tf1calcgausslegendresamplingpoints