HROOT-hist 0.9.0.1 → 0.10.0.1
raw patch · 243 files changed
+14415/−11294 lines, 243 filesdep +stdcxxdep ~HROOT-coredep ~fficxxdep ~fficxx-runtimesetup-changed
Dependencies added: stdcxx
Dependency ranges changed: HROOT-core, fficxx, fficxx-runtime
Files
- CHANGES +60/−0
- Config.hs +0/−85
- HROOT-hist.cabal +108/−83
- LICENSE +0/−502
- Setup.hs +27/−0
- Setup.lhs +0/−33
- csrc/HROOT-histType.h +65/−179
- csrc/HROOTHistTAxis.cpp +14/−9
- csrc/HROOTHistTAxis.h +105/−64
- csrc/HROOTHistTF1.cpp +16/−9
- csrc/HROOTHistTF1.h +272/−266
- csrc/HROOTHistTFitResult.cpp +11/−9
- csrc/HROOTHistTFitResult.h +24/−16
- csrc/HROOTHistTFitResultPtr.cpp +11/−9
- csrc/HROOTHistTFitResultPtr.h +19/−17
- csrc/HROOTHistTGraph.cpp +17/−9
- csrc/HROOTHistTGraph.h +206/−198
- csrc/HROOTHistTGraph2D.cpp +36/−0
- csrc/HROOTHistTGraph2D.h +102/−0
- csrc/HROOTHistTGraphAsymmErrors.cpp +11/−9
- csrc/HROOTHistTGraphAsymmErrors.h +36/−25
- csrc/HROOTHistTGraphBentErrors.cpp +11/−9
- csrc/HROOTHistTGraphBentErrors.h +35/−26
- csrc/HROOTHistTGraphErrors.cpp +11/−9
- csrc/HROOTHistTGraphErrors.h +36/−25
- csrc/HROOTHistTH1.cpp +19/−9
- csrc/HROOTHistTH1.h +767/−763
- csrc/HROOTHistTH1C.cpp +12/−9
- csrc/HROOTHistTH1C.h +36/−22
- csrc/HROOTHistTH1D.cpp +12/−9
- csrc/HROOTHistTH1D.h +40/−28
- csrc/HROOTHistTH1F.cpp +12/−9
- csrc/HROOTHistTH1F.h +40/−28
- csrc/HROOTHistTH1I.cpp +12/−9
- csrc/HROOTHistTH1I.h +36/−22
- csrc/HROOTHistTH1K.cpp +12/−9
- csrc/HROOTHistTH1K.h +36/−22
- csrc/HROOTHistTH1S.cpp +12/−9
- csrc/HROOTHistTH1S.h +36/−22
- csrc/HROOTHistTH2.cpp +15/−9
- csrc/HROOTHistTH2.h +104/−94
- csrc/HROOTHistTH2C.cpp +13/−9
- csrc/HROOTHistTH2C.h +38/−23
- csrc/HROOTHistTH2D.cpp +13/−9
- csrc/HROOTHistTH2D.h +42/−29
- csrc/HROOTHistTH2F.cpp +13/−9
- csrc/HROOTHistTH2F.h +42/−29
- csrc/HROOTHistTH2I.cpp +13/−9
- csrc/HROOTHistTH2I.h +38/−23
- csrc/HROOTHistTH2Poly.cpp +35/−8
- csrc/HROOTHistTH2Poly.h +44/−21
- csrc/HROOTHistTH2S.cpp +13/−9
- csrc/HROOTHistTH2S.h +38/−23
- csrc/HROOTHistTH3.cpp +16/−9
- csrc/HROOTHistTH3.h +86/−75
- csrc/HROOTHistTH3C.cpp +14/−9
- csrc/HROOTHistTH3C.h +40/−24
- csrc/HROOTHistTH3D.cpp +14/−9
- csrc/HROOTHistTH3D.h +40/−24
- csrc/HROOTHistTH3F.cpp +14/−9
- csrc/HROOTHistTH3F.h +40/−24
- csrc/HROOTHistTH3I.cpp +14/−9
- csrc/HROOTHistTH3I.h +40/−24
- csrc/HROOTHistTH3S.cpp +14/−9
- csrc/HROOTHistTH3S.h +40/−24
- csrc/HROOTHistTHStack.cpp +11/−9
- csrc/HROOTHistTHStack.h +28/−22
- csrc/HROOTHistTMultiGraph.cpp +27/−0
- csrc/HROOTHistTMultiGraph.h +58/−0
- src/HROOT/Hist.hs +27/−36
- src/HROOT/Hist/Ordinary.hs +6/−0
- src/HROOT/Hist/TAxis.hs +3/−1
- src/HROOT/Hist/TAxis/Cast.hs +2/−2
- src/HROOT/Hist/TAxis/FFI.hsc +152/−83
- src/HROOT/Hist/TAxis/Implementation.hs +49/−16
- src/HROOT/Hist/TAxis/Interface.hs +12/−8
- src/HROOT/Hist/TAxis/Interface.hs-boot +0/−3
- src/HROOT/Hist/TAxis/RawType.hs +2/−2
- src/HROOT/Hist/TF1.hs +5/−5
- src/HROOT/Hist/TF1/Cast.hs +2/−2
- src/HROOT/Hist/TF1/FFI.hsc +210/−165
- src/HROOT/Hist/TF1/Implementation.hs +51/−41
- src/HROOT/Hist/TF1/Interface.hs +67/−49
- src/HROOT/Hist/TF1/Interface.hs-boot +0/−3
- src/HROOT/Hist/TF1/RawType.hs +2/−2
- src/HROOT/Hist/TFitResult/Cast.hs +3/−2
- src/HROOT/Hist/TFitResult/FFI.hsc +34/−19
- src/HROOT/Hist/TFitResult/Implementation.hs +21/−10
- src/HROOT/Hist/TFitResult/Interface.hs +2/−1
- src/HROOT/Hist/TFitResult/RawType.hs +2/−2
- src/HROOT/Hist/TFitResultPtr.hs +1/−1
- src/HROOT/Hist/TFitResultPtr/Cast.hs +5/−3
- src/HROOT/Hist/TFitResultPtr/FFI.hsc +7/−4
- src/HROOT/Hist/TFitResultPtr/Implementation.hs +15/−6
- src/HROOT/Hist/TFitResultPtr/Interface.hs +2/−2
- src/HROOT/Hist/TFitResultPtr/RawType.hs +2/−2
- src/HROOT/Hist/TGraph.hs +4/−4
- src/HROOT/Hist/TGraph/Cast.hs +2/−2
- src/HROOT/Hist/TGraph/FFI.hsc +206/−152
- src/HROOT/Hist/TGraph/Implementation.hs +52/−40
- src/HROOT/Hist/TGraph/Interface.hs +32/−34
- src/HROOT/Hist/TGraph/RawType.hs +2/−2
- src/HROOT/Hist/TGraph2D.hs +8/−0
- src/HROOT/Hist/TGraph2D/Cast.hs +18/−0
- src/HROOT/Hist/TGraph2D/FFI.hsc +183/−0
- src/HROOT/Hist/TGraph2D/Implementation.hs +118/−0
- src/HROOT/Hist/TGraph2D/Interface.hs +35/−0
- src/HROOT/Hist/TGraph2D/RawType.hs +16/−0
- src/HROOT/Hist/TGraphAsymmErrors.hs +1/−1
- src/HROOT/Hist/TGraphAsymmErrors/Cast.hs +5/−3
- src/HROOT/Hist/TGraphAsymmErrors/FFI.hsc +103/−85
- src/HROOT/Hist/TGraphAsymmErrors/Implementation.hs +31/−19
- src/HROOT/Hist/TGraphAsymmErrors/Interface.hs +5/−1
- src/HROOT/Hist/TGraphAsymmErrors/RawType.hs +2/−2
- src/HROOT/Hist/TGraphBentErrors/Cast.hs +6/−3
- src/HROOT/Hist/TGraphBentErrors/FFI.hsc +102/−89
- src/HROOT/Hist/TGraphBentErrors/Implementation.hs +35/−23
- src/HROOT/Hist/TGraphBentErrors/Interface.hs +2/−1
- src/HROOT/Hist/TGraphBentErrors/RawType.hs +2/−2
- src/HROOT/Hist/TGraphErrors.hs +1/−1
- src/HROOT/Hist/TGraphErrors/Cast.hs +4/−3
- src/HROOT/Hist/TGraphErrors/FFI.hsc +102/−83
- src/HROOT/Hist/TGraphErrors/Implementation.hs +29/−16
- src/HROOT/Hist/TGraphErrors/Interface.hs +3/−1
- src/HROOT/Hist/TGraphErrors/RawType.hs +2/−2
- src/HROOT/Hist/TH.hs +12/−0
- src/HROOT/Hist/TH1.hs +6/−6
- src/HROOT/Hist/TH1/Cast.hs +2/−2
- src/HROOT/Hist/TH1/FFI.hsc +407/−320
- src/HROOT/Hist/TH1/Implementation.hs +60/−44
- src/HROOT/Hist/TH1/Interface.hs +126/−128
- src/HROOT/Hist/TH1/RawType.hs +2/−2
- src/HROOT/Hist/TH1C/Cast.hs +2/−2
- src/HROOT/Hist/TH1C/FFI.hsc +392/−303
- src/HROOT/Hist/TH1C/Implementation.hs +30/−20
- src/HROOT/Hist/TH1C/Interface.hs +2/−1
- src/HROOT/Hist/TH1C/RawType.hs +2/−2
- src/HROOT/Hist/TH1D/Cast.hs +2/−2
- src/HROOT/Hist/TH1D/FFI.hsc +393/−304
- src/HROOT/Hist/TH1D/Implementation.hs +30/−20
- src/HROOT/Hist/TH1D/Interface.hs +2/−1
- src/HROOT/Hist/TH1D/RawType.hs +2/−2
- src/HROOT/Hist/TH1F/Cast.hs +2/−2
- src/HROOT/Hist/TH1F/FFI.hsc +393/−304
- src/HROOT/Hist/TH1F/Implementation.hs +30/−20
- src/HROOT/Hist/TH1F/Interface.hs +2/−1
- src/HROOT/Hist/TH1F/Interface.hs-boot +0/−3
- src/HROOT/Hist/TH1F/RawType.hs +2/−2
- src/HROOT/Hist/TH1I/Cast.hs +2/−2
- src/HROOT/Hist/TH1I/FFI.hsc +392/−303
- src/HROOT/Hist/TH1I/Implementation.hs +30/−20
- src/HROOT/Hist/TH1I/Interface.hs +2/−1
- src/HROOT/Hist/TH1I/RawType.hs +2/−2
- src/HROOT/Hist/TH1K/Cast.hs +2/−2
- src/HROOT/Hist/TH1K/FFI.hsc +392/−303
- src/HROOT/Hist/TH1K/Implementation.hs +30/−20
- src/HROOT/Hist/TH1K/Interface.hs +2/−1
- src/HROOT/Hist/TH1K/RawType.hs +2/−2
- src/HROOT/Hist/TH1S/Cast.hs +2/−2
- src/HROOT/Hist/TH1S/FFI.hsc +392/−303
- src/HROOT/Hist/TH1S/Implementation.hs +30/−20
- src/HROOT/Hist/TH1S/Interface.hs +2/−1
- src/HROOT/Hist/TH1S/RawType.hs +2/−2
- src/HROOT/Hist/TH2.hs +2/−2
- src/HROOT/Hist/TH2/Cast.hs +2/−2
- src/HROOT/Hist/TH2/FFI.hsc +394/−325
- src/HROOT/Hist/TH2/Implementation.hs +33/−26
- src/HROOT/Hist/TH2/Interface.hs +18/−17
- src/HROOT/Hist/TH2/RawType.hs +2/−2
- src/HROOT/Hist/TH2C/Cast.hs +2/−2
- src/HROOT/Hist/TH2C/FFI.hsc +424/−332
- src/HROOT/Hist/TH2C/Implementation.hs +31/−21
- src/HROOT/Hist/TH2C/Interface.hs +2/−1
- src/HROOT/Hist/TH2C/RawType.hs +2/−2
- src/HROOT/Hist/TH2D/Cast.hs +2/−2
- src/HROOT/Hist/TH2D/FFI.hsc +425/−333
- src/HROOT/Hist/TH2D/Implementation.hs +31/−21
- src/HROOT/Hist/TH2D/Interface.hs +2/−1
- src/HROOT/Hist/TH2D/RawType.hs +2/−2
- src/HROOT/Hist/TH2F/Cast.hs +2/−2
- src/HROOT/Hist/TH2F/FFI.hsc +425/−333
- src/HROOT/Hist/TH2F/Implementation.hs +31/−21
- src/HROOT/Hist/TH2F/Interface.hs +2/−1
- src/HROOT/Hist/TH2F/RawType.hs +2/−2
- src/HROOT/Hist/TH2I/Cast.hs +2/−2
- src/HROOT/Hist/TH2I/FFI.hsc +424/−332
- src/HROOT/Hist/TH2I/Implementation.hs +31/−21
- src/HROOT/Hist/TH2I/Interface.hs +2/−1
- src/HROOT/Hist/TH2I/RawType.hs +2/−2
- src/HROOT/Hist/TH2Poly.hs +3/−1
- src/HROOT/Hist/TH2Poly/Cast.hs +3/−2
- src/HROOT/Hist/TH2Poly/FFI.hsc +400/−329
- src/HROOT/Hist/TH2Poly/Implementation.hs +33/−19
- src/HROOT/Hist/TH2Poly/Interface.hs +6/−1
- src/HROOT/Hist/TH2Poly/RawType.hs +2/−2
- src/HROOT/Hist/TH2S/Cast.hs +2/−2
- src/HROOT/Hist/TH2S/FFI.hsc +424/−332
- src/HROOT/Hist/TH2S/Implementation.hs +31/−21
- src/HROOT/Hist/TH2S/Interface.hs +2/−1
- src/HROOT/Hist/TH2S/RawType.hs +2/−2
- src/HROOT/Hist/TH3.hs +2/−2
- src/HROOT/Hist/TH3/Cast.hs +2/−2
- src/HROOT/Hist/TH3/FFI.hsc +382/−314
- src/HROOT/Hist/TH3/Implementation.hs +40/−33
- src/HROOT/Hist/TH3/Interface.hs +11/−11
- src/HROOT/Hist/TH3/RawType.hs +2/−2
- src/HROOT/Hist/TH3C/Cast.hs +2/−2
- src/HROOT/Hist/TH3C/FFI.hsc +406/−315
- src/HROOT/Hist/TH3C/Implementation.hs +32/−22
- src/HROOT/Hist/TH3C/Interface.hs +2/−1
- src/HROOT/Hist/TH3C/RawType.hs +2/−2
- src/HROOT/Hist/TH3D/Cast.hs +2/−2
- src/HROOT/Hist/TH3D/FFI.hsc +406/−315
- src/HROOT/Hist/TH3D/Implementation.hs +32/−22
- src/HROOT/Hist/TH3D/Interface.hs +2/−1
- src/HROOT/Hist/TH3D/RawType.hs +2/−2
- src/HROOT/Hist/TH3F/Cast.hs +2/−2
- src/HROOT/Hist/TH3F/FFI.hsc +406/−315
- src/HROOT/Hist/TH3F/Implementation.hs +32/−22
- src/HROOT/Hist/TH3F/Interface.hs +2/−1
- src/HROOT/Hist/TH3F/RawType.hs +2/−2
- src/HROOT/Hist/TH3I/Cast.hs +2/−2
- src/HROOT/Hist/TH3I/FFI.hsc +406/−315
- src/HROOT/Hist/TH3I/Implementation.hs +32/−22
- src/HROOT/Hist/TH3I/Interface.hs +2/−1
- src/HROOT/Hist/TH3I/RawType.hs +2/−2
- src/HROOT/Hist/TH3S/Cast.hs +2/−2
- src/HROOT/Hist/TH3S/FFI.hsc +406/−315
- src/HROOT/Hist/TH3S/Implementation.hs +32/−22
- src/HROOT/Hist/TH3S/Interface.hs +2/−1
- src/HROOT/Hist/TH3S/RawType.hs +2/−2
- src/HROOT/Hist/THStack/Cast.hs +3/−2
- src/HROOT/Hist/THStack/FFI.hsc +46/−26
- src/HROOT/Hist/THStack/Implementation.hs +21/−10
- src/HROOT/Hist/THStack/Interface.hs +2/−1
- src/HROOT/Hist/THStack/RawType.hs +2/−2
- src/HROOT/Hist/TMultiGraph.hs +7/−0
- src/HROOT/Hist/TMultiGraph/Cast.hs +19/−0
- src/HROOT/Hist/TMultiGraph/FFI.hsc +78/−0
- src/HROOT/Hist/TMultiGraph/Implementation.hs +66/−0
- src/HROOT/Hist/TMultiGraph/Interface.hs +32/−0
- src/HROOT/Hist/TMultiGraph/RawType.hs +16/−0
- src/HROOT/Hist/Template.hs +7/−0
+ CHANGES view
@@ -0,0 +1,60 @@+# Changelog for HROOT++## 0.10.0.1+- Use hackage-version of fficxx (#18)+- Generate docs in CI (#17)+- Update flake.nix with recent fficxx and ormolu format (#16)+- Update fficxx to support GHC 9.4 (#15)+- Add TMutex and test multithreading with GUI (#12)+- HROOT now uses common stdcxx (#11)+- idealized gas simulation (#10)+- Add TMarker and Range. Test 2D graphics using gas example (#9)+- HROOT generation and packing via nix (#8)+- Revive umbrella package generation (#7)+- Static files (Config.hs, Setup.lhs) and custom-setup dependency (#6)+- Modernize HROOT with fficxx 0.5.1 (#5)++## 0.9.0.1++## 0.9+- HROOT-tree+- HROOT only support ROOT > 6++## 0.8+- separate packages into HROOT-core, HROOT-hist, HROOT-io, HROOT-math, HROOT-graf and HROOT is now an umbrella package++## 0.7+- separate all class interfaces and implementation in different modules+- overhaul Existential++## 0.7.1+- support for static methods+- add TROOT++## 0.6.9+- implement almost all class methods of TLine, TAttLine, TAttMarker, TAttText and TAttPad++## 0.6.8+- implement almost all class methods of TH2, TH3, TFormula, TF1 and TGraph++## 0.6.7+- implement almost all TH1 class methods++## 0.6.6+- do not need OverlappingInstances, IncoherentInstances, UndecidableInstances++## 0.6.4+- add many TH2 class methods++## 0.6.3+- Implement Existential Types++## 0.6+- implement Deletable. delete method for every object+- refactor HROOT generated file names (Interface.hs, Implementation.hs, FFI.hs)++## 0.5.1+- support for delete++## 0.5.0+- initial preview release
− Config.hs
@@ -1,85 +0,0 @@-{-# LANGUAGE ScopedTypeVariables #-}--module Config where- -import Distribution.Simple-import Distribution.Simple.Setup-import Distribution.PackageDescription-import Distribution.Simple.LocalBuildInfo--import System.Exit-import System.Process--config :: LocalBuildInfo -> IO (Maybe HookedBuildInfo)-config bInfo = do - (excode, out, err) <- readProcessWithExitCode "root-config" ["--glibs"] ""- liboptset' <- case excode of - ExitSuccess -> do - return . Just . mkLibraryOptionSet . words $ out- _ -> do - putStrLn $ "root-config failure but I am installing HROOT without ROOT. It will not work. This is only for documentation." - return Nothing - (excode2,out2,err2) <- readProcessWithExitCode "root-config" ["--incdir"] ""- incdir' <- case excode2 of - ExitSuccess -> do - return . Just . head . words $ out2- _ -> do - putStrLn $ "root-config failure but I am installing HROOT without ROOT. It will not work. This is only for documentation." - return Nothing- let Just lib = library . localPkgDescr $ bInfo- buildinfo = libBuildInfo lib- let (r :: Maybe HookedBuildInfo) = case liboptset' of - Nothing -> Nothing- Just liboptset -> - case incdir' of - Nothing -> Nothing - Just incdir -> - let hbi = emptyBuildInfo { extraLibs = extraLibs buildinfo - ++ libs liboptset- , extraLibDirs = libdirs liboptset - , includeDirs = incdir : includeDirs buildinfo- }- in Just (Just hbi, []) - return r ---data LibraryOptionSet = LibraryOptionSet { - libs :: [String], - libdirs :: [String], - libopts :: [String]-} deriving Show--data LibraryOption = Lib String - | Dir String- | Opt String - deriving Show--mkLibraryOptionSet :: [String] -> LibraryOptionSet-mkLibraryOptionSet strs = let opts = libraryOptions strs- in foldr f (LibraryOptionSet [] [] []) opts - where f x (LibraryOptionSet l d o) = case x of- Lib st -> LibraryOptionSet (st:l) d o - Dir st -> LibraryOptionSet l (st:d) o - Opt st -> LibraryOptionSet l d (st:o) --libraryOptions :: [String] -> [LibraryOption] -- LibraryOptionSet -libraryOptions = map f - where f x = let r = parseLibraryOptionClassifier x- in case r of - Left msg -> error (show msg)- Right result -> result---parseLibraryOptionClassifier :: String -> Either String LibraryOption -parseLibraryOptionClassifier [] = Left "empty option"-parseLibraryOptionClassifier str@(x:xs) = - case x of- '-' -> if null xs - then Left "parse error"- else let (y:ys) = xs- in case y of- 'L' -> Right (Dir ys)- 'l' -> Right (Lib ys)- _ -> Right (Opt str)- _ -> Right (Opt str) -
HROOT-hist.cabal view
@@ -1,94 +1,107 @@-Name: HROOT-hist-Version: 0.9.0.1-Synopsis: Haskell binding to ROOT Hist modules-Description: HROOT is a haskell Foreign Function Interface (FFI) binding to ROOT. ROOT(http://root.cern.ch) is an object-oriented program and library developed by CERN for physics data analysis.-Homepage: http://ianwookim.org/HROOT-license: LGPL-2.1-license-file: LICENSE-Author: Ian-Woo Kim-Maintainer: Ian-Woo Kim <ianwookim@gmail.com>-Category: Graphics, Statistics, Math, Numerical-Tested-with: GHC >= 7.6-Build-Type: Custom-cabal-version: >=1.10+Cabal-version: 3.0+Name: HROOT-hist+Version: 0.10.0.1+Synopsis: Haskell binding to ROOT Hist modules+Description:+ HROOT is a haskell Foreign Function Interface (FFI) binding to ROOT.+ ROOT(http://root.cern.ch) is an object-oriented program and library+ developed by CERN for physics data analysis.+Homepage: https://wavewave.github.io/HROOT+license: LGPL-2.1-or-later+license-file: LICENSE+Author: Ian-Woo Kim+Maintainer: Ian-Woo Kim <ianwookim@gmail.com>+Category: Graphics, Statistics, Math, Numerical+Tested-with: GHC == 9.0.2 || == 9.2.4 || == 9.4.2 Extra-source-files:- Config.hs- csrc/HROOTHistTAxis.h- csrc/HROOTHistTF1.h- csrc/HROOTHistTFitResult.h- csrc/HROOTHistTFitResultPtr.h- csrc/HROOTHistTGraph.h- csrc/HROOTHistTGraphAsymmErrors.h- csrc/HROOTHistTGraphBentErrors.h- csrc/HROOTHistTGraphErrors.h- csrc/HROOTHistTH1.h- csrc/HROOTHistTH1C.h- csrc/HROOTHistTH1D.h- csrc/HROOTHistTH1F.h- csrc/HROOTHistTH1I.h- csrc/HROOTHistTH1K.h- csrc/HROOTHistTH1S.h- csrc/HROOTHistTH2.h- csrc/HROOTHistTH2C.h- csrc/HROOTHistTH2D.h- csrc/HROOTHistTH2F.h- csrc/HROOTHistTH2I.h- csrc/HROOTHistTH2Poly.h- csrc/HROOTHistTH2S.h- csrc/HROOTHistTH3.h- csrc/HROOTHistTH3C.h- csrc/HROOTHistTH3D.h- csrc/HROOTHistTH3F.h- csrc/HROOTHistTH3I.h- csrc/HROOTHistTH3S.h- csrc/HROOTHistTHStack.h- csrc/HROOTHistTAxis.cpp- csrc/HROOTHistTF1.cpp- csrc/HROOTHistTFitResult.cpp- csrc/HROOTHistTFitResultPtr.cpp- csrc/HROOTHistTGraph.cpp- csrc/HROOTHistTGraphAsymmErrors.cpp- csrc/HROOTHistTGraphBentErrors.cpp- csrc/HROOTHistTGraphErrors.cpp- csrc/HROOTHistTH1.cpp- csrc/HROOTHistTH1C.cpp- csrc/HROOTHistTH1D.cpp- csrc/HROOTHistTH1F.cpp- csrc/HROOTHistTH1I.cpp- csrc/HROOTHistTH1K.cpp- csrc/HROOTHistTH1S.cpp- csrc/HROOTHistTH2.cpp- csrc/HROOTHistTH2C.cpp- csrc/HROOTHistTH2D.cpp- csrc/HROOTHistTH2F.cpp- csrc/HROOTHistTH2I.cpp- csrc/HROOTHistTH2Poly.cpp- csrc/HROOTHistTH2S.cpp- csrc/HROOTHistTH3.cpp- csrc/HROOTHistTH3C.cpp- csrc/HROOTHistTH3D.cpp- csrc/HROOTHistTH3F.cpp- csrc/HROOTHistTH3I.cpp- csrc/HROOTHistTH3S.cpp- csrc/HROOTHistTHStack.cpp--+ CHANGES+ csrc/HROOTHistTAxis.h+ csrc/HROOTHistTF1.h+ csrc/HROOTHistTFitResult.h+ csrc/HROOTHistTFitResultPtr.h+ csrc/HROOTHistTGraph.h+ csrc/HROOTHistTGraph2D.h+ csrc/HROOTHistTGraphAsymmErrors.h+ csrc/HROOTHistTGraphBentErrors.h+ csrc/HROOTHistTGraphErrors.h+ csrc/HROOTHistTH1.h+ csrc/HROOTHistTH1C.h+ csrc/HROOTHistTH1D.h+ csrc/HROOTHistTH1F.h+ csrc/HROOTHistTH1I.h+ csrc/HROOTHistTH1K.h+ csrc/HROOTHistTH1S.h+ csrc/HROOTHistTH2.h+ csrc/HROOTHistTH2C.h+ csrc/HROOTHistTH2D.h+ csrc/HROOTHistTH2F.h+ csrc/HROOTHistTH2I.h+ csrc/HROOTHistTH2Poly.h+ csrc/HROOTHistTH2S.h+ csrc/HROOTHistTH3.h+ csrc/HROOTHistTH3C.h+ csrc/HROOTHistTH3D.h+ csrc/HROOTHistTH3F.h+ csrc/HROOTHistTH3I.h+ csrc/HROOTHistTH3S.h+ csrc/HROOTHistTHStack.h+ csrc/HROOTHistTMultiGraph.h+ csrc/HROOTHistTAxis.cpp+ csrc/HROOTHistTF1.cpp+ csrc/HROOTHistTFitResult.cpp+ csrc/HROOTHistTFitResultPtr.cpp+ csrc/HROOTHistTGraph.cpp+ csrc/HROOTHistTGraph2D.cpp+ csrc/HROOTHistTGraphAsymmErrors.cpp+ csrc/HROOTHistTGraphBentErrors.cpp+ csrc/HROOTHistTGraphErrors.cpp+ csrc/HROOTHistTH1.cpp+ csrc/HROOTHistTH1C.cpp+ csrc/HROOTHistTH1D.cpp+ csrc/HROOTHistTH1F.cpp+ csrc/HROOTHistTH1I.cpp+ csrc/HROOTHistTH1K.cpp+ csrc/HROOTHistTH1S.cpp+ csrc/HROOTHistTH2.cpp+ csrc/HROOTHistTH2C.cpp+ csrc/HROOTHistTH2D.cpp+ csrc/HROOTHistTH2F.cpp+ csrc/HROOTHistTH2I.cpp+ csrc/HROOTHistTH2Poly.cpp+ csrc/HROOTHistTH2S.cpp+ csrc/HROOTHistTH3.cpp+ csrc/HROOTHistTH3C.cpp+ csrc/HROOTHistTH3D.cpp+ csrc/HROOTHistTH3F.cpp+ csrc/HROOTHistTH3I.cpp+ csrc/HROOTHistTH3S.cpp+ csrc/HROOTHistTHStack.cpp+ csrc/HROOTHistTMultiGraph.cpp+Build-Type: Custom+custom-setup+ setup-depends: Cabal < 4, base > 4 && < 5, process +Source-repository head+ type: git+ location: https://github.com/wavewave/HROOT Library default-language: Haskell2010 hs-source-dirs: src ghc-options: -Wall -funbox-strict-fields -fno-warn-unused-do-bind -fno-warn-orphans -fno-warn-unused-imports- ghc-prof-options: -caf-all -auto-all- cc-options: -std=c++14- Build-Depends: base>4 && < 5, fficxx >= 0.3, fficxx-runtime >= 0.3, template-haskell,HROOT-core+ cxx-options: -std=c++17+ Build-Depends: base > 4 && < 5, fficxx >= 0.7, fficxx-runtime >= 0.7, template-haskell, stdcxx, HROOT-core == 0.10.0.1 Exposed-Modules: HROOT.Hist+ HROOT.Hist.Ordinary+ HROOT.Hist.Template+ HROOT.Hist.TH HROOT.Hist.TAxis HROOT.Hist.TF1 HROOT.Hist.TFitResult HROOT.Hist.TFitResultPtr HROOT.Hist.TGraph+ HROOT.Hist.TGraph2D HROOT.Hist.TGraphAsymmErrors HROOT.Hist.TGraphBentErrors HROOT.Hist.TGraphErrors@@ -113,11 +126,13 @@ HROOT.Hist.TH3I HROOT.Hist.TH3S HROOT.Hist.THStack+ HROOT.Hist.TMultiGraph HROOT.Hist.TAxis.RawType HROOT.Hist.TF1.RawType HROOT.Hist.TFitResult.RawType HROOT.Hist.TFitResultPtr.RawType HROOT.Hist.TGraph.RawType+ HROOT.Hist.TGraph2D.RawType HROOT.Hist.TGraphAsymmErrors.RawType HROOT.Hist.TGraphBentErrors.RawType HROOT.Hist.TGraphErrors.RawType@@ -142,11 +157,13 @@ HROOT.Hist.TH3I.RawType HROOT.Hist.TH3S.RawType HROOT.Hist.THStack.RawType+ HROOT.Hist.TMultiGraph.RawType HROOT.Hist.TAxis.FFI HROOT.Hist.TF1.FFI HROOT.Hist.TFitResult.FFI HROOT.Hist.TFitResultPtr.FFI HROOT.Hist.TGraph.FFI+ HROOT.Hist.TGraph2D.FFI HROOT.Hist.TGraphAsymmErrors.FFI HROOT.Hist.TGraphBentErrors.FFI HROOT.Hist.TGraphErrors.FFI@@ -171,11 +188,13 @@ HROOT.Hist.TH3I.FFI HROOT.Hist.TH3S.FFI HROOT.Hist.THStack.FFI+ HROOT.Hist.TMultiGraph.FFI HROOT.Hist.TAxis.Interface HROOT.Hist.TF1.Interface HROOT.Hist.TFitResult.Interface HROOT.Hist.TFitResultPtr.Interface HROOT.Hist.TGraph.Interface+ HROOT.Hist.TGraph2D.Interface HROOT.Hist.TGraphAsymmErrors.Interface HROOT.Hist.TGraphBentErrors.Interface HROOT.Hist.TGraphErrors.Interface@@ -200,11 +219,13 @@ HROOT.Hist.TH3I.Interface HROOT.Hist.TH3S.Interface HROOT.Hist.THStack.Interface+ HROOT.Hist.TMultiGraph.Interface HROOT.Hist.TAxis.Cast HROOT.Hist.TF1.Cast HROOT.Hist.TFitResult.Cast HROOT.Hist.TFitResultPtr.Cast HROOT.Hist.TGraph.Cast+ HROOT.Hist.TGraph2D.Cast HROOT.Hist.TGraphAsymmErrors.Cast HROOT.Hist.TGraphBentErrors.Cast HROOT.Hist.TGraphErrors.Cast@@ -229,11 +250,13 @@ HROOT.Hist.TH3I.Cast HROOT.Hist.TH3S.Cast HROOT.Hist.THStack.Cast+ HROOT.Hist.TMultiGraph.Cast HROOT.Hist.TAxis.Implementation HROOT.Hist.TF1.Implementation HROOT.Hist.TFitResult.Implementation HROOT.Hist.TFitResultPtr.Implementation HROOT.Hist.TGraph.Implementation+ HROOT.Hist.TGraph2D.Implementation HROOT.Hist.TGraphAsymmErrors.Implementation HROOT.Hist.TGraphBentErrors.Implementation HROOT.Hist.TGraphErrors.Implementation@@ -258,12 +281,12 @@ HROOT.Hist.TH3I.Implementation HROOT.Hist.TH3S.Implementation HROOT.Hist.THStack.Implementation-+ HROOT.Hist.TMultiGraph.Implementation Other-Modules:- extra-lib-dirs: - extra-libraries: stdc++ + extra-libraries: Include-dirs: csrc + pkgconfig-depends: Install-includes: HROOT-histType.h HROOTHistTAxis.h@@ -271,6 +294,7 @@ HROOTHistTFitResult.h HROOTHistTFitResultPtr.h HROOTHistTGraph.h+ HROOTHistTGraph2D.h HROOTHistTGraphAsymmErrors.h HROOTHistTGraphBentErrors.h HROOTHistTGraphErrors.h@@ -295,13 +319,14 @@ HROOTHistTH3I.h HROOTHistTH3S.h HROOTHistTHStack.h-- C-sources:+ HROOTHistTMultiGraph.h+ Cxx-sources: csrc/HROOTHistTAxis.cpp csrc/HROOTHistTF1.cpp csrc/HROOTHistTFitResult.cpp csrc/HROOTHistTFitResultPtr.cpp csrc/HROOTHistTGraph.cpp+ csrc/HROOTHistTGraph2D.cpp csrc/HROOTHistTGraphAsymmErrors.cpp csrc/HROOTHistTGraphBentErrors.cpp csrc/HROOTHistTGraphErrors.cpp@@ -326,5 +351,5 @@ csrc/HROOTHistTH3I.cpp csrc/HROOTHistTH3S.cpp csrc/HROOTHistTHStack.cpp-+ csrc/HROOTHistTMultiGraph.cpp
LICENSE view
@@ -1,502 +0,0 @@- GNU LESSER GENERAL PUBLIC LICENSE- Version 2.1, February 1999-- Copyright (C) 1991, 1999 Free Software Foundation, Inc.- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA- Everyone is permitted to copy and distribute verbatim copies- of this license document, but changing it is not allowed.--[This is the first released version of the Lesser GPL. It also counts- as the successor of the GNU Library Public License, version 2, hence- the version number 2.1.]-- Preamble-- The licenses for most software are designed to take away your-freedom to share and change it. By contrast, the GNU General Public-Licenses are intended to guarantee your freedom to share and change-free software--to make sure the software is free for all its users.-- This license, the Lesser General Public License, applies to some-specially designated software packages--typically libraries--of the-Free Software Foundation and other authors who decide to use it. You-can use it too, but we suggest you first think carefully about whether-this license or the ordinary General Public License is the better-strategy to use in any particular case, based on the explanations below.-- When we speak of free software, we are referring to freedom of use,-not price. Our General Public Licenses are designed to make sure that-you have the freedom to distribute copies of free software (and charge-for this service if you wish); that you receive source code or can get-it if you want it; that you can change the software and use pieces of-it in new free programs; and that you are informed that you can do-these things.-- To protect your rights, we need to make restrictions that forbid-distributors to deny you these rights or to ask you to surrender these-rights. These restrictions translate to certain responsibilities for-you if you distribute copies of the library or if you modify it.-- For example, if you distribute copies of the library, whether gratis-or for a fee, you must give the recipients all the rights that we gave-you. You must make sure that they, too, receive or can get the source-code. If you link other code with the library, you must provide-complete object files to the recipients, so that they can relink them-with the library after making changes to the library and recompiling-it. And you must show them these terms so they know their rights.-- We protect your rights with a two-step method: (1) we copyright the-library, and (2) we offer you this license, which gives you legal-permission to copy, distribute and/or modify the library.-- To protect each distributor, we want to make it very clear that-there is no warranty for the free library. Also, if the library is-modified by someone else and passed on, the recipients should know-that what they have is not the original version, so that the original-author's reputation will not be affected by problems that might be-introduced by others.-- Finally, software patents pose a constant threat to the existence of-any free program. We wish to make sure that a company cannot-effectively restrict the users of a free program by obtaining a-restrictive license from a patent holder. Therefore, we insist that-any patent license obtained for a version of the library must be-consistent with the full freedom of use specified in this license.-- Most GNU software, including some libraries, is covered by the-ordinary GNU General Public License. This license, the GNU Lesser-General Public License, applies to certain designated libraries, and-is quite different from the ordinary General Public License. We use-this license for certain libraries in order to permit linking those-libraries into non-free programs.-- When a program is linked with a library, whether statically or using-a shared library, the combination of the two is legally speaking a-combined work, a derivative of the original library. The ordinary-General Public License therefore permits such linking only if the-entire combination fits its criteria of freedom. The Lesser General-Public License permits more lax criteria for linking other code with-the library.-- We call this license the "Lesser" General Public License because it-does Less to protect the user's freedom than the ordinary General-Public License. It also provides other free software developers Less-of an advantage over competing non-free programs. These disadvantages-are the reason we use the ordinary General Public License for many-libraries. However, the Lesser license provides advantages in certain-special circumstances.-- For example, on rare occasions, there may be a special need to-encourage the widest possible use of a certain library, so that it becomes-a de-facto standard. To achieve this, non-free programs must be-allowed to use the library. A more frequent case is that a free-library does the same job as widely used non-free libraries. In this-case, there is little to gain by limiting the free library to free-software only, so we use the Lesser General Public License.-- In other cases, permission to use a particular library in non-free-programs enables a greater number of people to use a large body of-free software. For example, permission to use the GNU C Library in-non-free programs enables many more people to use the whole GNU-operating system, as well as its variant, the GNU/Linux operating-system.-- Although the Lesser General Public License is Less protective of the-users' freedom, it does ensure that the user of a program that is-linked with the Library has the freedom and the wherewithal to run-that program using a modified version of the Library.-- The precise terms and conditions for copying, distribution and-modification follow. Pay close attention to the difference between a-"work based on the library" and a "work that uses the library". The-former contains code derived from the library, whereas the latter must-be combined with the library in order to run.-- GNU LESSER GENERAL PUBLIC LICENSE- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION-- 0. This License Agreement applies to any software library or other-program which contains a notice placed by the copyright holder or-other authorized party saying it may be distributed under the terms of-this Lesser General Public License (also called "this License").-Each licensee is addressed as "you".-- A "library" means a collection of software functions and/or data-prepared so as to be conveniently linked with application programs-(which use some of those functions and data) to form executables.-- The "Library", below, refers to any such software library or work-which has been distributed under these terms. A "work based on the-Library" means either the Library or any derivative work under-copyright law: that is to say, a work containing the Library or a-portion of it, either verbatim or with modifications and/or translated-straightforwardly into another language. (Hereinafter, translation is-included without limitation in the term "modification".)-- "Source code" for a work means the preferred form of the work for-making modifications to it. For a library, complete source code means-all the source code for all modules it contains, plus any associated-interface definition files, plus the scripts used to control compilation-and installation of the library.-- Activities other than copying, distribution and modification are not-covered by this License; they are outside its scope. The act of-running a program using the Library is not restricted, and output from-such a program is covered only if its contents constitute a work based-on the Library (independent of the use of the Library in a tool for-writing it). Whether that is true depends on what the Library does-and what the program that uses the Library does.-- 1. You may copy and distribute verbatim copies of the Library's-complete source code as you receive it, in any medium, provided that-you conspicuously and appropriately publish on each copy an-appropriate copyright notice and disclaimer of warranty; keep intact-all the notices that refer to this License and to the absence of any-warranty; and distribute a copy of this License along with the-Library.-- You may charge a fee for the physical act of transferring a copy,-and you may at your option offer warranty protection in exchange for a-fee.-- 2. You may modify your copy or copies of the Library or any portion-of it, thus forming a work based on the Library, and copy and-distribute such modifications or work under the terms of Section 1-above, provided that you also meet all of these conditions:-- a) The modified work must itself be a software library.-- b) You must cause the files modified to carry prominent notices- stating that you changed the files and the date of any change.-- c) You must cause the whole of the work to be licensed at no- charge to all third parties under the terms of this License.-- d) If a facility in the modified Library refers to a function or a- table of data to be supplied by an application program that uses- the facility, other than as an argument passed when the facility- is invoked, then you must make a good faith effort to ensure that,- in the event an application does not supply such function or- table, the facility still operates, and performs whatever part of- its purpose remains meaningful.-- (For example, a function in a library to compute square roots has- a purpose that is entirely well-defined independent of the- application. Therefore, Subsection 2d requires that any- application-supplied function or table used by this function must- be optional: if the application does not supply it, the square- root function must still compute square roots.)--These requirements apply to the modified work as a whole. If-identifiable sections of that work are not derived from the Library,-and can be reasonably considered independent and separate works in-themselves, then this License, and its terms, do not apply to those-sections when you distribute them as separate works. But when you-distribute the same sections as part of a whole which is a work based-on the Library, the distribution of the whole must be on the terms of-this License, whose permissions for other licensees extend to the-entire whole, and thus to each and every part regardless of who wrote-it.--Thus, it is not the intent of this section to claim rights or contest-your rights to work written entirely by you; rather, the intent is to-exercise the right to control the distribution of derivative or-collective works based on the Library.--In addition, mere aggregation of another work not based on the Library-with the Library (or with a work based on the Library) on a volume of-a storage or distribution medium does not bring the other work under-the scope of this License.-- 3. You may opt to apply the terms of the ordinary GNU General Public-License instead of this License to a given copy of the Library. To do-this, you must alter all the notices that refer to this License, so-that they refer to the ordinary GNU General Public License, version 2,-instead of to this License. (If a newer version than version 2 of the-ordinary GNU General Public License has appeared, then you can specify-that version instead if you wish.) Do not make any other change in-these notices.-- Once this change is made in a given copy, it is irreversible for-that copy, so the ordinary GNU General Public License applies to all-subsequent copies and derivative works made from that copy.-- This option is useful when you wish to copy part of the code of-the Library into a program that is not a library.-- 4. You may copy and distribute the Library (or a portion or-derivative of it, under Section 2) in object code or executable form-under the terms of Sections 1 and 2 above provided that you accompany-it with the complete corresponding machine-readable source code, which-must be distributed under the terms of Sections 1 and 2 above on a-medium customarily used for software interchange.-- If distribution of object code is made by offering access to copy-from a designated place, then offering equivalent access to copy the-source code from the same place satisfies the requirement to-distribute the source code, even though third parties are not-compelled to copy the source along with the object code.-- 5. A program that contains no derivative of any portion of the-Library, but is designed to work with the Library by being compiled or-linked with it, is called a "work that uses the Library". Such a-work, in isolation, is not a derivative work of the Library, and-therefore falls outside the scope of this License.-- However, linking a "work that uses the Library" with the Library-creates an executable that is a derivative of the Library (because it-contains portions of the Library), rather than a "work that uses the-library". The executable is therefore covered by this License.-Section 6 states terms for distribution of such executables.-- When a "work that uses the Library" uses material from a header file-that is part of the Library, the object code for the work may be a-derivative work of the Library even though the source code is not.-Whether this is true is especially significant if the work can be-linked without the Library, or if the work is itself a library. The-threshold for this to be true is not precisely defined by law.-- If such an object file uses only numerical parameters, data-structure layouts and accessors, and small macros and small inline-functions (ten lines or less in length), then the use of the object-file is unrestricted, regardless of whether it is legally a derivative-work. (Executables containing this object code plus portions of the-Library will still fall under Section 6.)-- Otherwise, if the work is a derivative of the Library, you may-distribute the object code for the work under the terms of Section 6.-Any executables containing that work also fall under Section 6,-whether or not they are linked directly with the Library itself.-- 6. As an exception to the Sections above, you may also combine or-link a "work that uses the Library" with the Library to produce a-work containing portions of the Library, and distribute that work-under terms of your choice, provided that the terms permit-modification of the work for the customer's own use and reverse-engineering for debugging such modifications.-- You must give prominent notice with each copy of the work that the-Library is used in it and that the Library and its use are covered by-this License. You must supply a copy of this License. If the work-during execution displays copyright notices, you must include the-copyright notice for the Library among them, as well as a reference-directing the user to the copy of this License. Also, you must do one-of these things:-- a) Accompany the work with the complete corresponding- machine-readable source code for the Library including whatever- changes were used in the work (which must be distributed under- Sections 1 and 2 above); and, if the work is an executable linked- with the Library, with the complete machine-readable "work that- uses the Library", as object code and/or source code, so that the- user can modify the Library and then relink to produce a modified- executable containing the modified Library. (It is understood- that the user who changes the contents of definitions files in the- Library will not necessarily be able to recompile the application- to use the modified definitions.)-- b) Use a suitable shared library mechanism for linking with the- Library. A suitable mechanism is one that (1) uses at run time a- copy of the library already present on the user's computer system,- rather than copying library functions into the executable, and (2)- will operate properly with a modified version of the library, if- the user installs one, as long as the modified version is- interface-compatible with the version that the work was made with.-- c) Accompany the work with a written offer, valid for at- least three years, to give the same user the materials- specified in Subsection 6a, above, for a charge no more- than the cost of performing this distribution.-- d) If distribution of the work is made by offering access to copy- from a designated place, offer equivalent access to copy the above- specified materials from the same place.-- e) Verify that the user has already received a copy of these- materials or that you have already sent this user a copy.-- For an executable, the required form of the "work that uses the-Library" must include any data and utility programs needed for-reproducing the executable from it. However, as a special exception,-the materials to be distributed need not include anything that is-normally distributed (in either source or binary form) with the major-components (compiler, kernel, and so on) of the operating system on-which the executable runs, unless that component itself accompanies-the executable.-- It may happen that this requirement contradicts the license-restrictions of other proprietary libraries that do not normally-accompany the operating system. Such a contradiction means you cannot-use both them and the Library together in an executable that you-distribute.-- 7. You may place library facilities that are a work based on the-Library side-by-side in a single library together with other library-facilities not covered by this License, and distribute such a combined-library, provided that the separate distribution of the work based on-the Library and of the other library facilities is otherwise-permitted, and provided that you do these two things:-- a) Accompany the combined library with a copy of the same work- based on the Library, uncombined with any other library- facilities. This must be distributed under the terms of the- Sections above.-- b) Give prominent notice with the combined library of the fact- that part of it is a work based on the Library, and explaining- where to find the accompanying uncombined form of the same work.-- 8. You may not copy, modify, sublicense, link with, or distribute-the Library except as expressly provided under this License. Any-attempt otherwise to copy, modify, sublicense, link with, or-distribute the Library is void, and will automatically terminate your-rights under this License. However, parties who have received copies,-or rights, from you under this License will not have their licenses-terminated so long as such parties remain in full compliance.-- 9. You are not required to accept this License, since you have not-signed it. However, nothing else grants you permission to modify or-distribute the Library or its derivative works. These actions are-prohibited by law if you do not accept this License. Therefore, by-modifying or distributing the Library (or any work based on the-Library), you indicate your acceptance of this License to do so, and-all its terms and conditions for copying, distributing or modifying-the Library or works based on it.-- 10. Each time you redistribute the Library (or any work based on the-Library), the recipient automatically receives a license from the-original licensor to copy, distribute, link with or modify the Library-subject to these terms and conditions. You may not impose any further-restrictions on the recipients' exercise of the rights granted herein.-You are not responsible for enforcing compliance by third parties with-this License.-- 11. If, as a consequence of a court judgment or allegation of patent-infringement or for any other reason (not limited to patent issues),-conditions are imposed on you (whether by court order, agreement or-otherwise) that contradict the conditions of this License, they do not-excuse you from the conditions of this License. If you cannot-distribute so as to satisfy simultaneously your obligations under this-License and any other pertinent obligations, then as a consequence you-may not distribute the Library at all. For example, if a patent-license would not permit royalty-free redistribution of the Library by-all those who receive copies directly or indirectly through you, then-the only way you could satisfy both it and this License would be to-refrain entirely from distribution of the Library.--If any portion of this section is held invalid or unenforceable under any-particular circumstance, the balance of the section is intended to apply,-and the section as a whole is intended to apply in other circumstances.--It is not the purpose of this section to induce you to infringe any-patents or other property right claims or to contest validity of any-such claims; this section has the sole purpose of protecting the-integrity of the free software distribution system which is-implemented by public license practices. Many people have made-generous contributions to the wide range of software distributed-through that system in reliance on consistent application of that-system; it is up to the author/donor to decide if he or she is willing-to distribute software through any other system and a licensee cannot-impose that choice.--This section is intended to make thoroughly clear what is believed to-be a consequence of the rest of this License.-- 12. If the distribution and/or use of the Library is restricted in-certain countries either by patents or by copyrighted interfaces, the-original copyright holder who places the Library under this License may add-an explicit geographical distribution limitation excluding those countries,-so that distribution is permitted only in or among countries not thus-excluded. In such case, this License incorporates the limitation as if-written in the body of this License.-- 13. The Free Software Foundation may publish revised and/or new-versions of the Lesser General Public License from time to time.-Such new versions will be similar in spirit to the present version,-but may differ in detail to address new problems or concerns.--Each version is given a distinguishing version number. If the Library-specifies a version number of this License which applies to it and-"any later version", you have the option of following the terms and-conditions either of that version or of any later version published by-the Free Software Foundation. If the Library does not specify a-license version number, you may choose any version ever published by-the Free Software Foundation.-- 14. If you wish to incorporate parts of the Library into other free-programs whose distribution conditions are incompatible with these,-write to the author to ask for permission. For software which is-copyrighted by the Free Software Foundation, write to the Free-Software Foundation; we sometimes make exceptions for this. Our-decision will be guided by the two goals of preserving the free status-of all derivatives of our free software and of promoting the sharing-and reuse of software generally.-- NO WARRANTY-- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.-- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH-DAMAGES.-- END OF TERMS AND CONDITIONS-- How to Apply These Terms to Your New Libraries-- If you develop a new library, and you want it to be of the greatest-possible use to the public, we recommend making it free software that-everyone can redistribute and change. You can do so by permitting-redistribution under these terms (or, alternatively, under the terms of the-ordinary General Public License).-- To apply these terms, attach the following notices to the library. It is-safest to attach them to the start of each source file to most effectively-convey the exclusion of warranty; and each file should have at least the-"copyright" line and a pointer to where the full notice is found.-- <one line to give the library's name and a brief idea of what it does.>- Copyright (C) <year> <name of author>-- This library is free software; you can redistribute it and/or- modify it under the terms of the GNU Lesser General Public- License as published by the Free Software Foundation; either- version 2.1 of the License, or (at your option) any later version.-- This library is distributed in the hope that it will be useful,- but WITHOUT ANY WARRANTY; without even the implied warranty of- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU- Lesser General Public License for more details.-- You should have received a copy of the GNU Lesser General Public- License along with this library; if not, write to the Free Software- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA--Also add information on how to contact you by electronic and paper mail.--You should also get your employer (if you work as a programmer) or your-school, if any, to sign a "copyright disclaimer" for the library, if-necessary. Here is a sample; alter the names:-- Yoyodyne, Inc., hereby disclaims all copyright interest in the- library `Frob' (a library for tweaking knobs) written by James Random Hacker.-- <signature of Ty Coon>, 1 April 1990- Ty Coon, President of Vice--That's all there is to it!
+ Setup.hs view
@@ -0,0 +1,27 @@+import Distribution.Simple+import Distribution.Simple.Setup+import Distribution.PackageDescription+import Distribution.Simple.LocalBuildInfo+import Config++myconfigHook = simpleUserHooks { confHook = hookfunction }++hookfunction x y = do+ binfo <- confHook simpleUserHooks x y+ r_pbi <- config binfo+ let pkg_descr = localPkgDescr binfo++ let newbinfo = case r_pbi of+ Just pbi -> binfo { localPkgDescr = updatePackageDescription pbi pkg_descr }+ Nothing -> do+ let r_lib = library pkg_descr+ case r_lib of+ Just lib ->+ let binfo2 = libBuildInfo lib+ newlib = lib { libBuildInfo = binfo2 { cSources = [] }}+ in binfo { localPkgDescr = pkg_descr { library = Just newlib }}+ Nothing -> error "some library setting is wrong."+-- putStrLn (show (localPkgDescr newbinfo))+ return newbinfo++main = defaultMainWithHooks myconfigHook
− Setup.lhs
@@ -1,33 +0,0 @@-#! /usr/bin/env runhaskell- -> import Distribution.Simple-> import Distribution.Simple.Setup-> import Distribution.PackageDescription-> import Distribution.Simple.LocalBuildInfo->-> import Config->-> myconfigHook = simpleUserHooks { confHook = hookfunction } ->-> hookfunction x y = do -> binfo <- confHook simpleUserHooks x y -> r_pbi <- config binfo-> let pkg_descr = localPkgDescr binfo-> -> let newbinfo = case r_pbi of -> Just pbi -> binfo { localPkgDescr = updatePackageDescription pbi pkg_descr }-> Nothing -> do -> let r_lib = library pkg_descr -> case r_lib of-> Just lib -> -> let binfo2 = libBuildInfo lib-> newlib = lib { libBuildInfo = binfo2 { cSources = [] }} -> in binfo { localPkgDescr = pkg_descr { library = Just newlib }} -> Nothing -> error "some library setting is wrong." -> -- putStrLn (show (localPkgDescr newbinfo))-> return newbinfo-> ->-> main = defaultMainWithHooks myconfigHook->-
csrc/HROOT-histType.h view
@@ -1,186 +1,72 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__-#define __HROOT_HIST__--// Opaque type definition for TAxis -typedef struct TAxis_tag TAxis_t; -typedef TAxis_t * TAxis_p; -typedef TAxis_t const* const_TAxis_p; ---// Opaque type definition for TF1 -typedef struct TF1_tag TF1_t; -typedef TF1_t * TF1_p; -typedef TF1_t const* const_TF1_p; ---// Opaque type definition for TFitResult -typedef struct TFitResult_tag TFitResult_t; -typedef TFitResult_t * TFitResult_p; -typedef TFitResult_t const* const_TFitResult_p; ---// Opaque type definition for TFitResultPtr -typedef struct TFitResultPtr_tag TFitResultPtr_t; -typedef TFitResultPtr_t * TFitResultPtr_p; -typedef TFitResultPtr_t const* const_TFitResultPtr_p; ---// Opaque type definition for TGraph -typedef struct TGraph_tag TGraph_t; -typedef TGraph_t * TGraph_p; -typedef TGraph_t const* const_TGraph_p; ---// Opaque type definition for TGraphAsymmErrors -typedef struct TGraphAsymmErrors_tag TGraphAsymmErrors_t; -typedef TGraphAsymmErrors_t * TGraphAsymmErrors_p; -typedef TGraphAsymmErrors_t const* const_TGraphAsymmErrors_p; ---// Opaque type definition for TGraphBentErrors -typedef struct TGraphBentErrors_tag TGraphBentErrors_t; -typedef TGraphBentErrors_t * TGraphBentErrors_p; -typedef TGraphBentErrors_t const* const_TGraphBentErrors_p; ---// Opaque type definition for TGraphErrors -typedef struct TGraphErrors_tag TGraphErrors_t; -typedef TGraphErrors_t * TGraphErrors_p; -typedef TGraphErrors_t const* const_TGraphErrors_p; ---// Opaque type definition for TH1 -typedef struct TH1_tag TH1_t; -typedef TH1_t * TH1_p; -typedef TH1_t const* const_TH1_p; ---// Opaque type definition for TH1C -typedef struct TH1C_tag TH1C_t; -typedef TH1C_t * TH1C_p; -typedef TH1C_t const* const_TH1C_p; ---// Opaque type definition for TH1D -typedef struct TH1D_tag TH1D_t; -typedef TH1D_t * TH1D_p; -typedef TH1D_t const* const_TH1D_p; ---// Opaque type definition for TH1F -typedef struct TH1F_tag TH1F_t; -typedef TH1F_t * TH1F_p; -typedef TH1F_t const* const_TH1F_p; ---// Opaque type definition for TH1I -typedef struct TH1I_tag TH1I_t; -typedef TH1I_t * TH1I_p; -typedef TH1I_t const* const_TH1I_p; ---// Opaque type definition for TH1K -typedef struct TH1K_tag TH1K_t; -typedef TH1K_t * TH1K_p; -typedef TH1K_t const* const_TH1K_p; ---// Opaque type definition for TH1S -typedef struct TH1S_tag TH1S_t; -typedef TH1S_t * TH1S_p; -typedef TH1S_t const* const_TH1S_p; ---// Opaque type definition for TH2 -typedef struct TH2_tag TH2_t; -typedef TH2_t * TH2_p; -typedef TH2_t const* const_TH2_p; ---// Opaque type definition for TH2C -typedef struct TH2C_tag TH2C_t; -typedef TH2C_t * TH2C_p; -typedef TH2C_t const* const_TH2C_p; ---// Opaque type definition for TH2D -typedef struct TH2D_tag TH2D_t; -typedef TH2D_t * TH2D_p; -typedef TH2D_t const* const_TH2D_p; ---// Opaque type definition for TH2F -typedef struct TH2F_tag TH2F_t; -typedef TH2F_t * TH2F_p; -typedef TH2F_t const* const_TH2F_p; ---// Opaque type definition for TH2I -typedef struct TH2I_tag TH2I_t; -typedef TH2I_t * TH2I_p; -typedef TH2I_t const* const_TH2I_p; ---// Opaque type definition for TH2Poly -typedef struct TH2Poly_tag TH2Poly_t; -typedef TH2Poly_t * TH2Poly_p; -typedef TH2Poly_t const* const_TH2Poly_p; ---// Opaque type definition for TH2S -typedef struct TH2S_tag TH2S_t; -typedef TH2S_t * TH2S_p; -typedef TH2S_t const* const_TH2S_p; ---// Opaque type definition for TH3 -typedef struct TH3_tag TH3_t; -typedef TH3_t * TH3_p; -typedef TH3_t const* const_TH3_p; ---// Opaque type definition for TH3C -typedef struct TH3C_tag TH3C_t; -typedef TH3C_t * TH3C_p; -typedef TH3C_t const* const_TH3C_p; ---// Opaque type definition for TH3D -typedef struct TH3D_tag TH3D_t; -typedef TH3D_t * TH3D_p; -typedef TH3D_t const* const_TH3D_p; ---// Opaque type definition for TH3F -typedef struct TH3F_tag TH3F_t; -typedef TH3F_t * TH3F_p; -typedef TH3F_t const* const_TH3F_p; ---// Opaque type definition for TH3I -typedef struct TH3I_tag TH3I_t; -typedef TH3I_t * TH3I_p; -typedef TH3I_t const* const_TH3I_p; ---// Opaque type definition for TH3S -typedef struct TH3S_tag TH3S_t; -typedef TH3S_t * TH3S_p; -typedef TH3S_t const* const_TH3S_p; ---// Opaque type definition for THStack -typedef struct THStack_tag THStack_t; -typedef THStack_t * THStack_p; -typedef THStack_t const* const_THStack_p; ---#endif // __HROOT_HIST__+#pragma once +// Opaque type definition for $classname+typedef struct TAxis_tag TAxis_t;typedef TAxis_t * TAxis_p;typedef TAxis_t const* const_TAxis_p;+// Opaque type definition for $classname+typedef struct TF1_tag TF1_t;typedef TF1_t * TF1_p;typedef TF1_t const* const_TF1_p;+// Opaque type definition for $classname+typedef struct TFitResult_tag TFitResult_t;typedef TFitResult_t * TFitResult_p;typedef TFitResult_t const* const_TFitResult_p;+// Opaque type definition for $classname+typedef struct TFitResultPtr_tag TFitResultPtr_t;typedef TFitResultPtr_t * TFitResultPtr_p;typedef TFitResultPtr_t const* const_TFitResultPtr_p;+// Opaque type definition for $classname+typedef struct TGraph_tag TGraph_t;typedef TGraph_t * TGraph_p;typedef TGraph_t const* const_TGraph_p;+// Opaque type definition for $classname+typedef struct TGraph2D_tag TGraph2D_t;typedef TGraph2D_t * TGraph2D_p;typedef TGraph2D_t const* const_TGraph2D_p;+// Opaque type definition for $classname+typedef struct TGraphAsymmErrors_tag TGraphAsymmErrors_t;typedef TGraphAsymmErrors_t * TGraphAsymmErrors_p;typedef TGraphAsymmErrors_t const* const_TGraphAsymmErrors_p;+// Opaque type definition for $classname+typedef struct TGraphBentErrors_tag TGraphBentErrors_t;typedef TGraphBentErrors_t * TGraphBentErrors_p;typedef TGraphBentErrors_t const* const_TGraphBentErrors_p;+// Opaque type definition for $classname+typedef struct TGraphErrors_tag TGraphErrors_t;typedef TGraphErrors_t * TGraphErrors_p;typedef TGraphErrors_t const* const_TGraphErrors_p;+// Opaque type definition for $classname+typedef struct TH1_tag TH1_t;typedef TH1_t * TH1_p;typedef TH1_t const* const_TH1_p;+// Opaque type definition for $classname+typedef struct TH1C_tag TH1C_t;typedef TH1C_t * TH1C_p;typedef TH1C_t const* const_TH1C_p;+// Opaque type definition for $classname+typedef struct TH1D_tag TH1D_t;typedef TH1D_t * TH1D_p;typedef TH1D_t const* const_TH1D_p;+// Opaque type definition for $classname+typedef struct TH1F_tag TH1F_t;typedef TH1F_t * TH1F_p;typedef TH1F_t const* const_TH1F_p;+// Opaque type definition for $classname+typedef struct TH1I_tag TH1I_t;typedef TH1I_t * TH1I_p;typedef TH1I_t const* const_TH1I_p;+// Opaque type definition for $classname+typedef struct TH1K_tag TH1K_t;typedef TH1K_t * TH1K_p;typedef TH1K_t const* const_TH1K_p;+// Opaque type definition for $classname+typedef struct TH1S_tag TH1S_t;typedef TH1S_t * TH1S_p;typedef TH1S_t const* const_TH1S_p;+// Opaque type definition for $classname+typedef struct TH2_tag TH2_t;typedef TH2_t * TH2_p;typedef TH2_t const* const_TH2_p;+// Opaque type definition for $classname+typedef struct TH2C_tag TH2C_t;typedef TH2C_t * TH2C_p;typedef TH2C_t const* const_TH2C_p;+// Opaque type definition for $classname+typedef struct TH2D_tag TH2D_t;typedef TH2D_t * TH2D_p;typedef TH2D_t const* const_TH2D_p;+// Opaque type definition for $classname+typedef struct TH2F_tag TH2F_t;typedef TH2F_t * TH2F_p;typedef TH2F_t const* const_TH2F_p;+// Opaque type definition for $classname+typedef struct TH2I_tag TH2I_t;typedef TH2I_t * TH2I_p;typedef TH2I_t const* const_TH2I_p;+// Opaque type definition for $classname+typedef struct TH2Poly_tag TH2Poly_t;typedef TH2Poly_t * TH2Poly_p;typedef TH2Poly_t const* const_TH2Poly_p;+// Opaque type definition for $classname+typedef struct TH2S_tag TH2S_t;typedef TH2S_t * TH2S_p;typedef TH2S_t const* const_TH2S_p;+// Opaque type definition for $classname+typedef struct TH3_tag TH3_t;typedef TH3_t * TH3_p;typedef TH3_t const* const_TH3_p;+// Opaque type definition for $classname+typedef struct TH3C_tag TH3C_t;typedef TH3C_t * TH3C_p;typedef TH3C_t const* const_TH3C_p;+// Opaque type definition for $classname+typedef struct TH3D_tag TH3D_t;typedef TH3D_t * TH3D_p;typedef TH3D_t const* const_TH3D_p;+// Opaque type definition for $classname+typedef struct TH3F_tag TH3F_t;typedef TH3F_t * TH3F_p;typedef TH3F_t const* const_TH3F_p;+// Opaque type definition for $classname+typedef struct TH3I_tag TH3I_t;typedef TH3I_t * TH3I_p;typedef TH3I_t const* const_TH3I_p;+// Opaque type definition for $classname+typedef struct TH3S_tag TH3S_t;typedef TH3S_t * TH3S_p;typedef TH3S_t const* const_TH3S_p;+// Opaque type definition for $classname+typedef struct THStack_tag THStack_t;typedef THStack_t * THStack_p;typedef THStack_t const* const_THStack_p;+// Opaque type definition for $classname+typedef struct TMultiGraph_tag TMultiGraph_t;typedef TMultiGraph_t * TMultiGraph_p;typedef TMultiGraph_t const* const_TMultiGraph_p; #ifdef __cplusplus } #endif
csrc/HROOTHistTAxis.cpp view
@@ -1,25 +1,30 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"++#include "HROOTCoreTArrayD.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttAxis.h"+ #include "TAxis.h"-#include "HROOTHistTAxis.h" +#include "HROOTHistTAxis.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TNAMED_DEF_VIRT(TAxis) TATTAXIS_DEF_VIRT(TAxis) TOBJECT_DEF_VIRT(TAxis) DELETABLE_DEF_VIRT(TAxis)- TAXIS_DEF_VIRT(TAxis)- TAXIS_DEF_NONVIRT(TAxis)+TAXIS_DEF_ACCESSOR(TAxis)
csrc/HROOTHistTAxis.h view
@@ -1,98 +1,139 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TAxis__-#define __HROOT_HIST__TAxis__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttAxis.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOT-coreType.h" -#undef TAXIS_DECL_VIRT + #define TAXIS_DECL_VIRT(Type) \-int Type ## _findBinTAxis ( Type ## _p p, double x ); \-int Type ## _findFixBinTAxis ( Type ## _p p, double x ); \-double Type ## _getBinCenterTAxis ( Type ## _p p, int bin ); \-double Type ## _GetBinCenterLog ( Type ## _p p, int bin ); \-double Type ## _GetBinUpEdge ( Type ## _p p, int bin ); \-void Type ## _SetTimeDisplay ( Type ## _p p, int value ); \-void Type ## _SetTimeFormat ( Type ## _p p, const char* format ); \-void Type ## _SetTimeOffset ( Type ## _p p, double toffset, const char* option )+int Type##_findBinTAxis ( Type##_p p, double x );\+int Type##_findFixBinTAxis ( Type##_p p, double x );\+double Type##_getBinCenterTAxis ( Type##_p p, int bin );\+double Type##_GetBinCenterLog ( Type##_p p, int bin );\+double Type##_GetBinUpEdge ( Type##_p p, int bin );\+void Type##_SetLimits ( Type##_p p, double xmin, double xmax );\+void Type##_SetTimeDisplay ( Type##_p p, int value );\+void Type##_SetTimeFormat ( Type##_p p, const char* format );\+void Type##_SetTimeOffset ( Type##_p p, double toffset, const char* option ); -#undef TAXIS_DECL_NONVIRT + #define TAXIS_DECL_NONVIRT(Type) \-Type ## _p Type ## _newTAxis ( int nbins, double xmin, double xmax ); \-int Type ## _tAxisGetCenterLabels ( Type ## _p p ); \-int Type ## _tAxisGetCenterTitle ( Type ## _p p )+Type##_p Type##_newTAxis ( int nbins, double xmin, double xmax );\+bool Type##_tAxis_GetCenterLabels ( Type##_p p );\+bool Type##_tAxis_GetCenterTitle ( Type##_p p );\+int Type##_tAxis_GetFirst ( Type##_p p );\+int Type##_tAxis_GetLast ( Type##_p p );\+int Type##_tAxis_GetNbins ( Type##_p p );\+TArrayD_p Type##_tAxis_GetXbins ( Type##_p p );\+double Type##_tAxis_GetXmax ( Type##_p p );\+double Type##_tAxis_GetXmin ( Type##_p p ); -#undef TAXIS_DEF_VIRT-#define TAXIS_DEF_VIRT(Type)\-int Type ## _findBinTAxis ( Type ## _p p, double x )\-{\-return TYPECASTMETHOD(Type,findBinTAxis,TAxis)(p)->FindBin(x);\++#define TAXIS_DECL_ACCESSOR(Type) \++++#define TAXIS_DEF_VIRT(Type) \+int Type##_findBinTAxis ( Type##_p p, double x ) {\+return ((TYPECASTMETHOD(Type, findBinTAxis, TAxis))(p))->FindBin(x);\ }\-int Type ## _findFixBinTAxis ( Type ## _p p, double x )\-{\-return TYPECASTMETHOD(Type,findFixBinTAxis,TAxis)(p)->FindFixBin(x);\+\+int Type##_findFixBinTAxis ( Type##_p p, double x ) {\+return ((TYPECASTMETHOD(Type, findFixBinTAxis, TAxis))(p))->FindFixBin(x);\ }\-double Type ## _getBinCenterTAxis ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,getBinCenterTAxis,TAxis)(p)->GetBinCenter(bin);\+\+double Type##_getBinCenterTAxis ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, getBinCenterTAxis, TAxis))(p))->GetBinCenter(bin);\ }\-double Type ## _GetBinCenterLog ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,GetBinCenterLog,TAxis)(p)->GetBinCenterLog(bin);\+\+double Type##_GetBinCenterLog ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, GetBinCenterLog, TAxis))(p))->GetBinCenterLog(bin);\ }\-double Type ## _GetBinUpEdge ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,GetBinUpEdge,TAxis)(p)->GetBinUpEdge(bin);\+\+double Type##_GetBinUpEdge ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, GetBinUpEdge, TAxis))(p))->GetBinUpEdge(bin);\ }\-void Type ## _SetTimeDisplay ( Type ## _p p, int value )\-{\-TYPECASTMETHOD(Type,SetTimeDisplay,TAxis)(p)->SetTimeDisplay(value);\+\+void Type##_SetLimits ( Type##_p p, double xmin, double xmax ) {\+((TYPECASTMETHOD(Type, SetLimits, TAxis))(p))->SetLimits(xmin, xmax);\ }\-void Type ## _SetTimeFormat ( Type ## _p p, const char* format )\-{\-TYPECASTMETHOD(Type,SetTimeFormat,TAxis)(p)->SetTimeFormat(format);\+\+void Type##_SetTimeDisplay ( Type##_p p, int value ) {\+((TYPECASTMETHOD(Type, SetTimeDisplay, TAxis))(p))->SetTimeDisplay(value);\ }\-void Type ## _SetTimeOffset ( Type ## _p p, double toffset, const char* option )\-{\-TYPECASTMETHOD(Type,SetTimeOffset,TAxis)(p)->SetTimeOffset(toffset, option);\+\+void Type##_SetTimeFormat ( Type##_p p, const char* format ) {\+((TYPECASTMETHOD(Type, SetTimeFormat, TAxis))(p))->SetTimeFormat(format);\+}\+\+void Type##_SetTimeOffset ( Type##_p p, double toffset, const char* option ) {\+((TYPECASTMETHOD(Type, SetTimeOffset, TAxis))(p))->SetTimeOffset(toffset, option);\ } -#undef TAXIS_DEF_NONVIRT-#define TAXIS_DEF_NONVIRT(Type)\-Type ## _p Type ## _newTAxis ( int nbins, double xmin, double xmax )\-{\-Type * newp = new Type (nbins, xmin, xmax); \-return to_nonconst<Type ## _t, Type >(newp);\++#define TAXIS_DEF_NONVIRT(Type) \+Type##_p Type##_newTAxis ( int nbins, double xmin, double xmax ) {\+Type* newp=new Type(nbins, xmin, xmax);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\ }\-int Type ## _tAxisGetCenterLabels ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,tAxisGetCenterLabels,TAxis)(p)->GetCenterLabels();\+\+bool Type##_tAxis_GetCenterLabels ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tAxis_GetCenterLabels, TAxis))(p))->GetCenterLabels();\ }\-int Type ## _tAxisGetCenterTitle ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,tAxisGetCenterTitle,TAxis)(p)->GetCenterTitle();\+\+bool Type##_tAxis_GetCenterTitle ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tAxis_GetCenterTitle, TAxis))(p))->GetCenterTitle();\+}\+\+int Type##_tAxis_GetFirst ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tAxis_GetFirst, TAxis))(p))->GetFirst();\+}\+\+int Type##_tAxis_GetLast ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tAxis_GetLast, TAxis))(p))->GetLast();\+}\+\+int Type##_tAxis_GetNbins ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tAxis_GetNbins, TAxis))(p))->GetNbins();\+}\+\+TArrayD_p Type##_tAxis_GetXbins ( Type##_p p ) {\+return from_nonconst_to_nonconst<TArrayD_t, TArrayD>((TArrayD*)((TYPECASTMETHOD(Type, tAxis_GetXbins, TAxis))(p))->GetXbins());\+}\+\+double Type##_tAxis_GetXmax ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tAxis_GetXmax, TAxis))(p))->GetXmax();\+}\+\+double Type##_tAxis_GetXmin ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tAxis_GetXmin, TAxis))(p))->GetXmin();\ } -TNAMED_DECL_VIRT(TAxis);-TATTAXIS_DECL_VIRT(TAxis);-TOBJECT_DECL_VIRT(TAxis);-DELETABLE_DECL_VIRT(TAxis); +#define TAXIS_DEF_ACCESSOR(Type) \ -TAXIS_DECL_VIRT(TAxis); -TAXIS_DECL_NONVIRT(TAxis);---#endif // __HROOT_HIST__TAxis__+TNAMED_DECL_VIRT(TAxis)+TATTAXIS_DECL_VIRT(TAxis)+TOBJECT_DECL_VIRT(TAxis)+DELETABLE_DECL_VIRT(TAxis)+TAXIS_DECL_VIRT(TAxis)+TAXIS_DECL_NONVIRT(TAxis)+TAXIS_DECL_ACCESSOR(TAxis) #ifdef __cplusplus }
csrc/HROOTHistTF1.cpp view
@@ -1,29 +1,36 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTCoreTObject.h"+ #include "HROOTHistTH1.h"+ #include "HROOTHistTAxis.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "TF1.h"-#include "HROOTHistTF1.h" +#include "HROOTHistTF1.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TATTLINE_DEF_VIRT(TF1) TATTFILL_DEF_VIRT(TF1) TATTMARKER_DEF_VIRT(TF1) DELETABLE_DEF_VIRT(TF1)- TF1_DEF_VIRT(TF1)- TF1_DEF_NONVIRT(TF1)+TF1_DEF_ACCESSOR(TF1)
csrc/HROOTHistTF1.h view
@@ -1,358 +1,364 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TF1__-#define __HROOT_HIST__TF1__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOT-coreType.h" -#undef TF1_DECL_VIRT + #define TF1_DECL_VIRT(Type) \-double Type ## _Derivative ( Type ## _p p, double x, double * params, double epsilon ); \-double Type ## _Derivative2 ( Type ## _p p, double x, double * params, double epsilon ); \-double Type ## _Derivative3 ( Type ## _p p, double x, double * params, double epsilon ); \-Type ## _p Type ## _drawCopyTF1 ( Type ## _p p, const char* option ); \-TObject_p Type ## _DrawDerivative ( Type ## _p p, const char* option ); \-TObject_p Type ## _DrawIntegral ( Type ## _p p, const char* option ); \-void Type ## _FixParameter ( Type ## _p p, int ipar, double value ); \-double Type ## _getMaximumTF1 ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx ); \-double Type ## _getMinimumTF1 ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx ); \-double Type ## _GetMaximumX ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx ); \-double Type ## _GetMinimumX ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx ); \-int Type ## _GetNDF ( Type ## _p p ); \-int Type ## _GetNpx ( Type ## _p p ); \-int Type ## _GetNumberFreeParameters ( Type ## _p p ); \-int Type ## _GetNumberFitPoints ( Type ## _p p ); \-double Type ## _GetParError ( Type ## _p p, int ipar ); \-double Type ## _GetProb ( Type ## _p p ); \-int Type ## _getQuantilesTF1 ( Type ## _p p, int nprobSum, double * q, double * probSum ); \-double Type ## _getRandomTF1 ( Type ## _p p, double xmin, double xmax ); \-double Type ## _GetSave ( Type ## _p p, double * x ); \-double Type ## _GetX ( Type ## _p p, double y, double xmin, double xmax, double epsilon, int maxiter ); \-double Type ## _GetXmin ( Type ## _p p ); \-double Type ## _GetXmax ( Type ## _p p ); \-double Type ## _GradientPar ( Type ## _p p, int ipar, double * x, double eps ); \-void Type ## _InitArgs ( Type ## _p p, double * x, double * params ); \-double Type ## _IntegralTF1 ( Type ## _p p, double a, double b, double epsilon ); \-double Type ## _IntegralError ( Type ## _p p, double a, double b, double * params, double * covmat, double epsilon ); \-double Type ## _IntegralFast ( Type ## _p p, int num, double * x, double * w, double a, double b, double * params, double epsilon ); \-int Type ## _IsInside ( Type ## _p p, double * x ); \-void Type ## _ReleaseParameter ( Type ## _p p, int ipar ); \-void Type ## _SetChisquare ( Type ## _p p, double chi2 ); \-void Type ## _setMaximumTF1 ( Type ## _p p, double maximum ); \-void Type ## _setMinimumTF1 ( Type ## _p p, double minimum ); \-void Type ## _SetNDF ( Type ## _p p, int ndf ); \-void Type ## _SetNumberFitPoints ( Type ## _p p, int npfits ); \-void Type ## _SetNpx ( Type ## _p p, int npx ); \-void Type ## _SetParError ( Type ## _p p, int ipar, double error ); \-void Type ## _SetParErrors ( Type ## _p p, double * errors ); \-void Type ## _SetParLimits ( Type ## _p p, int ipar, double parmin, double parmax ); \-void Type ## _SetParent ( Type ## _p p, TObject_p parent ); \-void Type ## _setRange1 ( Type ## _p p, double xmin, double xmax ); \-void Type ## _setRange2 ( Type ## _p p, double xmin, double xmax, double ymin, double ymax ); \-void Type ## _setRange3 ( Type ## _p p, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax ); \-void Type ## _SetSavedPoint ( Type ## _p p, int point, double value ); \-double Type ## _Moment ( Type ## _p p, double n, double a, double b, double * params, double epsilon ); \-double Type ## _CentralMoment ( Type ## _p p, double n, double a, double b, double * params, double epsilon ); \-double Type ## _Mean ( Type ## _p p, double a, double b, double * params, double epsilon ); \-double Type ## _Variance ( Type ## _p p, double a, double b, double * params, double epsilon )+double Type##_Derivative ( Type##_p p, double x, double* params, double epsilon );\+double Type##_Derivative2 ( Type##_p p, double x, double* params, double epsilon );\+double Type##_Derivative3 ( Type##_p p, double x, double* params, double epsilon );\+Type##_p Type##_drawCopyTF1 ( Type##_p p, const char* option );\+TObject_p Type##_DrawDerivative ( Type##_p p, const char* option );\+TObject_p Type##_DrawIntegral ( Type##_p p, const char* option );\+void Type##_FixParameter ( Type##_p p, int ipar, double value );\+double Type##_getMaximumTF1 ( Type##_p p, double xmin, double xmax, double epsilon, double maxiter, bool logx );\+double Type##_getMinimumTF1 ( Type##_p p, double xmin, double xmax, double epsilon, double maxiter, bool logx );\+double Type##_GetMaximumX ( Type##_p p, double xmin, double xmax, double epsilon, double maxiter, bool logx );\+double Type##_GetMinimumX ( Type##_p p, double xmin, double xmax, double epsilon, double maxiter, bool logx );\+int Type##_GetNDF ( Type##_p p );\+int Type##_GetNpx ( Type##_p p );\+int Type##_GetNumberFreeParameters ( Type##_p p );\+int Type##_GetNumberFitPoints ( Type##_p p );\+double Type##_GetParError ( Type##_p p, int ipar );\+double Type##_GetProb ( Type##_p p );\+int Type##_getQuantilesTF1 ( Type##_p p, int nprobSum, double* q, double* probSum );\+double Type##_getRandomTF1 ( Type##_p p, double xmin, double xmax );\+double Type##_GetSave ( Type##_p p, double* x );\+double Type##_GetX ( Type##_p p, double y, double xmin, double xmax, double epsilon, int maxiter );\+double Type##_GetXmin ( Type##_p p );\+double Type##_GetXmax ( Type##_p p );\+double Type##_GradientPar ( Type##_p p, int ipar, double* x, double eps );\+void Type##_InitArgs ( Type##_p p, double* x, double* params );\+double Type##_IntegralTF1 ( Type##_p p, double a, double b, double epsilon );\+double Type##_IntegralError ( Type##_p p, double a, double b, double* params, double* covmat, double epsilon );\+double Type##_IntegralFast ( Type##_p p, int num, double* x, double* w, double a, double b, double* params, double epsilon );\+bool Type##_IsInside ( Type##_p p, double* x );\+void Type##_ReleaseParameter ( Type##_p p, int ipar );\+void Type##_SetChisquare ( Type##_p p, double chi2 );\+void Type##_setMaximumTF1 ( Type##_p p, double maximum );\+void Type##_setMinimumTF1 ( Type##_p p, double minimum );\+void Type##_SetNDF ( Type##_p p, int ndf );\+void Type##_SetNumberFitPoints ( Type##_p p, int npfits );\+void Type##_SetNpx ( Type##_p p, int npx );\+void Type##_SetParError ( Type##_p p, int ipar, double error );\+void Type##_SetParErrors ( Type##_p p, double* errors );\+void Type##_SetParLimits ( Type##_p p, int ipar, double parmin, double parmax );\+void Type##_SetParent ( Type##_p p, TObject_p parent );\+void Type##_setRange1 ( Type##_p p, double xmin, double xmax );\+void Type##_setRange2 ( Type##_p p, double xmin, double xmax, double ymin, double ymax );\+void Type##_setRange3 ( Type##_p p, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax );\+void Type##_SetSavedPoint ( Type##_p p, int point, double value );\+double Type##_Moment ( Type##_p p, double n, double a, double b, double* params, double epsilon );\+double Type##_CentralMoment ( Type##_p p, double n, double a, double b, double* params, double epsilon );\+double Type##_Mean ( Type##_p p, double a, double b, double* params, double epsilon );\+double Type##_Variance ( Type##_p p, double a, double b, double* params, double epsilon ); -#undef TF1_DECL_NONVIRT + #define TF1_DECL_NONVIRT(Type) \-Type ## _p Type ## _newTF1 ( const char* name, const char* formula, double xmin, double xmax ); \-double Type ## _tF1DerivativeError ( ); \-double Type ## _tF1GetChisquare ( Type ## _p p ); \-TH1_p Type ## _tF1GetHistogram ( Type ## _p p ); \-TObject_p Type ## _tF1GetParent ( Type ## _p p ); \-TAxis_p Type ## _tF1GetXaxis ( Type ## _p p ); \-TAxis_p Type ## _tF1GetYaxis ( Type ## _p p ); \-TAxis_p Type ## _tF1GetZaxis ( Type ## _p p ); \-void Type ## _tF1InitStandardFunctions ( ); \-TF1_p Type ## _tF1GetCurrent ( ); \-void Type ## _tF1AbsValue ( int reject ); \-void Type ## _tF1RejectPoint ( int reject ); \-int Type ## _tF1RejectedPoint ( ); \-void Type ## _tF1SetCurrent ( TF1_p f1 ); \-void Type ## _tF1CalcGaussLegendreSamplingPoints ( int num, double * x, double * w, double eps )+Type##_p Type##_newTF1 ( const char* name, const char* formula, double xmin, double xmax );\+double Type##_tF1_DerivativeError ( );\+double Type##_tF1_GetChisquare ( Type##_p p );\+TH1_p Type##_tF1_GetHistogram ( Type##_p p );\+TObject_p Type##_tF1_GetParent ( Type##_p p );\+TAxis_p Type##_tF1_GetXaxis ( Type##_p p );\+TAxis_p Type##_tF1_GetYaxis ( Type##_p p );\+TAxis_p Type##_tF1_GetZaxis ( Type##_p p );\+void Type##_tF1_InitStandardFunctions ( );\+TF1_p Type##_tF1_GetCurrent ( );\+void Type##_tF1_AbsValue ( bool reject );\+void Type##_tF1_RejectPoint ( bool reject );\+bool Type##_tF1_RejectedPoint ( );\+void Type##_tF1_SetCurrent ( TF1_p f1 );\+void Type##_tF1_CalcGaussLegendreSamplingPoints ( int num, double* x, double* w, double eps ); -#undef TF1_DEF_VIRT-#define TF1_DEF_VIRT(Type)\-double Type ## _Derivative ( Type ## _p p, double x, double * params, double epsilon )\-{\-return TYPECASTMETHOD(Type,Derivative,TF1)(p)->Derivative(x, params, epsilon);\++#define TF1_DECL_ACCESSOR(Type) \++++#define TF1_DEF_VIRT(Type) \+double Type##_Derivative ( Type##_p p, double x, double* params, double epsilon ) {\+return ((TYPECASTMETHOD(Type, Derivative, TF1))(p))->Derivative(x, params, epsilon);\ }\-double Type ## _Derivative2 ( Type ## _p p, double x, double * params, double epsilon )\-{\-return TYPECASTMETHOD(Type,Derivative2,TF1)(p)->Derivative2(x, params, epsilon);\+\+double Type##_Derivative2 ( Type##_p p, double x, double* params, double epsilon ) {\+return ((TYPECASTMETHOD(Type, Derivative2, TF1))(p))->Derivative2(x, params, epsilon);\ }\-double Type ## _Derivative3 ( Type ## _p p, double x, double * params, double epsilon )\-{\-return TYPECASTMETHOD(Type,Derivative3,TF1)(p)->Derivative3(x, params, epsilon);\+\+double Type##_Derivative3 ( Type##_p p, double x, double* params, double epsilon ) {\+return ((TYPECASTMETHOD(Type, Derivative3, TF1))(p))->Derivative3(x, params, epsilon);\ }\-Type ## _p Type ## _drawCopyTF1 ( Type ## _p p, const char* option )\-{\-return to_nonconst<Type ## _t, Type>((Type *)TYPECASTMETHOD(Type,drawCopyTF1,TF1)(p)->DrawCopy(option)) ;\+\+Type##_p Type##_drawCopyTF1 ( Type##_p p, const char* option ) {\+return from_nonconst_to_nonconst<Type##_t, Type>((Type*)((TYPECASTMETHOD(Type, drawCopyTF1, TF1))(p))->DrawCopy(option));\ }\-TObject_p Type ## _DrawDerivative ( Type ## _p p, const char* option )\-{\-return to_nonconst<TObject_t,TObject>((TObject*)TYPECASTMETHOD(Type,DrawDerivative,TF1)(p)->DrawDerivative(option));\+\+TObject_p Type##_DrawDerivative ( Type##_p p, const char* option ) {\+return from_nonconst_to_nonconst<TObject_t, TObject>((TObject*)((TYPECASTMETHOD(Type, DrawDerivative, TF1))(p))->DrawDerivative(option));\ }\-TObject_p Type ## _DrawIntegral ( Type ## _p p, const char* option )\-{\-return to_nonconst<TObject_t,TObject>((TObject*)TYPECASTMETHOD(Type,DrawIntegral,TF1)(p)->DrawIntegral(option));\+\+TObject_p Type##_DrawIntegral ( Type##_p p, const char* option ) {\+return from_nonconst_to_nonconst<TObject_t, TObject>((TObject*)((TYPECASTMETHOD(Type, DrawIntegral, TF1))(p))->DrawIntegral(option));\ }\-void Type ## _FixParameter ( Type ## _p p, int ipar, double value )\-{\-TYPECASTMETHOD(Type,FixParameter,TF1)(p)->FixParameter(ipar, value);\+\+void Type##_FixParameter ( Type##_p p, int ipar, double value ) {\+((TYPECASTMETHOD(Type, FixParameter, TF1))(p))->FixParameter(ipar, value);\ }\-double Type ## _getMaximumTF1 ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx )\-{\-return TYPECASTMETHOD(Type,getMaximumTF1,TF1)(p)->GetMaximum(xmin, xmax, epsilon, maxiter, logx);\+\+double Type##_getMaximumTF1 ( Type##_p p, double xmin, double xmax, double epsilon, double maxiter, bool logx ) {\+return ((TYPECASTMETHOD(Type, getMaximumTF1, TF1))(p))->GetMaximum(xmin, xmax, epsilon, maxiter, logx);\ }\-double Type ## _getMinimumTF1 ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx )\-{\-return TYPECASTMETHOD(Type,getMinimumTF1,TF1)(p)->GetMinimum(xmin, xmax, epsilon, maxiter, logx);\+\+double Type##_getMinimumTF1 ( Type##_p p, double xmin, double xmax, double epsilon, double maxiter, bool logx ) {\+return ((TYPECASTMETHOD(Type, getMinimumTF1, TF1))(p))->GetMinimum(xmin, xmax, epsilon, maxiter, logx);\ }\-double Type ## _GetMaximumX ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx )\-{\-return TYPECASTMETHOD(Type,GetMaximumX,TF1)(p)->GetMaximumX(xmin, xmax, epsilon, maxiter, logx);\+\+double Type##_GetMaximumX ( Type##_p p, double xmin, double xmax, double epsilon, double maxiter, bool logx ) {\+return ((TYPECASTMETHOD(Type, GetMaximumX, TF1))(p))->GetMaximumX(xmin, xmax, epsilon, maxiter, logx);\ }\-double Type ## _GetMinimumX ( Type ## _p p, double xmin, double xmax, double epsilon, double maxiter, int logx )\-{\-return TYPECASTMETHOD(Type,GetMinimumX,TF1)(p)->GetMinimumX(xmin, xmax, epsilon, maxiter, logx);\+\+double Type##_GetMinimumX ( Type##_p p, double xmin, double xmax, double epsilon, double maxiter, bool logx ) {\+return ((TYPECASTMETHOD(Type, GetMinimumX, TF1))(p))->GetMinimumX(xmin, xmax, epsilon, maxiter, logx);\ }\-int Type ## _GetNDF ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetNDF,TF1)(p)->GetNDF();\+\+int Type##_GetNDF ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetNDF, TF1))(p))->GetNDF();\ }\-int Type ## _GetNpx ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetNpx,TF1)(p)->GetNpx();\+\+int Type##_GetNpx ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetNpx, TF1))(p))->GetNpx();\ }\-int Type ## _GetNumberFreeParameters ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetNumberFreeParameters,TF1)(p)->GetNumberFreeParameters();\+\+int Type##_GetNumberFreeParameters ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetNumberFreeParameters, TF1))(p))->GetNumberFreeParameters();\ }\-int Type ## _GetNumberFitPoints ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetNumberFitPoints,TF1)(p)->GetNumberFitPoints();\+\+int Type##_GetNumberFitPoints ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetNumberFitPoints, TF1))(p))->GetNumberFitPoints();\ }\-double Type ## _GetParError ( Type ## _p p, int ipar )\-{\-return TYPECASTMETHOD(Type,GetParError,TF1)(p)->GetParError(ipar);\+\+double Type##_GetParError ( Type##_p p, int ipar ) {\+return ((TYPECASTMETHOD(Type, GetParError, TF1))(p))->GetParError(ipar);\ }\-double Type ## _GetProb ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetProb,TF1)(p)->GetProb();\+\+double Type##_GetProb ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetProb, TF1))(p))->GetProb();\ }\-int Type ## _getQuantilesTF1 ( Type ## _p p, int nprobSum, double * q, double * probSum )\-{\-return TYPECASTMETHOD(Type,getQuantilesTF1,TF1)(p)->GetQuantiles(nprobSum, q, probSum);\+\+int Type##_getQuantilesTF1 ( Type##_p p, int nprobSum, double* q, double* probSum ) {\+return ((TYPECASTMETHOD(Type, getQuantilesTF1, TF1))(p))->GetQuantiles(nprobSum, q, probSum);\ }\-double Type ## _getRandomTF1 ( Type ## _p p, double xmin, double xmax )\-{\-return TYPECASTMETHOD(Type,getRandomTF1,TF1)(p)->GetRandom(xmin, xmax);\+\+double Type##_getRandomTF1 ( Type##_p p, double xmin, double xmax ) {\+return ((TYPECASTMETHOD(Type, getRandomTF1, TF1))(p))->GetRandom(xmin, xmax);\ }\-double Type ## _GetSave ( Type ## _p p, double * x )\-{\-return TYPECASTMETHOD(Type,GetSave,TF1)(p)->GetSave(x);\+\+double Type##_GetSave ( Type##_p p, double* x ) {\+return ((TYPECASTMETHOD(Type, GetSave, TF1))(p))->GetSave(x);\ }\-double Type ## _GetX ( Type ## _p p, double y, double xmin, double xmax, double epsilon, int maxiter )\-{\-return TYPECASTMETHOD(Type,GetX,TF1)(p)->GetX(y, xmin, xmax, epsilon, maxiter);\+\+double Type##_GetX ( Type##_p p, double y, double xmin, double xmax, double epsilon, int maxiter ) {\+return ((TYPECASTMETHOD(Type, GetX, TF1))(p))->GetX(y, xmin, xmax, epsilon, maxiter);\ }\-double Type ## _GetXmin ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetXmin,TF1)(p)->GetXmin();\+\+double Type##_GetXmin ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetXmin, TF1))(p))->GetXmin();\ }\-double Type ## _GetXmax ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetXmax,TF1)(p)->GetXmax();\+\+double Type##_GetXmax ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetXmax, TF1))(p))->GetXmax();\ }\-double Type ## _GradientPar ( Type ## _p p, int ipar, double * x, double eps )\-{\-return TYPECASTMETHOD(Type,GradientPar,TF1)(p)->GradientPar(ipar, x, eps);\+\+double Type##_GradientPar ( Type##_p p, int ipar, double* x, double eps ) {\+return ((TYPECASTMETHOD(Type, GradientPar, TF1))(p))->GradientPar(ipar, x, eps);\ }\-void Type ## _InitArgs ( Type ## _p p, double * x, double * params )\-{\-TYPECASTMETHOD(Type,InitArgs,TF1)(p)->InitArgs(x, params);\+\+void Type##_InitArgs ( Type##_p p, double* x, double* params ) {\+((TYPECASTMETHOD(Type, InitArgs, TF1))(p))->InitArgs(x, params);\ }\-double Type ## _IntegralTF1 ( Type ## _p p, double a, double b, double epsilon )\-{\-return TYPECASTMETHOD(Type,IntegralTF1,TF1)(p)->Integral(a, b, epsilon);\+\+double Type##_IntegralTF1 ( Type##_p p, double a, double b, double epsilon ) {\+return ((TYPECASTMETHOD(Type, IntegralTF1, TF1))(p))->Integral(a, b, epsilon);\ }\-double Type ## _IntegralError ( Type ## _p p, double a, double b, double * params, double * covmat, double epsilon )\-{\-return TYPECASTMETHOD(Type,IntegralError,TF1)(p)->IntegralError(a, b, params, covmat, epsilon);\+\+double Type##_IntegralError ( Type##_p p, double a, double b, double* params, double* covmat, double epsilon ) {\+return ((TYPECASTMETHOD(Type, IntegralError, TF1))(p))->IntegralError(a, b, params, covmat, epsilon);\ }\-double Type ## _IntegralFast ( Type ## _p p, int num, double * x, double * w, double a, double b, double * params, double epsilon )\-{\-return TYPECASTMETHOD(Type,IntegralFast,TF1)(p)->IntegralFast(num, x, w, a, b, params, epsilon);\+\+double Type##_IntegralFast ( Type##_p p, int num, double* x, double* w, double a, double b, double* params, double epsilon ) {\+return ((TYPECASTMETHOD(Type, IntegralFast, TF1))(p))->IntegralFast(num, x, w, a, b, params, epsilon);\ }\-int Type ## _IsInside ( Type ## _p p, double * x )\-{\-return TYPECASTMETHOD(Type,IsInside,TF1)(p)->IsInside(x);\+\+bool Type##_IsInside ( Type##_p p, double* x ) {\+return ((TYPECASTMETHOD(Type, IsInside, TF1))(p))->IsInside(x);\ }\-void Type ## _ReleaseParameter ( Type ## _p p, int ipar )\-{\-TYPECASTMETHOD(Type,ReleaseParameter,TF1)(p)->ReleaseParameter(ipar);\+\+void Type##_ReleaseParameter ( Type##_p p, int ipar ) {\+((TYPECASTMETHOD(Type, ReleaseParameter, TF1))(p))->ReleaseParameter(ipar);\ }\-void Type ## _SetChisquare ( Type ## _p p, double chi2 )\-{\-TYPECASTMETHOD(Type,SetChisquare,TF1)(p)->SetChisquare(chi2);\+\+void Type##_SetChisquare ( Type##_p p, double chi2 ) {\+((TYPECASTMETHOD(Type, SetChisquare, TF1))(p))->SetChisquare(chi2);\ }\-void Type ## _setMaximumTF1 ( Type ## _p p, double maximum )\-{\-TYPECASTMETHOD(Type,setMaximumTF1,TF1)(p)->SetMaximum(maximum);\+\+void Type##_setMaximumTF1 ( Type##_p p, double maximum ) {\+((TYPECASTMETHOD(Type, setMaximumTF1, TF1))(p))->SetMaximum(maximum);\ }\-void Type ## _setMinimumTF1 ( Type ## _p p, double minimum )\-{\-TYPECASTMETHOD(Type,setMinimumTF1,TF1)(p)->SetMinimum(minimum);\+\+void Type##_setMinimumTF1 ( Type##_p p, double minimum ) {\+((TYPECASTMETHOD(Type, setMinimumTF1, TF1))(p))->SetMinimum(minimum);\ }\-void Type ## _SetNDF ( Type ## _p p, int ndf )\-{\-TYPECASTMETHOD(Type,SetNDF,TF1)(p)->SetNDF(ndf);\+\+void Type##_SetNDF ( Type##_p p, int ndf ) {\+((TYPECASTMETHOD(Type, SetNDF, TF1))(p))->SetNDF(ndf);\ }\-void Type ## _SetNumberFitPoints ( Type ## _p p, int npfits )\-{\-TYPECASTMETHOD(Type,SetNumberFitPoints,TF1)(p)->SetNumberFitPoints(npfits);\+\+void Type##_SetNumberFitPoints ( Type##_p p, int npfits ) {\+((TYPECASTMETHOD(Type, SetNumberFitPoints, TF1))(p))->SetNumberFitPoints(npfits);\ }\-void Type ## _SetNpx ( Type ## _p p, int npx )\-{\-TYPECASTMETHOD(Type,SetNpx,TF1)(p)->SetNpx(npx);\+\+void Type##_SetNpx ( Type##_p p, int npx ) {\+((TYPECASTMETHOD(Type, SetNpx, TF1))(p))->SetNpx(npx);\ }\-void Type ## _SetParError ( Type ## _p p, int ipar, double error )\-{\-TYPECASTMETHOD(Type,SetParError,TF1)(p)->SetParError(ipar, error);\+\+void Type##_SetParError ( Type##_p p, int ipar, double error ) {\+((TYPECASTMETHOD(Type, SetParError, TF1))(p))->SetParError(ipar, error);\ }\-void Type ## _SetParErrors ( Type ## _p p, double * errors )\-{\-TYPECASTMETHOD(Type,SetParErrors,TF1)(p)->SetParErrors(errors);\+\+void Type##_SetParErrors ( Type##_p p, double* errors ) {\+((TYPECASTMETHOD(Type, SetParErrors, TF1))(p))->SetParErrors(errors);\ }\-void Type ## _SetParLimits ( Type ## _p p, int ipar, double parmin, double parmax )\-{\-TYPECASTMETHOD(Type,SetParLimits,TF1)(p)->SetParLimits(ipar, parmin, parmax);\+\+void Type##_SetParLimits ( Type##_p p, int ipar, double parmin, double parmax ) {\+((TYPECASTMETHOD(Type, SetParLimits, TF1))(p))->SetParLimits(ipar, parmin, parmax);\ }\-void Type ## _SetParent ( Type ## _p p, TObject_p parent )\-{\-TYPECASTMETHOD(Type,SetParent,TF1)(p)->SetParent(to_nonconst<TObject,TObject_t>(parent));\+\+void Type##_SetParent ( Type##_p p, TObject_p parent ) {\+((TYPECASTMETHOD(Type, SetParent, TF1))(p))->SetParent(from_nonconst_to_nonconst<TObject, TObject_t>(parent));\ }\-void Type ## _setRange1 ( Type ## _p p, double xmin, double xmax )\-{\-TYPECASTMETHOD(Type,setRange1,TF1)(p)->SetRange(xmin, xmax);\+\+void Type##_setRange1 ( Type##_p p, double xmin, double xmax ) {\+((TYPECASTMETHOD(Type, setRange1, TF1))(p))->SetRange(xmin, xmax);\ }\-void Type ## _setRange2 ( Type ## _p p, double xmin, double xmax, double ymin, double ymax )\-{\-TYPECASTMETHOD(Type,setRange2,TF1)(p)->SetRange(xmin, xmax, ymin, ymax);\+\+void Type##_setRange2 ( Type##_p p, double xmin, double xmax, double ymin, double ymax ) {\+((TYPECASTMETHOD(Type, setRange2, TF1))(p))->SetRange(xmin, xmax, ymin, ymax);\ }\-void Type ## _setRange3 ( Type ## _p p, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax )\-{\-TYPECASTMETHOD(Type,setRange3,TF1)(p)->SetRange(xmin, xmax, ymin, ymax, zmin, zmax);\+\+void Type##_setRange3 ( Type##_p p, double xmin, double xmax, double ymin, double ymax, double zmin, double zmax ) {\+((TYPECASTMETHOD(Type, setRange3, TF1))(p))->SetRange(xmin, xmax, ymin, ymax, zmin, zmax);\ }\-void Type ## _SetSavedPoint ( Type ## _p p, int point, double value )\-{\-TYPECASTMETHOD(Type,SetSavedPoint,TF1)(p)->SetSavedPoint(point, value);\+\+void Type##_SetSavedPoint ( Type##_p p, int point, double value ) {\+((TYPECASTMETHOD(Type, SetSavedPoint, TF1))(p))->SetSavedPoint(point, value);\ }\-double Type ## _Moment ( Type ## _p p, double n, double a, double b, double * params, double epsilon )\-{\-return TYPECASTMETHOD(Type,Moment,TF1)(p)->Moment(n, a, b, params, epsilon);\+\+double Type##_Moment ( Type##_p p, double n, double a, double b, double* params, double epsilon ) {\+return ((TYPECASTMETHOD(Type, Moment, TF1))(p))->Moment(n, a, b, params, epsilon);\ }\-double Type ## _CentralMoment ( Type ## _p p, double n, double a, double b, double * params, double epsilon )\-{\-return TYPECASTMETHOD(Type,CentralMoment,TF1)(p)->CentralMoment(n, a, b, params, epsilon);\+\+double Type##_CentralMoment ( Type##_p p, double n, double a, double b, double* params, double epsilon ) {\+return ((TYPECASTMETHOD(Type, CentralMoment, TF1))(p))->CentralMoment(n, a, b, params, epsilon);\ }\-double Type ## _Mean ( Type ## _p p, double a, double b, double * params, double epsilon )\-{\-return TYPECASTMETHOD(Type,Mean,TF1)(p)->Mean(a, b, params, epsilon);\+\+double Type##_Mean ( Type##_p p, double a, double b, double* params, double epsilon ) {\+return ((TYPECASTMETHOD(Type, Mean, TF1))(p))->Mean(a, b, params, epsilon);\ }\-double Type ## _Variance ( Type ## _p p, double a, double b, double * params, double epsilon )\-{\-return TYPECASTMETHOD(Type,Variance,TF1)(p)->Variance(a, b, params, epsilon);\+\+double Type##_Variance ( Type##_p p, double a, double b, double* params, double epsilon ) {\+return ((TYPECASTMETHOD(Type, Variance, TF1))(p))->Variance(a, b, params, epsilon);\ } -#undef TF1_DEF_NONVIRT-#define TF1_DEF_NONVIRT(Type)\-Type ## _p Type ## _newTF1 ( const char* name, const char* formula, double xmin, double xmax )\-{\-Type * newp = new Type (name, formula, xmin, xmax); \-return to_nonconst<Type ## _t, Type >(newp);\++#define TF1_DEF_NONVIRT(Type) \+Type##_p Type##_newTF1 ( const char* name, const char* formula, double xmin, double xmax ) {\+Type* newp=new Type(name, formula, xmin, xmax);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\ }\-double Type ## _tF1DerivativeError ( )\-{\+\+double Type##_tF1_DerivativeError ( ) {\ return TF1::DerivativeError();\ }\-double Type ## _tF1GetChisquare ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,tF1GetChisquare,TF1)(p)->GetChisquare();\+\+double Type##_tF1_GetChisquare ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tF1_GetChisquare, TF1))(p))->GetChisquare();\ }\-TH1_p Type ## _tF1GetHistogram ( Type ## _p p )\-{\-return to_nonconst<TH1_t,TH1>((TH1*)TYPECASTMETHOD(Type,tF1GetHistogram,TF1)(p)->GetHistogram());\+\+TH1_p Type##_tF1_GetHistogram ( Type##_p p ) {\+return from_nonconst_to_nonconst<TH1_t, TH1>((TH1*)((TYPECASTMETHOD(Type, tF1_GetHistogram, TF1))(p))->GetHistogram());\ }\-TObject_p Type ## _tF1GetParent ( Type ## _p p )\-{\-return to_nonconst<TObject_t,TObject>((TObject*)TYPECASTMETHOD(Type,tF1GetParent,TF1)(p)->GetParent());\+\+TObject_p Type##_tF1_GetParent ( Type##_p p ) {\+return from_nonconst_to_nonconst<TObject_t, TObject>((TObject*)((TYPECASTMETHOD(Type, tF1_GetParent, TF1))(p))->GetParent());\ }\-TAxis_p Type ## _tF1GetXaxis ( Type ## _p p )\-{\-return to_nonconst<TAxis_t,TAxis>((TAxis*)TYPECASTMETHOD(Type,tF1GetXaxis,TF1)(p)->GetXaxis());\+\+TAxis_p Type##_tF1_GetXaxis ( Type##_p p ) {\+return from_nonconst_to_nonconst<TAxis_t, TAxis>((TAxis*)((TYPECASTMETHOD(Type, tF1_GetXaxis, TF1))(p))->GetXaxis());\ }\-TAxis_p Type ## _tF1GetYaxis ( Type ## _p p )\-{\-return to_nonconst<TAxis_t,TAxis>((TAxis*)TYPECASTMETHOD(Type,tF1GetYaxis,TF1)(p)->GetYaxis());\+\+TAxis_p Type##_tF1_GetYaxis ( Type##_p p ) {\+return from_nonconst_to_nonconst<TAxis_t, TAxis>((TAxis*)((TYPECASTMETHOD(Type, tF1_GetYaxis, TF1))(p))->GetYaxis());\ }\-TAxis_p Type ## _tF1GetZaxis ( Type ## _p p )\-{\-return to_nonconst<TAxis_t,TAxis>((TAxis*)TYPECASTMETHOD(Type,tF1GetZaxis,TF1)(p)->GetZaxis());\+\+TAxis_p Type##_tF1_GetZaxis ( Type##_p p ) {\+return from_nonconst_to_nonconst<TAxis_t, TAxis>((TAxis*)((TYPECASTMETHOD(Type, tF1_GetZaxis, TF1))(p))->GetZaxis());\ }\-void Type ## _tF1InitStandardFunctions ( )\-{\+\+void Type##_tF1_InitStandardFunctions ( ) {\ TF1::InitStandardFunctions();\ }\-TF1_p Type ## _tF1GetCurrent ( )\-{\-return to_nonconst<TF1_t,TF1>((TF1*)TF1::GetCurrent());\+\+TF1_p Type##_tF1_GetCurrent ( ) {\+return from_nonconst_to_nonconst<TF1_t, TF1>((TF1*)TF1::GetCurrent());\ }\-void Type ## _tF1AbsValue ( int reject )\-{\+\+void Type##_tF1_AbsValue ( bool reject ) {\ TF1::AbsValue(reject);\ }\-void Type ## _tF1RejectPoint ( int reject )\-{\+\+void Type##_tF1_RejectPoint ( bool reject ) {\ TF1::RejectPoint(reject);\ }\-int Type ## _tF1RejectedPoint ( )\-{\+\+bool Type##_tF1_RejectedPoint ( ) {\ return TF1::RejectedPoint();\ }\-void Type ## _tF1SetCurrent ( TF1_p f1 )\-{\-TF1::SetCurrent(to_nonconst<TF1,TF1_t>(f1));\+\+void Type##_tF1_SetCurrent ( TF1_p f1 ) {\+TF1::SetCurrent(from_nonconst_to_nonconst<TF1, TF1_t>(f1));\ }\-void Type ## _tF1CalcGaussLegendreSamplingPoints ( int num, double * x, double * w, double eps )\-{\+\+void Type##_tF1_CalcGaussLegendreSamplingPoints ( int num, double* x, double* w, double eps ) {\ TF1::CalcGaussLegendreSamplingPoints(num, x, w, eps);\ } -TATTLINE_DECL_VIRT(TF1);-TATTFILL_DECL_VIRT(TF1);-TATTMARKER_DECL_VIRT(TF1);-DELETABLE_DECL_VIRT(TF1); +#define TF1_DEF_ACCESSOR(Type) \ -TF1_DECL_VIRT(TF1); -TF1_DECL_NONVIRT(TF1);---#endif // __HROOT_HIST__TF1__+TATTLINE_DECL_VIRT(TF1)+TATTFILL_DECL_VIRT(TF1)+TATTMARKER_DECL_VIRT(TF1)+DELETABLE_DECL_VIRT(TF1)+TF1_DECL_VIRT(TF1)+TF1_DECL_NONVIRT(TF1)+TF1_DECL_ACCESSOR(TF1) #ifdef __cplusplus }
csrc/HROOTHistTFitResult.cpp view
@@ -1,23 +1,25 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTCoreTNamed.h"+ #include "TFitResult.h"-#include "HROOTHistTFitResult.h" +#include "HROOTHistTFitResult.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TNAMED_DEF_VIRT(TFitResult) TOBJECT_DEF_VIRT(TFitResult) DELETABLE_DEF_VIRT(TFitResult)- TFITRESULT_DEF_VIRT(TFitResult)- TFITRESULT_DEF_NONVIRT(TFitResult)+TFITRESULT_DEF_ACCESSOR(TFitResult)
csrc/HROOTHistTFitResult.h view
@@ -1,44 +1,52 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TFitResult__-#define __HROOT_HIST__TFitResult__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOT-coreType.h" -#undef TFITRESULT_DECL_VIRT + #define TFITRESULT_DECL_VIRT(Type) \ -#undef TFITRESULT_DECL_NONVIRT + #define TFITRESULT_DECL_NONVIRT(Type) \ -#undef TFITRESULT_DEF_VIRT-#define TFITRESULT_DEF_VIRT(Type)\ +#define TFITRESULT_DECL_ACCESSOR(Type) \ -#undef TFITRESULT_DEF_NONVIRT-#define TFITRESULT_DEF_NONVIRT(Type)\ -TNAMED_DECL_VIRT(TFitResult);-TOBJECT_DECL_VIRT(TFitResult);-DELETABLE_DECL_VIRT(TFitResult);+#define TFITRESULT_DEF_VIRT(Type) \ -TFITRESULT_DECL_VIRT(TFitResult); +#define TFITRESULT_DEF_NONVIRT(Type) \ -TFITRESULT_DECL_NONVIRT(TFitResult); -#endif // __HROOT_HIST__TFitResult__+#define TFITRESULT_DEF_ACCESSOR(Type) \++++TNAMED_DECL_VIRT(TFitResult)+TOBJECT_DECL_VIRT(TFitResult)+DELETABLE_DECL_VIRT(TFitResult)+TFITRESULT_DECL_VIRT(TFitResult)+TFITRESULT_DECL_NONVIRT(TFitResult)+TFITRESULT_DECL_ACCESSOR(TFitResult) #ifdef __cplusplus }
csrc/HROOTHistTFitResultPtr.cpp view
@@ -1,20 +1,22 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTFitResult.h"+ #include "TFitResultPtr.h"-#include "HROOTHistTFitResultPtr.h" +#include "HROOTHistTFitResultPtr.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )--+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TFITRESULTPTR_DEF_VIRT(TFitResultPtr)- TFITRESULTPTR_DEF_NONVIRT(TFitResultPtr)+TFITRESULTPTR_DEF_ACCESSOR(TFitResultPtr)
csrc/HROOTHistTFitResultPtr.h view
@@ -1,41 +1,43 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TFitResultPtr__-#define __HROOT_HIST__TFitResultPtr__+#pragma once + #include "HROOT-histType.h" -#undef TFITRESULTPTR_DECL_VIRT #define TFITRESULTPTR_DECL_VIRT(Type) \ -#undef TFITRESULTPTR_DECL_NONVIRT + #define TFITRESULTPTR_DECL_NONVIRT(Type) \-TFitResult_p Type ## _tFitResultPtrGet ( Type ## _p p )+TFitResult_p Type##_tFitResultPtr_Get ( Type##_p p ); -#undef TFITRESULTPTR_DEF_VIRT-#define TFITRESULTPTR_DEF_VIRT(Type)\ +#define TFITRESULTPTR_DECL_ACCESSOR(Type) \ -#undef TFITRESULTPTR_DEF_NONVIRT-#define TFITRESULTPTR_DEF_NONVIRT(Type)\-TFitResult_p Type ## _tFitResultPtrGet ( Type ## _p p )\-{\-return to_nonconst<TFitResult_t,TFitResult>((TFitResult*)TYPECASTMETHOD(Type,tFitResultPtrGet,TFitResultPtr)(p)->Get());\-} +#define TFITRESULTPTR_DEF_VIRT(Type) \ -TFITRESULTPTR_DECL_VIRT(TFitResultPtr); -TFITRESULTPTR_DECL_NONVIRT(TFitResultPtr);+#define TFITRESULTPTR_DEF_NONVIRT(Type) \+TFitResult_p Type##_tFitResultPtr_Get ( Type##_p p ) {\+return from_nonconst_to_nonconst<TFitResult_t, TFitResult>((TFitResult*)((TYPECASTMETHOD(Type, tFitResultPtr_Get, TFitResultPtr))(p))->Get());\+} -#endif // __HROOT_HIST__TFitResultPtr__+#define TFITRESULTPTR_DEF_ACCESSOR(Type) \++++TFITRESULTPTR_DECL_VIRT(TFitResultPtr)+TFITRESULTPTR_DECL_NONVIRT(TFitResultPtr)+TFITRESULTPTR_DECL_ACCESSOR(TFitResultPtr) #ifdef __cplusplus }
csrc/HROOTHistTGraph.cpp view
@@ -1,23 +1,32 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTF1.h"+ #include "HROOTHistTH1F.h"+ #include "HROOTHistTAxis.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "TGraph.h"-#include "HROOTHistTGraph.h" +#include "HROOTHistTGraph.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TNAMED_DEF_VIRT(TGraph) TATTLINE_DEF_VIRT(TGraph)@@ -25,8 +34,7 @@ TATTMARKER_DEF_VIRT(TGraph) TOBJECT_DEF_VIRT(TGraph) DELETABLE_DEF_VIRT(TGraph)- TGRAPH_DEF_VIRT(TGraph)- TGRAPH_DEF_NONVIRT(TGraph)+TGRAPH_DEF_ACCESSOR(TGraph)
csrc/HROOTHistTGraph.h view
@@ -1,267 +1,275 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TGraph__-#define __HROOT_HIST__TGraph__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOT-coreType.h" -#undef TGRAPH_DECL_VIRT + #define TGRAPH_DECL_VIRT(Type) \-void Type ## _Apply ( Type ## _p p, TF1_p f ); \-double Type ## _Chisquare ( Type ## _p p, TF1_p f1 ); \-void Type ## _DrawGraph ( Type ## _p p, int n, double * x, double * y, const char* option ); \-void Type ## _drawPanelTGraph ( Type ## _p p ); \-void Type ## _Expand ( Type ## _p p, int newsize, int step ); \-void Type ## _FitPanelTGraph ( Type ## _p p ); \-double Type ## _getCorrelationFactorTGraph ( Type ## _p p ); \-double Type ## _getCovarianceTGraph ( Type ## _p p ); \-double Type ## _getMeanTGraph ( Type ## _p p, int axis ); \-double Type ## _getRMSTGraph ( Type ## _p p, int axis ); \-double Type ## _GetErrorX ( Type ## _p p, int bin ); \-double Type ## _GetErrorY ( Type ## _p p, int bin ); \-double Type ## _GetErrorXhigh ( Type ## _p p, int bin ); \-double Type ## _GetErrorXlow ( Type ## _p p, int bin ); \-double Type ## _GetErrorYhigh ( Type ## _p p, int bin ); \-double Type ## _GetErrorYlow ( Type ## _p p, int bin ); \-void Type ## _InitExpo ( Type ## _p p, double xmin, double xmax ); \-void Type ## _InitGaus ( Type ## _p p, double xmin, double xmax ); \-void Type ## _InitPolynom ( Type ## _p p, double xmin, double xmax ); \-int Type ## _InsertPoint ( Type ## _p p ); \-double Type ## _integralTGraph ( Type ## _p p, int first, int last ); \-int Type ## _IsEditable ( Type ## _p p ); \-int Type ## _isInsideTGraph ( Type ## _p p, double x, double y ); \-void Type ## _LeastSquareFit ( Type ## _p p, int m, double * a, double xmin, double xmax ); \-void Type ## _PaintStats ( Type ## _p p, TF1_p fit ); \-int Type ## _RemovePoint ( Type ## _p p, int ipoint ); \-void Type ## _SetEditable ( Type ## _p p, int editable ); \-void Type ## _SetHistogram ( Type ## _p p, TH1F_p h ); \-void Type ## _setMaximumTGraph ( Type ## _p p, double maximum ); \-void Type ## _setMinimumTGraph ( Type ## _p p, double minimum ); \-void Type ## _Set ( Type ## _p p, int n ); \-void Type ## _SetPoint ( Type ## _p p, int i, double x, double y )+void Type##_Apply ( Type##_p p, TF1_p f );\+double Type##_Chisquare ( Type##_p p, TF1_p f1 );\+void Type##_DrawGraph ( Type##_p p, int n, double* x, double* y, const char* option );\+void Type##_drawPanelTGraph ( Type##_p p );\+void Type##_Expand ( Type##_p p, int newsize, int step );\+void Type##_FitPanelTGraph ( Type##_p p );\+double Type##_getCorrelationFactorTGraph ( Type##_p p );\+double Type##_getCovarianceTGraph ( Type##_p p );\+double Type##_getMeanTGraph ( Type##_p p, int axis );\+double Type##_getRMSTGraph ( Type##_p p, int axis );\+double Type##_GetErrorX ( Type##_p p, int bin );\+double Type##_GetErrorY ( Type##_p p, int bin );\+double Type##_GetErrorXhigh ( Type##_p p, int bin );\+double Type##_GetErrorXlow ( Type##_p p, int bin );\+double Type##_GetErrorYhigh ( Type##_p p, int bin );\+double Type##_GetErrorYlow ( Type##_p p, int bin );\+void Type##_InitExpo ( Type##_p p, double xmin, double xmax );\+void Type##_InitGaus ( Type##_p p, double xmin, double xmax );\+void Type##_InitPolynom ( Type##_p p, double xmin, double xmax );\+int Type##_InsertPoint ( Type##_p p );\+double Type##_integralTGraph ( Type##_p p, int first, int last );\+bool Type##_IsEditable ( Type##_p p );\+int Type##_isInsideTGraph ( Type##_p p, double x, double y );\+void Type##_LeastSquareFit ( Type##_p p, int m, double* a, double xmin, double xmax );\+void Type##_PaintStats ( Type##_p p, TF1_p fit );\+int Type##_RemovePoint ( Type##_p p, int ipoint );\+void Type##_SetEditable ( Type##_p p, bool editable );\+void Type##_SetHistogram ( Type##_p p, TH1F_p h );\+void Type##_setMaximumTGraph ( Type##_p p, double maximum );\+void Type##_setMinimumTGraph ( Type##_p p, double minimum );\+void Type##_Set ( Type##_p p, int n );\+void Type##_SetPoint ( Type##_p p, int i, double x, double y ); -#undef TGRAPH_DECL_NONVIRT + #define TGRAPH_DECL_NONVIRT(Type) \-Type ## _p Type ## _newTGraph ( int n, double * x, double * y ); \-int Type ## _tGraphGetEditable ( Type ## _p p ); \-TF1_p Type ## _tGraphGetFunction ( Type ## _p p, const char* name ); \-TH1F_p Type ## _tGraphGetHistogram ( Type ## _p p ); \-int Type ## _tGraphGetMaxSize ( Type ## _p p ); \-int Type ## _tGraphGetN ( Type ## _p p ); \-double Type ## _tGraphGetMaximum ( Type ## _p p ); \-double Type ## _tGraphGetMinimum ( Type ## _p p ); \-TAxis_p Type ## _tGraphGetXaxis ( Type ## _p p ); \-TAxis_p Type ## _tGraphGetYaxis ( Type ## _p p ); \-void Type ## _tGraphPaintGraph ( Type ## _p p, int npoints, double * x, double * y, const char* chopt ); \-void Type ## _tGraphPaintGrapHist ( Type ## _p p, int npoints, double * x, double * y, const char* chopt )+Type##_p Type##_newTGraph ( int n, double* x, double* y );\+bool Type##_tGraph_GetEditable ( Type##_p p );\+TF1_p Type##_tGraph_GetFunction ( Type##_p p, const char* name );\+TH1F_p Type##_tGraph_GetHistogram ( Type##_p p );\+int Type##_tGraph_GetMaxSize ( Type##_p p );\+int Type##_tGraph_GetN ( Type##_p p );\+double Type##_tGraph_GetMaximum ( Type##_p p );\+double Type##_tGraph_GetMinimum ( Type##_p p );\+TAxis_p Type##_tGraph_GetXaxis ( Type##_p p );\+TAxis_p Type##_tGraph_GetYaxis ( Type##_p p );\+void Type##_tGraph_PaintGraph ( Type##_p p, int npoints, double* x, double* y, const char* chopt );\+void Type##_tGraph_PaintGrapHist ( Type##_p p, int npoints, double* x, double* y, const char* chopt ); -#undef TGRAPH_DEF_VIRT-#define TGRAPH_DEF_VIRT(Type)\-void Type ## _Apply ( Type ## _p p, TF1_p f )\-{\-TYPECASTMETHOD(Type,Apply,TGraph)(p)->Apply(to_nonconst<TF1,TF1_t>(f));\++#define TGRAPH_DECL_ACCESSOR(Type) \++++#define TGRAPH_DEF_VIRT(Type) \+void Type##_Apply ( Type##_p p, TF1_p f ) {\+((TYPECASTMETHOD(Type, Apply, TGraph))(p))->Apply(from_nonconst_to_nonconst<TF1, TF1_t>(f));\ }\-double Type ## _Chisquare ( Type ## _p p, TF1_p f1 )\-{\-return TYPECASTMETHOD(Type,Chisquare,TGraph)(p)->Chisquare(to_nonconst<TF1,TF1_t>(f1));\+\+double Type##_Chisquare ( Type##_p p, TF1_p f1 ) {\+return ((TYPECASTMETHOD(Type, Chisquare, TGraph))(p))->Chisquare(from_nonconst_to_nonconst<TF1, TF1_t>(f1));\ }\-void Type ## _DrawGraph ( Type ## _p p, int n, double * x, double * y, const char* option )\-{\-TYPECASTMETHOD(Type,DrawGraph,TGraph)(p)->DrawGraph(n, x, y, option);\+\+void Type##_DrawGraph ( Type##_p p, int n, double* x, double* y, const char* option ) {\+((TYPECASTMETHOD(Type, DrawGraph, TGraph))(p))->DrawGraph(n, x, y, option);\ }\-void Type ## _drawPanelTGraph ( Type ## _p p )\-{\-TYPECASTMETHOD(Type,drawPanelTGraph,TGraph)(p)->DrawPanel();\+\+void Type##_drawPanelTGraph ( Type##_p p ) {\+((TYPECASTMETHOD(Type, drawPanelTGraph, TGraph))(p))->DrawPanel();\ }\-void Type ## _Expand ( Type ## _p p, int newsize, int step )\-{\-TYPECASTMETHOD(Type,Expand,TGraph)(p)->Expand(newsize, step);\+\+void Type##_Expand ( Type##_p p, int newsize, int step ) {\+((TYPECASTMETHOD(Type, Expand, TGraph))(p))->Expand(newsize, step);\ }\-void Type ## _FitPanelTGraph ( Type ## _p p )\-{\-TYPECASTMETHOD(Type,FitPanelTGraph,TGraph)(p)->FitPanel();\+\+void Type##_FitPanelTGraph ( Type##_p p ) {\+((TYPECASTMETHOD(Type, FitPanelTGraph, TGraph))(p))->FitPanel();\ }\-double Type ## _getCorrelationFactorTGraph ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,getCorrelationFactorTGraph,TGraph)(p)->GetCorrelationFactor();\+\+double Type##_getCorrelationFactorTGraph ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, getCorrelationFactorTGraph, TGraph))(p))->GetCorrelationFactor();\ }\-double Type ## _getCovarianceTGraph ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,getCovarianceTGraph,TGraph)(p)->GetCovariance();\+\+double Type##_getCovarianceTGraph ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, getCovarianceTGraph, TGraph))(p))->GetCovariance();\ }\-double Type ## _getMeanTGraph ( Type ## _p p, int axis )\-{\-return TYPECASTMETHOD(Type,getMeanTGraph,TGraph)(p)->GetMean(axis);\+\+double Type##_getMeanTGraph ( Type##_p p, int axis ) {\+return ((TYPECASTMETHOD(Type, getMeanTGraph, TGraph))(p))->GetMean(axis);\ }\-double Type ## _getRMSTGraph ( Type ## _p p, int axis )\-{\-return TYPECASTMETHOD(Type,getRMSTGraph,TGraph)(p)->GetRMS(axis);\+\+double Type##_getRMSTGraph ( Type##_p p, int axis ) {\+return ((TYPECASTMETHOD(Type, getRMSTGraph, TGraph))(p))->GetRMS(axis);\ }\-double Type ## _GetErrorX ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,GetErrorX,TGraph)(p)->GetErrorX(bin);\+\+double Type##_GetErrorX ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, GetErrorX, TGraph))(p))->GetErrorX(bin);\ }\-double Type ## _GetErrorY ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,GetErrorY,TGraph)(p)->GetErrorY(bin);\+\+double Type##_GetErrorY ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, GetErrorY, TGraph))(p))->GetErrorY(bin);\ }\-double Type ## _GetErrorXhigh ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,GetErrorXhigh,TGraph)(p)->GetErrorXhigh(bin);\+\+double Type##_GetErrorXhigh ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, GetErrorXhigh, TGraph))(p))->GetErrorXhigh(bin);\ }\-double Type ## _GetErrorXlow ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,GetErrorXlow,TGraph)(p)->GetErrorXlow(bin);\+\+double Type##_GetErrorXlow ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, GetErrorXlow, TGraph))(p))->GetErrorXlow(bin);\ }\-double Type ## _GetErrorYhigh ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,GetErrorYhigh,TGraph)(p)->GetErrorYhigh(bin);\+\+double Type##_GetErrorYhigh ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, GetErrorYhigh, TGraph))(p))->GetErrorYhigh(bin);\ }\-double Type ## _GetErrorYlow ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,GetErrorYlow,TGraph)(p)->GetErrorYlow(bin);\+\+double Type##_GetErrorYlow ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, GetErrorYlow, TGraph))(p))->GetErrorYlow(bin);\ }\-void Type ## _InitExpo ( Type ## _p p, double xmin, double xmax )\-{\-TYPECASTMETHOD(Type,InitExpo,TGraph)(p)->InitExpo(xmin, xmax);\+\+void Type##_InitExpo ( Type##_p p, double xmin, double xmax ) {\+((TYPECASTMETHOD(Type, InitExpo, TGraph))(p))->InitExpo(xmin, xmax);\ }\-void Type ## _InitGaus ( Type ## _p p, double xmin, double xmax )\-{\-TYPECASTMETHOD(Type,InitGaus,TGraph)(p)->InitGaus(xmin, xmax);\+\+void Type##_InitGaus ( Type##_p p, double xmin, double xmax ) {\+((TYPECASTMETHOD(Type, InitGaus, TGraph))(p))->InitGaus(xmin, xmax);\ }\-void Type ## _InitPolynom ( Type ## _p p, double xmin, double xmax )\-{\-TYPECASTMETHOD(Type,InitPolynom,TGraph)(p)->InitPolynom(xmin, xmax);\+\+void Type##_InitPolynom ( Type##_p p, double xmin, double xmax ) {\+((TYPECASTMETHOD(Type, InitPolynom, TGraph))(p))->InitPolynom(xmin, xmax);\ }\-int Type ## _InsertPoint ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,InsertPoint,TGraph)(p)->InsertPoint();\+\+int Type##_InsertPoint ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, InsertPoint, TGraph))(p))->InsertPoint();\ }\-double Type ## _integralTGraph ( Type ## _p p, int first, int last )\-{\-return TYPECASTMETHOD(Type,integralTGraph,TGraph)(p)->Integral(first, last);\+\+double Type##_integralTGraph ( Type##_p p, int first, int last ) {\+return ((TYPECASTMETHOD(Type, integralTGraph, TGraph))(p))->Integral(first, last);\ }\-int Type ## _IsEditable ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,IsEditable,TGraph)(p)->IsEditable();\+\+bool Type##_IsEditable ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, IsEditable, TGraph))(p))->IsEditable();\ }\-int Type ## _isInsideTGraph ( Type ## _p p, double x, double y )\-{\-return TYPECASTMETHOD(Type,isInsideTGraph,TGraph)(p)->IsInside(x, y);\+\+int Type##_isInsideTGraph ( Type##_p p, double x, double y ) {\+return ((TYPECASTMETHOD(Type, isInsideTGraph, TGraph))(p))->IsInside(x, y);\ }\-void Type ## _LeastSquareFit ( Type ## _p p, int m, double * a, double xmin, double xmax )\-{\-TYPECASTMETHOD(Type,LeastSquareFit,TGraph)(p)->LeastSquareFit(m, a, xmin, xmax);\+\+void Type##_LeastSquareFit ( Type##_p p, int m, double* a, double xmin, double xmax ) {\+((TYPECASTMETHOD(Type, LeastSquareFit, TGraph))(p))->LeastSquareFit(m, a, xmin, xmax);\ }\-void Type ## _PaintStats ( Type ## _p p, TF1_p fit )\-{\-TYPECASTMETHOD(Type,PaintStats,TGraph)(p)->PaintStats(to_nonconst<TF1,TF1_t>(fit));\+\+void Type##_PaintStats ( Type##_p p, TF1_p fit ) {\+((TYPECASTMETHOD(Type, PaintStats, TGraph))(p))->PaintStats(from_nonconst_to_nonconst<TF1, TF1_t>(fit));\ }\-int Type ## _RemovePoint ( Type ## _p p, int ipoint )\-{\-return TYPECASTMETHOD(Type,RemovePoint,TGraph)(p)->RemovePoint(ipoint);\+\+int Type##_RemovePoint ( Type##_p p, int ipoint ) {\+return ((TYPECASTMETHOD(Type, RemovePoint, TGraph))(p))->RemovePoint(ipoint);\ }\-void Type ## _SetEditable ( Type ## _p p, int editable )\-{\-TYPECASTMETHOD(Type,SetEditable,TGraph)(p)->SetEditable(editable);\+\+void Type##_SetEditable ( Type##_p p, bool editable ) {\+((TYPECASTMETHOD(Type, SetEditable, TGraph))(p))->SetEditable(editable);\ }\-void Type ## _SetHistogram ( Type ## _p p, TH1F_p h )\-{\-TYPECASTMETHOD(Type,SetHistogram,TGraph)(p)->SetHistogram(to_nonconst<TH1F,TH1F_t>(h));\+\+void Type##_SetHistogram ( Type##_p p, TH1F_p h ) {\+((TYPECASTMETHOD(Type, SetHistogram, TGraph))(p))->SetHistogram(from_nonconst_to_nonconst<TH1F, TH1F_t>(h));\ }\-void Type ## _setMaximumTGraph ( Type ## _p p, double maximum )\-{\-TYPECASTMETHOD(Type,setMaximumTGraph,TGraph)(p)->SetMaximum(maximum);\+\+void Type##_setMaximumTGraph ( Type##_p p, double maximum ) {\+((TYPECASTMETHOD(Type, setMaximumTGraph, TGraph))(p))->SetMaximum(maximum);\ }\-void Type ## _setMinimumTGraph ( Type ## _p p, double minimum )\-{\-TYPECASTMETHOD(Type,setMinimumTGraph,TGraph)(p)->SetMinimum(minimum);\+\+void Type##_setMinimumTGraph ( Type##_p p, double minimum ) {\+((TYPECASTMETHOD(Type, setMinimumTGraph, TGraph))(p))->SetMinimum(minimum);\ }\-void Type ## _Set ( Type ## _p p, int n )\-{\-TYPECASTMETHOD(Type,Set,TGraph)(p)->Set(n);\+\+void Type##_Set ( Type##_p p, int n ) {\+((TYPECASTMETHOD(Type, Set, TGraph))(p))->Set(n);\ }\-void Type ## _SetPoint ( Type ## _p p, int i, double x, double y )\-{\-TYPECASTMETHOD(Type,SetPoint,TGraph)(p)->SetPoint(i, x, y);\+\+void Type##_SetPoint ( Type##_p p, int i, double x, double y ) {\+((TYPECASTMETHOD(Type, SetPoint, TGraph))(p))->SetPoint(i, x, y);\ } -#undef TGRAPH_DEF_NONVIRT-#define TGRAPH_DEF_NONVIRT(Type)\-Type ## _p Type ## _newTGraph ( int n, double * x, double * y )\-{\-Type * newp = new Type (n, x, y); \-return to_nonconst<Type ## _t, Type >(newp);\++#define TGRAPH_DEF_NONVIRT(Type) \+Type##_p Type##_newTGraph ( int n, double* x, double* y ) {\+Type* newp=new Type(n, x, y);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\ }\-int Type ## _tGraphGetEditable ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,tGraphGetEditable,TGraph)(p)->GetEditable();\+\+bool Type##_tGraph_GetEditable ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tGraph_GetEditable, TGraph))(p))->GetEditable();\ }\-TF1_p Type ## _tGraphGetFunction ( Type ## _p p, const char* name )\-{\-return to_nonconst<TF1_t,TF1>((TF1*)TYPECASTMETHOD(Type,tGraphGetFunction,TGraph)(p)->GetFunction(name));\+\+TF1_p Type##_tGraph_GetFunction ( Type##_p p, const char* name ) {\+return from_nonconst_to_nonconst<TF1_t, TF1>((TF1*)((TYPECASTMETHOD(Type, tGraph_GetFunction, TGraph))(p))->GetFunction(name));\ }\-TH1F_p Type ## _tGraphGetHistogram ( Type ## _p p )\-{\-return to_nonconst<TH1F_t,TH1F>((TH1F*)TYPECASTMETHOD(Type,tGraphGetHistogram,TGraph)(p)->GetHistogram());\+\+TH1F_p Type##_tGraph_GetHistogram ( Type##_p p ) {\+return from_nonconst_to_nonconst<TH1F_t, TH1F>((TH1F*)((TYPECASTMETHOD(Type, tGraph_GetHistogram, TGraph))(p))->GetHistogram());\ }\-int Type ## _tGraphGetMaxSize ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,tGraphGetMaxSize,TGraph)(p)->GetMaxSize();\+\+int Type##_tGraph_GetMaxSize ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tGraph_GetMaxSize, TGraph))(p))->GetMaxSize();\ }\-int Type ## _tGraphGetN ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,tGraphGetN,TGraph)(p)->GetN();\+\+int Type##_tGraph_GetN ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tGraph_GetN, TGraph))(p))->GetN();\ }\-double Type ## _tGraphGetMaximum ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,tGraphGetMaximum,TGraph)(p)->GetMaximum();\+\+double Type##_tGraph_GetMaximum ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tGraph_GetMaximum, TGraph))(p))->GetMaximum();\ }\-double Type ## _tGraphGetMinimum ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,tGraphGetMinimum,TGraph)(p)->GetMinimum();\+\+double Type##_tGraph_GetMinimum ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tGraph_GetMinimum, TGraph))(p))->GetMinimum();\ }\-TAxis_p Type ## _tGraphGetXaxis ( Type ## _p p )\-{\-return to_nonconst<TAxis_t,TAxis>((TAxis*)TYPECASTMETHOD(Type,tGraphGetXaxis,TGraph)(p)->GetXaxis());\+\+TAxis_p Type##_tGraph_GetXaxis ( Type##_p p ) {\+return from_nonconst_to_nonconst<TAxis_t, TAxis>((TAxis*)((TYPECASTMETHOD(Type, tGraph_GetXaxis, TGraph))(p))->GetXaxis());\ }\-TAxis_p Type ## _tGraphGetYaxis ( Type ## _p p )\-{\-return to_nonconst<TAxis_t,TAxis>((TAxis*)TYPECASTMETHOD(Type,tGraphGetYaxis,TGraph)(p)->GetYaxis());\+\+TAxis_p Type##_tGraph_GetYaxis ( Type##_p p ) {\+return from_nonconst_to_nonconst<TAxis_t, TAxis>((TAxis*)((TYPECASTMETHOD(Type, tGraph_GetYaxis, TGraph))(p))->GetYaxis());\ }\-void Type ## _tGraphPaintGraph ( Type ## _p p, int npoints, double * x, double * y, const char* chopt )\-{\-TYPECASTMETHOD(Type,tGraphPaintGraph,TGraph)(p)->PaintGraph(npoints, x, y, chopt);\+\+void Type##_tGraph_PaintGraph ( Type##_p p, int npoints, double* x, double* y, const char* chopt ) {\+((TYPECASTMETHOD(Type, tGraph_PaintGraph, TGraph))(p))->PaintGraph(npoints, x, y, chopt);\ }\-void Type ## _tGraphPaintGrapHist ( Type ## _p p, int npoints, double * x, double * y, const char* chopt )\-{\-TYPECASTMETHOD(Type,tGraphPaintGrapHist,TGraph)(p)->PaintGrapHist(npoints, x, y, chopt);\+\+void Type##_tGraph_PaintGrapHist ( Type##_p p, int npoints, double* x, double* y, const char* chopt ) {\+((TYPECASTMETHOD(Type, tGraph_PaintGrapHist, TGraph))(p))->PaintGrapHist(npoints, x, y, chopt);\ } -TNAMED_DECL_VIRT(TGraph);-TATTLINE_DECL_VIRT(TGraph);-TATTFILL_DECL_VIRT(TGraph);-TATTMARKER_DECL_VIRT(TGraph);-TOBJECT_DECL_VIRT(TGraph);-DELETABLE_DECL_VIRT(TGraph); +#define TGRAPH_DEF_ACCESSOR(Type) \ -TGRAPH_DECL_VIRT(TGraph); -TGRAPH_DECL_NONVIRT(TGraph);---#endif // __HROOT_HIST__TGraph__+TNAMED_DECL_VIRT(TGraph)+TATTLINE_DECL_VIRT(TGraph)+TATTFILL_DECL_VIRT(TGraph)+TATTMARKER_DECL_VIRT(TGraph)+TOBJECT_DECL_VIRT(TGraph)+DELETABLE_DECL_VIRT(TGraph)+TGRAPH_DECL_VIRT(TGraph)+TGRAPH_DECL_NONVIRT(TGraph)+TGRAPH_DECL_ACCESSOR(TGraph) #ifdef __cplusplus }
+ csrc/HROOTHistTGraph2D.cpp view
@@ -0,0 +1,36 @@++#include "MacroPatternMatch.h"++#include "HROOTHistTAxis.h"++#include "HROOTCoreTNamed.h"++#include "HROOTCoreTAttLine.h"++#include "HROOTCoreTAttFill.h"++#include "HROOTCoreTAttMarker.h"++#include "TGraph2D.h"++#include "HROOTHistTGraph2D.h"++using namespace ROOT;++#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)++#define TYPECASTMETHOD(cname,mname,oname) \+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) )++TNAMED_DEF_VIRT(TGraph2D)+TATTLINE_DEF_VIRT(TGraph2D)+TATTFILL_DEF_VIRT(TGraph2D)+TATTMARKER_DEF_VIRT(TGraph2D)+TOBJECT_DEF_VIRT(TGraph2D)+DELETABLE_DEF_VIRT(TGraph2D)+TGRAPH2D_DEF_VIRT(TGraph2D)+TGRAPH2D_DEF_NONVIRT(TGraph2D)+TGRAPH2D_DEF_ACCESSOR(TGraph2D)+
+ csrc/HROOTHistTGraph2D.h view
@@ -0,0 +1,102 @@++#ifdef __cplusplus+extern "C" {+#endif++#pragma once+++#include "HROOT-histType.h"++#include "HROOTCoreTNamed.h"++#include "HROOTCoreTAttLine.h"++#include "HROOTCoreTAttFill.h"++#include "HROOTCoreTAttMarker.h"++#include "HROOTCoreTObject.h"++#include "STDDeletable.h"++#include "HROOT-coreType.h"+++#define TGRAPH2D_DECL_VIRT(Type) \+void Type##_SetN ( Type##_p p, int n );\+void Type##_SetPointXYZ ( Type##_p p, int i, double x, double y, double z );+++#define TGRAPH2D_DECL_NONVIRT(Type) \+Type##_p Type##_newTGraph2D_ ( );\+Type##_p Type##_newTGraph2D ( int n, double* x, double* y, double* z );\+TAxis_p Type##_tGraph2D_GetXaxis ( Type##_p p );\+TAxis_p Type##_tGraph2D_GetYaxis ( Type##_p p );\+TAxis_p Type##_tGraph2D_GetZaxis ( Type##_p p );\+void Type##_tGraph2D_SetMaximum ( Type##_p p, double x );\+void Type##_tGraph2D_SetMinimum ( Type##_p p, double x );+++#define TGRAPH2D_DECL_ACCESSOR(Type) \++++#define TGRAPH2D_DEF_VIRT(Type) \+void Type##_SetN ( Type##_p p, int n ) {\+((TYPECASTMETHOD(Type, SetN, TGraph2D))(p))->Set(n);\+}\+\+void Type##_SetPointXYZ ( Type##_p p, int i, double x, double y, double z ) {\+((TYPECASTMETHOD(Type, SetPointXYZ, TGraph2D))(p))->SetPoint(i, x, y, z);\+}+++#define TGRAPH2D_DEF_NONVIRT(Type) \+Type##_p Type##_newTGraph2D_ ( ) {\+Type* newp=new Type();return from_nonconst_to_nonconst<Type##_t, Type>(newp);\+}\+\+Type##_p Type##_newTGraph2D ( int n, double* x, double* y, double* z ) {\+Type* newp=new Type(n, x, y, z);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\+}\+\+TAxis_p Type##_tGraph2D_GetXaxis ( Type##_p p ) {\+return from_nonconst_to_nonconst<TAxis_t, TAxis>((TAxis*)((TYPECASTMETHOD(Type, tGraph2D_GetXaxis, TGraph2D))(p))->GetXaxis());\+}\+\+TAxis_p Type##_tGraph2D_GetYaxis ( Type##_p p ) {\+return from_nonconst_to_nonconst<TAxis_t, TAxis>((TAxis*)((TYPECASTMETHOD(Type, tGraph2D_GetYaxis, TGraph2D))(p))->GetYaxis());\+}\+\+TAxis_p Type##_tGraph2D_GetZaxis ( Type##_p p ) {\+return from_nonconst_to_nonconst<TAxis_t, TAxis>((TAxis*)((TYPECASTMETHOD(Type, tGraph2D_GetZaxis, TGraph2D))(p))->GetZaxis());\+}\+\+void Type##_tGraph2D_SetMaximum ( Type##_p p, double x ) {\+((TYPECASTMETHOD(Type, tGraph2D_SetMaximum, TGraph2D))(p))->SetMaximum(x);\+}\+\+void Type##_tGraph2D_SetMinimum ( Type##_p p, double x ) {\+((TYPECASTMETHOD(Type, tGraph2D_SetMinimum, TGraph2D))(p))->SetMinimum(x);\+}+++#define TGRAPH2D_DEF_ACCESSOR(Type) \++++TNAMED_DECL_VIRT(TGraph2D)+TATTLINE_DECL_VIRT(TGraph2D)+TATTFILL_DECL_VIRT(TGraph2D)+TATTMARKER_DECL_VIRT(TGraph2D)+TOBJECT_DECL_VIRT(TGraph2D)+DELETABLE_DECL_VIRT(TGraph2D)+TGRAPH2D_DECL_VIRT(TGraph2D)+TGRAPH2D_DECL_NONVIRT(TGraph2D)+TGRAPH2D_DECL_ACCESSOR(TGraph2D)++#ifdef __cplusplus+}+#endif+
csrc/HROOTHistTGraphAsymmErrors.cpp view
@@ -1,17 +1,20 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTGraph.h"+ #include "TGraphAsymmErrors.h"-#include "HROOTHistTGraphAsymmErrors.h" +#include "HROOTHistTGraphAsymmErrors.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TGRAPH_DEF_VIRT(TGraphAsymmErrors) TNAMED_DEF_VIRT(TGraphAsymmErrors)@@ -20,8 +23,7 @@ TATTMARKER_DEF_VIRT(TGraphAsymmErrors) TOBJECT_DEF_VIRT(TGraphAsymmErrors) DELETABLE_DEF_VIRT(TGraphAsymmErrors)- TGRAPHASYMMERRORS_DEF_VIRT(TGraphAsymmErrors)- TGRAPHASYMMERRORS_DEF_NONVIRT(TGraphAsymmErrors)+TGRAPHASYMMERRORS_DEF_ACCESSOR(TGraphAsymmErrors)
csrc/HROOTHistTGraphAsymmErrors.h view
@@ -1,55 +1,66 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TGraphAsymmErrors__-#define __HROOT_HIST__TGraphAsymmErrors__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTGraph.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h" -#undef TGRAPHASYMMERRORS_DECL_VIRT +#include "STDDeletable.h"++ #define TGRAPHASYMMERRORS_DECL_VIRT(Type) \+void Type##_SetPointErrorA ( Type##_p p, int i, double exl, double exh, double eyl, double eyh ); -#undef TGRAPHASYMMERRORS_DECL_NONVIRT #define TGRAPHASYMMERRORS_DECL_NONVIRT(Type) \-Type ## _p Type ## _newTGraphAsymmErrors ( int n, double * x, double * y, double * exl, double * exh, double * eyl, double * eyh )+Type##_p Type##_newTGraphAsymmErrors ( int n, double* x, double* y, double* exl, double* exh, double* eyl, double* eyh ); -#undef TGRAPHASYMMERRORS_DEF_VIRT-#define TGRAPHASYMMERRORS_DEF_VIRT(Type)\ +#define TGRAPHASYMMERRORS_DECL_ACCESSOR(Type) \ -#undef TGRAPHASYMMERRORS_DEF_NONVIRT-#define TGRAPHASYMMERRORS_DEF_NONVIRT(Type)\-Type ## _p Type ## _newTGraphAsymmErrors ( int n, double * x, double * y, double * exl, double * exh, double * eyl, double * eyh )\-{\-Type * newp = new Type (n, x, y, exl, exh, eyl, eyh); \-return to_nonconst<Type ## _t, Type >(newp);\+++#define TGRAPHASYMMERRORS_DEF_VIRT(Type) \+void Type##_SetPointErrorA ( Type##_p p, int i, double exl, double exh, double eyl, double eyh ) {\+((TYPECASTMETHOD(Type, SetPointErrorA, TGraphAsymmErrors))(p))->SetPointError(i, exl, exh, eyl, eyh);\ } -TGRAPH_DECL_VIRT(TGraphAsymmErrors);-TNAMED_DECL_VIRT(TGraphAsymmErrors);-TATTLINE_DECL_VIRT(TGraphAsymmErrors);-TATTFILL_DECL_VIRT(TGraphAsymmErrors);-TATTMARKER_DECL_VIRT(TGraphAsymmErrors);-TOBJECT_DECL_VIRT(TGraphAsymmErrors);-DELETABLE_DECL_VIRT(TGraphAsymmErrors); +#define TGRAPHASYMMERRORS_DEF_NONVIRT(Type) \+Type##_p Type##_newTGraphAsymmErrors ( int n, double* x, double* y, double* exl, double* exh, double* eyl, double* eyh ) {\+Type* newp=new Type(n, x, y, exl, exh, eyl, eyh);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\+} -TGRAPHASYMMERRORS_DECL_VIRT(TGraphAsymmErrors); +#define TGRAPHASYMMERRORS_DEF_ACCESSOR(Type) \ -TGRAPHASYMMERRORS_DECL_NONVIRT(TGraphAsymmErrors); -#endif // __HROOT_HIST__TGraphAsymmErrors__+TGRAPH_DECL_VIRT(TGraphAsymmErrors)+TNAMED_DECL_VIRT(TGraphAsymmErrors)+TATTLINE_DECL_VIRT(TGraphAsymmErrors)+TATTFILL_DECL_VIRT(TGraphAsymmErrors)+TATTMARKER_DECL_VIRT(TGraphAsymmErrors)+TOBJECT_DECL_VIRT(TGraphAsymmErrors)+DELETABLE_DECL_VIRT(TGraphAsymmErrors)+TGRAPHASYMMERRORS_DECL_VIRT(TGraphAsymmErrors)+TGRAPHASYMMERRORS_DECL_NONVIRT(TGraphAsymmErrors)+TGRAPHASYMMERRORS_DECL_ACCESSOR(TGraphAsymmErrors) #ifdef __cplusplus }
csrc/HROOTHistTGraphBentErrors.cpp view
@@ -1,17 +1,20 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTGraph.h"+ #include "TGraphBentErrors.h"-#include "HROOTHistTGraphBentErrors.h" +#include "HROOTHistTGraphBentErrors.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TGRAPH_DEF_VIRT(TGraphBentErrors) TNAMED_DEF_VIRT(TGraphBentErrors)@@ -20,8 +23,7 @@ TATTMARKER_DEF_VIRT(TGraphBentErrors) TOBJECT_DEF_VIRT(TGraphBentErrors) DELETABLE_DEF_VIRT(TGraphBentErrors)- TGRAPHBENTERRORS_DEF_VIRT(TGraphBentErrors)- TGRAPHBENTERRORS_DEF_NONVIRT(TGraphBentErrors)+TGRAPHBENTERRORS_DEF_ACCESSOR(TGraphBentErrors)
csrc/HROOTHistTGraphBentErrors.h view
@@ -1,55 +1,64 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TGraphBentErrors__-#define __HROOT_HIST__TGraphBentErrors__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTGraph.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h" -#undef TGRAPHBENTERRORS_DECL_VIRT +#include "STDDeletable.h"++ #define TGRAPHBENTERRORS_DECL_VIRT(Type) \ -#undef TGRAPHBENTERRORS_DECL_NONVIRT + #define TGRAPHBENTERRORS_DECL_NONVIRT(Type) \-Type ## _p Type ## _newTGraphBentErrors ( int n, double * x, double * y, double * exl, double * exh, double * eyl, double * eyh, double * exld, double * exhd, double * eyld, double * eyhd )+Type##_p Type##_newTGraphBentErrors ( int n, double* x, double* y, double* exl, double* exh, double* eyl, double* eyh, double* exld, double* exhd, double* eyld, double* eyhd ); -#undef TGRAPHBENTERRORS_DEF_VIRT-#define TGRAPHBENTERRORS_DEF_VIRT(Type)\ +#define TGRAPHBENTERRORS_DECL_ACCESSOR(Type) \ -#undef TGRAPHBENTERRORS_DEF_NONVIRT-#define TGRAPHBENTERRORS_DEF_NONVIRT(Type)\-Type ## _p Type ## _newTGraphBentErrors ( int n, double * x, double * y, double * exl, double * exh, double * eyl, double * eyh, double * exld, double * exhd, double * eyld, double * eyhd )\-{\-Type * newp = new Type (n, x, y, exl, exh, eyl, eyh, exld, exhd, eyld, eyhd); \-return to_nonconst<Type ## _t, Type >(newp);\-} -TGRAPH_DECL_VIRT(TGraphBentErrors);-TNAMED_DECL_VIRT(TGraphBentErrors);-TATTLINE_DECL_VIRT(TGraphBentErrors);-TATTFILL_DECL_VIRT(TGraphBentErrors);-TATTMARKER_DECL_VIRT(TGraphBentErrors);-TOBJECT_DECL_VIRT(TGraphBentErrors);-DELETABLE_DECL_VIRT(TGraphBentErrors); +#define TGRAPHBENTERRORS_DEF_VIRT(Type) \ -TGRAPHBENTERRORS_DECL_VIRT(TGraphBentErrors); -TGRAPHBENTERRORS_DECL_NONVIRT(TGraphBentErrors);+#define TGRAPHBENTERRORS_DEF_NONVIRT(Type) \+Type##_p Type##_newTGraphBentErrors ( int n, double* x, double* y, double* exl, double* exh, double* eyl, double* eyh, double* exld, double* exhd, double* eyld, double* eyhd ) {\+Type* newp=new Type(n, x, y, exl, exh, eyl, eyh, exld, exhd, eyld, eyhd);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\+} -#endif // __HROOT_HIST__TGraphBentErrors__+#define TGRAPHBENTERRORS_DEF_ACCESSOR(Type) \++++TGRAPH_DECL_VIRT(TGraphBentErrors)+TNAMED_DECL_VIRT(TGraphBentErrors)+TATTLINE_DECL_VIRT(TGraphBentErrors)+TATTFILL_DECL_VIRT(TGraphBentErrors)+TATTMARKER_DECL_VIRT(TGraphBentErrors)+TOBJECT_DECL_VIRT(TGraphBentErrors)+DELETABLE_DECL_VIRT(TGraphBentErrors)+TGRAPHBENTERRORS_DECL_VIRT(TGraphBentErrors)+TGRAPHBENTERRORS_DECL_NONVIRT(TGraphBentErrors)+TGRAPHBENTERRORS_DECL_ACCESSOR(TGraphBentErrors) #ifdef __cplusplus }
csrc/HROOTHistTGraphErrors.cpp view
@@ -1,17 +1,20 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTGraph.h"+ #include "TGraphErrors.h"-#include "HROOTHistTGraphErrors.h" +#include "HROOTHistTGraphErrors.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TGRAPH_DEF_VIRT(TGraphErrors) TNAMED_DEF_VIRT(TGraphErrors)@@ -20,8 +23,7 @@ TATTMARKER_DEF_VIRT(TGraphErrors) TOBJECT_DEF_VIRT(TGraphErrors) DELETABLE_DEF_VIRT(TGraphErrors)- TGRAPHERRORS_DEF_VIRT(TGraphErrors)- TGRAPHERRORS_DEF_NONVIRT(TGraphErrors)+TGRAPHERRORS_DEF_ACCESSOR(TGraphErrors)
csrc/HROOTHistTGraphErrors.h view
@@ -1,55 +1,66 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TGraphErrors__-#define __HROOT_HIST__TGraphErrors__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTGraph.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h" -#undef TGRAPHERRORS_DECL_VIRT +#include "STDDeletable.h"++ #define TGRAPHERRORS_DECL_VIRT(Type) \+void Type##_SetPointError ( Type##_p p, int i, double ex, double ey ); -#undef TGRAPHERRORS_DECL_NONVIRT #define TGRAPHERRORS_DECL_NONVIRT(Type) \-Type ## _p Type ## _newTGraphErrors ( int n, double * x, double * y, double * ex, double * ey )+Type##_p Type##_newTGraphErrors ( int n, double* x, double* y, double* ex, double* ey ); -#undef TGRAPHERRORS_DEF_VIRT-#define TGRAPHERRORS_DEF_VIRT(Type)\ +#define TGRAPHERRORS_DECL_ACCESSOR(Type) \ -#undef TGRAPHERRORS_DEF_NONVIRT-#define TGRAPHERRORS_DEF_NONVIRT(Type)\-Type ## _p Type ## _newTGraphErrors ( int n, double * x, double * y, double * ex, double * ey )\-{\-Type * newp = new Type (n, x, y, ex, ey); \-return to_nonconst<Type ## _t, Type >(newp);\+++#define TGRAPHERRORS_DEF_VIRT(Type) \+void Type##_SetPointError ( Type##_p p, int i, double ex, double ey ) {\+((TYPECASTMETHOD(Type, SetPointError, TGraphErrors))(p))->SetPointError(i, ex, ey);\ } -TGRAPH_DECL_VIRT(TGraphErrors);-TNAMED_DECL_VIRT(TGraphErrors);-TATTLINE_DECL_VIRT(TGraphErrors);-TATTFILL_DECL_VIRT(TGraphErrors);-TATTMARKER_DECL_VIRT(TGraphErrors);-TOBJECT_DECL_VIRT(TGraphErrors);-DELETABLE_DECL_VIRT(TGraphErrors); +#define TGRAPHERRORS_DEF_NONVIRT(Type) \+Type##_p Type##_newTGraphErrors ( int n, double* x, double* y, double* ex, double* ey ) {\+Type* newp=new Type(n, x, y, ex, ey);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\+} -TGRAPHERRORS_DECL_VIRT(TGraphErrors); +#define TGRAPHERRORS_DEF_ACCESSOR(Type) \ -TGRAPHERRORS_DECL_NONVIRT(TGraphErrors); -#endif // __HROOT_HIST__TGraphErrors__+TGRAPH_DECL_VIRT(TGraphErrors)+TNAMED_DECL_VIRT(TGraphErrors)+TATTLINE_DECL_VIRT(TGraphErrors)+TATTFILL_DECL_VIRT(TGraphErrors)+TATTMARKER_DECL_VIRT(TGraphErrors)+TOBJECT_DECL_VIRT(TGraphErrors)+DELETABLE_DECL_VIRT(TGraphErrors)+TGRAPHERRORS_DECL_VIRT(TGraphErrors)+TGRAPHERRORS_DECL_NONVIRT(TGraphErrors)+TGRAPHERRORS_DECL_ACCESSOR(TGraphErrors) #ifdef __cplusplus }
csrc/HROOTHistTH1.cpp view
@@ -1,25 +1,36 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTCoreTDirectory.h"+ #include "HROOTHistTF1.h"+ #include "HROOTCoreTArrayD.h"+ #include "HROOTHistTAxis.h"+ #include "HROOTCoreTObject.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "TH1.h"-#include "HROOTHistTH1.h" +#include "HROOTHistTH1.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TNAMED_DEF_VIRT(TH1) TATTLINE_DEF_VIRT(TH1)@@ -27,8 +38,7 @@ TATTMARKER_DEF_VIRT(TH1) TOBJECT_DEF_VIRT(TH1) DELETABLE_DEF_VIRT(TH1)- TH1_DEF_VIRT(TH1)- TH1_DEF_NONVIRT(TH1)+TH1_DEF_ACCESSOR(TH1)
csrc/HROOTHistTH1.h view
@@ -1,766 +1,770 @@-#ifdef __cplusplus-extern "C" { -#endif--#ifndef __HROOT_HIST__TH1__-#define __HROOT_HIST__TH1__--#include "HROOT-histType.h"-#include "HROOTCoreTNamed.h"-#include "HROOTCoreTAttLine.h"-#include "HROOTCoreTAttFill.h"-#include "HROOTCoreTAttMarker.h"-#include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"-#include "HROOT-coreType.h"--#undef TH1_DECL_VIRT -#define TH1_DECL_VIRT(Type) \-void Type ## _Add ( Type ## _p p, TH1_p h1, double c1 ); \-void Type ## _AddBinContent ( Type ## _p p, int bin, double w ); \-double Type ## _Chi2Test ( Type ## _p p, TH1_p h2, const char* option, double * res ); \-double Type ## _ComputeIntegral ( Type ## _p p ); \-void Type ## _DirectoryAutoAdd ( Type ## _p p, TDirectory_p dir ); \-void Type ## _Divide ( Type ## _p p, TH1_p h1, TH1_p h2, double c1, double c2, const char* option ); \-Type ## _p Type ## _drawCopyTH1 ( Type ## _p p, const char* option ); \-TH1_p Type ## _DrawNormalized ( Type ## _p p, const char* option, double norm ); \-void Type ## _drawPanelTH1 ( Type ## _p p ); \-int Type ## _BufferEmpty ( Type ## _p p, int action ); \-void Type ## _evalF ( Type ## _p p, TF1_p f1, const char* option ); \-TH1_p Type ## _FFT ( Type ## _p p, TH1_p h_output, const char* option ); \-int Type ## _fill1 ( Type ## _p p, double x ); \-int Type ## _fill1w ( Type ## _p p, double x, double w ); \-void Type ## _fillN1 ( Type ## _p p, int ntimes, double * x, double * w, int stride ); \-void Type ## _FillRandom ( Type ## _p p, TH1_p h, int ntimes ); \-int Type ## _FindBin ( Type ## _p p, double x, double y, double z ); \-int Type ## _FindFixBin ( Type ## _p p, double x, double y, double z ); \-int Type ## _FindFirstBinAbove ( Type ## _p p, double threshold, int axis ); \-int Type ## _FindLastBinAbove ( Type ## _p p, double threshold, int axis ); \-void Type ## _Fit ( Type ## _p p, TF1_p f1, const char* option, const char* goption, double xmin, double xmax ); \-void Type ## _FitPanelTH1 ( Type ## _p p ); \-int Type ## _getNdivisionA ( Type ## _p p, const char* axis ); \-int Type ## _getAxisColorA ( Type ## _p p, const char* axis ); \-int Type ## _getLabelColorA ( Type ## _p p, const char* axis ); \-int Type ## _getLabelFontA ( Type ## _p p, const char* axis ); \-double Type ## _getLabelOffsetA ( Type ## _p p, const char* axis ); \-double Type ## _getLabelSizeA ( Type ## _p p, const char* axis ); \-int Type ## _getTitleFontA ( Type ## _p p, const char* axis ); \-double Type ## _getTitleOffsetA ( Type ## _p p, const char* axis ); \-double Type ## _getTitleSizeA ( Type ## _p p, const char* axis ); \-double Type ## _getTickLengthA ( Type ## _p p, const char* axis ); \-double Type ## _GetBarOffset ( Type ## _p p ); \-double Type ## _GetBarWidth ( Type ## _p p ); \-int Type ## _GetContour ( Type ## _p p, double * levels ); \-double Type ## _GetContourLevel ( Type ## _p p, int level ); \-double Type ## _GetContourLevelPad ( Type ## _p p, int level ); \-int Type ## _GetBin ( Type ## _p p, int binx, int biny, int binz ); \-double Type ## _GetBinCenter ( Type ## _p p, int bin ); \-double Type ## _GetBinContent1 ( Type ## _p p, int binx ); \-double Type ## _GetBinContent2 ( Type ## _p p, int binx, int biny ); \-double Type ## _GetBinContent3 ( Type ## _p p, int binx, int biny, int binz ); \-double Type ## _GetBinError1 ( Type ## _p p, int binx ); \-double Type ## _GetBinError2 ( Type ## _p p, int binx, int biny ); \-double Type ## _GetBinError3 ( Type ## _p p, int binx, int biny, int binz ); \-double Type ## _GetBinLowEdge ( Type ## _p p, int bin ); \-double Type ## _GetBinWidth ( Type ## _p p, int bin ); \-double Type ## _GetCellContent ( Type ## _p p, int binx, int biny ); \-double Type ## _GetCellError ( Type ## _p p, int binx, int biny ); \-double Type ## _GetEntries ( Type ## _p p ); \-double Type ## _GetEffectiveEntries ( Type ## _p p ); \-TF1_p Type ## _GetFunction ( Type ## _p p, const char* name ); \-int Type ## _GetDimension ( Type ## _p p ); \-double Type ## _GetKurtosis ( Type ## _p p, int axis ); \-void Type ## _GetLowEdge ( Type ## _p p, double * edge ); \-double Type ## _getMaximumTH1 ( Type ## _p p, double maxval ); \-int Type ## _GetMaximumBin ( Type ## _p p ); \-double Type ## _GetMaximumStored ( Type ## _p p ); \-double Type ## _getMinimumTH1 ( Type ## _p p, double minval ); \-int Type ## _GetMinimumBin ( Type ## _p p ); \-double Type ## _GetMinimumStored ( Type ## _p p ); \-double Type ## _GetMean ( Type ## _p p, int axis ); \-double Type ## _GetMeanError ( Type ## _p p, int axis ); \-double Type ## _GetNbinsX ( Type ## _p p ); \-double Type ## _GetNbinsY ( Type ## _p p ); \-double Type ## _GetNbinsZ ( Type ## _p p ); \-int Type ## _getQuantilesTH1 ( Type ## _p p, int nprobSum, double * q, double * pbSum ); \-double Type ## _GetRandom ( Type ## _p p ); \-void Type ## _GetStats ( Type ## _p p, double * stats ); \-double Type ## _GetSumOfWeights ( Type ## _p p ); \-TArrayD_p Type ## _GetSumw2 ( Type ## _p p ); \-int Type ## _GetSumw2N ( Type ## _p p ); \-double Type ## _GetRMS ( Type ## _p p, int axis ); \-double Type ## _GetRMSError ( Type ## _p p, int axis ); \-double Type ## _GetSkewness ( Type ## _p p, int axis ); \-double Type ## _integral1 ( Type ## _p p, int binx1, int binx2, const char* option ); \-double Type ## _interpolate1 ( Type ## _p p, double x ); \-double Type ## _interpolate2 ( Type ## _p p, double x, double y ); \-double Type ## _interpolate3 ( Type ## _p p, double x, double y, double z ); \-double Type ## _KolmogorovTest ( Type ## _p p, TH1_p h2, const char* option ); \-void Type ## _LabelsDeflate ( Type ## _p p, const char* axis ); \-void Type ## _LabelsInflate ( Type ## _p p, const char* axis ); \-void Type ## _LabelsOption ( Type ## _p p, const char* option, const char* axis ); \-void Type ## _multiflyF ( Type ## _p p, TF1_p h1, double c1 ); \-void Type ## _Multiply ( Type ## _p p, TH1_p h1, TH1_p h2, double c1, double c2, const char* option ); \-void Type ## _PutStats ( Type ## _p p, double * stats ); \-TH1_p Type ## _Rebin ( Type ## _p p, int ngroup, const char* newname, double * xbins ); \-void Type ## _RebinAxis ( Type ## _p p, double x, TAxis_p axis ); \-void Type ## _Rebuild ( Type ## _p p, const char* option ); \-void Type ## _RecursiveRemove ( Type ## _p p, TObject_p obj ); \-void Type ## _Reset ( Type ## _p p, const char* option ); \-void Type ## _ResetStats ( Type ## _p p ); \-void Type ## _Scale ( Type ## _p p, double c1, const char* option ); \-void Type ## _setAxisColorA ( Type ## _p p, int color, const char* axis ); \-void Type ## _SetAxisRange ( Type ## _p p, double xmin, double xmax, const char* axis ); \-void Type ## _SetBarOffset ( Type ## _p p, double offset ); \-void Type ## _SetBarWidth ( Type ## _p p, double width ); \-void Type ## _setBinContent1 ( Type ## _p p, int bin, double content ); \-void Type ## _setBinContent2 ( Type ## _p p, int binx, int biny, double content ); \-void Type ## _setBinContent3 ( Type ## _p p, int binx, int biny, int binz, double content ); \-void Type ## _setBinError1 ( Type ## _p p, int bin, double error ); \-void Type ## _setBinError2 ( Type ## _p p, int binx, int biny, double error ); \-void Type ## _setBinError3 ( Type ## _p p, int binx, int biny, int binz, double error ); \-void Type ## _setBins1 ( Type ## _p p, int nx, double * xBins ); \-void Type ## _setBins2 ( Type ## _p p, int nx, double * xBins, int ny, double * yBins ); \-void Type ## _setBins3 ( Type ## _p p, int nx, double * xBins, int ny, double * yBins, int nz, double * zBins ); \-void Type ## _SetBinsLength ( Type ## _p p, int bin ); \-void Type ## _SetBuffer ( Type ## _p p, int buffersize, const char* option ); \-void Type ## _SetCellContent ( Type ## _p p, int binx, int biny, double content ); \-void Type ## _SetContent ( Type ## _p p, double * content ); \-void Type ## _SetContour ( Type ## _p p, int nlevels, double * levels ); \-void Type ## _SetContourLevel ( Type ## _p p, int level, double value ); \-void Type ## _SetDirectory ( Type ## _p p, TDirectory_p dir ); \-void Type ## _SetEntries ( Type ## _p p, double n ); \-void Type ## _SetError ( Type ## _p p, double * error ); \-void Type ## _setLabelColorA ( Type ## _p p, int color, const char* axis ); \-void Type ## _setLabelSizeA ( Type ## _p p, double size, const char* axis ); \-void Type ## _setLabelFontA ( Type ## _p p, int font, const char* axis ); \-void Type ## _setLabelOffsetA ( Type ## _p p, double offset, const char* axis ); \-void Type ## _SetMaximum ( Type ## _p p, double maximum ); \-void Type ## _SetMinimum ( Type ## _p p, double minimum ); \-void Type ## _SetNormFactor ( Type ## _p p, double factor ); \-void Type ## _SetStats ( Type ## _p p, int stats ); \-void Type ## _SetOption ( Type ## _p p, const char* option ); \-void Type ## _SetXTitle ( Type ## _p p, const char* title ); \-void Type ## _SetYTitle ( Type ## _p p, const char* title ); \-void Type ## _SetZTitle ( Type ## _p p, const char* title ); \-TH1_p Type ## _ShowBackground ( Type ## _p p, int niter, const char* option ); \-int Type ## _ShowPeaks ( Type ## _p p, double sigma, const char* option, double threshold ); \-void Type ## _Smooth ( Type ## _p p, int ntimes, const char* option ); \-void Type ## _Sumw2 ( Type ## _p p )--#undef TH1_DECL_NONVIRT -#define TH1_DECL_NONVIRT(Type) \-Type ## _p Type ## _tH1GetAsymmetry ( Type ## _p p, TH1_p h2, double c2, double dc2 ); \-int Type ## _tH1GetBufferLength ( Type ## _p p ); \-int Type ## _tH1GetBufferSize ( Type ## _p p ); \-int Type ## _tH1GetDefaultBufferSize ( ); \-int Type ## _tH1GetDefaultSumw2 ( ); \-TDirectory_p Type ## _tH1GetDirectory ( Type ## _p p ); \-int Type ## _tH1IsBinOverflow ( Type ## _p p, int bin ); \-int Type ## _tH1IsBinUnderflow ( Type ## _p p, int bin ); \-void Type ## _tH1SetDefaultBufferSize ( int buffersize ); \-void Type ## _tH1SetDefaultSumw2 ( int sumw2 ); \-void Type ## _tH1SmoothArray ( int NN, double * XX, int ntimes ); \-void Type ## _tH1StatOverflows ( int flag ); \-void Type ## _tH1UseCurrentStyle ( Type ## _p p )--#undef TH1_DEF_VIRT-#define TH1_DEF_VIRT(Type)\-void Type ## _Add ( Type ## _p p, TH1_p h1, double c1 )\-{\-TYPECASTMETHOD(Type,Add,TH1)(p)->Add(to_nonconst<TH1,TH1_t>(h1), c1);\-}\-void Type ## _AddBinContent ( Type ## _p p, int bin, double w )\-{\-TYPECASTMETHOD(Type,AddBinContent,TH1)(p)->AddBinContent(bin, w);\-}\-double Type ## _Chi2Test ( Type ## _p p, TH1_p h2, const char* option, double * res )\-{\-return TYPECASTMETHOD(Type,Chi2Test,TH1)(p)->Chi2Test(to_nonconst<TH1,TH1_t>(h2), option, res);\-}\-double Type ## _ComputeIntegral ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,ComputeIntegral,TH1)(p)->ComputeIntegral();\-}\-void Type ## _DirectoryAutoAdd ( Type ## _p p, TDirectory_p dir )\-{\-TYPECASTMETHOD(Type,DirectoryAutoAdd,TH1)(p)->DirectoryAutoAdd(to_nonconst<TDirectory,TDirectory_t>(dir));\-}\-void Type ## _Divide ( Type ## _p p, TH1_p h1, TH1_p h2, double c1, double c2, const char* option )\-{\-TYPECASTMETHOD(Type,Divide,TH1)(p)->Divide(to_nonconst<TH1,TH1_t>(h1), to_nonconst<TH1,TH1_t>(h2), c1, c2, option);\-}\-Type ## _p Type ## _drawCopyTH1 ( Type ## _p p, const char* option )\-{\-return to_nonconst<Type ## _t, Type>((Type *)TYPECASTMETHOD(Type,drawCopyTH1,TH1)(p)->DrawCopy(option)) ;\-}\-TH1_p Type ## _DrawNormalized ( Type ## _p p, const char* option, double norm )\-{\-return to_nonconst<TH1_t,TH1>((TH1*)TYPECASTMETHOD(Type,DrawNormalized,TH1)(p)->DrawNormalized(option, norm));\-}\-void Type ## _drawPanelTH1 ( Type ## _p p )\-{\-TYPECASTMETHOD(Type,drawPanelTH1,TH1)(p)->DrawPanel();\-}\-int Type ## _BufferEmpty ( Type ## _p p, int action )\-{\-return TYPECASTMETHOD(Type,BufferEmpty,TH1)(p)->BufferEmpty(action);\-}\-void Type ## _evalF ( Type ## _p p, TF1_p f1, const char* option )\-{\-TYPECASTMETHOD(Type,evalF,TH1)(p)->Eval(to_nonconst<TF1,TF1_t>(f1), option);\-}\-TH1_p Type ## _FFT ( Type ## _p p, TH1_p h_output, const char* option )\-{\-return to_nonconst<TH1_t,TH1>((TH1*)TYPECASTMETHOD(Type,FFT,TH1)(p)->FFT(to_nonconst<TH1,TH1_t>(h_output), option));\-}\-int Type ## _fill1 ( Type ## _p p, double x )\-{\-return TYPECASTMETHOD(Type,fill1,TH1)(p)->Fill(x);\-}\-int Type ## _fill1w ( Type ## _p p, double x, double w )\-{\-return TYPECASTMETHOD(Type,fill1w,TH1)(p)->Fill(x, w);\-}\-void Type ## _fillN1 ( Type ## _p p, int ntimes, double * x, double * w, int stride )\-{\-TYPECASTMETHOD(Type,fillN1,TH1)(p)->FillN(ntimes, x, w, stride);\-}\-void Type ## _FillRandom ( Type ## _p p, TH1_p h, int ntimes )\-{\-TYPECASTMETHOD(Type,FillRandom,TH1)(p)->FillRandom(to_nonconst<TH1,TH1_t>(h), ntimes);\-}\-int Type ## _FindBin ( Type ## _p p, double x, double y, double z )\-{\-return TYPECASTMETHOD(Type,FindBin,TH1)(p)->FindBin(x, y, z);\-}\-int Type ## _FindFixBin ( Type ## _p p, double x, double y, double z )\-{\-return TYPECASTMETHOD(Type,FindFixBin,TH1)(p)->FindFixBin(x, y, z);\-}\-int Type ## _FindFirstBinAbove ( Type ## _p p, double threshold, int axis )\-{\-return TYPECASTMETHOD(Type,FindFirstBinAbove,TH1)(p)->FindFirstBinAbove(threshold, axis);\-}\-int Type ## _FindLastBinAbove ( Type ## _p p, double threshold, int axis )\-{\-return TYPECASTMETHOD(Type,FindLastBinAbove,TH1)(p)->FindLastBinAbove(threshold, axis);\-}\-void Type ## _Fit ( Type ## _p p, TF1_p f1, const char* option, const char* goption, double xmin, double xmax )\-{\-TYPECASTMETHOD(Type,Fit,TH1)(p)->Fit(to_nonconst<TF1,TF1_t>(f1), option, goption, xmin, xmax);\-}\-void Type ## _FitPanelTH1 ( Type ## _p p )\-{\-TYPECASTMETHOD(Type,FitPanelTH1,TH1)(p)->FitPanel();\-}\-int Type ## _getNdivisionA ( Type ## _p p, const char* axis )\-{\-return TYPECASTMETHOD(Type,getNdivisionA,TH1)(p)->GetNdivisions(axis);\-}\-int Type ## _getAxisColorA ( Type ## _p p, const char* axis )\-{\-return TYPECASTMETHOD(Type,getAxisColorA,TH1)(p)->GetAxisColor(axis);\-}\-int Type ## _getLabelColorA ( Type ## _p p, const char* axis )\-{\-return TYPECASTMETHOD(Type,getLabelColorA,TH1)(p)->GetLabelColor(axis);\-}\-int Type ## _getLabelFontA ( Type ## _p p, const char* axis )\-{\-return TYPECASTMETHOD(Type,getLabelFontA,TH1)(p)->GetLabelFont(axis);\-}\-double Type ## _getLabelOffsetA ( Type ## _p p, const char* axis )\-{\-return TYPECASTMETHOD(Type,getLabelOffsetA,TH1)(p)->GetLabelOffset(axis);\-}\-double Type ## _getLabelSizeA ( Type ## _p p, const char* axis )\-{\-return TYPECASTMETHOD(Type,getLabelSizeA,TH1)(p)->GetLabelSize(axis);\-}\-int Type ## _getTitleFontA ( Type ## _p p, const char* axis )\-{\-return TYPECASTMETHOD(Type,getTitleFontA,TH1)(p)->GetTitleFont(axis);\-}\-double Type ## _getTitleOffsetA ( Type ## _p p, const char* axis )\-{\-return TYPECASTMETHOD(Type,getTitleOffsetA,TH1)(p)->GetTitleOffset(axis);\-}\-double Type ## _getTitleSizeA ( Type ## _p p, const char* axis )\-{\-return TYPECASTMETHOD(Type,getTitleSizeA,TH1)(p)->GetTitleSize(axis);\-}\-double Type ## _getTickLengthA ( Type ## _p p, const char* axis )\-{\-return TYPECASTMETHOD(Type,getTickLengthA,TH1)(p)->GetTickLength(axis);\-}\-double Type ## _GetBarOffset ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetBarOffset,TH1)(p)->GetBarOffset();\-}\-double Type ## _GetBarWidth ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetBarWidth,TH1)(p)->GetBarWidth();\-}\-int Type ## _GetContour ( Type ## _p p, double * levels )\-{\-return TYPECASTMETHOD(Type,GetContour,TH1)(p)->GetContour(levels);\-}\-double Type ## _GetContourLevel ( Type ## _p p, int level )\-{\-return TYPECASTMETHOD(Type,GetContourLevel,TH1)(p)->GetContourLevel(level);\-}\-double Type ## _GetContourLevelPad ( Type ## _p p, int level )\-{\-return TYPECASTMETHOD(Type,GetContourLevelPad,TH1)(p)->GetContourLevelPad(level);\-}\-int Type ## _GetBin ( Type ## _p p, int binx, int biny, int binz )\-{\-return TYPECASTMETHOD(Type,GetBin,TH1)(p)->GetBin(binx, biny, binz);\-}\-double Type ## _GetBinCenter ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,GetBinCenter,TH1)(p)->GetBinCenter(bin);\-}\-double Type ## _GetBinContent1 ( Type ## _p p, int binx )\-{\-return TYPECASTMETHOD(Type,GetBinContent1,TH1)(p)->GetBinContent(binx);\-}\-double Type ## _GetBinContent2 ( Type ## _p p, int binx, int biny )\-{\-return TYPECASTMETHOD(Type,GetBinContent2,TH1)(p)->GetBinContent(binx, biny);\-}\-double Type ## _GetBinContent3 ( Type ## _p p, int binx, int biny, int binz )\-{\-return TYPECASTMETHOD(Type,GetBinContent3,TH1)(p)->GetBinContent(binx, biny, binz);\-}\-double Type ## _GetBinError1 ( Type ## _p p, int binx )\-{\-return TYPECASTMETHOD(Type,GetBinError1,TH1)(p)->GetBinError(binx);\-}\-double Type ## _GetBinError2 ( Type ## _p p, int binx, int biny )\-{\-return TYPECASTMETHOD(Type,GetBinError2,TH1)(p)->GetBinError(binx, biny);\-}\-double Type ## _GetBinError3 ( Type ## _p p, int binx, int biny, int binz )\-{\-return TYPECASTMETHOD(Type,GetBinError3,TH1)(p)->GetBinError(binx, biny, binz);\-}\-double Type ## _GetBinLowEdge ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,GetBinLowEdge,TH1)(p)->GetBinLowEdge(bin);\-}\-double Type ## _GetBinWidth ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,GetBinWidth,TH1)(p)->GetBinWidth(bin);\-}\-double Type ## _GetCellContent ( Type ## _p p, int binx, int biny )\-{\-return TYPECASTMETHOD(Type,GetCellContent,TH1)(p)->GetCellContent(binx, biny);\-}\-double Type ## _GetCellError ( Type ## _p p, int binx, int biny )\-{\-return TYPECASTMETHOD(Type,GetCellError,TH1)(p)->GetCellError(binx, biny);\-}\-double Type ## _GetEntries ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetEntries,TH1)(p)->GetEntries();\-}\-double Type ## _GetEffectiveEntries ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetEffectiveEntries,TH1)(p)->GetEffectiveEntries();\-}\-TF1_p Type ## _GetFunction ( Type ## _p p, const char* name )\-{\-return to_nonconst<TF1_t,TF1>((TF1*)TYPECASTMETHOD(Type,GetFunction,TH1)(p)->GetFunction(name));\-}\-int Type ## _GetDimension ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetDimension,TH1)(p)->GetDimension();\-}\-double Type ## _GetKurtosis ( Type ## _p p, int axis )\-{\-return TYPECASTMETHOD(Type,GetKurtosis,TH1)(p)->GetKurtosis(axis);\-}\-void Type ## _GetLowEdge ( Type ## _p p, double * edge )\-{\-TYPECASTMETHOD(Type,GetLowEdge,TH1)(p)->GetLowEdge(edge);\-}\-double Type ## _getMaximumTH1 ( Type ## _p p, double maxval )\-{\-return TYPECASTMETHOD(Type,getMaximumTH1,TH1)(p)->GetMaximum(maxval);\-}\-int Type ## _GetMaximumBin ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetMaximumBin,TH1)(p)->GetMaximumBin();\-}\-double Type ## _GetMaximumStored ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetMaximumStored,TH1)(p)->GetMaximumStored();\-}\-double Type ## _getMinimumTH1 ( Type ## _p p, double minval )\-{\-return TYPECASTMETHOD(Type,getMinimumTH1,TH1)(p)->GetMinimum(minval);\-}\-int Type ## _GetMinimumBin ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetMinimumBin,TH1)(p)->GetMinimumBin();\-}\-double Type ## _GetMinimumStored ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetMinimumStored,TH1)(p)->GetMinimumStored();\-}\-double Type ## _GetMean ( Type ## _p p, int axis )\-{\-return TYPECASTMETHOD(Type,GetMean,TH1)(p)->GetMean(axis);\-}\-double Type ## _GetMeanError ( Type ## _p p, int axis )\-{\-return TYPECASTMETHOD(Type,GetMeanError,TH1)(p)->GetMeanError(axis);\-}\-double Type ## _GetNbinsX ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetNbinsX,TH1)(p)->GetNbinsX();\-}\-double Type ## _GetNbinsY ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetNbinsY,TH1)(p)->GetNbinsY();\-}\-double Type ## _GetNbinsZ ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetNbinsZ,TH1)(p)->GetNbinsZ();\-}\-int Type ## _getQuantilesTH1 ( Type ## _p p, int nprobSum, double * q, double * pbSum )\-{\-return TYPECASTMETHOD(Type,getQuantilesTH1,TH1)(p)->GetQuantiles(nprobSum, q, pbSum);\-}\-double Type ## _GetRandom ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetRandom,TH1)(p)->GetRandom();\-}\-void Type ## _GetStats ( Type ## _p p, double * stats )\-{\-TYPECASTMETHOD(Type,GetStats,TH1)(p)->GetStats(stats);\-}\-double Type ## _GetSumOfWeights ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetSumOfWeights,TH1)(p)->GetSumOfWeights();\-}\-TArrayD_p Type ## _GetSumw2 ( Type ## _p p )\-{\-return to_nonconst<TArrayD_t,TArrayD>((TArrayD*)TYPECASTMETHOD(Type,GetSumw2,TH1)(p)->GetSumw2());\-}\-int Type ## _GetSumw2N ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetSumw2N,TH1)(p)->GetSumw2N();\-}\-double Type ## _GetRMS ( Type ## _p p, int axis )\-{\-return TYPECASTMETHOD(Type,GetRMS,TH1)(p)->GetRMS(axis);\-}\-double Type ## _GetRMSError ( Type ## _p p, int axis )\-{\-return TYPECASTMETHOD(Type,GetRMSError,TH1)(p)->GetRMSError(axis);\-}\-double Type ## _GetSkewness ( Type ## _p p, int axis )\-{\-return TYPECASTMETHOD(Type,GetSkewness,TH1)(p)->GetSkewness(axis);\-}\-double Type ## _integral1 ( Type ## _p p, int binx1, int binx2, const char* option )\-{\-return TYPECASTMETHOD(Type,integral1,TH1)(p)->Integral(binx1, binx2, option);\-}\-double Type ## _interpolate1 ( Type ## _p p, double x )\-{\-return TYPECASTMETHOD(Type,interpolate1,TH1)(p)->Interpolate(x);\-}\-double Type ## _interpolate2 ( Type ## _p p, double x, double y )\-{\-return TYPECASTMETHOD(Type,interpolate2,TH1)(p)->Interpolate(x, y);\-}\-double Type ## _interpolate3 ( Type ## _p p, double x, double y, double z )\-{\-return TYPECASTMETHOD(Type,interpolate3,TH1)(p)->Interpolate(x, y, z);\-}\-double Type ## _KolmogorovTest ( Type ## _p p, TH1_p h2, const char* option )\-{\-return TYPECASTMETHOD(Type,KolmogorovTest,TH1)(p)->KolmogorovTest(to_nonconst<TH1,TH1_t>(h2), option);\-}\-void Type ## _LabelsDeflate ( Type ## _p p, const char* axis )\-{\-TYPECASTMETHOD(Type,LabelsDeflate,TH1)(p)->LabelsDeflate(axis);\-}\-void Type ## _LabelsInflate ( Type ## _p p, const char* axis )\-{\-TYPECASTMETHOD(Type,LabelsInflate,TH1)(p)->LabelsInflate(axis);\-}\-void Type ## _LabelsOption ( Type ## _p p, const char* option, const char* axis )\-{\-TYPECASTMETHOD(Type,LabelsOption,TH1)(p)->LabelsOption(option, axis);\-}\-void Type ## _multiflyF ( Type ## _p p, TF1_p h1, double c1 )\-{\-TYPECASTMETHOD(Type,multiflyF,TH1)(p)->Multiply(to_nonconst<TF1,TF1_t>(h1), c1);\-}\-void Type ## _Multiply ( Type ## _p p, TH1_p h1, TH1_p h2, double c1, double c2, const char* option )\-{\-TYPECASTMETHOD(Type,Multiply,TH1)(p)->Multiply(to_nonconst<TH1,TH1_t>(h1), to_nonconst<TH1,TH1_t>(h2), c1, c2, option);\-}\-void Type ## _PutStats ( Type ## _p p, double * stats )\-{\-TYPECASTMETHOD(Type,PutStats,TH1)(p)->PutStats(stats);\-}\-TH1_p Type ## _Rebin ( Type ## _p p, int ngroup, const char* newname, double * xbins )\-{\-return to_nonconst<TH1_t,TH1>((TH1*)TYPECASTMETHOD(Type,Rebin,TH1)(p)->Rebin(ngroup, newname, xbins));\-}\-void Type ## _RebinAxis ( Type ## _p p, double x, TAxis_p axis )\-{\-TYPECASTMETHOD(Type,RebinAxis,TH1)(p)->RebinAxis(x, to_nonconst<TAxis,TAxis_t>(axis));\-}\-void Type ## _Rebuild ( Type ## _p p, const char* option )\-{\-TYPECASTMETHOD(Type,Rebuild,TH1)(p)->Rebuild(option);\-}\-void Type ## _RecursiveRemove ( Type ## _p p, TObject_p obj )\-{\-TYPECASTMETHOD(Type,RecursiveRemove,TH1)(p)->RecursiveRemove(to_nonconst<TObject,TObject_t>(obj));\-}\-void Type ## _Reset ( Type ## _p p, const char* option )\-{\-TYPECASTMETHOD(Type,Reset,TH1)(p)->Reset(option);\-}\-void Type ## _ResetStats ( Type ## _p p )\-{\-TYPECASTMETHOD(Type,ResetStats,TH1)(p)->ResetStats();\-}\-void Type ## _Scale ( Type ## _p p, double c1, const char* option )\-{\-TYPECASTMETHOD(Type,Scale,TH1)(p)->Scale(c1, option);\-}\-void Type ## _setAxisColorA ( Type ## _p p, int color, const char* axis )\-{\-TYPECASTMETHOD(Type,setAxisColorA,TH1)(p)->SetAxisColor(color, axis);\-}\-void Type ## _SetAxisRange ( Type ## _p p, double xmin, double xmax, const char* axis )\-{\-TYPECASTMETHOD(Type,SetAxisRange,TH1)(p)->SetAxisRange(xmin, xmax, axis);\-}\-void Type ## _SetBarOffset ( Type ## _p p, double offset )\-{\-TYPECASTMETHOD(Type,SetBarOffset,TH1)(p)->SetBarOffset(offset);\-}\-void Type ## _SetBarWidth ( Type ## _p p, double width )\-{\-TYPECASTMETHOD(Type,SetBarWidth,TH1)(p)->SetBarWidth(width);\-}\-void Type ## _setBinContent1 ( Type ## _p p, int bin, double content )\-{\-TYPECASTMETHOD(Type,setBinContent1,TH1)(p)->SetBinContent(bin, content);\-}\-void Type ## _setBinContent2 ( Type ## _p p, int binx, int biny, double content )\-{\-TYPECASTMETHOD(Type,setBinContent2,TH1)(p)->SetBinContent(binx, biny, content);\-}\-void Type ## _setBinContent3 ( Type ## _p p, int binx, int biny, int binz, double content )\-{\-TYPECASTMETHOD(Type,setBinContent3,TH1)(p)->SetBinContent(binx, biny, binz, content);\-}\-void Type ## _setBinError1 ( Type ## _p p, int bin, double error )\-{\-TYPECASTMETHOD(Type,setBinError1,TH1)(p)->SetBinError(bin, error);\-}\-void Type ## _setBinError2 ( Type ## _p p, int binx, int biny, double error )\-{\-TYPECASTMETHOD(Type,setBinError2,TH1)(p)->SetBinError(binx, biny, error);\-}\-void Type ## _setBinError3 ( Type ## _p p, int binx, int biny, int binz, double error )\-{\-TYPECASTMETHOD(Type,setBinError3,TH1)(p)->SetBinError(binx, biny, binz, error);\-}\-void Type ## _setBins1 ( Type ## _p p, int nx, double * xBins )\-{\-TYPECASTMETHOD(Type,setBins1,TH1)(p)->SetBins(nx, xBins);\-}\-void Type ## _setBins2 ( Type ## _p p, int nx, double * xBins, int ny, double * yBins )\-{\-TYPECASTMETHOD(Type,setBins2,TH1)(p)->SetBins(nx, xBins, ny, yBins);\-}\-void Type ## _setBins3 ( Type ## _p p, int nx, double * xBins, int ny, double * yBins, int nz, double * zBins )\-{\-TYPECASTMETHOD(Type,setBins3,TH1)(p)->SetBins(nx, xBins, ny, yBins, nz, zBins);\-}\-void Type ## _SetBinsLength ( Type ## _p p, int bin )\-{\-TYPECASTMETHOD(Type,SetBinsLength,TH1)(p)->SetBinsLength(bin);\-}\-void Type ## _SetBuffer ( Type ## _p p, int buffersize, const char* option )\-{\-TYPECASTMETHOD(Type,SetBuffer,TH1)(p)->SetBuffer(buffersize, option);\-}\-void Type ## _SetCellContent ( Type ## _p p, int binx, int biny, double content )\-{\-TYPECASTMETHOD(Type,SetCellContent,TH1)(p)->SetCellContent(binx, biny, content);\-}\-void Type ## _SetContent ( Type ## _p p, double * content )\-{\-TYPECASTMETHOD(Type,SetContent,TH1)(p)->SetContent(content);\-}\-void Type ## _SetContour ( Type ## _p p, int nlevels, double * levels )\-{\-TYPECASTMETHOD(Type,SetContour,TH1)(p)->SetContour(nlevels, levels);\-}\-void Type ## _SetContourLevel ( Type ## _p p, int level, double value )\-{\-TYPECASTMETHOD(Type,SetContourLevel,TH1)(p)->SetContourLevel(level, value);\-}\-void Type ## _SetDirectory ( Type ## _p p, TDirectory_p dir )\-{\-TYPECASTMETHOD(Type,SetDirectory,TH1)(p)->SetDirectory(to_nonconst<TDirectory,TDirectory_t>(dir));\-}\-void Type ## _SetEntries ( Type ## _p p, double n )\-{\-TYPECASTMETHOD(Type,SetEntries,TH1)(p)->SetEntries(n);\-}\-void Type ## _SetError ( Type ## _p p, double * error )\-{\-TYPECASTMETHOD(Type,SetError,TH1)(p)->SetError(error);\-}\-void Type ## _setLabelColorA ( Type ## _p p, int color, const char* axis )\-{\-TYPECASTMETHOD(Type,setLabelColorA,TH1)(p)->SetLabelColor(color, axis);\-}\-void Type ## _setLabelSizeA ( Type ## _p p, double size, const char* axis )\-{\-TYPECASTMETHOD(Type,setLabelSizeA,TH1)(p)->SetLabelSize(size, axis);\-}\-void Type ## _setLabelFontA ( Type ## _p p, int font, const char* axis )\-{\-TYPECASTMETHOD(Type,setLabelFontA,TH1)(p)->SetLabelFont(font, axis);\-}\-void Type ## _setLabelOffsetA ( Type ## _p p, double offset, const char* axis )\-{\-TYPECASTMETHOD(Type,setLabelOffsetA,TH1)(p)->SetLabelOffset(offset, axis);\-}\-void Type ## _SetMaximum ( Type ## _p p, double maximum )\-{\-TYPECASTMETHOD(Type,SetMaximum,TH1)(p)->SetMaximum(maximum);\-}\-void Type ## _SetMinimum ( Type ## _p p, double minimum )\-{\-TYPECASTMETHOD(Type,SetMinimum,TH1)(p)->SetMinimum(minimum);\-}\-void Type ## _SetNormFactor ( Type ## _p p, double factor )\-{\-TYPECASTMETHOD(Type,SetNormFactor,TH1)(p)->SetNormFactor(factor);\-}\-void Type ## _SetStats ( Type ## _p p, int stats )\-{\-TYPECASTMETHOD(Type,SetStats,TH1)(p)->SetStats(stats);\-}\-void Type ## _SetOption ( Type ## _p p, const char* option )\-{\-TYPECASTMETHOD(Type,SetOption,TH1)(p)->SetOption(option);\-}\-void Type ## _SetXTitle ( Type ## _p p, const char* title )\-{\-TYPECASTMETHOD(Type,SetXTitle,TH1)(p)->SetXTitle(title);\-}\-void Type ## _SetYTitle ( Type ## _p p, const char* title )\-{\-TYPECASTMETHOD(Type,SetYTitle,TH1)(p)->SetYTitle(title);\-}\-void Type ## _SetZTitle ( Type ## _p p, const char* title )\-{\-TYPECASTMETHOD(Type,SetZTitle,TH1)(p)->SetZTitle(title);\-}\-TH1_p Type ## _ShowBackground ( Type ## _p p, int niter, const char* option )\-{\-return to_nonconst<TH1_t,TH1>((TH1*)TYPECASTMETHOD(Type,ShowBackground,TH1)(p)->ShowBackground(niter, option));\-}\-int Type ## _ShowPeaks ( Type ## _p p, double sigma, const char* option, double threshold )\-{\-return TYPECASTMETHOD(Type,ShowPeaks,TH1)(p)->ShowPeaks(sigma, option, threshold);\-}\-void Type ## _Smooth ( Type ## _p p, int ntimes, const char* option )\-{\-TYPECASTMETHOD(Type,Smooth,TH1)(p)->Smooth(ntimes, option);\-}\-void Type ## _Sumw2 ( Type ## _p p )\-{\-TYPECASTMETHOD(Type,Sumw2,TH1)(p)->Sumw2();\-}--#undef TH1_DEF_NONVIRT-#define TH1_DEF_NONVIRT(Type)\-Type ## _p Type ## _tH1GetAsymmetry ( Type ## _p p, TH1_p h2, double c2, double dc2 )\-{\-return to_nonconst<Type ## _t, Type>((Type *)TYPECASTMETHOD(Type,tH1GetAsymmetry,TH1)(p)->GetAsymmetry(to_nonconst<TH1,TH1_t>(h2), c2, dc2)) ;\-}\-int Type ## _tH1GetBufferLength ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,tH1GetBufferLength,TH1)(p)->GetBufferLength();\-}\-int Type ## _tH1GetBufferSize ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,tH1GetBufferSize,TH1)(p)->GetBufferSize();\-}\-int Type ## _tH1GetDefaultBufferSize ( )\-{\-return TH1::GetDefaultBufferSize();\-}\-int Type ## _tH1GetDefaultSumw2 ( )\-{\-return TH1::GetDefaultSumw2();\-}\-TDirectory_p Type ## _tH1GetDirectory ( Type ## _p p )\-{\-return to_nonconst<TDirectory_t,TDirectory>((TDirectory*)TYPECASTMETHOD(Type,tH1GetDirectory,TH1)(p)->GetDirectory());\-}\-int Type ## _tH1IsBinOverflow ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,tH1IsBinOverflow,TH1)(p)->IsBinOverflow(bin);\-}\-int Type ## _tH1IsBinUnderflow ( Type ## _p p, int bin )\-{\-return TYPECASTMETHOD(Type,tH1IsBinUnderflow,TH1)(p)->IsBinUnderflow(bin);\-}\-void Type ## _tH1SetDefaultBufferSize ( int buffersize )\-{\-TH1::SetDefaultBufferSize(buffersize);\-}\-void Type ## _tH1SetDefaultSumw2 ( int sumw2 )\-{\-TH1::SetDefaultSumw2(sumw2);\-}\-void Type ## _tH1SmoothArray ( int NN, double * XX, int ntimes )\-{\-TH1::SmoothArray(NN, XX, ntimes);\-}\-void Type ## _tH1StatOverflows ( int flag )\-{\-TH1::StatOverflows(flag);\-}\-void Type ## _tH1UseCurrentStyle ( Type ## _p p )\-{\-TYPECASTMETHOD(Type,tH1UseCurrentStyle,TH1)(p)->UseCurrentStyle();\-}--TNAMED_DECL_VIRT(TH1);-TATTLINE_DECL_VIRT(TH1);-TATTFILL_DECL_VIRT(TH1);-TATTMARKER_DECL_VIRT(TH1);-TOBJECT_DECL_VIRT(TH1);-DELETABLE_DECL_VIRT(TH1);---TH1_DECL_VIRT(TH1);---TH1_DECL_NONVIRT(TH1);---#endif // __HROOT_HIST__TH1__++#ifdef __cplusplus+extern "C" {+#endif++#pragma once+++#include "HROOT-histType.h"++#include "HROOTCoreTNamed.h"++#include "HROOTCoreTAttLine.h"++#include "HROOTCoreTAttFill.h"++#include "HROOTCoreTAttMarker.h"++#include "HROOTCoreTObject.h"++#include "STDDeletable.h"++#include "HROOT-coreType.h"+++#define TH1_DECL_VIRT(Type) \+void Type##_Add ( Type##_p p, TH1_p h1, double c1 );\+void Type##_AddBinContent ( Type##_p p, int bin, double w );\+double Type##_Chi2Test ( Type##_p p, TH1_p h2, const char* option, double* res );\+void Type##_DirectoryAutoAdd ( Type##_p p, TDirectory_p dir );\+void Type##_Divide ( Type##_p p, TH1_p h1, TH1_p h2, double c1, double c2, const char* option );\+Type##_p Type##_drawCopyTH1 ( Type##_p p, const char* option );\+TH1_p Type##_DrawNormalized ( Type##_p p, const char* option, double norm );\+void Type##_drawPanelTH1 ( Type##_p p );\+int Type##_BufferEmpty ( Type##_p p, int action );\+void Type##_evalF ( Type##_p p, TF1_p f1, const char* option );\+TH1_p Type##_FFT ( Type##_p p, TH1_p h_output, const char* option );\+int Type##_fill1 ( Type##_p p, double x );\+int Type##_fill1w ( Type##_p p, double x, double w );\+void Type##_fillN1 ( Type##_p p, int ntimes, double* x, double* w, int stride );\+void Type##_FillRandom ( Type##_p p, TH1_p h, int ntimes );\+int Type##_FindBin ( Type##_p p, double x, double y, double z );\+int Type##_FindFixBin ( Type##_p p, double x, double y, double z );\+int Type##_FindFirstBinAbove ( Type##_p p, double threshold, int axis );\+int Type##_FindLastBinAbove ( Type##_p p, double threshold, int axis );\+void Type##_Fit ( Type##_p p, TF1_p f1, const char* option, const char* goption, double xmin, double xmax );\+void Type##_FitPanelTH1 ( Type##_p p );\+int Type##_getNdivisionA ( Type##_p p, const char* axis );\+short Type##_getAxisColorA ( Type##_p p, const char* axis );\+short Type##_getLabelColorA ( Type##_p p, const char* axis );\+short Type##_getLabelFontA ( Type##_p p, const char* axis );\+float Type##_getLabelOffsetA ( Type##_p p, const char* axis );\+float Type##_getLabelSizeA ( Type##_p p, const char* axis );\+short Type##_getTitleFontA ( Type##_p p, const char* axis );\+float Type##_getTitleOffsetA ( Type##_p p, const char* axis );\+float Type##_getTitleSizeA ( Type##_p p, const char* axis );\+float Type##_getTickLengthA ( Type##_p p, const char* axis );\+float Type##_GetBarOffset ( Type##_p p );\+float Type##_GetBarWidth ( Type##_p p );\+int Type##_GetContour ( Type##_p p, double* levels );\+double Type##_GetContourLevel ( Type##_p p, int level );\+double Type##_GetContourLevelPad ( Type##_p p, int level );\+int Type##_GetBin ( Type##_p p, int binx, int biny, int binz );\+double Type##_GetBinCenter ( Type##_p p, int bin );\+double Type##_GetBinContent1 ( Type##_p p, int binx );\+double Type##_GetBinContent2 ( Type##_p p, int binx, int biny );\+double Type##_GetBinContent3 ( Type##_p p, int binx, int biny, int binz );\+double Type##_GetBinError1 ( Type##_p p, int binx );\+double Type##_GetBinError2 ( Type##_p p, int binx, int biny );\+double Type##_GetBinError3 ( Type##_p p, int binx, int biny, int binz );\+double Type##_GetBinLowEdge ( Type##_p p, int bin );\+double Type##_GetBinWidth ( Type##_p p, int bin );\+double Type##_GetCellContent ( Type##_p p, int binx, int biny );\+double Type##_GetCellError ( Type##_p p, int binx, int biny );\+double Type##_GetEntries ( Type##_p p );\+double Type##_GetEffectiveEntries ( Type##_p p );\+TF1_p Type##_GetFunction ( Type##_p p, const char* name );\+int Type##_GetDimension ( Type##_p p );\+double Type##_GetKurtosis ( Type##_p p, int axis );\+void Type##_GetLowEdge ( Type##_p p, double* edge );\+double Type##_getMaximumTH1 ( Type##_p p, double maxval );\+int Type##_GetMaximumBin ( Type##_p p );\+double Type##_GetMaximumStored ( Type##_p p );\+double Type##_getMinimumTH1 ( Type##_p p, double minval );\+int Type##_GetMinimumBin ( Type##_p p );\+double Type##_GetMinimumStored ( Type##_p p );\+double Type##_GetMean ( Type##_p p, int axis );\+double Type##_GetMeanError ( Type##_p p, int axis );\+double Type##_GetNbinsX ( Type##_p p );\+double Type##_GetNbinsY ( Type##_p p );\+double Type##_GetNbinsZ ( Type##_p p );\+int Type##_getQuantilesTH1 ( Type##_p p, int nprobSum, double* q, double* pbSum );\+double Type##_GetRandom ( Type##_p p );\+void Type##_GetStats ( Type##_p p, double* stats );\+double Type##_GetSumOfWeights ( Type##_p p );\+TArrayD_p Type##_GetSumw2 ( Type##_p p );\+int Type##_GetSumw2N ( Type##_p p );\+double Type##_GetRMS ( Type##_p p, int axis );\+double Type##_GetRMSError ( Type##_p p, int axis );\+double Type##_GetSkewness ( Type##_p p, int axis );\+double Type##_interpolate3 ( Type##_p p, double x, double y, double z );\+double Type##_KolmogorovTest ( Type##_p p, TH1_p h2, const char* option );\+void Type##_LabelsDeflate ( Type##_p p, const char* axis );\+void Type##_LabelsInflate ( Type##_p p, const char* axis );\+void Type##_LabelsOption ( Type##_p p, const char* option, const char* axis );\+void Type##_multiflyF ( Type##_p p, TF1_p h1, double c1 );\+void Type##_Multiply ( Type##_p p, TH1_p h1, TH1_p h2, double c1, double c2, const char* option );\+void Type##_PutStats ( Type##_p p, double* stats );\+TH1_p Type##_Rebin ( Type##_p p, int ngroup, const char* newname, double* xbins );\+void Type##_RebinAxis ( Type##_p p, double x, TAxis_p axis );\+void Type##_Rebuild ( Type##_p p, const char* option );\+void Type##_RecursiveRemove ( Type##_p p, TObject_p obj );\+void Type##_Reset ( Type##_p p, const char* option );\+void Type##_ResetStats ( Type##_p p );\+void Type##_Scale ( Type##_p p, double c1, const char* option );\+void Type##_setAxisColorA ( Type##_p p, short color, const char* axis );\+void Type##_SetAxisRange ( Type##_p p, double xmin, double xmax, const char* axis );\+void Type##_SetBarOffset ( Type##_p p, float offset );\+void Type##_SetBarWidth ( Type##_p p, float width );\+void Type##_setBinContent1 ( Type##_p p, int bin, double content );\+void Type##_setBinContent2 ( Type##_p p, int binx, int biny, double content );\+void Type##_setBinContent3 ( Type##_p p, int binx, int biny, int binz, double content );\+void Type##_setBinError1 ( Type##_p p, int bin, double error );\+void Type##_setBinError2 ( Type##_p p, int binx, int biny, double error );\+void Type##_setBinError3 ( Type##_p p, int binx, int biny, int binz, double error );\+void Type##_setBins1 ( Type##_p p, int nx, double* xBins );\+void Type##_setBins2 ( Type##_p p, int nx, double* xBins, int ny, double* yBins );\+void Type##_setBins3 ( Type##_p p, int nx, double* xBins, int ny, double* yBins, int nz, double* zBins );\+void Type##_SetBinsLength ( Type##_p p, int bin );\+void Type##_SetBuffer ( Type##_p p, int buffersize, const char* option );\+void Type##_SetCellContent ( Type##_p p, int binx, int biny, double content );\+void Type##_SetContent ( Type##_p p, double* content );\+void Type##_SetContour ( Type##_p p, int nlevels, double* levels );\+void Type##_SetContourLevel ( Type##_p p, int level, double value );\+void Type##_SetDirectory ( Type##_p p, TDirectory_p dir );\+void Type##_SetEntries ( Type##_p p, double n );\+void Type##_SetError ( Type##_p p, double* error );\+void Type##_setLabelColorA ( Type##_p p, short color, const char* axis );\+void Type##_setLabelSizeA ( Type##_p p, float size, const char* axis );\+void Type##_setLabelFontA ( Type##_p p, short font, const char* axis );\+void Type##_setLabelOffsetA ( Type##_p p, float offset, const char* axis );\+void Type##_SetMaximum ( Type##_p p, double maximum );\+void Type##_SetMinimum ( Type##_p p, double minimum );\+void Type##_SetNormFactor ( Type##_p p, double factor );\+void Type##_SetStats ( Type##_p p, bool stats );\+void Type##_SetOption ( Type##_p p, const char* option );\+void Type##_SetXTitle ( Type##_p p, const char* title );\+void Type##_SetYTitle ( Type##_p p, const char* title );\+void Type##_SetZTitle ( Type##_p p, const char* title );\+TH1_p Type##_ShowBackground ( Type##_p p, int niter, const char* option );\+int Type##_ShowPeaks ( Type##_p p, double sigma, const char* option, double threshold );\+void Type##_Smooth ( Type##_p p, int ntimes, const char* option );\+void Type##_Sumw2 ( Type##_p p );+++#define TH1_DECL_NONVIRT(Type) \+Type##_p Type##_tH1_GetAsymmetry ( Type##_p p, TH1_p h2, double c2, double dc2 );\+int Type##_tH1_GetBufferLength ( Type##_p p );\+int Type##_tH1_GetBufferSize ( Type##_p p );\+int Type##_tH1_GetDefaultBufferSize ( );\+bool Type##_tH1_GetDefaultSumw2 ( );\+TDirectory_p Type##_tH1_GetDirectory ( Type##_p p );\+TAxis_p Type##_tH1_GetXaxis ( Type##_p p );\+TAxis_p Type##_tH1_GetYaxis ( Type##_p p );\+TAxis_p Type##_tH1_GetZaxis ( Type##_p p );\+bool Type##_tH1_IsBinOverflow ( Type##_p p, int bin );\+bool Type##_tH1_IsBinUnderflow ( Type##_p p, int bin );\+void Type##_tH1_SetDefaultBufferSize ( int buffersize );\+void Type##_tH1_SetDefaultSumw2 ( bool sumw2 );\+void Type##_tH1_SmoothArray ( int NN, double* XX, int ntimes );\+void Type##_tH1_StatOverflows ( bool flag );\+void Type##_tH1_UseCurrentStyle ( Type##_p p );+++#define TH1_DECL_ACCESSOR(Type) \++++#define TH1_DEF_VIRT(Type) \+void Type##_Add ( Type##_p p, TH1_p h1, double c1 ) {\+((TYPECASTMETHOD(Type, Add, TH1))(p))->Add(from_nonconst_to_nonconst<TH1, TH1_t>(h1), c1);\+}\+\+void Type##_AddBinContent ( Type##_p p, int bin, double w ) {\+((TYPECASTMETHOD(Type, AddBinContent, TH1))(p))->AddBinContent(bin, w);\+}\+\+double Type##_Chi2Test ( Type##_p p, TH1_p h2, const char* option, double* res ) {\+return ((TYPECASTMETHOD(Type, Chi2Test, TH1))(p))->Chi2Test(from_nonconst_to_nonconst<TH1, TH1_t>(h2), option, res);\+}\+\+void Type##_DirectoryAutoAdd ( Type##_p p, TDirectory_p dir ) {\+((TYPECASTMETHOD(Type, DirectoryAutoAdd, TH1))(p))->DirectoryAutoAdd(from_nonconst_to_nonconst<TDirectory, TDirectory_t>(dir));\+}\+\+void Type##_Divide ( Type##_p p, TH1_p h1, TH1_p h2, double c1, double c2, const char* option ) {\+((TYPECASTMETHOD(Type, Divide, TH1))(p))->Divide(from_nonconst_to_nonconst<TH1, TH1_t>(h1), from_nonconst_to_nonconst<TH1, TH1_t>(h2), c1, c2, option);\+}\+\+Type##_p Type##_drawCopyTH1 ( Type##_p p, const char* option ) {\+return from_nonconst_to_nonconst<Type##_t, Type>((Type*)((TYPECASTMETHOD(Type, drawCopyTH1, TH1))(p))->DrawCopy(option));\+}\+\+TH1_p Type##_DrawNormalized ( Type##_p p, const char* option, double norm ) {\+return from_nonconst_to_nonconst<TH1_t, TH1>((TH1*)((TYPECASTMETHOD(Type, DrawNormalized, TH1))(p))->DrawNormalized(option, norm));\+}\+\+void Type##_drawPanelTH1 ( Type##_p p ) {\+((TYPECASTMETHOD(Type, drawPanelTH1, TH1))(p))->DrawPanel();\+}\+\+int Type##_BufferEmpty ( Type##_p p, int action ) {\+return ((TYPECASTMETHOD(Type, BufferEmpty, TH1))(p))->BufferEmpty(action);\+}\+\+void Type##_evalF ( Type##_p p, TF1_p f1, const char* option ) {\+((TYPECASTMETHOD(Type, evalF, TH1))(p))->Eval(from_nonconst_to_nonconst<TF1, TF1_t>(f1), option);\+}\+\+TH1_p Type##_FFT ( Type##_p p, TH1_p h_output, const char* option ) {\+return from_nonconst_to_nonconst<TH1_t, TH1>((TH1*)((TYPECASTMETHOD(Type, FFT, TH1))(p))->FFT(from_nonconst_to_nonconst<TH1, TH1_t>(h_output), option));\+}\+\+int Type##_fill1 ( Type##_p p, double x ) {\+return ((TYPECASTMETHOD(Type, fill1, TH1))(p))->Fill(x);\+}\+\+int Type##_fill1w ( Type##_p p, double x, double w ) {\+return ((TYPECASTMETHOD(Type, fill1w, TH1))(p))->Fill(x, w);\+}\+\+void Type##_fillN1 ( Type##_p p, int ntimes, double* x, double* w, int stride ) {\+((TYPECASTMETHOD(Type, fillN1, TH1))(p))->FillN(ntimes, x, w, stride);\+}\+\+void Type##_FillRandom ( Type##_p p, TH1_p h, int ntimes ) {\+((TYPECASTMETHOD(Type, FillRandom, TH1))(p))->FillRandom(from_nonconst_to_nonconst<TH1, TH1_t>(h), ntimes);\+}\+\+int Type##_FindBin ( Type##_p p, double x, double y, double z ) {\+return ((TYPECASTMETHOD(Type, FindBin, TH1))(p))->FindBin(x, y, z);\+}\+\+int Type##_FindFixBin ( Type##_p p, double x, double y, double z ) {\+return ((TYPECASTMETHOD(Type, FindFixBin, TH1))(p))->FindFixBin(x, y, z);\+}\+\+int Type##_FindFirstBinAbove ( Type##_p p, double threshold, int axis ) {\+return ((TYPECASTMETHOD(Type, FindFirstBinAbove, TH1))(p))->FindFirstBinAbove(threshold, axis);\+}\+\+int Type##_FindLastBinAbove ( Type##_p p, double threshold, int axis ) {\+return ((TYPECASTMETHOD(Type, FindLastBinAbove, TH1))(p))->FindLastBinAbove(threshold, axis);\+}\+\+void Type##_Fit ( Type##_p p, TF1_p f1, const char* option, const char* goption, double xmin, double xmax ) {\+((TYPECASTMETHOD(Type, Fit, TH1))(p))->Fit(from_nonconst_to_nonconst<TF1, TF1_t>(f1), option, goption, xmin, xmax);\+}\+\+void Type##_FitPanelTH1 ( Type##_p p ) {\+((TYPECASTMETHOD(Type, FitPanelTH1, TH1))(p))->FitPanel();\+}\+\+int Type##_getNdivisionA ( Type##_p p, const char* axis ) {\+return ((TYPECASTMETHOD(Type, getNdivisionA, TH1))(p))->GetNdivisions(axis);\+}\+\+short Type##_getAxisColorA ( Type##_p p, const char* axis ) {\+return ((TYPECASTMETHOD(Type, getAxisColorA, TH1))(p))->GetAxisColor(axis);\+}\+\+short Type##_getLabelColorA ( Type##_p p, const char* axis ) {\+return ((TYPECASTMETHOD(Type, getLabelColorA, TH1))(p))->GetLabelColor(axis);\+}\+\+short Type##_getLabelFontA ( Type##_p p, const char* axis ) {\+return ((TYPECASTMETHOD(Type, getLabelFontA, TH1))(p))->GetLabelFont(axis);\+}\+\+float Type##_getLabelOffsetA ( Type##_p p, const char* axis ) {\+return ((TYPECASTMETHOD(Type, getLabelOffsetA, TH1))(p))->GetLabelOffset(axis);\+}\+\+float Type##_getLabelSizeA ( Type##_p p, const char* axis ) {\+return ((TYPECASTMETHOD(Type, getLabelSizeA, TH1))(p))->GetLabelSize(axis);\+}\+\+short Type##_getTitleFontA ( Type##_p p, const char* axis ) {\+return ((TYPECASTMETHOD(Type, getTitleFontA, TH1))(p))->GetTitleFont(axis);\+}\+\+float Type##_getTitleOffsetA ( Type##_p p, const char* axis ) {\+return ((TYPECASTMETHOD(Type, getTitleOffsetA, TH1))(p))->GetTitleOffset(axis);\+}\+\+float Type##_getTitleSizeA ( Type##_p p, const char* axis ) {\+return ((TYPECASTMETHOD(Type, getTitleSizeA, TH1))(p))->GetTitleSize(axis);\+}\+\+float Type##_getTickLengthA ( Type##_p p, const char* axis ) {\+return ((TYPECASTMETHOD(Type, getTickLengthA, TH1))(p))->GetTickLength(axis);\+}\+\+float Type##_GetBarOffset ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetBarOffset, TH1))(p))->GetBarOffset();\+}\+\+float Type##_GetBarWidth ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetBarWidth, TH1))(p))->GetBarWidth();\+}\+\+int Type##_GetContour ( Type##_p p, double* levels ) {\+return ((TYPECASTMETHOD(Type, GetContour, TH1))(p))->GetContour(levels);\+}\+\+double Type##_GetContourLevel ( Type##_p p, int level ) {\+return ((TYPECASTMETHOD(Type, GetContourLevel, TH1))(p))->GetContourLevel(level);\+}\+\+double Type##_GetContourLevelPad ( Type##_p p, int level ) {\+return ((TYPECASTMETHOD(Type, GetContourLevelPad, TH1))(p))->GetContourLevelPad(level);\+}\+\+int Type##_GetBin ( Type##_p p, int binx, int biny, int binz ) {\+return ((TYPECASTMETHOD(Type, GetBin, TH1))(p))->GetBin(binx, biny, binz);\+}\+\+double Type##_GetBinCenter ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, GetBinCenter, TH1))(p))->GetBinCenter(bin);\+}\+\+double Type##_GetBinContent1 ( Type##_p p, int binx ) {\+return ((TYPECASTMETHOD(Type, GetBinContent1, TH1))(p))->GetBinContent(binx);\+}\+\+double Type##_GetBinContent2 ( Type##_p p, int binx, int biny ) {\+return ((TYPECASTMETHOD(Type, GetBinContent2, TH1))(p))->GetBinContent(binx, biny);\+}\+\+double Type##_GetBinContent3 ( Type##_p p, int binx, int biny, int binz ) {\+return ((TYPECASTMETHOD(Type, GetBinContent3, TH1))(p))->GetBinContent(binx, biny, binz);\+}\+\+double Type##_GetBinError1 ( Type##_p p, int binx ) {\+return ((TYPECASTMETHOD(Type, GetBinError1, TH1))(p))->GetBinError(binx);\+}\+\+double Type##_GetBinError2 ( Type##_p p, int binx, int biny ) {\+return ((TYPECASTMETHOD(Type, GetBinError2, TH1))(p))->GetBinError(binx, biny);\+}\+\+double Type##_GetBinError3 ( Type##_p p, int binx, int biny, int binz ) {\+return ((TYPECASTMETHOD(Type, GetBinError3, TH1))(p))->GetBinError(binx, biny, binz);\+}\+\+double Type##_GetBinLowEdge ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, GetBinLowEdge, TH1))(p))->GetBinLowEdge(bin);\+}\+\+double Type##_GetBinWidth ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, GetBinWidth, TH1))(p))->GetBinWidth(bin);\+}\+\+double Type##_GetCellContent ( Type##_p p, int binx, int biny ) {\+return ((TYPECASTMETHOD(Type, GetCellContent, TH1))(p))->GetCellContent(binx, biny);\+}\+\+double Type##_GetCellError ( Type##_p p, int binx, int biny ) {\+return ((TYPECASTMETHOD(Type, GetCellError, TH1))(p))->GetCellError(binx, biny);\+}\+\+double Type##_GetEntries ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetEntries, TH1))(p))->GetEntries();\+}\+\+double Type##_GetEffectiveEntries ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetEffectiveEntries, TH1))(p))->GetEffectiveEntries();\+}\+\+TF1_p Type##_GetFunction ( Type##_p p, const char* name ) {\+return from_nonconst_to_nonconst<TF1_t, TF1>((TF1*)((TYPECASTMETHOD(Type, GetFunction, TH1))(p))->GetFunction(name));\+}\+\+int Type##_GetDimension ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetDimension, TH1))(p))->GetDimension();\+}\+\+double Type##_GetKurtosis ( Type##_p p, int axis ) {\+return ((TYPECASTMETHOD(Type, GetKurtosis, TH1))(p))->GetKurtosis(axis);\+}\+\+void Type##_GetLowEdge ( Type##_p p, double* edge ) {\+((TYPECASTMETHOD(Type, GetLowEdge, TH1))(p))->GetLowEdge(edge);\+}\+\+double Type##_getMaximumTH1 ( Type##_p p, double maxval ) {\+return ((TYPECASTMETHOD(Type, getMaximumTH1, TH1))(p))->GetMaximum(maxval);\+}\+\+int Type##_GetMaximumBin ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetMaximumBin, TH1))(p))->GetMaximumBin();\+}\+\+double Type##_GetMaximumStored ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetMaximumStored, TH1))(p))->GetMaximumStored();\+}\+\+double Type##_getMinimumTH1 ( Type##_p p, double minval ) {\+return ((TYPECASTMETHOD(Type, getMinimumTH1, TH1))(p))->GetMinimum(minval);\+}\+\+int Type##_GetMinimumBin ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetMinimumBin, TH1))(p))->GetMinimumBin();\+}\+\+double Type##_GetMinimumStored ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetMinimumStored, TH1))(p))->GetMinimumStored();\+}\+\+double Type##_GetMean ( Type##_p p, int axis ) {\+return ((TYPECASTMETHOD(Type, GetMean, TH1))(p))->GetMean(axis);\+}\+\+double Type##_GetMeanError ( Type##_p p, int axis ) {\+return ((TYPECASTMETHOD(Type, GetMeanError, TH1))(p))->GetMeanError(axis);\+}\+\+double Type##_GetNbinsX ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetNbinsX, TH1))(p))->GetNbinsX();\+}\+\+double Type##_GetNbinsY ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetNbinsY, TH1))(p))->GetNbinsY();\+}\+\+double Type##_GetNbinsZ ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetNbinsZ, TH1))(p))->GetNbinsZ();\+}\+\+int Type##_getQuantilesTH1 ( Type##_p p, int nprobSum, double* q, double* pbSum ) {\+return ((TYPECASTMETHOD(Type, getQuantilesTH1, TH1))(p))->GetQuantiles(nprobSum, q, pbSum);\+}\+\+double Type##_GetRandom ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetRandom, TH1))(p))->GetRandom();\+}\+\+void Type##_GetStats ( Type##_p p, double* stats ) {\+((TYPECASTMETHOD(Type, GetStats, TH1))(p))->GetStats(stats);\+}\+\+double Type##_GetSumOfWeights ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetSumOfWeights, TH1))(p))->GetSumOfWeights();\+}\+\+TArrayD_p Type##_GetSumw2 ( Type##_p p ) {\+return from_nonconst_to_nonconst<TArrayD_t, TArrayD>((TArrayD*)((TYPECASTMETHOD(Type, GetSumw2, TH1))(p))->GetSumw2());\+}\+\+int Type##_GetSumw2N ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, GetSumw2N, TH1))(p))->GetSumw2N();\+}\+\+double Type##_GetRMS ( Type##_p p, int axis ) {\+return ((TYPECASTMETHOD(Type, GetRMS, TH1))(p))->GetRMS(axis);\+}\+\+double Type##_GetRMSError ( Type##_p p, int axis ) {\+return ((TYPECASTMETHOD(Type, GetRMSError, TH1))(p))->GetRMSError(axis);\+}\+\+double Type##_GetSkewness ( Type##_p p, int axis ) {\+return ((TYPECASTMETHOD(Type, GetSkewness, TH1))(p))->GetSkewness(axis);\+}\+\+double Type##_interpolate3 ( Type##_p p, double x, double y, double z ) {\+return ((TYPECASTMETHOD(Type, interpolate3, TH1))(p))->Interpolate(x, y, z);\+}\+\+double Type##_KolmogorovTest ( Type##_p p, TH1_p h2, const char* option ) {\+return ((TYPECASTMETHOD(Type, KolmogorovTest, TH1))(p))->KolmogorovTest(from_nonconst_to_nonconst<TH1, TH1_t>(h2), option);\+}\+\+void Type##_LabelsDeflate ( Type##_p p, const char* axis ) {\+((TYPECASTMETHOD(Type, LabelsDeflate, TH1))(p))->LabelsDeflate(axis);\+}\+\+void Type##_LabelsInflate ( Type##_p p, const char* axis ) {\+((TYPECASTMETHOD(Type, LabelsInflate, TH1))(p))->LabelsInflate(axis);\+}\+\+void Type##_LabelsOption ( Type##_p p, const char* option, const char* axis ) {\+((TYPECASTMETHOD(Type, LabelsOption, TH1))(p))->LabelsOption(option, axis);\+}\+\+void Type##_multiflyF ( Type##_p p, TF1_p h1, double c1 ) {\+((TYPECASTMETHOD(Type, multiflyF, TH1))(p))->Multiply(from_nonconst_to_nonconst<TF1, TF1_t>(h1), c1);\+}\+\+void Type##_Multiply ( Type##_p p, TH1_p h1, TH1_p h2, double c1, double c2, const char* option ) {\+((TYPECASTMETHOD(Type, Multiply, TH1))(p))->Multiply(from_nonconst_to_nonconst<TH1, TH1_t>(h1), from_nonconst_to_nonconst<TH1, TH1_t>(h2), c1, c2, option);\+}\+\+void Type##_PutStats ( Type##_p p, double* stats ) {\+((TYPECASTMETHOD(Type, PutStats, TH1))(p))->PutStats(stats);\+}\+\+TH1_p Type##_Rebin ( Type##_p p, int ngroup, const char* newname, double* xbins ) {\+return from_nonconst_to_nonconst<TH1_t, TH1>((TH1*)((TYPECASTMETHOD(Type, Rebin, TH1))(p))->Rebin(ngroup, newname, xbins));\+}\+\+void Type##_RebinAxis ( Type##_p p, double x, TAxis_p axis ) {\+((TYPECASTMETHOD(Type, RebinAxis, TH1))(p))->RebinAxis(x, from_nonconst_to_nonconst<TAxis, TAxis_t>(axis));\+}\+\+void Type##_Rebuild ( Type##_p p, const char* option ) {\+((TYPECASTMETHOD(Type, Rebuild, TH1))(p))->Rebuild(option);\+}\+\+void Type##_RecursiveRemove ( Type##_p p, TObject_p obj ) {\+((TYPECASTMETHOD(Type, RecursiveRemove, TH1))(p))->RecursiveRemove(from_nonconst_to_nonconst<TObject, TObject_t>(obj));\+}\+\+void Type##_Reset ( Type##_p p, const char* option ) {\+((TYPECASTMETHOD(Type, Reset, TH1))(p))->Reset(option);\+}\+\+void Type##_ResetStats ( Type##_p p ) {\+((TYPECASTMETHOD(Type, ResetStats, TH1))(p))->ResetStats();\+}\+\+void Type##_Scale ( Type##_p p, double c1, const char* option ) {\+((TYPECASTMETHOD(Type, Scale, TH1))(p))->Scale(c1, option);\+}\+\+void Type##_setAxisColorA ( Type##_p p, short color, const char* axis ) {\+((TYPECASTMETHOD(Type, setAxisColorA, TH1))(p))->SetAxisColor(color, axis);\+}\+\+void Type##_SetAxisRange ( Type##_p p, double xmin, double xmax, const char* axis ) {\+((TYPECASTMETHOD(Type, SetAxisRange, TH1))(p))->SetAxisRange(xmin, xmax, axis);\+}\+\+void Type##_SetBarOffset ( Type##_p p, float offset ) {\+((TYPECASTMETHOD(Type, SetBarOffset, TH1))(p))->SetBarOffset(offset);\+}\+\+void Type##_SetBarWidth ( Type##_p p, float width ) {\+((TYPECASTMETHOD(Type, SetBarWidth, TH1))(p))->SetBarWidth(width);\+}\+\+void Type##_setBinContent1 ( Type##_p p, int bin, double content ) {\+((TYPECASTMETHOD(Type, setBinContent1, TH1))(p))->SetBinContent(bin, content);\+}\+\+void Type##_setBinContent2 ( Type##_p p, int binx, int biny, double content ) {\+((TYPECASTMETHOD(Type, setBinContent2, TH1))(p))->SetBinContent(binx, biny, content);\+}\+\+void Type##_setBinContent3 ( Type##_p p, int binx, int biny, int binz, double content ) {\+((TYPECASTMETHOD(Type, setBinContent3, TH1))(p))->SetBinContent(binx, biny, binz, content);\+}\+\+void Type##_setBinError1 ( Type##_p p, int bin, double error ) {\+((TYPECASTMETHOD(Type, setBinError1, TH1))(p))->SetBinError(bin, error);\+}\+\+void Type##_setBinError2 ( Type##_p p, int binx, int biny, double error ) {\+((TYPECASTMETHOD(Type, setBinError2, TH1))(p))->SetBinError(binx, biny, error);\+}\+\+void Type##_setBinError3 ( Type##_p p, int binx, int biny, int binz, double error ) {\+((TYPECASTMETHOD(Type, setBinError3, TH1))(p))->SetBinError(binx, biny, binz, error);\+}\+\+void Type##_setBins1 ( Type##_p p, int nx, double* xBins ) {\+((TYPECASTMETHOD(Type, setBins1, TH1))(p))->SetBins(nx, xBins);\+}\+\+void Type##_setBins2 ( Type##_p p, int nx, double* xBins, int ny, double* yBins ) {\+((TYPECASTMETHOD(Type, setBins2, TH1))(p))->SetBins(nx, xBins, ny, yBins);\+}\+\+void Type##_setBins3 ( Type##_p p, int nx, double* xBins, int ny, double* yBins, int nz, double* zBins ) {\+((TYPECASTMETHOD(Type, setBins3, TH1))(p))->SetBins(nx, xBins, ny, yBins, nz, zBins);\+}\+\+void Type##_SetBinsLength ( Type##_p p, int bin ) {\+((TYPECASTMETHOD(Type, SetBinsLength, TH1))(p))->SetBinsLength(bin);\+}\+\+void Type##_SetBuffer ( Type##_p p, int buffersize, const char* option ) {\+((TYPECASTMETHOD(Type, SetBuffer, TH1))(p))->SetBuffer(buffersize, option);\+}\+\+void Type##_SetCellContent ( Type##_p p, int binx, int biny, double content ) {\+((TYPECASTMETHOD(Type, SetCellContent, TH1))(p))->SetCellContent(binx, biny, content);\+}\+\+void Type##_SetContent ( Type##_p p, double* content ) {\+((TYPECASTMETHOD(Type, SetContent, TH1))(p))->SetContent(content);\+}\+\+void Type##_SetContour ( Type##_p p, int nlevels, double* levels ) {\+((TYPECASTMETHOD(Type, SetContour, TH1))(p))->SetContour(nlevels, levels);\+}\+\+void Type##_SetContourLevel ( Type##_p p, int level, double value ) {\+((TYPECASTMETHOD(Type, SetContourLevel, TH1))(p))->SetContourLevel(level, value);\+}\+\+void Type##_SetDirectory ( Type##_p p, TDirectory_p dir ) {\+((TYPECASTMETHOD(Type, SetDirectory, TH1))(p))->SetDirectory(from_nonconst_to_nonconst<TDirectory, TDirectory_t>(dir));\+}\+\+void Type##_SetEntries ( Type##_p p, double n ) {\+((TYPECASTMETHOD(Type, SetEntries, TH1))(p))->SetEntries(n);\+}\+\+void Type##_SetError ( Type##_p p, double* error ) {\+((TYPECASTMETHOD(Type, SetError, TH1))(p))->SetError(error);\+}\+\+void Type##_setLabelColorA ( Type##_p p, short color, const char* axis ) {\+((TYPECASTMETHOD(Type, setLabelColorA, TH1))(p))->SetLabelColor(color, axis);\+}\+\+void Type##_setLabelSizeA ( Type##_p p, float size, const char* axis ) {\+((TYPECASTMETHOD(Type, setLabelSizeA, TH1))(p))->SetLabelSize(size, axis);\+}\+\+void Type##_setLabelFontA ( Type##_p p, short font, const char* axis ) {\+((TYPECASTMETHOD(Type, setLabelFontA, TH1))(p))->SetLabelFont(font, axis);\+}\+\+void Type##_setLabelOffsetA ( Type##_p p, float offset, const char* axis ) {\+((TYPECASTMETHOD(Type, setLabelOffsetA, TH1))(p))->SetLabelOffset(offset, axis);\+}\+\+void Type##_SetMaximum ( Type##_p p, double maximum ) {\+((TYPECASTMETHOD(Type, SetMaximum, TH1))(p))->SetMaximum(maximum);\+}\+\+void Type##_SetMinimum ( Type##_p p, double minimum ) {\+((TYPECASTMETHOD(Type, SetMinimum, TH1))(p))->SetMinimum(minimum);\+}\+\+void Type##_SetNormFactor ( Type##_p p, double factor ) {\+((TYPECASTMETHOD(Type, SetNormFactor, TH1))(p))->SetNormFactor(factor);\+}\+\+void Type##_SetStats ( Type##_p p, bool stats ) {\+((TYPECASTMETHOD(Type, SetStats, TH1))(p))->SetStats(stats);\+}\+\+void Type##_SetOption ( Type##_p p, const char* option ) {\+((TYPECASTMETHOD(Type, SetOption, TH1))(p))->SetOption(option);\+}\+\+void Type##_SetXTitle ( Type##_p p, const char* title ) {\+((TYPECASTMETHOD(Type, SetXTitle, TH1))(p))->SetXTitle(title);\+}\+\+void Type##_SetYTitle ( Type##_p p, const char* title ) {\+((TYPECASTMETHOD(Type, SetYTitle, TH1))(p))->SetYTitle(title);\+}\+\+void Type##_SetZTitle ( Type##_p p, const char* title ) {\+((TYPECASTMETHOD(Type, SetZTitle, TH1))(p))->SetZTitle(title);\+}\+\+TH1_p Type##_ShowBackground ( Type##_p p, int niter, const char* option ) {\+return from_nonconst_to_nonconst<TH1_t, TH1>((TH1*)((TYPECASTMETHOD(Type, ShowBackground, TH1))(p))->ShowBackground(niter, option));\+}\+\+int Type##_ShowPeaks ( Type##_p p, double sigma, const char* option, double threshold ) {\+return ((TYPECASTMETHOD(Type, ShowPeaks, TH1))(p))->ShowPeaks(sigma, option, threshold);\+}\+\+void Type##_Smooth ( Type##_p p, int ntimes, const char* option ) {\+((TYPECASTMETHOD(Type, Smooth, TH1))(p))->Smooth(ntimes, option);\+}\+\+void Type##_Sumw2 ( Type##_p p ) {\+((TYPECASTMETHOD(Type, Sumw2, TH1))(p))->Sumw2();\+}+++#define TH1_DEF_NONVIRT(Type) \+Type##_p Type##_tH1_GetAsymmetry ( Type##_p p, TH1_p h2, double c2, double dc2 ) {\+return from_nonconst_to_nonconst<Type##_t, Type>((Type*)((TYPECASTMETHOD(Type, tH1_GetAsymmetry, TH1))(p))->GetAsymmetry(from_nonconst_to_nonconst<TH1, TH1_t>(h2), c2, dc2));\+}\+\+int Type##_tH1_GetBufferLength ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tH1_GetBufferLength, TH1))(p))->GetBufferLength();\+}\+\+int Type##_tH1_GetBufferSize ( Type##_p p ) {\+return ((TYPECASTMETHOD(Type, tH1_GetBufferSize, TH1))(p))->GetBufferSize();\+}\+\+int Type##_tH1_GetDefaultBufferSize ( ) {\+return TH1::GetDefaultBufferSize();\+}\+\+bool Type##_tH1_GetDefaultSumw2 ( ) {\+return TH1::GetDefaultSumw2();\+}\+\+TDirectory_p Type##_tH1_GetDirectory ( Type##_p p ) {\+return from_nonconst_to_nonconst<TDirectory_t, TDirectory>((TDirectory*)((TYPECASTMETHOD(Type, tH1_GetDirectory, TH1))(p))->GetDirectory());\+}\+\+TAxis_p Type##_tH1_GetXaxis ( Type##_p p ) {\+return from_nonconst_to_nonconst<TAxis_t, TAxis>((TAxis*)((TYPECASTMETHOD(Type, tH1_GetXaxis, TH1))(p))->GetXaxis());\+}\+\+TAxis_p Type##_tH1_GetYaxis ( Type##_p p ) {\+return from_nonconst_to_nonconst<TAxis_t, TAxis>((TAxis*)((TYPECASTMETHOD(Type, tH1_GetYaxis, TH1))(p))->GetYaxis());\+}\+\+TAxis_p Type##_tH1_GetZaxis ( Type##_p p ) {\+return from_nonconst_to_nonconst<TAxis_t, TAxis>((TAxis*)((TYPECASTMETHOD(Type, tH1_GetZaxis, TH1))(p))->GetZaxis());\+}\+\+bool Type##_tH1_IsBinOverflow ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, tH1_IsBinOverflow, TH1))(p))->IsBinOverflow(bin);\+}\+\+bool Type##_tH1_IsBinUnderflow ( Type##_p p, int bin ) {\+return ((TYPECASTMETHOD(Type, tH1_IsBinUnderflow, TH1))(p))->IsBinUnderflow(bin);\+}\+\+void Type##_tH1_SetDefaultBufferSize ( int buffersize ) {\+TH1::SetDefaultBufferSize(buffersize);\+}\+\+void Type##_tH1_SetDefaultSumw2 ( bool sumw2 ) {\+TH1::SetDefaultSumw2(sumw2);\+}\+\+void Type##_tH1_SmoothArray ( int NN, double* XX, int ntimes ) {\+TH1::SmoothArray(NN, XX, ntimes);\+}\+\+void Type##_tH1_StatOverflows ( bool flag ) {\+TH1::StatOverflows(flag);\+}\+\+void Type##_tH1_UseCurrentStyle ( Type##_p p ) {\+((TYPECASTMETHOD(Type, tH1_UseCurrentStyle, TH1))(p))->UseCurrentStyle();\+}+++#define TH1_DEF_ACCESSOR(Type) \++++TNAMED_DECL_VIRT(TH1)+TATTLINE_DECL_VIRT(TH1)+TATTFILL_DECL_VIRT(TH1)+TATTMARKER_DECL_VIRT(TH1)+TOBJECT_DECL_VIRT(TH1)+DELETABLE_DECL_VIRT(TH1)+TH1_DECL_VIRT(TH1)+TH1_DECL_NONVIRT(TH1)+TH1_DECL_ACCESSOR(TH1) #ifdef __cplusplus }
csrc/HROOTHistTH1C.cpp view
@@ -1,18 +1,22 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTArrayC.h"+ #include "TH1C.h"-#include "HROOTHistTH1C.h" +#include "HROOTHistTH1C.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TH1_DEF_VIRT(TH1C) TARRAYC_DEF_VIRT(TH1C)@@ -23,8 +27,7 @@ TOBJECT_DEF_VIRT(TH1C) DELETABLE_DEF_VIRT(TH1C) TARRAY_DEF_VIRT(TH1C)- TH1C_DEF_VIRT(TH1C)- TH1C_DEF_NONVIRT(TH1C)+TH1C_DEF_ACCESSOR(TH1C)
csrc/HROOTHistTH1C.h view
@@ -1,56 +1,70 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH1C__-#define __HROOT_HIST__TH1C__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTArrayC.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH1C_DECL_VIRT + #define TH1C_DECL_VIRT(Type) \ -#undef TH1C_DECL_NONVIRT + #define TH1C_DECL_NONVIRT(Type) \ -#undef TH1C_DEF_VIRT-#define TH1C_DEF_VIRT(Type)\ +#define TH1C_DECL_ACCESSOR(Type) \ -#undef TH1C_DEF_NONVIRT-#define TH1C_DEF_NONVIRT(Type)\ -TH1_DECL_VIRT(TH1C);-TARRAYC_DECL_VIRT(TH1C);-TNAMED_DECL_VIRT(TH1C);-TATTLINE_DECL_VIRT(TH1C);-TATTFILL_DECL_VIRT(TH1C);-TATTMARKER_DECL_VIRT(TH1C);-TOBJECT_DECL_VIRT(TH1C);-DELETABLE_DECL_VIRT(TH1C);-TARRAY_DECL_VIRT(TH1C);+#define TH1C_DEF_VIRT(Type) \ -TH1C_DECL_VIRT(TH1C); +#define TH1C_DEF_NONVIRT(Type) \ -TH1C_DECL_NONVIRT(TH1C); -#endif // __HROOT_HIST__TH1C__+#define TH1C_DEF_ACCESSOR(Type) \++++TH1_DECL_VIRT(TH1C)+TARRAYC_DECL_VIRT(TH1C)+TNAMED_DECL_VIRT(TH1C)+TATTLINE_DECL_VIRT(TH1C)+TATTFILL_DECL_VIRT(TH1C)+TATTMARKER_DECL_VIRT(TH1C)+TOBJECT_DECL_VIRT(TH1C)+DELETABLE_DECL_VIRT(TH1C)+TARRAY_DECL_VIRT(TH1C)+TH1C_DECL_VIRT(TH1C)+TH1C_DECL_NONVIRT(TH1C)+TH1C_DECL_ACCESSOR(TH1C) #ifdef __cplusplus }
csrc/HROOTHistTH1D.cpp view
@@ -1,18 +1,22 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTArrayD.h"+ #include "TH1D.h"-#include "HROOTHistTH1D.h" +#include "HROOTHistTH1D.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TH1_DEF_VIRT(TH1D) TARRAYD_DEF_VIRT(TH1D)@@ -23,8 +27,7 @@ TOBJECT_DEF_VIRT(TH1D) DELETABLE_DEF_VIRT(TH1D) TARRAY_DEF_VIRT(TH1D)- TH1D_DEF_VIRT(TH1D)- TH1D_DEF_NONVIRT(TH1D)+TH1D_DEF_ACCESSOR(TH1D)
csrc/HROOTHistTH1D.h view
@@ -1,60 +1,72 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH1D__-#define __HROOT_HIST__TH1D__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTArrayD.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH1D_DECL_VIRT + #define TH1D_DECL_VIRT(Type) \ -#undef TH1D_DECL_NONVIRT + #define TH1D_DECL_NONVIRT(Type) \-Type ## _p Type ## _newTH1D ( const char* name, const char* title, int nbinsx, double xlow, double xup )+Type##_p Type##_newTH1D ( const char* name, const char* title, int nbinsx, double xlow, double xup ); -#undef TH1D_DEF_VIRT-#define TH1D_DEF_VIRT(Type)\ +#define TH1D_DECL_ACCESSOR(Type) \ -#undef TH1D_DEF_NONVIRT-#define TH1D_DEF_NONVIRT(Type)\-Type ## _p Type ## _newTH1D ( const char* name, const char* title, int nbinsx, double xlow, double xup )\-{\-Type * newp = new Type (name, title, nbinsx, xlow, xup); \-return to_nonconst<Type ## _t, Type >(newp);\-} -TH1_DECL_VIRT(TH1D);-TARRAYD_DECL_VIRT(TH1D);-TNAMED_DECL_VIRT(TH1D);-TATTLINE_DECL_VIRT(TH1D);-TATTFILL_DECL_VIRT(TH1D);-TATTMARKER_DECL_VIRT(TH1D);-TOBJECT_DECL_VIRT(TH1D);-DELETABLE_DECL_VIRT(TH1D);-TARRAY_DECL_VIRT(TH1D); +#define TH1D_DEF_VIRT(Type) \ -TH1D_DECL_VIRT(TH1D); -TH1D_DECL_NONVIRT(TH1D);+#define TH1D_DEF_NONVIRT(Type) \+Type##_p Type##_newTH1D ( const char* name, const char* title, int nbinsx, double xlow, double xup ) {\+Type* newp=new Type(name, title, nbinsx, xlow, xup);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\+} -#endif // __HROOT_HIST__TH1D__+#define TH1D_DEF_ACCESSOR(Type) \++++TH1_DECL_VIRT(TH1D)+TARRAYD_DECL_VIRT(TH1D)+TNAMED_DECL_VIRT(TH1D)+TATTLINE_DECL_VIRT(TH1D)+TATTFILL_DECL_VIRT(TH1D)+TATTMARKER_DECL_VIRT(TH1D)+TOBJECT_DECL_VIRT(TH1D)+DELETABLE_DECL_VIRT(TH1D)+TARRAY_DECL_VIRT(TH1D)+TH1D_DECL_VIRT(TH1D)+TH1D_DECL_NONVIRT(TH1D)+TH1D_DECL_ACCESSOR(TH1D) #ifdef __cplusplus }
csrc/HROOTHistTH1F.cpp view
@@ -1,18 +1,22 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTArrayF.h"+ #include "TH1F.h"-#include "HROOTHistTH1F.h" +#include "HROOTHistTH1F.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TH1_DEF_VIRT(TH1F) TARRAYF_DEF_VIRT(TH1F)@@ -23,8 +27,7 @@ TOBJECT_DEF_VIRT(TH1F) DELETABLE_DEF_VIRT(TH1F) TARRAY_DEF_VIRT(TH1F)- TH1F_DEF_VIRT(TH1F)- TH1F_DEF_NONVIRT(TH1F)+TH1F_DEF_ACCESSOR(TH1F)
csrc/HROOTHistTH1F.h view
@@ -1,60 +1,72 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH1F__-#define __HROOT_HIST__TH1F__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTArrayF.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH1F_DECL_VIRT + #define TH1F_DECL_VIRT(Type) \ -#undef TH1F_DECL_NONVIRT + #define TH1F_DECL_NONVIRT(Type) \-Type ## _p Type ## _newTH1F ( const char* name, const char* title, int nbinsx, double xlow, double xup )+Type##_p Type##_newTH1F ( const char* name, const char* title, int nbinsx, double xlow, double xup ); -#undef TH1F_DEF_VIRT-#define TH1F_DEF_VIRT(Type)\ +#define TH1F_DECL_ACCESSOR(Type) \ -#undef TH1F_DEF_NONVIRT-#define TH1F_DEF_NONVIRT(Type)\-Type ## _p Type ## _newTH1F ( const char* name, const char* title, int nbinsx, double xlow, double xup )\-{\-Type * newp = new Type (name, title, nbinsx, xlow, xup); \-return to_nonconst<Type ## _t, Type >(newp);\-} -TH1_DECL_VIRT(TH1F);-TARRAYF_DECL_VIRT(TH1F);-TNAMED_DECL_VIRT(TH1F);-TATTLINE_DECL_VIRT(TH1F);-TATTFILL_DECL_VIRT(TH1F);-TATTMARKER_DECL_VIRT(TH1F);-TOBJECT_DECL_VIRT(TH1F);-DELETABLE_DECL_VIRT(TH1F);-TARRAY_DECL_VIRT(TH1F); +#define TH1F_DEF_VIRT(Type) \ -TH1F_DECL_VIRT(TH1F); -TH1F_DECL_NONVIRT(TH1F);+#define TH1F_DEF_NONVIRT(Type) \+Type##_p Type##_newTH1F ( const char* name, const char* title, int nbinsx, double xlow, double xup ) {\+Type* newp=new Type(name, title, nbinsx, xlow, xup);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\+} -#endif // __HROOT_HIST__TH1F__+#define TH1F_DEF_ACCESSOR(Type) \++++TH1_DECL_VIRT(TH1F)+TARRAYF_DECL_VIRT(TH1F)+TNAMED_DECL_VIRT(TH1F)+TATTLINE_DECL_VIRT(TH1F)+TATTFILL_DECL_VIRT(TH1F)+TATTMARKER_DECL_VIRT(TH1F)+TOBJECT_DECL_VIRT(TH1F)+DELETABLE_DECL_VIRT(TH1F)+TARRAY_DECL_VIRT(TH1F)+TH1F_DECL_VIRT(TH1F)+TH1F_DECL_NONVIRT(TH1F)+TH1F_DECL_ACCESSOR(TH1F) #ifdef __cplusplus }
csrc/HROOTHistTH1I.cpp view
@@ -1,18 +1,22 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTArrayI.h"+ #include "TH1I.h"-#include "HROOTHistTH1I.h" +#include "HROOTHistTH1I.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TH1_DEF_VIRT(TH1I) TARRAYI_DEF_VIRT(TH1I)@@ -23,8 +27,7 @@ TOBJECT_DEF_VIRT(TH1I) DELETABLE_DEF_VIRT(TH1I) TARRAY_DEF_VIRT(TH1I)- TH1I_DEF_VIRT(TH1I)- TH1I_DEF_NONVIRT(TH1I)+TH1I_DEF_ACCESSOR(TH1I)
csrc/HROOTHistTH1I.h view
@@ -1,56 +1,70 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH1I__-#define __HROOT_HIST__TH1I__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTArrayI.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH1I_DECL_VIRT + #define TH1I_DECL_VIRT(Type) \ -#undef TH1I_DECL_NONVIRT + #define TH1I_DECL_NONVIRT(Type) \ -#undef TH1I_DEF_VIRT-#define TH1I_DEF_VIRT(Type)\ +#define TH1I_DECL_ACCESSOR(Type) \ -#undef TH1I_DEF_NONVIRT-#define TH1I_DEF_NONVIRT(Type)\ -TH1_DECL_VIRT(TH1I);-TARRAYI_DECL_VIRT(TH1I);-TNAMED_DECL_VIRT(TH1I);-TATTLINE_DECL_VIRT(TH1I);-TATTFILL_DECL_VIRT(TH1I);-TATTMARKER_DECL_VIRT(TH1I);-TOBJECT_DECL_VIRT(TH1I);-DELETABLE_DECL_VIRT(TH1I);-TARRAY_DECL_VIRT(TH1I);+#define TH1I_DEF_VIRT(Type) \ -TH1I_DECL_VIRT(TH1I); +#define TH1I_DEF_NONVIRT(Type) \ -TH1I_DECL_NONVIRT(TH1I); -#endif // __HROOT_HIST__TH1I__+#define TH1I_DEF_ACCESSOR(Type) \++++TH1_DECL_VIRT(TH1I)+TARRAYI_DECL_VIRT(TH1I)+TNAMED_DECL_VIRT(TH1I)+TATTLINE_DECL_VIRT(TH1I)+TATTFILL_DECL_VIRT(TH1I)+TATTMARKER_DECL_VIRT(TH1I)+TOBJECT_DECL_VIRT(TH1I)+DELETABLE_DECL_VIRT(TH1I)+TARRAY_DECL_VIRT(TH1I)+TH1I_DECL_VIRT(TH1I)+TH1I_DECL_NONVIRT(TH1I)+TH1I_DECL_ACCESSOR(TH1I) #ifdef __cplusplus }
csrc/HROOTHistTH1K.cpp view
@@ -1,18 +1,22 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTArrayF.h"+ #include "TH1K.h"-#include "HROOTHistTH1K.h" +#include "HROOTHistTH1K.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TH1_DEF_VIRT(TH1K) TARRAYF_DEF_VIRT(TH1K)@@ -23,8 +27,7 @@ TOBJECT_DEF_VIRT(TH1K) DELETABLE_DEF_VIRT(TH1K) TARRAY_DEF_VIRT(TH1K)- TH1K_DEF_VIRT(TH1K)- TH1K_DEF_NONVIRT(TH1K)+TH1K_DEF_ACCESSOR(TH1K)
csrc/HROOTHistTH1K.h view
@@ -1,56 +1,70 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH1K__-#define __HROOT_HIST__TH1K__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTArrayF.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH1K_DECL_VIRT + #define TH1K_DECL_VIRT(Type) \ -#undef TH1K_DECL_NONVIRT + #define TH1K_DECL_NONVIRT(Type) \ -#undef TH1K_DEF_VIRT-#define TH1K_DEF_VIRT(Type)\ +#define TH1K_DECL_ACCESSOR(Type) \ -#undef TH1K_DEF_NONVIRT-#define TH1K_DEF_NONVIRT(Type)\ -TH1_DECL_VIRT(TH1K);-TARRAYF_DECL_VIRT(TH1K);-TNAMED_DECL_VIRT(TH1K);-TATTLINE_DECL_VIRT(TH1K);-TATTFILL_DECL_VIRT(TH1K);-TATTMARKER_DECL_VIRT(TH1K);-TOBJECT_DECL_VIRT(TH1K);-DELETABLE_DECL_VIRT(TH1K);-TARRAY_DECL_VIRT(TH1K);+#define TH1K_DEF_VIRT(Type) \ -TH1K_DECL_VIRT(TH1K); +#define TH1K_DEF_NONVIRT(Type) \ -TH1K_DECL_NONVIRT(TH1K); -#endif // __HROOT_HIST__TH1K__+#define TH1K_DEF_ACCESSOR(Type) \++++TH1_DECL_VIRT(TH1K)+TARRAYF_DECL_VIRT(TH1K)+TNAMED_DECL_VIRT(TH1K)+TATTLINE_DECL_VIRT(TH1K)+TATTFILL_DECL_VIRT(TH1K)+TATTMARKER_DECL_VIRT(TH1K)+TOBJECT_DECL_VIRT(TH1K)+DELETABLE_DECL_VIRT(TH1K)+TARRAY_DECL_VIRT(TH1K)+TH1K_DECL_VIRT(TH1K)+TH1K_DECL_NONVIRT(TH1K)+TH1K_DECL_ACCESSOR(TH1K) #ifdef __cplusplus }
csrc/HROOTHistTH1S.cpp view
@@ -1,18 +1,22 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTArrayS.h"+ #include "TH1S.h"-#include "HROOTHistTH1S.h" +#include "HROOTHistTH1S.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TH1_DEF_VIRT(TH1S) TARRAYS_DEF_VIRT(TH1S)@@ -23,8 +27,7 @@ TOBJECT_DEF_VIRT(TH1S) DELETABLE_DEF_VIRT(TH1S) TARRAY_DEF_VIRT(TH1S)- TH1S_DEF_VIRT(TH1S)- TH1S_DEF_NONVIRT(TH1S)+TH1S_DEF_ACCESSOR(TH1S)
csrc/HROOTHistTH1S.h view
@@ -1,56 +1,70 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH1S__-#define __HROOT_HIST__TH1S__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTArrayS.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH1S_DECL_VIRT + #define TH1S_DECL_VIRT(Type) \ -#undef TH1S_DECL_NONVIRT + #define TH1S_DECL_NONVIRT(Type) \ -#undef TH1S_DEF_VIRT-#define TH1S_DEF_VIRT(Type)\ +#define TH1S_DECL_ACCESSOR(Type) \ -#undef TH1S_DEF_NONVIRT-#define TH1S_DEF_NONVIRT(Type)\ -TH1_DECL_VIRT(TH1S);-TARRAYS_DECL_VIRT(TH1S);-TNAMED_DECL_VIRT(TH1S);-TATTLINE_DECL_VIRT(TH1S);-TATTFILL_DECL_VIRT(TH1S);-TATTMARKER_DECL_VIRT(TH1S);-TOBJECT_DECL_VIRT(TH1S);-DELETABLE_DECL_VIRT(TH1S);-TARRAY_DECL_VIRT(TH1S);+#define TH1S_DEF_VIRT(Type) \ -TH1S_DECL_VIRT(TH1S); +#define TH1S_DEF_NONVIRT(Type) \ -TH1S_DECL_NONVIRT(TH1S); -#endif // __HROOT_HIST__TH1S__+#define TH1S_DEF_ACCESSOR(Type) \++++TH1_DECL_VIRT(TH1S)+TARRAYS_DECL_VIRT(TH1S)+TNAMED_DECL_VIRT(TH1S)+TATTLINE_DECL_VIRT(TH1S)+TATTFILL_DECL_VIRT(TH1S)+TATTMARKER_DECL_VIRT(TH1S)+TOBJECT_DECL_VIRT(TH1S)+DELETABLE_DECL_VIRT(TH1S)+TARRAY_DECL_VIRT(TH1S)+TH1S_DECL_VIRT(TH1S)+TH1S_DECL_NONVIRT(TH1S)+TH1S_DECL_ACCESSOR(TH1S) #ifdef __cplusplus }
csrc/HROOTHistTH2.cpp view
@@ -1,22 +1,29 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH1D.h"+ #include "HROOTHistTH1.h"+ #include "HROOTHistTF1.h"+ #include "HROOTCoreTObjArray.h"+ #include "TH2.h"-#include "HROOTHistTH2.h" +#include "HROOTHistTH2.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) -#define IS_TH2_fill1_PROTECTED () +#define IS_TH2_fill1_PROTECTED () TH1_DEF_VIRT(TH2) TNAMED_DEF_VIRT(TH2) TATTLINE_DEF_VIRT(TH2)@@ -24,8 +31,7 @@ TATTMARKER_DEF_VIRT(TH2) TOBJECT_DEF_VIRT(TH2) DELETABLE_DEF_VIRT(TH2)- TH2_DEF_VIRT(TH2)- TH2_DEF_NONVIRT(TH2)+TH2_DEF_ACCESSOR(TH2)
csrc/HROOTHistTH2.h view
@@ -1,138 +1,148 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH2__-#define __HROOT_HIST__TH2__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOT-coreType.h" -#undef TH2_DECL_VIRT + #define TH2_DECL_VIRT(Type) \-int Type ## _fill2 ( Type ## _p p, double x, double y ); \-int Type ## _fill2w ( Type ## _p p, double x, double y, double w ); \-void Type ## _fillN2 ( Type ## _p p, int ntimes, double * x, double * y, double * w, int stride ); \-void Type ## _fillRandom2 ( Type ## _p p, TH1_p h, int ntimes ); \-int Type ## _findFirstBinAbove2 ( Type ## _p p, double threshold, int axis ); \-int Type ## _findLastBinAbove2 ( Type ## _p p, double threshold, int axis ); \-void Type ## _FitSlicesX ( Type ## _p p, TF1_p f1, int firstybin, int lastybin, int cut, const char* option, TObjArray_p arr ); \-void Type ## _FitSlicesY ( Type ## _p p, TF1_p f1, int firstxbin, int lastxbin, int cut, const char* option, TObjArray_p arr ); \-double Type ## _getCorrelationFactor2 ( Type ## _p p, int axis1, int axis2 ); \-double Type ## _getCovariance2 ( Type ## _p p, int axis1, int axis2 ); \-double Type ## _integral2 ( Type ## _p p, int binx1, int binx2, int biny1, int biny2, const char* option ); \-TH2_p Type ## _rebinX2 ( Type ## _p p, int ngroup, const char* newname ); \-TH2_p Type ## _rebinY2 ( Type ## _p p, int ngroup, const char* newname ); \-TH2_p Type ## _Rebin2D ( Type ## _p p, int nxgroup, int nygroup, const char* newname ); \-void Type ## _SetShowProjectionX ( Type ## _p p, int nbins ); \-void Type ## _SetShowProjectionY ( Type ## _p p, int nbins )+int Type##_fill2 ( Type##_p p, double x, double y );\+int Type##_fill2w ( Type##_p p, double x, double y, double w );\+void Type##_fillN2 ( Type##_p p, int ntimes, double* x, double* y, double* w, int stride );\+void Type##_fillRandom2 ( Type##_p p, TH1_p h, int ntimes );\+int Type##_findFirstBinAbove2 ( Type##_p p, double threshold, int axis );\+int Type##_findLastBinAbove2 ( Type##_p p, double threshold, int axis );\+void Type##_FitSlicesX ( Type##_p p, TF1_p f1, int firstybin, int lastybin, int cut, const char* option, TObjArray_p arr );\+void Type##_FitSlicesY ( Type##_p p, TF1_p f1, int firstxbin, int lastxbin, int cut, const char* option, TObjArray_p arr );\+double Type##_getCorrelationFactor2 ( Type##_p p, int axis1, int axis2 );\+double Type##_getCovariance2 ( Type##_p p, int axis1, int axis2 );\+double Type##_integral2 ( Type##_p p, int binx1, int binx2, int biny1, int biny2, const char* option );\+TH2_p Type##_rebinX2 ( Type##_p p, int ngroup, const char* newname );\+TH2_p Type##_rebinY2 ( Type##_p p, int ngroup, const char* newname );\+TH2_p Type##_Rebin2D ( Type##_p p, int nxgroup, int nygroup, const char* newname );\+void Type##_SetShowProjectionX ( Type##_p p, int nbins );\+void Type##_SetShowProjectionY ( Type##_p p, int nbins ); -#undef TH2_DECL_NONVIRT + #define TH2_DECL_NONVIRT(Type) \-TH1D_p Type ## _tH2ProjectionX ( Type ## _p p, const char* name, int firstybin, int lastybin, const char* option ); \-TH1D_p Type ## _tH2ProjectionY ( Type ## _p p, const char* name, int firstxbin, int lastxbin, const char* option )+TH1D_p Type##_tH2_ProjectionX ( Type##_p p, const char* name, int firstybin, int lastybin, const char* option );\+TH1D_p Type##_tH2_ProjectionY ( Type##_p p, const char* name, int firstxbin, int lastxbin, const char* option ); -#undef TH2_DEF_VIRT-#define TH2_DEF_VIRT(Type)\-int Type ## _fill2 ( Type ## _p p, double x, double y )\-{\-return TYPECASTMETHOD(Type,fill2,TH2)(p)->Fill(x, y);\++#define TH2_DECL_ACCESSOR(Type) \++++#define TH2_DEF_VIRT(Type) \+int Type##_fill2 ( Type##_p p, double x, double y ) {\+return ((TYPECASTMETHOD(Type, fill2, TH2))(p))->Fill(x, y);\ }\-int Type ## _fill2w ( Type ## _p p, double x, double y, double w )\-{\-return TYPECASTMETHOD(Type,fill2w,TH2)(p)->Fill(x, y, w);\+\+int Type##_fill2w ( Type##_p p, double x, double y, double w ) {\+return ((TYPECASTMETHOD(Type, fill2w, TH2))(p))->Fill(x, y, w);\ }\-void Type ## _fillN2 ( Type ## _p p, int ntimes, double * x, double * y, double * w, int stride )\-{\-TYPECASTMETHOD(Type,fillN2,TH2)(p)->FillN(ntimes, x, y, w, stride);\+\+void Type##_fillN2 ( Type##_p p, int ntimes, double* x, double* y, double* w, int stride ) {\+((TYPECASTMETHOD(Type, fillN2, TH2))(p))->FillN(ntimes, x, y, w, stride);\ }\-void Type ## _fillRandom2 ( Type ## _p p, TH1_p h, int ntimes )\-{\-TYPECASTMETHOD(Type,fillRandom2,TH2)(p)->FillRandom(to_nonconst<TH1,TH1_t>(h), ntimes);\+\+void Type##_fillRandom2 ( Type##_p p, TH1_p h, int ntimes ) {\+((TYPECASTMETHOD(Type, fillRandom2, TH2))(p))->FillRandom(from_nonconst_to_nonconst<TH1, TH1_t>(h), ntimes);\ }\-int Type ## _findFirstBinAbove2 ( Type ## _p p, double threshold, int axis )\-{\-return TYPECASTMETHOD(Type,findFirstBinAbove2,TH2)(p)->FindFirstBinAbove(threshold, axis);\+\+int Type##_findFirstBinAbove2 ( Type##_p p, double threshold, int axis ) {\+return ((TYPECASTMETHOD(Type, findFirstBinAbove2, TH2))(p))->FindFirstBinAbove(threshold, axis);\ }\-int Type ## _findLastBinAbove2 ( Type ## _p p, double threshold, int axis )\-{\-return TYPECASTMETHOD(Type,findLastBinAbove2,TH2)(p)->FindLastBinAbove(threshold, axis);\+\+int Type##_findLastBinAbove2 ( Type##_p p, double threshold, int axis ) {\+return ((TYPECASTMETHOD(Type, findLastBinAbove2, TH2))(p))->FindLastBinAbove(threshold, axis);\ }\-void Type ## _FitSlicesX ( Type ## _p p, TF1_p f1, int firstybin, int lastybin, int cut, const char* option, TObjArray_p arr )\-{\-TYPECASTMETHOD(Type,FitSlicesX,TH2)(p)->FitSlicesX(to_nonconst<TF1,TF1_t>(f1), firstybin, lastybin, cut, option, to_nonconst<TObjArray,TObjArray_t>(arr));\+\+void Type##_FitSlicesX ( Type##_p p, TF1_p f1, int firstybin, int lastybin, int cut, const char* option, TObjArray_p arr ) {\+((TYPECASTMETHOD(Type, FitSlicesX, TH2))(p))->FitSlicesX(from_nonconst_to_nonconst<TF1, TF1_t>(f1), firstybin, lastybin, cut, option, from_nonconst_to_nonconst<TObjArray, TObjArray_t>(arr));\ }\-void Type ## _FitSlicesY ( Type ## _p p, TF1_p f1, int firstxbin, int lastxbin, int cut, const char* option, TObjArray_p arr )\-{\-TYPECASTMETHOD(Type,FitSlicesY,TH2)(p)->FitSlicesY(to_nonconst<TF1,TF1_t>(f1), firstxbin, lastxbin, cut, option, to_nonconst<TObjArray,TObjArray_t>(arr));\+\+void Type##_FitSlicesY ( Type##_p p, TF1_p f1, int firstxbin, int lastxbin, int cut, const char* option, TObjArray_p arr ) {\+((TYPECASTMETHOD(Type, FitSlicesY, TH2))(p))->FitSlicesY(from_nonconst_to_nonconst<TF1, TF1_t>(f1), firstxbin, lastxbin, cut, option, from_nonconst_to_nonconst<TObjArray, TObjArray_t>(arr));\ }\-double Type ## _getCorrelationFactor2 ( Type ## _p p, int axis1, int axis2 )\-{\-return TYPECASTMETHOD(Type,getCorrelationFactor2,TH2)(p)->GetCorrelationFactor(axis1, axis2);\+\+double Type##_getCorrelationFactor2 ( Type##_p p, int axis1, int axis2 ) {\+return ((TYPECASTMETHOD(Type, getCorrelationFactor2, TH2))(p))->GetCorrelationFactor(axis1, axis2);\ }\-double Type ## _getCovariance2 ( Type ## _p p, int axis1, int axis2 )\-{\-return TYPECASTMETHOD(Type,getCovariance2,TH2)(p)->GetCovariance(axis1, axis2);\+\+double Type##_getCovariance2 ( Type##_p p, int axis1, int axis2 ) {\+return ((TYPECASTMETHOD(Type, getCovariance2, TH2))(p))->GetCovariance(axis1, axis2);\ }\-double Type ## _integral2 ( Type ## _p p, int binx1, int binx2, int biny1, int biny2, const char* option )\-{\-return TYPECASTMETHOD(Type,integral2,TH2)(p)->Integral(binx1, binx2, biny1, biny2, option);\+\+double Type##_integral2 ( Type##_p p, int binx1, int binx2, int biny1, int biny2, const char* option ) {\+return ((TYPECASTMETHOD(Type, integral2, TH2))(p))->Integral(binx1, binx2, biny1, biny2, option);\ }\-TH2_p Type ## _rebinX2 ( Type ## _p p, int ngroup, const char* newname )\-{\-return to_nonconst<TH2_t,TH2>((TH2*)TYPECASTMETHOD(Type,rebinX2,TH2)(p)->RebinX(ngroup, newname));\+\+TH2_p Type##_rebinX2 ( Type##_p p, int ngroup, const char* newname ) {\+return from_nonconst_to_nonconst<TH2_t, TH2>((TH2*)((TYPECASTMETHOD(Type, rebinX2, TH2))(p))->RebinX(ngroup, newname));\ }\-TH2_p Type ## _rebinY2 ( Type ## _p p, int ngroup, const char* newname )\-{\-return to_nonconst<TH2_t,TH2>((TH2*)TYPECASTMETHOD(Type,rebinY2,TH2)(p)->RebinY(ngroup, newname));\+\+TH2_p Type##_rebinY2 ( Type##_p p, int ngroup, const char* newname ) {\+return from_nonconst_to_nonconst<TH2_t, TH2>((TH2*)((TYPECASTMETHOD(Type, rebinY2, TH2))(p))->RebinY(ngroup, newname));\ }\-TH2_p Type ## _Rebin2D ( Type ## _p p, int nxgroup, int nygroup, const char* newname )\-{\-return to_nonconst<TH2_t,TH2>((TH2*)TYPECASTMETHOD(Type,Rebin2D,TH2)(p)->Rebin2D(nxgroup, nygroup, newname));\+\+TH2_p Type##_Rebin2D ( Type##_p p, int nxgroup, int nygroup, const char* newname ) {\+return from_nonconst_to_nonconst<TH2_t, TH2>((TH2*)((TYPECASTMETHOD(Type, Rebin2D, TH2))(p))->Rebin2D(nxgroup, nygroup, newname));\ }\-void Type ## _SetShowProjectionX ( Type ## _p p, int nbins )\-{\-TYPECASTMETHOD(Type,SetShowProjectionX,TH2)(p)->SetShowProjectionX(nbins);\+\+void Type##_SetShowProjectionX ( Type##_p p, int nbins ) {\+((TYPECASTMETHOD(Type, SetShowProjectionX, TH2))(p))->SetShowProjectionX(nbins);\ }\-void Type ## _SetShowProjectionY ( Type ## _p p, int nbins )\-{\-TYPECASTMETHOD(Type,SetShowProjectionY,TH2)(p)->SetShowProjectionY(nbins);\+\+void Type##_SetShowProjectionY ( Type##_p p, int nbins ) {\+((TYPECASTMETHOD(Type, SetShowProjectionY, TH2))(p))->SetShowProjectionY(nbins);\ } -#undef TH2_DEF_NONVIRT-#define TH2_DEF_NONVIRT(Type)\-TH1D_p Type ## _tH2ProjectionX ( Type ## _p p, const char* name, int firstybin, int lastybin, const char* option )\-{\-return to_nonconst<TH1D_t,TH1D>((TH1D*)TYPECASTMETHOD(Type,tH2ProjectionX,TH2)(p)->ProjectionX(name, firstybin, lastybin, option));\++#define TH2_DEF_NONVIRT(Type) \+TH1D_p Type##_tH2_ProjectionX ( Type##_p p, const char* name, int firstybin, int lastybin, const char* option ) {\+return from_nonconst_to_nonconst<TH1D_t, TH1D>((TH1D*)((TYPECASTMETHOD(Type, tH2_ProjectionX, TH2))(p))->ProjectionX(name, firstybin, lastybin, option));\ }\-TH1D_p Type ## _tH2ProjectionY ( Type ## _p p, const char* name, int firstxbin, int lastxbin, const char* option )\-{\-return to_nonconst<TH1D_t,TH1D>((TH1D*)TYPECASTMETHOD(Type,tH2ProjectionY,TH2)(p)->ProjectionY(name, firstxbin, lastxbin, option));\+\+TH1D_p Type##_tH2_ProjectionY ( Type##_p p, const char* name, int firstxbin, int lastxbin, const char* option ) {\+return from_nonconst_to_nonconst<TH1D_t, TH1D>((TH1D*)((TYPECASTMETHOD(Type, tH2_ProjectionY, TH2))(p))->ProjectionY(name, firstxbin, lastxbin, option));\ } -TH1_DECL_VIRT(TH2);-TNAMED_DECL_VIRT(TH2);-TATTLINE_DECL_VIRT(TH2);-TATTFILL_DECL_VIRT(TH2);-TATTMARKER_DECL_VIRT(TH2);-TOBJECT_DECL_VIRT(TH2);-DELETABLE_DECL_VIRT(TH2); +#define TH2_DEF_ACCESSOR(Type) \ -TH2_DECL_VIRT(TH2); -TH2_DECL_NONVIRT(TH2);---#endif // __HROOT_HIST__TH2__+TH1_DECL_VIRT(TH2)+TNAMED_DECL_VIRT(TH2)+TATTLINE_DECL_VIRT(TH2)+TATTFILL_DECL_VIRT(TH2)+TATTMARKER_DECL_VIRT(TH2)+TOBJECT_DECL_VIRT(TH2)+DELETABLE_DECL_VIRT(TH2)+TH2_DECL_VIRT(TH2)+TH2_DECL_NONVIRT(TH2)+TH2_DECL_ACCESSOR(TH2) #ifdef __cplusplus }
csrc/HROOTHistTH2C.cpp view
@@ -1,20 +1,25 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH2.h"+ #include "HROOTCoreTArrayC.h"+ #include "TH2C.h"-#include "HROOTHistTH2C.h" +#include "HROOTHistTH2C.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) -#define IS_TH2C_fill1_PROTECTED () +#define IS_TH2C_fill1_PROTECTED () TH2_DEF_VIRT(TH2C) TARRAYC_DEF_VIRT(TH2C) TH1_DEF_VIRT(TH2C)@@ -25,8 +30,7 @@ TOBJECT_DEF_VIRT(TH2C) DELETABLE_DEF_VIRT(TH2C) TARRAY_DEF_VIRT(TH2C)- TH2C_DEF_VIRT(TH2C)- TH2C_DEF_NONVIRT(TH2C)+TH2C_DEF_ACCESSOR(TH2C)
csrc/HROOTHistTH2C.h view
@@ -1,58 +1,73 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH2C__-#define __HROOT_HIST__TH2C__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH2.h"+ #include "HROOTCoreTArrayC.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH2C_DECL_VIRT + #define TH2C_DECL_VIRT(Type) \ -#undef TH2C_DECL_NONVIRT + #define TH2C_DECL_NONVIRT(Type) \ -#undef TH2C_DEF_VIRT-#define TH2C_DEF_VIRT(Type)\ +#define TH2C_DECL_ACCESSOR(Type) \ -#undef TH2C_DEF_NONVIRT-#define TH2C_DEF_NONVIRT(Type)\ -TH2_DECL_VIRT(TH2C);-TARRAYC_DECL_VIRT(TH2C);-TH1_DECL_VIRT(TH2C);-TNAMED_DECL_VIRT(TH2C);-TATTLINE_DECL_VIRT(TH2C);-TATTFILL_DECL_VIRT(TH2C);-TATTMARKER_DECL_VIRT(TH2C);-TOBJECT_DECL_VIRT(TH2C);-DELETABLE_DECL_VIRT(TH2C);-TARRAY_DECL_VIRT(TH2C);+#define TH2C_DEF_VIRT(Type) \ -TH2C_DECL_VIRT(TH2C); +#define TH2C_DEF_NONVIRT(Type) \ -TH2C_DECL_NONVIRT(TH2C); -#endif // __HROOT_HIST__TH2C__+#define TH2C_DEF_ACCESSOR(Type) \++++TH2_DECL_VIRT(TH2C)+TARRAYC_DECL_VIRT(TH2C)+TH1_DECL_VIRT(TH2C)+TNAMED_DECL_VIRT(TH2C)+TATTLINE_DECL_VIRT(TH2C)+TATTFILL_DECL_VIRT(TH2C)+TATTMARKER_DECL_VIRT(TH2C)+TOBJECT_DECL_VIRT(TH2C)+DELETABLE_DECL_VIRT(TH2C)+TARRAY_DECL_VIRT(TH2C)+TH2C_DECL_VIRT(TH2C)+TH2C_DECL_NONVIRT(TH2C)+TH2C_DECL_ACCESSOR(TH2C) #ifdef __cplusplus }
csrc/HROOTHistTH2D.cpp view
@@ -1,20 +1,25 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH2.h"+ #include "HROOTCoreTArrayD.h"+ #include "TH2D.h"-#include "HROOTHistTH2D.h" +#include "HROOTHistTH2D.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) -#define IS_TH2D_fill1_PROTECTED () +#define IS_TH2D_fill1_PROTECTED () TH2_DEF_VIRT(TH2D) TARRAYD_DEF_VIRT(TH2D) TH1_DEF_VIRT(TH2D)@@ -25,8 +30,7 @@ TOBJECT_DEF_VIRT(TH2D) DELETABLE_DEF_VIRT(TH2D) TARRAY_DEF_VIRT(TH2D)- TH2D_DEF_VIRT(TH2D)- TH2D_DEF_NONVIRT(TH2D)+TH2D_DEF_ACCESSOR(TH2D)
csrc/HROOTHistTH2D.h view
@@ -1,62 +1,75 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH2D__-#define __HROOT_HIST__TH2D__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH2.h"+ #include "HROOTCoreTArrayD.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH2D_DECL_VIRT + #define TH2D_DECL_VIRT(Type) \ -#undef TH2D_DECL_NONVIRT + #define TH2D_DECL_NONVIRT(Type) \-Type ## _p Type ## _newTH2D ( const char* name, const char* title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup )+Type##_p Type##_newTH2D ( const char* name, const char* title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup ); -#undef TH2D_DEF_VIRT-#define TH2D_DEF_VIRT(Type)\ +#define TH2D_DECL_ACCESSOR(Type) \ -#undef TH2D_DEF_NONVIRT-#define TH2D_DEF_NONVIRT(Type)\-Type ## _p Type ## _newTH2D ( const char* name, const char* title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup )\-{\-Type * newp = new Type (name, title, nbinsx, xlow, xup, nbinsy, ylow, yup); \-return to_nonconst<Type ## _t, Type >(newp);\-} -TH2_DECL_VIRT(TH2D);-TARRAYD_DECL_VIRT(TH2D);-TH1_DECL_VIRT(TH2D);-TNAMED_DECL_VIRT(TH2D);-TATTLINE_DECL_VIRT(TH2D);-TATTFILL_DECL_VIRT(TH2D);-TATTMARKER_DECL_VIRT(TH2D);-TOBJECT_DECL_VIRT(TH2D);-DELETABLE_DECL_VIRT(TH2D);-TARRAY_DECL_VIRT(TH2D); +#define TH2D_DEF_VIRT(Type) \ -TH2D_DECL_VIRT(TH2D); -TH2D_DECL_NONVIRT(TH2D);+#define TH2D_DEF_NONVIRT(Type) \+Type##_p Type##_newTH2D ( const char* name, const char* title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup ) {\+Type* newp=new Type(name, title, nbinsx, xlow, xup, nbinsy, ylow, yup);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\+} -#endif // __HROOT_HIST__TH2D__+#define TH2D_DEF_ACCESSOR(Type) \++++TH2_DECL_VIRT(TH2D)+TARRAYD_DECL_VIRT(TH2D)+TH1_DECL_VIRT(TH2D)+TNAMED_DECL_VIRT(TH2D)+TATTLINE_DECL_VIRT(TH2D)+TATTFILL_DECL_VIRT(TH2D)+TATTMARKER_DECL_VIRT(TH2D)+TOBJECT_DECL_VIRT(TH2D)+DELETABLE_DECL_VIRT(TH2D)+TARRAY_DECL_VIRT(TH2D)+TH2D_DECL_VIRT(TH2D)+TH2D_DECL_NONVIRT(TH2D)+TH2D_DECL_ACCESSOR(TH2D) #ifdef __cplusplus }
csrc/HROOTHistTH2F.cpp view
@@ -1,20 +1,25 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH2.h"+ #include "HROOTCoreTArrayF.h"+ #include "TH2F.h"-#include "HROOTHistTH2F.h" +#include "HROOTHistTH2F.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) -#define IS_TH2F_fill1_PROTECTED () +#define IS_TH2F_fill1_PROTECTED () TH2_DEF_VIRT(TH2F) TARRAYF_DEF_VIRT(TH2F) TH1_DEF_VIRT(TH2F)@@ -25,8 +30,7 @@ TOBJECT_DEF_VIRT(TH2F) DELETABLE_DEF_VIRT(TH2F) TARRAY_DEF_VIRT(TH2F)- TH2F_DEF_VIRT(TH2F)- TH2F_DEF_NONVIRT(TH2F)+TH2F_DEF_ACCESSOR(TH2F)
csrc/HROOTHistTH2F.h view
@@ -1,62 +1,75 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH2F__-#define __HROOT_HIST__TH2F__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH2.h"+ #include "HROOTCoreTArrayF.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH2F_DECL_VIRT + #define TH2F_DECL_VIRT(Type) \ -#undef TH2F_DECL_NONVIRT + #define TH2F_DECL_NONVIRT(Type) \-Type ## _p Type ## _newTH2F ( const char* name, const char* title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup )+Type##_p Type##_newTH2F ( const char* name, const char* title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup ); -#undef TH2F_DEF_VIRT-#define TH2F_DEF_VIRT(Type)\ +#define TH2F_DECL_ACCESSOR(Type) \ -#undef TH2F_DEF_NONVIRT-#define TH2F_DEF_NONVIRT(Type)\-Type ## _p Type ## _newTH2F ( const char* name, const char* title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup )\-{\-Type * newp = new Type (name, title, nbinsx, xlow, xup, nbinsy, ylow, yup); \-return to_nonconst<Type ## _t, Type >(newp);\-} -TH2_DECL_VIRT(TH2F);-TARRAYF_DECL_VIRT(TH2F);-TH1_DECL_VIRT(TH2F);-TNAMED_DECL_VIRT(TH2F);-TATTLINE_DECL_VIRT(TH2F);-TATTFILL_DECL_VIRT(TH2F);-TATTMARKER_DECL_VIRT(TH2F);-TOBJECT_DECL_VIRT(TH2F);-DELETABLE_DECL_VIRT(TH2F);-TARRAY_DECL_VIRT(TH2F); +#define TH2F_DEF_VIRT(Type) \ -TH2F_DECL_VIRT(TH2F); -TH2F_DECL_NONVIRT(TH2F);+#define TH2F_DEF_NONVIRT(Type) \+Type##_p Type##_newTH2F ( const char* name, const char* title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup ) {\+Type* newp=new Type(name, title, nbinsx, xlow, xup, nbinsy, ylow, yup);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\+} -#endif // __HROOT_HIST__TH2F__+#define TH2F_DEF_ACCESSOR(Type) \++++TH2_DECL_VIRT(TH2F)+TARRAYF_DECL_VIRT(TH2F)+TH1_DECL_VIRT(TH2F)+TNAMED_DECL_VIRT(TH2F)+TATTLINE_DECL_VIRT(TH2F)+TATTFILL_DECL_VIRT(TH2F)+TATTMARKER_DECL_VIRT(TH2F)+TOBJECT_DECL_VIRT(TH2F)+DELETABLE_DECL_VIRT(TH2F)+TARRAY_DECL_VIRT(TH2F)+TH2F_DECL_VIRT(TH2F)+TH2F_DECL_NONVIRT(TH2F)+TH2F_DECL_ACCESSOR(TH2F) #ifdef __cplusplus }
csrc/HROOTHistTH2I.cpp view
@@ -1,20 +1,25 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH2.h"+ #include "HROOTCoreTArrayI.h"+ #include "TH2I.h"-#include "HROOTHistTH2I.h" +#include "HROOTHistTH2I.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) -#define IS_TH2I_fill1_PROTECTED () +#define IS_TH2I_fill1_PROTECTED () TH2_DEF_VIRT(TH2I) TARRAYI_DEF_VIRT(TH2I) TH1_DEF_VIRT(TH2I)@@ -25,8 +30,7 @@ TOBJECT_DEF_VIRT(TH2I) DELETABLE_DEF_VIRT(TH2I) TARRAY_DEF_VIRT(TH2I)- TH2I_DEF_VIRT(TH2I)- TH2I_DEF_NONVIRT(TH2I)+TH2I_DEF_ACCESSOR(TH2I)
csrc/HROOTHistTH2I.h view
@@ -1,58 +1,73 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH2I__-#define __HROOT_HIST__TH2I__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH2.h"+ #include "HROOTCoreTArrayI.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH2I_DECL_VIRT + #define TH2I_DECL_VIRT(Type) \ -#undef TH2I_DECL_NONVIRT + #define TH2I_DECL_NONVIRT(Type) \ -#undef TH2I_DEF_VIRT-#define TH2I_DEF_VIRT(Type)\ +#define TH2I_DECL_ACCESSOR(Type) \ -#undef TH2I_DEF_NONVIRT-#define TH2I_DEF_NONVIRT(Type)\ -TH2_DECL_VIRT(TH2I);-TARRAYI_DECL_VIRT(TH2I);-TH1_DECL_VIRT(TH2I);-TNAMED_DECL_VIRT(TH2I);-TATTLINE_DECL_VIRT(TH2I);-TATTFILL_DECL_VIRT(TH2I);-TATTMARKER_DECL_VIRT(TH2I);-TOBJECT_DECL_VIRT(TH2I);-DELETABLE_DECL_VIRT(TH2I);-TARRAY_DECL_VIRT(TH2I);+#define TH2I_DEF_VIRT(Type) \ -TH2I_DECL_VIRT(TH2I); +#define TH2I_DEF_NONVIRT(Type) \ -TH2I_DECL_NONVIRT(TH2I); -#endif // __HROOT_HIST__TH2I__+#define TH2I_DEF_ACCESSOR(Type) \++++TH2_DECL_VIRT(TH2I)+TARRAYI_DECL_VIRT(TH2I)+TH1_DECL_VIRT(TH2I)+TNAMED_DECL_VIRT(TH2I)+TATTLINE_DECL_VIRT(TH2I)+TATTFILL_DECL_VIRT(TH2I)+TATTMARKER_DECL_VIRT(TH2I)+TOBJECT_DECL_VIRT(TH2I)+DELETABLE_DECL_VIRT(TH2I)+TARRAY_DECL_VIRT(TH2I)+TH2I_DECL_VIRT(TH2I)+TH2I_DECL_NONVIRT(TH2I)+TH2I_DECL_ACCESSOR(TH2I) #ifdef __cplusplus }
csrc/HROOTHistTH2Poly.cpp view
@@ -1,19 +1,47 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"++#include "HROOTCoreTObject.h"+ #include "HROOTHistTH2.h"+ #include "TH2Poly.h"-#include "HROOTHistTH2Poly.h" +#include "HROOTHistTH2Poly.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) + #define IS_TH2Poly_fill1_PROTECTED () +#define IS_TH2Poly_fillN1_PROTECTED ()++#define IS_TH2Poly_GetBinContent2_PROTECTED ()++#define IS_TH2Poly_GetBinContent3_PROTECTED ()++#define IS_TH2Poly_GetBinError2_PROTECTED ()++#define IS_TH2Poly_GetBinError3_PROTECTED ()++#define IS_TH2Poly_integral1_PROTECTED ()++#define IS_TH2Poly_integral2_PROTECTED ()++#define IS_TH2Poly_setBinContent2_PROTECTED ()++#define IS_TH2Poly_setBinContent3_PROTECTED ()++#define IS_TH2Poly_setBinError2_PROTECTED ()++#define IS_TH2Poly_setBinError3_PROTECTED () TH2_DEF_VIRT(TH2Poly) TH1_DEF_VIRT(TH2Poly) TNAMED_DEF_VIRT(TH2Poly)@@ -22,8 +50,7 @@ TATTMARKER_DEF_VIRT(TH2Poly) TOBJECT_DEF_VIRT(TH2Poly) DELETABLE_DEF_VIRT(TH2Poly)- TH2POLY_DEF_VIRT(TH2Poly)- TH2POLY_DEF_NONVIRT(TH2Poly)+TH2POLY_DEF_ACCESSOR(TH2Poly)
csrc/HROOTHistTH2Poly.h view
@@ -1,53 +1,76 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH2Poly__-#define __HROOT_HIST__TH2Poly__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH2.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h" -#undef TH2POLY_DECL_VIRT +#include "STDDeletable.h"++#include "HROOT-coreType.h"++ #define TH2POLY_DECL_VIRT(Type) \+int Type##_AddBin ( Type##_p p, TObject_p poly );\+int Type##_FillS ( Type##_p p, const char* name, double w ); -#undef TH2POLY_DECL_NONVIRT #define TH2POLY_DECL_NONVIRT(Type) \+Type##_p Type##_newTH2Poly ( const char* name, const char* title, double xlow, double xup, double ylow, double yup ); -#undef TH2POLY_DEF_VIRT-#define TH2POLY_DEF_VIRT(Type)\+#define TH2POLY_DECL_ACCESSOR(Type) \ -#undef TH2POLY_DEF_NONVIRT-#define TH2POLY_DEF_NONVIRT(Type)\ +#define TH2POLY_DEF_VIRT(Type) \+int Type##_AddBin ( Type##_p p, TObject_p poly ) {\+return ((TYPECASTMETHOD(Type, AddBin, TH2Poly))(p))->AddBin(from_nonconst_to_nonconst<TObject, TObject_t>(poly));\+}\+\+int Type##_FillS ( Type##_p p, const char* name, double w ) {\+return ((TYPECASTMETHOD(Type, FillS, TH2Poly))(p))->Fill(name, w);\+} -TH2_DECL_VIRT(TH2Poly);-TH1_DECL_VIRT(TH2Poly);-TNAMED_DECL_VIRT(TH2Poly);-TATTLINE_DECL_VIRT(TH2Poly);-TATTFILL_DECL_VIRT(TH2Poly);-TATTMARKER_DECL_VIRT(TH2Poly);-TOBJECT_DECL_VIRT(TH2Poly);-DELETABLE_DECL_VIRT(TH2Poly); +#define TH2POLY_DEF_NONVIRT(Type) \+Type##_p Type##_newTH2Poly ( const char* name, const char* title, double xlow, double xup, double ylow, double yup ) {\+Type* newp=new Type(name, title, xlow, xup, ylow, yup);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\+} -TH2POLY_DECL_VIRT(TH2Poly); +#define TH2POLY_DEF_ACCESSOR(Type) \ -TH2POLY_DECL_NONVIRT(TH2Poly); -#endif // __HROOT_HIST__TH2Poly__+TH2_DECL_VIRT(TH2Poly)+TH1_DECL_VIRT(TH2Poly)+TNAMED_DECL_VIRT(TH2Poly)+TATTLINE_DECL_VIRT(TH2Poly)+TATTFILL_DECL_VIRT(TH2Poly)+TATTMARKER_DECL_VIRT(TH2Poly)+TOBJECT_DECL_VIRT(TH2Poly)+DELETABLE_DECL_VIRT(TH2Poly)+TH2POLY_DECL_VIRT(TH2Poly)+TH2POLY_DECL_NONVIRT(TH2Poly)+TH2POLY_DECL_ACCESSOR(TH2Poly) #ifdef __cplusplus }
csrc/HROOTHistTH2S.cpp view
@@ -1,20 +1,25 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH2.h"+ #include "HROOTCoreTArrayS.h"+ #include "TH2S.h"-#include "HROOTHistTH2S.h" +#include "HROOTHistTH2S.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) -#define IS_TH2S_fill1_PROTECTED () +#define IS_TH2S_fill1_PROTECTED () TH2_DEF_VIRT(TH2S) TARRAYS_DEF_VIRT(TH2S) TH1_DEF_VIRT(TH2S)@@ -25,8 +30,7 @@ TOBJECT_DEF_VIRT(TH2S) DELETABLE_DEF_VIRT(TH2S) TARRAY_DEF_VIRT(TH2S)- TH2S_DEF_VIRT(TH2S)- TH2S_DEF_NONVIRT(TH2S)+TH2S_DEF_ACCESSOR(TH2S)
csrc/HROOTHistTH2S.h view
@@ -1,58 +1,73 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH2S__-#define __HROOT_HIST__TH2S__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH2.h"+ #include "HROOTCoreTArrayS.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH2S_DECL_VIRT + #define TH2S_DECL_VIRT(Type) \ -#undef TH2S_DECL_NONVIRT + #define TH2S_DECL_NONVIRT(Type) \ -#undef TH2S_DEF_VIRT-#define TH2S_DEF_VIRT(Type)\ +#define TH2S_DECL_ACCESSOR(Type) \ -#undef TH2S_DEF_NONVIRT-#define TH2S_DEF_NONVIRT(Type)\ -TH2_DECL_VIRT(TH2S);-TARRAYS_DECL_VIRT(TH2S);-TH1_DECL_VIRT(TH2S);-TNAMED_DECL_VIRT(TH2S);-TATTLINE_DECL_VIRT(TH2S);-TATTFILL_DECL_VIRT(TH2S);-TATTMARKER_DECL_VIRT(TH2S);-TOBJECT_DECL_VIRT(TH2S);-DELETABLE_DECL_VIRT(TH2S);-TARRAY_DECL_VIRT(TH2S);+#define TH2S_DEF_VIRT(Type) \ -TH2S_DECL_VIRT(TH2S); +#define TH2S_DEF_NONVIRT(Type) \ -TH2S_DECL_NONVIRT(TH2S); -#endif // __HROOT_HIST__TH2S__+#define TH2S_DEF_ACCESSOR(Type) \++++TH2_DECL_VIRT(TH2S)+TARRAYS_DECL_VIRT(TH2S)+TH1_DECL_VIRT(TH2S)+TNAMED_DECL_VIRT(TH2S)+TATTLINE_DECL_VIRT(TH2S)+TATTFILL_DECL_VIRT(TH2S)+TATTMARKER_DECL_VIRT(TH2S)+TOBJECT_DECL_VIRT(TH2S)+DELETABLE_DECL_VIRT(TH2S)+TARRAY_DECL_VIRT(TH2S)+TH2S_DECL_VIRT(TH2S)+TH2S_DECL_NONVIRT(TH2S)+TH2S_DECL_ACCESSOR(TH2S) #ifdef __cplusplus }
csrc/HROOTHistTH3.cpp view
@@ -1,23 +1,31 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH1D.h"+ #include "HROOTHistTH1.h"+ #include "HROOTHistTF1.h"+ #include "HROOTCoreTAtt3D.h"+ #include "TH3.h"-#include "HROOTHistTH3.h" +#include "HROOTHistTH3.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) + #define IS_TH3_fill1_PROTECTED ()-#define IS_TH3_fill1w_PROTECTED () +#define IS_TH3_fill1w_PROTECTED () TH1_DEF_VIRT(TH3) TATT3D_DEF_VIRT(TH3) TNAMED_DEF_VIRT(TH3)@@ -26,8 +34,7 @@ TATTMARKER_DEF_VIRT(TH3) TOBJECT_DEF_VIRT(TH3) DELETABLE_DEF_VIRT(TH3)- TH3_DEF_VIRT(TH3)- TH3_DEF_NONVIRT(TH3)+TH3_DEF_ACCESSOR(TH3)
csrc/HROOTHistTH3.h view
@@ -1,115 +1,126 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH3__-#define __HROOT_HIST__TH3__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTAtt3D.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOT-coreType.h" -#undef TH3_DECL_VIRT + #define TH3_DECL_VIRT(Type) \-int Type ## _fill3 ( Type ## _p p, double x, double y, double z ); \-int Type ## _fill3w ( Type ## _p p, double x, double y, double z, double w ); \-void Type ## _FitSlicesZ ( Type ## _p p, TF1_p f1, int binminx, int binmaxx, int binminy, int binmaxy, int cut, const char* option ); \-double Type ## _getCorrelationFactor3 ( Type ## _p p, int axis1, int axis2 ); \-double Type ## _getCovariance3 ( Type ## _p p, int axis1, int axis2 ); \-TH3_p Type ## _rebinX3 ( Type ## _p p, int ngroup, const char* newname ); \-TH3_p Type ## _rebinY3 ( Type ## _p p, int ngroup, const char* newname ); \-TH3_p Type ## _rebinZ3 ( Type ## _p p, int ngroup, const char* newname ); \-TH3_p Type ## _Rebin3D ( Type ## _p p, int nxgroup, int nygroup, int nzgroup, const char* newname )+int Type##_fill3 ( Type##_p p, double x, double y, double z );\+int Type##_fill3w ( Type##_p p, double x, double y, double z, double w );\+void Type##_FitSlicesZ ( Type##_p p, TF1_p f1, int binminx, int binmaxx, int binminy, int binmaxy, int cut, const char* option );\+double Type##_getCorrelationFactor3 ( Type##_p p, int axis1, int axis2 );\+double Type##_getCovariance3 ( Type##_p p, int axis1, int axis2 );\+TH3_p Type##_rebinX3 ( Type##_p p, int ngroup, const char* newname );\+TH3_p Type##_rebinY3 ( Type##_p p, int ngroup, const char* newname );\+TH3_p Type##_rebinZ3 ( Type##_p p, int ngroup, const char* newname );\+TH3_p Type##_Rebin3D ( Type##_p p, int nxgroup, int nygroup, int nzgroup, const char* newname ); -#undef TH3_DECL_NONVIRT + #define TH3_DECL_NONVIRT(Type) \-TH1D_p Type ## _tH3ProjectionX ( Type ## _p p, const char* name, int firstybin, int lastybin, int firstzbin, int lastzbin, const char* option ); \-TH1D_p Type ## _tH3ProjectionY ( Type ## _p p, const char* name, int firstxbin, int lastxbin, int firstzbin, int lastzbin, const char* option ); \-TH1D_p Type ## _tH3ProjectionZ ( Type ## _p p, const char* name, int firstxbin, int lastxbin, int firstybin, int lastybin, const char* option ); \-TH1_p Type ## _tH3Project3D ( Type ## _p p, const char* option )+TH1D_p Type##_tH3_ProjectionX ( Type##_p p, const char* name, int firstybin, int lastybin, int firstzbin, int lastzbin, const char* option );\+TH1D_p Type##_tH3_ProjectionY ( Type##_p p, const char* name, int firstxbin, int lastxbin, int firstzbin, int lastzbin, const char* option );\+TH1D_p Type##_tH3_ProjectionZ ( Type##_p p, const char* name, int firstxbin, int lastxbin, int firstybin, int lastybin, const char* option );\+TH1_p Type##_tH3_Project3D ( Type##_p p, const char* option ); -#undef TH3_DEF_VIRT-#define TH3_DEF_VIRT(Type)\-int Type ## _fill3 ( Type ## _p p, double x, double y, double z )\-{\-return TYPECASTMETHOD(Type,fill3,TH3)(p)->Fill(x, y, z);\++#define TH3_DECL_ACCESSOR(Type) \++++#define TH3_DEF_VIRT(Type) \+int Type##_fill3 ( Type##_p p, double x, double y, double z ) {\+return ((TYPECASTMETHOD(Type, fill3, TH3))(p))->Fill(x, y, z);\ }\-int Type ## _fill3w ( Type ## _p p, double x, double y, double z, double w )\-{\-return TYPECASTMETHOD(Type,fill3w,TH3)(p)->Fill(x, y, z, w);\+\+int Type##_fill3w ( Type##_p p, double x, double y, double z, double w ) {\+return ((TYPECASTMETHOD(Type, fill3w, TH3))(p))->Fill(x, y, z, w);\ }\-void Type ## _FitSlicesZ ( Type ## _p p, TF1_p f1, int binminx, int binmaxx, int binminy, int binmaxy, int cut, const char* option )\-{\-TYPECASTMETHOD(Type,FitSlicesZ,TH3)(p)->FitSlicesZ(to_nonconst<TF1,TF1_t>(f1), binminx, binmaxx, binminy, binmaxy, cut, option);\+\+void Type##_FitSlicesZ ( Type##_p p, TF1_p f1, int binminx, int binmaxx, int binminy, int binmaxy, int cut, const char* option ) {\+((TYPECASTMETHOD(Type, FitSlicesZ, TH3))(p))->FitSlicesZ(from_nonconst_to_nonconst<TF1, TF1_t>(f1), binminx, binmaxx, binminy, binmaxy, cut, option);\ }\-double Type ## _getCorrelationFactor3 ( Type ## _p p, int axis1, int axis2 )\-{\-return TYPECASTMETHOD(Type,getCorrelationFactor3,TH3)(p)->GetCorrelationFactor(axis1, axis2);\+\+double Type##_getCorrelationFactor3 ( Type##_p p, int axis1, int axis2 ) {\+return ((TYPECASTMETHOD(Type, getCorrelationFactor3, TH3))(p))->GetCorrelationFactor(axis1, axis2);\ }\-double Type ## _getCovariance3 ( Type ## _p p, int axis1, int axis2 )\-{\-return TYPECASTMETHOD(Type,getCovariance3,TH3)(p)->GetCovariance(axis1, axis2);\+\+double Type##_getCovariance3 ( Type##_p p, int axis1, int axis2 ) {\+return ((TYPECASTMETHOD(Type, getCovariance3, TH3))(p))->GetCovariance(axis1, axis2);\ }\-TH3_p Type ## _rebinX3 ( Type ## _p p, int ngroup, const char* newname )\-{\-return to_nonconst<TH3_t,TH3>((TH3*)TYPECASTMETHOD(Type,rebinX3,TH3)(p)->RebinX(ngroup, newname));\+\+TH3_p Type##_rebinX3 ( Type##_p p, int ngroup, const char* newname ) {\+return from_nonconst_to_nonconst<TH3_t, TH3>((TH3*)((TYPECASTMETHOD(Type, rebinX3, TH3))(p))->RebinX(ngroup, newname));\ }\-TH3_p Type ## _rebinY3 ( Type ## _p p, int ngroup, const char* newname )\-{\-return to_nonconst<TH3_t,TH3>((TH3*)TYPECASTMETHOD(Type,rebinY3,TH3)(p)->RebinY(ngroup, newname));\+\+TH3_p Type##_rebinY3 ( Type##_p p, int ngroup, const char* newname ) {\+return from_nonconst_to_nonconst<TH3_t, TH3>((TH3*)((TYPECASTMETHOD(Type, rebinY3, TH3))(p))->RebinY(ngroup, newname));\ }\-TH3_p Type ## _rebinZ3 ( Type ## _p p, int ngroup, const char* newname )\-{\-return to_nonconst<TH3_t,TH3>((TH3*)TYPECASTMETHOD(Type,rebinZ3,TH3)(p)->RebinZ(ngroup, newname));\+\+TH3_p Type##_rebinZ3 ( Type##_p p, int ngroup, const char* newname ) {\+return from_nonconst_to_nonconst<TH3_t, TH3>((TH3*)((TYPECASTMETHOD(Type, rebinZ3, TH3))(p))->RebinZ(ngroup, newname));\ }\-TH3_p Type ## _Rebin3D ( Type ## _p p, int nxgroup, int nygroup, int nzgroup, const char* newname )\-{\-return to_nonconst<TH3_t,TH3>((TH3*)TYPECASTMETHOD(Type,Rebin3D,TH3)(p)->Rebin3D(nxgroup, nygroup, nzgroup, newname));\+\+TH3_p Type##_Rebin3D ( Type##_p p, int nxgroup, int nygroup, int nzgroup, const char* newname ) {\+return from_nonconst_to_nonconst<TH3_t, TH3>((TH3*)((TYPECASTMETHOD(Type, Rebin3D, TH3))(p))->Rebin3D(nxgroup, nygroup, nzgroup, newname));\ } -#undef TH3_DEF_NONVIRT-#define TH3_DEF_NONVIRT(Type)\-TH1D_p Type ## _tH3ProjectionX ( Type ## _p p, const char* name, int firstybin, int lastybin, int firstzbin, int lastzbin, const char* option )\-{\-return to_nonconst<TH1D_t,TH1D>((TH1D*)TYPECASTMETHOD(Type,tH3ProjectionX,TH3)(p)->ProjectionX(name, firstybin, lastybin, firstzbin, lastzbin, option));\++#define TH3_DEF_NONVIRT(Type) \+TH1D_p Type##_tH3_ProjectionX ( Type##_p p, const char* name, int firstybin, int lastybin, int firstzbin, int lastzbin, const char* option ) {\+return from_nonconst_to_nonconst<TH1D_t, TH1D>((TH1D*)((TYPECASTMETHOD(Type, tH3_ProjectionX, TH3))(p))->ProjectionX(name, firstybin, lastybin, firstzbin, lastzbin, option));\ }\-TH1D_p Type ## _tH3ProjectionY ( Type ## _p p, const char* name, int firstxbin, int lastxbin, int firstzbin, int lastzbin, const char* option )\-{\-return to_nonconst<TH1D_t,TH1D>((TH1D*)TYPECASTMETHOD(Type,tH3ProjectionY,TH3)(p)->ProjectionY(name, firstxbin, lastxbin, firstzbin, lastzbin, option));\+\+TH1D_p Type##_tH3_ProjectionY ( Type##_p p, const char* name, int firstxbin, int lastxbin, int firstzbin, int lastzbin, const char* option ) {\+return from_nonconst_to_nonconst<TH1D_t, TH1D>((TH1D*)((TYPECASTMETHOD(Type, tH3_ProjectionY, TH3))(p))->ProjectionY(name, firstxbin, lastxbin, firstzbin, lastzbin, option));\ }\-TH1D_p Type ## _tH3ProjectionZ ( Type ## _p p, const char* name, int firstxbin, int lastxbin, int firstybin, int lastybin, const char* option )\-{\-return to_nonconst<TH1D_t,TH1D>((TH1D*)TYPECASTMETHOD(Type,tH3ProjectionZ,TH3)(p)->ProjectionZ(name, firstxbin, lastxbin, firstybin, lastybin, option));\+\+TH1D_p Type##_tH3_ProjectionZ ( Type##_p p, const char* name, int firstxbin, int lastxbin, int firstybin, int lastybin, const char* option ) {\+return from_nonconst_to_nonconst<TH1D_t, TH1D>((TH1D*)((TYPECASTMETHOD(Type, tH3_ProjectionZ, TH3))(p))->ProjectionZ(name, firstxbin, lastxbin, firstybin, lastybin, option));\ }\-TH1_p Type ## _tH3Project3D ( Type ## _p p, const char* option )\-{\-return to_nonconst<TH1_t,TH1>((TH1*)TYPECASTMETHOD(Type,tH3Project3D,TH3)(p)->Project3D(option));\+\+TH1_p Type##_tH3_Project3D ( Type##_p p, const char* option ) {\+return from_nonconst_to_nonconst<TH1_t, TH1>((TH1*)((TYPECASTMETHOD(Type, tH3_Project3D, TH3))(p))->Project3D(option));\ } -TH1_DECL_VIRT(TH3);-TATT3D_DECL_VIRT(TH3);-TNAMED_DECL_VIRT(TH3);-TATTLINE_DECL_VIRT(TH3);-TATTFILL_DECL_VIRT(TH3);-TATTMARKER_DECL_VIRT(TH3);-TOBJECT_DECL_VIRT(TH3);-DELETABLE_DECL_VIRT(TH3); +#define TH3_DEF_ACCESSOR(Type) \ -TH3_DECL_VIRT(TH3); -TH3_DECL_NONVIRT(TH3);---#endif // __HROOT_HIST__TH3__+TH1_DECL_VIRT(TH3)+TATT3D_DECL_VIRT(TH3)+TNAMED_DECL_VIRT(TH3)+TATTLINE_DECL_VIRT(TH3)+TATTFILL_DECL_VIRT(TH3)+TATTMARKER_DECL_VIRT(TH3)+TOBJECT_DECL_VIRT(TH3)+DELETABLE_DECL_VIRT(TH3)+TH3_DECL_VIRT(TH3)+TH3_DECL_NONVIRT(TH3)+TH3_DECL_ACCESSOR(TH3) #ifdef __cplusplus }
csrc/HROOTHistTH3C.cpp view
@@ -1,21 +1,27 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH3.h"+ #include "HROOTCoreTArrayC.h"+ #include "TH3C.h"-#include "HROOTHistTH3C.h" +#include "HROOTHistTH3C.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) + #define IS_TH3C_fill1_PROTECTED ()-#define IS_TH3C_fill1w_PROTECTED () +#define IS_TH3C_fill1w_PROTECTED () TH3_DEF_VIRT(TH3C) TARRAYC_DEF_VIRT(TH3C) TH1_DEF_VIRT(TH3C)@@ -27,8 +33,7 @@ TOBJECT_DEF_VIRT(TH3C) DELETABLE_DEF_VIRT(TH3C) TARRAY_DEF_VIRT(TH3C)- TH3C_DEF_VIRT(TH3C)- TH3C_DEF_NONVIRT(TH3C)+TH3C_DEF_ACCESSOR(TH3C)
csrc/HROOTHistTH3C.h view
@@ -1,60 +1,76 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH3C__-#define __HROOT_HIST__TH3C__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH3.h"+ #include "HROOTCoreTArrayC.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTAtt3D.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH3C_DECL_VIRT + #define TH3C_DECL_VIRT(Type) \ -#undef TH3C_DECL_NONVIRT + #define TH3C_DECL_NONVIRT(Type) \ -#undef TH3C_DEF_VIRT-#define TH3C_DEF_VIRT(Type)\ +#define TH3C_DECL_ACCESSOR(Type) \ -#undef TH3C_DEF_NONVIRT-#define TH3C_DEF_NONVIRT(Type)\ -TH3_DECL_VIRT(TH3C);-TARRAYC_DECL_VIRT(TH3C);-TH1_DECL_VIRT(TH3C);-TATT3D_DECL_VIRT(TH3C);-TNAMED_DECL_VIRT(TH3C);-TATTLINE_DECL_VIRT(TH3C);-TATTFILL_DECL_VIRT(TH3C);-TATTMARKER_DECL_VIRT(TH3C);-TOBJECT_DECL_VIRT(TH3C);-DELETABLE_DECL_VIRT(TH3C);-TARRAY_DECL_VIRT(TH3C);+#define TH3C_DEF_VIRT(Type) \ -TH3C_DECL_VIRT(TH3C); +#define TH3C_DEF_NONVIRT(Type) \ -TH3C_DECL_NONVIRT(TH3C); -#endif // __HROOT_HIST__TH3C__+#define TH3C_DEF_ACCESSOR(Type) \++++TH3_DECL_VIRT(TH3C)+TARRAYC_DECL_VIRT(TH3C)+TH1_DECL_VIRT(TH3C)+TATT3D_DECL_VIRT(TH3C)+TNAMED_DECL_VIRT(TH3C)+TATTLINE_DECL_VIRT(TH3C)+TATTFILL_DECL_VIRT(TH3C)+TATTMARKER_DECL_VIRT(TH3C)+TOBJECT_DECL_VIRT(TH3C)+DELETABLE_DECL_VIRT(TH3C)+TARRAY_DECL_VIRT(TH3C)+TH3C_DECL_VIRT(TH3C)+TH3C_DECL_NONVIRT(TH3C)+TH3C_DECL_ACCESSOR(TH3C) #ifdef __cplusplus }
csrc/HROOTHistTH3D.cpp view
@@ -1,21 +1,27 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH3.h"+ #include "HROOTCoreTArrayD.h"+ #include "TH3D.h"-#include "HROOTHistTH3D.h" +#include "HROOTHistTH3D.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) + #define IS_TH3D_fill1_PROTECTED ()-#define IS_TH3D_fill1w_PROTECTED () +#define IS_TH3D_fill1w_PROTECTED () TH3_DEF_VIRT(TH3D) TARRAYD_DEF_VIRT(TH3D) TH1_DEF_VIRT(TH3D)@@ -27,8 +33,7 @@ TOBJECT_DEF_VIRT(TH3D) DELETABLE_DEF_VIRT(TH3D) TARRAY_DEF_VIRT(TH3D)- TH3D_DEF_VIRT(TH3D)- TH3D_DEF_NONVIRT(TH3D)+TH3D_DEF_ACCESSOR(TH3D)
csrc/HROOTHistTH3D.h view
@@ -1,60 +1,76 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH3D__-#define __HROOT_HIST__TH3D__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH3.h"+ #include "HROOTCoreTArrayD.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTAtt3D.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH3D_DECL_VIRT + #define TH3D_DECL_VIRT(Type) \ -#undef TH3D_DECL_NONVIRT + #define TH3D_DECL_NONVIRT(Type) \ -#undef TH3D_DEF_VIRT-#define TH3D_DEF_VIRT(Type)\ +#define TH3D_DECL_ACCESSOR(Type) \ -#undef TH3D_DEF_NONVIRT-#define TH3D_DEF_NONVIRT(Type)\ -TH3_DECL_VIRT(TH3D);-TARRAYD_DECL_VIRT(TH3D);-TH1_DECL_VIRT(TH3D);-TATT3D_DECL_VIRT(TH3D);-TNAMED_DECL_VIRT(TH3D);-TATTLINE_DECL_VIRT(TH3D);-TATTFILL_DECL_VIRT(TH3D);-TATTMARKER_DECL_VIRT(TH3D);-TOBJECT_DECL_VIRT(TH3D);-DELETABLE_DECL_VIRT(TH3D);-TARRAY_DECL_VIRT(TH3D);+#define TH3D_DEF_VIRT(Type) \ -TH3D_DECL_VIRT(TH3D); +#define TH3D_DEF_NONVIRT(Type) \ -TH3D_DECL_NONVIRT(TH3D); -#endif // __HROOT_HIST__TH3D__+#define TH3D_DEF_ACCESSOR(Type) \++++TH3_DECL_VIRT(TH3D)+TARRAYD_DECL_VIRT(TH3D)+TH1_DECL_VIRT(TH3D)+TATT3D_DECL_VIRT(TH3D)+TNAMED_DECL_VIRT(TH3D)+TATTLINE_DECL_VIRT(TH3D)+TATTFILL_DECL_VIRT(TH3D)+TATTMARKER_DECL_VIRT(TH3D)+TOBJECT_DECL_VIRT(TH3D)+DELETABLE_DECL_VIRT(TH3D)+TARRAY_DECL_VIRT(TH3D)+TH3D_DECL_VIRT(TH3D)+TH3D_DECL_NONVIRT(TH3D)+TH3D_DECL_ACCESSOR(TH3D) #ifdef __cplusplus }
csrc/HROOTHistTH3F.cpp view
@@ -1,21 +1,27 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH3.h"+ #include "HROOTCoreTArrayF.h"+ #include "TH3F.h"-#include "HROOTHistTH3F.h" +#include "HROOTHistTH3F.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) + #define IS_TH3F_fill1_PROTECTED ()-#define IS_TH3F_fill1w_PROTECTED () +#define IS_TH3F_fill1w_PROTECTED () TH3_DEF_VIRT(TH3F) TARRAYF_DEF_VIRT(TH3F) TH1_DEF_VIRT(TH3F)@@ -27,8 +33,7 @@ TOBJECT_DEF_VIRT(TH3F) DELETABLE_DEF_VIRT(TH3F) TARRAY_DEF_VIRT(TH3F)- TH3F_DEF_VIRT(TH3F)- TH3F_DEF_NONVIRT(TH3F)+TH3F_DEF_ACCESSOR(TH3F)
csrc/HROOTHistTH3F.h view
@@ -1,60 +1,76 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH3F__-#define __HROOT_HIST__TH3F__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH3.h"+ #include "HROOTCoreTArrayF.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTAtt3D.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH3F_DECL_VIRT + #define TH3F_DECL_VIRT(Type) \ -#undef TH3F_DECL_NONVIRT + #define TH3F_DECL_NONVIRT(Type) \ -#undef TH3F_DEF_VIRT-#define TH3F_DEF_VIRT(Type)\ +#define TH3F_DECL_ACCESSOR(Type) \ -#undef TH3F_DEF_NONVIRT-#define TH3F_DEF_NONVIRT(Type)\ -TH3_DECL_VIRT(TH3F);-TARRAYF_DECL_VIRT(TH3F);-TH1_DECL_VIRT(TH3F);-TATT3D_DECL_VIRT(TH3F);-TNAMED_DECL_VIRT(TH3F);-TATTLINE_DECL_VIRT(TH3F);-TATTFILL_DECL_VIRT(TH3F);-TATTMARKER_DECL_VIRT(TH3F);-TOBJECT_DECL_VIRT(TH3F);-DELETABLE_DECL_VIRT(TH3F);-TARRAY_DECL_VIRT(TH3F);+#define TH3F_DEF_VIRT(Type) \ -TH3F_DECL_VIRT(TH3F); +#define TH3F_DEF_NONVIRT(Type) \ -TH3F_DECL_NONVIRT(TH3F); -#endif // __HROOT_HIST__TH3F__+#define TH3F_DEF_ACCESSOR(Type) \++++TH3_DECL_VIRT(TH3F)+TARRAYF_DECL_VIRT(TH3F)+TH1_DECL_VIRT(TH3F)+TATT3D_DECL_VIRT(TH3F)+TNAMED_DECL_VIRT(TH3F)+TATTLINE_DECL_VIRT(TH3F)+TATTFILL_DECL_VIRT(TH3F)+TATTMARKER_DECL_VIRT(TH3F)+TOBJECT_DECL_VIRT(TH3F)+DELETABLE_DECL_VIRT(TH3F)+TARRAY_DECL_VIRT(TH3F)+TH3F_DECL_VIRT(TH3F)+TH3F_DECL_NONVIRT(TH3F)+TH3F_DECL_ACCESSOR(TH3F) #ifdef __cplusplus }
csrc/HROOTHistTH3I.cpp view
@@ -1,21 +1,27 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH3.h"+ #include "HROOTCoreTArrayI.h"+ #include "TH3I.h"-#include "HROOTHistTH3I.h" +#include "HROOTHistTH3I.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) + #define IS_TH3I_fill1_PROTECTED ()-#define IS_TH3I_fill1w_PROTECTED () +#define IS_TH3I_fill1w_PROTECTED () TH3_DEF_VIRT(TH3I) TARRAYI_DEF_VIRT(TH3I) TH1_DEF_VIRT(TH3I)@@ -27,8 +33,7 @@ TOBJECT_DEF_VIRT(TH3I) DELETABLE_DEF_VIRT(TH3I) TARRAY_DEF_VIRT(TH3I)- TH3I_DEF_VIRT(TH3I)- TH3I_DEF_NONVIRT(TH3I)+TH3I_DEF_ACCESSOR(TH3I)
csrc/HROOTHistTH3I.h view
@@ -1,60 +1,76 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH3I__-#define __HROOT_HIST__TH3I__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH3.h"+ #include "HROOTCoreTArrayI.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTAtt3D.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH3I_DECL_VIRT + #define TH3I_DECL_VIRT(Type) \ -#undef TH3I_DECL_NONVIRT + #define TH3I_DECL_NONVIRT(Type) \ -#undef TH3I_DEF_VIRT-#define TH3I_DEF_VIRT(Type)\ +#define TH3I_DECL_ACCESSOR(Type) \ -#undef TH3I_DEF_NONVIRT-#define TH3I_DEF_NONVIRT(Type)\ -TH3_DECL_VIRT(TH3I);-TARRAYI_DECL_VIRT(TH3I);-TH1_DECL_VIRT(TH3I);-TATT3D_DECL_VIRT(TH3I);-TNAMED_DECL_VIRT(TH3I);-TATTLINE_DECL_VIRT(TH3I);-TATTFILL_DECL_VIRT(TH3I);-TATTMARKER_DECL_VIRT(TH3I);-TOBJECT_DECL_VIRT(TH3I);-DELETABLE_DECL_VIRT(TH3I);-TARRAY_DECL_VIRT(TH3I);+#define TH3I_DEF_VIRT(Type) \ -TH3I_DECL_VIRT(TH3I); +#define TH3I_DEF_NONVIRT(Type) \ -TH3I_DECL_NONVIRT(TH3I); -#endif // __HROOT_HIST__TH3I__+#define TH3I_DEF_ACCESSOR(Type) \++++TH3_DECL_VIRT(TH3I)+TARRAYI_DECL_VIRT(TH3I)+TH1_DECL_VIRT(TH3I)+TATT3D_DECL_VIRT(TH3I)+TNAMED_DECL_VIRT(TH3I)+TATTLINE_DECL_VIRT(TH3I)+TATTFILL_DECL_VIRT(TH3I)+TATTMARKER_DECL_VIRT(TH3I)+TOBJECT_DECL_VIRT(TH3I)+DELETABLE_DECL_VIRT(TH3I)+TARRAY_DECL_VIRT(TH3I)+TH3I_DECL_VIRT(TH3I)+TH3I_DECL_NONVIRT(TH3I)+TH3I_DECL_ACCESSOR(TH3I) #ifdef __cplusplus }
csrc/HROOTHistTH3S.cpp view
@@ -1,21 +1,27 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTHistTH3.h"+ #include "HROOTCoreTArrayS.h"+ #include "TH3S.h"-#include "HROOTHistTH3S.h" +#include "HROOTHistTH3S.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) + #define IS_TH3S_fill1_PROTECTED ()-#define IS_TH3S_fill1w_PROTECTED () +#define IS_TH3S_fill1w_PROTECTED () TH3_DEF_VIRT(TH3S) TARRAYS_DEF_VIRT(TH3S) TH1_DEF_VIRT(TH3S)@@ -27,8 +33,7 @@ TOBJECT_DEF_VIRT(TH3S) DELETABLE_DEF_VIRT(TH3S) TARRAY_DEF_VIRT(TH3S)- TH3S_DEF_VIRT(TH3S)- TH3S_DEF_NONVIRT(TH3S)+TH3S_DEF_ACCESSOR(TH3S)
csrc/HROOTHistTH3S.h view
@@ -1,60 +1,76 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__TH3S__-#define __HROOT_HIST__TH3S__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTHistTH3.h"+ #include "HROOTCoreTArrayS.h"+ #include "HROOTHistTH1.h"+ #include "HROOTCoreTAtt3D.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTAttLine.h"+ #include "HROOTCoreTAttFill.h"+ #include "HROOTCoreTAttMarker.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOTCoreTArray.h"+ #include "HROOT-coreType.h" -#undef TH3S_DECL_VIRT + #define TH3S_DECL_VIRT(Type) \ -#undef TH3S_DECL_NONVIRT + #define TH3S_DECL_NONVIRT(Type) \ -#undef TH3S_DEF_VIRT-#define TH3S_DEF_VIRT(Type)\ +#define TH3S_DECL_ACCESSOR(Type) \ -#undef TH3S_DEF_NONVIRT-#define TH3S_DEF_NONVIRT(Type)\ -TH3_DECL_VIRT(TH3S);-TARRAYS_DECL_VIRT(TH3S);-TH1_DECL_VIRT(TH3S);-TATT3D_DECL_VIRT(TH3S);-TNAMED_DECL_VIRT(TH3S);-TATTLINE_DECL_VIRT(TH3S);-TATTFILL_DECL_VIRT(TH3S);-TATTMARKER_DECL_VIRT(TH3S);-TOBJECT_DECL_VIRT(TH3S);-DELETABLE_DECL_VIRT(TH3S);-TARRAY_DECL_VIRT(TH3S);+#define TH3S_DEF_VIRT(Type) \ -TH3S_DECL_VIRT(TH3S); +#define TH3S_DEF_NONVIRT(Type) \ -TH3S_DECL_NONVIRT(TH3S); -#endif // __HROOT_HIST__TH3S__+#define TH3S_DEF_ACCESSOR(Type) \++++TH3_DECL_VIRT(TH3S)+TARRAYS_DECL_VIRT(TH3S)+TH1_DECL_VIRT(TH3S)+TATT3D_DECL_VIRT(TH3S)+TNAMED_DECL_VIRT(TH3S)+TATTLINE_DECL_VIRT(TH3S)+TATTFILL_DECL_VIRT(TH3S)+TATTMARKER_DECL_VIRT(TH3S)+TOBJECT_DECL_VIRT(TH3S)+DELETABLE_DECL_VIRT(TH3S)+TARRAY_DECL_VIRT(TH3S)+TH3S_DECL_VIRT(TH3S)+TH3S_DECL_NONVIRT(TH3S)+TH3S_DECL_ACCESSOR(TH3S) #ifdef __cplusplus }
csrc/HROOTHistTHStack.cpp view
@@ -1,23 +1,25 @@-#include <MacroPatternMatch.h>++#include "MacroPatternMatch.h"+ #include "HROOTCoreTNamed.h"+ #include "THStack.h"-#include "HROOTHistTHStack.h" +#include "HROOTHistTHStack.h" +using namespace ROOT; -#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)+#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED) #define TYPECASTMETHOD(cname,mname,oname) \- IIF( CHECKPROTECT(cname,mname) ) ( \- (to_nonconst<oname,cname ## _t>), \- (to_nonconst<cname,cname ## _t>) )-+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) ) TNAMED_DEF_VIRT(THStack) TOBJECT_DEF_VIRT(THStack) DELETABLE_DEF_VIRT(THStack)- THSTACK_DEF_VIRT(THStack)- THSTACK_DEF_NONVIRT(THStack)+THSTACK_DEF_ACCESSOR(THStack)
csrc/HROOTHistTHStack.h view
@@ -1,48 +1,54 @@+ #ifdef __cplusplus-extern "C" { +extern "C" { #endif -#ifndef __HROOT_HIST__THStack__-#define __HROOT_HIST__THStack__+#pragma once + #include "HROOT-histType.h"+ #include "HROOTCoreTNamed.h"+ #include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"++#include "STDDeletable.h"+ #include "HROOT-coreType.h" -#undef THSTACK_DECL_VIRT + #define THSTACK_DECL_VIRT(Type) \ -#undef THSTACK_DECL_NONVIRT + #define THSTACK_DECL_NONVIRT(Type) \-Type ## _p Type ## _newTHStack ( const char* name, const char* title )+Type##_p Type##_newTHStack ( const char* name, const char* title ); -#undef THSTACK_DEF_VIRT-#define THSTACK_DEF_VIRT(Type)\ +#define THSTACK_DECL_ACCESSOR(Type) \ -#undef THSTACK_DEF_NONVIRT-#define THSTACK_DEF_NONVIRT(Type)\-Type ## _p Type ## _newTHStack ( const char* name, const char* title )\-{\-Type * newp = new Type (name, title); \-return to_nonconst<Type ## _t, Type >(newp);\-} -TNAMED_DECL_VIRT(THStack);-TOBJECT_DECL_VIRT(THStack);-DELETABLE_DECL_VIRT(THStack); +#define THSTACK_DEF_VIRT(Type) \ -THSTACK_DECL_VIRT(THStack); -THSTACK_DECL_NONVIRT(THStack);+#define THSTACK_DEF_NONVIRT(Type) \+Type##_p Type##_newTHStack ( const char* name, const char* title ) {\+Type* newp=new Type(name, title);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\+} -#endif // __HROOT_HIST__THStack__+#define THSTACK_DEF_ACCESSOR(Type) \++++TNAMED_DECL_VIRT(THStack)+TOBJECT_DECL_VIRT(THStack)+DELETABLE_DECL_VIRT(THStack)+THSTACK_DECL_VIRT(THStack)+THSTACK_DECL_NONVIRT(THStack)+THSTACK_DECL_ACCESSOR(THStack) #ifdef __cplusplus }
+ csrc/HROOTHistTMultiGraph.cpp view
@@ -0,0 +1,27 @@++#include "MacroPatternMatch.h"++#include "HROOTHistTGraph.h"++#include "HROOTCoreTNamed.h"++#include "TMultiGraph.h"++#include "HROOTHistTMultiGraph.h"++using namespace ROOT;++#define CHECKPROTECT(x,y) FXIS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)++#define TYPECASTMETHOD(cname,mname,oname) \+ FXIIF( CHECKPROTECT(cname,mname) ) ( \+ (from_nonconst_to_nonconst<oname,cname ## _t>), \+ (from_nonconst_to_nonconst<cname,cname ## _t>) )++TNAMED_DEF_VIRT(TMultiGraph)+TOBJECT_DEF_VIRT(TMultiGraph)+DELETABLE_DEF_VIRT(TMultiGraph)+TMULTIGRAPH_DEF_VIRT(TMultiGraph)+TMULTIGRAPH_DEF_NONVIRT(TMultiGraph)+TMULTIGRAPH_DEF_ACCESSOR(TMultiGraph)+
+ csrc/HROOTHistTMultiGraph.h view
@@ -0,0 +1,58 @@++#ifdef __cplusplus+extern "C" {+#endif++#pragma once+++#include "HROOT-histType.h"++#include "HROOTCoreTNamed.h"++#include "HROOTCoreTObject.h"++#include "STDDeletable.h"++#include "HROOT-coreType.h"+++#define TMULTIGRAPH_DECL_VIRT(Type) \+void Type##_AddG ( Type##_p p, TGraph_p graph, const char* chopt );+++#define TMULTIGRAPH_DECL_NONVIRT(Type) \+Type##_p Type##_newTMultiGraph ( const char* name, const char* title );+++#define TMULTIGRAPH_DECL_ACCESSOR(Type) \++++#define TMULTIGRAPH_DEF_VIRT(Type) \+void Type##_AddG ( Type##_p p, TGraph_p graph, const char* chopt ) {\+((TYPECASTMETHOD(Type, AddG, TMultiGraph))(p))->Add(from_nonconst_to_nonconst<TGraph, TGraph_t>(graph), chopt);\+}+++#define TMULTIGRAPH_DEF_NONVIRT(Type) \+Type##_p Type##_newTMultiGraph ( const char* name, const char* title ) {\+Type* newp=new Type(name, title);return from_nonconst_to_nonconst<Type##_t, Type>(newp);\+}+++#define TMULTIGRAPH_DEF_ACCESSOR(Type) \++++TNAMED_DECL_VIRT(TMultiGraph)+TOBJECT_DECL_VIRT(TMultiGraph)+DELETABLE_DECL_VIRT(TMultiGraph)+TMULTIGRAPH_DECL_VIRT(TMultiGraph)+TMULTIGRAPH_DECL_NONVIRT(TMultiGraph)+TMULTIGRAPH_DECL_ACCESSOR(TMultiGraph)++#ifdef __cplusplus+}+#endif+
src/HROOT/Hist.hs view
@@ -1,40 +1,31 @@-module HROOT.Hist (- module HROOT.Hist.TAxis-, module HROOT.Hist.TF1-, module HROOT.Hist.TFitResult-, module HROOT.Hist.TFitResultPtr-, module HROOT.Hist.TGraph-, module HROOT.Hist.TGraphAsymmErrors-, module HROOT.Hist.TGraphBentErrors-, module HROOT.Hist.TGraphErrors-, module HROOT.Hist.TH1-, module HROOT.Hist.TH1C-, module HROOT.Hist.TH1D-, module HROOT.Hist.TH1F-, module HROOT.Hist.TH1I-, module HROOT.Hist.TH1K-, module HROOT.Hist.TH1S-, module HROOT.Hist.TH2-, module HROOT.Hist.TH2C-, module HROOT.Hist.TH2D-, module HROOT.Hist.TH2F-, module HROOT.Hist.TH2I-, module HROOT.Hist.TH2Poly-, module HROOT.Hist.TH2S-, module HROOT.Hist.TH3-, module HROOT.Hist.TH3C-, module HROOT.Hist.TH3D-, module HROOT.Hist.TH3F-, module HROOT.Hist.TH3I-, module HROOT.Hist.TH3S-, module HROOT.Hist.THStack-) where-+{-# LANGUAGE FlexibleContexts, FlexibleInstances,+ ForeignFunctionInterface, InterruptibleFFI #-}+module HROOT.Hist+ (module HROOT.Hist.TAxis, module HROOT.Hist.TF1,+ module HROOT.Hist.TFitResult, module HROOT.Hist.TFitResultPtr,+ module HROOT.Hist.TGraph, module HROOT.Hist.TGraph2D,+ module HROOT.Hist.TGraphAsymmErrors,+ module HROOT.Hist.TGraphBentErrors, module HROOT.Hist.TGraphErrors,+ module HROOT.Hist.TH1, module HROOT.Hist.TH1C,+ module HROOT.Hist.TH1D, module HROOT.Hist.TH1F,+ module HROOT.Hist.TH1I, module HROOT.Hist.TH1K,+ module HROOT.Hist.TH1S, module HROOT.Hist.TH2,+ module HROOT.Hist.TH2C, module HROOT.Hist.TH2D,+ module HROOT.Hist.TH2F, module HROOT.Hist.TH2I,+ module HROOT.Hist.TH2Poly, module HROOT.Hist.TH2S,+ module HROOT.Hist.TH3, module HROOT.Hist.TH3C,+ module HROOT.Hist.TH3D, module HROOT.Hist.TH3F,+ module HROOT.Hist.TH3I, module HROOT.Hist.TH3S,+ module HROOT.Hist.THStack, module HROOT.Hist.TMultiGraph,+ module HROOT.Hist.Ordinary, module HROOT.Hist.Template,+ module HROOT.Hist.TH)+ where import HROOT.Hist.TAxis import HROOT.Hist.TF1 import HROOT.Hist.TFitResult import HROOT.Hist.TFitResultPtr import HROOT.Hist.TGraph+import HROOT.Hist.TGraph2D import HROOT.Hist.TGraphAsymmErrors import HROOT.Hist.TGraphBentErrors import HROOT.Hist.TGraphErrors@@ -59,7 +50,7 @@ import HROOT.Hist.TH3I import HROOT.Hist.TH3S import HROOT.Hist.THStack----+import HROOT.Hist.TMultiGraph+import HROOT.Hist.Template+import HROOT.Hist.TH+import HROOT.Hist.Ordinary
+ src/HROOT/Hist/Ordinary.hs view
@@ -0,0 +1,6 @@+{-# LANGUAGE FlexibleContexts, FlexibleInstances,+ ForeignFunctionInterface, InterruptibleFFI #-}+module HROOT.Hist.Ordinary () where+import Foreign.C+import Foreign.Ptr+import FFICXX.Runtime.Cast
src/HROOT/Hist/TAxis.hs view
@@ -1,6 +1,8 @@ module HROOT.Hist.TAxis (TAxis(..), ITAxis(..), upcastTAxis, downcastTAxis, newTAxis,- tAxisGetCenterLabels, tAxisGetCenterTitle)+ tAxis_GetCenterLabels, tAxis_GetCenterTitle, tAxis_GetFirst,+ tAxis_GetLast, tAxis_GetNbins, tAxis_GetXbins, tAxis_GetXmax,+ tAxis_GetXmin) where import HROOT.Hist.TAxis.RawType import HROOT.Hist.TAxis.Interface
src/HROOT/Hist/TAxis/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TAxis.RawType import HROOT.Hist.TAxis.Interface -instance (ITAxis a, FPtr a) => Castable a (Ptr RawTAxis) where+instance (ITAxis a, FPtr a) => Castable (a) (Ptr RawTAxis) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TAxis (Ptr RawTAxis) where+instance () => Castable (TAxis) (Ptr RawTAxis) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TAxis/FFI.hsc view
@@ -1,144 +1,213 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TAxis.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TAxis.RawType+import HROOT.Hist.TAxis.RawType import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType+import HROOT.Core.TArrayD.RawType -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetName"+foreign import ccall interruptible "HROOTHistTAxis.h TAxis_SetName" c_taxis_setname :: Ptr RawTAxis -> CString -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetNameTitle"- c_taxis_setnametitle :: Ptr RawTAxis -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetNameTitle" c_taxis_setnametitle ::+ Ptr RawTAxis -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTitle"- c_taxis_settitle :: Ptr RawTAxis -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetTitle" c_taxis_settitle ::+ Ptr RawTAxis -> CString -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_GetNdivisions"- c_taxis_getndivisions :: Ptr RawTAxis -> IO CInt+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_GetNdivisions" c_taxis_getndivisions ::+ Ptr RawTAxis -> IO CInt -foreign import ccall safe "HROOTHistTAxis.h TAxis_GetAxisColor"- c_taxis_getaxiscolor :: Ptr RawTAxis -> IO CInt+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_GetAxisColor" c_taxis_getaxiscolor ::+ Ptr RawTAxis -> IO CShort -foreign import ccall safe "HROOTHistTAxis.h TAxis_GetLabelColor"- c_taxis_getlabelcolor :: Ptr RawTAxis -> IO CInt+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_GetLabelColor" c_taxis_getlabelcolor ::+ Ptr RawTAxis -> IO CShort -foreign import ccall safe "HROOTHistTAxis.h TAxis_GetLabelFont"- c_taxis_getlabelfont :: Ptr RawTAxis -> IO CInt+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_GetLabelFont" c_taxis_getlabelfont ::+ Ptr RawTAxis -> IO CShort -foreign import ccall safe "HROOTHistTAxis.h TAxis_GetLabelOffset"- c_taxis_getlabeloffset :: Ptr RawTAxis -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_GetLabelOffset" c_taxis_getlabeloffset ::+ Ptr RawTAxis -> IO CFloat -foreign import ccall safe "HROOTHistTAxis.h TAxis_GetLabelSize"- c_taxis_getlabelsize :: Ptr RawTAxis -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_GetLabelSize" c_taxis_getlabelsize ::+ Ptr RawTAxis -> IO CFloat -foreign import ccall safe "HROOTHistTAxis.h TAxis_GetTitleOffset"- c_taxis_gettitleoffset :: Ptr RawTAxis -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_GetTitleOffset" c_taxis_gettitleoffset ::+ Ptr RawTAxis -> IO CFloat -foreign import ccall safe "HROOTHistTAxis.h TAxis_GetTitleSize"- c_taxis_gettitlesize :: Ptr RawTAxis -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_GetTitleSize" c_taxis_gettitlesize ::+ Ptr RawTAxis -> IO CFloat -foreign import ccall safe "HROOTHistTAxis.h TAxis_GetTickLength"- c_taxis_getticklength :: Ptr RawTAxis -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_GetTickLength" c_taxis_getticklength ::+ Ptr RawTAxis -> IO CFloat -foreign import ccall safe "HROOTHistTAxis.h TAxis_GetTitleFont"- c_taxis_gettitlefont :: Ptr RawTAxis -> IO CInt+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_GetTitleFont" c_taxis_gettitlefont ::+ Ptr RawTAxis -> IO CShort -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetNdivisions"- c_taxis_setndivisions :: Ptr RawTAxis -> CInt -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetNdivisions" c_taxis_setndivisions ::+ Ptr RawTAxis -> CInt -> CBool -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetAxisColor"- c_taxis_setaxiscolor :: Ptr RawTAxis -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetAxisColor" c_taxis_setaxiscolor ::+ Ptr RawTAxis -> CShort -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetLabelColor"- c_taxis_setlabelcolor :: Ptr RawTAxis -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetLabelColor" c_taxis_setlabelcolor ::+ Ptr RawTAxis -> CShort -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetLabelFont"- c_taxis_setlabelfont :: Ptr RawTAxis -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetLabelFont" c_taxis_setlabelfont ::+ Ptr RawTAxis -> CShort -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetLabelOffset"- c_taxis_setlabeloffset :: Ptr RawTAxis -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetLabelOffset" c_taxis_setlabeloffset ::+ Ptr RawTAxis -> CFloat -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetLabelSize"- c_taxis_setlabelsize :: Ptr RawTAxis -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetLabelSize" c_taxis_setlabelsize ::+ Ptr RawTAxis -> CFloat -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTickLength"- c_taxis_setticklength :: Ptr RawTAxis -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetTickLength" c_taxis_setticklength ::+ Ptr RawTAxis -> CFloat -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTitleOffset"- c_taxis_settitleoffset :: Ptr RawTAxis -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetTitleOffset" c_taxis_settitleoffset ::+ Ptr RawTAxis -> CFloat -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTitleSize"- c_taxis_settitlesize :: Ptr RawTAxis -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetTitleSize" c_taxis_settitlesize ::+ Ptr RawTAxis -> CFloat -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTitleColor"- c_taxis_settitlecolor :: Ptr RawTAxis -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetTitleColor" c_taxis_settitlecolor ::+ Ptr RawTAxis -> CShort -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTitleFont"- c_taxis_settitlefont :: Ptr RawTAxis -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetTitleFont" c_taxis_settitlefont ::+ Ptr RawTAxis -> CShort -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_Draw"+foreign import ccall interruptible "HROOTHistTAxis.h TAxis_Clear"+ c_taxis_clear :: Ptr RawTAxis -> CString -> IO ()++foreign import ccall interruptible "HROOTHistTAxis.h TAxis_Draw" c_taxis_draw :: Ptr RawTAxis -> CString -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_FindObject"- c_taxis_findobject ::+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_FindObject" c_taxis_findobject :: Ptr RawTAxis -> CString -> IO (Ptr RawTObject) -foreign import ccall safe "HROOTHistTAxis.h TAxis_GetName"+foreign import ccall interruptible "HROOTHistTAxis.h TAxis_GetName" c_taxis_getname :: Ptr RawTAxis -> IO CString -foreign import ccall safe "HROOTHistTAxis.h TAxis_IsA" c_taxis_isa- :: Ptr RawTAxis -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTAxis.h TAxis_IsA"+ c_taxis_isa :: Ptr RawTAxis -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTAxis.h TAxis_Paint"+foreign import ccall interruptible "HROOTHistTAxis.h TAxis_Paint" c_taxis_paint :: Ptr RawTAxis -> CString -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_printObj"- c_taxis_printobj :: Ptr RawTAxis -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_printObj" c_taxis_printobj ::+ Ptr RawTAxis -> CString -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_SaveAs"+foreign import ccall interruptible "HROOTHistTAxis.h TAxis_SaveAs" c_taxis_saveas :: Ptr RawTAxis -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_Write"+foreign import ccall interruptible "HROOTHistTAxis.h TAxis_Write" c_taxis_write :: Ptr RawTAxis -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTAxis.h TAxis_delete"+foreign import ccall interruptible "HROOTHistTAxis.h TAxis_Write_"+ c_taxis_write_ :: Ptr RawTAxis -> IO CInt++foreign import ccall interruptible "HROOTHistTAxis.h TAxis_delete" c_taxis_delete :: Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTAxis.h TAxis_newTAxis"- c_taxis_newtaxis :: CInt -> CDouble -> CDouble -> IO (Ptr RawTAxis)+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_newTAxis" c_taxis_newtaxis ::+ CInt -> CDouble -> CDouble -> IO (Ptr RawTAxis) -foreign import ccall safe "HROOTHistTAxis.h TAxis_findBinTAxis"- c_taxis_findbintaxis :: Ptr RawTAxis -> CDouble -> IO CInt+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_findBinTAxis" c_taxis_findbintaxis ::+ Ptr RawTAxis -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTAxis.h TAxis_findFixBinTAxis"- c_taxis_findfixbintaxis :: Ptr RawTAxis -> CDouble -> IO CInt+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_findFixBinTAxis" c_taxis_findfixbintaxis ::+ Ptr RawTAxis -> CDouble -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTAxis.h TAxis_getBinCenterTAxis" c_taxis_getbincentertaxis :: Ptr RawTAxis -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTAxis.h TAxis_GetBinCenterLog"- c_taxis_getbincenterlog :: Ptr RawTAxis -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_GetBinCenterLog" c_taxis_getbincenterlog ::+ Ptr RawTAxis -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTAxis.h TAxis_GetBinUpEdge"- c_taxis_getbinupedge :: Ptr RawTAxis -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_GetBinUpEdge" c_taxis_getbinupedge ::+ Ptr RawTAxis -> CInt -> IO CDouble -foreign import ccall safe- "HROOTHistTAxis.h TAxis_tAxisGetCenterLabels"- c_taxis_taxisgetcenterlabels :: Ptr RawTAxis -> IO CInt+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_tAxis_GetCenterLabels"+ c_taxis_taxis_getcenterlabels :: Ptr RawTAxis -> IO CBool -foreign import ccall safe- "HROOTHistTAxis.h TAxis_tAxisGetCenterTitle"- c_taxis_taxisgetcentertitle :: Ptr RawTAxis -> IO CInt+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_tAxis_GetCenterTitle"+ c_taxis_taxis_getcentertitle :: Ptr RawTAxis -> IO CBool -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTimeDisplay"- c_taxis_settimedisplay :: Ptr RawTAxis -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_tAxis_GetFirst" c_taxis_taxis_getfirst ::+ Ptr RawTAxis -> IO CInt -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTimeFormat"- c_taxis_settimeformat :: Ptr RawTAxis -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_tAxis_GetLast" c_taxis_taxis_getlast ::+ Ptr RawTAxis -> IO CInt -foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTimeOffset"- c_taxis_settimeoffset ::+foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_tAxis_GetNbins" c_taxis_taxis_getnbins ::+ Ptr RawTAxis -> IO CInt++foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_tAxis_GetXbins" c_taxis_taxis_getxbins ::+ Ptr RawTAxis -> IO (Ptr RawTArrayD)++foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_tAxis_GetXmax" c_taxis_taxis_getxmax ::+ Ptr RawTAxis -> IO CDouble++foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_tAxis_GetXmin" c_taxis_taxis_getxmin ::+ Ptr RawTAxis -> IO CDouble++foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetLimits" c_taxis_setlimits ::+ Ptr RawTAxis -> CDouble -> CDouble -> IO ()++foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetTimeDisplay" c_taxis_settimedisplay ::+ Ptr RawTAxis -> CInt -> IO ()++foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetTimeFormat" c_taxis_settimeformat ::+ Ptr RawTAxis -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTAxis.h TAxis_SetTimeOffset" c_taxis_settimeoffset :: Ptr RawTAxis -> CDouble -> CString -> IO ()
src/HROOT/Hist/TAxis/Implementation.hs view
@@ -1,20 +1,32 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TAxis.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TAxis.RawType import HROOT.Hist.TAxis.FFI import HROOT.Hist.TAxis.Interface import HROOT.Hist.TAxis.Cast+import HROOT.Hist.TAxis.RawType+import HROOT.Hist.TAxis.Cast+import HROOT.Hist.TAxis.Interface import HROOT.Core.TClass.RawType import HROOT.Core.TClass.Cast import HROOT.Core.TClass.Interface+import HROOT.Core.TArrayD.RawType+import HROOT.Core.TArrayD.Cast+import HROOT.Core.TArrayD.Interface import HROOT.Core.TNamed.RawType import HROOT.Core.TNamed.Cast import HROOT.Core.TNamed.Interface@@ -24,26 +36,27 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface -instance ITAxis TAxis where+instance () => ITAxis (TAxis) where findBinTAxis = xform1 c_taxis_findbintaxis findFixBinTAxis = xform1 c_taxis_findfixbintaxis getBinCenterTAxis = xform1 c_taxis_getbincentertaxis getBinCenterLog = xform1 c_taxis_getbincenterlog getBinUpEdge = xform1 c_taxis_getbinupedge+ setLimits = xform2 c_taxis_setlimits setTimeDisplay = xform1 c_taxis_settimedisplay setTimeFormat = xform1 c_taxis_settimeformat setTimeOffset = xform2 c_taxis_settimeoffset -instance ITNamed TAxis where+instance () => ITNamed (TAxis) where setName = xform1 c_taxis_setname setNameTitle = xform2 c_taxis_setnametitle setTitle = xform1 c_taxis_settitle -instance ITAttAxis TAxis where+instance () => ITAttAxis (TAxis) where getNdivisions = xform0 c_taxis_getndivisions getAxisColor = xform0 c_taxis_getaxiscolor getLabelColor = xform0 c_taxis_getlabelcolor@@ -66,7 +79,8 @@ setTitleColor = xform1 c_taxis_settitlecolor setTitleFont = xform1 c_taxis_settitlefont -instance ITObject TAxis where+instance () => ITObject (TAxis) where+ clear = xform1 c_taxis_clear draw = xform1 c_taxis_draw findObject = xform1 c_taxis_findobject getName = xform0 c_taxis_getname@@ -75,15 +89,34 @@ printObj = xform1 c_taxis_printobj saveAs = xform2 c_taxis_saveas write = xform3 c_taxis_write+ write_ = xform0 c_taxis_write_ -instance IDeletable TAxis where+instance () => IDeletable (TAxis) where delete = xform0 c_taxis_delete -newTAxis :: CInt -> CDouble -> CDouble -> IO TAxis+newTAxis :: () => CInt -> CDouble -> CDouble -> IO TAxis newTAxis = xform2 c_taxis_newtaxis -tAxisGetCenterLabels :: TAxis -> IO CInt-tAxisGetCenterLabels = xform0 c_taxis_taxisgetcenterlabels+tAxis_GetCenterLabels :: () => TAxis -> IO CBool+tAxis_GetCenterLabels = xform0 c_taxis_taxis_getcenterlabels -tAxisGetCenterTitle :: TAxis -> IO CInt-tAxisGetCenterTitle = xform0 c_taxis_taxisgetcentertitle+tAxis_GetCenterTitle :: () => TAxis -> IO CBool+tAxis_GetCenterTitle = xform0 c_taxis_taxis_getcentertitle++tAxis_GetFirst :: () => TAxis -> IO CInt+tAxis_GetFirst = xform0 c_taxis_taxis_getfirst++tAxis_GetLast :: () => TAxis -> IO CInt+tAxis_GetLast = xform0 c_taxis_taxis_getlast++tAxis_GetNbins :: () => TAxis -> IO CInt+tAxis_GetNbins = xform0 c_taxis_taxis_getnbins++tAxis_GetXbins :: () => TAxis -> IO TArrayD+tAxis_GetXbins = xform0 c_taxis_taxis_getxbins++tAxis_GetXmax :: () => TAxis -> IO CDouble+tAxis_GetXmax = xform0 c_taxis_taxis_getxmax++tAxis_GetXmin :: () => TAxis -> IO CDouble+tAxis_GetXmin = xform0 c_taxis_taxis_getxmin
src/HROOT/Hist/TAxis/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TAxis.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -12,21 +13,24 @@ import HROOT.Core.TAttAxis.Interface class (ITNamed a, ITAttAxis a) => ITAxis a where- findBinTAxis :: a -> CDouble -> IO CInt+ findBinTAxis :: () => a -> CDouble -> IO CInt - findFixBinTAxis :: a -> CDouble -> IO CInt+ findFixBinTAxis :: () => a -> CDouble -> IO CInt - getBinCenterTAxis :: a -> CInt -> IO CDouble+ getBinCenterTAxis :: () => a -> CInt -> IO CDouble - getBinCenterLog :: a -> CInt -> IO CDouble+ getBinCenterLog :: () => a -> CInt -> IO CDouble - getBinUpEdge :: a -> CInt -> IO CDouble+ getBinUpEdge :: () => a -> CInt -> IO CDouble - setTimeDisplay :: a -> CInt -> IO ()+ setLimits :: () => a -> CDouble -> CDouble -> IO () - setTimeFormat :: Castable c0 CString => a -> c0 -> IO ()+ setTimeDisplay :: () => a -> CInt -> IO () - setTimeOffset :: Castable c0 CString => a -> CDouble -> c0 -> IO ()+ setTimeFormat :: (Castable c0 CString) => a -> c0 -> IO ()+ + setTimeOffset ::+ (Castable c0 CString) => a -> CDouble -> c0 -> IO () upcastTAxis :: forall a . (FPtr a, ITAxis a) => a -> TAxis upcastTAxis h
− src/HROOT/Hist/TAxis/Interface.hs-boot
@@ -1,3 +0,0 @@-module HROOT.Hist.TAxis.Interface where--class ITAxis a
src/HROOT/Hist/TAxis/RawType.hs view
@@ -8,9 +8,9 @@ data RawTAxis newtype TAxis = TAxis (Ptr RawTAxis)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TAxis where+instance () => FPtr (TAxis) where type Raw TAxis = RawTAxis get_fptr (TAxis ptr) = ptr cast_fptr_to_obj = TAxis
src/HROOT/Hist/TF1.hs view
@@ -1,10 +1,10 @@ module HROOT.Hist.TF1 (TF1(..), ITF1(..), upcastTF1, downcastTF1, newTF1,- tF1GetChisquare, tF1GetHistogram, tF1GetParent, tF1GetXaxis,- tF1GetYaxis, tF1GetZaxis, tF1DerivativeError,- tF1InitStandardFunctions, tF1GetCurrent, tF1AbsValue,- tF1RejectPoint, tF1RejectedPoint, tF1SetCurrent,- tF1CalcGaussLegendreSamplingPoints)+ tF1_GetChisquare, tF1_GetHistogram, tF1_GetParent, tF1_GetXaxis,+ tF1_GetYaxis, tF1_GetZaxis, tF1_DerivativeError,+ tF1_InitStandardFunctions, tF1_GetCurrent, tF1_AbsValue,+ tF1_RejectPoint, tF1_RejectedPoint, tF1_SetCurrent,+ tF1_CalcGaussLegendreSamplingPoints) where import HROOT.Hist.TF1.RawType import HROOT.Hist.TF1.Interface
src/HROOT/Hist/TF1/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TF1.RawType import HROOT.Hist.TF1.Interface -instance (ITF1 a, FPtr a) => Castable a (Ptr RawTF1) where+instance (ITF1 a, FPtr a) => Castable (a) (Ptr RawTF1) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TF1 (Ptr RawTF1) where+instance () => Castable (TF1) (Ptr RawTF1) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TF1/FFI.hsc view
@@ -1,298 +1,343 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TF1.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TF1.RawType+import HROOT.Hist.TF1.RawType import HROOT.Core.TObject.RawType import HROOT.Hist.TH1.RawType import HROOT.Hist.TAxis.RawType -foreign import ccall safe "HROOTHistTF1.h TF1_GetLineColor"- c_tf1_getlinecolor :: Ptr RawTF1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_GetLineColor" c_tf1_getlinecolor ::+ Ptr RawTF1 -> IO CShort -foreign import ccall safe "HROOTHistTF1.h TF1_GetLineStyle"- c_tf1_getlinestyle :: Ptr RawTF1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_GetLineStyle" c_tf1_getlinestyle ::+ Ptr RawTF1 -> IO CShort -foreign import ccall safe "HROOTHistTF1.h TF1_GetLineWidth"- c_tf1_getlinewidth :: Ptr RawTF1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_GetLineWidth" c_tf1_getlinewidth ::+ Ptr RawTF1 -> IO CShort -foreign import ccall safe "HROOTHistTF1.h TF1_ResetAttLine"- c_tf1_resetattline :: Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_ResetAttLine" c_tf1_resetattline ::+ Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetLineAttributes"- c_tf1_setlineattributes :: Ptr RawTF1 -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetLineAttributes" c_tf1_setlineattributes ::+ Ptr RawTF1 -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetLineColor"- c_tf1_setlinecolor :: Ptr RawTF1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetLineColor" c_tf1_setlinecolor ::+ Ptr RawTF1 -> CShort -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetLineStyle"- c_tf1_setlinestyle :: Ptr RawTF1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetLineStyle" c_tf1_setlinestyle ::+ Ptr RawTF1 -> CShort -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetLineWidth"- c_tf1_setlinewidth :: Ptr RawTF1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetLineWidth" c_tf1_setlinewidth ::+ Ptr RawTF1 -> CShort -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetFillColor"- c_tf1_setfillcolor :: Ptr RawTF1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetFillColor" c_tf1_setfillcolor ::+ Ptr RawTF1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetFillStyle"- c_tf1_setfillstyle :: Ptr RawTF1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetFillStyle" c_tf1_setfillstyle ::+ Ptr RawTF1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_GetMarkerColor"- c_tf1_getmarkercolor :: Ptr RawTF1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_GetMarkerColor" c_tf1_getmarkercolor ::+ Ptr RawTF1 -> IO CShort -foreign import ccall safe "HROOTHistTF1.h TF1_GetMarkerStyle"- c_tf1_getmarkerstyle :: Ptr RawTF1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_GetMarkerStyle" c_tf1_getmarkerstyle ::+ Ptr RawTF1 -> IO CShort -foreign import ccall safe "HROOTHistTF1.h TF1_GetMarkerSize"- c_tf1_getmarkersize :: Ptr RawTF1 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_GetMarkerSize" c_tf1_getmarkersize ::+ Ptr RawTF1 -> IO CFloat -foreign import ccall safe "HROOTHistTF1.h TF1_ResetAttMarker"- c_tf1_resetattmarker :: Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_ResetAttMarker" c_tf1_resetattmarker ::+ Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetMarkerAttributes"- c_tf1_setmarkerattributes :: Ptr RawTF1 -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetMarkerAttributes" c_tf1_setmarkerattributes+ :: Ptr RawTF1 -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetMarkerColor"- c_tf1_setmarkercolor :: Ptr RawTF1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetMarkerColor" c_tf1_setmarkercolor ::+ Ptr RawTF1 -> CShort -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetMarkerStyle"- c_tf1_setmarkerstyle :: Ptr RawTF1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetMarkerStyle" c_tf1_setmarkerstyle ::+ Ptr RawTF1 -> CShort -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetMarkerSize"- c_tf1_setmarkersize :: Ptr RawTF1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetMarkerSize" c_tf1_setmarkersize ::+ Ptr RawTF1 -> CShort -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_delete" c_tf1_delete- :: Ptr RawTF1 -> IO ()+foreign import ccall interruptible "HROOTHistTF1.h TF1_delete"+ c_tf1_delete :: Ptr RawTF1 -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_newTF1" c_tf1_newtf1- :: CString -> CString -> CDouble -> CDouble -> IO (Ptr RawTF1)+foreign import ccall interruptible "HROOTHistTF1.h TF1_newTF1"+ c_tf1_newtf1 ::+ CString -> CString -> CDouble -> CDouble -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTF1.h TF1_Derivative"+foreign import ccall interruptible "HROOTHistTF1.h TF1_Derivative" c_tf1_derivative ::- Ptr RawTF1 -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ Ptr RawTF1 -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_Derivative2"+foreign import ccall interruptible "HROOTHistTF1.h TF1_Derivative2" c_tf1_derivative2 ::- Ptr RawTF1 -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ Ptr RawTF1 -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_Derivative3"+foreign import ccall interruptible "HROOTHistTF1.h TF1_Derivative3" c_tf1_derivative3 ::- Ptr RawTF1 -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ Ptr RawTF1 -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_tF1DerivativeError"- c_tf1_tf1derivativeerror :: IO CDouble+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_DerivativeError" c_tf1_tf1_derivativeerror+ :: IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_drawCopyTF1"+foreign import ccall interruptible "HROOTHistTF1.h TF1_drawCopyTF1" c_tf1_drawcopytf1 :: Ptr RawTF1 -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTF1.h TF1_DrawDerivative"- c_tf1_drawderivative ::+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_DrawDerivative" c_tf1_drawderivative :: Ptr RawTF1 -> CString -> IO (Ptr RawTObject) -foreign import ccall safe "HROOTHistTF1.h TF1_DrawIntegral"- c_tf1_drawintegral :: Ptr RawTF1 -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_DrawIntegral" c_tf1_drawintegral ::+ Ptr RawTF1 -> CString -> IO (Ptr RawTObject) -foreign import ccall safe "HROOTHistTF1.h TF1_FixParameter"- c_tf1_fixparameter :: Ptr RawTF1 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_FixParameter" c_tf1_fixparameter ::+ Ptr RawTF1 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetChisquare"- c_tf1_tf1getchisquare :: Ptr RawTF1 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_GetChisquare" c_tf1_tf1_getchisquare ::+ Ptr RawTF1 -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetHistogram"- c_tf1_tf1gethistogram :: Ptr RawTF1 -> IO (Ptr RawTH1)+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_GetHistogram" c_tf1_tf1_gethistogram ::+ Ptr RawTF1 -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTF1.h TF1_getMaximumTF1"- c_tf1_getmaximumtf1 ::+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_getMaximumTF1" c_tf1_getmaximumtf1 :: Ptr RawTF1 ->- CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+ CDouble -> CDouble -> CDouble -> CDouble -> CBool -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_getMinimumTF1"- c_tf1_getminimumtf1 ::+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_getMinimumTF1" c_tf1_getminimumtf1 :: Ptr RawTF1 ->- CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+ CDouble -> CDouble -> CDouble -> CDouble -> CBool -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_GetMaximumX"+foreign import ccall interruptible "HROOTHistTF1.h TF1_GetMaximumX" c_tf1_getmaximumx :: Ptr RawTF1 ->- CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+ CDouble -> CDouble -> CDouble -> CDouble -> CBool -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_GetMinimumX"+foreign import ccall interruptible "HROOTHistTF1.h TF1_GetMinimumX" c_tf1_getminimumx :: Ptr RawTF1 ->- CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+ CDouble -> CDouble -> CDouble -> CDouble -> CBool -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_GetNDF" c_tf1_getndf- :: Ptr RawTF1 -> IO CInt+foreign import ccall interruptible "HROOTHistTF1.h TF1_GetNDF"+ c_tf1_getndf :: Ptr RawTF1 -> IO CInt -foreign import ccall safe "HROOTHistTF1.h TF1_GetNpx" c_tf1_getnpx- :: Ptr RawTF1 -> IO CInt+foreign import ccall interruptible "HROOTHistTF1.h TF1_GetNpx"+ c_tf1_getnpx :: Ptr RawTF1 -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTF1.h TF1_GetNumberFreeParameters" c_tf1_getnumberfreeparameters :: Ptr RawTF1 -> IO CInt -foreign import ccall safe "HROOTHistTF1.h TF1_GetNumberFitPoints"- c_tf1_getnumberfitpoints :: Ptr RawTF1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_GetNumberFitPoints" c_tf1_getnumberfitpoints ::+ Ptr RawTF1 -> IO CInt -foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetParent"- c_tf1_tf1getparent :: Ptr RawTF1 -> IO (Ptr RawTObject)+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_GetParent" c_tf1_tf1_getparent ::+ Ptr RawTF1 -> IO (Ptr RawTObject) -foreign import ccall safe "HROOTHistTF1.h TF1_GetParError"+foreign import ccall interruptible "HROOTHistTF1.h TF1_GetParError" c_tf1_getparerror :: Ptr RawTF1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_GetProb"+foreign import ccall interruptible "HROOTHistTF1.h TF1_GetProb" c_tf1_getprob :: Ptr RawTF1 -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_getQuantilesTF1"- c_tf1_getquantilestf1 ::- Ptr RawTF1 -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_getQuantilesTF1" c_tf1_getquantilestf1 ::+ Ptr RawTF1 -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTF1.h TF1_getRandomTF1"- c_tf1_getrandomtf1 ::+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_getRandomTF1" c_tf1_getrandomtf1 :: Ptr RawTF1 -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_GetSave"- c_tf1_getsave :: Ptr RawTF1 -> (Ptr CDouble) -> IO CDouble+foreign import ccall interruptible "HROOTHistTF1.h TF1_GetSave"+ c_tf1_getsave :: Ptr RawTF1 -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_GetX" c_tf1_getx ::+foreign import ccall interruptible "HROOTHistTF1.h TF1_GetX"+ c_tf1_getx :: Ptr RawTF1 -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_GetXmin"+foreign import ccall interruptible "HROOTHistTF1.h TF1_GetXmin" c_tf1_getxmin :: Ptr RawTF1 -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_GetXmax"+foreign import ccall interruptible "HROOTHistTF1.h TF1_GetXmax" c_tf1_getxmax :: Ptr RawTF1 -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetXaxis"- c_tf1_tf1getxaxis :: Ptr RawTF1 -> IO (Ptr RawTAxis)+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_GetXaxis" c_tf1_tf1_getxaxis ::+ Ptr RawTF1 -> IO (Ptr RawTAxis) -foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetYaxis"- c_tf1_tf1getyaxis :: Ptr RawTF1 -> IO (Ptr RawTAxis)+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_GetYaxis" c_tf1_tf1_getyaxis ::+ Ptr RawTF1 -> IO (Ptr RawTAxis) -foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetZaxis"- c_tf1_tf1getzaxis :: Ptr RawTF1 -> IO (Ptr RawTAxis)+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_GetZaxis" c_tf1_tf1_getzaxis ::+ Ptr RawTF1 -> IO (Ptr RawTAxis) -foreign import ccall safe "HROOTHistTF1.h TF1_GradientPar"+foreign import ccall interruptible "HROOTHistTF1.h TF1_GradientPar" c_tf1_gradientpar ::- Ptr RawTF1 -> CInt -> (Ptr CDouble) -> CDouble -> IO CDouble+ Ptr RawTF1 -> CInt -> Ptr CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_InitArgs"- c_tf1_initargs ::- Ptr RawTF1 -> (Ptr CDouble) -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTF1.h TF1_InitArgs"+ c_tf1_initargs :: Ptr RawTF1 -> Ptr CDouble -> Ptr CDouble -> IO () -foreign import ccall safe- "HROOTHistTF1.h TF1_tF1InitStandardFunctions"- c_tf1_tf1initstandardfunctions :: IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_InitStandardFunctions"+ c_tf1_tf1_initstandardfunctions :: IO () -foreign import ccall safe "HROOTHistTF1.h TF1_IntegralTF1"+foreign import ccall interruptible "HROOTHistTF1.h TF1_IntegralTF1" c_tf1_integraltf1 :: Ptr RawTF1 -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_IntegralError"- c_tf1_integralerror ::+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_IntegralError" c_tf1_integralerror :: Ptr RawTF1 -> CDouble ->- CDouble -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> IO CDouble+ CDouble -> Ptr CDouble -> Ptr CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_IntegralFast"- c_tf1_integralfast ::+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_IntegralFast" c_tf1_integralfast :: Ptr RawTF1 -> CInt ->- (Ptr CDouble) ->- (Ptr CDouble) ->- CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ Ptr CDouble ->+ Ptr CDouble ->+ CDouble -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_IsInside"- c_tf1_isinside :: Ptr RawTF1 -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible "HROOTHistTF1.h TF1_IsInside"+ c_tf1_isinside :: Ptr RawTF1 -> Ptr CDouble -> IO CBool -foreign import ccall safe "HROOTHistTF1.h TF1_ReleaseParameter"- c_tf1_releaseparameter :: Ptr RawTF1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_ReleaseParameter" c_tf1_releaseparameter ::+ Ptr RawTF1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetChisquare"- c_tf1_setchisquare :: Ptr RawTF1 -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetChisquare" c_tf1_setchisquare ::+ Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_setMaximumTF1"- c_tf1_setmaximumtf1 :: Ptr RawTF1 -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_setMaximumTF1" c_tf1_setmaximumtf1 ::+ Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_setMinimumTF1"- c_tf1_setminimumtf1 :: Ptr RawTF1 -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_setMinimumTF1" c_tf1_setminimumtf1 ::+ Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetNDF" c_tf1_setndf- :: Ptr RawTF1 -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTF1.h TF1_SetNDF"+ c_tf1_setndf :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetNumberFitPoints"- c_tf1_setnumberfitpoints :: Ptr RawTF1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetNumberFitPoints" c_tf1_setnumberfitpoints ::+ Ptr RawTF1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetNpx" c_tf1_setnpx- :: Ptr RawTF1 -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTF1.h TF1_SetNpx"+ c_tf1_setnpx :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetParError"+foreign import ccall interruptible "HROOTHistTF1.h TF1_SetParError" c_tf1_setparerror :: Ptr RawTF1 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetParErrors"- c_tf1_setparerrors :: Ptr RawTF1 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetParErrors" c_tf1_setparerrors ::+ Ptr RawTF1 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetParLimits"- c_tf1_setparlimits ::+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetParLimits" c_tf1_setparlimits :: Ptr RawTF1 -> CInt -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetParent"+foreign import ccall interruptible "HROOTHistTF1.h TF1_SetParent" c_tf1_setparent :: Ptr RawTF1 -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_setRange1"+foreign import ccall interruptible "HROOTHistTF1.h TF1_setRange1" c_tf1_setrange1 :: Ptr RawTF1 -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_setRange2"+foreign import ccall interruptible "HROOTHistTF1.h TF1_setRange2" c_tf1_setrange2 :: Ptr RawTF1 -> CDouble -> CDouble -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_setRange3"+foreign import ccall interruptible "HROOTHistTF1.h TF1_setRange3" c_tf1_setrange3 :: Ptr RawTF1 -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_SetSavedPoint"- c_tf1_setsavedpoint :: Ptr RawTF1 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_SetSavedPoint" c_tf1_setsavedpoint ::+ Ptr RawTF1 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetCurrent"- c_tf1_tf1getcurrent :: IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_GetCurrent" c_tf1_tf1_getcurrent ::+ IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTF1.h TF1_tF1AbsValue"- c_tf1_tf1absvalue :: CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_AbsValue" c_tf1_tf1_absvalue ::+ CBool -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_tF1RejectPoint"- c_tf1_tf1rejectpoint :: CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_RejectPoint" c_tf1_tf1_rejectpoint ::+ CBool -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_tF1RejectedPoint"- c_tf1_tf1rejectedpoint :: IO CInt+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_RejectedPoint" c_tf1_tf1_rejectedpoint ::+ IO CBool -foreign import ccall safe "HROOTHistTF1.h TF1_tF1SetCurrent"- c_tf1_tf1setcurrent :: Ptr RawTF1 -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_SetCurrent" c_tf1_tf1_setcurrent ::+ Ptr RawTF1 -> IO () -foreign import ccall safe "HROOTHistTF1.h TF1_Moment" c_tf1_moment- ::+foreign import ccall interruptible "HROOTHistTF1.h TF1_Moment"+ c_tf1_moment :: Ptr RawTF1 -> CDouble ->- CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ CDouble -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_CentralMoment"- c_tf1_centralmoment ::+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_CentralMoment" c_tf1_centralmoment :: Ptr RawTF1 -> CDouble ->- CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ CDouble -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_Mean" c_tf1_mean ::+foreign import ccall interruptible "HROOTHistTF1.h TF1_Mean"+ c_tf1_mean :: Ptr RawTF1 ->- CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ CDouble -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTF1.h TF1_Variance"+foreign import ccall interruptible "HROOTHistTF1.h TF1_Variance" c_tf1_variance :: Ptr RawTF1 ->- CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ CDouble -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble -foreign import ccall safe- "HROOTHistTF1.h TF1_tF1CalcGaussLegendreSamplingPoints"- c_tf1_tf1calcgausslegendresamplingpoints ::- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTF1.h TF1_tF1_CalcGaussLegendreSamplingPoints"+ c_tf1_tf1_calcgausslegendresamplingpoints ::+ CInt -> Ptr CDouble -> Ptr CDouble -> CDouble -> IO ()
src/HROOT/Hist/TF1/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TF1.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TF1.RawType import HROOT.Hist.TF1.FFI import HROOT.Hist.TF1.Interface import HROOT.Hist.TF1.Cast+import HROOT.Hist.TF1.RawType+import HROOT.Hist.TF1.Cast+import HROOT.Hist.TF1.Interface import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface@@ -30,11 +39,11 @@ 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+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface -instance ITF1 TF1 where+instance () => ITF1 (TF1) where derivative = xform3 c_tf1_derivative derivative2 = xform3 c_tf1_derivative2 derivative3 = xform3 c_tf1_derivative3@@ -84,7 +93,7 @@ mean = xform4 c_tf1_mean variance = xform4 c_tf1_variance -instance ITAttLine TF1 where+instance () => ITAttLine (TF1) where getLineColor = xform0 c_tf1_getlinecolor getLineStyle = xform0 c_tf1_getlinestyle getLineWidth = xform0 c_tf1_getlinewidth@@ -94,11 +103,11 @@ setLineStyle = xform1 c_tf1_setlinestyle setLineWidth = xform1 c_tf1_setlinewidth -instance ITAttFill TF1 where+instance () => ITAttFill (TF1) where setFillColor = xform1 c_tf1_setfillcolor setFillStyle = xform1 c_tf1_setfillstyle -instance ITAttMarker TF1 where+instance () => ITAttMarker (TF1) where getMarkerColor = xform0 c_tf1_getmarkercolor getMarkerStyle = xform0 c_tf1_getmarkerstyle getMarkerSize = xform0 c_tf1_getmarkersize@@ -108,7 +117,7 @@ setMarkerStyle = xform1 c_tf1_setmarkerstyle setMarkerSize = xform1 c_tf1_setmarkersize -instance IDeletable TF1 where+instance () => IDeletable (TF1) where delete = xform0 c_tf1_delete newTF1 ::@@ -116,46 +125,47 @@ c0 -> c1 -> CDouble -> CDouble -> IO TF1 newTF1 = xform3 c_tf1_newtf1 -tF1GetChisquare :: TF1 -> IO CDouble-tF1GetChisquare = xform0 c_tf1_tf1getchisquare+tF1_GetChisquare :: () => TF1 -> IO CDouble+tF1_GetChisquare = xform0 c_tf1_tf1_getchisquare -tF1GetHistogram :: TF1 -> IO TH1-tF1GetHistogram = xform0 c_tf1_tf1gethistogram+tF1_GetHistogram :: () => TF1 -> IO TH1+tF1_GetHistogram = xform0 c_tf1_tf1_gethistogram -tF1GetParent :: TF1 -> IO TObject-tF1GetParent = xform0 c_tf1_tf1getparent+tF1_GetParent :: () => TF1 -> IO TObject+tF1_GetParent = xform0 c_tf1_tf1_getparent -tF1GetXaxis :: TF1 -> IO TAxis-tF1GetXaxis = xform0 c_tf1_tf1getxaxis+tF1_GetXaxis :: () => TF1 -> IO TAxis+tF1_GetXaxis = xform0 c_tf1_tf1_getxaxis -tF1GetYaxis :: TF1 -> IO TAxis-tF1GetYaxis = xform0 c_tf1_tf1getyaxis+tF1_GetYaxis :: () => TF1 -> IO TAxis+tF1_GetYaxis = xform0 c_tf1_tf1_getyaxis -tF1GetZaxis :: TF1 -> IO TAxis-tF1GetZaxis = xform0 c_tf1_tf1getzaxis+tF1_GetZaxis :: () => TF1 -> IO TAxis+tF1_GetZaxis = xform0 c_tf1_tf1_getzaxis -tF1DerivativeError :: IO CDouble-tF1DerivativeError = xformnull c_tf1_tf1derivativeerror+tF1_DerivativeError :: () => IO CDouble+tF1_DerivativeError = xformnull c_tf1_tf1_derivativeerror -tF1InitStandardFunctions :: IO ()-tF1InitStandardFunctions = xformnull c_tf1_tf1initstandardfunctions+tF1_InitStandardFunctions :: () => IO ()+tF1_InitStandardFunctions+ = xformnull c_tf1_tf1_initstandardfunctions -tF1GetCurrent :: IO TF1-tF1GetCurrent = xformnull c_tf1_tf1getcurrent+tF1_GetCurrent :: () => IO TF1+tF1_GetCurrent = xformnull c_tf1_tf1_getcurrent -tF1AbsValue :: CInt -> IO ()-tF1AbsValue = xform0 c_tf1_tf1absvalue+tF1_AbsValue :: () => CBool -> IO ()+tF1_AbsValue = xform0 c_tf1_tf1_absvalue -tF1RejectPoint :: CInt -> IO ()-tF1RejectPoint = xform0 c_tf1_tf1rejectpoint+tF1_RejectPoint :: () => CBool -> IO ()+tF1_RejectPoint = xform0 c_tf1_tf1_rejectpoint -tF1RejectedPoint :: IO CInt-tF1RejectedPoint = xformnull c_tf1_tf1rejectedpoint+tF1_RejectedPoint :: () => IO CBool+tF1_RejectedPoint = xformnull c_tf1_tf1_rejectedpoint -tF1SetCurrent :: (ITF1 c0, FPtr c0) => c0 -> IO ()-tF1SetCurrent = xform0 c_tf1_tf1setcurrent+tF1_SetCurrent :: (ITF1 c0, FPtr c0) => c0 -> IO ()+tF1_SetCurrent = xform0 c_tf1_tf1_setcurrent -tF1CalcGaussLegendreSamplingPoints ::- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> IO ()-tF1CalcGaussLegendreSamplingPoints- = xform3 c_tf1_tf1calcgausslegendresamplingpoints+tF1_CalcGaussLegendreSamplingPoints ::+ () => CInt -> Ptr CDouble -> Ptr CDouble -> CDouble -> IO ()+tF1_CalcGaussLegendreSamplingPoints+ = xform3 c_tf1_tf1_calcgausslegendresamplingpoints
src/HROOT/Hist/TF1/Interface.hs view
@@ -4,13 +4,12 @@ TypeSynonymInstances #-} module HROOT.Hist.TF1.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import HROOT.Hist.TF1.RawType import HROOT.Core.TObject.RawType-import HROOT.Hist.TH1.RawType-import HROOT.Hist.TAxis.RawType import HROOT.Core.TAttLine.Interface import HROOT.Core.TAttFill.Interface import HROOT.Core.TAttMarker.Interface@@ -18,128 +17,147 @@ class (ITAttLine a, ITAttFill a, ITAttMarker a) => ITF1 a where derivative ::- a -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ () => a -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble derivative2 ::- a -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ () => a -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble derivative3 ::- a -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ () => a -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble - drawCopyTF1 :: Castable c0 CString => a -> c0 -> IO a+ drawCopyTF1 :: (Castable c0 CString) => a -> c0 -> IO a - drawDerivative :: Castable c0 CString => a -> c0 -> IO TObject+ drawDerivative :: (Castable c0 CString) => a -> c0 -> IO TObject - drawIntegral :: Castable c0 CString => a -> c0 -> IO TObject+ drawIntegral :: (Castable c0 CString) => a -> c0 -> IO TObject - fixParameter :: a -> CInt -> CDouble -> IO ()+ fixParameter :: () => a -> CInt -> CDouble -> IO () getMaximumTF1 ::- a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+ () =>+ a ->+ CDouble -> CDouble -> CDouble -> CDouble -> CBool -> IO CDouble getMinimumTF1 ::- a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+ () =>+ a ->+ CDouble -> CDouble -> CDouble -> CDouble -> CBool -> IO CDouble getMaximumX ::- a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+ () =>+ a ->+ CDouble -> CDouble -> CDouble -> CDouble -> CBool -> IO CDouble getMinimumX ::- a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+ () =>+ a ->+ CDouble -> CDouble -> CDouble -> CDouble -> CBool -> IO CDouble - getNDF :: a -> IO CInt+ getNDF :: () => a -> IO CInt - getNpx :: a -> IO CInt+ getNpx :: () => a -> IO CInt - getNumberFreeParameters :: a -> IO CInt+ getNumberFreeParameters :: () => a -> IO CInt - getNumberFitPoints :: a -> IO CInt+ getNumberFitPoints :: () => a -> IO CInt - getParError :: a -> CInt -> IO CDouble+ getParError :: () => a -> CInt -> IO CDouble - getProb :: a -> IO CDouble+ getProb :: () => a -> IO CDouble getQuantilesTF1 ::- a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+ () => a -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt - getRandomTF1 :: a -> CDouble -> CDouble -> IO CDouble+ getRandomTF1 :: () => a -> CDouble -> CDouble -> IO CDouble - getSave :: a -> (Ptr CDouble) -> IO CDouble+ getSave :: () => a -> Ptr CDouble -> IO CDouble getX ::+ () => a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble - getXmin :: a -> IO CDouble+ getXmin :: () => a -> IO CDouble - getXmax :: a -> IO CDouble+ getXmax :: () => a -> IO CDouble - gradientPar :: a -> CInt -> (Ptr CDouble) -> CDouble -> IO CDouble+ gradientPar ::+ () => a -> CInt -> Ptr CDouble -> CDouble -> IO CDouble - initArgs :: a -> (Ptr CDouble) -> (Ptr CDouble) -> IO ()+ initArgs :: () => a -> Ptr CDouble -> Ptr CDouble -> IO () - integralTF1 :: a -> CDouble -> CDouble -> CDouble -> IO CDouble+ integralTF1 ::+ () => a -> CDouble -> CDouble -> CDouble -> IO CDouble integralError ::+ () => a -> CDouble ->- CDouble -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> IO CDouble+ CDouble -> Ptr CDouble -> Ptr CDouble -> CDouble -> IO CDouble integralFast ::+ () => a -> CInt ->- (Ptr CDouble) ->- (Ptr CDouble) ->- CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ Ptr CDouble ->+ Ptr CDouble ->+ CDouble -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble - isInside :: a -> (Ptr CDouble) -> IO CInt+ isInside :: () => a -> Ptr CDouble -> IO CBool - releaseParameter :: a -> CInt -> IO ()+ releaseParameter :: () => a -> CInt -> IO () - setChisquare :: a -> CDouble -> IO ()+ setChisquare :: () => a -> CDouble -> IO () - setMaximumTF1 :: a -> CDouble -> IO ()+ setMaximumTF1 :: () => a -> CDouble -> IO () - setMinimumTF1 :: a -> CDouble -> IO ()+ setMinimumTF1 :: () => a -> CDouble -> IO () - setNDF :: a -> CInt -> IO ()+ setNDF :: () => a -> CInt -> IO () - setNumberFitPoints :: a -> CInt -> IO ()+ setNumberFitPoints :: () => a -> CInt -> IO () - setNpx :: a -> CInt -> IO ()+ setNpx :: () => a -> CInt -> IO () - setParError :: a -> CInt -> CDouble -> IO ()+ setParError :: () => a -> CInt -> CDouble -> IO () - setParErrors :: a -> (Ptr CDouble) -> IO ()+ setParErrors :: () => a -> Ptr CDouble -> IO () - setParLimits :: a -> CInt -> CDouble -> CDouble -> IO ()+ setParLimits :: () => a -> CInt -> CDouble -> CDouble -> IO () setParent :: (ITObject c0, FPtr c0) => a -> c0 -> IO () - setRange1 :: a -> CDouble -> CDouble -> IO ()+ setRange1 :: () => a -> CDouble -> CDouble -> IO () - setRange2 :: a -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()+ setRange2 ::+ () => a -> CDouble -> CDouble -> CDouble -> CDouble -> IO () setRange3 ::+ () => a -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO () - setSavedPoint :: a -> CInt -> CDouble -> IO ()+ setSavedPoint :: () => a -> CInt -> CDouble -> IO () moment ::+ () => a -> CDouble ->- CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ CDouble -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble centralMoment ::+ () => a -> CDouble ->- CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ CDouble -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble mean ::- a -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ () =>+ a -> CDouble -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble variance ::- a -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+ () =>+ a -> CDouble -> CDouble -> Ptr CDouble -> CDouble -> IO CDouble upcastTF1 :: forall a . (FPtr a, ITF1 a) => a -> TF1 upcastTF1 h
− src/HROOT/Hist/TF1/Interface.hs-boot
@@ -1,3 +0,0 @@-module HROOT.Hist.TF1.Interface where--class ITF1 a
src/HROOT/Hist/TF1/RawType.hs view
@@ -8,9 +8,9 @@ data RawTF1 newtype TF1 = TF1 (Ptr RawTF1)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TF1 where+instance () => FPtr (TF1) where type Raw TF1 = RawTF1 get_fptr (TF1 ptr) = ptr cast_fptr_to_obj = TF1
src/HROOT/Hist/TFitResult/Cast.hs view
@@ -8,11 +8,12 @@ import HROOT.Hist.TFitResult.RawType import HROOT.Hist.TFitResult.Interface -instance (ITFitResult a, FPtr a) => Castable a (Ptr RawTFitResult)+instance (ITFitResult a, FPtr a) =>+ Castable (a) (Ptr RawTFitResult) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TFitResult (Ptr RawTFitResult) where+instance () => Castable (TFitResult) (Ptr RawTFitResult) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TFitResult/FFI.hsc view
@@ -1,53 +1,68 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TFitResult.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TFitResult.RawType+import HROOT.Hist.TFitResult.RawType import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTFitResult.h TFitResult_SetName" c_tfitresult_setname :: Ptr RawTFitResult -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTFitResult.h TFitResult_SetNameTitle" c_tfitresult_setnametitle :: Ptr RawTFitResult -> CString -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTFitResult.h TFitResult_SetTitle" c_tfitresult_settitle :: Ptr RawTFitResult -> CString -> IO () -foreign import ccall safe "HROOTHistTFitResult.h TFitResult_Draw"- c_tfitresult_draw :: Ptr RawTFitResult -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTFitResult.h TFitResult_Clear" c_tfitresult_clear ::+ Ptr RawTFitResult -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible+ "HROOTHistTFitResult.h TFitResult_Draw" c_tfitresult_draw ::+ Ptr RawTFitResult -> CString -> IO ()++foreign import ccall interruptible "HROOTHistTFitResult.h TFitResult_FindObject" c_tfitresult_findobject :: Ptr RawTFitResult -> CString -> IO (Ptr RawTObject) -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTFitResult.h TFitResult_GetName" c_tfitresult_getname :: Ptr RawTFitResult -> IO CString -foreign import ccall safe "HROOTHistTFitResult.h TFitResult_IsA"- c_tfitresult_isa :: Ptr RawTFitResult -> IO (Ptr RawTClass)+foreign import ccall interruptible+ "HROOTHistTFitResult.h TFitResult_IsA" c_tfitresult_isa ::+ Ptr RawTFitResult -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTFitResult.h TFitResult_Paint"- c_tfitresult_paint :: Ptr RawTFitResult -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTFitResult.h TFitResult_Paint" c_tfitresult_paint ::+ Ptr RawTFitResult -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTFitResult.h TFitResult_printObj" c_tfitresult_printobj :: Ptr RawTFitResult -> CString -> IO () -foreign import ccall safe "HROOTHistTFitResult.h TFitResult_SaveAs"- c_tfitresult_saveas ::+foreign import ccall interruptible+ "HROOTHistTFitResult.h TFitResult_SaveAs" c_tfitresult_saveas :: Ptr RawTFitResult -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTFitResult.h TFitResult_Write"- c_tfitresult_write ::+foreign import ccall interruptible+ "HROOTHistTFitResult.h TFitResult_Write" c_tfitresult_write :: Ptr RawTFitResult -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTFitResult.h TFitResult_delete"- c_tfitresult_delete :: Ptr RawTFitResult -> IO ()+foreign import ccall interruptible+ "HROOTHistTFitResult.h TFitResult_Write_" c_tfitresult_write_ ::+ Ptr RawTFitResult -> IO CInt++foreign import ccall interruptible+ "HROOTHistTFitResult.h TFitResult_delete" c_tfitresult_delete ::+ Ptr RawTFitResult -> IO ()
src/HROOT/Hist/TFitResult/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TFitResult.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TFitResult.RawType import HROOT.Hist.TFitResult.FFI import HROOT.Hist.TFitResult.Interface import HROOT.Hist.TFitResult.Cast+import HROOT.Hist.TFitResult.RawType+import HROOT.Hist.TFitResult.Cast+import HROOT.Hist.TFitResult.Interface import HROOT.Core.TClass.RawType import HROOT.Core.TClass.Cast import HROOT.Core.TClass.Interface@@ -21,18 +30,19 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface -instance ITFitResult TFitResult+instance () => ITFitResult (TFitResult) where -instance ITNamed TFitResult where+instance () => ITNamed (TFitResult) where setName = xform1 c_tfitresult_setname setNameTitle = xform2 c_tfitresult_setnametitle setTitle = xform1 c_tfitresult_settitle -instance ITObject TFitResult where+instance () => ITObject (TFitResult) where+ clear = xform1 c_tfitresult_clear draw = xform1 c_tfitresult_draw findObject = xform1 c_tfitresult_findobject getName = xform0 c_tfitresult_getname@@ -41,6 +51,7 @@ printObj = xform1 c_tfitresult_printobj saveAs = xform2 c_tfitresult_saveas write = xform3 c_tfitresult_write+ write_ = xform0 c_tfitresult_write_ -instance IDeletable TFitResult where+instance () => IDeletable (TFitResult) where delete = xform0 c_tfitresult_delete
src/HROOT/Hist/TFitResult/Interface.hs view
@@ -4,13 +4,14 @@ TypeSynonymInstances #-} module HROOT.Hist.TFitResult.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import HROOT.Hist.TFitResult.RawType import HROOT.Core.TNamed.Interface -class ITNamed a => ITFitResult a+class (ITNamed a) => ITFitResult a where upcastTFitResult :: forall a . (FPtr a, ITFitResult a) => a -> TFitResult
src/HROOT/Hist/TFitResult/RawType.hs view
@@ -8,9 +8,9 @@ data RawTFitResult newtype TFitResult = TFitResult (Ptr RawTFitResult)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TFitResult where+instance () => FPtr (TFitResult) where type Raw TFitResult = RawTFitResult get_fptr (TFitResult ptr) = ptr cast_fptr_to_obj = TFitResult
src/HROOT/Hist/TFitResultPtr.hs view
@@ -1,6 +1,6 @@ module HROOT.Hist.TFitResultPtr (TFitResultPtr(..), ITFitResultPtr, upcastTFitResultPtr,- downcastTFitResultPtr, tFitResultPtrGet)+ downcastTFitResultPtr, tFitResultPtr_Get) where import HROOT.Hist.TFitResultPtr.RawType import HROOT.Hist.TFitResultPtr.Interface
src/HROOT/Hist/TFitResultPtr/Cast.hs view
@@ -8,11 +8,13 @@ import HROOT.Hist.TFitResultPtr.RawType import HROOT.Hist.TFitResultPtr.Interface -instance (ITFitResultPtr a, FPtr a) => Castable a- (Ptr RawTFitResultPtr) where+instance (ITFitResultPtr a, FPtr a) =>+ Castable (a) (Ptr RawTFitResultPtr)+ where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TFitResultPtr (Ptr RawTFitResultPtr) where+instance () => Castable (TFitResultPtr) (Ptr RawTFitResultPtr)+ where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TFitResultPtr/FFI.hsc view
@@ -1,11 +1,14 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TFitResultPtr.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TFitResultPtr.RawType+import HROOT.Hist.TFitResultPtr.RawType import HROOT.Hist.TFitResult.RawType -foreign import ccall safe- "HROOTHistTFitResultPtr.h TFitResultPtr_tFitResultPtrGet"- c_tfitresultptr_tfitresultptrget ::+foreign import ccall interruptible+ "HROOTHistTFitResultPtr.h TFitResultPtr_tFitResultPtr_Get"+ c_tfitresultptr_tfitresultptr_get :: Ptr RawTFitResultPtr -> IO (Ptr RawTFitResult)
src/HROOT/Hist/TFitResultPtr/Implementation.hs view
@@ -1,22 +1,31 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TFitResultPtr.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TFitResultPtr.RawType import HROOT.Hist.TFitResultPtr.FFI import HROOT.Hist.TFitResultPtr.Interface import HROOT.Hist.TFitResultPtr.Cast+import HROOT.Hist.TFitResultPtr.RawType+import HROOT.Hist.TFitResultPtr.Cast+import HROOT.Hist.TFitResultPtr.Interface import HROOT.Hist.TFitResult.RawType import HROOT.Hist.TFitResult.Cast import HROOT.Hist.TFitResult.Interface -instance ITFitResultPtr TFitResultPtr+instance () => ITFitResultPtr (TFitResultPtr) where -tFitResultPtrGet :: TFitResultPtr -> IO TFitResult-tFitResultPtrGet = xform0 c_tfitresultptr_tfitresultptrget+tFitResultPtr_Get :: () => TFitResultPtr -> IO TFitResult+tFitResultPtr_Get = xform0 c_tfitresultptr_tfitresultptr_get
src/HROOT/Hist/TFitResultPtr/Interface.hs view
@@ -4,13 +4,13 @@ TypeSynonymInstances #-} module HROOT.Hist.TFitResultPtr.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import HROOT.Hist.TFitResultPtr.RawType-import HROOT.Hist.TFitResult.RawType -class ITFitResultPtr a+class () => ITFitResultPtr a where upcastTFitResultPtr :: forall a . (FPtr a, ITFitResultPtr a) => a -> TFitResultPtr
src/HROOT/Hist/TFitResultPtr/RawType.hs view
@@ -8,9 +8,9 @@ data RawTFitResultPtr newtype TFitResultPtr = TFitResultPtr (Ptr RawTFitResultPtr)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TFitResultPtr where+instance () => FPtr (TFitResultPtr) where type Raw TFitResultPtr = RawTFitResultPtr get_fptr (TFitResultPtr ptr) = ptr cast_fptr_to_obj = TFitResultPtr
src/HROOT/Hist/TGraph.hs view
@@ -1,9 +1,9 @@ module HROOT.Hist.TGraph (TGraph(..), ITGraph(..), upcastTGraph, downcastTGraph, newTGraph,- tGraphGetEditable, tGraphGetFunction, tGraphGetHistogram,- tGraphGetMaxSize, tGraphGetN, tGraphGetMaximum, tGraphGetMinimum,- tGraphGetXaxis, tGraphGetYaxis, tGraphPaintGraph,- tGraphPaintGrapHist)+ tGraph_GetEditable, tGraph_GetFunction, tGraph_GetHistogram,+ tGraph_GetMaxSize, tGraph_GetN, tGraph_GetMaximum,+ tGraph_GetMinimum, tGraph_GetXaxis, tGraph_GetYaxis,+ tGraph_PaintGraph, tGraph_PaintGrapHist) where import HROOT.Hist.TGraph.RawType import HROOT.Hist.TGraph.Interface
src/HROOT/Hist/TGraph/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TGraph.RawType import HROOT.Hist.TGraph.Interface -instance (ITGraph a, FPtr a) => Castable a (Ptr RawTGraph) where+instance (ITGraph a, FPtr a) => Castable (a) (Ptr RawTGraph) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TGraph (Ptr RawTGraph) where+instance () => Castable (TGraph) (Ptr RawTGraph) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TGraph/FFI.hsc view
@@ -1,264 +1,318 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TGraph.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TGraph.RawType+import HROOT.Hist.TGraph.RawType import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType import HROOT.Hist.TF1.RawType import HROOT.Hist.TH1F.RawType import HROOT.Hist.TAxis.RawType -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetName"- c_tgraph_setname :: Ptr RawTGraph -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetName" c_tgraph_setname ::+ Ptr RawTGraph -> CString -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetNameTitle"- c_tgraph_setnametitle ::+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetNameTitle" c_tgraph_setnametitle :: Ptr RawTGraph -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetTitle"- c_tgraph_settitle :: Ptr RawTGraph -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetTitle" c_tgraph_settitle ::+ Ptr RawTGraph -> CString -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_GetLineColor"- c_tgraph_getlinecolor :: Ptr RawTGraph -> IO CInt+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_GetLineColor" c_tgraph_getlinecolor ::+ Ptr RawTGraph -> IO CShort -foreign import ccall safe "HROOTHistTGraph.h TGraph_GetLineStyle"- c_tgraph_getlinestyle :: Ptr RawTGraph -> IO CInt+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_GetLineStyle" c_tgraph_getlinestyle ::+ Ptr RawTGraph -> IO CShort -foreign import ccall safe "HROOTHistTGraph.h TGraph_GetLineWidth"- c_tgraph_getlinewidth :: Ptr RawTGraph -> IO CInt+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_GetLineWidth" c_tgraph_getlinewidth ::+ Ptr RawTGraph -> IO CShort -foreign import ccall safe "HROOTHistTGraph.h TGraph_ResetAttLine"- c_tgraph_resetattline :: Ptr RawTGraph -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_ResetAttLine" c_tgraph_resetattline ::+ Ptr RawTGraph -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraph.h TGraph_SetLineAttributes" c_tgraph_setlineattributes :: Ptr RawTGraph -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetLineColor"- c_tgraph_setlinecolor :: Ptr RawTGraph -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetLineColor" c_tgraph_setlinecolor ::+ Ptr RawTGraph -> CShort -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetLineStyle"- c_tgraph_setlinestyle :: Ptr RawTGraph -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetLineStyle" c_tgraph_setlinestyle ::+ Ptr RawTGraph -> CShort -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetLineWidth"- c_tgraph_setlinewidth :: Ptr RawTGraph -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetLineWidth" c_tgraph_setlinewidth ::+ Ptr RawTGraph -> CShort -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetFillColor"- c_tgraph_setfillcolor :: Ptr RawTGraph -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetFillColor" c_tgraph_setfillcolor ::+ Ptr RawTGraph -> CInt -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetFillStyle"- c_tgraph_setfillstyle :: Ptr RawTGraph -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetFillStyle" c_tgraph_setfillstyle ::+ Ptr RawTGraph -> CInt -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_GetMarkerColor"- c_tgraph_getmarkercolor :: Ptr RawTGraph -> IO CInt+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_GetMarkerColor" c_tgraph_getmarkercolor+ :: Ptr RawTGraph -> IO CShort -foreign import ccall safe "HROOTHistTGraph.h TGraph_GetMarkerStyle"- c_tgraph_getmarkerstyle :: Ptr RawTGraph -> IO CInt+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_GetMarkerStyle" c_tgraph_getmarkerstyle+ :: Ptr RawTGraph -> IO CShort -foreign import ccall safe "HROOTHistTGraph.h TGraph_GetMarkerSize"- c_tgraph_getmarkersize :: Ptr RawTGraph -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_GetMarkerSize" c_tgraph_getmarkersize ::+ Ptr RawTGraph -> IO CFloat -foreign import ccall safe "HROOTHistTGraph.h TGraph_ResetAttMarker"- c_tgraph_resetattmarker :: Ptr RawTGraph -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_ResetAttMarker" c_tgraph_resetattmarker+ :: Ptr RawTGraph -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraph.h TGraph_SetMarkerAttributes" c_tgraph_setmarkerattributes :: Ptr RawTGraph -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetMarkerColor"- c_tgraph_setmarkercolor :: Ptr RawTGraph -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetMarkerColor" c_tgraph_setmarkercolor+ :: Ptr RawTGraph -> CShort -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetMarkerStyle"- c_tgraph_setmarkerstyle :: Ptr RawTGraph -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetMarkerStyle" c_tgraph_setmarkerstyle+ :: Ptr RawTGraph -> CShort -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetMarkerSize"- c_tgraph_setmarkersize :: Ptr RawTGraph -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetMarkerSize" c_tgraph_setmarkersize ::+ Ptr RawTGraph -> CShort -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_Draw"+foreign import ccall interruptible "HROOTHistTGraph.h TGraph_Clear"+ c_tgraph_clear :: Ptr RawTGraph -> CString -> IO ()++foreign import ccall interruptible "HROOTHistTGraph.h TGraph_Draw" c_tgraph_draw :: Ptr RawTGraph -> CString -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_FindObject"- c_tgraph_findobject ::+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_FindObject" c_tgraph_findobject :: Ptr RawTGraph -> CString -> IO (Ptr RawTObject) -foreign import ccall safe "HROOTHistTGraph.h TGraph_GetName"- c_tgraph_getname :: Ptr RawTGraph -> IO CString+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_GetName" c_tgraph_getname ::+ Ptr RawTGraph -> IO CString -foreign import ccall safe "HROOTHistTGraph.h TGraph_IsA"+foreign import ccall interruptible "HROOTHistTGraph.h TGraph_IsA" c_tgraph_isa :: Ptr RawTGraph -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTGraph.h TGraph_Paint"+foreign import ccall interruptible "HROOTHistTGraph.h TGraph_Paint" c_tgraph_paint :: Ptr RawTGraph -> CString -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_printObj"- c_tgraph_printobj :: Ptr RawTGraph -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_printObj" c_tgraph_printobj ::+ Ptr RawTGraph -> CString -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_SaveAs"- c_tgraph_saveas :: Ptr RawTGraph -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SaveAs" c_tgraph_saveas ::+ Ptr RawTGraph -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_Write"+foreign import ccall interruptible "HROOTHistTGraph.h TGraph_Write" c_tgraph_write :: Ptr RawTGraph -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTGraph.h TGraph_delete"- c_tgraph_delete :: Ptr RawTGraph -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_Write_" c_tgraph_write_ ::+ Ptr RawTGraph -> IO CInt -foreign import ccall safe "HROOTHistTGraph.h TGraph_newTGraph"- c_tgraph_newtgraph ::- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraph)+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_delete" c_tgraph_delete ::+ Ptr RawTGraph -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_Apply"+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_newTGraph" c_tgraph_newtgraph ::+ CInt -> Ptr CDouble -> Ptr CDouble -> IO (Ptr RawTGraph)++foreign import ccall interruptible "HROOTHistTGraph.h TGraph_Apply" c_tgraph_apply :: Ptr RawTGraph -> Ptr RawTF1 -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_Chisquare"- c_tgraph_chisquare :: Ptr RawTGraph -> Ptr RawTF1 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_Chisquare" c_tgraph_chisquare ::+ Ptr RawTGraph -> Ptr RawTF1 -> IO CDouble -foreign import ccall safe "HROOTHistTGraph.h TGraph_DrawGraph"- c_tgraph_drawgraph ::+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_DrawGraph" c_tgraph_drawgraph :: Ptr RawTGraph ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraph.h TGraph_drawPanelTGraph" c_tgraph_drawpaneltgraph :: Ptr RawTGraph -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_Expand"- c_tgraph_expand :: Ptr RawTGraph -> CInt -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_Expand" c_tgraph_expand ::+ Ptr RawTGraph -> CInt -> CInt -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_FitPanelTGraph"- c_tgraph_fitpaneltgraph :: Ptr RawTGraph -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_FitPanelTGraph" c_tgraph_fitpaneltgraph+ :: Ptr RawTGraph -> IO () -foreign import ccall safe- "HROOTHistTGraph.h TGraph_tGraphGetEditable"- c_tgraph_tgraphgeteditable :: Ptr RawTGraph -> IO CInt+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_tGraph_GetEditable"+ c_tgraph_tgraph_geteditable :: Ptr RawTGraph -> IO CBool -foreign import ccall safe- "HROOTHistTGraph.h TGraph_tGraphGetFunction"- c_tgraph_tgraphgetfunction ::+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_tGraph_GetFunction"+ c_tgraph_tgraph_getfunction :: Ptr RawTGraph -> CString -> IO (Ptr RawTF1) -foreign import ccall safe- "HROOTHistTGraph.h TGraph_tGraphGetHistogram"- c_tgraph_tgraphgethistogram :: Ptr RawTGraph -> IO (Ptr RawTH1F)+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_tGraph_GetHistogram"+ c_tgraph_tgraph_gethistogram :: Ptr RawTGraph -> IO (Ptr RawTH1F) -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraph.h TGraph_getCorrelationFactorTGraph" c_tgraph_getcorrelationfactortgraph :: Ptr RawTGraph -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraph.h TGraph_getCovarianceTGraph" c_tgraph_getcovariancetgraph :: Ptr RawTGraph -> IO CDouble -foreign import ccall safe "HROOTHistTGraph.h TGraph_getMeanTGraph"- c_tgraph_getmeantgraph :: Ptr RawTGraph -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_getMeanTGraph" c_tgraph_getmeantgraph ::+ Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTGraph.h TGraph_getRMSTGraph"- c_tgraph_getrmstgraph :: Ptr RawTGraph -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_getRMSTGraph" c_tgraph_getrmstgraph ::+ Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall safe- "HROOTHistTGraph.h TGraph_tGraphGetMaxSize"- c_tgraph_tgraphgetmaxsize :: Ptr RawTGraph -> IO CInt+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_tGraph_GetMaxSize"+ c_tgraph_tgraph_getmaxsize :: Ptr RawTGraph -> IO CInt -foreign import ccall safe "HROOTHistTGraph.h TGraph_tGraphGetN"- c_tgraph_tgraphgetn :: Ptr RawTGraph -> IO CInt+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_tGraph_GetN" c_tgraph_tgraph_getn ::+ Ptr RawTGraph -> IO CInt -foreign import ccall safe "HROOTHistTGraph.h TGraph_GetErrorX"- c_tgraph_geterrorx :: Ptr RawTGraph -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_GetErrorX" c_tgraph_geterrorx ::+ Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTGraph.h TGraph_GetErrorY"- c_tgraph_geterrory :: Ptr RawTGraph -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_GetErrorY" c_tgraph_geterrory ::+ Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTGraph.h TGraph_GetErrorXhigh"- c_tgraph_geterrorxhigh :: Ptr RawTGraph -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_GetErrorXhigh" c_tgraph_geterrorxhigh ::+ Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTGraph.h TGraph_GetErrorXlow"- c_tgraph_geterrorxlow :: Ptr RawTGraph -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_GetErrorXlow" c_tgraph_geterrorxlow ::+ Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTGraph.h TGraph_GetErrorYhigh"- c_tgraph_geterroryhigh :: Ptr RawTGraph -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_GetErrorYhigh" c_tgraph_geterroryhigh ::+ Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTGraph.h TGraph_GetErrorYlow"- c_tgraph_geterrorylow :: Ptr RawTGraph -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_GetErrorYlow" c_tgraph_geterrorylow ::+ Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall safe- "HROOTHistTGraph.h TGraph_tGraphGetMaximum"- c_tgraph_tgraphgetmaximum :: Ptr RawTGraph -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_tGraph_GetMaximum"+ c_tgraph_tgraph_getmaximum :: Ptr RawTGraph -> IO CDouble -foreign import ccall safe- "HROOTHistTGraph.h TGraph_tGraphGetMinimum"- c_tgraph_tgraphgetminimum :: Ptr RawTGraph -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_tGraph_GetMinimum"+ c_tgraph_tgraph_getminimum :: Ptr RawTGraph -> IO CDouble -foreign import ccall safe "HROOTHistTGraph.h TGraph_tGraphGetXaxis"- c_tgraph_tgraphgetxaxis :: Ptr RawTGraph -> IO (Ptr RawTAxis)+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_tGraph_GetXaxis" c_tgraph_tgraph_getxaxis+ :: Ptr RawTGraph -> IO (Ptr RawTAxis) -foreign import ccall safe "HROOTHistTGraph.h TGraph_tGraphGetYaxis"- c_tgraph_tgraphgetyaxis :: Ptr RawTGraph -> IO (Ptr RawTAxis)+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_tGraph_GetYaxis" c_tgraph_tgraph_getyaxis+ :: Ptr RawTGraph -> IO (Ptr RawTAxis) -foreign import ccall safe "HROOTHistTGraph.h TGraph_InitExpo"- c_tgraph_initexpo :: Ptr RawTGraph -> CDouble -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_InitExpo" c_tgraph_initexpo ::+ Ptr RawTGraph -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_InitGaus"- c_tgraph_initgaus :: Ptr RawTGraph -> CDouble -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_InitGaus" c_tgraph_initgaus ::+ Ptr RawTGraph -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_InitPolynom"- c_tgraph_initpolynom ::+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_InitPolynom" c_tgraph_initpolynom :: Ptr RawTGraph -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_InsertPoint"- c_tgraph_insertpoint :: Ptr RawTGraph -> IO CInt+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_InsertPoint" c_tgraph_insertpoint ::+ Ptr RawTGraph -> IO CInt -foreign import ccall safe "HROOTHistTGraph.h TGraph_integralTGraph"- c_tgraph_integraltgraph ::- Ptr RawTGraph -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_integralTGraph" c_tgraph_integraltgraph+ :: Ptr RawTGraph -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTGraph.h TGraph_IsEditable"- c_tgraph_iseditable :: Ptr RawTGraph -> IO CInt+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_IsEditable" c_tgraph_iseditable ::+ Ptr RawTGraph -> IO CBool -foreign import ccall safe "HROOTHistTGraph.h TGraph_isInsideTGraph"- c_tgraph_isinsidetgraph ::- Ptr RawTGraph -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_isInsideTGraph" c_tgraph_isinsidetgraph+ :: Ptr RawTGraph -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTGraph.h TGraph_LeastSquareFit"- c_tgraph_leastsquarefit ::- Ptr RawTGraph ->- CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_LeastSquareFit" c_tgraph_leastsquarefit+ ::+ Ptr RawTGraph -> CInt -> Ptr CDouble -> CDouble -> CDouble -> IO () -foreign import ccall safe- "HROOTHistTGraph.h TGraph_tGraphPaintGraph"- c_tgraph_tgraphpaintgraph ::+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_tGraph_PaintGraph"+ c_tgraph_tgraph_paintgraph :: Ptr RawTGraph ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> CString -> IO () -foreign import ccall safe- "HROOTHistTGraph.h TGraph_tGraphPaintGrapHist"- c_tgraph_tgraphpaintgraphist ::+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_tGraph_PaintGrapHist"+ c_tgraph_tgraph_paintgraphist :: Ptr RawTGraph ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_PaintStats"- c_tgraph_paintstats :: Ptr RawTGraph -> Ptr RawTF1 -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_PaintStats" c_tgraph_paintstats ::+ Ptr RawTGraph -> Ptr RawTF1 -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_RemovePoint"- c_tgraph_removepoint :: Ptr RawTGraph -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_RemovePoint" c_tgraph_removepoint ::+ Ptr RawTGraph -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetEditable"- c_tgraph_seteditable :: Ptr RawTGraph -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetEditable" c_tgraph_seteditable ::+ Ptr RawTGraph -> CBool -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetHistogram"- c_tgraph_sethistogram :: Ptr RawTGraph -> Ptr RawTH1F -> IO ()+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetHistogram" c_tgraph_sethistogram ::+ Ptr RawTGraph -> Ptr RawTH1F -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraph.h TGraph_setMaximumTGraph" c_tgraph_setmaximumtgraph :: Ptr RawTGraph -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraph.h TGraph_setMinimumTGraph" c_tgraph_setminimumtgraph :: Ptr RawTGraph -> CDouble -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_Set"+foreign import ccall interruptible "HROOTHistTGraph.h TGraph_Set" c_tgraph_set :: Ptr RawTGraph -> CInt -> IO () -foreign import ccall safe "HROOTHistTGraph.h TGraph_SetPoint"- c_tgraph_setpoint ::+foreign import ccall interruptible+ "HROOTHistTGraph.h TGraph_SetPoint" c_tgraph_setpoint :: Ptr RawTGraph -> CInt -> CDouble -> CDouble -> IO ()
src/HROOT/Hist/TGraph/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TGraph.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TGraph.RawType import HROOT.Hist.TGraph.FFI import HROOT.Hist.TGraph.Interface import HROOT.Hist.TGraph.Cast+import HROOT.Hist.TGraph.RawType+import HROOT.Hist.TGraph.Cast+import HROOT.Hist.TGraph.Interface import HROOT.Core.TClass.RawType import HROOT.Core.TClass.Cast import HROOT.Core.TClass.Interface@@ -39,11 +48,11 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface -instance ITGraph TGraph where+instance () => ITGraph (TGraph) where apply = xform1 c_tgraph_apply chisquare = xform1 c_tgraph_chisquare drawGraph = xform4 c_tgraph_drawgraph@@ -78,12 +87,12 @@ set = xform1 c_tgraph_set setPoint = xform3 c_tgraph_setpoint -instance ITNamed TGraph where+instance () => ITNamed (TGraph) where setName = xform1 c_tgraph_setname setNameTitle = xform2 c_tgraph_setnametitle setTitle = xform1 c_tgraph_settitle -instance ITAttLine TGraph where+instance () => ITAttLine (TGraph) where getLineColor = xform0 c_tgraph_getlinecolor getLineStyle = xform0 c_tgraph_getlinestyle getLineWidth = xform0 c_tgraph_getlinewidth@@ -93,11 +102,11 @@ setLineStyle = xform1 c_tgraph_setlinestyle setLineWidth = xform1 c_tgraph_setlinewidth -instance ITAttFill TGraph where+instance () => ITAttFill (TGraph) where setFillColor = xform1 c_tgraph_setfillcolor setFillStyle = xform1 c_tgraph_setfillstyle -instance ITAttMarker TGraph where+instance () => ITAttMarker (TGraph) where getMarkerColor = xform0 c_tgraph_getmarkercolor getMarkerStyle = xform0 c_tgraph_getmarkerstyle getMarkerSize = xform0 c_tgraph_getmarkersize@@ -107,7 +116,8 @@ setMarkerStyle = xform1 c_tgraph_setmarkerstyle setMarkerSize = xform1 c_tgraph_setmarkersize -instance ITObject TGraph where+instance () => ITObject (TGraph) where+ clear = xform1 c_tgraph_clear draw = xform1 c_tgraph_draw findObject = xform1 c_tgraph_findobject getName = xform0 c_tgraph_getname@@ -116,46 +126,48 @@ printObj = xform1 c_tgraph_printobj saveAs = xform2 c_tgraph_saveas write = xform3 c_tgraph_write+ write_ = xform0 c_tgraph_write_ -instance IDeletable TGraph where+instance () => IDeletable (TGraph) where delete = xform0 c_tgraph_delete -newTGraph :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO TGraph+newTGraph :: () => CInt -> Ptr CDouble -> Ptr CDouble -> IO TGraph newTGraph = xform2 c_tgraph_newtgraph -tGraphGetEditable :: TGraph -> IO CInt-tGraphGetEditable = xform0 c_tgraph_tgraphgeteditable+tGraph_GetEditable :: () => TGraph -> IO CBool+tGraph_GetEditable = xform0 c_tgraph_tgraph_geteditable -tGraphGetFunction :: Castable c0 CString => TGraph -> c0 -> IO TF1-tGraphGetFunction = xform1 c_tgraph_tgraphgetfunction+tGraph_GetFunction ::+ (Castable c0 CString) => TGraph -> c0 -> IO TF1+tGraph_GetFunction = xform1 c_tgraph_tgraph_getfunction -tGraphGetHistogram :: TGraph -> IO TH1F-tGraphGetHistogram = xform0 c_tgraph_tgraphgethistogram+tGraph_GetHistogram :: () => TGraph -> IO TH1F+tGraph_GetHistogram = xform0 c_tgraph_tgraph_gethistogram -tGraphGetMaxSize :: TGraph -> IO CInt-tGraphGetMaxSize = xform0 c_tgraph_tgraphgetmaxsize+tGraph_GetMaxSize :: () => TGraph -> IO CInt+tGraph_GetMaxSize = xform0 c_tgraph_tgraph_getmaxsize -tGraphGetN :: TGraph -> IO CInt-tGraphGetN = xform0 c_tgraph_tgraphgetn+tGraph_GetN :: () => TGraph -> IO CInt+tGraph_GetN = xform0 c_tgraph_tgraph_getn -tGraphGetMaximum :: TGraph -> IO CDouble-tGraphGetMaximum = xform0 c_tgraph_tgraphgetmaximum+tGraph_GetMaximum :: () => TGraph -> IO CDouble+tGraph_GetMaximum = xform0 c_tgraph_tgraph_getmaximum -tGraphGetMinimum :: TGraph -> IO CDouble-tGraphGetMinimum = xform0 c_tgraph_tgraphgetminimum+tGraph_GetMinimum :: () => TGraph -> IO CDouble+tGraph_GetMinimum = xform0 c_tgraph_tgraph_getminimum -tGraphGetXaxis :: TGraph -> IO TAxis-tGraphGetXaxis = xform0 c_tgraph_tgraphgetxaxis+tGraph_GetXaxis :: () => TGraph -> IO TAxis+tGraph_GetXaxis = xform0 c_tgraph_tgraph_getxaxis -tGraphGetYaxis :: TGraph -> IO TAxis-tGraphGetYaxis = xform0 c_tgraph_tgraphgetyaxis+tGraph_GetYaxis :: () => TGraph -> IO TAxis+tGraph_GetYaxis = xform0 c_tgraph_tgraph_getyaxis -tGraphPaintGraph ::- Castable c0 CString =>- TGraph -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> c0 -> IO ()-tGraphPaintGraph = xform4 c_tgraph_tgraphpaintgraph+tGraph_PaintGraph ::+ (Castable c0 CString) =>+ TGraph -> CInt -> Ptr CDouble -> Ptr CDouble -> c0 -> IO ()+tGraph_PaintGraph = xform4 c_tgraph_tgraph_paintgraph -tGraphPaintGrapHist ::- Castable c0 CString =>- TGraph -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> c0 -> IO ()-tGraphPaintGrapHist = xform4 c_tgraph_tgraphpaintgraphist+tGraph_PaintGrapHist ::+ (Castable c0 CString) =>+ TGraph -> CInt -> Ptr CDouble -> Ptr CDouble -> c0 -> IO ()+tGraph_PaintGrapHist = xform4 c_tgraph_tgraph_paintgraphist
src/HROOT/Hist/TGraph/Interface.hs view
@@ -4,19 +4,17 @@ TypeSynonymInstances #-} module HROOT.Hist.TGraph.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import HROOT.Hist.TGraph.RawType-import HROOT.Hist.TF1.RawType-import HROOT.Hist.TH1F.RawType-import HROOT.Hist.TAxis.RawType import HROOT.Core.TNamed.Interface import HROOT.Core.TAttLine.Interface import HROOT.Core.TAttFill.Interface import HROOT.Core.TAttMarker.Interface-import {-# SOURCE #-} HROOT.Hist.TF1.Interface-import {-# SOURCE #-} HROOT.Hist.TH1F.Interface+import HROOT.Hist.TF1.Interface+import HROOT.Hist.TH1F.Interface class (ITNamed a, ITAttLine a, ITAttFill a, ITAttMarker a) => ITGraph a where@@ -25,67 +23,67 @@ chisquare :: (ITF1 c0, FPtr c0) => a -> c0 -> IO CDouble drawGraph ::- Castable c0 CString =>- a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> c0 -> IO ()+ (Castable c0 CString) =>+ a -> CInt -> Ptr CDouble -> Ptr CDouble -> c0 -> IO () - drawPanelTGraph :: a -> IO ()+ drawPanelTGraph :: () => a -> IO () - expand :: a -> CInt -> CInt -> IO ()+ expand :: () => a -> CInt -> CInt -> IO () - fitPanelTGraph :: a -> IO ()+ fitPanelTGraph :: () => a -> IO () - getCorrelationFactorTGraph :: a -> IO CDouble+ getCorrelationFactorTGraph :: () => a -> IO CDouble - getCovarianceTGraph :: a -> IO CDouble+ getCovarianceTGraph :: () => a -> IO CDouble - getMeanTGraph :: a -> CInt -> IO CDouble+ getMeanTGraph :: () => a -> CInt -> IO CDouble - getRMSTGraph :: a -> CInt -> IO CDouble+ getRMSTGraph :: () => a -> CInt -> IO CDouble - getErrorX :: a -> CInt -> IO CDouble+ getErrorX :: () => a -> CInt -> IO CDouble - getErrorY :: a -> CInt -> IO CDouble+ getErrorY :: () => a -> CInt -> IO CDouble - getErrorXhigh :: a -> CInt -> IO CDouble+ getErrorXhigh :: () => a -> CInt -> IO CDouble - getErrorXlow :: a -> CInt -> IO CDouble+ getErrorXlow :: () => a -> CInt -> IO CDouble - getErrorYhigh :: a -> CInt -> IO CDouble+ getErrorYhigh :: () => a -> CInt -> IO CDouble - getErrorYlow :: a -> CInt -> IO CDouble+ getErrorYlow :: () => a -> CInt -> IO CDouble - initExpo :: a -> CDouble -> CDouble -> IO ()+ initExpo :: () => a -> CDouble -> CDouble -> IO () - initGaus :: a -> CDouble -> CDouble -> IO ()+ initGaus :: () => a -> CDouble -> CDouble -> IO () - initPolynom :: a -> CDouble -> CDouble -> IO ()+ initPolynom :: () => a -> CDouble -> CDouble -> IO () - insertPoint :: a -> IO CInt+ insertPoint :: () => a -> IO CInt - integralTGraph :: a -> CInt -> CInt -> IO CDouble+ integralTGraph :: () => a -> CInt -> CInt -> IO CDouble - isEditable :: a -> IO CInt+ isEditable :: () => a -> IO CBool - isInsideTGraph :: a -> CDouble -> CDouble -> IO CInt+ isInsideTGraph :: () => a -> CDouble -> CDouble -> IO CInt leastSquareFit ::- a -> CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO ()+ () => a -> CInt -> Ptr CDouble -> CDouble -> CDouble -> IO () paintStats :: (ITF1 c0, FPtr c0) => a -> c0 -> IO () - removePoint :: a -> CInt -> IO CInt+ removePoint :: () => a -> CInt -> IO CInt - setEditable :: a -> CInt -> IO ()+ setEditable :: () => a -> CBool -> IO () setHistogram :: (ITH1F c0, FPtr c0) => a -> c0 -> IO () - setMaximumTGraph :: a -> CDouble -> IO ()+ setMaximumTGraph :: () => a -> CDouble -> IO () - setMinimumTGraph :: a -> CDouble -> IO ()+ setMinimumTGraph :: () => a -> CDouble -> IO () - set :: a -> CInt -> IO ()+ set :: () => a -> CInt -> IO () - setPoint :: a -> CInt -> CDouble -> CDouble -> IO ()+ setPoint :: () => a -> CInt -> CDouble -> CDouble -> IO () upcastTGraph :: forall a . (FPtr a, ITGraph a) => a -> TGraph upcastTGraph h
src/HROOT/Hist/TGraph/RawType.hs view
@@ -8,9 +8,9 @@ data RawTGraph newtype TGraph = TGraph (Ptr RawTGraph)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TGraph where+instance () => FPtr (TGraph) where type Raw TGraph = RawTGraph get_fptr (TGraph ptr) = ptr cast_fptr_to_obj = TGraph
+ src/HROOT/Hist/TGraph2D.hs view
@@ -0,0 +1,8 @@+module HROOT.Hist.TGraph2D+ (TGraph2D(..), ITGraph2D(..), upcastTGraph2D, downcastTGraph2D,+ newTGraph2D_, newTGraph2D, tGraph2D_GetXaxis, tGraph2D_GetYaxis,+ tGraph2D_GetZaxis, tGraph2D_SetMaximum, tGraph2D_SetMinimum)+ where+import HROOT.Hist.TGraph2D.RawType+import HROOT.Hist.TGraph2D.Interface+import HROOT.Hist.TGraph2D.Implementation
+ src/HROOT/Hist/TGraph2D/Cast.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+ MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+ #-}+module HROOT.Hist.TGraph2D.Cast where+import Foreign.Ptr+import FFICXX.Runtime.Cast+import System.IO.Unsafe+import HROOT.Hist.TGraph2D.RawType+import HROOT.Hist.TGraph2D.Interface++instance (ITGraph2D a, FPtr a) => Castable (a) (Ptr RawTGraph2D)+ where+ cast x f = f (castPtr (get_fptr x))+ uncast x f = f (cast_fptr_to_obj (castPtr x))++instance () => Castable (TGraph2D) (Ptr RawTGraph2D) where+ cast x f = f (castPtr (get_fptr x))+ uncast x f = f (cast_fptr_to_obj (castPtr x))
+ src/HROOT/Hist/TGraph2D/FFI.hsc view
@@ -0,0 +1,183 @@+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-}+module HROOT.Hist.TGraph2D.FFI where+import Data.Word+import Data.Int+import Foreign.C+import Foreign.Ptr+import HROOT.Hist.TGraph2D.RawType+import HROOT.Hist.TGraph2D.RawType+import HROOT.Core.TObject.RawType+import HROOT.Core.TClass.RawType+import HROOT.Hist.TAxis.RawType++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetName" c_tgraph2d_setname ::+ Ptr RawTGraph2D -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetNameTitle" c_tgraph2d_setnametitle+ :: Ptr RawTGraph2D -> CString -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetTitle" c_tgraph2d_settitle ::+ Ptr RawTGraph2D -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_GetLineColor" c_tgraph2d_getlinecolor+ :: Ptr RawTGraph2D -> IO CShort++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_GetLineStyle" c_tgraph2d_getlinestyle+ :: Ptr RawTGraph2D -> IO CShort++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_GetLineWidth" c_tgraph2d_getlinewidth+ :: Ptr RawTGraph2D -> IO CShort++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_ResetAttLine" c_tgraph2d_resetattline+ :: Ptr RawTGraph2D -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetLineAttributes"+ c_tgraph2d_setlineattributes :: Ptr RawTGraph2D -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetLineColor" c_tgraph2d_setlinecolor+ :: Ptr RawTGraph2D -> CShort -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetLineStyle" c_tgraph2d_setlinestyle+ :: Ptr RawTGraph2D -> CShort -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetLineWidth" c_tgraph2d_setlinewidth+ :: Ptr RawTGraph2D -> CShort -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetFillColor" c_tgraph2d_setfillcolor+ :: Ptr RawTGraph2D -> CInt -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetFillStyle" c_tgraph2d_setfillstyle+ :: Ptr RawTGraph2D -> CInt -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_GetMarkerColor"+ c_tgraph2d_getmarkercolor :: Ptr RawTGraph2D -> IO CShort++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_GetMarkerStyle"+ c_tgraph2d_getmarkerstyle :: Ptr RawTGraph2D -> IO CShort++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_GetMarkerSize"+ c_tgraph2d_getmarkersize :: Ptr RawTGraph2D -> IO CFloat++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_ResetAttMarker"+ c_tgraph2d_resetattmarker :: Ptr RawTGraph2D -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetMarkerAttributes"+ c_tgraph2d_setmarkerattributes :: Ptr RawTGraph2D -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetMarkerColor"+ c_tgraph2d_setmarkercolor :: Ptr RawTGraph2D -> CShort -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetMarkerStyle"+ c_tgraph2d_setmarkerstyle :: Ptr RawTGraph2D -> CShort -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetMarkerSize"+ c_tgraph2d_setmarkersize :: Ptr RawTGraph2D -> CShort -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_Clear" c_tgraph2d_clear ::+ Ptr RawTGraph2D -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_Draw" c_tgraph2d_draw ::+ Ptr RawTGraph2D -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_FindObject" c_tgraph2d_findobject ::+ Ptr RawTGraph2D -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_GetName" c_tgraph2d_getname ::+ Ptr RawTGraph2D -> IO CString++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_IsA" c_tgraph2d_isa ::+ Ptr RawTGraph2D -> IO (Ptr RawTClass)++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_Paint" c_tgraph2d_paint ::+ Ptr RawTGraph2D -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_printObj" c_tgraph2d_printobj ::+ Ptr RawTGraph2D -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SaveAs" c_tgraph2d_saveas ::+ Ptr RawTGraph2D -> CString -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_Write" c_tgraph2d_write ::+ Ptr RawTGraph2D -> CString -> CInt -> CInt -> IO CInt++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_Write_" c_tgraph2d_write_ ::+ Ptr RawTGraph2D -> IO CInt++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_delete" c_tgraph2d_delete ::+ Ptr RawTGraph2D -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_newTGraph2D_" c_tgraph2d_newtgraph2d_+ :: IO (Ptr RawTGraph2D)++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_newTGraph2D" c_tgraph2d_newtgraph2d+ ::+ CInt ->+ Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO (Ptr RawTGraph2D)++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_tGraph2D_GetXaxis"+ c_tgraph2d_tgraph2d_getxaxis ::+ Ptr RawTGraph2D -> IO (Ptr RawTAxis)++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_tGraph2D_GetYaxis"+ c_tgraph2d_tgraph2d_getyaxis ::+ Ptr RawTGraph2D -> IO (Ptr RawTAxis)++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_tGraph2D_GetZaxis"+ c_tgraph2d_tgraph2d_getzaxis ::+ Ptr RawTGraph2D -> IO (Ptr RawTAxis)++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetN" c_tgraph2d_setn ::+ Ptr RawTGraph2D -> CInt -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_tGraph2D_SetMaximum"+ c_tgraph2d_tgraph2d_setmaximum ::+ Ptr RawTGraph2D -> CDouble -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_tGraph2D_SetMinimum"+ c_tgraph2d_tgraph2d_setminimum ::+ Ptr RawTGraph2D -> CDouble -> IO ()++foreign import ccall interruptible+ "HROOTHistTGraph2D.h TGraph2D_SetPointXYZ" c_tgraph2d_setpointxyz+ ::+ Ptr RawTGraph2D -> CInt -> CDouble -> CDouble -> CDouble -> IO ()
+ src/HROOT/Hist/TGraph2D/Implementation.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+ ForeignFunctionInterface, IncoherentInstances,+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-}+module HROOT.Hist.TGraph2D.Implementation where+import Data.Monoid+import Data.Word+import Data.Int+import Foreign.C+import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax+import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH+import HROOT.Hist.TGraph2D.RawType+import HROOT.Hist.TGraph2D.FFI+import HROOT.Hist.TGraph2D.Interface+import HROOT.Hist.TGraph2D.Cast+import HROOT.Hist.TGraph2D.RawType+import HROOT.Hist.TGraph2D.Cast+import HROOT.Hist.TGraph2D.Interface+import HROOT.Core.TClass.RawType+import HROOT.Core.TClass.Cast+import HROOT.Core.TClass.Interface+import HROOT.Hist.TAxis.RawType+import HROOT.Hist.TAxis.Cast+import HROOT.Hist.TAxis.Interface+import HROOT.Core.TNamed.RawType+import HROOT.Core.TNamed.Cast+import HROOT.Core.TNamed.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.TObject.RawType+import HROOT.Core.TObject.Cast+import HROOT.Core.TObject.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface++instance () => ITGraph2D (TGraph2D) where+ setN = xform1 c_tgraph2d_setn+ setPointXYZ = xform4 c_tgraph2d_setpointxyz++instance () => ITNamed (TGraph2D) where+ setName = xform1 c_tgraph2d_setname+ setNameTitle = xform2 c_tgraph2d_setnametitle+ setTitle = xform1 c_tgraph2d_settitle++instance () => ITAttLine (TGraph2D) where+ getLineColor = xform0 c_tgraph2d_getlinecolor+ getLineStyle = xform0 c_tgraph2d_getlinestyle+ getLineWidth = xform0 c_tgraph2d_getlinewidth+ resetAttLine = xform1 c_tgraph2d_resetattline+ setLineAttributes = xform0 c_tgraph2d_setlineattributes+ setLineColor = xform1 c_tgraph2d_setlinecolor+ setLineStyle = xform1 c_tgraph2d_setlinestyle+ setLineWidth = xform1 c_tgraph2d_setlinewidth++instance () => ITAttFill (TGraph2D) where+ setFillColor = xform1 c_tgraph2d_setfillcolor+ setFillStyle = xform1 c_tgraph2d_setfillstyle++instance () => ITAttMarker (TGraph2D) where+ getMarkerColor = xform0 c_tgraph2d_getmarkercolor+ getMarkerStyle = xform0 c_tgraph2d_getmarkerstyle+ getMarkerSize = xform0 c_tgraph2d_getmarkersize+ resetAttMarker = xform1 c_tgraph2d_resetattmarker+ setMarkerAttributes = xform0 c_tgraph2d_setmarkerattributes+ setMarkerColor = xform1 c_tgraph2d_setmarkercolor+ setMarkerStyle = xform1 c_tgraph2d_setmarkerstyle+ setMarkerSize = xform1 c_tgraph2d_setmarkersize++instance () => ITObject (TGraph2D) where+ clear = xform1 c_tgraph2d_clear+ draw = xform1 c_tgraph2d_draw+ findObject = xform1 c_tgraph2d_findobject+ getName = xform0 c_tgraph2d_getname+ isA = xform0 c_tgraph2d_isa+ paint = xform1 c_tgraph2d_paint+ printObj = xform1 c_tgraph2d_printobj+ saveAs = xform2 c_tgraph2d_saveas+ write = xform3 c_tgraph2d_write+ write_ = xform0 c_tgraph2d_write_++instance () => IDeletable (TGraph2D) where+ delete = xform0 c_tgraph2d_delete++newTGraph2D_ :: () => IO TGraph2D+newTGraph2D_ = xformnull c_tgraph2d_newtgraph2d_++newTGraph2D ::+ () =>+ CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO TGraph2D+newTGraph2D = xform3 c_tgraph2d_newtgraph2d++tGraph2D_GetXaxis :: () => TGraph2D -> IO TAxis+tGraph2D_GetXaxis = xform0 c_tgraph2d_tgraph2d_getxaxis++tGraph2D_GetYaxis :: () => TGraph2D -> IO TAxis+tGraph2D_GetYaxis = xform0 c_tgraph2d_tgraph2d_getyaxis++tGraph2D_GetZaxis :: () => TGraph2D -> IO TAxis+tGraph2D_GetZaxis = xform0 c_tgraph2d_tgraph2d_getzaxis++tGraph2D_SetMaximum :: () => TGraph2D -> CDouble -> IO ()+tGraph2D_SetMaximum = xform1 c_tgraph2d_tgraph2d_setmaximum++tGraph2D_SetMinimum :: () => TGraph2D -> CDouble -> IO ()+tGraph2D_SetMinimum = xform1 c_tgraph2d_tgraph2d_setminimum
+ src/HROOT/Hist/TGraph2D/Interface.hs view
@@ -0,0 +1,35 @@+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+ FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+ MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+ TypeSynonymInstances #-}+module HROOT.Hist.TGraph2D.Interface where+import Data.Word+import Data.Int+import Foreign.C+import Foreign.Ptr+import FFICXX.Runtime.Cast+import HROOT.Hist.TGraph2D.RawType+import HROOT.Core.TNamed.Interface+import HROOT.Core.TAttLine.Interface+import HROOT.Core.TAttFill.Interface+import HROOT.Core.TAttMarker.Interface++class (ITNamed a, ITAttLine a, ITAttFill a, ITAttMarker a) =>+ ITGraph2D a where+ setN :: () => a -> CInt -> IO ()+ + setPointXYZ ::+ () => a -> CInt -> CDouble -> CDouble -> CDouble -> IO ()++upcastTGraph2D :: forall a . (FPtr a, ITGraph2D a) => a -> TGraph2D+upcastTGraph2D h+ = let fh = get_fptr h+ fh2 :: Ptr RawTGraph2D = castPtr fh+ in cast_fptr_to_obj fh2++downcastTGraph2D ::+ forall a . (FPtr a, ITGraph2D a) => TGraph2D -> a+downcastTGraph2D h+ = let fh = get_fptr h+ fh2 = castPtr fh+ in cast_fptr_to_obj fh2
+ src/HROOT/Hist/TGraph2D/RawType.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+ MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+ EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}+module HROOT.Hist.TGraph2D.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast++data RawTGraph2D++newtype TGraph2D = TGraph2D (Ptr RawTGraph2D)+ deriving (Eq, Ord, Show)++instance () => FPtr (TGraph2D) where+ type Raw TGraph2D = RawTGraph2D+ get_fptr (TGraph2D ptr) = ptr+ cast_fptr_to_obj = TGraph2D
src/HROOT/Hist/TGraphAsymmErrors.hs view
@@ -1,5 +1,5 @@ module HROOT.Hist.TGraphAsymmErrors- (TGraphAsymmErrors(..), ITGraphAsymmErrors,+ (TGraphAsymmErrors(..), ITGraphAsymmErrors(..), upcastTGraphAsymmErrors, downcastTGraphAsymmErrors, newTGraphAsymmErrors) where
src/HROOT/Hist/TGraphAsymmErrors/Cast.hs view
@@ -8,12 +8,14 @@ import HROOT.Hist.TGraphAsymmErrors.RawType import HROOT.Hist.TGraphAsymmErrors.Interface -instance (ITGraphAsymmErrors a, FPtr a) => Castable a- (Ptr RawTGraphAsymmErrors) where+instance (ITGraphAsymmErrors a, FPtr a) =>+ Castable (a) (Ptr RawTGraphAsymmErrors)+ where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TGraphAsymmErrors (Ptr RawTGraphAsymmErrors)+instance () =>+ Castable (TGraphAsymmErrors) (Ptr RawTGraphAsymmErrors) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TGraphAsymmErrors/FFI.hsc view
@@ -1,331 +1,349 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TGraphAsymmErrors.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TGraphAsymmErrors.RawType+import HROOT.Hist.TGraphAsymmErrors.RawType import HROOT.Hist.TF1.RawType import HROOT.Hist.TH1F.RawType import HROOT.Hist.TAxis.RawType import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Apply" c_tgraphasymmerrors_apply :: Ptr RawTGraphAsymmErrors -> Ptr RawTF1 -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Chisquare" c_tgraphasymmerrors_chisquare :: Ptr RawTGraphAsymmErrors -> Ptr RawTF1 -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_DrawGraph" c_tgraphasymmerrors_drawgraph :: Ptr RawTGraphAsymmErrors ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_drawPanelTGraph" c_tgraphasymmerrors_drawpaneltgraph :: Ptr RawTGraphAsymmErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Expand" c_tgraphasymmerrors_expand :: Ptr RawTGraphAsymmErrors -> CInt -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_FitPanelTGraph" c_tgraphasymmerrors_fitpaneltgraph :: Ptr RawTGraphAsymmErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_getCorrelationFactorTGraph" c_tgraphasymmerrors_getcorrelationfactortgraph :: Ptr RawTGraphAsymmErrors -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_getCovarianceTGraph" c_tgraphasymmerrors_getcovariancetgraph :: Ptr RawTGraphAsymmErrors -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_getMeanTGraph" c_tgraphasymmerrors_getmeantgraph :: Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_getRMSTGraph" c_tgraphasymmerrors_getrmstgraph :: Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorX" c_tgraphasymmerrors_geterrorx :: Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorY" c_tgraphasymmerrors_geterrory :: Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorXhigh" c_tgraphasymmerrors_geterrorxhigh :: Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorXlow" c_tgraphasymmerrors_geterrorxlow :: Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorYhigh" c_tgraphasymmerrors_geterroryhigh :: Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorYlow" c_tgraphasymmerrors_geterrorylow :: Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_InitExpo" c_tgraphasymmerrors_initexpo :: Ptr RawTGraphAsymmErrors -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_InitGaus" c_tgraphasymmerrors_initgaus :: Ptr RawTGraphAsymmErrors -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_InitPolynom" c_tgraphasymmerrors_initpolynom :: Ptr RawTGraphAsymmErrors -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_InsertPoint" c_tgraphasymmerrors_insertpoint :: Ptr RawTGraphAsymmErrors -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_integralTGraph" c_tgraphasymmerrors_integraltgraph :: Ptr RawTGraphAsymmErrors -> CInt -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_IsEditable" c_tgraphasymmerrors_iseditable ::- Ptr RawTGraphAsymmErrors -> IO CInt+ Ptr RawTGraphAsymmErrors -> IO CBool -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_isInsideTGraph" c_tgraphasymmerrors_isinsidetgraph :: Ptr RawTGraphAsymmErrors -> CDouble -> CDouble -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_LeastSquareFit" c_tgraphasymmerrors_leastsquarefit :: Ptr RawTGraphAsymmErrors ->- CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO ()+ CInt -> Ptr CDouble -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_PaintStats" c_tgraphasymmerrors_paintstats :: Ptr RawTGraphAsymmErrors -> Ptr RawTF1 -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_RemovePoint" c_tgraphasymmerrors_removepoint :: Ptr RawTGraphAsymmErrors -> CInt -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetEditable" c_tgraphasymmerrors_seteditable ::- Ptr RawTGraphAsymmErrors -> CInt -> IO ()+ Ptr RawTGraphAsymmErrors -> CBool -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetHistogram" c_tgraphasymmerrors_sethistogram :: Ptr RawTGraphAsymmErrors -> Ptr RawTH1F -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_setMaximumTGraph" c_tgraphasymmerrors_setmaximumtgraph :: Ptr RawTGraphAsymmErrors -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_setMinimumTGraph" c_tgraphasymmerrors_setminimumtgraph :: Ptr RawTGraphAsymmErrors -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Set" c_tgraphasymmerrors_set :: Ptr RawTGraphAsymmErrors -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetPoint" c_tgraphasymmerrors_setpoint :: Ptr RawTGraphAsymmErrors -> CInt -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetName" c_tgraphasymmerrors_setname :: Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetNameTitle" c_tgraphasymmerrors_setnametitle :: Ptr RawTGraphAsymmErrors -> CString -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetTitle" c_tgraphasymmerrors_settitle :: Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetLineColor" c_tgraphasymmerrors_getlinecolor ::- Ptr RawTGraphAsymmErrors -> IO CInt+ Ptr RawTGraphAsymmErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetLineStyle" c_tgraphasymmerrors_getlinestyle ::- Ptr RawTGraphAsymmErrors -> IO CInt+ Ptr RawTGraphAsymmErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetLineWidth" c_tgraphasymmerrors_getlinewidth ::- Ptr RawTGraphAsymmErrors -> IO CInt+ Ptr RawTGraphAsymmErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_ResetAttLine" c_tgraphasymmerrors_resetattline :: Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetLineAttributes" c_tgraphasymmerrors_setlineattributes :: Ptr RawTGraphAsymmErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetLineColor" c_tgraphasymmerrors_setlinecolor ::- Ptr RawTGraphAsymmErrors -> CInt -> IO ()+ Ptr RawTGraphAsymmErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetLineStyle" c_tgraphasymmerrors_setlinestyle ::- Ptr RawTGraphAsymmErrors -> CInt -> IO ()+ Ptr RawTGraphAsymmErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetLineWidth" c_tgraphasymmerrors_setlinewidth ::- Ptr RawTGraphAsymmErrors -> CInt -> IO ()+ Ptr RawTGraphAsymmErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetFillColor" c_tgraphasymmerrors_setfillcolor :: Ptr RawTGraphAsymmErrors -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetFillStyle" c_tgraphasymmerrors_setfillstyle :: Ptr RawTGraphAsymmErrors -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetMarkerColor" c_tgraphasymmerrors_getmarkercolor ::- Ptr RawTGraphAsymmErrors -> IO CInt+ Ptr RawTGraphAsymmErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetMarkerStyle" c_tgraphasymmerrors_getmarkerstyle ::- Ptr RawTGraphAsymmErrors -> IO CInt+ Ptr RawTGraphAsymmErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetMarkerSize" c_tgraphasymmerrors_getmarkersize ::- Ptr RawTGraphAsymmErrors -> IO CDouble+ Ptr RawTGraphAsymmErrors -> IO CFloat -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_ResetAttMarker" c_tgraphasymmerrors_resetattmarker :: Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetMarkerAttributes" c_tgraphasymmerrors_setmarkerattributes :: Ptr RawTGraphAsymmErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetMarkerColor" c_tgraphasymmerrors_setmarkercolor ::- Ptr RawTGraphAsymmErrors -> CInt -> IO ()+ Ptr RawTGraphAsymmErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetMarkerStyle" c_tgraphasymmerrors_setmarkerstyle ::- Ptr RawTGraphAsymmErrors -> CInt -> IO ()+ Ptr RawTGraphAsymmErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetMarkerSize" c_tgraphasymmerrors_setmarkersize ::- Ptr RawTGraphAsymmErrors -> CInt -> IO ()+ Ptr RawTGraphAsymmErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible+ "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Clear"+ c_tgraphasymmerrors_clear ::+ Ptr RawTGraphAsymmErrors -> CString -> IO ()++foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Draw" c_tgraphasymmerrors_draw :: Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_FindObject" c_tgraphasymmerrors_findobject :: Ptr RawTGraphAsymmErrors -> CString -> IO (Ptr RawTObject) -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetName" c_tgraphasymmerrors_getname :: Ptr RawTGraphAsymmErrors -> IO CString -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_IsA" c_tgraphasymmerrors_isa :: Ptr RawTGraphAsymmErrors -> IO (Ptr RawTClass) -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Paint" c_tgraphasymmerrors_paint :: Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_printObj" c_tgraphasymmerrors_printobj :: Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SaveAs" c_tgraphasymmerrors_saveas :: Ptr RawTGraphAsymmErrors -> CString -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Write" c_tgraphasymmerrors_write :: Ptr RawTGraphAsymmErrors -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe+foreign import ccall interruptible+ "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Write_"+ c_tgraphasymmerrors_write_ :: Ptr RawTGraphAsymmErrors -> IO CInt++foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_delete" c_tgraphasymmerrors_delete :: Ptr RawTGraphAsymmErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_newTGraphAsymmErrors" c_tgraphasymmerrors_newtgraphasymmerrors :: CInt ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphAsymmErrors)+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble -> Ptr CDouble -> IO (Ptr RawTGraphAsymmErrors)++foreign import ccall interruptible+ "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetPointErrorA"+ c_tgraphasymmerrors_setpointerrora ::+ Ptr RawTGraphAsymmErrors ->+ CInt -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()
src/HROOT/Hist/TGraphAsymmErrors/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TGraphAsymmErrors.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TGraphAsymmErrors.RawType import HROOT.Hist.TGraphAsymmErrors.FFI import HROOT.Hist.TGraphAsymmErrors.Interface import HROOT.Hist.TGraphAsymmErrors.Cast+import HROOT.Hist.TGraphAsymmErrors.RawType+import HROOT.Hist.TGraphAsymmErrors.Cast+import HROOT.Hist.TGraphAsymmErrors.Interface import HROOT.Hist.TF1.RawType import HROOT.Hist.TF1.Cast import HROOT.Hist.TF1.Interface@@ -42,13 +51,14 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface -instance ITGraphAsymmErrors TGraphAsymmErrors+instance () => ITGraphAsymmErrors (TGraphAsymmErrors) where+ setPointErrorA = xform5 c_tgraphasymmerrors_setpointerrora -instance ITGraph TGraphAsymmErrors where+instance () => ITGraph (TGraphAsymmErrors) where apply = xform1 c_tgraphasymmerrors_apply chisquare = xform1 c_tgraphasymmerrors_chisquare drawGraph = xform4 c_tgraphasymmerrors_drawgraph@@ -84,12 +94,12 @@ set = xform1 c_tgraphasymmerrors_set setPoint = xform3 c_tgraphasymmerrors_setpoint -instance ITNamed TGraphAsymmErrors where+instance () => ITNamed (TGraphAsymmErrors) where setName = xform1 c_tgraphasymmerrors_setname setNameTitle = xform2 c_tgraphasymmerrors_setnametitle setTitle = xform1 c_tgraphasymmerrors_settitle -instance ITAttLine TGraphAsymmErrors where+instance () => ITAttLine (TGraphAsymmErrors) where getLineColor = xform0 c_tgraphasymmerrors_getlinecolor getLineStyle = xform0 c_tgraphasymmerrors_getlinestyle getLineWidth = xform0 c_tgraphasymmerrors_getlinewidth@@ -99,11 +109,11 @@ setLineStyle = xform1 c_tgraphasymmerrors_setlinestyle setLineWidth = xform1 c_tgraphasymmerrors_setlinewidth -instance ITAttFill TGraphAsymmErrors where+instance () => ITAttFill (TGraphAsymmErrors) where setFillColor = xform1 c_tgraphasymmerrors_setfillcolor setFillStyle = xform1 c_tgraphasymmerrors_setfillstyle -instance ITAttMarker TGraphAsymmErrors where+instance () => ITAttMarker (TGraphAsymmErrors) where getMarkerColor = xform0 c_tgraphasymmerrors_getmarkercolor getMarkerStyle = xform0 c_tgraphasymmerrors_getmarkerstyle getMarkerSize = xform0 c_tgraphasymmerrors_getmarkersize@@ -114,7 +124,8 @@ setMarkerStyle = xform1 c_tgraphasymmerrors_setmarkerstyle setMarkerSize = xform1 c_tgraphasymmerrors_setmarkersize -instance ITObject TGraphAsymmErrors where+instance () => ITObject (TGraphAsymmErrors) where+ clear = xform1 c_tgraphasymmerrors_clear draw = xform1 c_tgraphasymmerrors_draw findObject = xform1 c_tgraphasymmerrors_findobject getName = xform0 c_tgraphasymmerrors_getname@@ -123,16 +134,17 @@ printObj = xform1 c_tgraphasymmerrors_printobj saveAs = xform2 c_tgraphasymmerrors_saveas write = xform3 c_tgraphasymmerrors_write+ write_ = xform0 c_tgraphasymmerrors_write_ -instance IDeletable TGraphAsymmErrors where+instance () => IDeletable (TGraphAsymmErrors) where delete = xform0 c_tgraphasymmerrors_delete newTGraphAsymmErrors ::+ () => CInt ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) -> (Ptr CDouble) -> IO TGraphAsymmErrors+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO TGraphAsymmErrors newTGraphAsymmErrors = xform6 c_tgraphasymmerrors_newtgraphasymmerrors
src/HROOT/Hist/TGraphAsymmErrors/Interface.hs view
@@ -4,13 +4,17 @@ TypeSynonymInstances #-} module HROOT.Hist.TGraphAsymmErrors.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import HROOT.Hist.TGraphAsymmErrors.RawType import HROOT.Hist.TGraph.Interface -class ITGraph a => ITGraphAsymmErrors a+class (ITGraph a) => ITGraphAsymmErrors a where+ setPointErrorA ::+ () =>+ a -> CInt -> CDouble -> CDouble -> CDouble -> CDouble -> IO () upcastTGraphAsymmErrors :: forall a . (FPtr a, ITGraphAsymmErrors a) => a -> TGraphAsymmErrors
src/HROOT/Hist/TGraphAsymmErrors/RawType.hs view
@@ -9,9 +9,9 @@ newtype TGraphAsymmErrors = TGraphAsymmErrors (Ptr RawTGraphAsymmErrors)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TGraphAsymmErrors where+instance () => FPtr (TGraphAsymmErrors) where type Raw TGraphAsymmErrors = RawTGraphAsymmErrors get_fptr (TGraphAsymmErrors ptr) = ptr cast_fptr_to_obj = TGraphAsymmErrors
src/HROOT/Hist/TGraphBentErrors/Cast.hs view
@@ -8,11 +8,14 @@ import HROOT.Hist.TGraphBentErrors.RawType import HROOT.Hist.TGraphBentErrors.Interface -instance (ITGraphBentErrors a, FPtr a) => Castable a- (Ptr RawTGraphBentErrors) where+instance (ITGraphBentErrors a, FPtr a) =>+ Castable (a) (Ptr RawTGraphBentErrors)+ where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TGraphBentErrors (Ptr RawTGraphBentErrors) where+instance () =>+ Castable (TGraphBentErrors) (Ptr RawTGraphBentErrors)+ where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TGraphBentErrors/FFI.hsc view
@@ -1,332 +1,345 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TGraphBentErrors.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TGraphBentErrors.RawType+import HROOT.Hist.TGraphBentErrors.RawType import HROOT.Hist.TF1.RawType import HROOT.Hist.TH1F.RawType import HROOT.Hist.TAxis.RawType import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_Apply" c_tgraphbenterrors_apply :: Ptr RawTGraphBentErrors -> Ptr RawTF1 -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_Chisquare" c_tgraphbenterrors_chisquare :: Ptr RawTGraphBentErrors -> Ptr RawTF1 -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_DrawGraph" c_tgraphbenterrors_drawgraph :: Ptr RawTGraphBentErrors ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_drawPanelTGraph" c_tgraphbenterrors_drawpaneltgraph :: Ptr RawTGraphBentErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_Expand" c_tgraphbenterrors_expand :: Ptr RawTGraphBentErrors -> CInt -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_FitPanelTGraph" c_tgraphbenterrors_fitpaneltgraph :: Ptr RawTGraphBentErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_getCorrelationFactorTGraph" c_tgraphbenterrors_getcorrelationfactortgraph :: Ptr RawTGraphBentErrors -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_getCovarianceTGraph" c_tgraphbenterrors_getcovariancetgraph :: Ptr RawTGraphBentErrors -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_getMeanTGraph" c_tgraphbenterrors_getmeantgraph :: Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_getRMSTGraph" c_tgraphbenterrors_getrmstgraph :: Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorX" c_tgraphbenterrors_geterrorx :: Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorY" c_tgraphbenterrors_geterrory :: Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorXhigh" c_tgraphbenterrors_geterrorxhigh :: Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorXlow" c_tgraphbenterrors_geterrorxlow :: Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorYhigh" c_tgraphbenterrors_geterroryhigh :: Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorYlow" c_tgraphbenterrors_geterrorylow :: Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_InitExpo" c_tgraphbenterrors_initexpo :: Ptr RawTGraphBentErrors -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_InitGaus" c_tgraphbenterrors_initgaus :: Ptr RawTGraphBentErrors -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_InitPolynom" c_tgraphbenterrors_initpolynom :: Ptr RawTGraphBentErrors -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_InsertPoint" c_tgraphbenterrors_insertpoint :: Ptr RawTGraphBentErrors -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_integralTGraph" c_tgraphbenterrors_integraltgraph :: Ptr RawTGraphBentErrors -> CInt -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_IsEditable"- c_tgraphbenterrors_iseditable :: Ptr RawTGraphBentErrors -> IO CInt+ c_tgraphbenterrors_iseditable ::+ Ptr RawTGraphBentErrors -> IO CBool -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_isInsideTGraph" c_tgraphbenterrors_isinsidetgraph :: Ptr RawTGraphBentErrors -> CDouble -> CDouble -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_LeastSquareFit" c_tgraphbenterrors_leastsquarefit :: Ptr RawTGraphBentErrors ->- CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO ()+ CInt -> Ptr CDouble -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_PaintStats" c_tgraphbenterrors_paintstats :: Ptr RawTGraphBentErrors -> Ptr RawTF1 -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_RemovePoint" c_tgraphbenterrors_removepoint :: Ptr RawTGraphBentErrors -> CInt -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetEditable" c_tgraphbenterrors_seteditable ::- Ptr RawTGraphBentErrors -> CInt -> IO ()+ Ptr RawTGraphBentErrors -> CBool -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetHistogram" c_tgraphbenterrors_sethistogram :: Ptr RawTGraphBentErrors -> Ptr RawTH1F -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_setMaximumTGraph" c_tgraphbenterrors_setmaximumtgraph :: Ptr RawTGraphBentErrors -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_setMinimumTGraph" c_tgraphbenterrors_setminimumtgraph :: Ptr RawTGraphBentErrors -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_Set" c_tgraphbenterrors_set :: Ptr RawTGraphBentErrors -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetPoint" c_tgraphbenterrors_setpoint :: Ptr RawTGraphBentErrors -> CInt -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetName" c_tgraphbenterrors_setname :: Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetNameTitle" c_tgraphbenterrors_setnametitle :: Ptr RawTGraphBentErrors -> CString -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetTitle" c_tgraphbenterrors_settitle :: Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetLineColor" c_tgraphbenterrors_getlinecolor ::- Ptr RawTGraphBentErrors -> IO CInt+ Ptr RawTGraphBentErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetLineStyle" c_tgraphbenterrors_getlinestyle ::- Ptr RawTGraphBentErrors -> IO CInt+ Ptr RawTGraphBentErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetLineWidth" c_tgraphbenterrors_getlinewidth ::- Ptr RawTGraphBentErrors -> IO CInt+ Ptr RawTGraphBentErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_ResetAttLine" c_tgraphbenterrors_resetattline :: Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetLineAttributes" c_tgraphbenterrors_setlineattributes :: Ptr RawTGraphBentErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetLineColor" c_tgraphbenterrors_setlinecolor ::- Ptr RawTGraphBentErrors -> CInt -> IO ()+ Ptr RawTGraphBentErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetLineStyle" c_tgraphbenterrors_setlinestyle ::- Ptr RawTGraphBentErrors -> CInt -> IO ()+ Ptr RawTGraphBentErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetLineWidth" c_tgraphbenterrors_setlinewidth ::- Ptr RawTGraphBentErrors -> CInt -> IO ()+ Ptr RawTGraphBentErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetFillColor" c_tgraphbenterrors_setfillcolor :: Ptr RawTGraphBentErrors -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetFillStyle" c_tgraphbenterrors_setfillstyle :: Ptr RawTGraphBentErrors -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetMarkerColor" c_tgraphbenterrors_getmarkercolor ::- Ptr RawTGraphBentErrors -> IO CInt+ Ptr RawTGraphBentErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetMarkerStyle" c_tgraphbenterrors_getmarkerstyle ::- Ptr RawTGraphBentErrors -> IO CInt+ Ptr RawTGraphBentErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetMarkerSize" c_tgraphbenterrors_getmarkersize ::- Ptr RawTGraphBentErrors -> IO CDouble+ Ptr RawTGraphBentErrors -> IO CFloat -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_ResetAttMarker" c_tgraphbenterrors_resetattmarker :: Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetMarkerAttributes" c_tgraphbenterrors_setmarkerattributes :: Ptr RawTGraphBentErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetMarkerColor" c_tgraphbenterrors_setmarkercolor ::- Ptr RawTGraphBentErrors -> CInt -> IO ()+ Ptr RawTGraphBentErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetMarkerStyle" c_tgraphbenterrors_setmarkerstyle ::- Ptr RawTGraphBentErrors -> CInt -> IO ()+ Ptr RawTGraphBentErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetMarkerSize" c_tgraphbenterrors_setmarkersize ::- Ptr RawTGraphBentErrors -> CInt -> IO ()+ Ptr RawTGraphBentErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible+ "HROOTHistTGraphBentErrors.h TGraphBentErrors_Clear"+ c_tgraphbenterrors_clear ::+ Ptr RawTGraphBentErrors -> CString -> IO ()++foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_Draw" c_tgraphbenterrors_draw :: Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_FindObject" c_tgraphbenterrors_findobject :: Ptr RawTGraphBentErrors -> CString -> IO (Ptr RawTObject) -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetName" c_tgraphbenterrors_getname :: Ptr RawTGraphBentErrors -> IO CString -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_IsA" c_tgraphbenterrors_isa :: Ptr RawTGraphBentErrors -> IO (Ptr RawTClass) -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_Paint" c_tgraphbenterrors_paint :: Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_printObj" c_tgraphbenterrors_printobj :: Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_SaveAs" c_tgraphbenterrors_saveas :: Ptr RawTGraphBentErrors -> CString -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_Write" c_tgraphbenterrors_write :: Ptr RawTGraphBentErrors -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe+foreign import ccall interruptible+ "HROOTHistTGraphBentErrors.h TGraphBentErrors_Write_"+ c_tgraphbenterrors_write_ :: Ptr RawTGraphBentErrors -> IO CInt++foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_delete" c_tgraphbenterrors_delete :: Ptr RawTGraphBentErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphBentErrors.h TGraphBentErrors_newTGraphBentErrors" c_tgraphbenterrors_newtgraphbenterrors :: CInt ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphBentErrors)+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble -> Ptr CDouble -> IO (Ptr RawTGraphBentErrors)
src/HROOT/Hist/TGraphBentErrors/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TGraphBentErrors.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TGraphBentErrors.RawType import HROOT.Hist.TGraphBentErrors.FFI import HROOT.Hist.TGraphBentErrors.Interface import HROOT.Hist.TGraphBentErrors.Cast+import HROOT.Hist.TGraphBentErrors.RawType+import HROOT.Hist.TGraphBentErrors.Cast+import HROOT.Hist.TGraphBentErrors.Interface import HROOT.Hist.TF1.RawType import HROOT.Hist.TF1.Cast import HROOT.Hist.TF1.Interface@@ -42,13 +51,13 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface -instance ITGraphBentErrors TGraphBentErrors+instance () => ITGraphBentErrors (TGraphBentErrors) where -instance ITGraph TGraphBentErrors where+instance () => ITGraph (TGraphBentErrors) where apply = xform1 c_tgraphbenterrors_apply chisquare = xform1 c_tgraphbenterrors_chisquare drawGraph = xform4 c_tgraphbenterrors_drawgraph@@ -83,12 +92,12 @@ set = xform1 c_tgraphbenterrors_set setPoint = xform3 c_tgraphbenterrors_setpoint -instance ITNamed TGraphBentErrors where+instance () => ITNamed (TGraphBentErrors) where setName = xform1 c_tgraphbenterrors_setname setNameTitle = xform2 c_tgraphbenterrors_setnametitle setTitle = xform1 c_tgraphbenterrors_settitle -instance ITAttLine TGraphBentErrors where+instance () => ITAttLine (TGraphBentErrors) where getLineColor = xform0 c_tgraphbenterrors_getlinecolor getLineStyle = xform0 c_tgraphbenterrors_getlinestyle getLineWidth = xform0 c_tgraphbenterrors_getlinewidth@@ -98,11 +107,11 @@ setLineStyle = xform1 c_tgraphbenterrors_setlinestyle setLineWidth = xform1 c_tgraphbenterrors_setlinewidth -instance ITAttFill TGraphBentErrors where+instance () => ITAttFill (TGraphBentErrors) where setFillColor = xform1 c_tgraphbenterrors_setfillcolor setFillStyle = xform1 c_tgraphbenterrors_setfillstyle -instance ITAttMarker TGraphBentErrors where+instance () => ITAttMarker (TGraphBentErrors) where getMarkerColor = xform0 c_tgraphbenterrors_getmarkercolor getMarkerStyle = xform0 c_tgraphbenterrors_getmarkerstyle getMarkerSize = xform0 c_tgraphbenterrors_getmarkersize@@ -112,7 +121,8 @@ setMarkerStyle = xform1 c_tgraphbenterrors_setmarkerstyle setMarkerSize = xform1 c_tgraphbenterrors_setmarkersize -instance ITObject TGraphBentErrors where+instance () => ITObject (TGraphBentErrors) where+ clear = xform1 c_tgraphbenterrors_clear draw = xform1 c_tgraphbenterrors_draw findObject = xform1 c_tgraphbenterrors_findobject getName = xform0 c_tgraphbenterrors_getname@@ -121,20 +131,22 @@ printObj = xform1 c_tgraphbenterrors_printobj saveAs = xform2 c_tgraphbenterrors_saveas write = xform3 c_tgraphbenterrors_write+ write_ = xform0 c_tgraphbenterrors_write_ -instance IDeletable TGraphBentErrors where+instance () => IDeletable (TGraphBentErrors) where delete = xform0 c_tgraphbenterrors_delete newTGraphBentErrors ::+ () => CInt ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) -> (Ptr CDouble) -> IO TGraphBentErrors+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble -> Ptr CDouble -> IO TGraphBentErrors newTGraphBentErrors = xform10 c_tgraphbenterrors_newtgraphbenterrors
src/HROOT/Hist/TGraphBentErrors/Interface.hs view
@@ -4,13 +4,14 @@ TypeSynonymInstances #-} module HROOT.Hist.TGraphBentErrors.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import HROOT.Hist.TGraphBentErrors.RawType import HROOT.Hist.TGraph.Interface -class ITGraph a => ITGraphBentErrors a+class (ITGraph a) => ITGraphBentErrors a where upcastTGraphBentErrors :: forall a . (FPtr a, ITGraphBentErrors a) => a -> TGraphBentErrors
src/HROOT/Hist/TGraphBentErrors/RawType.hs view
@@ -9,9 +9,9 @@ newtype TGraphBentErrors = TGraphBentErrors (Ptr RawTGraphBentErrors)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TGraphBentErrors where+instance () => FPtr (TGraphBentErrors) where type Raw TGraphBentErrors = RawTGraphBentErrors get_fptr (TGraphBentErrors ptr) = ptr cast_fptr_to_obj = TGraphBentErrors
src/HROOT/Hist/TGraphErrors.hs view
@@ -1,5 +1,5 @@ module HROOT.Hist.TGraphErrors- (TGraphErrors(..), ITGraphErrors, upcastTGraphErrors,+ (TGraphErrors(..), ITGraphErrors(..), upcastTGraphErrors, downcastTGraphErrors, newTGraphErrors) where import HROOT.Hist.TGraphErrors.RawType
src/HROOT/Hist/TGraphErrors/Cast.hs view
@@ -8,11 +8,12 @@ import HROOT.Hist.TGraphErrors.RawType import HROOT.Hist.TGraphErrors.Interface -instance (ITGraphErrors a, FPtr a) => Castable a- (Ptr RawTGraphErrors) where+instance (ITGraphErrors a, FPtr a) =>+ Castable (a) (Ptr RawTGraphErrors)+ where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TGraphErrors (Ptr RawTGraphErrors) where+instance () => Castable (TGraphErrors) (Ptr RawTGraphErrors) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TGraphErrors/FFI.hsc view
@@ -1,299 +1,318 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TGraphErrors.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TGraphErrors.RawType+import HROOT.Hist.TGraphErrors.RawType import HROOT.Hist.TF1.RawType import HROOT.Hist.TH1F.RawType import HROOT.Hist.TAxis.RawType import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_Apply" c_tgrapherrors_apply :: Ptr RawTGraphErrors -> Ptr RawTF1 -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_Chisquare" c_tgrapherrors_chisquare :: Ptr RawTGraphErrors -> Ptr RawTF1 -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_DrawGraph" c_tgrapherrors_drawgraph :: Ptr RawTGraphErrors ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_drawPanelTGraph" c_tgrapherrors_drawpaneltgraph :: Ptr RawTGraphErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_Expand" c_tgrapherrors_expand :: Ptr RawTGraphErrors -> CInt -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_FitPanelTGraph" c_tgrapherrors_fitpaneltgraph :: Ptr RawTGraphErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_getCorrelationFactorTGraph" c_tgrapherrors_getcorrelationfactortgraph :: Ptr RawTGraphErrors -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_getCovarianceTGraph" c_tgrapherrors_getcovariancetgraph :: Ptr RawTGraphErrors -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_getMeanTGraph" c_tgrapherrors_getmeantgraph :: Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_getRMSTGraph" c_tgrapherrors_getrmstgraph :: Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_GetErrorX" c_tgrapherrors_geterrorx :: Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_GetErrorY" c_tgrapherrors_geterrory :: Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_GetErrorXhigh" c_tgrapherrors_geterrorxhigh :: Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_GetErrorXlow" c_tgrapherrors_geterrorxlow :: Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_GetErrorYhigh" c_tgrapherrors_geterroryhigh :: Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_GetErrorYlow" c_tgrapherrors_geterrorylow :: Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_InitExpo" c_tgrapherrors_initexpo :: Ptr RawTGraphErrors -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_InitGaus" c_tgrapherrors_initgaus :: Ptr RawTGraphErrors -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_InitPolynom" c_tgrapherrors_initpolynom :: Ptr RawTGraphErrors -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_InsertPoint" c_tgrapherrors_insertpoint :: Ptr RawTGraphErrors -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_integralTGraph" c_tgrapherrors_integraltgraph :: Ptr RawTGraphErrors -> CInt -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_IsEditable"- c_tgrapherrors_iseditable :: Ptr RawTGraphErrors -> IO CInt+ c_tgrapherrors_iseditable :: Ptr RawTGraphErrors -> IO CBool -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_isInsideTGraph" c_tgrapherrors_isinsidetgraph :: Ptr RawTGraphErrors -> CDouble -> CDouble -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_LeastSquareFit" c_tgrapherrors_leastsquarefit :: Ptr RawTGraphErrors ->- CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO ()+ CInt -> Ptr CDouble -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_PaintStats" c_tgrapherrors_paintstats :: Ptr RawTGraphErrors -> Ptr RawTF1 -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_RemovePoint" c_tgrapherrors_removepoint :: Ptr RawTGraphErrors -> CInt -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetEditable"- c_tgrapherrors_seteditable :: Ptr RawTGraphErrors -> CInt -> IO ()+ c_tgrapherrors_seteditable :: Ptr RawTGraphErrors -> CBool -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetHistogram" c_tgrapherrors_sethistogram :: Ptr RawTGraphErrors -> Ptr RawTH1F -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_setMaximumTGraph" c_tgrapherrors_setmaximumtgraph :: Ptr RawTGraphErrors -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_setMinimumTGraph" c_tgrapherrors_setminimumtgraph :: Ptr RawTGraphErrors -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_Set" c_tgrapherrors_set :: Ptr RawTGraphErrors -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetPoint" c_tgrapherrors_setpoint :: Ptr RawTGraphErrors -> CInt -> CDouble -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetName" c_tgrapherrors_setname :: Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetNameTitle" c_tgrapherrors_setnametitle :: Ptr RawTGraphErrors -> CString -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetTitle" c_tgrapherrors_settitle :: Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_GetLineColor"- c_tgrapherrors_getlinecolor :: Ptr RawTGraphErrors -> IO CInt+ c_tgrapherrors_getlinecolor :: Ptr RawTGraphErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_GetLineStyle"- c_tgrapherrors_getlinestyle :: Ptr RawTGraphErrors -> IO CInt+ c_tgrapherrors_getlinestyle :: Ptr RawTGraphErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_GetLineWidth"- c_tgrapherrors_getlinewidth :: Ptr RawTGraphErrors -> IO CInt+ c_tgrapherrors_getlinewidth :: Ptr RawTGraphErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_ResetAttLine" c_tgrapherrors_resetattline :: Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetLineAttributes" c_tgrapherrors_setlineattributes :: Ptr RawTGraphErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetLineColor"- c_tgrapherrors_setlinecolor :: Ptr RawTGraphErrors -> CInt -> IO ()+ c_tgrapherrors_setlinecolor ::+ Ptr RawTGraphErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetLineStyle"- c_tgrapherrors_setlinestyle :: Ptr RawTGraphErrors -> CInt -> IO ()+ c_tgrapherrors_setlinestyle ::+ Ptr RawTGraphErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetLineWidth"- c_tgrapherrors_setlinewidth :: Ptr RawTGraphErrors -> CInt -> IO ()+ c_tgrapherrors_setlinewidth ::+ Ptr RawTGraphErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetFillColor" c_tgrapherrors_setfillcolor :: Ptr RawTGraphErrors -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetFillStyle" c_tgrapherrors_setfillstyle :: Ptr RawTGraphErrors -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_GetMarkerColor"- c_tgrapherrors_getmarkercolor :: Ptr RawTGraphErrors -> IO CInt+ c_tgrapherrors_getmarkercolor :: Ptr RawTGraphErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_GetMarkerStyle"- c_tgrapherrors_getmarkerstyle :: Ptr RawTGraphErrors -> IO CInt+ c_tgrapherrors_getmarkerstyle :: Ptr RawTGraphErrors -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_GetMarkerSize"- c_tgrapherrors_getmarkersize :: Ptr RawTGraphErrors -> IO CDouble+ c_tgrapherrors_getmarkersize :: Ptr RawTGraphErrors -> IO CFloat -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_ResetAttMarker" c_tgrapherrors_resetattmarker :: Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetMarkerAttributes" c_tgrapherrors_setmarkerattributes :: Ptr RawTGraphErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetMarkerColor" c_tgrapherrors_setmarkercolor ::- Ptr RawTGraphErrors -> CInt -> IO ()+ Ptr RawTGraphErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetMarkerStyle" c_tgrapherrors_setmarkerstyle ::- Ptr RawTGraphErrors -> CInt -> IO ()+ Ptr RawTGraphErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SetMarkerSize" c_tgrapherrors_setmarkersize ::- Ptr RawTGraphErrors -> CInt -> IO ()+ Ptr RawTGraphErrors -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible+ "HROOTHistTGraphErrors.h TGraphErrors_Clear" c_tgrapherrors_clear+ :: Ptr RawTGraphErrors -> CString -> IO ()++foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_Draw" c_tgrapherrors_draw :: Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_FindObject" c_tgrapherrors_findobject :: Ptr RawTGraphErrors -> CString -> IO (Ptr RawTObject) -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_GetName" c_tgrapherrors_getname :: Ptr RawTGraphErrors -> IO CString -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_IsA" c_tgrapherrors_isa :: Ptr RawTGraphErrors -> IO (Ptr RawTClass) -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_Paint" c_tgrapherrors_paint :: Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_printObj" c_tgrapherrors_printobj :: Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_SaveAs" c_tgrapherrors_saveas :: Ptr RawTGraphErrors -> CString -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_Write" c_tgrapherrors_write :: Ptr RawTGraphErrors -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe+foreign import ccall interruptible+ "HROOTHistTGraphErrors.h TGraphErrors_Write_" c_tgrapherrors_write_+ :: Ptr RawTGraphErrors -> IO CInt++foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_delete" c_tgrapherrors_delete :: Ptr RawTGraphErrors -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTGraphErrors.h TGraphErrors_newTGraphErrors" c_tgrapherrors_newtgrapherrors :: CInt ->- (Ptr CDouble) ->- (Ptr CDouble) ->- (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphErrors)+ Ptr CDouble ->+ Ptr CDouble ->+ Ptr CDouble -> Ptr CDouble -> IO (Ptr RawTGraphErrors)++foreign import ccall interruptible+ "HROOTHistTGraphErrors.h TGraphErrors_SetPointError"+ c_tgrapherrors_setpointerror ::+ Ptr RawTGraphErrors -> CInt -> CDouble -> CDouble -> IO ()
src/HROOT/Hist/TGraphErrors/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TGraphErrors.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TGraphErrors.RawType import HROOT.Hist.TGraphErrors.FFI import HROOT.Hist.TGraphErrors.Interface import HROOT.Hist.TGraphErrors.Cast+import HROOT.Hist.TGraphErrors.RawType+import HROOT.Hist.TGraphErrors.Cast+import HROOT.Hist.TGraphErrors.Interface import HROOT.Hist.TF1.RawType import HROOT.Hist.TF1.Cast import HROOT.Hist.TF1.Interface@@ -42,13 +51,14 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface -instance ITGraphErrors TGraphErrors+instance () => ITGraphErrors (TGraphErrors) where+ setPointError = xform3 c_tgrapherrors_setpointerror -instance ITGraph TGraphErrors where+instance () => ITGraph (TGraphErrors) where apply = xform1 c_tgrapherrors_apply chisquare = xform1 c_tgrapherrors_chisquare drawGraph = xform4 c_tgrapherrors_drawgraph@@ -83,12 +93,12 @@ set = xform1 c_tgrapherrors_set setPoint = xform3 c_tgrapherrors_setpoint -instance ITNamed TGraphErrors where+instance () => ITNamed (TGraphErrors) where setName = xform1 c_tgrapherrors_setname setNameTitle = xform2 c_tgrapherrors_setnametitle setTitle = xform1 c_tgrapherrors_settitle -instance ITAttLine TGraphErrors where+instance () => ITAttLine (TGraphErrors) where getLineColor = xform0 c_tgrapherrors_getlinecolor getLineStyle = xform0 c_tgrapherrors_getlinestyle getLineWidth = xform0 c_tgrapherrors_getlinewidth@@ -98,11 +108,11 @@ setLineStyle = xform1 c_tgrapherrors_setlinestyle setLineWidth = xform1 c_tgrapherrors_setlinewidth -instance ITAttFill TGraphErrors where+instance () => ITAttFill (TGraphErrors) where setFillColor = xform1 c_tgrapherrors_setfillcolor setFillStyle = xform1 c_tgrapherrors_setfillstyle -instance ITAttMarker TGraphErrors where+instance () => ITAttMarker (TGraphErrors) where getMarkerColor = xform0 c_tgrapherrors_getmarkercolor getMarkerStyle = xform0 c_tgrapherrors_getmarkerstyle getMarkerSize = xform0 c_tgrapherrors_getmarkersize@@ -112,7 +122,8 @@ setMarkerStyle = xform1 c_tgrapherrors_setmarkerstyle setMarkerSize = xform1 c_tgrapherrors_setmarkersize -instance ITObject TGraphErrors where+instance () => ITObject (TGraphErrors) where+ clear = xform1 c_tgrapherrors_clear draw = xform1 c_tgrapherrors_draw findObject = xform1 c_tgrapherrors_findobject getName = xform0 c_tgrapherrors_getname@@ -121,12 +132,14 @@ printObj = xform1 c_tgrapherrors_printobj saveAs = xform2 c_tgrapherrors_saveas write = xform3 c_tgrapherrors_write+ write_ = xform0 c_tgrapherrors_write_ -instance IDeletable TGraphErrors where+instance () => IDeletable (TGraphErrors) where delete = xform0 c_tgrapherrors_delete newTGraphErrors ::+ () => CInt ->- (Ptr CDouble) ->- (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO TGraphErrors+ Ptr CDouble ->+ Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> IO TGraphErrors newTGraphErrors = xform4 c_tgrapherrors_newtgrapherrors
src/HROOT/Hist/TGraphErrors/Interface.hs view
@@ -4,13 +4,15 @@ TypeSynonymInstances #-} module HROOT.Hist.TGraphErrors.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import HROOT.Hist.TGraphErrors.RawType import HROOT.Hist.TGraph.Interface -class ITGraph a => ITGraphErrors a+class (ITGraph a) => ITGraphErrors a where+ setPointError :: () => a -> CInt -> CDouble -> CDouble -> IO () upcastTGraphErrors :: forall a . (FPtr a, ITGraphErrors a) => a -> TGraphErrors
src/HROOT/Hist/TGraphErrors/RawType.hs view
@@ -8,9 +8,9 @@ data RawTGraphErrors newtype TGraphErrors = TGraphErrors (Ptr RawTGraphErrors)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TGraphErrors where+instance () => FPtr (TGraphErrors) where type Raw TGraphErrors = RawTGraphErrors get_fptr (TGraphErrors ptr) = ptr cast_fptr_to_obj = TGraphErrors
+ src/HROOT/Hist/TH.hs view
@@ -0,0 +1,12 @@+{-# LANGUAGE FlexibleContexts, FlexibleInstances,+ ForeignFunctionInterface, InterruptibleFFI, TemplateHaskell #-}+module HROOT.Hist.TH () where+import Data.Char+import Data.List+import Data.Monoid+import Foreign.C.Types+import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH
src/HROOT/Hist/TH1.hs view
@@ -1,10 +1,10 @@ module HROOT.Hist.TH1- (TH1(..), ITH1(..), upcastTH1, downcastTH1, tH1GetAsymmetry,- tH1GetBufferLength, tH1GetBufferSize, tH1GetDirectory,- tH1IsBinOverflow, tH1IsBinUnderflow, tH1UseCurrentStyle,- tH1GetDefaultBufferSize, tH1GetDefaultSumw2,- tH1SetDefaultBufferSize, tH1SetDefaultSumw2, tH1SmoothArray,- tH1StatOverflows)+ (TH1(..), ITH1(..), upcastTH1, downcastTH1, tH1_GetAsymmetry,+ tH1_GetBufferLength, tH1_GetBufferSize, tH1_GetDirectory,+ tH1_GetXaxis, tH1_GetYaxis, tH1_GetZaxis, tH1_IsBinOverflow,+ tH1_IsBinUnderflow, tH1_UseCurrentStyle, tH1_GetDefaultBufferSize,+ tH1_GetDefaultSumw2, tH1_SetDefaultBufferSize, tH1_SetDefaultSumw2,+ tH1_SmoothArray, tH1_StatOverflows) where import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.Interface
src/HROOT/Hist/TH1/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.Interface -instance (ITH1 a, FPtr a) => Castable a (Ptr RawTH1) where+instance (ITH1 a, FPtr a) => Castable (a) (Ptr RawTH1) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH1 (Ptr RawTH1) where+instance () => Castable (TH1) (Ptr RawTH1) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH1/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH1.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH1.RawType+import HROOT.Hist.TH1.RawType import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType import HROOT.Core.TDirectory.RawType@@ -10,559 +13,643 @@ import HROOT.Core.TArrayD.RawType import HROOT.Hist.TAxis.RawType -foreign import ccall safe "HROOTHistTH1.h TH1_SetName"+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetName" c_th1_setname :: Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetNameTitle"- c_th1_setnametitle :: Ptr RawTH1 -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetNameTitle" c_th1_setnametitle ::+ Ptr RawTH1 -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetTitle"+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetTitle" c_th1_settitle :: Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_GetLineColor"- c_th1_getlinecolor :: Ptr RawTH1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetLineColor" c_th1_getlinecolor ::+ Ptr RawTH1 -> IO CShort -foreign import ccall safe "HROOTHistTH1.h TH1_GetLineStyle"- c_th1_getlinestyle :: Ptr RawTH1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetLineStyle" c_th1_getlinestyle ::+ Ptr RawTH1 -> IO CShort -foreign import ccall safe "HROOTHistTH1.h TH1_GetLineWidth"- c_th1_getlinewidth :: Ptr RawTH1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetLineWidth" c_th1_getlinewidth ::+ Ptr RawTH1 -> IO CShort -foreign import ccall safe "HROOTHistTH1.h TH1_ResetAttLine"- c_th1_resetattline :: Ptr RawTH1 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_ResetAttLine" c_th1_resetattline ::+ Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetLineAttributes"- c_th1_setlineattributes :: Ptr RawTH1 -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetLineAttributes" c_th1_setlineattributes ::+ Ptr RawTH1 -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetLineColor"- c_th1_setlinecolor :: Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetLineColor" c_th1_setlinecolor ::+ Ptr RawTH1 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetLineStyle"- c_th1_setlinestyle :: Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetLineStyle" c_th1_setlinestyle ::+ Ptr RawTH1 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetLineWidth"- c_th1_setlinewidth :: Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetLineWidth" c_th1_setlinewidth ::+ Ptr RawTH1 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetFillColor"- c_th1_setfillcolor :: Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetFillColor" c_th1_setfillcolor ::+ Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetFillStyle"- c_th1_setfillstyle :: Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetFillStyle" c_th1_setfillstyle ::+ Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_GetMarkerColor"- c_th1_getmarkercolor :: Ptr RawTH1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetMarkerColor" c_th1_getmarkercolor ::+ Ptr RawTH1 -> IO CShort -foreign import ccall safe "HROOTHistTH1.h TH1_GetMarkerStyle"- c_th1_getmarkerstyle :: Ptr RawTH1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetMarkerStyle" c_th1_getmarkerstyle ::+ Ptr RawTH1 -> IO CShort -foreign import ccall safe "HROOTHistTH1.h TH1_GetMarkerSize"- c_th1_getmarkersize :: Ptr RawTH1 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetMarkerSize" c_th1_getmarkersize ::+ Ptr RawTH1 -> IO CFloat -foreign import ccall safe "HROOTHistTH1.h TH1_ResetAttMarker"- c_th1_resetattmarker :: Ptr RawTH1 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_ResetAttMarker" c_th1_resetattmarker ::+ Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetMarkerAttributes"- c_th1_setmarkerattributes :: Ptr RawTH1 -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetMarkerAttributes" c_th1_setmarkerattributes+ :: Ptr RawTH1 -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetMarkerColor"- c_th1_setmarkercolor :: Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetMarkerColor" c_th1_setmarkercolor ::+ Ptr RawTH1 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetMarkerStyle"- c_th1_setmarkerstyle :: Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetMarkerStyle" c_th1_setmarkerstyle ::+ Ptr RawTH1 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetMarkerSize"- c_th1_setmarkersize :: Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetMarkerSize" c_th1_setmarkersize ::+ Ptr RawTH1 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_Draw" c_th1_draw ::- Ptr RawTH1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_Clear"+ c_th1_clear :: Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_FindObject"+foreign import ccall interruptible "HROOTHistTH1.h TH1_Draw"+ c_th1_draw :: Ptr RawTH1 -> CString -> IO ()++foreign import ccall interruptible "HROOTHistTH1.h TH1_FindObject" c_th1_findobject :: Ptr RawTH1 -> CString -> IO (Ptr RawTObject) -foreign import ccall safe "HROOTHistTH1.h TH1_GetName"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetName" c_th1_getname :: Ptr RawTH1 -> IO CString -foreign import ccall safe "HROOTHistTH1.h TH1_IsA" c_th1_isa ::- Ptr RawTH1 -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH1.h TH1_IsA"+ c_th1_isa :: Ptr RawTH1 -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH1.h TH1_Paint" c_th1_paint ::- Ptr RawTH1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_Paint"+ c_th1_paint :: Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_printObj"+foreign import ccall interruptible "HROOTHistTH1.h TH1_printObj" c_th1_printobj :: Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SaveAs" c_th1_saveas- :: Ptr RawTH1 -> CString -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_SaveAs"+ c_th1_saveas :: Ptr RawTH1 -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_Write" c_th1_write ::- Ptr RawTH1 -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH1.h TH1_Write"+ c_th1_write :: Ptr RawTH1 -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_delete" c_th1_delete- :: Ptr RawTH1 -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_Write_"+ c_th1_write_ :: Ptr RawTH1 -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_Add" c_th1_add ::- Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_delete"+ c_th1_delete :: Ptr RawTH1 -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_AddBinContent"- c_th1_addbincontent :: Ptr RawTH1 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_Add"+ c_th1_add :: Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_Chi2Test"- c_th1_chi2test ::- Ptr RawTH1 -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_AddBinContent" c_th1_addbincontent ::+ Ptr RawTH1 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_ComputeIntegral"- c_th1_computeintegral :: Ptr RawTH1 -> IO CDouble+foreign import ccall interruptible "HROOTHistTH1.h TH1_Chi2Test"+ c_th1_chi2test ::+ Ptr RawTH1 -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_DirectoryAutoAdd"- c_th1_directoryautoadd :: Ptr RawTH1 -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_DirectoryAutoAdd" c_th1_directoryautoadd ::+ Ptr RawTH1 -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_Divide" c_th1_divide- ::+foreign import ccall interruptible "HROOTHistTH1.h TH1_Divide"+ c_th1_divide :: Ptr RawTH1 -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_drawCopyTH1"+foreign import ccall interruptible "HROOTHistTH1.h TH1_drawCopyTH1" c_th1_drawcopyth1 :: Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1.h TH1_DrawNormalized"- c_th1_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_DrawNormalized" c_th1_drawnormalized :: Ptr RawTH1 -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1.h TH1_drawPanelTH1"- c_th1_drawpanelth1 :: Ptr RawTH1 -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_drawPanelTH1" c_th1_drawpanelth1 ::+ Ptr RawTH1 -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_BufferEmpty"+foreign import ccall interruptible "HROOTHistTH1.h TH1_BufferEmpty" c_th1_bufferempty :: Ptr RawTH1 -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_evalF" c_th1_evalf ::- Ptr RawTH1 -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_evalF"+ c_th1_evalf :: Ptr RawTH1 -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_FFT" c_th1_fft ::- Ptr RawTH1 -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH1.h TH1_FFT"+ c_th1_fft :: Ptr RawTH1 -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1.h TH1_fill1" c_th1_fill1 ::- Ptr RawTH1 -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH1.h TH1_fill1"+ c_th1_fill1 :: Ptr RawTH1 -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_fill1w" c_th1_fill1w- :: Ptr RawTH1 -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH1.h TH1_fill1w"+ c_th1_fill1w :: Ptr RawTH1 -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_fillN1" c_th1_filln1- ::- Ptr RawTH1 ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_fillN1"+ c_th1_filln1 ::+ Ptr RawTH1 -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_FillRandom"+foreign import ccall interruptible "HROOTHistTH1.h TH1_FillRandom" c_th1_fillrandom :: Ptr RawTH1 -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_FindBin"+foreign import ccall interruptible "HROOTHistTH1.h TH1_FindBin" c_th1_findbin :: Ptr RawTH1 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_FindFixBin"+foreign import ccall interruptible "HROOTHistTH1.h TH1_FindFixBin" c_th1_findfixbin :: Ptr RawTH1 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_FindFirstBinAbove"- c_th1_findfirstbinabove :: Ptr RawTH1 -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_FindFirstBinAbove" c_th1_findfirstbinabove ::+ Ptr RawTH1 -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_FindLastBinAbove"- c_th1_findlastbinabove :: Ptr RawTH1 -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_FindLastBinAbove" c_th1_findlastbinabove ::+ Ptr RawTH1 -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_Fit" c_th1_fit ::+foreign import ccall interruptible "HROOTHistTH1.h TH1_Fit"+ c_th1_fit :: Ptr RawTH1 -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_FitPanelTH1"+foreign import ccall interruptible "HROOTHistTH1.h TH1_FitPanelTH1" c_th1_fitpanelth1 :: Ptr RawTH1 -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_tH1GetAsymmetry"- c_th1_th1getasymmetry ::+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_GetAsymmetry" c_th1_th1_getasymmetry :: Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1.h TH1_tH1GetBufferLength"- c_th1_th1getbufferlength :: Ptr RawTH1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_GetBufferLength" c_th1_th1_getbufferlength+ :: Ptr RawTH1 -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_tH1GetBufferSize"- c_th1_th1getbuffersize :: Ptr RawTH1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_GetBufferSize" c_th1_th1_getbuffersize ::+ Ptr RawTH1 -> IO CInt -foreign import ccall safe- "HROOTHistTH1.h TH1_tH1GetDefaultBufferSize"- c_th1_th1getdefaultbuffersize :: IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_GetDefaultBufferSize"+ c_th1_th1_getdefaultbuffersize :: IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_getNdivisionA"- c_th1_getndivisiona :: Ptr RawTH1 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_getNdivisionA" c_th1_getndivisiona ::+ Ptr RawTH1 -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_getAxisColorA"- c_th1_getaxiscolora :: Ptr RawTH1 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_getAxisColorA" c_th1_getaxiscolora ::+ Ptr RawTH1 -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1.h TH1_getLabelColorA"- c_th1_getlabelcolora :: Ptr RawTH1 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_getLabelColorA" c_th1_getlabelcolora ::+ Ptr RawTH1 -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1.h TH1_getLabelFontA"- c_th1_getlabelfonta :: Ptr RawTH1 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_getLabelFontA" c_th1_getlabelfonta ::+ Ptr RawTH1 -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1.h TH1_getLabelOffsetA"- c_th1_getlabeloffseta :: Ptr RawTH1 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_getLabelOffsetA" c_th1_getlabeloffseta ::+ Ptr RawTH1 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1.h TH1_getLabelSizeA"- c_th1_getlabelsizea :: Ptr RawTH1 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_getLabelSizeA" c_th1_getlabelsizea ::+ Ptr RawTH1 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1.h TH1_getTitleFontA"- c_th1_gettitlefonta :: Ptr RawTH1 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_getTitleFontA" c_th1_gettitlefonta ::+ Ptr RawTH1 -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1.h TH1_getTitleOffsetA"- c_th1_gettitleoffseta :: Ptr RawTH1 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_getTitleOffsetA" c_th1_gettitleoffseta ::+ Ptr RawTH1 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1.h TH1_getTitleSizeA"- c_th1_gettitlesizea :: Ptr RawTH1 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_getTitleSizeA" c_th1_gettitlesizea ::+ Ptr RawTH1 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1.h TH1_getTickLengthA"- c_th1_getticklengtha :: Ptr RawTH1 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_getTickLengthA" c_th1_getticklengtha ::+ Ptr RawTH1 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1.h TH1_GetBarOffset"- c_th1_getbaroffset :: Ptr RawTH1 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetBarOffset" c_th1_getbaroffset ::+ Ptr RawTH1 -> IO CFloat -foreign import ccall safe "HROOTHistTH1.h TH1_GetBarWidth"- c_th1_getbarwidth :: Ptr RawTH1 -> IO CDouble+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetBarWidth"+ c_th1_getbarwidth :: Ptr RawTH1 -> IO CFloat -foreign import ccall safe "HROOTHistTH1.h TH1_GetContour"- c_th1_getcontour :: Ptr RawTH1 -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetContour"+ c_th1_getcontour :: Ptr RawTH1 -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_GetContourLevel"- c_th1_getcontourlevel :: Ptr RawTH1 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetContourLevel" c_th1_getcontourlevel ::+ Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetContourLevelPad"- c_th1_getcontourlevelpad :: Ptr RawTH1 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetContourLevelPad" c_th1_getcontourlevelpad ::+ Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetBin" c_th1_getbin- :: Ptr RawTH1 -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetBin"+ c_th1_getbin :: Ptr RawTH1 -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_GetBinCenter"- c_th1_getbincenter :: Ptr RawTH1 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetBinCenter" c_th1_getbincenter ::+ Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetBinContent1"- c_th1_getbincontent1 :: Ptr RawTH1 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetBinContent1" c_th1_getbincontent1 ::+ Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetBinContent2"- c_th1_getbincontent2 :: Ptr RawTH1 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetBinContent2" c_th1_getbincontent2 ::+ Ptr RawTH1 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetBinContent3"- c_th1_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetBinContent3" c_th1_getbincontent3 :: Ptr RawTH1 -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetBinError1"- c_th1_getbinerror1 :: Ptr RawTH1 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetBinError1" c_th1_getbinerror1 ::+ Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetBinError2"- c_th1_getbinerror2 :: Ptr RawTH1 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetBinError2" c_th1_getbinerror2 ::+ Ptr RawTH1 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetBinError3"- c_th1_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetBinError3" c_th1_getbinerror3 :: Ptr RawTH1 -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetBinLowEdge"- c_th1_getbinlowedge :: Ptr RawTH1 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetBinLowEdge" c_th1_getbinlowedge ::+ Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetBinWidth"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetBinWidth" c_th1_getbinwidth :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetCellContent"- c_th1_getcellcontent :: Ptr RawTH1 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetCellContent" c_th1_getcellcontent ::+ Ptr RawTH1 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetCellError"- c_th1_getcellerror :: Ptr RawTH1 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetCellError" c_th1_getcellerror ::+ Ptr RawTH1 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_tH1GetDefaultSumw2"- c_th1_th1getdefaultsumw2 :: IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_GetDefaultSumw2" c_th1_th1_getdefaultsumw2+ :: IO CBool -foreign import ccall safe "HROOTHistTH1.h TH1_tH1GetDirectory"- c_th1_th1getdirectory :: Ptr RawTH1 -> IO (Ptr RawTDirectory)+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_GetDirectory" c_th1_th1_getdirectory ::+ Ptr RawTH1 -> IO (Ptr RawTDirectory) -foreign import ccall safe "HROOTHistTH1.h TH1_GetEntries"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetEntries" c_th1_getentries :: Ptr RawTH1 -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetEffectiveEntries"- c_th1_geteffectiveentries :: Ptr RawTH1 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetEffectiveEntries" c_th1_geteffectiveentries+ :: Ptr RawTH1 -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetFunction"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetFunction" c_th1_getfunction :: Ptr RawTH1 -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH1.h TH1_GetDimension"- c_th1_getdimension :: Ptr RawTH1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetDimension" c_th1_getdimension ::+ Ptr RawTH1 -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_GetKurtosis"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetKurtosis" c_th1_getkurtosis :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetLowEdge"- c_th1_getlowedge :: Ptr RawTH1 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetLowEdge"+ c_th1_getlowedge :: Ptr RawTH1 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_getMaximumTH1"- c_th1_getmaximumth1 :: Ptr RawTH1 -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_getMaximumTH1" c_th1_getmaximumth1 ::+ Ptr RawTH1 -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetMaximumBin"- c_th1_getmaximumbin :: Ptr RawTH1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetMaximumBin" c_th1_getmaximumbin ::+ Ptr RawTH1 -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_GetMaximumStored"- c_th1_getmaximumstored :: Ptr RawTH1 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetMaximumStored" c_th1_getmaximumstored ::+ Ptr RawTH1 -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_getMinimumTH1"- c_th1_getminimumth1 :: Ptr RawTH1 -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_getMinimumTH1" c_th1_getminimumth1 ::+ Ptr RawTH1 -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetMinimumBin"- c_th1_getminimumbin :: Ptr RawTH1 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetMinimumBin" c_th1_getminimumbin ::+ Ptr RawTH1 -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_GetMinimumStored"- c_th1_getminimumstored :: Ptr RawTH1 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetMinimumStored" c_th1_getminimumstored ::+ Ptr RawTH1 -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetMean"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetMean" c_th1_getmean :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetMeanError"- c_th1_getmeanerror :: Ptr RawTH1 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetMeanError" c_th1_getmeanerror ::+ Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetNbinsX" c_th1_getnbinsx :: Ptr RawTH1 -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetNbinsY" c_th1_getnbinsy :: Ptr RawTH1 -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetNbinsZ" c_th1_getnbinsz :: Ptr RawTH1 -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_getQuantilesTH1"- c_th1_getquantilesth1 ::- Ptr RawTH1 -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_getQuantilesTH1" c_th1_getquantilesth1 ::+ Ptr RawTH1 -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_GetRandom"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetRandom" c_th1_getrandom :: Ptr RawTH1 -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetStats"- c_th1_getstats :: Ptr RawTH1 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetStats"+ c_th1_getstats :: Ptr RawTH1 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_GetSumOfWeights"- c_th1_getsumofweights :: Ptr RawTH1 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_GetSumOfWeights" c_th1_getsumofweights ::+ Ptr RawTH1 -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetSumw2"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetSumw2" c_th1_getsumw2 :: Ptr RawTH1 -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH1.h TH1_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetSumw2N" c_th1_getsumw2n :: Ptr RawTH1 -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_GetRMS" c_th1_getrms- :: Ptr RawTH1 -> CInt -> IO CDouble+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetRMS"+ c_th1_getrms :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetRMSError"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetRMSError" c_th1_getrmserror :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_GetSkewness"+foreign import ccall interruptible "HROOTHistTH1.h TH1_GetSkewness" c_th1_getskewness :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_integral1"- c_th1_integral1 ::- Ptr RawTH1 -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_GetXaxis" c_th1_th1_getxaxis ::+ Ptr RawTH1 -> IO (Ptr RawTAxis) -foreign import ccall safe "HROOTHistTH1.h TH1_interpolate1"- c_th1_interpolate1 :: Ptr RawTH1 -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_GetYaxis" c_th1_th1_getyaxis ::+ Ptr RawTH1 -> IO (Ptr RawTAxis) -foreign import ccall safe "HROOTHistTH1.h TH1_interpolate2"- c_th1_interpolate2 ::- Ptr RawTH1 -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_GetZaxis" c_th1_th1_getzaxis ::+ Ptr RawTH1 -> IO (Ptr RawTAxis) -foreign import ccall safe "HROOTHistTH1.h TH1_interpolate3"- c_th1_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_interpolate3" c_th1_interpolate3 :: Ptr RawTH1 -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_tH1IsBinOverflow"- c_th1_th1isbinoverflow :: Ptr RawTH1 -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_IsBinOverflow" c_th1_th1_isbinoverflow ::+ Ptr RawTH1 -> CInt -> IO CBool -foreign import ccall safe "HROOTHistTH1.h TH1_tH1IsBinUnderflow"- c_th1_th1isbinunderflow :: Ptr RawTH1 -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_IsBinUnderflow" c_th1_th1_isbinunderflow ::+ Ptr RawTH1 -> CInt -> IO CBool -foreign import ccall safe "HROOTHistTH1.h TH1_KolmogorovTest"- c_th1_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_KolmogorovTest" c_th1_kolmogorovtest :: Ptr RawTH1 -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH1.h TH1_LabelsDeflate"- c_th1_labelsdeflate :: Ptr RawTH1 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_LabelsDeflate" c_th1_labelsdeflate ::+ Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_LabelsInflate"- c_th1_labelsinflate :: Ptr RawTH1 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_LabelsInflate" c_th1_labelsinflate ::+ Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_LabelsOption"- c_th1_labelsoption :: Ptr RawTH1 -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_LabelsOption" c_th1_labelsoption ::+ Ptr RawTH1 -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_multiflyF"+foreign import ccall interruptible "HROOTHistTH1.h TH1_multiflyF" c_th1_multiflyf :: Ptr RawTH1 -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_Multiply"+foreign import ccall interruptible "HROOTHistTH1.h TH1_Multiply" c_th1_multiply :: Ptr RawTH1 -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_PutStats"- c_th1_putstats :: Ptr RawTH1 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_PutStats"+ c_th1_putstats :: Ptr RawTH1 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_Rebin" c_th1_rebin ::- Ptr RawTH1 -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH1.h TH1_Rebin"+ c_th1_rebin ::+ Ptr RawTH1 -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1.h TH1_RebinAxis"+foreign import ccall interruptible "HROOTHistTH1.h TH1_RebinAxis" c_th1_rebinaxis :: Ptr RawTH1 -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_Rebuild"+foreign import ccall interruptible "HROOTHistTH1.h TH1_Rebuild" c_th1_rebuild :: Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_RecursiveRemove"- c_th1_recursiveremove :: Ptr RawTH1 -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_RecursiveRemove" c_th1_recursiveremove ::+ Ptr RawTH1 -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_Reset" c_th1_reset ::- Ptr RawTH1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_Reset"+ c_th1_reset :: Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_ResetStats"+foreign import ccall interruptible "HROOTHistTH1.h TH1_ResetStats" c_th1_resetstats :: Ptr RawTH1 -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_Scale" c_th1_scale ::- Ptr RawTH1 -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_Scale"+ c_th1_scale :: Ptr RawTH1 -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setAxisColorA"- c_th1_setaxiscolora :: Ptr RawTH1 -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_setAxisColorA" c_th1_setaxiscolora ::+ Ptr RawTH1 -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetAxisRange"- c_th1_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetAxisRange" c_th1_setaxisrange :: Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetBarOffset"- c_th1_setbaroffset :: Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetBarOffset" c_th1_setbaroffset ::+ Ptr RawTH1 -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetBarWidth"- c_th1_setbarwidth :: Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetBarWidth"+ c_th1_setbarwidth :: Ptr RawTH1 -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setBinContent1"- c_th1_setbincontent1 :: Ptr RawTH1 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_setBinContent1" c_th1_setbincontent1 ::+ Ptr RawTH1 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setBinContent2"- c_th1_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_setBinContent2" c_th1_setbincontent2 :: Ptr RawTH1 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setBinContent3"- c_th1_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_setBinContent3" c_th1_setbincontent3 :: Ptr RawTH1 -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setBinError1"- c_th1_setbinerror1 :: Ptr RawTH1 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_setBinError1" c_th1_setbinerror1 ::+ Ptr RawTH1 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setBinError2"- c_th1_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_setBinError2" c_th1_setbinerror2 :: Ptr RawTH1 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setBinError3"- c_th1_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_setBinError3" c_th1_setbinerror3 :: Ptr RawTH1 -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setBins1"- c_th1_setbins1 :: Ptr RawTH1 -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_setBins1"+ c_th1_setbins1 :: Ptr RawTH1 -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setBins2"+foreign import ccall interruptible "HROOTHistTH1.h TH1_setBins2" c_th1_setbins2 ::- Ptr RawTH1 ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH1 -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setBins3"+foreign import ccall interruptible "HROOTHistTH1.h TH1_setBins3" c_th1_setbins3 :: Ptr RawTH1 -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetBinsLength"- c_th1_setbinslength :: Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetBinsLength" c_th1_setbinslength ::+ Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetBuffer"+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetBuffer" c_th1_setbuffer :: Ptr RawTH1 -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetCellContent"- c_th1_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetCellContent" c_th1_setcellcontent :: Ptr RawTH1 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetContent"- c_th1_setcontent :: Ptr RawTH1 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetContent"+ c_th1_setcontent :: Ptr RawTH1 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetContour"- c_th1_setcontour :: Ptr RawTH1 -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetContour"+ c_th1_setcontour :: Ptr RawTH1 -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetContourLevel"- c_th1_setcontourlevel :: Ptr RawTH1 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetContourLevel" c_th1_setcontourlevel ::+ Ptr RawTH1 -> CInt -> CDouble -> IO () -foreign import ccall safe- "HROOTHistTH1.h TH1_tH1SetDefaultBufferSize"- c_th1_th1setdefaultbuffersize :: CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_SetDefaultBufferSize"+ c_th1_th1_setdefaultbuffersize :: CInt -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_tH1SetDefaultSumw2"- c_th1_th1setdefaultsumw2 :: CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_SetDefaultSumw2" c_th1_th1_setdefaultsumw2+ :: CBool -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetDirectory"- c_th1_setdirectory :: Ptr RawTH1 -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetDirectory" c_th1_setdirectory ::+ Ptr RawTH1 -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetEntries"+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetEntries" c_th1_setentries :: Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetError"- c_th1_seterror :: Ptr RawTH1 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetError"+ c_th1_seterror :: Ptr RawTH1 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setLabelColorA"- c_th1_setlabelcolora :: Ptr RawTH1 -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_setLabelColorA" c_th1_setlabelcolora ::+ Ptr RawTH1 -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setLabelSizeA"- c_th1_setlabelsizea :: Ptr RawTH1 -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_setLabelSizeA" c_th1_setlabelsizea ::+ Ptr RawTH1 -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setLabelFontA"- c_th1_setlabelfonta :: Ptr RawTH1 -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_setLabelFontA" c_th1_setlabelfonta ::+ Ptr RawTH1 -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_setLabelOffsetA"- c_th1_setlabeloffseta :: Ptr RawTH1 -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_setLabelOffsetA" c_th1_setlabeloffseta ::+ Ptr RawTH1 -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetMaximum"+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetMaximum" c_th1_setmaximum :: Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetMinimum"+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetMinimum" c_th1_setminimum :: Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetNormFactor"- c_th1_setnormfactor :: Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_SetNormFactor" c_th1_setnormfactor ::+ Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetStats"- c_th1_setstats :: Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetStats"+ c_th1_setstats :: Ptr RawTH1 -> CBool -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetOption"+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetOption" c_th1_setoption :: Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetXTitle"+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetXTitle" c_th1_setxtitle :: Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetYTitle"+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetYTitle" c_th1_setytitle :: Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_SetZTitle"+foreign import ccall interruptible "HROOTHistTH1.h TH1_SetZTitle" c_th1_setztitle :: Ptr RawTH1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_ShowBackground"- c_th1_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_ShowBackground" c_th1_showbackground :: Ptr RawTH1 -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1.h TH1_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH1.h TH1_ShowPeaks" c_th1_showpeaks :: Ptr RawTH1 -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1.h TH1_Smooth" c_th1_smooth- :: Ptr RawTH1 -> CInt -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_Smooth"+ c_th1_smooth :: Ptr RawTH1 -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_tH1SmoothArray"- c_th1_th1smootharray :: CInt -> (Ptr CDouble) -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_SmoothArray" c_th1_th1_smootharray ::+ CInt -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_tH1StatOverflows"- c_th1_th1statoverflows :: CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_StatOverflows" c_th1_th1_statoverflows ::+ CBool -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_Sumw2" c_th1_sumw2 ::- Ptr RawTH1 -> IO ()+foreign import ccall interruptible "HROOTHistTH1.h TH1_Sumw2"+ c_th1_sumw2 :: Ptr RawTH1 -> IO () -foreign import ccall safe "HROOTHistTH1.h TH1_tH1UseCurrentStyle"- c_th1_th1usecurrentstyle :: Ptr RawTH1 -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1.h TH1_tH1_UseCurrentStyle" c_th1_th1_usecurrentstyle+ :: Ptr RawTH1 -> IO ()
src/HROOT/Hist/TH1/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH1.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.FFI import HROOT.Hist.TH1.Interface import HROOT.Hist.TH1.Cast+import HROOT.Hist.TH1.RawType+import HROOT.Hist.TH1.Cast+import HROOT.Hist.TH1.Interface import HROOT.Core.TClass.RawType import HROOT.Core.TClass.Cast import HROOT.Core.TClass.Interface@@ -42,15 +51,14 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface -instance ITH1 TH1 where+instance () => ITH1 (TH1) where add = xform2 c_th1_add addBinContent = xform2 c_th1_addbincontent chi2Test = xform3 c_th1_chi2test- computeIntegral = xform0 c_th1_computeintegral directoryAutoAdd = xform1 c_th1_directoryautoadd divide = xform5 c_th1_divide drawCopyTH1 = xform1 c_th1_drawcopyth1@@ -122,9 +130,6 @@ getRMS = xform1 c_th1_getrms getRMSError = xform1 c_th1_getrmserror getSkewness = xform1 c_th1_getskewness- integral1 = xform3 c_th1_integral1- interpolate1 = xform1 c_th1_interpolate1- interpolate2 = xform2 c_th1_interpolate2 interpolate3 = xform3 c_th1_interpolate3 kolmogorovTest = xform2 c_th1_kolmogorovtest labelsDeflate = xform1 c_th1_labelsdeflate@@ -179,12 +184,12 @@ smooth = xform2 c_th1_smooth sumw2 = xform0 c_th1_sumw2 -instance ITNamed TH1 where+instance () => ITNamed (TH1) where setName = xform1 c_th1_setname setNameTitle = xform2 c_th1_setnametitle setTitle = xform1 c_th1_settitle -instance ITAttLine TH1 where+instance () => ITAttLine (TH1) where getLineColor = xform0 c_th1_getlinecolor getLineStyle = xform0 c_th1_getlinestyle getLineWidth = xform0 c_th1_getlinewidth@@ -194,11 +199,11 @@ setLineStyle = xform1 c_th1_setlinestyle setLineWidth = xform1 c_th1_setlinewidth -instance ITAttFill TH1 where+instance () => ITAttFill (TH1) where setFillColor = xform1 c_th1_setfillcolor setFillStyle = xform1 c_th1_setfillstyle -instance ITAttMarker TH1 where+instance () => ITAttMarker (TH1) where getMarkerColor = xform0 c_th1_getmarkercolor getMarkerStyle = xform0 c_th1_getmarkerstyle getMarkerSize = xform0 c_th1_getmarkersize@@ -208,7 +213,8 @@ setMarkerStyle = xform1 c_th1_setmarkerstyle setMarkerSize = xform1 c_th1_setmarkersize -instance ITObject TH1 where+instance () => ITObject (TH1) where+ clear = xform1 c_th1_clear draw = xform1 c_th1_draw findObject = xform1 c_th1_findobject getName = xform0 c_th1_getname@@ -217,46 +223,56 @@ printObj = xform1 c_th1_printobj saveAs = xform2 c_th1_saveas write = xform3 c_th1_write+ write_ = xform0 c_th1_write_ -instance IDeletable TH1 where+instance () => IDeletable (TH1) where delete = xform0 c_th1_delete -tH1GetAsymmetry ::- (ITH1 c0, FPtr c0) => TH1 -> c0 -> CDouble -> CDouble -> IO TH1-tH1GetAsymmetry = xform3 c_th1_th1getasymmetry+tH1_GetAsymmetry ::+ (ITH1 c0, FPtr c0) => TH1 -> c0 -> CDouble -> CDouble -> IO TH1+tH1_GetAsymmetry = xform3 c_th1_th1_getasymmetry -tH1GetBufferLength :: TH1 -> IO CInt-tH1GetBufferLength = xform0 c_th1_th1getbufferlength+tH1_GetBufferLength :: () => TH1 -> IO CInt+tH1_GetBufferLength = xform0 c_th1_th1_getbufferlength -tH1GetBufferSize :: TH1 -> IO CInt-tH1GetBufferSize = xform0 c_th1_th1getbuffersize+tH1_GetBufferSize :: () => TH1 -> IO CInt+tH1_GetBufferSize = xform0 c_th1_th1_getbuffersize -tH1GetDirectory :: TH1 -> IO TDirectory-tH1GetDirectory = xform0 c_th1_th1getdirectory+tH1_GetDirectory :: () => TH1 -> IO TDirectory+tH1_GetDirectory = xform0 c_th1_th1_getdirectory -tH1IsBinOverflow :: TH1 -> CInt -> IO CInt-tH1IsBinOverflow = xform1 c_th1_th1isbinoverflow+tH1_GetXaxis :: () => TH1 -> IO TAxis+tH1_GetXaxis = xform0 c_th1_th1_getxaxis -tH1IsBinUnderflow :: TH1 -> CInt -> IO CInt-tH1IsBinUnderflow = xform1 c_th1_th1isbinunderflow+tH1_GetYaxis :: () => TH1 -> IO TAxis+tH1_GetYaxis = xform0 c_th1_th1_getyaxis -tH1UseCurrentStyle :: TH1 -> IO ()-tH1UseCurrentStyle = xform0 c_th1_th1usecurrentstyle+tH1_GetZaxis :: () => TH1 -> IO TAxis+tH1_GetZaxis = xform0 c_th1_th1_getzaxis -tH1GetDefaultBufferSize :: IO CInt-tH1GetDefaultBufferSize = xformnull c_th1_th1getdefaultbuffersize+tH1_IsBinOverflow :: () => TH1 -> CInt -> IO CBool+tH1_IsBinOverflow = xform1 c_th1_th1_isbinoverflow -tH1GetDefaultSumw2 :: IO CInt-tH1GetDefaultSumw2 = xformnull c_th1_th1getdefaultsumw2+tH1_IsBinUnderflow :: () => TH1 -> CInt -> IO CBool+tH1_IsBinUnderflow = xform1 c_th1_th1_isbinunderflow -tH1SetDefaultBufferSize :: CInt -> IO ()-tH1SetDefaultBufferSize = xform0 c_th1_th1setdefaultbuffersize+tH1_UseCurrentStyle :: () => TH1 -> IO ()+tH1_UseCurrentStyle = xform0 c_th1_th1_usecurrentstyle -tH1SetDefaultSumw2 :: CInt -> IO ()-tH1SetDefaultSumw2 = xform0 c_th1_th1setdefaultsumw2+tH1_GetDefaultBufferSize :: () => IO CInt+tH1_GetDefaultBufferSize = xformnull c_th1_th1_getdefaultbuffersize -tH1SmoothArray :: CInt -> (Ptr CDouble) -> CInt -> IO ()-tH1SmoothArray = xform2 c_th1_th1smootharray+tH1_GetDefaultSumw2 :: () => IO CBool+tH1_GetDefaultSumw2 = xformnull c_th1_th1_getdefaultsumw2 -tH1StatOverflows :: CInt -> IO ()-tH1StatOverflows = xform0 c_th1_th1statoverflows+tH1_SetDefaultBufferSize :: () => CInt -> IO ()+tH1_SetDefaultBufferSize = xform0 c_th1_th1_setdefaultbuffersize++tH1_SetDefaultSumw2 :: () => CBool -> IO ()+tH1_SetDefaultSumw2 = xform0 c_th1_th1_setdefaultsumw2++tH1_SmoothArray :: () => CInt -> Ptr CDouble -> CInt -> IO ()+tH1_SmoothArray = xform2 c_th1_th1_smootharray++tH1_StatOverflows :: () => CBool -> IO ()+tH1_StatOverflows = xform0 c_th1_th1_statoverflows
src/HROOT/Hist/TH1/Interface.hs view
@@ -4,11 +4,11 @@ TypeSynonymInstances #-} module HROOT.Hist.TH1.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import HROOT.Hist.TH1.RawType-import HROOT.Core.TDirectory.RawType import HROOT.Hist.TF1.RawType import HROOT.Core.TArrayD.RawType import HROOT.Core.TNamed.Interface@@ -17,20 +17,18 @@ import HROOT.Core.TAttMarker.Interface import HROOT.Core.TDirectory.Interface import HROOT.Core.TObject.Interface-import {-# SOURCE #-} HROOT.Hist.TF1.Interface-import {-# SOURCE #-} HROOT.Hist.TAxis.Interface+import HROOT.Hist.TF1.Interface+import HROOT.Hist.TAxis.Interface -class (ITNamed a, ITAttLine a, ITAttFill a, ITAttMarker a) => ITH1- a where+class (ITNamed a, ITAttLine a, ITAttFill a, ITAttMarker a) =>+ ITH1 a where add :: (ITH1 c0, FPtr c0) => a -> c0 -> CDouble -> IO () - addBinContent :: a -> CInt -> CDouble -> IO ()+ addBinContent :: () => a -> CInt -> CDouble -> IO () chi2Test :: (Castable c1 CString, ITH1 c0, FPtr c0) =>- a -> c0 -> c1 -> (Ptr CDouble) -> IO CDouble- - computeIntegral :: a -> IO CDouble+ a -> c0 -> c1 -> Ptr CDouble -> IO CDouble directoryAutoAdd :: (ITDirectory c0, FPtr c0) => a -> c0 -> IO () @@ -38,14 +36,14 @@ (Castable c2 CString, ITH1 c1, FPtr c1, ITH1 c0, FPtr c0) => a -> c0 -> c1 -> CDouble -> CDouble -> c2 -> IO () - drawCopyTH1 :: Castable c0 CString => a -> c0 -> IO a+ drawCopyTH1 :: (Castable c0 CString) => a -> c0 -> IO a drawNormalized ::- Castable c0 CString => a -> c0 -> CDouble -> IO TH1+ (Castable c0 CString) => a -> c0 -> CDouble -> IO TH1 - drawPanelTH1 :: a -> IO ()+ drawPanelTH1 :: () => a -> IO () - bufferEmpty :: a -> CInt -> IO CInt+ bufferEmpty :: () => a -> CInt -> IO CInt evalF :: (Castable c1 CString, ITF1 c0, FPtr c0) => a -> c0 -> c1 -> IO ()@@ -53,152 +51,146 @@ fFT :: (Castable c1 CString, ITH1 c0, FPtr c0) => a -> c0 -> c1 -> IO TH1 - fill1 :: a -> CDouble -> IO CInt+ fill1 :: () => a -> CDouble -> IO CInt - fill1w :: a -> CDouble -> CDouble -> IO CInt+ fill1w :: () => a -> CDouble -> CDouble -> IO CInt fillN1 ::- a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ () => a -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () fillRandom :: (ITH1 c0, FPtr c0) => a -> c0 -> CInt -> IO () - findBin :: a -> CDouble -> CDouble -> CDouble -> IO CInt+ findBin :: () => a -> CDouble -> CDouble -> CDouble -> IO CInt - findFixBin :: a -> CDouble -> CDouble -> CDouble -> IO CInt+ findFixBin :: () => a -> CDouble -> CDouble -> CDouble -> IO CInt - findFirstBinAbove :: a -> CDouble -> CInt -> IO CInt+ findFirstBinAbove :: () => a -> CDouble -> CInt -> IO CInt - findLastBinAbove :: a -> CDouble -> CInt -> IO CInt+ findLastBinAbove :: () => a -> CDouble -> CInt -> IO CInt fit :: (Castable c2 CString, Castable c1 CString, ITF1 c0, FPtr c0) => a -> c0 -> c1 -> c2 -> CDouble -> CDouble -> IO () - fitPanelTH1 :: a -> IO ()+ fitPanelTH1 :: () => a -> IO () - getNdivisionA :: Castable c0 CString => a -> c0 -> IO CInt+ getNdivisionA :: (Castable c0 CString) => a -> c0 -> IO CInt - getAxisColorA :: Castable c0 CString => a -> c0 -> IO CInt+ getAxisColorA :: (Castable c0 CString) => a -> c0 -> IO CShort - getLabelColorA :: Castable c0 CString => a -> c0 -> IO CInt+ getLabelColorA :: (Castable c0 CString) => a -> c0 -> IO CShort - getLabelFontA :: Castable c0 CString => a -> c0 -> IO CInt+ getLabelFontA :: (Castable c0 CString) => a -> c0 -> IO CShort - getLabelOffsetA :: Castable c0 CString => a -> c0 -> IO CDouble+ getLabelOffsetA :: (Castable c0 CString) => a -> c0 -> IO CFloat - getLabelSizeA :: Castable c0 CString => a -> c0 -> IO CDouble+ getLabelSizeA :: (Castable c0 CString) => a -> c0 -> IO CFloat - getTitleFontA :: Castable c0 CString => a -> c0 -> IO CInt+ getTitleFontA :: (Castable c0 CString) => a -> c0 -> IO CShort - getTitleOffsetA :: Castable c0 CString => a -> c0 -> IO CDouble+ getTitleOffsetA :: (Castable c0 CString) => a -> c0 -> IO CFloat - getTitleSizeA :: Castable c0 CString => a -> c0 -> IO CDouble+ getTitleSizeA :: (Castable c0 CString) => a -> c0 -> IO CFloat - getTickLengthA :: Castable c0 CString => a -> c0 -> IO CDouble+ getTickLengthA :: (Castable c0 CString) => a -> c0 -> IO CFloat - getBarOffset :: a -> IO CDouble+ getBarOffset :: () => a -> IO CFloat - getBarWidth :: a -> IO CDouble+ getBarWidth :: () => a -> IO CFloat - getContour :: a -> (Ptr CDouble) -> IO CInt+ getContour :: () => a -> Ptr CDouble -> IO CInt - getContourLevel :: a -> CInt -> IO CDouble+ getContourLevel :: () => a -> CInt -> IO CDouble - getContourLevelPad :: a -> CInt -> IO CDouble+ getContourLevelPad :: () => a -> CInt -> IO CDouble - getBin :: a -> CInt -> CInt -> CInt -> IO CInt+ getBin :: () => a -> CInt -> CInt -> CInt -> IO CInt - getBinCenter :: a -> CInt -> IO CDouble+ getBinCenter :: () => a -> CInt -> IO CDouble - getBinContent1 :: a -> CInt -> IO CDouble+ getBinContent1 :: () => a -> CInt -> IO CDouble - getBinContent2 :: a -> CInt -> CInt -> IO CDouble+ getBinContent2 :: () => a -> CInt -> CInt -> IO CDouble - getBinContent3 :: a -> CInt -> CInt -> CInt -> IO CDouble+ getBinContent3 :: () => a -> CInt -> CInt -> CInt -> IO CDouble - getBinError1 :: a -> CInt -> IO CDouble+ getBinError1 :: () => a -> CInt -> IO CDouble - getBinError2 :: a -> CInt -> CInt -> IO CDouble+ getBinError2 :: () => a -> CInt -> CInt -> IO CDouble - getBinError3 :: a -> CInt -> CInt -> CInt -> IO CDouble+ getBinError3 :: () => a -> CInt -> CInt -> CInt -> IO CDouble - getBinLowEdge :: a -> CInt -> IO CDouble+ getBinLowEdge :: () => a -> CInt -> IO CDouble - getBinWidth :: a -> CInt -> IO CDouble+ getBinWidth :: () => a -> CInt -> IO CDouble - getCellContent :: a -> CInt -> CInt -> IO CDouble+ getCellContent :: () => a -> CInt -> CInt -> IO CDouble - getCellError :: a -> CInt -> CInt -> IO CDouble+ getCellError :: () => a -> CInt -> CInt -> IO CDouble - getEntries :: a -> IO CDouble+ getEntries :: () => a -> IO CDouble - getEffectiveEntries :: a -> IO CDouble+ getEffectiveEntries :: () => a -> IO CDouble - getFunction :: Castable c0 CString => a -> c0 -> IO TF1+ getFunction :: (Castable c0 CString) => a -> c0 -> IO TF1 - getDimension :: a -> IO CInt+ getDimension :: () => a -> IO CInt - getKurtosis :: a -> CInt -> IO CDouble+ getKurtosis :: () => a -> CInt -> IO CDouble - getLowEdge :: a -> (Ptr CDouble) -> IO ()+ getLowEdge :: () => a -> Ptr CDouble -> IO () - getMaximumTH1 :: a -> CDouble -> IO CDouble+ getMaximumTH1 :: () => a -> CDouble -> IO CDouble - getMaximumBin :: a -> IO CInt+ getMaximumBin :: () => a -> IO CInt - getMaximumStored :: a -> IO CDouble+ getMaximumStored :: () => a -> IO CDouble - getMinimumTH1 :: a -> CDouble -> IO CDouble+ getMinimumTH1 :: () => a -> CDouble -> IO CDouble - getMinimumBin :: a -> IO CInt+ getMinimumBin :: () => a -> IO CInt - getMinimumStored :: a -> IO CDouble+ getMinimumStored :: () => a -> IO CDouble - getMean :: a -> CInt -> IO CDouble+ getMean :: () => a -> CInt -> IO CDouble - getMeanError :: a -> CInt -> IO CDouble+ getMeanError :: () => a -> CInt -> IO CDouble - getNbinsX :: a -> IO CDouble+ getNbinsX :: () => a -> IO CDouble - getNbinsY :: a -> IO CDouble+ getNbinsY :: () => a -> IO CDouble - getNbinsZ :: a -> IO CDouble+ getNbinsZ :: () => a -> IO CDouble getQuantilesTH1 ::- a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt- - getRandom :: a -> IO CDouble- - getStats :: a -> (Ptr CDouble) -> IO ()- - getSumOfWeights :: a -> IO CDouble+ () => a -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt - getSumw2 :: a -> IO TArrayD+ getRandom :: () => a -> IO CDouble - getSumw2N :: a -> IO CInt+ getStats :: () => a -> Ptr CDouble -> IO () - getRMS :: a -> CInt -> IO CDouble+ getSumOfWeights :: () => a -> IO CDouble - getRMSError :: a -> CInt -> IO CDouble+ getSumw2 :: () => a -> IO TArrayD - getSkewness :: a -> CInt -> IO CDouble+ getSumw2N :: () => a -> IO CInt - integral1 ::- Castable c0 CString => a -> CInt -> CInt -> c0 -> IO CDouble+ getRMS :: () => a -> CInt -> IO CDouble - interpolate1 :: a -> CDouble -> IO CDouble+ getRMSError :: () => a -> CInt -> IO CDouble - interpolate2 :: a -> CDouble -> CDouble -> IO CDouble+ getSkewness :: () => a -> CInt -> IO CDouble - interpolate3 :: a -> CDouble -> CDouble -> CDouble -> IO CDouble+ interpolate3 ::+ () => a -> CDouble -> CDouble -> CDouble -> IO CDouble kolmogorovTest :: (Castable c1 CString, ITH1 c0, FPtr c0) => a -> c0 -> c1 -> IO CDouble - labelsDeflate :: Castable c0 CString => a -> c0 -> IO ()+ labelsDeflate :: (Castable c0 CString) => a -> c0 -> IO () - labelsInflate :: Castable c0 CString => a -> c0 -> IO ()+ labelsInflate :: (Castable c0 CString) => a -> c0 -> IO () labelsOption :: (Castable c1 CString, Castable c0 CString) =>@@ -210,106 +202,112 @@ (Castable c2 CString, ITH1 c1, FPtr c1, ITH1 c0, FPtr c0) => a -> c0 -> c1 -> CDouble -> CDouble -> c2 -> IO () - putStats :: a -> (Ptr CDouble) -> IO ()+ putStats :: () => a -> Ptr CDouble -> IO () rebin ::- Castable c0 CString => a -> CInt -> c0 -> (Ptr CDouble) -> IO TH1+ (Castable c0 CString) => a -> CInt -> c0 -> Ptr CDouble -> IO TH1 rebinAxis :: (ITAxis c0, FPtr c0) => a -> CDouble -> c0 -> IO () - rebuild :: Castable c0 CString => a -> c0 -> IO ()+ rebuild :: (Castable c0 CString) => a -> c0 -> IO () recursiveRemove :: (ITObject c0, FPtr c0) => a -> c0 -> IO () - reset :: Castable c0 CString => a -> c0 -> IO ()+ reset :: (Castable c0 CString) => a -> c0 -> IO () - resetStats :: a -> IO ()+ resetStats :: () => a -> IO () - scale :: Castable c0 CString => a -> CDouble -> c0 -> IO ()+ scale :: (Castable c0 CString) => a -> CDouble -> c0 -> IO () - setAxisColorA :: Castable c0 CString => a -> CInt -> c0 -> IO ()+ setAxisColorA ::+ (Castable c0 CString) => a -> CShort -> c0 -> IO () setAxisRange ::- Castable c0 CString => a -> CDouble -> CDouble -> c0 -> IO ()+ (Castable c0 CString) => a -> CDouble -> CDouble -> c0 -> IO () - setBarOffset :: a -> CDouble -> IO ()+ setBarOffset :: () => a -> CFloat -> IO () - setBarWidth :: a -> CDouble -> IO ()+ setBarWidth :: () => a -> CFloat -> IO () - setBinContent1 :: a -> CInt -> CDouble -> IO ()+ setBinContent1 :: () => a -> CInt -> CDouble -> IO () - setBinContent2 :: a -> CInt -> CInt -> CDouble -> IO ()+ setBinContent2 :: () => a -> CInt -> CInt -> CDouble -> IO () - setBinContent3 :: a -> CInt -> CInt -> CInt -> CDouble -> IO ()+ setBinContent3 ::+ () => a -> CInt -> CInt -> CInt -> CDouble -> IO () - setBinError1 :: a -> CInt -> CDouble -> IO ()+ setBinError1 :: () => a -> CInt -> CDouble -> IO () - setBinError2 :: a -> CInt -> CInt -> CDouble -> IO ()+ setBinError2 :: () => a -> CInt -> CInt -> CDouble -> IO () - setBinError3 :: a -> CInt -> CInt -> CInt -> CDouble -> IO ()+ setBinError3 :: () => a -> CInt -> CInt -> CInt -> CDouble -> IO () - setBins1 :: a -> CInt -> (Ptr CDouble) -> IO ()+ setBins1 :: () => a -> CInt -> Ptr CDouble -> IO () setBins2 ::- a -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ () => a -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () setBins3 ::+ () => a -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () - setBinsLength :: a -> CInt -> IO ()+ setBinsLength :: () => a -> CInt -> IO () - setBuffer :: Castable c0 CString => a -> CInt -> c0 -> IO ()+ setBuffer :: (Castable c0 CString) => a -> CInt -> c0 -> IO () - setCellContent :: a -> CInt -> CInt -> CDouble -> IO ()+ setCellContent :: () => a -> CInt -> CInt -> CDouble -> IO () - setContent :: a -> (Ptr CDouble) -> IO ()+ setContent :: () => a -> Ptr CDouble -> IO () - setContour :: a -> CInt -> (Ptr CDouble) -> IO ()+ setContour :: () => a -> CInt -> Ptr CDouble -> IO () - setContourLevel :: a -> CInt -> CDouble -> IO ()+ setContourLevel :: () => a -> CInt -> CDouble -> IO () setDirectory :: (ITDirectory c0, FPtr c0) => a -> c0 -> IO () - setEntries :: a -> CDouble -> IO ()+ setEntries :: () => a -> CDouble -> IO () - setError :: a -> (Ptr CDouble) -> IO ()+ setError :: () => a -> Ptr CDouble -> IO () - setLabelColorA :: Castable c0 CString => a -> CInt -> c0 -> IO ()+ setLabelColorA ::+ (Castable c0 CString) => a -> CShort -> c0 -> IO () - setLabelSizeA :: Castable c0 CString => a -> CDouble -> c0 -> IO ()+ setLabelSizeA ::+ (Castable c0 CString) => a -> CFloat -> c0 -> IO () - setLabelFontA :: Castable c0 CString => a -> CInt -> c0 -> IO ()+ setLabelFontA ::+ (Castable c0 CString) => a -> CShort -> c0 -> IO () setLabelOffsetA ::- Castable c0 CString => a -> CDouble -> c0 -> IO ()+ (Castable c0 CString) => a -> CFloat -> c0 -> IO () - setMaximum :: a -> CDouble -> IO ()+ setMaximum :: () => a -> CDouble -> IO () - setMinimum :: a -> CDouble -> IO ()+ setMinimum :: () => a -> CDouble -> IO () - setNormFactor :: a -> CDouble -> IO ()+ setNormFactor :: () => a -> CDouble -> IO () - setStats :: a -> CInt -> IO ()+ setStats :: () => a -> CBool -> IO () - setOption :: Castable c0 CString => a -> c0 -> IO ()+ setOption :: (Castable c0 CString) => a -> c0 -> IO () - setXTitle :: Castable c0 CString => a -> c0 -> IO ()+ setXTitle :: (Castable c0 CString) => a -> c0 -> IO () - setYTitle :: Castable c0 CString => a -> c0 -> IO ()+ setYTitle :: (Castable c0 CString) => a -> c0 -> IO () - setZTitle :: Castable c0 CString => a -> c0 -> IO ()+ setZTitle :: (Castable c0 CString) => a -> c0 -> IO () - showBackground :: Castable c0 CString => a -> CInt -> c0 -> IO TH1+ showBackground ::+ (Castable c0 CString) => a -> CInt -> c0 -> IO TH1 showPeaks ::- Castable c0 CString => a -> CDouble -> c0 -> CDouble -> IO CInt+ (Castable c0 CString) => a -> CDouble -> c0 -> CDouble -> IO CInt - smooth :: Castable c0 CString => a -> CInt -> c0 -> IO ()+ smooth :: (Castable c0 CString) => a -> CInt -> c0 -> IO () - sumw2 :: a -> IO ()+ sumw2 :: () => a -> IO () upcastTH1 :: forall a . (FPtr a, ITH1 a) => a -> TH1 upcastTH1 h
src/HROOT/Hist/TH1/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH1 newtype TH1 = TH1 (Ptr RawTH1)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH1 where+instance () => FPtr (TH1) where type Raw TH1 = RawTH1 get_fptr (TH1 ptr) = ptr cast_fptr_to_obj = TH1
src/HROOT/Hist/TH1C/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH1C.RawType import HROOT.Hist.TH1C.Interface -instance (ITH1C a, FPtr a) => Castable a (Ptr RawTH1C) where+instance (ITH1C a, FPtr a) => Castable (a) (Ptr RawTH1C) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH1C (Ptr RawTH1C) where+instance () => Castable (TH1C) (Ptr RawTH1C) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH1C/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH1C.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH1C.RawType+import HROOT.Hist.TH1C.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType import HROOT.Hist.TF1.RawType@@ -11,524 +14,610 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH1C.h TH1C_Add" c_th1c_add ::- Ptr RawTH1C -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Add"+ c_th1c_add :: Ptr RawTH1C -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_AddBinContent"- c_th1c_addbincontent :: Ptr RawTH1C -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_AddBinContent" c_th1c_addbincontent ::+ Ptr RawTH1C -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_Chi2Test"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Chi2Test" c_th1c_chi2test ::- Ptr RawTH1C -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH1C.h TH1C_ComputeIntegral"- c_th1c_computeintegral :: Ptr RawTH1C -> IO CDouble+ Ptr RawTH1C -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_DirectoryAutoAdd"- c_th1c_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_DirectoryAutoAdd" c_th1c_directoryautoadd :: Ptr RawTH1C -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_Divide"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Divide" c_th1c_divide :: Ptr RawTH1C -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_drawCopyTH1"- c_th1c_drawcopyth1 :: Ptr RawTH1C -> CString -> IO (Ptr RawTH1C)+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_drawCopyTH1" c_th1c_drawcopyth1 ::+ Ptr RawTH1C -> CString -> IO (Ptr RawTH1C) -foreign import ccall safe "HROOTHistTH1C.h TH1C_DrawNormalized"- c_th1c_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_DrawNormalized" c_th1c_drawnormalized :: Ptr RawTH1C -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1C.h TH1C_drawPanelTH1"- c_th1c_drawpanelth1 :: Ptr RawTH1C -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_drawPanelTH1" c_th1c_drawpanelth1 ::+ Ptr RawTH1C -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_BufferEmpty"- c_th1c_bufferempty :: Ptr RawTH1C -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_BufferEmpty" c_th1c_bufferempty ::+ Ptr RawTH1C -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_evalF" c_th1c_evalf- :: Ptr RawTH1C -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_evalF"+ c_th1c_evalf :: Ptr RawTH1C -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_FFT" c_th1c_fft ::+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_FFT"+ c_th1c_fft :: Ptr RawTH1C -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1C.h TH1C_fill1" c_th1c_fill1- :: Ptr RawTH1C -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_fill1"+ c_th1c_fill1 :: Ptr RawTH1C -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_fill1w"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_fill1w" c_th1c_fill1w :: Ptr RawTH1C -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_fillN1"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_fillN1" c_th1c_filln1 ::- Ptr RawTH1C ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH1C -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_FillRandom"- c_th1c_fillrandom :: Ptr RawTH1C -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_FillRandom" c_th1c_fillrandom ::+ Ptr RawTH1C -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_FindBin"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_FindBin" c_th1c_findbin :: Ptr RawTH1C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_FindFixBin"- c_th1c_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_FindFixBin" c_th1c_findfixbin :: Ptr RawTH1C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_FindFirstBinAbove"- c_th1c_findfirstbinabove ::- Ptr RawTH1C -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_FindFirstBinAbove" c_th1c_findfirstbinabove+ :: Ptr RawTH1C -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_FindLastBinAbove"- c_th1c_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_FindLastBinAbove" c_th1c_findlastbinabove :: Ptr RawTH1C -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_Fit" c_th1c_fit ::+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Fit"+ c_th1c_fit :: Ptr RawTH1C -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_FitPanelTH1"- c_th1c_fitpanelth1 :: Ptr RawTH1C -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_FitPanelTH1" c_th1c_fitpanelth1 ::+ Ptr RawTH1C -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_getNdivisionA"- c_th1c_getndivisiona :: Ptr RawTH1C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_getNdivisionA" c_th1c_getndivisiona ::+ Ptr RawTH1C -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_getAxisColorA"- c_th1c_getaxiscolora :: Ptr RawTH1C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_getAxisColorA" c_th1c_getaxiscolora ::+ Ptr RawTH1C -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1C.h TH1C_getLabelColorA"- c_th1c_getlabelcolora :: Ptr RawTH1C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_getLabelColorA" c_th1c_getlabelcolora ::+ Ptr RawTH1C -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1C.h TH1C_getLabelFontA"- c_th1c_getlabelfonta :: Ptr RawTH1C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_getLabelFontA" c_th1c_getlabelfonta ::+ Ptr RawTH1C -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1C.h TH1C_getLabelOffsetA"- c_th1c_getlabeloffseta :: Ptr RawTH1C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_getLabelOffsetA" c_th1c_getlabeloffseta ::+ Ptr RawTH1C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1C.h TH1C_getLabelSizeA"- c_th1c_getlabelsizea :: Ptr RawTH1C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_getLabelSizeA" c_th1c_getlabelsizea ::+ Ptr RawTH1C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1C.h TH1C_getTitleFontA"- c_th1c_gettitlefonta :: Ptr RawTH1C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_getTitleFontA" c_th1c_gettitlefonta ::+ Ptr RawTH1C -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1C.h TH1C_getTitleOffsetA"- c_th1c_gettitleoffseta :: Ptr RawTH1C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_getTitleOffsetA" c_th1c_gettitleoffseta ::+ Ptr RawTH1C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1C.h TH1C_getTitleSizeA"- c_th1c_gettitlesizea :: Ptr RawTH1C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_getTitleSizeA" c_th1c_gettitlesizea ::+ Ptr RawTH1C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1C.h TH1C_getTickLengthA"- c_th1c_getticklengtha :: Ptr RawTH1C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_getTickLengthA" c_th1c_getticklengtha ::+ Ptr RawTH1C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBarOffset"- c_th1c_getbaroffset :: Ptr RawTH1C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetBarOffset" c_th1c_getbaroffset ::+ Ptr RawTH1C -> IO CFloat -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBarWidth"- c_th1c_getbarwidth :: Ptr RawTH1C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetBarWidth" c_th1c_getbarwidth ::+ Ptr RawTH1C -> IO CFloat -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetContour"- c_th1c_getcontour :: Ptr RawTH1C -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetContour" c_th1c_getcontour ::+ Ptr RawTH1C -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetContourLevel"- c_th1c_getcontourlevel :: Ptr RawTH1C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetContourLevel" c_th1c_getcontourlevel ::+ Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetContourLevelPad"- c_th1c_getcontourlevelpad :: Ptr RawTH1C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetContourLevelPad" c_th1c_getcontourlevelpad+ :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBin"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_GetBin" c_th1c_getbin :: Ptr RawTH1C -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinCenter"- c_th1c_getbincenter :: Ptr RawTH1C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetBinCenter" c_th1c_getbincenter ::+ Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinContent1"- c_th1c_getbincontent1 :: Ptr RawTH1C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetBinContent1" c_th1c_getbincontent1 ::+ Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinContent2"- c_th1c_getbincontent2 :: Ptr RawTH1C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetBinContent2" c_th1c_getbincontent2 ::+ Ptr RawTH1C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinContent3"- c_th1c_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetBinContent3" c_th1c_getbincontent3 :: Ptr RawTH1C -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinError1"- c_th1c_getbinerror1 :: Ptr RawTH1C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetBinError1" c_th1c_getbinerror1 ::+ Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinError2"- c_th1c_getbinerror2 :: Ptr RawTH1C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetBinError2" c_th1c_getbinerror2 ::+ Ptr RawTH1C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinError3"- c_th1c_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetBinError3" c_th1c_getbinerror3 :: Ptr RawTH1C -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinLowEdge"- c_th1c_getbinlowedge :: Ptr RawTH1C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetBinLowEdge" c_th1c_getbinlowedge ::+ Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinWidth"- c_th1c_getbinwidth :: Ptr RawTH1C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetBinWidth" c_th1c_getbinwidth ::+ Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetCellContent"- c_th1c_getcellcontent :: Ptr RawTH1C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetCellContent" c_th1c_getcellcontent ::+ Ptr RawTH1C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetCellError"- c_th1c_getcellerror :: Ptr RawTH1C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetCellError" c_th1c_getcellerror ::+ Ptr RawTH1C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetEntries"- c_th1c_getentries :: Ptr RawTH1C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetEntries" c_th1c_getentries ::+ Ptr RawTH1C -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_GetEffectiveEntries" c_th1c_geteffectiveentries :: Ptr RawTH1C -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetFunction"- c_th1c_getfunction :: Ptr RawTH1C -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetFunction" c_th1c_getfunction ::+ Ptr RawTH1C -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetDimension"- c_th1c_getdimension :: Ptr RawTH1C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetDimension" c_th1c_getdimension ::+ Ptr RawTH1C -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetKurtosis"- c_th1c_getkurtosis :: Ptr RawTH1C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetKurtosis" c_th1c_getkurtosis ::+ Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetLowEdge"- c_th1c_getlowedge :: Ptr RawTH1C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetLowEdge" c_th1c_getlowedge ::+ Ptr RawTH1C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_getMaximumTH1"- c_th1c_getmaximumth1 :: Ptr RawTH1C -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_getMaximumTH1" c_th1c_getmaximumth1 ::+ Ptr RawTH1C -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMaximumBin"- c_th1c_getmaximumbin :: Ptr RawTH1C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetMaximumBin" c_th1c_getmaximumbin ::+ Ptr RawTH1C -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMaximumStored"- c_th1c_getmaximumstored :: Ptr RawTH1C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetMaximumStored" c_th1c_getmaximumstored ::+ Ptr RawTH1C -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_getMinimumTH1"- c_th1c_getminimumth1 :: Ptr RawTH1C -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_getMinimumTH1" c_th1c_getminimumth1 ::+ Ptr RawTH1C -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMinimumBin"- c_th1c_getminimumbin :: Ptr RawTH1C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetMinimumBin" c_th1c_getminimumbin ::+ Ptr RawTH1C -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMinimumStored"- c_th1c_getminimumstored :: Ptr RawTH1C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetMinimumStored" c_th1c_getminimumstored ::+ Ptr RawTH1C -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMean"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_GetMean" c_th1c_getmean :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMeanError"- c_th1c_getmeanerror :: Ptr RawTH1C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetMeanError" c_th1c_getmeanerror ::+ Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_GetNbinsX" c_th1c_getnbinsx :: Ptr RawTH1C -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_GetNbinsY" c_th1c_getnbinsy :: Ptr RawTH1C -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_GetNbinsZ" c_th1c_getnbinsz :: Ptr RawTH1C -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_getQuantilesTH1"- c_th1c_getquantilesth1 ::- Ptr RawTH1C -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_getQuantilesTH1" c_th1c_getquantilesth1 ::+ Ptr RawTH1C -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetRandom"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_GetRandom" c_th1c_getrandom :: Ptr RawTH1C -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetStats"- c_th1c_getstats :: Ptr RawTH1C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_GetStats"+ c_th1c_getstats :: Ptr RawTH1C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetSumOfWeights"- c_th1c_getsumofweights :: Ptr RawTH1C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetSumOfWeights" c_th1c_getsumofweights ::+ Ptr RawTH1C -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetSumw2"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_GetSumw2" c_th1c_getsumw2 :: Ptr RawTH1C -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_GetSumw2N" c_th1c_getsumw2n :: Ptr RawTH1C -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetRMS"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_GetRMS" c_th1c_getrms :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetRMSError"- c_th1c_getrmserror :: Ptr RawTH1C -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH1C.h TH1C_GetSkewness"- c_th1c_getskewness :: Ptr RawTH1C -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH1C.h TH1C_integral1"- c_th1c_integral1 ::- Ptr RawTH1C -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH1C.h TH1C_interpolate1"- c_th1c_interpolate1 :: Ptr RawTH1C -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetRMSError" c_th1c_getrmserror ::+ Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_interpolate2"- c_th1c_interpolate2 ::- Ptr RawTH1C -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetSkewness" c_th1c_getskewness ::+ Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_interpolate3"- c_th1c_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_interpolate3" c_th1c_interpolate3 :: Ptr RawTH1C -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_KolmogorovTest"- c_th1c_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_KolmogorovTest" c_th1c_kolmogorovtest :: Ptr RawTH1C -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH1C.h TH1C_LabelsDeflate"- c_th1c_labelsdeflate :: Ptr RawTH1C -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_LabelsDeflate" c_th1c_labelsdeflate ::+ Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_LabelsInflate"- c_th1c_labelsinflate :: Ptr RawTH1C -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_LabelsInflate" c_th1c_labelsinflate ::+ Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_LabelsOption"- c_th1c_labelsoption :: Ptr RawTH1C -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_LabelsOption" c_th1c_labelsoption ::+ Ptr RawTH1C -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_multiflyF"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_multiflyF" c_th1c_multiflyf :: Ptr RawTH1C -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_Multiply"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Multiply" c_th1c_multiply :: Ptr RawTH1C -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_PutStats"- c_th1c_putstats :: Ptr RawTH1C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_PutStats"+ c_th1c_putstats :: Ptr RawTH1C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_Rebin" c_th1c_rebin- ::- Ptr RawTH1C -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Rebin"+ c_th1c_rebin ::+ Ptr RawTH1C -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1C.h TH1C_RebinAxis"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_RebinAxis" c_th1c_rebinaxis :: Ptr RawTH1C -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_Rebuild"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Rebuild" c_th1c_rebuild :: Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_RecursiveRemove"- c_th1c_recursiveremove :: Ptr RawTH1C -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_RecursiveRemove" c_th1c_recursiveremove ::+ Ptr RawTH1C -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_Reset" c_th1c_reset- :: Ptr RawTH1C -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Reset"+ c_th1c_reset :: Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_ResetStats"- c_th1c_resetstats :: Ptr RawTH1C -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_ResetStats" c_th1c_resetstats ::+ Ptr RawTH1C -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_Scale" c_th1c_scale- :: Ptr RawTH1C -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Scale"+ c_th1c_scale :: Ptr RawTH1C -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setAxisColorA"- c_th1c_setaxiscolora :: Ptr RawTH1C -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_setAxisColorA" c_th1c_setaxiscolora ::+ Ptr RawTH1C -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetAxisRange"- c_th1c_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetAxisRange" c_th1c_setaxisrange :: Ptr RawTH1C -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetBarOffset"- c_th1c_setbaroffset :: Ptr RawTH1C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetBarOffset" c_th1c_setbaroffset ::+ Ptr RawTH1C -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetBarWidth"- c_th1c_setbarwidth :: Ptr RawTH1C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetBarWidth" c_th1c_setbarwidth ::+ Ptr RawTH1C -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setBinContent1"- c_th1c_setbincontent1 :: Ptr RawTH1C -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_setBinContent1" c_th1c_setbincontent1 ::+ Ptr RawTH1C -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setBinContent2"- c_th1c_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_setBinContent2" c_th1c_setbincontent2 :: Ptr RawTH1C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setBinContent3"- c_th1c_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_setBinContent3" c_th1c_setbincontent3 :: Ptr RawTH1C -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setBinError1"- c_th1c_setbinerror1 :: Ptr RawTH1C -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_setBinError1" c_th1c_setbinerror1 ::+ Ptr RawTH1C -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setBinError2"- c_th1c_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_setBinError2" c_th1c_setbinerror2 :: Ptr RawTH1C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setBinError3"- c_th1c_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_setBinError3" c_th1c_setbinerror3 :: Ptr RawTH1C -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setBins1"- c_th1c_setbins1 :: Ptr RawTH1C -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_setBins1"+ c_th1c_setbins1 :: Ptr RawTH1C -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setBins2"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_setBins2" c_th1c_setbins2 ::- Ptr RawTH1C ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH1C -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setBins3"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_setBins3" c_th1c_setbins3 :: Ptr RawTH1C -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetBinsLength"- c_th1c_setbinslength :: Ptr RawTH1C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetBinsLength" c_th1c_setbinslength ::+ Ptr RawTH1C -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetBuffer"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_SetBuffer" c_th1c_setbuffer :: Ptr RawTH1C -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetCellContent"- c_th1c_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetCellContent" c_th1c_setcellcontent :: Ptr RawTH1C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetContent"- c_th1c_setcontent :: Ptr RawTH1C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetContent" c_th1c_setcontent ::+ Ptr RawTH1C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetContour"- c_th1c_setcontour :: Ptr RawTH1C -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetContour" c_th1c_setcontour ::+ Ptr RawTH1C -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetContourLevel"- c_th1c_setcontourlevel :: Ptr RawTH1C -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetContourLevel" c_th1c_setcontourlevel ::+ Ptr RawTH1C -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetDirectory"- c_th1c_setdirectory :: Ptr RawTH1C -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetDirectory" c_th1c_setdirectory ::+ Ptr RawTH1C -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetEntries"- c_th1c_setentries :: Ptr RawTH1C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetEntries" c_th1c_setentries ::+ Ptr RawTH1C -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetError"- c_th1c_seterror :: Ptr RawTH1C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_SetError"+ c_th1c_seterror :: Ptr RawTH1C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setLabelColorA"- c_th1c_setlabelcolora :: Ptr RawTH1C -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_setLabelColorA" c_th1c_setlabelcolora ::+ Ptr RawTH1C -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setLabelSizeA"- c_th1c_setlabelsizea :: Ptr RawTH1C -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_setLabelSizeA" c_th1c_setlabelsizea ::+ Ptr RawTH1C -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setLabelFontA"- c_th1c_setlabelfonta :: Ptr RawTH1C -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_setLabelFontA" c_th1c_setlabelfonta ::+ Ptr RawTH1C -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_setLabelOffsetA"- c_th1c_setlabeloffseta ::- Ptr RawTH1C -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_setLabelOffsetA" c_th1c_setlabeloffseta ::+ Ptr RawTH1C -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetMaximum"- c_th1c_setmaximum :: Ptr RawTH1C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetMaximum" c_th1c_setmaximum ::+ Ptr RawTH1C -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetMinimum"- c_th1c_setminimum :: Ptr RawTH1C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetMinimum" c_th1c_setminimum ::+ Ptr RawTH1C -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetNormFactor"- c_th1c_setnormfactor :: Ptr RawTH1C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetNormFactor" c_th1c_setnormfactor ::+ Ptr RawTH1C -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetStats"- c_th1c_setstats :: Ptr RawTH1C -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_SetStats"+ c_th1c_setstats :: Ptr RawTH1C -> CBool -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetOption"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_SetOption" c_th1c_setoption :: Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetXTitle"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_SetXTitle" c_th1c_setxtitle :: Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetYTitle"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_SetYTitle" c_th1c_setytitle :: Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetZTitle"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_SetZTitle" c_th1c_setztitle :: Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_ShowBackground"- c_th1c_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_ShowBackground" c_th1c_showbackground :: Ptr RawTH1C -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1C.h TH1C_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_ShowPeaks" c_th1c_showpeaks :: Ptr RawTH1C -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_Smooth"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Smooth" c_th1c_smooth :: Ptr RawTH1C -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_Sumw2" c_th1c_sumw2- :: Ptr RawTH1C -> IO ()+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Sumw2"+ c_th1c_sumw2 :: Ptr RawTH1C -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetName"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_SetName" c_th1c_setname :: Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetNameTitle"- c_th1c_setnametitle :: Ptr RawTH1C -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetNameTitle" c_th1c_setnametitle ::+ Ptr RawTH1C -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetTitle"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_SetTitle" c_th1c_settitle :: Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetLineColor"- c_th1c_getlinecolor :: Ptr RawTH1C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetLineColor" c_th1c_getlinecolor ::+ Ptr RawTH1C -> IO CShort -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetLineStyle"- c_th1c_getlinestyle :: Ptr RawTH1C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetLineStyle" c_th1c_getlinestyle ::+ Ptr RawTH1C -> IO CShort -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetLineWidth"- c_th1c_getlinewidth :: Ptr RawTH1C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetLineWidth" c_th1c_getlinewidth ::+ Ptr RawTH1C -> IO CShort -foreign import ccall safe "HROOTHistTH1C.h TH1C_ResetAttLine"- c_th1c_resetattline :: Ptr RawTH1C -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_ResetAttLine" c_th1c_resetattline ::+ Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetLineAttributes"- c_th1c_setlineattributes :: Ptr RawTH1C -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetLineAttributes" c_th1c_setlineattributes+ :: Ptr RawTH1C -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetLineColor"- c_th1c_setlinecolor :: Ptr RawTH1C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetLineColor" c_th1c_setlinecolor ::+ Ptr RawTH1C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetLineStyle"- c_th1c_setlinestyle :: Ptr RawTH1C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetLineStyle" c_th1c_setlinestyle ::+ Ptr RawTH1C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetLineWidth"- c_th1c_setlinewidth :: Ptr RawTH1C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetLineWidth" c_th1c_setlinewidth ::+ Ptr RawTH1C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetFillColor"- c_th1c_setfillcolor :: Ptr RawTH1C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetFillColor" c_th1c_setfillcolor ::+ Ptr RawTH1C -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetFillStyle"- c_th1c_setfillstyle :: Ptr RawTH1C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetFillStyle" c_th1c_setfillstyle ::+ Ptr RawTH1C -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMarkerColor"- c_th1c_getmarkercolor :: Ptr RawTH1C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetMarkerColor" c_th1c_getmarkercolor ::+ Ptr RawTH1C -> IO CShort -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMarkerStyle"- c_th1c_getmarkerstyle :: Ptr RawTH1C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetMarkerStyle" c_th1c_getmarkerstyle ::+ Ptr RawTH1C -> IO CShort -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMarkerSize"- c_th1c_getmarkersize :: Ptr RawTH1C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_GetMarkerSize" c_th1c_getmarkersize ::+ Ptr RawTH1C -> IO CFloat -foreign import ccall safe "HROOTHistTH1C.h TH1C_ResetAttMarker"- c_th1c_resetattmarker :: Ptr RawTH1C -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_ResetAttMarker" c_th1c_resetattmarker ::+ Ptr RawTH1C -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_SetMarkerAttributes" c_th1c_setmarkerattributes :: Ptr RawTH1C -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetMarkerColor"- c_th1c_setmarkercolor :: Ptr RawTH1C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetMarkerColor" c_th1c_setmarkercolor ::+ Ptr RawTH1C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetMarkerStyle"- c_th1c_setmarkerstyle :: Ptr RawTH1C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetMarkerStyle" c_th1c_setmarkerstyle ::+ Ptr RawTH1C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SetMarkerSize"- c_th1c_setmarkersize :: Ptr RawTH1C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_SetMarkerSize" c_th1c_setmarkersize ::+ Ptr RawTH1C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_Draw" c_th1c_draw- :: Ptr RawTH1C -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Clear"+ c_th1c_clear :: Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_FindObject"- c_th1c_findobject :: Ptr RawTH1C -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Draw"+ c_th1c_draw :: Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_GetName"+foreign import ccall interruptible+ "HROOTHistTH1C.h TH1C_FindObject" c_th1c_findobject ::+ Ptr RawTH1C -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH1C.h TH1C_GetName" c_th1c_getname :: Ptr RawTH1C -> IO CString -foreign import ccall safe "HROOTHistTH1C.h TH1C_IsA" c_th1c_isa ::- Ptr RawTH1C -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_IsA"+ c_th1c_isa :: Ptr RawTH1C -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH1C.h TH1C_Paint" c_th1c_paint- :: Ptr RawTH1C -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Paint"+ c_th1c_paint :: Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_printObj"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_printObj" c_th1c_printobj :: Ptr RawTH1C -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_SaveAs"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_SaveAs" c_th1c_saveas :: Ptr RawTH1C -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1C.h TH1C_Write" c_th1c_write- :: Ptr RawTH1C -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Write"+ c_th1c_write :: Ptr RawTH1C -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1C.h TH1C_delete"+foreign import ccall interruptible "HROOTHistTH1C.h TH1C_Write_"+ c_th1c_write_ :: Ptr RawTH1C -> IO CInt++foreign import ccall interruptible "HROOTHistTH1C.h TH1C_delete" c_th1c_delete :: Ptr RawTH1C -> IO ()++foreign import ccall interruptible "HROOTHistTH1C.h TH1C_GetAt"+ c_th1c_getat :: Ptr RawTH1C -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH1C.h TH1C_SetArray"+ c_th1c_setarray :: Ptr RawTH1C -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH1C.h TH1C_SetAt"+ c_th1c_setat :: Ptr RawTH1C -> CDouble -> CInt -> IO ()
src/HROOT/Hist/TH1C/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH1C.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH1C.RawType import HROOT.Hist.TH1C.FFI import HROOT.Hist.TH1C.Interface import HROOT.Hist.TH1C.Cast+import HROOT.Hist.TH1C.RawType+import HROOT.Hist.TH1C.Cast+import HROOT.Hist.TH1C.Interface import HROOT.Core.TDirectory.RawType import HROOT.Core.TDirectory.Cast import HROOT.Core.TDirectory.Interface@@ -48,20 +57,19 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH1C TH1C+instance () => ITH1C (TH1C) where -instance ITH1 TH1C where+instance () => ITH1 (TH1C) where add = xform2 c_th1c_add addBinContent = xform2 c_th1c_addbincontent chi2Test = xform3 c_th1c_chi2test- computeIntegral = xform0 c_th1c_computeintegral directoryAutoAdd = xform1 c_th1c_directoryautoadd divide = xform5 c_th1c_divide drawCopyTH1 = xform1 c_th1c_drawcopyth1@@ -133,9 +141,6 @@ getRMS = xform1 c_th1c_getrms getRMSError = xform1 c_th1c_getrmserror getSkewness = xform1 c_th1c_getskewness- integral1 = xform3 c_th1c_integral1- interpolate1 = xform1 c_th1c_interpolate1- interpolate2 = xform2 c_th1c_interpolate2 interpolate3 = xform3 c_th1c_interpolate3 kolmogorovTest = xform2 c_th1c_kolmogorovtest labelsDeflate = xform1 c_th1c_labelsdeflate@@ -190,14 +195,14 @@ smooth = xform2 c_th1c_smooth sumw2 = xform0 c_th1c_sumw2 -instance ITArrayC TH1C+instance () => ITArrayC (TH1C) where -instance ITNamed TH1C where+instance () => ITNamed (TH1C) where setName = xform1 c_th1c_setname setNameTitle = xform2 c_th1c_setnametitle setTitle = xform1 c_th1c_settitle -instance ITAttLine TH1C where+instance () => ITAttLine (TH1C) where getLineColor = xform0 c_th1c_getlinecolor getLineStyle = xform0 c_th1c_getlinestyle getLineWidth = xform0 c_th1c_getlinewidth@@ -207,11 +212,11 @@ setLineStyle = xform1 c_th1c_setlinestyle setLineWidth = xform1 c_th1c_setlinewidth -instance ITAttFill TH1C where+instance () => ITAttFill (TH1C) where setFillColor = xform1 c_th1c_setfillcolor setFillStyle = xform1 c_th1c_setfillstyle -instance ITAttMarker TH1C where+instance () => ITAttMarker (TH1C) where getMarkerColor = xform0 c_th1c_getmarkercolor getMarkerStyle = xform0 c_th1c_getmarkerstyle getMarkerSize = xform0 c_th1c_getmarkersize@@ -221,7 +226,8 @@ setMarkerStyle = xform1 c_th1c_setmarkerstyle setMarkerSize = xform1 c_th1c_setmarkersize -instance ITObject TH1C where+instance () => ITObject (TH1C) where+ clear = xform1 c_th1c_clear draw = xform1 c_th1c_draw findObject = xform1 c_th1c_findobject getName = xform0 c_th1c_getname@@ -230,8 +236,12 @@ printObj = xform1 c_th1c_printobj saveAs = xform2 c_th1c_saveas write = xform3 c_th1c_write+ write_ = xform0 c_th1c_write_ -instance IDeletable TH1C where+instance () => IDeletable (TH1C) where delete = xform0 c_th1c_delete -instance ITArray TH1C+instance () => ITArray (TH1C) where+ getAt = xform1 c_th1c_getat+ setArray = xform1 c_th1c_setarray+ setAt = xform2 c_th1c_setat
src/HROOT/Hist/TH1C/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH1C.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH1.Interface import HROOT.Core.TArrayC.Interface -class (ITH1 a, ITArrayC a) => ITH1C a+class (ITH1 a, ITArrayC a) => ITH1C a where upcastTH1C :: forall a . (FPtr a, ITH1C a) => a -> TH1C upcastTH1C h
src/HROOT/Hist/TH1C/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH1C newtype TH1C = TH1C (Ptr RawTH1C)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH1C where+instance () => FPtr (TH1C) where type Raw TH1C = RawTH1C get_fptr (TH1C ptr) = ptr cast_fptr_to_obj = TH1C
src/HROOT/Hist/TH1D/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Interface -instance (ITH1D a, FPtr a) => Castable a (Ptr RawTH1D) where+instance (ITH1D a, FPtr a) => Castable (a) (Ptr RawTH1D) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH1D (Ptr RawTH1D) where+instance () => Castable (TH1D) (Ptr RawTH1D) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH1D/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH1D.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH1D.RawType+import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType import HROOT.Hist.TF1.RawType@@ -11,529 +14,615 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH1D.h TH1D_Add" c_th1d_add ::- Ptr RawTH1D -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Add"+ c_th1d_add :: Ptr RawTH1D -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_AddBinContent"- c_th1d_addbincontent :: Ptr RawTH1D -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_AddBinContent" c_th1d_addbincontent ::+ Ptr RawTH1D -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_Chi2Test"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Chi2Test" c_th1d_chi2test ::- Ptr RawTH1D -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH1D.h TH1D_ComputeIntegral"- c_th1d_computeintegral :: Ptr RawTH1D -> IO CDouble+ Ptr RawTH1D -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_DirectoryAutoAdd"- c_th1d_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_DirectoryAutoAdd" c_th1d_directoryautoadd :: Ptr RawTH1D -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_Divide"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Divide" c_th1d_divide :: Ptr RawTH1D -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_drawCopyTH1"- c_th1d_drawcopyth1 :: Ptr RawTH1D -> CString -> IO (Ptr RawTH1D)+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_drawCopyTH1" c_th1d_drawcopyth1 ::+ Ptr RawTH1D -> CString -> IO (Ptr RawTH1D) -foreign import ccall safe "HROOTHistTH1D.h TH1D_DrawNormalized"- c_th1d_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_DrawNormalized" c_th1d_drawnormalized :: Ptr RawTH1D -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1D.h TH1D_drawPanelTH1"- c_th1d_drawpanelth1 :: Ptr RawTH1D -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_drawPanelTH1" c_th1d_drawpanelth1 ::+ Ptr RawTH1D -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_BufferEmpty"- c_th1d_bufferempty :: Ptr RawTH1D -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_BufferEmpty" c_th1d_bufferempty ::+ Ptr RawTH1D -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_evalF" c_th1d_evalf- :: Ptr RawTH1D -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_evalF"+ c_th1d_evalf :: Ptr RawTH1D -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_FFT" c_th1d_fft ::+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_FFT"+ c_th1d_fft :: Ptr RawTH1D -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1D.h TH1D_fill1" c_th1d_fill1- :: Ptr RawTH1D -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_fill1"+ c_th1d_fill1 :: Ptr RawTH1D -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_fill1w"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_fill1w" c_th1d_fill1w :: Ptr RawTH1D -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_fillN1"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_fillN1" c_th1d_filln1 ::- Ptr RawTH1D ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH1D -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_FillRandom"- c_th1d_fillrandom :: Ptr RawTH1D -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_FillRandom" c_th1d_fillrandom ::+ Ptr RawTH1D -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_FindBin"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_FindBin" c_th1d_findbin :: Ptr RawTH1D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_FindFixBin"- c_th1d_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_FindFixBin" c_th1d_findfixbin :: Ptr RawTH1D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_FindFirstBinAbove"- c_th1d_findfirstbinabove ::- Ptr RawTH1D -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_FindFirstBinAbove" c_th1d_findfirstbinabove+ :: Ptr RawTH1D -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_FindLastBinAbove"- c_th1d_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_FindLastBinAbove" c_th1d_findlastbinabove :: Ptr RawTH1D -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_Fit" c_th1d_fit ::+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Fit"+ c_th1d_fit :: Ptr RawTH1D -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_FitPanelTH1"- c_th1d_fitpanelth1 :: Ptr RawTH1D -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_FitPanelTH1" c_th1d_fitpanelth1 ::+ Ptr RawTH1D -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_getNdivisionA"- c_th1d_getndivisiona :: Ptr RawTH1D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_getNdivisionA" c_th1d_getndivisiona ::+ Ptr RawTH1D -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_getAxisColorA"- c_th1d_getaxiscolora :: Ptr RawTH1D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_getAxisColorA" c_th1d_getaxiscolora ::+ Ptr RawTH1D -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1D.h TH1D_getLabelColorA"- c_th1d_getlabelcolora :: Ptr RawTH1D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_getLabelColorA" c_th1d_getlabelcolora ::+ Ptr RawTH1D -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1D.h TH1D_getLabelFontA"- c_th1d_getlabelfonta :: Ptr RawTH1D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_getLabelFontA" c_th1d_getlabelfonta ::+ Ptr RawTH1D -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1D.h TH1D_getLabelOffsetA"- c_th1d_getlabeloffseta :: Ptr RawTH1D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_getLabelOffsetA" c_th1d_getlabeloffseta ::+ Ptr RawTH1D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1D.h TH1D_getLabelSizeA"- c_th1d_getlabelsizea :: Ptr RawTH1D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_getLabelSizeA" c_th1d_getlabelsizea ::+ Ptr RawTH1D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1D.h TH1D_getTitleFontA"- c_th1d_gettitlefonta :: Ptr RawTH1D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_getTitleFontA" c_th1d_gettitlefonta ::+ Ptr RawTH1D -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1D.h TH1D_getTitleOffsetA"- c_th1d_gettitleoffseta :: Ptr RawTH1D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_getTitleOffsetA" c_th1d_gettitleoffseta ::+ Ptr RawTH1D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1D.h TH1D_getTitleSizeA"- c_th1d_gettitlesizea :: Ptr RawTH1D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_getTitleSizeA" c_th1d_gettitlesizea ::+ Ptr RawTH1D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1D.h TH1D_getTickLengthA"- c_th1d_getticklengtha :: Ptr RawTH1D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_getTickLengthA" c_th1d_getticklengtha ::+ Ptr RawTH1D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBarOffset"- c_th1d_getbaroffset :: Ptr RawTH1D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetBarOffset" c_th1d_getbaroffset ::+ Ptr RawTH1D -> IO CFloat -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBarWidth"- c_th1d_getbarwidth :: Ptr RawTH1D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetBarWidth" c_th1d_getbarwidth ::+ Ptr RawTH1D -> IO CFloat -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetContour"- c_th1d_getcontour :: Ptr RawTH1D -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetContour" c_th1d_getcontour ::+ Ptr RawTH1D -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetContourLevel"- c_th1d_getcontourlevel :: Ptr RawTH1D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetContourLevel" c_th1d_getcontourlevel ::+ Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetContourLevelPad"- c_th1d_getcontourlevelpad :: Ptr RawTH1D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetContourLevelPad" c_th1d_getcontourlevelpad+ :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBin"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_GetBin" c_th1d_getbin :: Ptr RawTH1D -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinCenter"- c_th1d_getbincenter :: Ptr RawTH1D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetBinCenter" c_th1d_getbincenter ::+ Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinContent1"- c_th1d_getbincontent1 :: Ptr RawTH1D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetBinContent1" c_th1d_getbincontent1 ::+ Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinContent2"- c_th1d_getbincontent2 :: Ptr RawTH1D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetBinContent2" c_th1d_getbincontent2 ::+ Ptr RawTH1D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinContent3"- c_th1d_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetBinContent3" c_th1d_getbincontent3 :: Ptr RawTH1D -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinError1"- c_th1d_getbinerror1 :: Ptr RawTH1D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetBinError1" c_th1d_getbinerror1 ::+ Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinError2"- c_th1d_getbinerror2 :: Ptr RawTH1D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetBinError2" c_th1d_getbinerror2 ::+ Ptr RawTH1D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinError3"- c_th1d_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetBinError3" c_th1d_getbinerror3 :: Ptr RawTH1D -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinLowEdge"- c_th1d_getbinlowedge :: Ptr RawTH1D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetBinLowEdge" c_th1d_getbinlowedge ::+ Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinWidth"- c_th1d_getbinwidth :: Ptr RawTH1D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetBinWidth" c_th1d_getbinwidth ::+ Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetCellContent"- c_th1d_getcellcontent :: Ptr RawTH1D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetCellContent" c_th1d_getcellcontent ::+ Ptr RawTH1D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetCellError"- c_th1d_getcellerror :: Ptr RawTH1D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetCellError" c_th1d_getcellerror ::+ Ptr RawTH1D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetEntries"- c_th1d_getentries :: Ptr RawTH1D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetEntries" c_th1d_getentries ::+ Ptr RawTH1D -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_GetEffectiveEntries" c_th1d_geteffectiveentries :: Ptr RawTH1D -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetFunction"- c_th1d_getfunction :: Ptr RawTH1D -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetFunction" c_th1d_getfunction ::+ Ptr RawTH1D -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetDimension"- c_th1d_getdimension :: Ptr RawTH1D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetDimension" c_th1d_getdimension ::+ Ptr RawTH1D -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetKurtosis"- c_th1d_getkurtosis :: Ptr RawTH1D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetKurtosis" c_th1d_getkurtosis ::+ Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetLowEdge"- c_th1d_getlowedge :: Ptr RawTH1D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetLowEdge" c_th1d_getlowedge ::+ Ptr RawTH1D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_getMaximumTH1"- c_th1d_getmaximumth1 :: Ptr RawTH1D -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_getMaximumTH1" c_th1d_getmaximumth1 ::+ Ptr RawTH1D -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMaximumBin"- c_th1d_getmaximumbin :: Ptr RawTH1D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetMaximumBin" c_th1d_getmaximumbin ::+ Ptr RawTH1D -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMaximumStored"- c_th1d_getmaximumstored :: Ptr RawTH1D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetMaximumStored" c_th1d_getmaximumstored ::+ Ptr RawTH1D -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_getMinimumTH1"- c_th1d_getminimumth1 :: Ptr RawTH1D -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_getMinimumTH1" c_th1d_getminimumth1 ::+ Ptr RawTH1D -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMinimumBin"- c_th1d_getminimumbin :: Ptr RawTH1D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetMinimumBin" c_th1d_getminimumbin ::+ Ptr RawTH1D -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMinimumStored"- c_th1d_getminimumstored :: Ptr RawTH1D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetMinimumStored" c_th1d_getminimumstored ::+ Ptr RawTH1D -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMean"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_GetMean" c_th1d_getmean :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMeanError"- c_th1d_getmeanerror :: Ptr RawTH1D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetMeanError" c_th1d_getmeanerror ::+ Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_GetNbinsX" c_th1d_getnbinsx :: Ptr RawTH1D -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_GetNbinsY" c_th1d_getnbinsy :: Ptr RawTH1D -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_GetNbinsZ" c_th1d_getnbinsz :: Ptr RawTH1D -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_getQuantilesTH1"- c_th1d_getquantilesth1 ::- Ptr RawTH1D -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_getQuantilesTH1" c_th1d_getquantilesth1 ::+ Ptr RawTH1D -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetRandom"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_GetRandom" c_th1d_getrandom :: Ptr RawTH1D -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetStats"- c_th1d_getstats :: Ptr RawTH1D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_GetStats"+ c_th1d_getstats :: Ptr RawTH1D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetSumOfWeights"- c_th1d_getsumofweights :: Ptr RawTH1D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetSumOfWeights" c_th1d_getsumofweights ::+ Ptr RawTH1D -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetSumw2"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_GetSumw2" c_th1d_getsumw2 :: Ptr RawTH1D -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_GetSumw2N" c_th1d_getsumw2n :: Ptr RawTH1D -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetRMS"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_GetRMS" c_th1d_getrms :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetRMSError"- c_th1d_getrmserror :: Ptr RawTH1D -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH1D.h TH1D_GetSkewness"- c_th1d_getskewness :: Ptr RawTH1D -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH1D.h TH1D_integral1"- c_th1d_integral1 ::- Ptr RawTH1D -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH1D.h TH1D_interpolate1"- c_th1d_interpolate1 :: Ptr RawTH1D -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetRMSError" c_th1d_getrmserror ::+ Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_interpolate2"- c_th1d_interpolate2 ::- Ptr RawTH1D -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetSkewness" c_th1d_getskewness ::+ Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_interpolate3"- c_th1d_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_interpolate3" c_th1d_interpolate3 :: Ptr RawTH1D -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_KolmogorovTest"- c_th1d_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_KolmogorovTest" c_th1d_kolmogorovtest :: Ptr RawTH1D -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH1D.h TH1D_LabelsDeflate"- c_th1d_labelsdeflate :: Ptr RawTH1D -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_LabelsDeflate" c_th1d_labelsdeflate ::+ Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_LabelsInflate"- c_th1d_labelsinflate :: Ptr RawTH1D -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_LabelsInflate" c_th1d_labelsinflate ::+ Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_LabelsOption"- c_th1d_labelsoption :: Ptr RawTH1D -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_LabelsOption" c_th1d_labelsoption ::+ Ptr RawTH1D -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_multiflyF"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_multiflyF" c_th1d_multiflyf :: Ptr RawTH1D -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_Multiply"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Multiply" c_th1d_multiply :: Ptr RawTH1D -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_PutStats"- c_th1d_putstats :: Ptr RawTH1D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_PutStats"+ c_th1d_putstats :: Ptr RawTH1D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_Rebin" c_th1d_rebin- ::- Ptr RawTH1D -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Rebin"+ c_th1d_rebin ::+ Ptr RawTH1D -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1D.h TH1D_RebinAxis"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_RebinAxis" c_th1d_rebinaxis :: Ptr RawTH1D -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_Rebuild"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Rebuild" c_th1d_rebuild :: Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_RecursiveRemove"- c_th1d_recursiveremove :: Ptr RawTH1D -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_RecursiveRemove" c_th1d_recursiveremove ::+ Ptr RawTH1D -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_Reset" c_th1d_reset- :: Ptr RawTH1D -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Reset"+ c_th1d_reset :: Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_ResetStats"- c_th1d_resetstats :: Ptr RawTH1D -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_ResetStats" c_th1d_resetstats ::+ Ptr RawTH1D -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_Scale" c_th1d_scale- :: Ptr RawTH1D -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Scale"+ c_th1d_scale :: Ptr RawTH1D -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setAxisColorA"- c_th1d_setaxiscolora :: Ptr RawTH1D -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_setAxisColorA" c_th1d_setaxiscolora ::+ Ptr RawTH1D -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetAxisRange"- c_th1d_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetAxisRange" c_th1d_setaxisrange :: Ptr RawTH1D -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetBarOffset"- c_th1d_setbaroffset :: Ptr RawTH1D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetBarOffset" c_th1d_setbaroffset ::+ Ptr RawTH1D -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetBarWidth"- c_th1d_setbarwidth :: Ptr RawTH1D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetBarWidth" c_th1d_setbarwidth ::+ Ptr RawTH1D -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setBinContent1"- c_th1d_setbincontent1 :: Ptr RawTH1D -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_setBinContent1" c_th1d_setbincontent1 ::+ Ptr RawTH1D -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setBinContent2"- c_th1d_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_setBinContent2" c_th1d_setbincontent2 :: Ptr RawTH1D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setBinContent3"- c_th1d_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_setBinContent3" c_th1d_setbincontent3 :: Ptr RawTH1D -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setBinError1"- c_th1d_setbinerror1 :: Ptr RawTH1D -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_setBinError1" c_th1d_setbinerror1 ::+ Ptr RawTH1D -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setBinError2"- c_th1d_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_setBinError2" c_th1d_setbinerror2 :: Ptr RawTH1D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setBinError3"- c_th1d_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_setBinError3" c_th1d_setbinerror3 :: Ptr RawTH1D -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setBins1"- c_th1d_setbins1 :: Ptr RawTH1D -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_setBins1"+ c_th1d_setbins1 :: Ptr RawTH1D -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setBins2"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_setBins2" c_th1d_setbins2 ::- Ptr RawTH1D ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH1D -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setBins3"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_setBins3" c_th1d_setbins3 :: Ptr RawTH1D -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetBinsLength"- c_th1d_setbinslength :: Ptr RawTH1D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetBinsLength" c_th1d_setbinslength ::+ Ptr RawTH1D -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetBuffer"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_SetBuffer" c_th1d_setbuffer :: Ptr RawTH1D -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetCellContent"- c_th1d_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetCellContent" c_th1d_setcellcontent :: Ptr RawTH1D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetContent"- c_th1d_setcontent :: Ptr RawTH1D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetContent" c_th1d_setcontent ::+ Ptr RawTH1D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetContour"- c_th1d_setcontour :: Ptr RawTH1D -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetContour" c_th1d_setcontour ::+ Ptr RawTH1D -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetContourLevel"- c_th1d_setcontourlevel :: Ptr RawTH1D -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetContourLevel" c_th1d_setcontourlevel ::+ Ptr RawTH1D -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetDirectory"- c_th1d_setdirectory :: Ptr RawTH1D -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetDirectory" c_th1d_setdirectory ::+ Ptr RawTH1D -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetEntries"- c_th1d_setentries :: Ptr RawTH1D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetEntries" c_th1d_setentries ::+ Ptr RawTH1D -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetError"- c_th1d_seterror :: Ptr RawTH1D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_SetError"+ c_th1d_seterror :: Ptr RawTH1D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setLabelColorA"- c_th1d_setlabelcolora :: Ptr RawTH1D -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_setLabelColorA" c_th1d_setlabelcolora ::+ Ptr RawTH1D -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setLabelSizeA"- c_th1d_setlabelsizea :: Ptr RawTH1D -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_setLabelSizeA" c_th1d_setlabelsizea ::+ Ptr RawTH1D -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setLabelFontA"- c_th1d_setlabelfonta :: Ptr RawTH1D -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_setLabelFontA" c_th1d_setlabelfonta ::+ Ptr RawTH1D -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_setLabelOffsetA"- c_th1d_setlabeloffseta ::- Ptr RawTH1D -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_setLabelOffsetA" c_th1d_setlabeloffseta ::+ Ptr RawTH1D -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetMaximum"- c_th1d_setmaximum :: Ptr RawTH1D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetMaximum" c_th1d_setmaximum ::+ Ptr RawTH1D -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetMinimum"- c_th1d_setminimum :: Ptr RawTH1D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetMinimum" c_th1d_setminimum ::+ Ptr RawTH1D -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetNormFactor"- c_th1d_setnormfactor :: Ptr RawTH1D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetNormFactor" c_th1d_setnormfactor ::+ Ptr RawTH1D -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetStats"- c_th1d_setstats :: Ptr RawTH1D -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_SetStats"+ c_th1d_setstats :: Ptr RawTH1D -> CBool -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetOption"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_SetOption" c_th1d_setoption :: Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetXTitle"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_SetXTitle" c_th1d_setxtitle :: Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetYTitle"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_SetYTitle" c_th1d_setytitle :: Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetZTitle"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_SetZTitle" c_th1d_setztitle :: Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_ShowBackground"- c_th1d_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_ShowBackground" c_th1d_showbackground :: Ptr RawTH1D -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1D.h TH1D_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_ShowPeaks" c_th1d_showpeaks :: Ptr RawTH1D -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_Smooth"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Smooth" c_th1d_smooth :: Ptr RawTH1D -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_Sumw2" c_th1d_sumw2- :: Ptr RawTH1D -> IO ()+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Sumw2"+ c_th1d_sumw2 :: Ptr RawTH1D -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetName"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_SetName" c_th1d_setname :: Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetNameTitle"- c_th1d_setnametitle :: Ptr RawTH1D -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetNameTitle" c_th1d_setnametitle ::+ Ptr RawTH1D -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetTitle"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_SetTitle" c_th1d_settitle :: Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetLineColor"- c_th1d_getlinecolor :: Ptr RawTH1D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetLineColor" c_th1d_getlinecolor ::+ Ptr RawTH1D -> IO CShort -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetLineStyle"- c_th1d_getlinestyle :: Ptr RawTH1D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetLineStyle" c_th1d_getlinestyle ::+ Ptr RawTH1D -> IO CShort -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetLineWidth"- c_th1d_getlinewidth :: Ptr RawTH1D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetLineWidth" c_th1d_getlinewidth ::+ Ptr RawTH1D -> IO CShort -foreign import ccall safe "HROOTHistTH1D.h TH1D_ResetAttLine"- c_th1d_resetattline :: Ptr RawTH1D -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_ResetAttLine" c_th1d_resetattline ::+ Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetLineAttributes"- c_th1d_setlineattributes :: Ptr RawTH1D -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetLineAttributes" c_th1d_setlineattributes+ :: Ptr RawTH1D -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetLineColor"- c_th1d_setlinecolor :: Ptr RawTH1D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetLineColor" c_th1d_setlinecolor ::+ Ptr RawTH1D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetLineStyle"- c_th1d_setlinestyle :: Ptr RawTH1D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetLineStyle" c_th1d_setlinestyle ::+ Ptr RawTH1D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetLineWidth"- c_th1d_setlinewidth :: Ptr RawTH1D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetLineWidth" c_th1d_setlinewidth ::+ Ptr RawTH1D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetFillColor"- c_th1d_setfillcolor :: Ptr RawTH1D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetFillColor" c_th1d_setfillcolor ::+ Ptr RawTH1D -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetFillStyle"- c_th1d_setfillstyle :: Ptr RawTH1D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetFillStyle" c_th1d_setfillstyle ::+ Ptr RawTH1D -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMarkerColor"- c_th1d_getmarkercolor :: Ptr RawTH1D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetMarkerColor" c_th1d_getmarkercolor ::+ Ptr RawTH1D -> IO CShort -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMarkerStyle"- c_th1d_getmarkerstyle :: Ptr RawTH1D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetMarkerStyle" c_th1d_getmarkerstyle ::+ Ptr RawTH1D -> IO CShort -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMarkerSize"- c_th1d_getmarkersize :: Ptr RawTH1D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_GetMarkerSize" c_th1d_getmarkersize ::+ Ptr RawTH1D -> IO CFloat -foreign import ccall safe "HROOTHistTH1D.h TH1D_ResetAttMarker"- c_th1d_resetattmarker :: Ptr RawTH1D -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_ResetAttMarker" c_th1d_resetattmarker ::+ Ptr RawTH1D -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_SetMarkerAttributes" c_th1d_setmarkerattributes :: Ptr RawTH1D -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetMarkerColor"- c_th1d_setmarkercolor :: Ptr RawTH1D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetMarkerColor" c_th1d_setmarkercolor ::+ Ptr RawTH1D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetMarkerStyle"- c_th1d_setmarkerstyle :: Ptr RawTH1D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetMarkerStyle" c_th1d_setmarkerstyle ::+ Ptr RawTH1D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SetMarkerSize"- c_th1d_setmarkersize :: Ptr RawTH1D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_SetMarkerSize" c_th1d_setmarkersize ::+ Ptr RawTH1D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_Draw" c_th1d_draw- :: Ptr RawTH1D -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Clear"+ c_th1d_clear :: Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_FindObject"- c_th1d_findobject :: Ptr RawTH1D -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Draw"+ c_th1d_draw :: Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_GetName"+foreign import ccall interruptible+ "HROOTHistTH1D.h TH1D_FindObject" c_th1d_findobject ::+ Ptr RawTH1D -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH1D.h TH1D_GetName" c_th1d_getname :: Ptr RawTH1D -> IO CString -foreign import ccall safe "HROOTHistTH1D.h TH1D_IsA" c_th1d_isa ::- Ptr RawTH1D -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_IsA"+ c_th1d_isa :: Ptr RawTH1D -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH1D.h TH1D_Paint" c_th1d_paint- :: Ptr RawTH1D -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Paint"+ c_th1d_paint :: Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_printObj"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_printObj" c_th1d_printobj :: Ptr RawTH1D -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_SaveAs"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_SaveAs" c_th1d_saveas :: Ptr RawTH1D -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_Write" c_th1d_write- :: Ptr RawTH1D -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Write"+ c_th1d_write :: Ptr RawTH1D -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1D.h TH1D_delete"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_Write_"+ c_th1d_write_ :: Ptr RawTH1D -> IO CInt++foreign import ccall interruptible "HROOTHistTH1D.h TH1D_delete" c_th1d_delete :: Ptr RawTH1D -> IO () -foreign import ccall safe "HROOTHistTH1D.h TH1D_newTH1D"+foreign import ccall interruptible "HROOTHistTH1D.h TH1D_GetAt"+ c_th1d_getat :: Ptr RawTH1D -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH1D.h TH1D_SetArray"+ c_th1d_setarray :: Ptr RawTH1D -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH1D.h TH1D_SetAt"+ c_th1d_setat :: Ptr RawTH1D -> CDouble -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH1D.h TH1D_newTH1D" c_th1d_newth1d :: CString -> CString -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH1D)
src/HROOT/Hist/TH1D/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH1D.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.FFI import HROOT.Hist.TH1D.Interface import HROOT.Hist.TH1D.Cast+import HROOT.Hist.TH1D.RawType+import HROOT.Hist.TH1D.Cast+import HROOT.Hist.TH1D.Interface import HROOT.Core.TDirectory.RawType import HROOT.Core.TDirectory.Cast import HROOT.Core.TDirectory.Interface@@ -45,20 +54,19 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH1D TH1D+instance () => ITH1D (TH1D) where -instance ITH1 TH1D where+instance () => ITH1 (TH1D) where add = xform2 c_th1d_add addBinContent = xform2 c_th1d_addbincontent chi2Test = xform3 c_th1d_chi2test- computeIntegral = xform0 c_th1d_computeintegral directoryAutoAdd = xform1 c_th1d_directoryautoadd divide = xform5 c_th1d_divide drawCopyTH1 = xform1 c_th1d_drawcopyth1@@ -130,9 +138,6 @@ getRMS = xform1 c_th1d_getrms getRMSError = xform1 c_th1d_getrmserror getSkewness = xform1 c_th1d_getskewness- integral1 = xform3 c_th1d_integral1- interpolate1 = xform1 c_th1d_interpolate1- interpolate2 = xform2 c_th1d_interpolate2 interpolate3 = xform3 c_th1d_interpolate3 kolmogorovTest = xform2 c_th1d_kolmogorovtest labelsDeflate = xform1 c_th1d_labelsdeflate@@ -187,14 +192,14 @@ smooth = xform2 c_th1d_smooth sumw2 = xform0 c_th1d_sumw2 -instance ITArrayD TH1D+instance () => ITArrayD (TH1D) where -instance ITNamed TH1D where+instance () => ITNamed (TH1D) where setName = xform1 c_th1d_setname setNameTitle = xform2 c_th1d_setnametitle setTitle = xform1 c_th1d_settitle -instance ITAttLine TH1D where+instance () => ITAttLine (TH1D) where getLineColor = xform0 c_th1d_getlinecolor getLineStyle = xform0 c_th1d_getlinestyle getLineWidth = xform0 c_th1d_getlinewidth@@ -204,11 +209,11 @@ setLineStyle = xform1 c_th1d_setlinestyle setLineWidth = xform1 c_th1d_setlinewidth -instance ITAttFill TH1D where+instance () => ITAttFill (TH1D) where setFillColor = xform1 c_th1d_setfillcolor setFillStyle = xform1 c_th1d_setfillstyle -instance ITAttMarker TH1D where+instance () => ITAttMarker (TH1D) where getMarkerColor = xform0 c_th1d_getmarkercolor getMarkerStyle = xform0 c_th1d_getmarkerstyle getMarkerSize = xform0 c_th1d_getmarkersize@@ -218,7 +223,8 @@ setMarkerStyle = xform1 c_th1d_setmarkerstyle setMarkerSize = xform1 c_th1d_setmarkersize -instance ITObject TH1D where+instance () => ITObject (TH1D) where+ clear = xform1 c_th1d_clear draw = xform1 c_th1d_draw findObject = xform1 c_th1d_findobject getName = xform0 c_th1d_getname@@ -227,11 +233,15 @@ printObj = xform1 c_th1d_printobj saveAs = xform2 c_th1d_saveas write = xform3 c_th1d_write+ write_ = xform0 c_th1d_write_ -instance IDeletable TH1D where+instance () => IDeletable (TH1D) where delete = xform0 c_th1d_delete -instance ITArray TH1D+instance () => ITArray (TH1D) where+ getAt = xform1 c_th1d_getat+ setArray = xform1 c_th1d_setarray+ setAt = xform2 c_th1d_setat newTH1D :: (Castable c1 CString, Castable c0 CString) =>
src/HROOT/Hist/TH1D/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH1D.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH1.Interface import HROOT.Core.TArrayD.Interface -class (ITH1 a, ITArrayD a) => ITH1D a+class (ITH1 a, ITArrayD a) => ITH1D a where upcastTH1D :: forall a . (FPtr a, ITH1D a) => a -> TH1D upcastTH1D h
src/HROOT/Hist/TH1D/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH1D newtype TH1D = TH1D (Ptr RawTH1D)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH1D where+instance () => FPtr (TH1D) where type Raw TH1D = RawTH1D get_fptr (TH1D ptr) = ptr cast_fptr_to_obj = TH1D
src/HROOT/Hist/TH1F/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH1F.RawType import HROOT.Hist.TH1F.Interface -instance (ITH1F a, FPtr a) => Castable a (Ptr RawTH1F) where+instance (ITH1F a, FPtr a) => Castable (a) (Ptr RawTH1F) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH1F (Ptr RawTH1F) where+instance () => Castable (TH1F) (Ptr RawTH1F) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH1F/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH1F.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH1F.RawType+import HROOT.Hist.TH1F.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType import HROOT.Hist.TF1.RawType@@ -11,529 +14,615 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH1F.h TH1F_Add" c_th1f_add ::- Ptr RawTH1F -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Add"+ c_th1f_add :: Ptr RawTH1F -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_AddBinContent"- c_th1f_addbincontent :: Ptr RawTH1F -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_AddBinContent" c_th1f_addbincontent ::+ Ptr RawTH1F -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_Chi2Test"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Chi2Test" c_th1f_chi2test ::- Ptr RawTH1F -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH1F.h TH1F_ComputeIntegral"- c_th1f_computeintegral :: Ptr RawTH1F -> IO CDouble+ Ptr RawTH1F -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_DirectoryAutoAdd"- c_th1f_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_DirectoryAutoAdd" c_th1f_directoryautoadd :: Ptr RawTH1F -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_Divide"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Divide" c_th1f_divide :: Ptr RawTH1F -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_drawCopyTH1"- c_th1f_drawcopyth1 :: Ptr RawTH1F -> CString -> IO (Ptr RawTH1F)+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_drawCopyTH1" c_th1f_drawcopyth1 ::+ Ptr RawTH1F -> CString -> IO (Ptr RawTH1F) -foreign import ccall safe "HROOTHistTH1F.h TH1F_DrawNormalized"- c_th1f_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_DrawNormalized" c_th1f_drawnormalized :: Ptr RawTH1F -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1F.h TH1F_drawPanelTH1"- c_th1f_drawpanelth1 :: Ptr RawTH1F -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_drawPanelTH1" c_th1f_drawpanelth1 ::+ Ptr RawTH1F -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_BufferEmpty"- c_th1f_bufferempty :: Ptr RawTH1F -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_BufferEmpty" c_th1f_bufferempty ::+ Ptr RawTH1F -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_evalF" c_th1f_evalf- :: Ptr RawTH1F -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_evalF"+ c_th1f_evalf :: Ptr RawTH1F -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_FFT" c_th1f_fft ::+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_FFT"+ c_th1f_fft :: Ptr RawTH1F -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1F.h TH1F_fill1" c_th1f_fill1- :: Ptr RawTH1F -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_fill1"+ c_th1f_fill1 :: Ptr RawTH1F -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_fill1w"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_fill1w" c_th1f_fill1w :: Ptr RawTH1F -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_fillN1"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_fillN1" c_th1f_filln1 ::- Ptr RawTH1F ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH1F -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_FillRandom"- c_th1f_fillrandom :: Ptr RawTH1F -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_FillRandom" c_th1f_fillrandom ::+ Ptr RawTH1F -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_FindBin"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_FindBin" c_th1f_findbin :: Ptr RawTH1F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_FindFixBin"- c_th1f_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_FindFixBin" c_th1f_findfixbin :: Ptr RawTH1F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_FindFirstBinAbove"- c_th1f_findfirstbinabove ::- Ptr RawTH1F -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_FindFirstBinAbove" c_th1f_findfirstbinabove+ :: Ptr RawTH1F -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_FindLastBinAbove"- c_th1f_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_FindLastBinAbove" c_th1f_findlastbinabove :: Ptr RawTH1F -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_Fit" c_th1f_fit ::+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Fit"+ c_th1f_fit :: Ptr RawTH1F -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_FitPanelTH1"- c_th1f_fitpanelth1 :: Ptr RawTH1F -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_FitPanelTH1" c_th1f_fitpanelth1 ::+ Ptr RawTH1F -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_getNdivisionA"- c_th1f_getndivisiona :: Ptr RawTH1F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_getNdivisionA" c_th1f_getndivisiona ::+ Ptr RawTH1F -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_getAxisColorA"- c_th1f_getaxiscolora :: Ptr RawTH1F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_getAxisColorA" c_th1f_getaxiscolora ::+ Ptr RawTH1F -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1F.h TH1F_getLabelColorA"- c_th1f_getlabelcolora :: Ptr RawTH1F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_getLabelColorA" c_th1f_getlabelcolora ::+ Ptr RawTH1F -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1F.h TH1F_getLabelFontA"- c_th1f_getlabelfonta :: Ptr RawTH1F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_getLabelFontA" c_th1f_getlabelfonta ::+ Ptr RawTH1F -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1F.h TH1F_getLabelOffsetA"- c_th1f_getlabeloffseta :: Ptr RawTH1F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_getLabelOffsetA" c_th1f_getlabeloffseta ::+ Ptr RawTH1F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1F.h TH1F_getLabelSizeA"- c_th1f_getlabelsizea :: Ptr RawTH1F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_getLabelSizeA" c_th1f_getlabelsizea ::+ Ptr RawTH1F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1F.h TH1F_getTitleFontA"- c_th1f_gettitlefonta :: Ptr RawTH1F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_getTitleFontA" c_th1f_gettitlefonta ::+ Ptr RawTH1F -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1F.h TH1F_getTitleOffsetA"- c_th1f_gettitleoffseta :: Ptr RawTH1F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_getTitleOffsetA" c_th1f_gettitleoffseta ::+ Ptr RawTH1F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1F.h TH1F_getTitleSizeA"- c_th1f_gettitlesizea :: Ptr RawTH1F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_getTitleSizeA" c_th1f_gettitlesizea ::+ Ptr RawTH1F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1F.h TH1F_getTickLengthA"- c_th1f_getticklengtha :: Ptr RawTH1F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_getTickLengthA" c_th1f_getticklengtha ::+ Ptr RawTH1F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBarOffset"- c_th1f_getbaroffset :: Ptr RawTH1F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetBarOffset" c_th1f_getbaroffset ::+ Ptr RawTH1F -> IO CFloat -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBarWidth"- c_th1f_getbarwidth :: Ptr RawTH1F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetBarWidth" c_th1f_getbarwidth ::+ Ptr RawTH1F -> IO CFloat -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetContour"- c_th1f_getcontour :: Ptr RawTH1F -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetContour" c_th1f_getcontour ::+ Ptr RawTH1F -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetContourLevel"- c_th1f_getcontourlevel :: Ptr RawTH1F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetContourLevel" c_th1f_getcontourlevel ::+ Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetContourLevelPad"- c_th1f_getcontourlevelpad :: Ptr RawTH1F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetContourLevelPad" c_th1f_getcontourlevelpad+ :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBin"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_GetBin" c_th1f_getbin :: Ptr RawTH1F -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinCenter"- c_th1f_getbincenter :: Ptr RawTH1F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetBinCenter" c_th1f_getbincenter ::+ Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinContent1"- c_th1f_getbincontent1 :: Ptr RawTH1F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetBinContent1" c_th1f_getbincontent1 ::+ Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinContent2"- c_th1f_getbincontent2 :: Ptr RawTH1F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetBinContent2" c_th1f_getbincontent2 ::+ Ptr RawTH1F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinContent3"- c_th1f_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetBinContent3" c_th1f_getbincontent3 :: Ptr RawTH1F -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinError1"- c_th1f_getbinerror1 :: Ptr RawTH1F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetBinError1" c_th1f_getbinerror1 ::+ Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinError2"- c_th1f_getbinerror2 :: Ptr RawTH1F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetBinError2" c_th1f_getbinerror2 ::+ Ptr RawTH1F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinError3"- c_th1f_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetBinError3" c_th1f_getbinerror3 :: Ptr RawTH1F -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinLowEdge"- c_th1f_getbinlowedge :: Ptr RawTH1F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetBinLowEdge" c_th1f_getbinlowedge ::+ Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinWidth"- c_th1f_getbinwidth :: Ptr RawTH1F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetBinWidth" c_th1f_getbinwidth ::+ Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetCellContent"- c_th1f_getcellcontent :: Ptr RawTH1F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetCellContent" c_th1f_getcellcontent ::+ Ptr RawTH1F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetCellError"- c_th1f_getcellerror :: Ptr RawTH1F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetCellError" c_th1f_getcellerror ::+ Ptr RawTH1F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetEntries"- c_th1f_getentries :: Ptr RawTH1F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetEntries" c_th1f_getentries ::+ Ptr RawTH1F -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_GetEffectiveEntries" c_th1f_geteffectiveentries :: Ptr RawTH1F -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetFunction"- c_th1f_getfunction :: Ptr RawTH1F -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetFunction" c_th1f_getfunction ::+ Ptr RawTH1F -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetDimension"- c_th1f_getdimension :: Ptr RawTH1F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetDimension" c_th1f_getdimension ::+ Ptr RawTH1F -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetKurtosis"- c_th1f_getkurtosis :: Ptr RawTH1F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetKurtosis" c_th1f_getkurtosis ::+ Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetLowEdge"- c_th1f_getlowedge :: Ptr RawTH1F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetLowEdge" c_th1f_getlowedge ::+ Ptr RawTH1F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_getMaximumTH1"- c_th1f_getmaximumth1 :: Ptr RawTH1F -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_getMaximumTH1" c_th1f_getmaximumth1 ::+ Ptr RawTH1F -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMaximumBin"- c_th1f_getmaximumbin :: Ptr RawTH1F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetMaximumBin" c_th1f_getmaximumbin ::+ Ptr RawTH1F -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMaximumStored"- c_th1f_getmaximumstored :: Ptr RawTH1F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetMaximumStored" c_th1f_getmaximumstored ::+ Ptr RawTH1F -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_getMinimumTH1"- c_th1f_getminimumth1 :: Ptr RawTH1F -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_getMinimumTH1" c_th1f_getminimumth1 ::+ Ptr RawTH1F -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMinimumBin"- c_th1f_getminimumbin :: Ptr RawTH1F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetMinimumBin" c_th1f_getminimumbin ::+ Ptr RawTH1F -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMinimumStored"- c_th1f_getminimumstored :: Ptr RawTH1F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetMinimumStored" c_th1f_getminimumstored ::+ Ptr RawTH1F -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMean"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_GetMean" c_th1f_getmean :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMeanError"- c_th1f_getmeanerror :: Ptr RawTH1F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetMeanError" c_th1f_getmeanerror ::+ Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_GetNbinsX" c_th1f_getnbinsx :: Ptr RawTH1F -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_GetNbinsY" c_th1f_getnbinsy :: Ptr RawTH1F -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_GetNbinsZ" c_th1f_getnbinsz :: Ptr RawTH1F -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_getQuantilesTH1"- c_th1f_getquantilesth1 ::- Ptr RawTH1F -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_getQuantilesTH1" c_th1f_getquantilesth1 ::+ Ptr RawTH1F -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetRandom"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_GetRandom" c_th1f_getrandom :: Ptr RawTH1F -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetStats"- c_th1f_getstats :: Ptr RawTH1F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_GetStats"+ c_th1f_getstats :: Ptr RawTH1F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetSumOfWeights"- c_th1f_getsumofweights :: Ptr RawTH1F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetSumOfWeights" c_th1f_getsumofweights ::+ Ptr RawTH1F -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetSumw2"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_GetSumw2" c_th1f_getsumw2 :: Ptr RawTH1F -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_GetSumw2N" c_th1f_getsumw2n :: Ptr RawTH1F -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetRMS"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_GetRMS" c_th1f_getrms :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetRMSError"- c_th1f_getrmserror :: Ptr RawTH1F -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH1F.h TH1F_GetSkewness"- c_th1f_getskewness :: Ptr RawTH1F -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH1F.h TH1F_integral1"- c_th1f_integral1 ::- Ptr RawTH1F -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH1F.h TH1F_interpolate1"- c_th1f_interpolate1 :: Ptr RawTH1F -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetRMSError" c_th1f_getrmserror ::+ Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_interpolate2"- c_th1f_interpolate2 ::- Ptr RawTH1F -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetSkewness" c_th1f_getskewness ::+ Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_interpolate3"- c_th1f_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_interpolate3" c_th1f_interpolate3 :: Ptr RawTH1F -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_KolmogorovTest"- c_th1f_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_KolmogorovTest" c_th1f_kolmogorovtest :: Ptr RawTH1F -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH1F.h TH1F_LabelsDeflate"- c_th1f_labelsdeflate :: Ptr RawTH1F -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_LabelsDeflate" c_th1f_labelsdeflate ::+ Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_LabelsInflate"- c_th1f_labelsinflate :: Ptr RawTH1F -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_LabelsInflate" c_th1f_labelsinflate ::+ Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_LabelsOption"- c_th1f_labelsoption :: Ptr RawTH1F -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_LabelsOption" c_th1f_labelsoption ::+ Ptr RawTH1F -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_multiflyF"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_multiflyF" c_th1f_multiflyf :: Ptr RawTH1F -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_Multiply"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Multiply" c_th1f_multiply :: Ptr RawTH1F -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_PutStats"- c_th1f_putstats :: Ptr RawTH1F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_PutStats"+ c_th1f_putstats :: Ptr RawTH1F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_Rebin" c_th1f_rebin- ::- Ptr RawTH1F -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Rebin"+ c_th1f_rebin ::+ Ptr RawTH1F -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1F.h TH1F_RebinAxis"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_RebinAxis" c_th1f_rebinaxis :: Ptr RawTH1F -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_Rebuild"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Rebuild" c_th1f_rebuild :: Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_RecursiveRemove"- c_th1f_recursiveremove :: Ptr RawTH1F -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_RecursiveRemove" c_th1f_recursiveremove ::+ Ptr RawTH1F -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_Reset" c_th1f_reset- :: Ptr RawTH1F -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Reset"+ c_th1f_reset :: Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_ResetStats"- c_th1f_resetstats :: Ptr RawTH1F -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_ResetStats" c_th1f_resetstats ::+ Ptr RawTH1F -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_Scale" c_th1f_scale- :: Ptr RawTH1F -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Scale"+ c_th1f_scale :: Ptr RawTH1F -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setAxisColorA"- c_th1f_setaxiscolora :: Ptr RawTH1F -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_setAxisColorA" c_th1f_setaxiscolora ::+ Ptr RawTH1F -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetAxisRange"- c_th1f_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetAxisRange" c_th1f_setaxisrange :: Ptr RawTH1F -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetBarOffset"- c_th1f_setbaroffset :: Ptr RawTH1F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetBarOffset" c_th1f_setbaroffset ::+ Ptr RawTH1F -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetBarWidth"- c_th1f_setbarwidth :: Ptr RawTH1F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetBarWidth" c_th1f_setbarwidth ::+ Ptr RawTH1F -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setBinContent1"- c_th1f_setbincontent1 :: Ptr RawTH1F -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_setBinContent1" c_th1f_setbincontent1 ::+ Ptr RawTH1F -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setBinContent2"- c_th1f_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_setBinContent2" c_th1f_setbincontent2 :: Ptr RawTH1F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setBinContent3"- c_th1f_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_setBinContent3" c_th1f_setbincontent3 :: Ptr RawTH1F -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setBinError1"- c_th1f_setbinerror1 :: Ptr RawTH1F -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_setBinError1" c_th1f_setbinerror1 ::+ Ptr RawTH1F -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setBinError2"- c_th1f_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_setBinError2" c_th1f_setbinerror2 :: Ptr RawTH1F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setBinError3"- c_th1f_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_setBinError3" c_th1f_setbinerror3 :: Ptr RawTH1F -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setBins1"- c_th1f_setbins1 :: Ptr RawTH1F -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_setBins1"+ c_th1f_setbins1 :: Ptr RawTH1F -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setBins2"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_setBins2" c_th1f_setbins2 ::- Ptr RawTH1F ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH1F -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setBins3"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_setBins3" c_th1f_setbins3 :: Ptr RawTH1F -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetBinsLength"- c_th1f_setbinslength :: Ptr RawTH1F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetBinsLength" c_th1f_setbinslength ::+ Ptr RawTH1F -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetBuffer"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_SetBuffer" c_th1f_setbuffer :: Ptr RawTH1F -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetCellContent"- c_th1f_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetCellContent" c_th1f_setcellcontent :: Ptr RawTH1F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetContent"- c_th1f_setcontent :: Ptr RawTH1F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetContent" c_th1f_setcontent ::+ Ptr RawTH1F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetContour"- c_th1f_setcontour :: Ptr RawTH1F -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetContour" c_th1f_setcontour ::+ Ptr RawTH1F -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetContourLevel"- c_th1f_setcontourlevel :: Ptr RawTH1F -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetContourLevel" c_th1f_setcontourlevel ::+ Ptr RawTH1F -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetDirectory"- c_th1f_setdirectory :: Ptr RawTH1F -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetDirectory" c_th1f_setdirectory ::+ Ptr RawTH1F -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetEntries"- c_th1f_setentries :: Ptr RawTH1F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetEntries" c_th1f_setentries ::+ Ptr RawTH1F -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetError"- c_th1f_seterror :: Ptr RawTH1F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_SetError"+ c_th1f_seterror :: Ptr RawTH1F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setLabelColorA"- c_th1f_setlabelcolora :: Ptr RawTH1F -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_setLabelColorA" c_th1f_setlabelcolora ::+ Ptr RawTH1F -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setLabelSizeA"- c_th1f_setlabelsizea :: Ptr RawTH1F -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_setLabelSizeA" c_th1f_setlabelsizea ::+ Ptr RawTH1F -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setLabelFontA"- c_th1f_setlabelfonta :: Ptr RawTH1F -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_setLabelFontA" c_th1f_setlabelfonta ::+ Ptr RawTH1F -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_setLabelOffsetA"- c_th1f_setlabeloffseta ::- Ptr RawTH1F -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_setLabelOffsetA" c_th1f_setlabeloffseta ::+ Ptr RawTH1F -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetMaximum"- c_th1f_setmaximum :: Ptr RawTH1F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetMaximum" c_th1f_setmaximum ::+ Ptr RawTH1F -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetMinimum"- c_th1f_setminimum :: Ptr RawTH1F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetMinimum" c_th1f_setminimum ::+ Ptr RawTH1F -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetNormFactor"- c_th1f_setnormfactor :: Ptr RawTH1F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetNormFactor" c_th1f_setnormfactor ::+ Ptr RawTH1F -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetStats"- c_th1f_setstats :: Ptr RawTH1F -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_SetStats"+ c_th1f_setstats :: Ptr RawTH1F -> CBool -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetOption"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_SetOption" c_th1f_setoption :: Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetXTitle"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_SetXTitle" c_th1f_setxtitle :: Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetYTitle"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_SetYTitle" c_th1f_setytitle :: Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetZTitle"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_SetZTitle" c_th1f_setztitle :: Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_ShowBackground"- c_th1f_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_ShowBackground" c_th1f_showbackground :: Ptr RawTH1F -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1F.h TH1F_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_ShowPeaks" c_th1f_showpeaks :: Ptr RawTH1F -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_Smooth"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Smooth" c_th1f_smooth :: Ptr RawTH1F -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_Sumw2" c_th1f_sumw2- :: Ptr RawTH1F -> IO ()+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Sumw2"+ c_th1f_sumw2 :: Ptr RawTH1F -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetName"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_SetName" c_th1f_setname :: Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetNameTitle"- c_th1f_setnametitle :: Ptr RawTH1F -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetNameTitle" c_th1f_setnametitle ::+ Ptr RawTH1F -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetTitle"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_SetTitle" c_th1f_settitle :: Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetLineColor"- c_th1f_getlinecolor :: Ptr RawTH1F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetLineColor" c_th1f_getlinecolor ::+ Ptr RawTH1F -> IO CShort -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetLineStyle"- c_th1f_getlinestyle :: Ptr RawTH1F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetLineStyle" c_th1f_getlinestyle ::+ Ptr RawTH1F -> IO CShort -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetLineWidth"- c_th1f_getlinewidth :: Ptr RawTH1F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetLineWidth" c_th1f_getlinewidth ::+ Ptr RawTH1F -> IO CShort -foreign import ccall safe "HROOTHistTH1F.h TH1F_ResetAttLine"- c_th1f_resetattline :: Ptr RawTH1F -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_ResetAttLine" c_th1f_resetattline ::+ Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetLineAttributes"- c_th1f_setlineattributes :: Ptr RawTH1F -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetLineAttributes" c_th1f_setlineattributes+ :: Ptr RawTH1F -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetLineColor"- c_th1f_setlinecolor :: Ptr RawTH1F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetLineColor" c_th1f_setlinecolor ::+ Ptr RawTH1F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetLineStyle"- c_th1f_setlinestyle :: Ptr RawTH1F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetLineStyle" c_th1f_setlinestyle ::+ Ptr RawTH1F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetLineWidth"- c_th1f_setlinewidth :: Ptr RawTH1F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetLineWidth" c_th1f_setlinewidth ::+ Ptr RawTH1F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetFillColor"- c_th1f_setfillcolor :: Ptr RawTH1F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetFillColor" c_th1f_setfillcolor ::+ Ptr RawTH1F -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetFillStyle"- c_th1f_setfillstyle :: Ptr RawTH1F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetFillStyle" c_th1f_setfillstyle ::+ Ptr RawTH1F -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMarkerColor"- c_th1f_getmarkercolor :: Ptr RawTH1F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetMarkerColor" c_th1f_getmarkercolor ::+ Ptr RawTH1F -> IO CShort -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMarkerStyle"- c_th1f_getmarkerstyle :: Ptr RawTH1F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetMarkerStyle" c_th1f_getmarkerstyle ::+ Ptr RawTH1F -> IO CShort -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMarkerSize"- c_th1f_getmarkersize :: Ptr RawTH1F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_GetMarkerSize" c_th1f_getmarkersize ::+ Ptr RawTH1F -> IO CFloat -foreign import ccall safe "HROOTHistTH1F.h TH1F_ResetAttMarker"- c_th1f_resetattmarker :: Ptr RawTH1F -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_ResetAttMarker" c_th1f_resetattmarker ::+ Ptr RawTH1F -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_SetMarkerAttributes" c_th1f_setmarkerattributes :: Ptr RawTH1F -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetMarkerColor"- c_th1f_setmarkercolor :: Ptr RawTH1F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetMarkerColor" c_th1f_setmarkercolor ::+ Ptr RawTH1F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetMarkerStyle"- c_th1f_setmarkerstyle :: Ptr RawTH1F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetMarkerStyle" c_th1f_setmarkerstyle ::+ Ptr RawTH1F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SetMarkerSize"- c_th1f_setmarkersize :: Ptr RawTH1F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_SetMarkerSize" c_th1f_setmarkersize ::+ Ptr RawTH1F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_Draw" c_th1f_draw- :: Ptr RawTH1F -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Clear"+ c_th1f_clear :: Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_FindObject"- c_th1f_findobject :: Ptr RawTH1F -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Draw"+ c_th1f_draw :: Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_GetName"+foreign import ccall interruptible+ "HROOTHistTH1F.h TH1F_FindObject" c_th1f_findobject ::+ Ptr RawTH1F -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH1F.h TH1F_GetName" c_th1f_getname :: Ptr RawTH1F -> IO CString -foreign import ccall safe "HROOTHistTH1F.h TH1F_IsA" c_th1f_isa ::- Ptr RawTH1F -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_IsA"+ c_th1f_isa :: Ptr RawTH1F -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH1F.h TH1F_Paint" c_th1f_paint- :: Ptr RawTH1F -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Paint"+ c_th1f_paint :: Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_printObj"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_printObj" c_th1f_printobj :: Ptr RawTH1F -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_SaveAs"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_SaveAs" c_th1f_saveas :: Ptr RawTH1F -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_Write" c_th1f_write- :: Ptr RawTH1F -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Write"+ c_th1f_write :: Ptr RawTH1F -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1F.h TH1F_delete"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_Write_"+ c_th1f_write_ :: Ptr RawTH1F -> IO CInt++foreign import ccall interruptible "HROOTHistTH1F.h TH1F_delete" c_th1f_delete :: Ptr RawTH1F -> IO () -foreign import ccall safe "HROOTHistTH1F.h TH1F_newTH1F"+foreign import ccall interruptible "HROOTHistTH1F.h TH1F_GetAt"+ c_th1f_getat :: Ptr RawTH1F -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH1F.h TH1F_SetArray"+ c_th1f_setarray :: Ptr RawTH1F -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH1F.h TH1F_SetAt"+ c_th1f_setat :: Ptr RawTH1F -> CDouble -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH1F.h TH1F_newTH1F" c_th1f_newth1f :: CString -> CString -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH1F)
src/HROOT/Hist/TH1F/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH1F.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH1F.RawType import HROOT.Hist.TH1F.FFI import HROOT.Hist.TH1F.Interface import HROOT.Hist.TH1F.Cast+import HROOT.Hist.TH1F.RawType+import HROOT.Hist.TH1F.Cast+import HROOT.Hist.TH1F.Interface import HROOT.Core.TDirectory.RawType import HROOT.Core.TDirectory.Cast import HROOT.Core.TDirectory.Interface@@ -48,20 +57,19 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH1F TH1F+instance () => ITH1F (TH1F) where -instance ITH1 TH1F where+instance () => ITH1 (TH1F) where add = xform2 c_th1f_add addBinContent = xform2 c_th1f_addbincontent chi2Test = xform3 c_th1f_chi2test- computeIntegral = xform0 c_th1f_computeintegral directoryAutoAdd = xform1 c_th1f_directoryautoadd divide = xform5 c_th1f_divide drawCopyTH1 = xform1 c_th1f_drawcopyth1@@ -133,9 +141,6 @@ getRMS = xform1 c_th1f_getrms getRMSError = xform1 c_th1f_getrmserror getSkewness = xform1 c_th1f_getskewness- integral1 = xform3 c_th1f_integral1- interpolate1 = xform1 c_th1f_interpolate1- interpolate2 = xform2 c_th1f_interpolate2 interpolate3 = xform3 c_th1f_interpolate3 kolmogorovTest = xform2 c_th1f_kolmogorovtest labelsDeflate = xform1 c_th1f_labelsdeflate@@ -190,14 +195,14 @@ smooth = xform2 c_th1f_smooth sumw2 = xform0 c_th1f_sumw2 -instance ITArrayF TH1F+instance () => ITArrayF (TH1F) where -instance ITNamed TH1F where+instance () => ITNamed (TH1F) where setName = xform1 c_th1f_setname setNameTitle = xform2 c_th1f_setnametitle setTitle = xform1 c_th1f_settitle -instance ITAttLine TH1F where+instance () => ITAttLine (TH1F) where getLineColor = xform0 c_th1f_getlinecolor getLineStyle = xform0 c_th1f_getlinestyle getLineWidth = xform0 c_th1f_getlinewidth@@ -207,11 +212,11 @@ setLineStyle = xform1 c_th1f_setlinestyle setLineWidth = xform1 c_th1f_setlinewidth -instance ITAttFill TH1F where+instance () => ITAttFill (TH1F) where setFillColor = xform1 c_th1f_setfillcolor setFillStyle = xform1 c_th1f_setfillstyle -instance ITAttMarker TH1F where+instance () => ITAttMarker (TH1F) where getMarkerColor = xform0 c_th1f_getmarkercolor getMarkerStyle = xform0 c_th1f_getmarkerstyle getMarkerSize = xform0 c_th1f_getmarkersize@@ -221,7 +226,8 @@ setMarkerStyle = xform1 c_th1f_setmarkerstyle setMarkerSize = xform1 c_th1f_setmarkersize -instance ITObject TH1F where+instance () => ITObject (TH1F) where+ clear = xform1 c_th1f_clear draw = xform1 c_th1f_draw findObject = xform1 c_th1f_findobject getName = xform0 c_th1f_getname@@ -230,11 +236,15 @@ printObj = xform1 c_th1f_printobj saveAs = xform2 c_th1f_saveas write = xform3 c_th1f_write+ write_ = xform0 c_th1f_write_ -instance IDeletable TH1F where+instance () => IDeletable (TH1F) where delete = xform0 c_th1f_delete -instance ITArray TH1F+instance () => ITArray (TH1F) where+ getAt = xform1 c_th1f_getat+ setArray = xform1 c_th1f_setarray+ setAt = xform2 c_th1f_setat newTH1F :: (Castable c1 CString, Castable c0 CString) =>
src/HROOT/Hist/TH1F/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH1F.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH1.Interface import HROOT.Core.TArrayF.Interface -class (ITH1 a, ITArrayF a) => ITH1F a+class (ITH1 a, ITArrayF a) => ITH1F a where upcastTH1F :: forall a . (FPtr a, ITH1F a) => a -> TH1F upcastTH1F h
− src/HROOT/Hist/TH1F/Interface.hs-boot
@@ -1,3 +0,0 @@-module HROOT.Hist.TH1F.Interface where--class ITH1F a
src/HROOT/Hist/TH1F/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH1F newtype TH1F = TH1F (Ptr RawTH1F)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH1F where+instance () => FPtr (TH1F) where type Raw TH1F = RawTH1F get_fptr (TH1F ptr) = ptr cast_fptr_to_obj = TH1F
src/HROOT/Hist/TH1I/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH1I.RawType import HROOT.Hist.TH1I.Interface -instance (ITH1I a, FPtr a) => Castable a (Ptr RawTH1I) where+instance (ITH1I a, FPtr a) => Castable (a) (Ptr RawTH1I) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH1I (Ptr RawTH1I) where+instance () => Castable (TH1I) (Ptr RawTH1I) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH1I/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH1I.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH1I.RawType+import HROOT.Hist.TH1I.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType import HROOT.Hist.TF1.RawType@@ -11,524 +14,610 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH1I.h TH1I_Add" c_th1i_add ::- Ptr RawTH1I -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Add"+ c_th1i_add :: Ptr RawTH1I -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_AddBinContent"- c_th1i_addbincontent :: Ptr RawTH1I -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_AddBinContent" c_th1i_addbincontent ::+ Ptr RawTH1I -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_Chi2Test"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Chi2Test" c_th1i_chi2test ::- Ptr RawTH1I -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH1I.h TH1I_ComputeIntegral"- c_th1i_computeintegral :: Ptr RawTH1I -> IO CDouble+ Ptr RawTH1I -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_DirectoryAutoAdd"- c_th1i_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_DirectoryAutoAdd" c_th1i_directoryautoadd :: Ptr RawTH1I -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_Divide"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Divide" c_th1i_divide :: Ptr RawTH1I -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_drawCopyTH1"- c_th1i_drawcopyth1 :: Ptr RawTH1I -> CString -> IO (Ptr RawTH1I)+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_drawCopyTH1" c_th1i_drawcopyth1 ::+ Ptr RawTH1I -> CString -> IO (Ptr RawTH1I) -foreign import ccall safe "HROOTHistTH1I.h TH1I_DrawNormalized"- c_th1i_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_DrawNormalized" c_th1i_drawnormalized :: Ptr RawTH1I -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1I.h TH1I_drawPanelTH1"- c_th1i_drawpanelth1 :: Ptr RawTH1I -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_drawPanelTH1" c_th1i_drawpanelth1 ::+ Ptr RawTH1I -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_BufferEmpty"- c_th1i_bufferempty :: Ptr RawTH1I -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_BufferEmpty" c_th1i_bufferempty ::+ Ptr RawTH1I -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_evalF" c_th1i_evalf- :: Ptr RawTH1I -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_evalF"+ c_th1i_evalf :: Ptr RawTH1I -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_FFT" c_th1i_fft ::+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_FFT"+ c_th1i_fft :: Ptr RawTH1I -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1I.h TH1I_fill1" c_th1i_fill1- :: Ptr RawTH1I -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_fill1"+ c_th1i_fill1 :: Ptr RawTH1I -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_fill1w"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_fill1w" c_th1i_fill1w :: Ptr RawTH1I -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_fillN1"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_fillN1" c_th1i_filln1 ::- Ptr RawTH1I ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH1I -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_FillRandom"- c_th1i_fillrandom :: Ptr RawTH1I -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_FillRandom" c_th1i_fillrandom ::+ Ptr RawTH1I -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_FindBin"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_FindBin" c_th1i_findbin :: Ptr RawTH1I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_FindFixBin"- c_th1i_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_FindFixBin" c_th1i_findfixbin :: Ptr RawTH1I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_FindFirstBinAbove"- c_th1i_findfirstbinabove ::- Ptr RawTH1I -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_FindFirstBinAbove" c_th1i_findfirstbinabove+ :: Ptr RawTH1I -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_FindLastBinAbove"- c_th1i_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_FindLastBinAbove" c_th1i_findlastbinabove :: Ptr RawTH1I -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_Fit" c_th1i_fit ::+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Fit"+ c_th1i_fit :: Ptr RawTH1I -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_FitPanelTH1"- c_th1i_fitpanelth1 :: Ptr RawTH1I -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_FitPanelTH1" c_th1i_fitpanelth1 ::+ Ptr RawTH1I -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_getNdivisionA"- c_th1i_getndivisiona :: Ptr RawTH1I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_getNdivisionA" c_th1i_getndivisiona ::+ Ptr RawTH1I -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_getAxisColorA"- c_th1i_getaxiscolora :: Ptr RawTH1I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_getAxisColorA" c_th1i_getaxiscolora ::+ Ptr RawTH1I -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1I.h TH1I_getLabelColorA"- c_th1i_getlabelcolora :: Ptr RawTH1I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_getLabelColorA" c_th1i_getlabelcolora ::+ Ptr RawTH1I -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1I.h TH1I_getLabelFontA"- c_th1i_getlabelfonta :: Ptr RawTH1I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_getLabelFontA" c_th1i_getlabelfonta ::+ Ptr RawTH1I -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1I.h TH1I_getLabelOffsetA"- c_th1i_getlabeloffseta :: Ptr RawTH1I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_getLabelOffsetA" c_th1i_getlabeloffseta ::+ Ptr RawTH1I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1I.h TH1I_getLabelSizeA"- c_th1i_getlabelsizea :: Ptr RawTH1I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_getLabelSizeA" c_th1i_getlabelsizea ::+ Ptr RawTH1I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1I.h TH1I_getTitleFontA"- c_th1i_gettitlefonta :: Ptr RawTH1I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_getTitleFontA" c_th1i_gettitlefonta ::+ Ptr RawTH1I -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1I.h TH1I_getTitleOffsetA"- c_th1i_gettitleoffseta :: Ptr RawTH1I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_getTitleOffsetA" c_th1i_gettitleoffseta ::+ Ptr RawTH1I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1I.h TH1I_getTitleSizeA"- c_th1i_gettitlesizea :: Ptr RawTH1I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_getTitleSizeA" c_th1i_gettitlesizea ::+ Ptr RawTH1I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1I.h TH1I_getTickLengthA"- c_th1i_getticklengtha :: Ptr RawTH1I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_getTickLengthA" c_th1i_getticklengtha ::+ Ptr RawTH1I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBarOffset"- c_th1i_getbaroffset :: Ptr RawTH1I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetBarOffset" c_th1i_getbaroffset ::+ Ptr RawTH1I -> IO CFloat -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBarWidth"- c_th1i_getbarwidth :: Ptr RawTH1I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetBarWidth" c_th1i_getbarwidth ::+ Ptr RawTH1I -> IO CFloat -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetContour"- c_th1i_getcontour :: Ptr RawTH1I -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetContour" c_th1i_getcontour ::+ Ptr RawTH1I -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetContourLevel"- c_th1i_getcontourlevel :: Ptr RawTH1I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetContourLevel" c_th1i_getcontourlevel ::+ Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetContourLevelPad"- c_th1i_getcontourlevelpad :: Ptr RawTH1I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetContourLevelPad" c_th1i_getcontourlevelpad+ :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBin"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_GetBin" c_th1i_getbin :: Ptr RawTH1I -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinCenter"- c_th1i_getbincenter :: Ptr RawTH1I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetBinCenter" c_th1i_getbincenter ::+ Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinContent1"- c_th1i_getbincontent1 :: Ptr RawTH1I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetBinContent1" c_th1i_getbincontent1 ::+ Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinContent2"- c_th1i_getbincontent2 :: Ptr RawTH1I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetBinContent2" c_th1i_getbincontent2 ::+ Ptr RawTH1I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinContent3"- c_th1i_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetBinContent3" c_th1i_getbincontent3 :: Ptr RawTH1I -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinError1"- c_th1i_getbinerror1 :: Ptr RawTH1I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetBinError1" c_th1i_getbinerror1 ::+ Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinError2"- c_th1i_getbinerror2 :: Ptr RawTH1I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetBinError2" c_th1i_getbinerror2 ::+ Ptr RawTH1I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinError3"- c_th1i_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetBinError3" c_th1i_getbinerror3 :: Ptr RawTH1I -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinLowEdge"- c_th1i_getbinlowedge :: Ptr RawTH1I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetBinLowEdge" c_th1i_getbinlowedge ::+ Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinWidth"- c_th1i_getbinwidth :: Ptr RawTH1I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetBinWidth" c_th1i_getbinwidth ::+ Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetCellContent"- c_th1i_getcellcontent :: Ptr RawTH1I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetCellContent" c_th1i_getcellcontent ::+ Ptr RawTH1I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetCellError"- c_th1i_getcellerror :: Ptr RawTH1I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetCellError" c_th1i_getcellerror ::+ Ptr RawTH1I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetEntries"- c_th1i_getentries :: Ptr RawTH1I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetEntries" c_th1i_getentries ::+ Ptr RawTH1I -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_GetEffectiveEntries" c_th1i_geteffectiveentries :: Ptr RawTH1I -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetFunction"- c_th1i_getfunction :: Ptr RawTH1I -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetFunction" c_th1i_getfunction ::+ Ptr RawTH1I -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetDimension"- c_th1i_getdimension :: Ptr RawTH1I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetDimension" c_th1i_getdimension ::+ Ptr RawTH1I -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetKurtosis"- c_th1i_getkurtosis :: Ptr RawTH1I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetKurtosis" c_th1i_getkurtosis ::+ Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetLowEdge"- c_th1i_getlowedge :: Ptr RawTH1I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetLowEdge" c_th1i_getlowedge ::+ Ptr RawTH1I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_getMaximumTH1"- c_th1i_getmaximumth1 :: Ptr RawTH1I -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_getMaximumTH1" c_th1i_getmaximumth1 ::+ Ptr RawTH1I -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMaximumBin"- c_th1i_getmaximumbin :: Ptr RawTH1I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetMaximumBin" c_th1i_getmaximumbin ::+ Ptr RawTH1I -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMaximumStored"- c_th1i_getmaximumstored :: Ptr RawTH1I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetMaximumStored" c_th1i_getmaximumstored ::+ Ptr RawTH1I -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_getMinimumTH1"- c_th1i_getminimumth1 :: Ptr RawTH1I -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_getMinimumTH1" c_th1i_getminimumth1 ::+ Ptr RawTH1I -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMinimumBin"- c_th1i_getminimumbin :: Ptr RawTH1I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetMinimumBin" c_th1i_getminimumbin ::+ Ptr RawTH1I -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMinimumStored"- c_th1i_getminimumstored :: Ptr RawTH1I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetMinimumStored" c_th1i_getminimumstored ::+ Ptr RawTH1I -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMean"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_GetMean" c_th1i_getmean :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMeanError"- c_th1i_getmeanerror :: Ptr RawTH1I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetMeanError" c_th1i_getmeanerror ::+ Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_GetNbinsX" c_th1i_getnbinsx :: Ptr RawTH1I -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_GetNbinsY" c_th1i_getnbinsy :: Ptr RawTH1I -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_GetNbinsZ" c_th1i_getnbinsz :: Ptr RawTH1I -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_getQuantilesTH1"- c_th1i_getquantilesth1 ::- Ptr RawTH1I -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_getQuantilesTH1" c_th1i_getquantilesth1 ::+ Ptr RawTH1I -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetRandom"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_GetRandom" c_th1i_getrandom :: Ptr RawTH1I -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetStats"- c_th1i_getstats :: Ptr RawTH1I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_GetStats"+ c_th1i_getstats :: Ptr RawTH1I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetSumOfWeights"- c_th1i_getsumofweights :: Ptr RawTH1I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetSumOfWeights" c_th1i_getsumofweights ::+ Ptr RawTH1I -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetSumw2"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_GetSumw2" c_th1i_getsumw2 :: Ptr RawTH1I -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_GetSumw2N" c_th1i_getsumw2n :: Ptr RawTH1I -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetRMS"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_GetRMS" c_th1i_getrms :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetRMSError"- c_th1i_getrmserror :: Ptr RawTH1I -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH1I.h TH1I_GetSkewness"- c_th1i_getskewness :: Ptr RawTH1I -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH1I.h TH1I_integral1"- c_th1i_integral1 ::- Ptr RawTH1I -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH1I.h TH1I_interpolate1"- c_th1i_interpolate1 :: Ptr RawTH1I -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetRMSError" c_th1i_getrmserror ::+ Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_interpolate2"- c_th1i_interpolate2 ::- Ptr RawTH1I -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetSkewness" c_th1i_getskewness ::+ Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_interpolate3"- c_th1i_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_interpolate3" c_th1i_interpolate3 :: Ptr RawTH1I -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_KolmogorovTest"- c_th1i_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_KolmogorovTest" c_th1i_kolmogorovtest :: Ptr RawTH1I -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH1I.h TH1I_LabelsDeflate"- c_th1i_labelsdeflate :: Ptr RawTH1I -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_LabelsDeflate" c_th1i_labelsdeflate ::+ Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_LabelsInflate"- c_th1i_labelsinflate :: Ptr RawTH1I -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_LabelsInflate" c_th1i_labelsinflate ::+ Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_LabelsOption"- c_th1i_labelsoption :: Ptr RawTH1I -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_LabelsOption" c_th1i_labelsoption ::+ Ptr RawTH1I -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_multiflyF"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_multiflyF" c_th1i_multiflyf :: Ptr RawTH1I -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_Multiply"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Multiply" c_th1i_multiply :: Ptr RawTH1I -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_PutStats"- c_th1i_putstats :: Ptr RawTH1I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_PutStats"+ c_th1i_putstats :: Ptr RawTH1I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_Rebin" c_th1i_rebin- ::- Ptr RawTH1I -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Rebin"+ c_th1i_rebin ::+ Ptr RawTH1I -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1I.h TH1I_RebinAxis"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_RebinAxis" c_th1i_rebinaxis :: Ptr RawTH1I -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_Rebuild"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Rebuild" c_th1i_rebuild :: Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_RecursiveRemove"- c_th1i_recursiveremove :: Ptr RawTH1I -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_RecursiveRemove" c_th1i_recursiveremove ::+ Ptr RawTH1I -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_Reset" c_th1i_reset- :: Ptr RawTH1I -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Reset"+ c_th1i_reset :: Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_ResetStats"- c_th1i_resetstats :: Ptr RawTH1I -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_ResetStats" c_th1i_resetstats ::+ Ptr RawTH1I -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_Scale" c_th1i_scale- :: Ptr RawTH1I -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Scale"+ c_th1i_scale :: Ptr RawTH1I -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setAxisColorA"- c_th1i_setaxiscolora :: Ptr RawTH1I -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_setAxisColorA" c_th1i_setaxiscolora ::+ Ptr RawTH1I -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetAxisRange"- c_th1i_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetAxisRange" c_th1i_setaxisrange :: Ptr RawTH1I -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetBarOffset"- c_th1i_setbaroffset :: Ptr RawTH1I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetBarOffset" c_th1i_setbaroffset ::+ Ptr RawTH1I -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetBarWidth"- c_th1i_setbarwidth :: Ptr RawTH1I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetBarWidth" c_th1i_setbarwidth ::+ Ptr RawTH1I -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setBinContent1"- c_th1i_setbincontent1 :: Ptr RawTH1I -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_setBinContent1" c_th1i_setbincontent1 ::+ Ptr RawTH1I -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setBinContent2"- c_th1i_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_setBinContent2" c_th1i_setbincontent2 :: Ptr RawTH1I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setBinContent3"- c_th1i_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_setBinContent3" c_th1i_setbincontent3 :: Ptr RawTH1I -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setBinError1"- c_th1i_setbinerror1 :: Ptr RawTH1I -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_setBinError1" c_th1i_setbinerror1 ::+ Ptr RawTH1I -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setBinError2"- c_th1i_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_setBinError2" c_th1i_setbinerror2 :: Ptr RawTH1I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setBinError3"- c_th1i_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_setBinError3" c_th1i_setbinerror3 :: Ptr RawTH1I -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setBins1"- c_th1i_setbins1 :: Ptr RawTH1I -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_setBins1"+ c_th1i_setbins1 :: Ptr RawTH1I -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setBins2"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_setBins2" c_th1i_setbins2 ::- Ptr RawTH1I ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH1I -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setBins3"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_setBins3" c_th1i_setbins3 :: Ptr RawTH1I -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetBinsLength"- c_th1i_setbinslength :: Ptr RawTH1I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetBinsLength" c_th1i_setbinslength ::+ Ptr RawTH1I -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetBuffer"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_SetBuffer" c_th1i_setbuffer :: Ptr RawTH1I -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetCellContent"- c_th1i_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetCellContent" c_th1i_setcellcontent :: Ptr RawTH1I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetContent"- c_th1i_setcontent :: Ptr RawTH1I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetContent" c_th1i_setcontent ::+ Ptr RawTH1I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetContour"- c_th1i_setcontour :: Ptr RawTH1I -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetContour" c_th1i_setcontour ::+ Ptr RawTH1I -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetContourLevel"- c_th1i_setcontourlevel :: Ptr RawTH1I -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetContourLevel" c_th1i_setcontourlevel ::+ Ptr RawTH1I -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetDirectory"- c_th1i_setdirectory :: Ptr RawTH1I -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetDirectory" c_th1i_setdirectory ::+ Ptr RawTH1I -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetEntries"- c_th1i_setentries :: Ptr RawTH1I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetEntries" c_th1i_setentries ::+ Ptr RawTH1I -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetError"- c_th1i_seterror :: Ptr RawTH1I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_SetError"+ c_th1i_seterror :: Ptr RawTH1I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setLabelColorA"- c_th1i_setlabelcolora :: Ptr RawTH1I -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_setLabelColorA" c_th1i_setlabelcolora ::+ Ptr RawTH1I -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setLabelSizeA"- c_th1i_setlabelsizea :: Ptr RawTH1I -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_setLabelSizeA" c_th1i_setlabelsizea ::+ Ptr RawTH1I -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setLabelFontA"- c_th1i_setlabelfonta :: Ptr RawTH1I -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_setLabelFontA" c_th1i_setlabelfonta ::+ Ptr RawTH1I -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_setLabelOffsetA"- c_th1i_setlabeloffseta ::- Ptr RawTH1I -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_setLabelOffsetA" c_th1i_setlabeloffseta ::+ Ptr RawTH1I -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetMaximum"- c_th1i_setmaximum :: Ptr RawTH1I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetMaximum" c_th1i_setmaximum ::+ Ptr RawTH1I -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetMinimum"- c_th1i_setminimum :: Ptr RawTH1I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetMinimum" c_th1i_setminimum ::+ Ptr RawTH1I -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetNormFactor"- c_th1i_setnormfactor :: Ptr RawTH1I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetNormFactor" c_th1i_setnormfactor ::+ Ptr RawTH1I -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetStats"- c_th1i_setstats :: Ptr RawTH1I -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_SetStats"+ c_th1i_setstats :: Ptr RawTH1I -> CBool -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetOption"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_SetOption" c_th1i_setoption :: Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetXTitle"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_SetXTitle" c_th1i_setxtitle :: Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetYTitle"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_SetYTitle" c_th1i_setytitle :: Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetZTitle"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_SetZTitle" c_th1i_setztitle :: Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_ShowBackground"- c_th1i_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_ShowBackground" c_th1i_showbackground :: Ptr RawTH1I -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1I.h TH1I_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_ShowPeaks" c_th1i_showpeaks :: Ptr RawTH1I -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_Smooth"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Smooth" c_th1i_smooth :: Ptr RawTH1I -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_Sumw2" c_th1i_sumw2- :: Ptr RawTH1I -> IO ()+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Sumw2"+ c_th1i_sumw2 :: Ptr RawTH1I -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetName"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_SetName" c_th1i_setname :: Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetNameTitle"- c_th1i_setnametitle :: Ptr RawTH1I -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetNameTitle" c_th1i_setnametitle ::+ Ptr RawTH1I -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetTitle"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_SetTitle" c_th1i_settitle :: Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetLineColor"- c_th1i_getlinecolor :: Ptr RawTH1I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetLineColor" c_th1i_getlinecolor ::+ Ptr RawTH1I -> IO CShort -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetLineStyle"- c_th1i_getlinestyle :: Ptr RawTH1I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetLineStyle" c_th1i_getlinestyle ::+ Ptr RawTH1I -> IO CShort -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetLineWidth"- c_th1i_getlinewidth :: Ptr RawTH1I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetLineWidth" c_th1i_getlinewidth ::+ Ptr RawTH1I -> IO CShort -foreign import ccall safe "HROOTHistTH1I.h TH1I_ResetAttLine"- c_th1i_resetattline :: Ptr RawTH1I -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_ResetAttLine" c_th1i_resetattline ::+ Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetLineAttributes"- c_th1i_setlineattributes :: Ptr RawTH1I -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetLineAttributes" c_th1i_setlineattributes+ :: Ptr RawTH1I -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetLineColor"- c_th1i_setlinecolor :: Ptr RawTH1I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetLineColor" c_th1i_setlinecolor ::+ Ptr RawTH1I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetLineStyle"- c_th1i_setlinestyle :: Ptr RawTH1I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetLineStyle" c_th1i_setlinestyle ::+ Ptr RawTH1I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetLineWidth"- c_th1i_setlinewidth :: Ptr RawTH1I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetLineWidth" c_th1i_setlinewidth ::+ Ptr RawTH1I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetFillColor"- c_th1i_setfillcolor :: Ptr RawTH1I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetFillColor" c_th1i_setfillcolor ::+ Ptr RawTH1I -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetFillStyle"- c_th1i_setfillstyle :: Ptr RawTH1I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetFillStyle" c_th1i_setfillstyle ::+ Ptr RawTH1I -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMarkerColor"- c_th1i_getmarkercolor :: Ptr RawTH1I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetMarkerColor" c_th1i_getmarkercolor ::+ Ptr RawTH1I -> IO CShort -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMarkerStyle"- c_th1i_getmarkerstyle :: Ptr RawTH1I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetMarkerStyle" c_th1i_getmarkerstyle ::+ Ptr RawTH1I -> IO CShort -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMarkerSize"- c_th1i_getmarkersize :: Ptr RawTH1I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_GetMarkerSize" c_th1i_getmarkersize ::+ Ptr RawTH1I -> IO CFloat -foreign import ccall safe "HROOTHistTH1I.h TH1I_ResetAttMarker"- c_th1i_resetattmarker :: Ptr RawTH1I -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_ResetAttMarker" c_th1i_resetattmarker ::+ Ptr RawTH1I -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_SetMarkerAttributes" c_th1i_setmarkerattributes :: Ptr RawTH1I -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetMarkerColor"- c_th1i_setmarkercolor :: Ptr RawTH1I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetMarkerColor" c_th1i_setmarkercolor ::+ Ptr RawTH1I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetMarkerStyle"- c_th1i_setmarkerstyle :: Ptr RawTH1I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetMarkerStyle" c_th1i_setmarkerstyle ::+ Ptr RawTH1I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SetMarkerSize"- c_th1i_setmarkersize :: Ptr RawTH1I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_SetMarkerSize" c_th1i_setmarkersize ::+ Ptr RawTH1I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_Draw" c_th1i_draw- :: Ptr RawTH1I -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Clear"+ c_th1i_clear :: Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_FindObject"- c_th1i_findobject :: Ptr RawTH1I -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Draw"+ c_th1i_draw :: Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_GetName"+foreign import ccall interruptible+ "HROOTHistTH1I.h TH1I_FindObject" c_th1i_findobject ::+ Ptr RawTH1I -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH1I.h TH1I_GetName" c_th1i_getname :: Ptr RawTH1I -> IO CString -foreign import ccall safe "HROOTHistTH1I.h TH1I_IsA" c_th1i_isa ::- Ptr RawTH1I -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_IsA"+ c_th1i_isa :: Ptr RawTH1I -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH1I.h TH1I_Paint" c_th1i_paint- :: Ptr RawTH1I -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Paint"+ c_th1i_paint :: Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_printObj"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_printObj" c_th1i_printobj :: Ptr RawTH1I -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_SaveAs"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_SaveAs" c_th1i_saveas :: Ptr RawTH1I -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1I.h TH1I_Write" c_th1i_write- :: Ptr RawTH1I -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Write"+ c_th1i_write :: Ptr RawTH1I -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1I.h TH1I_delete"+foreign import ccall interruptible "HROOTHistTH1I.h TH1I_Write_"+ c_th1i_write_ :: Ptr RawTH1I -> IO CInt++foreign import ccall interruptible "HROOTHistTH1I.h TH1I_delete" c_th1i_delete :: Ptr RawTH1I -> IO ()++foreign import ccall interruptible "HROOTHistTH1I.h TH1I_GetAt"+ c_th1i_getat :: Ptr RawTH1I -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH1I.h TH1I_SetArray"+ c_th1i_setarray :: Ptr RawTH1I -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH1I.h TH1I_SetAt"+ c_th1i_setat :: Ptr RawTH1I -> CDouble -> CInt -> IO ()
src/HROOT/Hist/TH1I/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH1I.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH1I.RawType import HROOT.Hist.TH1I.FFI import HROOT.Hist.TH1I.Interface import HROOT.Hist.TH1I.Cast+import HROOT.Hist.TH1I.RawType+import HROOT.Hist.TH1I.Cast+import HROOT.Hist.TH1I.Interface import HROOT.Core.TDirectory.RawType import HROOT.Core.TDirectory.Cast import HROOT.Core.TDirectory.Interface@@ -48,20 +57,19 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH1I TH1I+instance () => ITH1I (TH1I) where -instance ITH1 TH1I where+instance () => ITH1 (TH1I) where add = xform2 c_th1i_add addBinContent = xform2 c_th1i_addbincontent chi2Test = xform3 c_th1i_chi2test- computeIntegral = xform0 c_th1i_computeintegral directoryAutoAdd = xform1 c_th1i_directoryautoadd divide = xform5 c_th1i_divide drawCopyTH1 = xform1 c_th1i_drawcopyth1@@ -133,9 +141,6 @@ getRMS = xform1 c_th1i_getrms getRMSError = xform1 c_th1i_getrmserror getSkewness = xform1 c_th1i_getskewness- integral1 = xform3 c_th1i_integral1- interpolate1 = xform1 c_th1i_interpolate1- interpolate2 = xform2 c_th1i_interpolate2 interpolate3 = xform3 c_th1i_interpolate3 kolmogorovTest = xform2 c_th1i_kolmogorovtest labelsDeflate = xform1 c_th1i_labelsdeflate@@ -190,14 +195,14 @@ smooth = xform2 c_th1i_smooth sumw2 = xform0 c_th1i_sumw2 -instance ITArrayI TH1I+instance () => ITArrayI (TH1I) where -instance ITNamed TH1I where+instance () => ITNamed (TH1I) where setName = xform1 c_th1i_setname setNameTitle = xform2 c_th1i_setnametitle setTitle = xform1 c_th1i_settitle -instance ITAttLine TH1I where+instance () => ITAttLine (TH1I) where getLineColor = xform0 c_th1i_getlinecolor getLineStyle = xform0 c_th1i_getlinestyle getLineWidth = xform0 c_th1i_getlinewidth@@ -207,11 +212,11 @@ setLineStyle = xform1 c_th1i_setlinestyle setLineWidth = xform1 c_th1i_setlinewidth -instance ITAttFill TH1I where+instance () => ITAttFill (TH1I) where setFillColor = xform1 c_th1i_setfillcolor setFillStyle = xform1 c_th1i_setfillstyle -instance ITAttMarker TH1I where+instance () => ITAttMarker (TH1I) where getMarkerColor = xform0 c_th1i_getmarkercolor getMarkerStyle = xform0 c_th1i_getmarkerstyle getMarkerSize = xform0 c_th1i_getmarkersize@@ -221,7 +226,8 @@ setMarkerStyle = xform1 c_th1i_setmarkerstyle setMarkerSize = xform1 c_th1i_setmarkersize -instance ITObject TH1I where+instance () => ITObject (TH1I) where+ clear = xform1 c_th1i_clear draw = xform1 c_th1i_draw findObject = xform1 c_th1i_findobject getName = xform0 c_th1i_getname@@ -230,8 +236,12 @@ printObj = xform1 c_th1i_printobj saveAs = xform2 c_th1i_saveas write = xform3 c_th1i_write+ write_ = xform0 c_th1i_write_ -instance IDeletable TH1I where+instance () => IDeletable (TH1I) where delete = xform0 c_th1i_delete -instance ITArray TH1I+instance () => ITArray (TH1I) where+ getAt = xform1 c_th1i_getat+ setArray = xform1 c_th1i_setarray+ setAt = xform2 c_th1i_setat
src/HROOT/Hist/TH1I/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH1I.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH1.Interface import HROOT.Core.TArrayI.Interface -class (ITH1 a, ITArrayI a) => ITH1I a+class (ITH1 a, ITArrayI a) => ITH1I a where upcastTH1I :: forall a . (FPtr a, ITH1I a) => a -> TH1I upcastTH1I h
src/HROOT/Hist/TH1I/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH1I newtype TH1I = TH1I (Ptr RawTH1I)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH1I where+instance () => FPtr (TH1I) where type Raw TH1I = RawTH1I get_fptr (TH1I ptr) = ptr cast_fptr_to_obj = TH1I
src/HROOT/Hist/TH1K/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH1K.RawType import HROOT.Hist.TH1K.Interface -instance (ITH1K a, FPtr a) => Castable a (Ptr RawTH1K) where+instance (ITH1K a, FPtr a) => Castable (a) (Ptr RawTH1K) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH1K (Ptr RawTH1K) where+instance () => Castable (TH1K) (Ptr RawTH1K) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH1K/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH1K.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH1K.RawType+import HROOT.Hist.TH1K.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType import HROOT.Hist.TF1.RawType@@ -11,524 +14,610 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH1K.h TH1K_Add" c_th1k_add ::- Ptr RawTH1K -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Add"+ c_th1k_add :: Ptr RawTH1K -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_AddBinContent"- c_th1k_addbincontent :: Ptr RawTH1K -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_AddBinContent" c_th1k_addbincontent ::+ Ptr RawTH1K -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_Chi2Test"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Chi2Test" c_th1k_chi2test ::- Ptr RawTH1K -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH1K.h TH1K_ComputeIntegral"- c_th1k_computeintegral :: Ptr RawTH1K -> IO CDouble+ Ptr RawTH1K -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_DirectoryAutoAdd"- c_th1k_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_DirectoryAutoAdd" c_th1k_directoryautoadd :: Ptr RawTH1K -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_Divide"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Divide" c_th1k_divide :: Ptr RawTH1K -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_drawCopyTH1"- c_th1k_drawcopyth1 :: Ptr RawTH1K -> CString -> IO (Ptr RawTH1K)+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_drawCopyTH1" c_th1k_drawcopyth1 ::+ Ptr RawTH1K -> CString -> IO (Ptr RawTH1K) -foreign import ccall safe "HROOTHistTH1K.h TH1K_DrawNormalized"- c_th1k_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_DrawNormalized" c_th1k_drawnormalized :: Ptr RawTH1K -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1K.h TH1K_drawPanelTH1"- c_th1k_drawpanelth1 :: Ptr RawTH1K -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_drawPanelTH1" c_th1k_drawpanelth1 ::+ Ptr RawTH1K -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_BufferEmpty"- c_th1k_bufferempty :: Ptr RawTH1K -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_BufferEmpty" c_th1k_bufferempty ::+ Ptr RawTH1K -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_evalF" c_th1k_evalf- :: Ptr RawTH1K -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_evalF"+ c_th1k_evalf :: Ptr RawTH1K -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_FFT" c_th1k_fft ::+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_FFT"+ c_th1k_fft :: Ptr RawTH1K -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1K.h TH1K_fill1" c_th1k_fill1- :: Ptr RawTH1K -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_fill1"+ c_th1k_fill1 :: Ptr RawTH1K -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_fill1w"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_fill1w" c_th1k_fill1w :: Ptr RawTH1K -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_fillN1"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_fillN1" c_th1k_filln1 ::- Ptr RawTH1K ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH1K -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_FillRandom"- c_th1k_fillrandom :: Ptr RawTH1K -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_FillRandom" c_th1k_fillrandom ::+ Ptr RawTH1K -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_FindBin"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_FindBin" c_th1k_findbin :: Ptr RawTH1K -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_FindFixBin"- c_th1k_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_FindFixBin" c_th1k_findfixbin :: Ptr RawTH1K -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_FindFirstBinAbove"- c_th1k_findfirstbinabove ::- Ptr RawTH1K -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_FindFirstBinAbove" c_th1k_findfirstbinabove+ :: Ptr RawTH1K -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_FindLastBinAbove"- c_th1k_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_FindLastBinAbove" c_th1k_findlastbinabove :: Ptr RawTH1K -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_Fit" c_th1k_fit ::+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Fit"+ c_th1k_fit :: Ptr RawTH1K -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_FitPanelTH1"- c_th1k_fitpanelth1 :: Ptr RawTH1K -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_FitPanelTH1" c_th1k_fitpanelth1 ::+ Ptr RawTH1K -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_getNdivisionA"- c_th1k_getndivisiona :: Ptr RawTH1K -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_getNdivisionA" c_th1k_getndivisiona ::+ Ptr RawTH1K -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_getAxisColorA"- c_th1k_getaxiscolora :: Ptr RawTH1K -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_getAxisColorA" c_th1k_getaxiscolora ::+ Ptr RawTH1K -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1K.h TH1K_getLabelColorA"- c_th1k_getlabelcolora :: Ptr RawTH1K -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_getLabelColorA" c_th1k_getlabelcolora ::+ Ptr RawTH1K -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1K.h TH1K_getLabelFontA"- c_th1k_getlabelfonta :: Ptr RawTH1K -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_getLabelFontA" c_th1k_getlabelfonta ::+ Ptr RawTH1K -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1K.h TH1K_getLabelOffsetA"- c_th1k_getlabeloffseta :: Ptr RawTH1K -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_getLabelOffsetA" c_th1k_getlabeloffseta ::+ Ptr RawTH1K -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1K.h TH1K_getLabelSizeA"- c_th1k_getlabelsizea :: Ptr RawTH1K -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_getLabelSizeA" c_th1k_getlabelsizea ::+ Ptr RawTH1K -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1K.h TH1K_getTitleFontA"- c_th1k_gettitlefonta :: Ptr RawTH1K -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_getTitleFontA" c_th1k_gettitlefonta ::+ Ptr RawTH1K -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1K.h TH1K_getTitleOffsetA"- c_th1k_gettitleoffseta :: Ptr RawTH1K -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_getTitleOffsetA" c_th1k_gettitleoffseta ::+ Ptr RawTH1K -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1K.h TH1K_getTitleSizeA"- c_th1k_gettitlesizea :: Ptr RawTH1K -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_getTitleSizeA" c_th1k_gettitlesizea ::+ Ptr RawTH1K -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1K.h TH1K_getTickLengthA"- c_th1k_getticklengtha :: Ptr RawTH1K -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_getTickLengthA" c_th1k_getticklengtha ::+ Ptr RawTH1K -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBarOffset"- c_th1k_getbaroffset :: Ptr RawTH1K -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetBarOffset" c_th1k_getbaroffset ::+ Ptr RawTH1K -> IO CFloat -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBarWidth"- c_th1k_getbarwidth :: Ptr RawTH1K -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetBarWidth" c_th1k_getbarwidth ::+ Ptr RawTH1K -> IO CFloat -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetContour"- c_th1k_getcontour :: Ptr RawTH1K -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetContour" c_th1k_getcontour ::+ Ptr RawTH1K -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetContourLevel"- c_th1k_getcontourlevel :: Ptr RawTH1K -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetContourLevel" c_th1k_getcontourlevel ::+ Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetContourLevelPad"- c_th1k_getcontourlevelpad :: Ptr RawTH1K -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetContourLevelPad" c_th1k_getcontourlevelpad+ :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBin"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_GetBin" c_th1k_getbin :: Ptr RawTH1K -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinCenter"- c_th1k_getbincenter :: Ptr RawTH1K -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetBinCenter" c_th1k_getbincenter ::+ Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinContent1"- c_th1k_getbincontent1 :: Ptr RawTH1K -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetBinContent1" c_th1k_getbincontent1 ::+ Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinContent2"- c_th1k_getbincontent2 :: Ptr RawTH1K -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetBinContent2" c_th1k_getbincontent2 ::+ Ptr RawTH1K -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinContent3"- c_th1k_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetBinContent3" c_th1k_getbincontent3 :: Ptr RawTH1K -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinError1"- c_th1k_getbinerror1 :: Ptr RawTH1K -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetBinError1" c_th1k_getbinerror1 ::+ Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinError2"- c_th1k_getbinerror2 :: Ptr RawTH1K -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetBinError2" c_th1k_getbinerror2 ::+ Ptr RawTH1K -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinError3"- c_th1k_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetBinError3" c_th1k_getbinerror3 :: Ptr RawTH1K -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinLowEdge"- c_th1k_getbinlowedge :: Ptr RawTH1K -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetBinLowEdge" c_th1k_getbinlowedge ::+ Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinWidth"- c_th1k_getbinwidth :: Ptr RawTH1K -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetBinWidth" c_th1k_getbinwidth ::+ Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetCellContent"- c_th1k_getcellcontent :: Ptr RawTH1K -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetCellContent" c_th1k_getcellcontent ::+ Ptr RawTH1K -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetCellError"- c_th1k_getcellerror :: Ptr RawTH1K -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetCellError" c_th1k_getcellerror ::+ Ptr RawTH1K -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetEntries"- c_th1k_getentries :: Ptr RawTH1K -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetEntries" c_th1k_getentries ::+ Ptr RawTH1K -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_GetEffectiveEntries" c_th1k_geteffectiveentries :: Ptr RawTH1K -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetFunction"- c_th1k_getfunction :: Ptr RawTH1K -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetFunction" c_th1k_getfunction ::+ Ptr RawTH1K -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetDimension"- c_th1k_getdimension :: Ptr RawTH1K -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetDimension" c_th1k_getdimension ::+ Ptr RawTH1K -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetKurtosis"- c_th1k_getkurtosis :: Ptr RawTH1K -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetKurtosis" c_th1k_getkurtosis ::+ Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetLowEdge"- c_th1k_getlowedge :: Ptr RawTH1K -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetLowEdge" c_th1k_getlowedge ::+ Ptr RawTH1K -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_getMaximumTH1"- c_th1k_getmaximumth1 :: Ptr RawTH1K -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_getMaximumTH1" c_th1k_getmaximumth1 ::+ Ptr RawTH1K -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMaximumBin"- c_th1k_getmaximumbin :: Ptr RawTH1K -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetMaximumBin" c_th1k_getmaximumbin ::+ Ptr RawTH1K -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMaximumStored"- c_th1k_getmaximumstored :: Ptr RawTH1K -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetMaximumStored" c_th1k_getmaximumstored ::+ Ptr RawTH1K -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_getMinimumTH1"- c_th1k_getminimumth1 :: Ptr RawTH1K -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_getMinimumTH1" c_th1k_getminimumth1 ::+ Ptr RawTH1K -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMinimumBin"- c_th1k_getminimumbin :: Ptr RawTH1K -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetMinimumBin" c_th1k_getminimumbin ::+ Ptr RawTH1K -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMinimumStored"- c_th1k_getminimumstored :: Ptr RawTH1K -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetMinimumStored" c_th1k_getminimumstored ::+ Ptr RawTH1K -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMean"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_GetMean" c_th1k_getmean :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMeanError"- c_th1k_getmeanerror :: Ptr RawTH1K -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetMeanError" c_th1k_getmeanerror ::+ Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_GetNbinsX" c_th1k_getnbinsx :: Ptr RawTH1K -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_GetNbinsY" c_th1k_getnbinsy :: Ptr RawTH1K -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_GetNbinsZ" c_th1k_getnbinsz :: Ptr RawTH1K -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_getQuantilesTH1"- c_th1k_getquantilesth1 ::- Ptr RawTH1K -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_getQuantilesTH1" c_th1k_getquantilesth1 ::+ Ptr RawTH1K -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetRandom"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_GetRandom" c_th1k_getrandom :: Ptr RawTH1K -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetStats"- c_th1k_getstats :: Ptr RawTH1K -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_GetStats"+ c_th1k_getstats :: Ptr RawTH1K -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetSumOfWeights"- c_th1k_getsumofweights :: Ptr RawTH1K -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetSumOfWeights" c_th1k_getsumofweights ::+ Ptr RawTH1K -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetSumw2"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_GetSumw2" c_th1k_getsumw2 :: Ptr RawTH1K -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_GetSumw2N" c_th1k_getsumw2n :: Ptr RawTH1K -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetRMS"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_GetRMS" c_th1k_getrms :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetRMSError"- c_th1k_getrmserror :: Ptr RawTH1K -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH1K.h TH1K_GetSkewness"- c_th1k_getskewness :: Ptr RawTH1K -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH1K.h TH1K_integral1"- c_th1k_integral1 ::- Ptr RawTH1K -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH1K.h TH1K_interpolate1"- c_th1k_interpolate1 :: Ptr RawTH1K -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetRMSError" c_th1k_getrmserror ::+ Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_interpolate2"- c_th1k_interpolate2 ::- Ptr RawTH1K -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetSkewness" c_th1k_getskewness ::+ Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_interpolate3"- c_th1k_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_interpolate3" c_th1k_interpolate3 :: Ptr RawTH1K -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_KolmogorovTest"- c_th1k_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_KolmogorovTest" c_th1k_kolmogorovtest :: Ptr RawTH1K -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH1K.h TH1K_LabelsDeflate"- c_th1k_labelsdeflate :: Ptr RawTH1K -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_LabelsDeflate" c_th1k_labelsdeflate ::+ Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_LabelsInflate"- c_th1k_labelsinflate :: Ptr RawTH1K -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_LabelsInflate" c_th1k_labelsinflate ::+ Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_LabelsOption"- c_th1k_labelsoption :: Ptr RawTH1K -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_LabelsOption" c_th1k_labelsoption ::+ Ptr RawTH1K -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_multiflyF"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_multiflyF" c_th1k_multiflyf :: Ptr RawTH1K -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_Multiply"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Multiply" c_th1k_multiply :: Ptr RawTH1K -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_PutStats"- c_th1k_putstats :: Ptr RawTH1K -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_PutStats"+ c_th1k_putstats :: Ptr RawTH1K -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_Rebin" c_th1k_rebin- ::- Ptr RawTH1K -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Rebin"+ c_th1k_rebin ::+ Ptr RawTH1K -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1K.h TH1K_RebinAxis"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_RebinAxis" c_th1k_rebinaxis :: Ptr RawTH1K -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_Rebuild"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Rebuild" c_th1k_rebuild :: Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_RecursiveRemove"- c_th1k_recursiveremove :: Ptr RawTH1K -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_RecursiveRemove" c_th1k_recursiveremove ::+ Ptr RawTH1K -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_Reset" c_th1k_reset- :: Ptr RawTH1K -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Reset"+ c_th1k_reset :: Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_ResetStats"- c_th1k_resetstats :: Ptr RawTH1K -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_ResetStats" c_th1k_resetstats ::+ Ptr RawTH1K -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_Scale" c_th1k_scale- :: Ptr RawTH1K -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Scale"+ c_th1k_scale :: Ptr RawTH1K -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setAxisColorA"- c_th1k_setaxiscolora :: Ptr RawTH1K -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_setAxisColorA" c_th1k_setaxiscolora ::+ Ptr RawTH1K -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetAxisRange"- c_th1k_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetAxisRange" c_th1k_setaxisrange :: Ptr RawTH1K -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetBarOffset"- c_th1k_setbaroffset :: Ptr RawTH1K -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetBarOffset" c_th1k_setbaroffset ::+ Ptr RawTH1K -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetBarWidth"- c_th1k_setbarwidth :: Ptr RawTH1K -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetBarWidth" c_th1k_setbarwidth ::+ Ptr RawTH1K -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setBinContent1"- c_th1k_setbincontent1 :: Ptr RawTH1K -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_setBinContent1" c_th1k_setbincontent1 ::+ Ptr RawTH1K -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setBinContent2"- c_th1k_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_setBinContent2" c_th1k_setbincontent2 :: Ptr RawTH1K -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setBinContent3"- c_th1k_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_setBinContent3" c_th1k_setbincontent3 :: Ptr RawTH1K -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setBinError1"- c_th1k_setbinerror1 :: Ptr RawTH1K -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_setBinError1" c_th1k_setbinerror1 ::+ Ptr RawTH1K -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setBinError2"- c_th1k_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_setBinError2" c_th1k_setbinerror2 :: Ptr RawTH1K -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setBinError3"- c_th1k_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_setBinError3" c_th1k_setbinerror3 :: Ptr RawTH1K -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setBins1"- c_th1k_setbins1 :: Ptr RawTH1K -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_setBins1"+ c_th1k_setbins1 :: Ptr RawTH1K -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setBins2"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_setBins2" c_th1k_setbins2 ::- Ptr RawTH1K ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH1K -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setBins3"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_setBins3" c_th1k_setbins3 :: Ptr RawTH1K -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetBinsLength"- c_th1k_setbinslength :: Ptr RawTH1K -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetBinsLength" c_th1k_setbinslength ::+ Ptr RawTH1K -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetBuffer"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_SetBuffer" c_th1k_setbuffer :: Ptr RawTH1K -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetCellContent"- c_th1k_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetCellContent" c_th1k_setcellcontent :: Ptr RawTH1K -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetContent"- c_th1k_setcontent :: Ptr RawTH1K -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetContent" c_th1k_setcontent ::+ Ptr RawTH1K -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetContour"- c_th1k_setcontour :: Ptr RawTH1K -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetContour" c_th1k_setcontour ::+ Ptr RawTH1K -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetContourLevel"- c_th1k_setcontourlevel :: Ptr RawTH1K -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetContourLevel" c_th1k_setcontourlevel ::+ Ptr RawTH1K -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetDirectory"- c_th1k_setdirectory :: Ptr RawTH1K -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetDirectory" c_th1k_setdirectory ::+ Ptr RawTH1K -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetEntries"- c_th1k_setentries :: Ptr RawTH1K -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetEntries" c_th1k_setentries ::+ Ptr RawTH1K -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetError"- c_th1k_seterror :: Ptr RawTH1K -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_SetError"+ c_th1k_seterror :: Ptr RawTH1K -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setLabelColorA"- c_th1k_setlabelcolora :: Ptr RawTH1K -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_setLabelColorA" c_th1k_setlabelcolora ::+ Ptr RawTH1K -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setLabelSizeA"- c_th1k_setlabelsizea :: Ptr RawTH1K -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_setLabelSizeA" c_th1k_setlabelsizea ::+ Ptr RawTH1K -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setLabelFontA"- c_th1k_setlabelfonta :: Ptr RawTH1K -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_setLabelFontA" c_th1k_setlabelfonta ::+ Ptr RawTH1K -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_setLabelOffsetA"- c_th1k_setlabeloffseta ::- Ptr RawTH1K -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_setLabelOffsetA" c_th1k_setlabeloffseta ::+ Ptr RawTH1K -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetMaximum"- c_th1k_setmaximum :: Ptr RawTH1K -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetMaximum" c_th1k_setmaximum ::+ Ptr RawTH1K -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetMinimum"- c_th1k_setminimum :: Ptr RawTH1K -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetMinimum" c_th1k_setminimum ::+ Ptr RawTH1K -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetNormFactor"- c_th1k_setnormfactor :: Ptr RawTH1K -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetNormFactor" c_th1k_setnormfactor ::+ Ptr RawTH1K -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetStats"- c_th1k_setstats :: Ptr RawTH1K -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_SetStats"+ c_th1k_setstats :: Ptr RawTH1K -> CBool -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetOption"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_SetOption" c_th1k_setoption :: Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetXTitle"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_SetXTitle" c_th1k_setxtitle :: Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetYTitle"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_SetYTitle" c_th1k_setytitle :: Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetZTitle"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_SetZTitle" c_th1k_setztitle :: Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_ShowBackground"- c_th1k_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_ShowBackground" c_th1k_showbackground :: Ptr RawTH1K -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1K.h TH1K_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_ShowPeaks" c_th1k_showpeaks :: Ptr RawTH1K -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_Smooth"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Smooth" c_th1k_smooth :: Ptr RawTH1K -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_Sumw2" c_th1k_sumw2- :: Ptr RawTH1K -> IO ()+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Sumw2"+ c_th1k_sumw2 :: Ptr RawTH1K -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetName"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_SetName" c_th1k_setname :: Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetNameTitle"- c_th1k_setnametitle :: Ptr RawTH1K -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetNameTitle" c_th1k_setnametitle ::+ Ptr RawTH1K -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetTitle"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_SetTitle" c_th1k_settitle :: Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetLineColor"- c_th1k_getlinecolor :: Ptr RawTH1K -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetLineColor" c_th1k_getlinecolor ::+ Ptr RawTH1K -> IO CShort -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetLineStyle"- c_th1k_getlinestyle :: Ptr RawTH1K -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetLineStyle" c_th1k_getlinestyle ::+ Ptr RawTH1K -> IO CShort -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetLineWidth"- c_th1k_getlinewidth :: Ptr RawTH1K -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetLineWidth" c_th1k_getlinewidth ::+ Ptr RawTH1K -> IO CShort -foreign import ccall safe "HROOTHistTH1K.h TH1K_ResetAttLine"- c_th1k_resetattline :: Ptr RawTH1K -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_ResetAttLine" c_th1k_resetattline ::+ Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetLineAttributes"- c_th1k_setlineattributes :: Ptr RawTH1K -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetLineAttributes" c_th1k_setlineattributes+ :: Ptr RawTH1K -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetLineColor"- c_th1k_setlinecolor :: Ptr RawTH1K -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetLineColor" c_th1k_setlinecolor ::+ Ptr RawTH1K -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetLineStyle"- c_th1k_setlinestyle :: Ptr RawTH1K -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetLineStyle" c_th1k_setlinestyle ::+ Ptr RawTH1K -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetLineWidth"- c_th1k_setlinewidth :: Ptr RawTH1K -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetLineWidth" c_th1k_setlinewidth ::+ Ptr RawTH1K -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetFillColor"- c_th1k_setfillcolor :: Ptr RawTH1K -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetFillColor" c_th1k_setfillcolor ::+ Ptr RawTH1K -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetFillStyle"- c_th1k_setfillstyle :: Ptr RawTH1K -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetFillStyle" c_th1k_setfillstyle ::+ Ptr RawTH1K -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMarkerColor"- c_th1k_getmarkercolor :: Ptr RawTH1K -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetMarkerColor" c_th1k_getmarkercolor ::+ Ptr RawTH1K -> IO CShort -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMarkerStyle"- c_th1k_getmarkerstyle :: Ptr RawTH1K -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetMarkerStyle" c_th1k_getmarkerstyle ::+ Ptr RawTH1K -> IO CShort -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMarkerSize"- c_th1k_getmarkersize :: Ptr RawTH1K -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_GetMarkerSize" c_th1k_getmarkersize ::+ Ptr RawTH1K -> IO CFloat -foreign import ccall safe "HROOTHistTH1K.h TH1K_ResetAttMarker"- c_th1k_resetattmarker :: Ptr RawTH1K -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_ResetAttMarker" c_th1k_resetattmarker ::+ Ptr RawTH1K -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_SetMarkerAttributes" c_th1k_setmarkerattributes :: Ptr RawTH1K -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetMarkerColor"- c_th1k_setmarkercolor :: Ptr RawTH1K -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetMarkerColor" c_th1k_setmarkercolor ::+ Ptr RawTH1K -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetMarkerStyle"- c_th1k_setmarkerstyle :: Ptr RawTH1K -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetMarkerStyle" c_th1k_setmarkerstyle ::+ Ptr RawTH1K -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SetMarkerSize"- c_th1k_setmarkersize :: Ptr RawTH1K -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_SetMarkerSize" c_th1k_setmarkersize ::+ Ptr RawTH1K -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_Draw" c_th1k_draw- :: Ptr RawTH1K -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Clear"+ c_th1k_clear :: Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_FindObject"- c_th1k_findobject :: Ptr RawTH1K -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Draw"+ c_th1k_draw :: Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_GetName"+foreign import ccall interruptible+ "HROOTHistTH1K.h TH1K_FindObject" c_th1k_findobject ::+ Ptr RawTH1K -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH1K.h TH1K_GetName" c_th1k_getname :: Ptr RawTH1K -> IO CString -foreign import ccall safe "HROOTHistTH1K.h TH1K_IsA" c_th1k_isa ::- Ptr RawTH1K -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_IsA"+ c_th1k_isa :: Ptr RawTH1K -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH1K.h TH1K_Paint" c_th1k_paint- :: Ptr RawTH1K -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Paint"+ c_th1k_paint :: Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_printObj"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_printObj" c_th1k_printobj :: Ptr RawTH1K -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_SaveAs"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_SaveAs" c_th1k_saveas :: Ptr RawTH1K -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1K.h TH1K_Write" c_th1k_write- :: Ptr RawTH1K -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Write"+ c_th1k_write :: Ptr RawTH1K -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1K.h TH1K_delete"+foreign import ccall interruptible "HROOTHistTH1K.h TH1K_Write_"+ c_th1k_write_ :: Ptr RawTH1K -> IO CInt++foreign import ccall interruptible "HROOTHistTH1K.h TH1K_delete" c_th1k_delete :: Ptr RawTH1K -> IO ()++foreign import ccall interruptible "HROOTHistTH1K.h TH1K_GetAt"+ c_th1k_getat :: Ptr RawTH1K -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH1K.h TH1K_SetArray"+ c_th1k_setarray :: Ptr RawTH1K -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH1K.h TH1K_SetAt"+ c_th1k_setat :: Ptr RawTH1K -> CDouble -> CInt -> IO ()
src/HROOT/Hist/TH1K/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH1K.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH1K.RawType import HROOT.Hist.TH1K.FFI import HROOT.Hist.TH1K.Interface import HROOT.Hist.TH1K.Cast+import HROOT.Hist.TH1K.RawType+import HROOT.Hist.TH1K.Cast+import HROOT.Hist.TH1K.Interface import HROOT.Core.TDirectory.RawType import HROOT.Core.TDirectory.Cast import HROOT.Core.TDirectory.Interface@@ -48,20 +57,19 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH1K TH1K+instance () => ITH1K (TH1K) where -instance ITH1 TH1K where+instance () => ITH1 (TH1K) where add = xform2 c_th1k_add addBinContent = xform2 c_th1k_addbincontent chi2Test = xform3 c_th1k_chi2test- computeIntegral = xform0 c_th1k_computeintegral directoryAutoAdd = xform1 c_th1k_directoryautoadd divide = xform5 c_th1k_divide drawCopyTH1 = xform1 c_th1k_drawcopyth1@@ -133,9 +141,6 @@ getRMS = xform1 c_th1k_getrms getRMSError = xform1 c_th1k_getrmserror getSkewness = xform1 c_th1k_getskewness- integral1 = xform3 c_th1k_integral1- interpolate1 = xform1 c_th1k_interpolate1- interpolate2 = xform2 c_th1k_interpolate2 interpolate3 = xform3 c_th1k_interpolate3 kolmogorovTest = xform2 c_th1k_kolmogorovtest labelsDeflate = xform1 c_th1k_labelsdeflate@@ -190,14 +195,14 @@ smooth = xform2 c_th1k_smooth sumw2 = xform0 c_th1k_sumw2 -instance ITArrayF TH1K+instance () => ITArrayF (TH1K) where -instance ITNamed TH1K where+instance () => ITNamed (TH1K) where setName = xform1 c_th1k_setname setNameTitle = xform2 c_th1k_setnametitle setTitle = xform1 c_th1k_settitle -instance ITAttLine TH1K where+instance () => ITAttLine (TH1K) where getLineColor = xform0 c_th1k_getlinecolor getLineStyle = xform0 c_th1k_getlinestyle getLineWidth = xform0 c_th1k_getlinewidth@@ -207,11 +212,11 @@ setLineStyle = xform1 c_th1k_setlinestyle setLineWidth = xform1 c_th1k_setlinewidth -instance ITAttFill TH1K where+instance () => ITAttFill (TH1K) where setFillColor = xform1 c_th1k_setfillcolor setFillStyle = xform1 c_th1k_setfillstyle -instance ITAttMarker TH1K where+instance () => ITAttMarker (TH1K) where getMarkerColor = xform0 c_th1k_getmarkercolor getMarkerStyle = xform0 c_th1k_getmarkerstyle getMarkerSize = xform0 c_th1k_getmarkersize@@ -221,7 +226,8 @@ setMarkerStyle = xform1 c_th1k_setmarkerstyle setMarkerSize = xform1 c_th1k_setmarkersize -instance ITObject TH1K where+instance () => ITObject (TH1K) where+ clear = xform1 c_th1k_clear draw = xform1 c_th1k_draw findObject = xform1 c_th1k_findobject getName = xform0 c_th1k_getname@@ -230,8 +236,12 @@ printObj = xform1 c_th1k_printobj saveAs = xform2 c_th1k_saveas write = xform3 c_th1k_write+ write_ = xform0 c_th1k_write_ -instance IDeletable TH1K where+instance () => IDeletable (TH1K) where delete = xform0 c_th1k_delete -instance ITArray TH1K+instance () => ITArray (TH1K) where+ getAt = xform1 c_th1k_getat+ setArray = xform1 c_th1k_setarray+ setAt = xform2 c_th1k_setat
src/HROOT/Hist/TH1K/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH1K.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH1.Interface import HROOT.Core.TArrayF.Interface -class (ITH1 a, ITArrayF a) => ITH1K a+class (ITH1 a, ITArrayF a) => ITH1K a where upcastTH1K :: forall a . (FPtr a, ITH1K a) => a -> TH1K upcastTH1K h
src/HROOT/Hist/TH1K/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH1K newtype TH1K = TH1K (Ptr RawTH1K)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH1K where+instance () => FPtr (TH1K) where type Raw TH1K = RawTH1K get_fptr (TH1K ptr) = ptr cast_fptr_to_obj = TH1K
src/HROOT/Hist/TH1S/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH1S.RawType import HROOT.Hist.TH1S.Interface -instance (ITH1S a, FPtr a) => Castable a (Ptr RawTH1S) where+instance (ITH1S a, FPtr a) => Castable (a) (Ptr RawTH1S) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH1S (Ptr RawTH1S) where+instance () => Castable (TH1S) (Ptr RawTH1S) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH1S/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH1S.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH1S.RawType+import HROOT.Hist.TH1S.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType import HROOT.Hist.TF1.RawType@@ -11,524 +14,610 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH1S.h TH1S_Add" c_th1s_add ::- Ptr RawTH1S -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Add"+ c_th1s_add :: Ptr RawTH1S -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_AddBinContent"- c_th1s_addbincontent :: Ptr RawTH1S -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_AddBinContent" c_th1s_addbincontent ::+ Ptr RawTH1S -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_Chi2Test"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Chi2Test" c_th1s_chi2test ::- Ptr RawTH1S -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH1S.h TH1S_ComputeIntegral"- c_th1s_computeintegral :: Ptr RawTH1S -> IO CDouble+ Ptr RawTH1S -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_DirectoryAutoAdd"- c_th1s_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_DirectoryAutoAdd" c_th1s_directoryautoadd :: Ptr RawTH1S -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_Divide"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Divide" c_th1s_divide :: Ptr RawTH1S -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_drawCopyTH1"- c_th1s_drawcopyth1 :: Ptr RawTH1S -> CString -> IO (Ptr RawTH1S)+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_drawCopyTH1" c_th1s_drawcopyth1 ::+ Ptr RawTH1S -> CString -> IO (Ptr RawTH1S) -foreign import ccall safe "HROOTHistTH1S.h TH1S_DrawNormalized"- c_th1s_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_DrawNormalized" c_th1s_drawnormalized :: Ptr RawTH1S -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1S.h TH1S_drawPanelTH1"- c_th1s_drawpanelth1 :: Ptr RawTH1S -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_drawPanelTH1" c_th1s_drawpanelth1 ::+ Ptr RawTH1S -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_BufferEmpty"- c_th1s_bufferempty :: Ptr RawTH1S -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_BufferEmpty" c_th1s_bufferempty ::+ Ptr RawTH1S -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_evalF" c_th1s_evalf- :: Ptr RawTH1S -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_evalF"+ c_th1s_evalf :: Ptr RawTH1S -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_FFT" c_th1s_fft ::+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_FFT"+ c_th1s_fft :: Ptr RawTH1S -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1S.h TH1S_fill1" c_th1s_fill1- :: Ptr RawTH1S -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_fill1"+ c_th1s_fill1 :: Ptr RawTH1S -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_fill1w"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_fill1w" c_th1s_fill1w :: Ptr RawTH1S -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_fillN1"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_fillN1" c_th1s_filln1 ::- Ptr RawTH1S ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH1S -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_FillRandom"- c_th1s_fillrandom :: Ptr RawTH1S -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_FillRandom" c_th1s_fillrandom ::+ Ptr RawTH1S -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_FindBin"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_FindBin" c_th1s_findbin :: Ptr RawTH1S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_FindFixBin"- c_th1s_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_FindFixBin" c_th1s_findfixbin :: Ptr RawTH1S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_FindFirstBinAbove"- c_th1s_findfirstbinabove ::- Ptr RawTH1S -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_FindFirstBinAbove" c_th1s_findfirstbinabove+ :: Ptr RawTH1S -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_FindLastBinAbove"- c_th1s_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_FindLastBinAbove" c_th1s_findlastbinabove :: Ptr RawTH1S -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_Fit" c_th1s_fit ::+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Fit"+ c_th1s_fit :: Ptr RawTH1S -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_FitPanelTH1"- c_th1s_fitpanelth1 :: Ptr RawTH1S -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_FitPanelTH1" c_th1s_fitpanelth1 ::+ Ptr RawTH1S -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_getNdivisionA"- c_th1s_getndivisiona :: Ptr RawTH1S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_getNdivisionA" c_th1s_getndivisiona ::+ Ptr RawTH1S -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_getAxisColorA"- c_th1s_getaxiscolora :: Ptr RawTH1S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_getAxisColorA" c_th1s_getaxiscolora ::+ Ptr RawTH1S -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1S.h TH1S_getLabelColorA"- c_th1s_getlabelcolora :: Ptr RawTH1S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_getLabelColorA" c_th1s_getlabelcolora ::+ Ptr RawTH1S -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1S.h TH1S_getLabelFontA"- c_th1s_getlabelfonta :: Ptr RawTH1S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_getLabelFontA" c_th1s_getlabelfonta ::+ Ptr RawTH1S -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1S.h TH1S_getLabelOffsetA"- c_th1s_getlabeloffseta :: Ptr RawTH1S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_getLabelOffsetA" c_th1s_getlabeloffseta ::+ Ptr RawTH1S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1S.h TH1S_getLabelSizeA"- c_th1s_getlabelsizea :: Ptr RawTH1S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_getLabelSizeA" c_th1s_getlabelsizea ::+ Ptr RawTH1S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1S.h TH1S_getTitleFontA"- c_th1s_gettitlefonta :: Ptr RawTH1S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_getTitleFontA" c_th1s_gettitlefonta ::+ Ptr RawTH1S -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH1S.h TH1S_getTitleOffsetA"- c_th1s_gettitleoffseta :: Ptr RawTH1S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_getTitleOffsetA" c_th1s_gettitleoffseta ::+ Ptr RawTH1S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1S.h TH1S_getTitleSizeA"- c_th1s_gettitlesizea :: Ptr RawTH1S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_getTitleSizeA" c_th1s_gettitlesizea ::+ Ptr RawTH1S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1S.h TH1S_getTickLengthA"- c_th1s_getticklengtha :: Ptr RawTH1S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_getTickLengthA" c_th1s_getticklengtha ::+ Ptr RawTH1S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBarOffset"- c_th1s_getbaroffset :: Ptr RawTH1S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetBarOffset" c_th1s_getbaroffset ::+ Ptr RawTH1S -> IO CFloat -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBarWidth"- c_th1s_getbarwidth :: Ptr RawTH1S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetBarWidth" c_th1s_getbarwidth ::+ Ptr RawTH1S -> IO CFloat -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetContour"- c_th1s_getcontour :: Ptr RawTH1S -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetContour" c_th1s_getcontour ::+ Ptr RawTH1S -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetContourLevel"- c_th1s_getcontourlevel :: Ptr RawTH1S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetContourLevel" c_th1s_getcontourlevel ::+ Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetContourLevelPad"- c_th1s_getcontourlevelpad :: Ptr RawTH1S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetContourLevelPad" c_th1s_getcontourlevelpad+ :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBin"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_GetBin" c_th1s_getbin :: Ptr RawTH1S -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinCenter"- c_th1s_getbincenter :: Ptr RawTH1S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetBinCenter" c_th1s_getbincenter ::+ Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinContent1"- c_th1s_getbincontent1 :: Ptr RawTH1S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetBinContent1" c_th1s_getbincontent1 ::+ Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinContent2"- c_th1s_getbincontent2 :: Ptr RawTH1S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetBinContent2" c_th1s_getbincontent2 ::+ Ptr RawTH1S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinContent3"- c_th1s_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetBinContent3" c_th1s_getbincontent3 :: Ptr RawTH1S -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinError1"- c_th1s_getbinerror1 :: Ptr RawTH1S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetBinError1" c_th1s_getbinerror1 ::+ Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinError2"- c_th1s_getbinerror2 :: Ptr RawTH1S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetBinError2" c_th1s_getbinerror2 ::+ Ptr RawTH1S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinError3"- c_th1s_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetBinError3" c_th1s_getbinerror3 :: Ptr RawTH1S -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinLowEdge"- c_th1s_getbinlowedge :: Ptr RawTH1S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetBinLowEdge" c_th1s_getbinlowedge ::+ Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinWidth"- c_th1s_getbinwidth :: Ptr RawTH1S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetBinWidth" c_th1s_getbinwidth ::+ Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetCellContent"- c_th1s_getcellcontent :: Ptr RawTH1S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetCellContent" c_th1s_getcellcontent ::+ Ptr RawTH1S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetCellError"- c_th1s_getcellerror :: Ptr RawTH1S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetCellError" c_th1s_getcellerror ::+ Ptr RawTH1S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetEntries"- c_th1s_getentries :: Ptr RawTH1S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetEntries" c_th1s_getentries ::+ Ptr RawTH1S -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_GetEffectiveEntries" c_th1s_geteffectiveentries :: Ptr RawTH1S -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetFunction"- c_th1s_getfunction :: Ptr RawTH1S -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetFunction" c_th1s_getfunction ::+ Ptr RawTH1S -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetDimension"- c_th1s_getdimension :: Ptr RawTH1S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetDimension" c_th1s_getdimension ::+ Ptr RawTH1S -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetKurtosis"- c_th1s_getkurtosis :: Ptr RawTH1S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetKurtosis" c_th1s_getkurtosis ::+ Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetLowEdge"- c_th1s_getlowedge :: Ptr RawTH1S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetLowEdge" c_th1s_getlowedge ::+ Ptr RawTH1S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_getMaximumTH1"- c_th1s_getmaximumth1 :: Ptr RawTH1S -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_getMaximumTH1" c_th1s_getmaximumth1 ::+ Ptr RawTH1S -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMaximumBin"- c_th1s_getmaximumbin :: Ptr RawTH1S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetMaximumBin" c_th1s_getmaximumbin ::+ Ptr RawTH1S -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMaximumStored"- c_th1s_getmaximumstored :: Ptr RawTH1S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetMaximumStored" c_th1s_getmaximumstored ::+ Ptr RawTH1S -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_getMinimumTH1"- c_th1s_getminimumth1 :: Ptr RawTH1S -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_getMinimumTH1" c_th1s_getminimumth1 ::+ Ptr RawTH1S -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMinimumBin"- c_th1s_getminimumbin :: Ptr RawTH1S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetMinimumBin" c_th1s_getminimumbin ::+ Ptr RawTH1S -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMinimumStored"- c_th1s_getminimumstored :: Ptr RawTH1S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetMinimumStored" c_th1s_getminimumstored ::+ Ptr RawTH1S -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMean"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_GetMean" c_th1s_getmean :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMeanError"- c_th1s_getmeanerror :: Ptr RawTH1S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetMeanError" c_th1s_getmeanerror ::+ Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_GetNbinsX" c_th1s_getnbinsx :: Ptr RawTH1S -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_GetNbinsY" c_th1s_getnbinsy :: Ptr RawTH1S -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_GetNbinsZ" c_th1s_getnbinsz :: Ptr RawTH1S -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_getQuantilesTH1"- c_th1s_getquantilesth1 ::- Ptr RawTH1S -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_getQuantilesTH1" c_th1s_getquantilesth1 ::+ Ptr RawTH1S -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetRandom"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_GetRandom" c_th1s_getrandom :: Ptr RawTH1S -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetStats"- c_th1s_getstats :: Ptr RawTH1S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_GetStats"+ c_th1s_getstats :: Ptr RawTH1S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetSumOfWeights"- c_th1s_getsumofweights :: Ptr RawTH1S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetSumOfWeights" c_th1s_getsumofweights ::+ Ptr RawTH1S -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetSumw2"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_GetSumw2" c_th1s_getsumw2 :: Ptr RawTH1S -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_GetSumw2N" c_th1s_getsumw2n :: Ptr RawTH1S -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetRMS"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_GetRMS" c_th1s_getrms :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetRMSError"- c_th1s_getrmserror :: Ptr RawTH1S -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH1S.h TH1S_GetSkewness"- c_th1s_getskewness :: Ptr RawTH1S -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH1S.h TH1S_integral1"- c_th1s_integral1 ::- Ptr RawTH1S -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH1S.h TH1S_interpolate1"- c_th1s_interpolate1 :: Ptr RawTH1S -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetRMSError" c_th1s_getrmserror ::+ Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_interpolate2"- c_th1s_interpolate2 ::- Ptr RawTH1S -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetSkewness" c_th1s_getskewness ::+ Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_interpolate3"- c_th1s_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_interpolate3" c_th1s_interpolate3 :: Ptr RawTH1S -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_KolmogorovTest"- c_th1s_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_KolmogorovTest" c_th1s_kolmogorovtest :: Ptr RawTH1S -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH1S.h TH1S_LabelsDeflate"- c_th1s_labelsdeflate :: Ptr RawTH1S -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_LabelsDeflate" c_th1s_labelsdeflate ::+ Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_LabelsInflate"- c_th1s_labelsinflate :: Ptr RawTH1S -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_LabelsInflate" c_th1s_labelsinflate ::+ Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_LabelsOption"- c_th1s_labelsoption :: Ptr RawTH1S -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_LabelsOption" c_th1s_labelsoption ::+ Ptr RawTH1S -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_multiflyF"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_multiflyF" c_th1s_multiflyf :: Ptr RawTH1S -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_Multiply"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Multiply" c_th1s_multiply :: Ptr RawTH1S -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_PutStats"- c_th1s_putstats :: Ptr RawTH1S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_PutStats"+ c_th1s_putstats :: Ptr RawTH1S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_Rebin" c_th1s_rebin- ::- Ptr RawTH1S -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Rebin"+ c_th1s_rebin ::+ Ptr RawTH1S -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1S.h TH1S_RebinAxis"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_RebinAxis" c_th1s_rebinaxis :: Ptr RawTH1S -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_Rebuild"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Rebuild" c_th1s_rebuild :: Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_RecursiveRemove"- c_th1s_recursiveremove :: Ptr RawTH1S -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_RecursiveRemove" c_th1s_recursiveremove ::+ Ptr RawTH1S -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_Reset" c_th1s_reset- :: Ptr RawTH1S -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Reset"+ c_th1s_reset :: Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_ResetStats"- c_th1s_resetstats :: Ptr RawTH1S -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_ResetStats" c_th1s_resetstats ::+ Ptr RawTH1S -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_Scale" c_th1s_scale- :: Ptr RawTH1S -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Scale"+ c_th1s_scale :: Ptr RawTH1S -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setAxisColorA"- c_th1s_setaxiscolora :: Ptr RawTH1S -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_setAxisColorA" c_th1s_setaxiscolora ::+ Ptr RawTH1S -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetAxisRange"- c_th1s_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetAxisRange" c_th1s_setaxisrange :: Ptr RawTH1S -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetBarOffset"- c_th1s_setbaroffset :: Ptr RawTH1S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetBarOffset" c_th1s_setbaroffset ::+ Ptr RawTH1S -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetBarWidth"- c_th1s_setbarwidth :: Ptr RawTH1S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetBarWidth" c_th1s_setbarwidth ::+ Ptr RawTH1S -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setBinContent1"- c_th1s_setbincontent1 :: Ptr RawTH1S -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_setBinContent1" c_th1s_setbincontent1 ::+ Ptr RawTH1S -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setBinContent2"- c_th1s_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_setBinContent2" c_th1s_setbincontent2 :: Ptr RawTH1S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setBinContent3"- c_th1s_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_setBinContent3" c_th1s_setbincontent3 :: Ptr RawTH1S -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setBinError1"- c_th1s_setbinerror1 :: Ptr RawTH1S -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_setBinError1" c_th1s_setbinerror1 ::+ Ptr RawTH1S -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setBinError2"- c_th1s_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_setBinError2" c_th1s_setbinerror2 :: Ptr RawTH1S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setBinError3"- c_th1s_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_setBinError3" c_th1s_setbinerror3 :: Ptr RawTH1S -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setBins1"- c_th1s_setbins1 :: Ptr RawTH1S -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_setBins1"+ c_th1s_setbins1 :: Ptr RawTH1S -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setBins2"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_setBins2" c_th1s_setbins2 ::- Ptr RawTH1S ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH1S -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setBins3"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_setBins3" c_th1s_setbins3 :: Ptr RawTH1S -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetBinsLength"- c_th1s_setbinslength :: Ptr RawTH1S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetBinsLength" c_th1s_setbinslength ::+ Ptr RawTH1S -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetBuffer"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_SetBuffer" c_th1s_setbuffer :: Ptr RawTH1S -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetCellContent"- c_th1s_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetCellContent" c_th1s_setcellcontent :: Ptr RawTH1S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetContent"- c_th1s_setcontent :: Ptr RawTH1S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetContent" c_th1s_setcontent ::+ Ptr RawTH1S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetContour"- c_th1s_setcontour :: Ptr RawTH1S -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetContour" c_th1s_setcontour ::+ Ptr RawTH1S -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetContourLevel"- c_th1s_setcontourlevel :: Ptr RawTH1S -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetContourLevel" c_th1s_setcontourlevel ::+ Ptr RawTH1S -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetDirectory"- c_th1s_setdirectory :: Ptr RawTH1S -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetDirectory" c_th1s_setdirectory ::+ Ptr RawTH1S -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetEntries"- c_th1s_setentries :: Ptr RawTH1S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetEntries" c_th1s_setentries ::+ Ptr RawTH1S -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetError"- c_th1s_seterror :: Ptr RawTH1S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_SetError"+ c_th1s_seterror :: Ptr RawTH1S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setLabelColorA"- c_th1s_setlabelcolora :: Ptr RawTH1S -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_setLabelColorA" c_th1s_setlabelcolora ::+ Ptr RawTH1S -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setLabelSizeA"- c_th1s_setlabelsizea :: Ptr RawTH1S -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_setLabelSizeA" c_th1s_setlabelsizea ::+ Ptr RawTH1S -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setLabelFontA"- c_th1s_setlabelfonta :: Ptr RawTH1S -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_setLabelFontA" c_th1s_setlabelfonta ::+ Ptr RawTH1S -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_setLabelOffsetA"- c_th1s_setlabeloffseta ::- Ptr RawTH1S -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_setLabelOffsetA" c_th1s_setlabeloffseta ::+ Ptr RawTH1S -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetMaximum"- c_th1s_setmaximum :: Ptr RawTH1S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetMaximum" c_th1s_setmaximum ::+ Ptr RawTH1S -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetMinimum"- c_th1s_setminimum :: Ptr RawTH1S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetMinimum" c_th1s_setminimum ::+ Ptr RawTH1S -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetNormFactor"- c_th1s_setnormfactor :: Ptr RawTH1S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetNormFactor" c_th1s_setnormfactor ::+ Ptr RawTH1S -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetStats"- c_th1s_setstats :: Ptr RawTH1S -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_SetStats"+ c_th1s_setstats :: Ptr RawTH1S -> CBool -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetOption"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_SetOption" c_th1s_setoption :: Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetXTitle"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_SetXTitle" c_th1s_setxtitle :: Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetYTitle"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_SetYTitle" c_th1s_setytitle :: Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetZTitle"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_SetZTitle" c_th1s_setztitle :: Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_ShowBackground"- c_th1s_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_ShowBackground" c_th1s_showbackground :: Ptr RawTH1S -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH1S.h TH1S_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_ShowPeaks" c_th1s_showpeaks :: Ptr RawTH1S -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_Smooth"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Smooth" c_th1s_smooth :: Ptr RawTH1S -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_Sumw2" c_th1s_sumw2- :: Ptr RawTH1S -> IO ()+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Sumw2"+ c_th1s_sumw2 :: Ptr RawTH1S -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetName"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_SetName" c_th1s_setname :: Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetNameTitle"- c_th1s_setnametitle :: Ptr RawTH1S -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetNameTitle" c_th1s_setnametitle ::+ Ptr RawTH1S -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetTitle"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_SetTitle" c_th1s_settitle :: Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetLineColor"- c_th1s_getlinecolor :: Ptr RawTH1S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetLineColor" c_th1s_getlinecolor ::+ Ptr RawTH1S -> IO CShort -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetLineStyle"- c_th1s_getlinestyle :: Ptr RawTH1S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetLineStyle" c_th1s_getlinestyle ::+ Ptr RawTH1S -> IO CShort -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetLineWidth"- c_th1s_getlinewidth :: Ptr RawTH1S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetLineWidth" c_th1s_getlinewidth ::+ Ptr RawTH1S -> IO CShort -foreign import ccall safe "HROOTHistTH1S.h TH1S_ResetAttLine"- c_th1s_resetattline :: Ptr RawTH1S -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_ResetAttLine" c_th1s_resetattline ::+ Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetLineAttributes"- c_th1s_setlineattributes :: Ptr RawTH1S -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetLineAttributes" c_th1s_setlineattributes+ :: Ptr RawTH1S -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetLineColor"- c_th1s_setlinecolor :: Ptr RawTH1S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetLineColor" c_th1s_setlinecolor ::+ Ptr RawTH1S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetLineStyle"- c_th1s_setlinestyle :: Ptr RawTH1S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetLineStyle" c_th1s_setlinestyle ::+ Ptr RawTH1S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetLineWidth"- c_th1s_setlinewidth :: Ptr RawTH1S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetLineWidth" c_th1s_setlinewidth ::+ Ptr RawTH1S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetFillColor"- c_th1s_setfillcolor :: Ptr RawTH1S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetFillColor" c_th1s_setfillcolor ::+ Ptr RawTH1S -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetFillStyle"- c_th1s_setfillstyle :: Ptr RawTH1S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetFillStyle" c_th1s_setfillstyle ::+ Ptr RawTH1S -> CInt -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMarkerColor"- c_th1s_getmarkercolor :: Ptr RawTH1S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetMarkerColor" c_th1s_getmarkercolor ::+ Ptr RawTH1S -> IO CShort -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMarkerStyle"- c_th1s_getmarkerstyle :: Ptr RawTH1S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetMarkerStyle" c_th1s_getmarkerstyle ::+ Ptr RawTH1S -> IO CShort -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMarkerSize"- c_th1s_getmarkersize :: Ptr RawTH1S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_GetMarkerSize" c_th1s_getmarkersize ::+ Ptr RawTH1S -> IO CFloat -foreign import ccall safe "HROOTHistTH1S.h TH1S_ResetAttMarker"- c_th1s_resetattmarker :: Ptr RawTH1S -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_ResetAttMarker" c_th1s_resetattmarker ::+ Ptr RawTH1S -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_SetMarkerAttributes" c_th1s_setmarkerattributes :: Ptr RawTH1S -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetMarkerColor"- c_th1s_setmarkercolor :: Ptr RawTH1S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetMarkerColor" c_th1s_setmarkercolor ::+ Ptr RawTH1S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetMarkerStyle"- c_th1s_setmarkerstyle :: Ptr RawTH1S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetMarkerStyle" c_th1s_setmarkerstyle ::+ Ptr RawTH1S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SetMarkerSize"- c_th1s_setmarkersize :: Ptr RawTH1S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_SetMarkerSize" c_th1s_setmarkersize ::+ Ptr RawTH1S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_Draw" c_th1s_draw- :: Ptr RawTH1S -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Clear"+ c_th1s_clear :: Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_FindObject"- c_th1s_findobject :: Ptr RawTH1S -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Draw"+ c_th1s_draw :: Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_GetName"+foreign import ccall interruptible+ "HROOTHistTH1S.h TH1S_FindObject" c_th1s_findobject ::+ Ptr RawTH1S -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH1S.h TH1S_GetName" c_th1s_getname :: Ptr RawTH1S -> IO CString -foreign import ccall safe "HROOTHistTH1S.h TH1S_IsA" c_th1s_isa ::- Ptr RawTH1S -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_IsA"+ c_th1s_isa :: Ptr RawTH1S -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH1S.h TH1S_Paint" c_th1s_paint- :: Ptr RawTH1S -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Paint"+ c_th1s_paint :: Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_printObj"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_printObj" c_th1s_printobj :: Ptr RawTH1S -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_SaveAs"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_SaveAs" c_th1s_saveas :: Ptr RawTH1S -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH1S.h TH1S_Write" c_th1s_write- :: Ptr RawTH1S -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Write"+ c_th1s_write :: Ptr RawTH1S -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH1S.h TH1S_delete"+foreign import ccall interruptible "HROOTHistTH1S.h TH1S_Write_"+ c_th1s_write_ :: Ptr RawTH1S -> IO CInt++foreign import ccall interruptible "HROOTHistTH1S.h TH1S_delete" c_th1s_delete :: Ptr RawTH1S -> IO ()++foreign import ccall interruptible "HROOTHistTH1S.h TH1S_GetAt"+ c_th1s_getat :: Ptr RawTH1S -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH1S.h TH1S_SetArray"+ c_th1s_setarray :: Ptr RawTH1S -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH1S.h TH1S_SetAt"+ c_th1s_setat :: Ptr RawTH1S -> CDouble -> CInt -> IO ()
src/HROOT/Hist/TH1S/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH1S.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH1S.RawType import HROOT.Hist.TH1S.FFI import HROOT.Hist.TH1S.Interface import HROOT.Hist.TH1S.Cast+import HROOT.Hist.TH1S.RawType+import HROOT.Hist.TH1S.Cast+import HROOT.Hist.TH1S.Interface import HROOT.Core.TDirectory.RawType import HROOT.Core.TDirectory.Cast import HROOT.Core.TDirectory.Interface@@ -48,20 +57,19 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH1S TH1S+instance () => ITH1S (TH1S) where -instance ITH1 TH1S where+instance () => ITH1 (TH1S) where add = xform2 c_th1s_add addBinContent = xform2 c_th1s_addbincontent chi2Test = xform3 c_th1s_chi2test- computeIntegral = xform0 c_th1s_computeintegral directoryAutoAdd = xform1 c_th1s_directoryautoadd divide = xform5 c_th1s_divide drawCopyTH1 = xform1 c_th1s_drawcopyth1@@ -133,9 +141,6 @@ getRMS = xform1 c_th1s_getrms getRMSError = xform1 c_th1s_getrmserror getSkewness = xform1 c_th1s_getskewness- integral1 = xform3 c_th1s_integral1- interpolate1 = xform1 c_th1s_interpolate1- interpolate2 = xform2 c_th1s_interpolate2 interpolate3 = xform3 c_th1s_interpolate3 kolmogorovTest = xform2 c_th1s_kolmogorovtest labelsDeflate = xform1 c_th1s_labelsdeflate@@ -190,14 +195,14 @@ smooth = xform2 c_th1s_smooth sumw2 = xform0 c_th1s_sumw2 -instance ITArrayS TH1S+instance () => ITArrayS (TH1S) where -instance ITNamed TH1S where+instance () => ITNamed (TH1S) where setName = xform1 c_th1s_setname setNameTitle = xform2 c_th1s_setnametitle setTitle = xform1 c_th1s_settitle -instance ITAttLine TH1S where+instance () => ITAttLine (TH1S) where getLineColor = xform0 c_th1s_getlinecolor getLineStyle = xform0 c_th1s_getlinestyle getLineWidth = xform0 c_th1s_getlinewidth@@ -207,11 +212,11 @@ setLineStyle = xform1 c_th1s_setlinestyle setLineWidth = xform1 c_th1s_setlinewidth -instance ITAttFill TH1S where+instance () => ITAttFill (TH1S) where setFillColor = xform1 c_th1s_setfillcolor setFillStyle = xform1 c_th1s_setfillstyle -instance ITAttMarker TH1S where+instance () => ITAttMarker (TH1S) where getMarkerColor = xform0 c_th1s_getmarkercolor getMarkerStyle = xform0 c_th1s_getmarkerstyle getMarkerSize = xform0 c_th1s_getmarkersize@@ -221,7 +226,8 @@ setMarkerStyle = xform1 c_th1s_setmarkerstyle setMarkerSize = xform1 c_th1s_setmarkersize -instance ITObject TH1S where+instance () => ITObject (TH1S) where+ clear = xform1 c_th1s_clear draw = xform1 c_th1s_draw findObject = xform1 c_th1s_findobject getName = xform0 c_th1s_getname@@ -230,8 +236,12 @@ printObj = xform1 c_th1s_printobj saveAs = xform2 c_th1s_saveas write = xform3 c_th1s_write+ write_ = xform0 c_th1s_write_ -instance IDeletable TH1S where+instance () => IDeletable (TH1S) where delete = xform0 c_th1s_delete -instance ITArray TH1S+instance () => ITArray (TH1S) where+ getAt = xform1 c_th1s_getat+ setArray = xform1 c_th1s_setarray+ setAt = xform2 c_th1s_setat
src/HROOT/Hist/TH1S/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH1S.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH1.Interface import HROOT.Core.TArrayS.Interface -class (ITH1 a, ITArrayS a) => ITH1S a+class (ITH1 a, ITArrayS a) => ITH1S a where upcastTH1S :: forall a . (FPtr a, ITH1S a) => a -> TH1S upcastTH1S h
src/HROOT/Hist/TH1S/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH1S newtype TH1S = TH1S (Ptr RawTH1S)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH1S where+instance () => FPtr (TH1S) where type Raw TH1S = RawTH1S get_fptr (TH1S ptr) = ptr cast_fptr_to_obj = TH1S
src/HROOT/Hist/TH2.hs view
@@ -1,6 +1,6 @@ module HROOT.Hist.TH2- (TH2(..), ITH2(..), upcastTH2, downcastTH2, tH2ProjectionX,- tH2ProjectionY)+ (TH2(..), ITH2(..), upcastTH2, downcastTH2, tH2_ProjectionX,+ tH2_ProjectionY) where import HROOT.Hist.TH2.RawType import HROOT.Hist.TH2.Interface
src/HROOT/Hist/TH2/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH2.RawType import HROOT.Hist.TH2.Interface -instance (ITH2 a, FPtr a) => Castable a (Ptr RawTH2) where+instance (ITH2 a, FPtr a) => Castable (a) (Ptr RawTH2) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH2 (Ptr RawTH2) where+instance () => Castable (TH2) (Ptr RawTH2) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH2/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH2.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH2.RawType+import HROOT.Hist.TH2.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType import HROOT.Hist.TF1.RawType@@ -13,589 +16,655 @@ import HROOT.Hist.TH1D.RawType import HROOT.Core.TObjArray.RawType -foreign import ccall safe "HROOTHistTH2.h TH2_Add" c_th2_add ::- Ptr RawTH2 -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_Add"+ c_th2_add :: Ptr RawTH2 -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_AddBinContent"- c_th2_addbincontent :: Ptr RawTH2 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_AddBinContent" c_th2_addbincontent ::+ Ptr RawTH2 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_Chi2Test"+foreign import ccall interruptible "HROOTHistTH2.h TH2_Chi2Test" c_th2_chi2test ::- Ptr RawTH2 -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH2.h TH2_ComputeIntegral"- c_th2_computeintegral :: Ptr RawTH2 -> IO CDouble+ Ptr RawTH2 -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_DirectoryAutoAdd"- c_th2_directoryautoadd :: Ptr RawTH2 -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_DirectoryAutoAdd" c_th2_directoryautoadd ::+ Ptr RawTH2 -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_Divide" c_th2_divide- ::+foreign import ccall interruptible "HROOTHistTH2.h TH2_Divide"+ c_th2_divide :: Ptr RawTH2 -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_drawCopyTH1"+foreign import ccall interruptible "HROOTHistTH2.h TH2_drawCopyTH1" c_th2_drawcopyth1 :: Ptr RawTH2 -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2.h TH2_DrawNormalized"- c_th2_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_DrawNormalized" c_th2_drawnormalized :: Ptr RawTH2 -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2.h TH2_drawPanelTH1"- c_th2_drawpanelth1 :: Ptr RawTH2 -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_drawPanelTH1" c_th2_drawpanelth1 ::+ Ptr RawTH2 -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_BufferEmpty"+foreign import ccall interruptible "HROOTHistTH2.h TH2_BufferEmpty" c_th2_bufferempty :: Ptr RawTH2 -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_evalF" c_th2_evalf ::- Ptr RawTH2 -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_evalF"+ c_th2_evalf :: Ptr RawTH2 -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_FFT" c_th2_fft ::- Ptr RawTH2 -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH2.h TH2_FFT"+ c_th2_fft :: Ptr RawTH2 -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2.h TH2_fill1" c_th2_fill1 ::- Ptr RawTH2 -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2.h TH2_fill1"+ c_th2_fill1 :: Ptr RawTH2 -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_fill1w" c_th2_fill1w- :: Ptr RawTH2 -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2.h TH2_fill1w"+ c_th2_fill1w :: Ptr RawTH2 -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_fillN1" c_th2_filln1- ::- Ptr RawTH2 ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_fillN1"+ c_th2_filln1 ::+ Ptr RawTH2 -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_FillRandom"+foreign import ccall interruptible "HROOTHistTH2.h TH2_FillRandom" c_th2_fillrandom :: Ptr RawTH2 -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_FindBin"+foreign import ccall interruptible "HROOTHistTH2.h TH2_FindBin" c_th2_findbin :: Ptr RawTH2 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_FindFixBin"+foreign import ccall interruptible "HROOTHistTH2.h TH2_FindFixBin" c_th2_findfixbin :: Ptr RawTH2 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_FindFirstBinAbove"- c_th2_findfirstbinabove :: Ptr RawTH2 -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_FindFirstBinAbove" c_th2_findfirstbinabove ::+ Ptr RawTH2 -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_FindLastBinAbove"- c_th2_findlastbinabove :: Ptr RawTH2 -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_FindLastBinAbove" c_th2_findlastbinabove ::+ Ptr RawTH2 -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_Fit" c_th2_fit ::+foreign import ccall interruptible "HROOTHistTH2.h TH2_Fit"+ c_th2_fit :: Ptr RawTH2 -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_FitPanelTH1"+foreign import ccall interruptible "HROOTHistTH2.h TH2_FitPanelTH1" c_th2_fitpanelth1 :: Ptr RawTH2 -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_getNdivisionA"- c_th2_getndivisiona :: Ptr RawTH2 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getNdivisionA" c_th2_getndivisiona ::+ Ptr RawTH2 -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_getAxisColorA"- c_th2_getaxiscolora :: Ptr RawTH2 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getAxisColorA" c_th2_getaxiscolora ::+ Ptr RawTH2 -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2.h TH2_getLabelColorA"- c_th2_getlabelcolora :: Ptr RawTH2 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getLabelColorA" c_th2_getlabelcolora ::+ Ptr RawTH2 -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2.h TH2_getLabelFontA"- c_th2_getlabelfonta :: Ptr RawTH2 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getLabelFontA" c_th2_getlabelfonta ::+ Ptr RawTH2 -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2.h TH2_getLabelOffsetA"- c_th2_getlabeloffseta :: Ptr RawTH2 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getLabelOffsetA" c_th2_getlabeloffseta ::+ Ptr RawTH2 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2.h TH2_getLabelSizeA"- c_th2_getlabelsizea :: Ptr RawTH2 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getLabelSizeA" c_th2_getlabelsizea ::+ Ptr RawTH2 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2.h TH2_getTitleFontA"- c_th2_gettitlefonta :: Ptr RawTH2 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getTitleFontA" c_th2_gettitlefonta ::+ Ptr RawTH2 -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2.h TH2_getTitleOffsetA"- c_th2_gettitleoffseta :: Ptr RawTH2 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getTitleOffsetA" c_th2_gettitleoffseta ::+ Ptr RawTH2 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2.h TH2_getTitleSizeA"- c_th2_gettitlesizea :: Ptr RawTH2 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getTitleSizeA" c_th2_gettitlesizea ::+ Ptr RawTH2 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2.h TH2_getTickLengthA"- c_th2_getticklengtha :: Ptr RawTH2 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getTickLengthA" c_th2_getticklengtha ::+ Ptr RawTH2 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2.h TH2_GetBarOffset"- c_th2_getbaroffset :: Ptr RawTH2 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetBarOffset" c_th2_getbaroffset ::+ Ptr RawTH2 -> IO CFloat -foreign import ccall safe "HROOTHistTH2.h TH2_GetBarWidth"- c_th2_getbarwidth :: Ptr RawTH2 -> IO CDouble+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetBarWidth"+ c_th2_getbarwidth :: Ptr RawTH2 -> IO CFloat -foreign import ccall safe "HROOTHistTH2.h TH2_GetContour"- c_th2_getcontour :: Ptr RawTH2 -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetContour"+ c_th2_getcontour :: Ptr RawTH2 -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_GetContourLevel"- c_th2_getcontourlevel :: Ptr RawTH2 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetContourLevel" c_th2_getcontourlevel ::+ Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetContourLevelPad"- c_th2_getcontourlevelpad :: Ptr RawTH2 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetContourLevelPad" c_th2_getcontourlevelpad ::+ Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetBin" c_th2_getbin- :: Ptr RawTH2 -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetBin"+ c_th2_getbin :: Ptr RawTH2 -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_GetBinCenter"- c_th2_getbincenter :: Ptr RawTH2 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetBinCenter" c_th2_getbincenter ::+ Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetBinContent1"- c_th2_getbincontent1 :: Ptr RawTH2 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetBinContent1" c_th2_getbincontent1 ::+ Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetBinContent2"- c_th2_getbincontent2 :: Ptr RawTH2 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetBinContent2" c_th2_getbincontent2 ::+ Ptr RawTH2 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetBinContent3"- c_th2_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetBinContent3" c_th2_getbincontent3 :: Ptr RawTH2 -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetBinError1"- c_th2_getbinerror1 :: Ptr RawTH2 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetBinError1" c_th2_getbinerror1 ::+ Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetBinError2"- c_th2_getbinerror2 :: Ptr RawTH2 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetBinError2" c_th2_getbinerror2 ::+ Ptr RawTH2 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetBinError3"- c_th2_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetBinError3" c_th2_getbinerror3 :: Ptr RawTH2 -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetBinLowEdge"- c_th2_getbinlowedge :: Ptr RawTH2 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetBinLowEdge" c_th2_getbinlowedge ::+ Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetBinWidth"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetBinWidth" c_th2_getbinwidth :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetCellContent"- c_th2_getcellcontent :: Ptr RawTH2 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetCellContent" c_th2_getcellcontent ::+ Ptr RawTH2 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetCellError"- c_th2_getcellerror :: Ptr RawTH2 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetCellError" c_th2_getcellerror ::+ Ptr RawTH2 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetEntries"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetEntries" c_th2_getentries :: Ptr RawTH2 -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetEffectiveEntries"- c_th2_geteffectiveentries :: Ptr RawTH2 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetEffectiveEntries" c_th2_geteffectiveentries+ :: Ptr RawTH2 -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetFunction"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetFunction" c_th2_getfunction :: Ptr RawTH2 -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH2.h TH2_GetDimension"- c_th2_getdimension :: Ptr RawTH2 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetDimension" c_th2_getdimension ::+ Ptr RawTH2 -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_GetKurtosis"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetKurtosis" c_th2_getkurtosis :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetLowEdge"- c_th2_getlowedge :: Ptr RawTH2 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetLowEdge"+ c_th2_getlowedge :: Ptr RawTH2 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_getMaximumTH1"- c_th2_getmaximumth1 :: Ptr RawTH2 -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getMaximumTH1" c_th2_getmaximumth1 ::+ Ptr RawTH2 -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetMaximumBin"- c_th2_getmaximumbin :: Ptr RawTH2 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetMaximumBin" c_th2_getmaximumbin ::+ Ptr RawTH2 -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_GetMaximumStored"- c_th2_getmaximumstored :: Ptr RawTH2 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetMaximumStored" c_th2_getmaximumstored ::+ Ptr RawTH2 -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_getMinimumTH1"- c_th2_getminimumth1 :: Ptr RawTH2 -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getMinimumTH1" c_th2_getminimumth1 ::+ Ptr RawTH2 -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetMinimumBin"- c_th2_getminimumbin :: Ptr RawTH2 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetMinimumBin" c_th2_getminimumbin ::+ Ptr RawTH2 -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_GetMinimumStored"- c_th2_getminimumstored :: Ptr RawTH2 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetMinimumStored" c_th2_getminimumstored ::+ Ptr RawTH2 -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetMean"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetMean" c_th2_getmean :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetMeanError"- c_th2_getmeanerror :: Ptr RawTH2 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetMeanError" c_th2_getmeanerror ::+ Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetNbinsX" c_th2_getnbinsx :: Ptr RawTH2 -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetNbinsY" c_th2_getnbinsy :: Ptr RawTH2 -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetNbinsZ" c_th2_getnbinsz :: Ptr RawTH2 -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_getQuantilesTH1"- c_th2_getquantilesth1 ::- Ptr RawTH2 -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getQuantilesTH1" c_th2_getquantilesth1 ::+ Ptr RawTH2 -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_GetRandom"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetRandom" c_th2_getrandom :: Ptr RawTH2 -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetStats"- c_th2_getstats :: Ptr RawTH2 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetStats"+ c_th2_getstats :: Ptr RawTH2 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_GetSumOfWeights"- c_th2_getsumofweights :: Ptr RawTH2 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetSumOfWeights" c_th2_getsumofweights ::+ Ptr RawTH2 -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetSumw2"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetSumw2" c_th2_getsumw2 :: Ptr RawTH2 -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH2.h TH2_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetSumw2N" c_th2_getsumw2n :: Ptr RawTH2 -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_GetRMS" c_th2_getrms- :: Ptr RawTH2 -> CInt -> IO CDouble+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetRMS"+ c_th2_getrms :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetRMSError"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetRMSError" c_th2_getrmserror :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_GetSkewness"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetSkewness" c_th2_getskewness :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_integral1"- c_th2_integral1 ::- Ptr RawTH2 -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH2.h TH2_interpolate1"- c_th2_interpolate1 :: Ptr RawTH2 -> CDouble -> IO CDouble--foreign import ccall safe "HROOTHistTH2.h TH2_interpolate2"- c_th2_interpolate2 ::- Ptr RawTH2 -> CDouble -> CDouble -> IO CDouble--foreign import ccall safe "HROOTHistTH2.h TH2_interpolate3"- c_th2_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_interpolate3" c_th2_interpolate3 :: Ptr RawTH2 -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_KolmogorovTest"- c_th2_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_KolmogorovTest" c_th2_kolmogorovtest :: Ptr RawTH2 -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_LabelsDeflate"- c_th2_labelsdeflate :: Ptr RawTH2 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_LabelsDeflate" c_th2_labelsdeflate ::+ Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_LabelsInflate"- c_th2_labelsinflate :: Ptr RawTH2 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_LabelsInflate" c_th2_labelsinflate ::+ Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_LabelsOption"- c_th2_labelsoption :: Ptr RawTH2 -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_LabelsOption" c_th2_labelsoption ::+ Ptr RawTH2 -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_multiflyF"+foreign import ccall interruptible "HROOTHistTH2.h TH2_multiflyF" c_th2_multiflyf :: Ptr RawTH2 -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_Multiply"+foreign import ccall interruptible "HROOTHistTH2.h TH2_Multiply" c_th2_multiply :: Ptr RawTH2 -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_PutStats"- c_th2_putstats :: Ptr RawTH2 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_PutStats"+ c_th2_putstats :: Ptr RawTH2 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_Rebin" c_th2_rebin ::- Ptr RawTH2 -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH2.h TH2_Rebin"+ c_th2_rebin ::+ Ptr RawTH2 -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2.h TH2_RebinAxis"+foreign import ccall interruptible "HROOTHistTH2.h TH2_RebinAxis" c_th2_rebinaxis :: Ptr RawTH2 -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_Rebuild"+foreign import ccall interruptible "HROOTHistTH2.h TH2_Rebuild" c_th2_rebuild :: Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_RecursiveRemove"- c_th2_recursiveremove :: Ptr RawTH2 -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_RecursiveRemove" c_th2_recursiveremove ::+ Ptr RawTH2 -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_Reset" c_th2_reset ::- Ptr RawTH2 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_Reset"+ c_th2_reset :: Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_ResetStats"+foreign import ccall interruptible "HROOTHistTH2.h TH2_ResetStats" c_th2_resetstats :: Ptr RawTH2 -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_Scale" c_th2_scale ::- Ptr RawTH2 -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_Scale"+ c_th2_scale :: Ptr RawTH2 -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setAxisColorA"- c_th2_setaxiscolora :: Ptr RawTH2 -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_setAxisColorA" c_th2_setaxiscolora ::+ Ptr RawTH2 -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetAxisRange"- c_th2_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetAxisRange" c_th2_setaxisrange :: Ptr RawTH2 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetBarOffset"- c_th2_setbaroffset :: Ptr RawTH2 -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetBarOffset" c_th2_setbaroffset ::+ Ptr RawTH2 -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetBarWidth"- c_th2_setbarwidth :: Ptr RawTH2 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetBarWidth"+ c_th2_setbarwidth :: Ptr RawTH2 -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setBinContent1"- c_th2_setbincontent1 :: Ptr RawTH2 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_setBinContent1" c_th2_setbincontent1 ::+ Ptr RawTH2 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setBinContent2"- c_th2_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_setBinContent2" c_th2_setbincontent2 :: Ptr RawTH2 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setBinContent3"- c_th2_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_setBinContent3" c_th2_setbincontent3 :: Ptr RawTH2 -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setBinError1"- c_th2_setbinerror1 :: Ptr RawTH2 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_setBinError1" c_th2_setbinerror1 ::+ Ptr RawTH2 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setBinError2"- c_th2_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_setBinError2" c_th2_setbinerror2 :: Ptr RawTH2 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setBinError3"- c_th2_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_setBinError3" c_th2_setbinerror3 :: Ptr RawTH2 -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setBins1"- c_th2_setbins1 :: Ptr RawTH2 -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_setBins1"+ c_th2_setbins1 :: Ptr RawTH2 -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setBins2"+foreign import ccall interruptible "HROOTHistTH2.h TH2_setBins2" c_th2_setbins2 ::- Ptr RawTH2 ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH2 -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setBins3"+foreign import ccall interruptible "HROOTHistTH2.h TH2_setBins3" c_th2_setbins3 :: Ptr RawTH2 -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetBinsLength"- c_th2_setbinslength :: Ptr RawTH2 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetBinsLength" c_th2_setbinslength ::+ Ptr RawTH2 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetBuffer"+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetBuffer" c_th2_setbuffer :: Ptr RawTH2 -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetCellContent"- c_th2_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetCellContent" c_th2_setcellcontent :: Ptr RawTH2 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetContent"- c_th2_setcontent :: Ptr RawTH2 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetContent"+ c_th2_setcontent :: Ptr RawTH2 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetContour"- c_th2_setcontour :: Ptr RawTH2 -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetContour"+ c_th2_setcontour :: Ptr RawTH2 -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetContourLevel"- c_th2_setcontourlevel :: Ptr RawTH2 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetContourLevel" c_th2_setcontourlevel ::+ Ptr RawTH2 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetDirectory"- c_th2_setdirectory :: Ptr RawTH2 -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetDirectory" c_th2_setdirectory ::+ Ptr RawTH2 -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetEntries"+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetEntries" c_th2_setentries :: Ptr RawTH2 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetError"- c_th2_seterror :: Ptr RawTH2 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetError"+ c_th2_seterror :: Ptr RawTH2 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setLabelColorA"- c_th2_setlabelcolora :: Ptr RawTH2 -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_setLabelColorA" c_th2_setlabelcolora ::+ Ptr RawTH2 -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setLabelSizeA"- c_th2_setlabelsizea :: Ptr RawTH2 -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_setLabelSizeA" c_th2_setlabelsizea ::+ Ptr RawTH2 -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setLabelFontA"- c_th2_setlabelfonta :: Ptr RawTH2 -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_setLabelFontA" c_th2_setlabelfonta ::+ Ptr RawTH2 -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_setLabelOffsetA"- c_th2_setlabeloffseta :: Ptr RawTH2 -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_setLabelOffsetA" c_th2_setlabeloffseta ::+ Ptr RawTH2 -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetMaximum"+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetMaximum" c_th2_setmaximum :: Ptr RawTH2 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetMinimum"+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetMinimum" c_th2_setminimum :: Ptr RawTH2 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetNormFactor"- c_th2_setnormfactor :: Ptr RawTH2 -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetNormFactor" c_th2_setnormfactor ::+ Ptr RawTH2 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetStats"- c_th2_setstats :: Ptr RawTH2 -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetStats"+ c_th2_setstats :: Ptr RawTH2 -> CBool -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetOption"+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetOption" c_th2_setoption :: Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetXTitle"+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetXTitle" c_th2_setxtitle :: Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetYTitle"+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetYTitle" c_th2_setytitle :: Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetZTitle"+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetZTitle" c_th2_setztitle :: Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_ShowBackground"- c_th2_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_ShowBackground" c_th2_showbackground :: Ptr RawTH2 -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2.h TH2_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH2.h TH2_ShowPeaks" c_th2_showpeaks :: Ptr RawTH2 -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_Smooth" c_th2_smooth- :: Ptr RawTH2 -> CInt -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_Smooth"+ c_th2_smooth :: Ptr RawTH2 -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_Sumw2" c_th2_sumw2 ::- Ptr RawTH2 -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_Sumw2"+ c_th2_sumw2 :: Ptr RawTH2 -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetName"+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetName" c_th2_setname :: Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetNameTitle"- c_th2_setnametitle :: Ptr RawTH2 -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetNameTitle" c_th2_setnametitle ::+ Ptr RawTH2 -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetTitle"+foreign import ccall interruptible "HROOTHistTH2.h TH2_SetTitle" c_th2_settitle :: Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_GetLineColor"- c_th2_getlinecolor :: Ptr RawTH2 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetLineColor" c_th2_getlinecolor ::+ Ptr RawTH2 -> IO CShort -foreign import ccall safe "HROOTHistTH2.h TH2_GetLineStyle"- c_th2_getlinestyle :: Ptr RawTH2 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetLineStyle" c_th2_getlinestyle ::+ Ptr RawTH2 -> IO CShort -foreign import ccall safe "HROOTHistTH2.h TH2_GetLineWidth"- c_th2_getlinewidth :: Ptr RawTH2 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetLineWidth" c_th2_getlinewidth ::+ Ptr RawTH2 -> IO CShort -foreign import ccall safe "HROOTHistTH2.h TH2_ResetAttLine"- c_th2_resetattline :: Ptr RawTH2 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_ResetAttLine" c_th2_resetattline ::+ Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetLineAttributes"- c_th2_setlineattributes :: Ptr RawTH2 -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetLineAttributes" c_th2_setlineattributes ::+ Ptr RawTH2 -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetLineColor"- c_th2_setlinecolor :: Ptr RawTH2 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetLineColor" c_th2_setlinecolor ::+ Ptr RawTH2 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetLineStyle"- c_th2_setlinestyle :: Ptr RawTH2 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetLineStyle" c_th2_setlinestyle ::+ Ptr RawTH2 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetLineWidth"- c_th2_setlinewidth :: Ptr RawTH2 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetLineWidth" c_th2_setlinewidth ::+ Ptr RawTH2 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetFillColor"- c_th2_setfillcolor :: Ptr RawTH2 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetFillColor" c_th2_setfillcolor ::+ Ptr RawTH2 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetFillStyle"- c_th2_setfillstyle :: Ptr RawTH2 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetFillStyle" c_th2_setfillstyle ::+ Ptr RawTH2 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_GetMarkerColor"- c_th2_getmarkercolor :: Ptr RawTH2 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetMarkerColor" c_th2_getmarkercolor ::+ Ptr RawTH2 -> IO CShort -foreign import ccall safe "HROOTHistTH2.h TH2_GetMarkerStyle"- c_th2_getmarkerstyle :: Ptr RawTH2 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetMarkerStyle" c_th2_getmarkerstyle ::+ Ptr RawTH2 -> IO CShort -foreign import ccall safe "HROOTHistTH2.h TH2_GetMarkerSize"- c_th2_getmarkersize :: Ptr RawTH2 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_GetMarkerSize" c_th2_getmarkersize ::+ Ptr RawTH2 -> IO CFloat -foreign import ccall safe "HROOTHistTH2.h TH2_ResetAttMarker"- c_th2_resetattmarker :: Ptr RawTH2 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_ResetAttMarker" c_th2_resetattmarker ::+ Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetMarkerAttributes"- c_th2_setmarkerattributes :: Ptr RawTH2 -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetMarkerAttributes" c_th2_setmarkerattributes+ :: Ptr RawTH2 -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetMarkerColor"- c_th2_setmarkercolor :: Ptr RawTH2 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetMarkerColor" c_th2_setmarkercolor ::+ Ptr RawTH2 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetMarkerStyle"- c_th2_setmarkerstyle :: Ptr RawTH2 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetMarkerStyle" c_th2_setmarkerstyle ::+ Ptr RawTH2 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetMarkerSize"- c_th2_setmarkersize :: Ptr RawTH2 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetMarkerSize" c_th2_setmarkersize ::+ Ptr RawTH2 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_Draw" c_th2_draw ::- Ptr RawTH2 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_Clear"+ c_th2_clear :: Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_FindObject"+foreign import ccall interruptible "HROOTHistTH2.h TH2_Draw"+ c_th2_draw :: Ptr RawTH2 -> CString -> IO ()++foreign import ccall interruptible "HROOTHistTH2.h TH2_FindObject" c_th2_findobject :: Ptr RawTH2 -> CString -> IO (Ptr RawTObject) -foreign import ccall safe "HROOTHistTH2.h TH2_GetName"+foreign import ccall interruptible "HROOTHistTH2.h TH2_GetName" c_th2_getname :: Ptr RawTH2 -> IO CString -foreign import ccall safe "HROOTHistTH2.h TH2_IsA" c_th2_isa ::- Ptr RawTH2 -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH2.h TH2_IsA"+ c_th2_isa :: Ptr RawTH2 -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH2.h TH2_Paint" c_th2_paint ::- Ptr RawTH2 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_Paint"+ c_th2_paint :: Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_printObj"+foreign import ccall interruptible "HROOTHistTH2.h TH2_printObj" c_th2_printobj :: Ptr RawTH2 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SaveAs" c_th2_saveas- :: Ptr RawTH2 -> CString -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_SaveAs"+ c_th2_saveas :: Ptr RawTH2 -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_Write" c_th2_write ::- Ptr RawTH2 -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH2.h TH2_Write"+ c_th2_write :: Ptr RawTH2 -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_delete" c_th2_delete- :: Ptr RawTH2 -> IO ()+foreign import ccall interruptible "HROOTHistTH2.h TH2_Write_"+ c_th2_write_ :: Ptr RawTH2 -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_fill2" c_th2_fill2 ::- Ptr RawTH2 -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2.h TH2_delete"+ c_th2_delete :: Ptr RawTH2 -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_fill2w" c_th2_fill2w- :: Ptr RawTH2 -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2.h TH2_fill2"+ c_th2_fill2 :: Ptr RawTH2 -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_fillN2" c_th2_filln2- ::+foreign import ccall interruptible "HROOTHistTH2.h TH2_fill2w"+ c_th2_fill2w ::+ Ptr RawTH2 -> CDouble -> CDouble -> CDouble -> IO CInt++foreign import ccall interruptible "HROOTHistTH2.h TH2_fillN2"+ c_th2_filln2 :: Ptr RawTH2 ->- CInt ->- (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_fillRandom2"+foreign import ccall interruptible "HROOTHistTH2.h TH2_fillRandom2" c_th2_fillrandom2 :: Ptr RawTH2 -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_findFirstBinAbove2"- c_th2_findfirstbinabove2 ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_findFirstBinAbove2" c_th2_findfirstbinabove2 :: Ptr RawTH2 -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_findLastBinAbove2"- c_th2_findlastbinabove2 :: Ptr RawTH2 -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_findLastBinAbove2" c_th2_findlastbinabove2 ::+ Ptr RawTH2 -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2.h TH2_FitSlicesX"+foreign import ccall interruptible "HROOTHistTH2.h TH2_FitSlicesX" c_th2_fitslicesx :: Ptr RawTH2 -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_FitSlicesY"+foreign import ccall interruptible "HROOTHistTH2.h TH2_FitSlicesY" c_th2_fitslicesy :: Ptr RawTH2 -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2.h TH2_getCorrelationFactor2" c_th2_getcorrelationfactor2 :: Ptr RawTH2 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_getCovariance2"- c_th2_getcovariance2 :: Ptr RawTH2 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_getCovariance2" c_th2_getcovariance2 ::+ Ptr RawTH2 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_integral2"+foreign import ccall interruptible "HROOTHistTH2.h TH2_integral2" c_th2_integral2 :: Ptr RawTH2 -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH2.h TH2_tH2ProjectionX"- c_th2_th2projectionx ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_tH2_ProjectionX" c_th2_th2_projectionx :: Ptr RawTH2 -> CString -> CInt -> CInt -> CString -> IO (Ptr RawTH1D) -foreign import ccall safe "HROOTHistTH2.h TH2_tH2ProjectionY"- c_th2_th2projectiony ::+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_tH2_ProjectionY" c_th2_th2_projectiony :: Ptr RawTH2 -> CString -> CInt -> CInt -> CString -> IO (Ptr RawTH1D) -foreign import ccall safe "HROOTHistTH2.h TH2_rebinX2"+foreign import ccall interruptible "HROOTHistTH2.h TH2_rebinX2" c_th2_rebinx2 :: Ptr RawTH2 -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2.h TH2_rebinY2"+foreign import ccall interruptible "HROOTHistTH2.h TH2_rebinY2" c_th2_rebiny2 :: Ptr RawTH2 -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2.h TH2_Rebin2D"+foreign import ccall interruptible "HROOTHistTH2.h TH2_Rebin2D" c_th2_rebin2d :: Ptr RawTH2 -> CInt -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2.h TH2_SetShowProjectionX"- c_th2_setshowprojectionx :: Ptr RawTH2 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetShowProjectionX" c_th2_setshowprojectionx ::+ Ptr RawTH2 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2.h TH2_SetShowProjectionY"- c_th2_setshowprojectiony :: Ptr RawTH2 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2.h TH2_SetShowProjectionY" c_th2_setshowprojectiony ::+ Ptr RawTH2 -> CInt -> IO ()
src/HROOT/Hist/TH2/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH2.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH2.RawType import HROOT.Hist.TH2.FFI import HROOT.Hist.TH2.Interface import HROOT.Hist.TH2.Cast+import HROOT.Hist.TH2.RawType+import HROOT.Hist.TH2.Cast+import HROOT.Hist.TH2.Interface import HROOT.Core.TDirectory.RawType import HROOT.Core.TDirectory.Cast import HROOT.Core.TDirectory.Interface@@ -51,11 +60,11 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface -instance ITH2 TH2 where+instance () => ITH2 (TH2) where fill2 = xform2 c_th2_fill2 fill2w = xform3 c_th2_fill2w fillN2 = xform5 c_th2_filln2@@ -73,11 +82,10 @@ setShowProjectionX = xform1 c_th2_setshowprojectionx setShowProjectionY = xform1 c_th2_setshowprojectiony -instance ITH1 TH2 where+instance () => ITH1 (TH2) where add = xform2 c_th2_add addBinContent = xform2 c_th2_addbincontent chi2Test = xform3 c_th2_chi2test- computeIntegral = xform0 c_th2_computeintegral directoryAutoAdd = xform1 c_th2_directoryautoadd divide = xform5 c_th2_divide drawCopyTH1 = xform1 c_th2_drawcopyth1@@ -149,9 +157,6 @@ getRMS = xform1 c_th2_getrms getRMSError = xform1 c_th2_getrmserror getSkewness = xform1 c_th2_getskewness- integral1 = xform3 c_th2_integral1- interpolate1 = xform1 c_th2_interpolate1- interpolate2 = xform2 c_th2_interpolate2 interpolate3 = xform3 c_th2_interpolate3 kolmogorovTest = xform2 c_th2_kolmogorovtest labelsDeflate = xform1 c_th2_labelsdeflate@@ -206,12 +211,12 @@ smooth = xform2 c_th2_smooth sumw2 = xform0 c_th2_sumw2 -instance ITNamed TH2 where+instance () => ITNamed (TH2) where setName = xform1 c_th2_setname setNameTitle = xform2 c_th2_setnametitle setTitle = xform1 c_th2_settitle -instance ITAttLine TH2 where+instance () => ITAttLine (TH2) where getLineColor = xform0 c_th2_getlinecolor getLineStyle = xform0 c_th2_getlinestyle getLineWidth = xform0 c_th2_getlinewidth@@ -221,11 +226,11 @@ setLineStyle = xform1 c_th2_setlinestyle setLineWidth = xform1 c_th2_setlinewidth -instance ITAttFill TH2 where+instance () => ITAttFill (TH2) where setFillColor = xform1 c_th2_setfillcolor setFillStyle = xform1 c_th2_setfillstyle -instance ITAttMarker TH2 where+instance () => ITAttMarker (TH2) where getMarkerColor = xform0 c_th2_getmarkercolor getMarkerStyle = xform0 c_th2_getmarkerstyle getMarkerSize = xform0 c_th2_getmarkersize@@ -235,7 +240,8 @@ setMarkerStyle = xform1 c_th2_setmarkerstyle setMarkerSize = xform1 c_th2_setmarkersize -instance ITObject TH2 where+instance () => ITObject (TH2) where+ clear = xform1 c_th2_clear draw = xform1 c_th2_draw findObject = xform1 c_th2_findobject getName = xform0 c_th2_getname@@ -244,16 +250,17 @@ printObj = xform1 c_th2_printobj saveAs = xform2 c_th2_saveas write = xform3 c_th2_write+ write_ = xform0 c_th2_write_ -instance IDeletable TH2 where+instance () => IDeletable (TH2) where delete = xform0 c_th2_delete -tH2ProjectionX ::- (Castable c1 CString, Castable c0 CString) =>- TH2 -> c0 -> CInt -> CInt -> c1 -> IO TH1D-tH2ProjectionX = xform4 c_th2_th2projectionx+tH2_ProjectionX ::+ (Castable c1 CString, Castable c0 CString) =>+ TH2 -> c0 -> CInt -> CInt -> c1 -> IO TH1D+tH2_ProjectionX = xform4 c_th2_th2_projectionx -tH2ProjectionY ::- (Castable c1 CString, Castable c0 CString) =>- TH2 -> c0 -> CInt -> CInt -> c1 -> IO TH1D-tH2ProjectionY = xform4 c_th2_th2projectiony+tH2_ProjectionY ::+ (Castable c1 CString, Castable c0 CString) =>+ TH2 -> c0 -> CInt -> CInt -> c1 -> IO TH1D+tH2_ProjectionY = xform4 c_th2_th2_projectiony
src/HROOT/Hist/TH2/Interface.hs view
@@ -4,30 +4,30 @@ TypeSynonymInstances #-} module HROOT.Hist.TH2.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import HROOT.Hist.TH2.RawType-import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1.Interface import HROOT.Core.TObjArray.Interface-import {-# SOURCE #-} HROOT.Hist.TF1.Interface+import HROOT.Hist.TF1.Interface -class ITH1 a => ITH2 a where- fill2 :: a -> CDouble -> CDouble -> IO CInt+class (ITH1 a) => ITH2 a where+ fill2 :: () => a -> CDouble -> CDouble -> IO CInt - fill2w :: a -> CDouble -> CDouble -> CDouble -> IO CInt+ fill2w :: () => a -> CDouble -> CDouble -> CDouble -> IO CInt fillN2 ::+ () => a ->- CInt ->- (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () fillRandom2 :: (ITH1 c0, FPtr c0) => a -> c0 -> CInt -> IO () - findFirstBinAbove2 :: a -> CDouble -> CInt -> IO CInt+ findFirstBinAbove2 :: () => a -> CDouble -> CInt -> IO CInt - findLastBinAbove2 :: a -> CDouble -> CInt -> IO CInt+ findLastBinAbove2 :: () => a -> CDouble -> CInt -> IO CInt fitSlicesX :: (ITObjArray c2, FPtr c2, Castable c1 CString, ITF1 c0, FPtr c0) =>@@ -37,23 +37,24 @@ (ITObjArray c2, FPtr c2, Castable c1 CString, ITF1 c0, FPtr c0) => a -> c0 -> CInt -> CInt -> CInt -> c1 -> c2 -> IO () - getCorrelationFactor2 :: a -> CInt -> CInt -> IO CDouble+ getCorrelationFactor2 :: () => a -> CInt -> CInt -> IO CDouble - getCovariance2 :: a -> CInt -> CInt -> IO CDouble+ getCovariance2 :: () => a -> CInt -> CInt -> IO CDouble integral2 ::- Castable c0 CString =>+ (Castable c0 CString) => a -> CInt -> CInt -> CInt -> CInt -> c0 -> IO CDouble - rebinX2 :: Castable c0 CString => a -> CInt -> c0 -> IO TH2+ rebinX2 :: (Castable c0 CString) => a -> CInt -> c0 -> IO TH2 - rebinY2 :: Castable c0 CString => a -> CInt -> c0 -> IO TH2+ rebinY2 :: (Castable c0 CString) => a -> CInt -> c0 -> IO TH2 - rebin2D :: Castable c0 CString => a -> CInt -> CInt -> c0 -> IO TH2+ rebin2D ::+ (Castable c0 CString) => a -> CInt -> CInt -> c0 -> IO TH2 - setShowProjectionX :: a -> CInt -> IO ()+ setShowProjectionX :: () => a -> CInt -> IO () - setShowProjectionY :: a -> CInt -> IO ()+ setShowProjectionY :: () => a -> CInt -> IO () upcastTH2 :: forall a . (FPtr a, ITH2 a) => a -> TH2 upcastTH2 h
src/HROOT/Hist/TH2/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH2 newtype TH2 = TH2 (Ptr RawTH2)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH2 where+instance () => FPtr (TH2) where type Raw TH2 = RawTH2 get_fptr (TH2 ptr) = ptr cast_fptr_to_obj = TH2
src/HROOT/Hist/TH2C/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH2C.RawType import HROOT.Hist.TH2C.Interface -instance (ITH2C a, FPtr a) => Castable a (Ptr RawTH2C) where+instance (ITH2C a, FPtr a) => Castable (a) (Ptr RawTH2C) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH2C (Ptr RawTH2C) where+instance () => Castable (TH2C) (Ptr RawTH2C) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH2C/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH2C.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH2C.RawType+import HROOT.Hist.TH2C.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH2.RawType import HROOT.Hist.TH1.RawType@@ -14,589 +17,678 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH2C.h TH2C_fill2" c_th2c_fill2- :: Ptr RawTH2C -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_fill2"+ c_th2c_fill2 :: Ptr RawTH2C -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_fill2w"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_fill2w" c_th2c_fill2w :: Ptr RawTH2C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_fillN2"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_fillN2" c_th2c_filln2 :: Ptr RawTH2C ->- CInt ->- (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_fillRandom2"- c_th2c_fillrandom2 :: Ptr RawTH2C -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_fillRandom2" c_th2c_fillrandom2 ::+ Ptr RawTH2C -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_findFirstBinAbove2"- c_th2c_findfirstbinabove2 ::- Ptr RawTH2C -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_findFirstBinAbove2" c_th2c_findfirstbinabove2+ :: Ptr RawTH2C -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_findLastBinAbove2"- c_th2c_findlastbinabove2 ::- Ptr RawTH2C -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_findLastBinAbove2" c_th2c_findlastbinabove2+ :: Ptr RawTH2C -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_FitSlicesX"- c_th2c_fitslicesx ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_FitSlicesX" c_th2c_fitslicesx :: Ptr RawTH2C -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_FitSlicesY"- c_th2c_fitslicesy ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_FitSlicesY" c_th2c_fitslicesy :: Ptr RawTH2C -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_getCorrelationFactor2" c_th2c_getcorrelationfactor2 :: Ptr RawTH2C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_getCovariance2"- c_th2c_getcovariance2 :: Ptr RawTH2C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getCovariance2" c_th2c_getcovariance2 ::+ Ptr RawTH2C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_integral2"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_integral2" c_th2c_integral2 :: Ptr RawTH2C -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_rebinX2"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_rebinX2" c_th2c_rebinx2 :: Ptr RawTH2C -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2C.h TH2C_rebinY2"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_rebinY2" c_th2c_rebiny2 :: Ptr RawTH2C -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2C.h TH2C_Rebin2D"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Rebin2D" c_th2c_rebin2d :: Ptr RawTH2C -> CInt -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetShowProjectionX"- c_th2c_setshowprojectionx :: Ptr RawTH2C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetShowProjectionX" c_th2c_setshowprojectionx+ :: Ptr RawTH2C -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetShowProjectionY"- c_th2c_setshowprojectiony :: Ptr RawTH2C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetShowProjectionY" c_th2c_setshowprojectiony+ :: Ptr RawTH2C -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_Add" c_th2c_add ::- Ptr RawTH2C -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Add"+ c_th2c_add :: Ptr RawTH2C -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_AddBinContent"- c_th2c_addbincontent :: Ptr RawTH2C -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_AddBinContent" c_th2c_addbincontent ::+ Ptr RawTH2C -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_Chi2Test"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Chi2Test" c_th2c_chi2test ::- Ptr RawTH2C -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH2C.h TH2C_ComputeIntegral"- c_th2c_computeintegral :: Ptr RawTH2C -> IO CDouble+ Ptr RawTH2C -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_DirectoryAutoAdd"- c_th2c_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_DirectoryAutoAdd" c_th2c_directoryautoadd :: Ptr RawTH2C -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_Divide"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Divide" c_th2c_divide :: Ptr RawTH2C -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_drawCopyTH1"- c_th2c_drawcopyth1 :: Ptr RawTH2C -> CString -> IO (Ptr RawTH2C)+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_drawCopyTH1" c_th2c_drawcopyth1 ::+ Ptr RawTH2C -> CString -> IO (Ptr RawTH2C) -foreign import ccall safe "HROOTHistTH2C.h TH2C_DrawNormalized"- c_th2c_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_DrawNormalized" c_th2c_drawnormalized :: Ptr RawTH2C -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2C.h TH2C_drawPanelTH1"- c_th2c_drawpanelth1 :: Ptr RawTH2C -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_drawPanelTH1" c_th2c_drawpanelth1 ::+ Ptr RawTH2C -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_BufferEmpty"- c_th2c_bufferempty :: Ptr RawTH2C -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_BufferEmpty" c_th2c_bufferempty ::+ Ptr RawTH2C -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_evalF" c_th2c_evalf- :: Ptr RawTH2C -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_evalF"+ c_th2c_evalf :: Ptr RawTH2C -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_FFT" c_th2c_fft ::+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_FFT"+ c_th2c_fft :: Ptr RawTH2C -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2C.h TH2C_fill1" c_th2c_fill1- :: Ptr RawTH2C -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_fill1"+ c_th2c_fill1 :: Ptr RawTH2C -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_fill1w"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_fill1w" c_th2c_fill1w :: Ptr RawTH2C -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_fillN1"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_fillN1" c_th2c_filln1 ::- Ptr RawTH2C ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH2C -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_FillRandom"- c_th2c_fillrandom :: Ptr RawTH2C -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_FillRandom" c_th2c_fillrandom ::+ Ptr RawTH2C -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_FindBin"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_FindBin" c_th2c_findbin :: Ptr RawTH2C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_FindFixBin"- c_th2c_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_FindFixBin" c_th2c_findfixbin :: Ptr RawTH2C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_FindFirstBinAbove"- c_th2c_findfirstbinabove ::- Ptr RawTH2C -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_FindFirstBinAbove" c_th2c_findfirstbinabove+ :: Ptr RawTH2C -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_FindLastBinAbove"- c_th2c_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_FindLastBinAbove" c_th2c_findlastbinabove :: Ptr RawTH2C -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_Fit" c_th2c_fit ::+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Fit"+ c_th2c_fit :: Ptr RawTH2C -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_FitPanelTH1"- c_th2c_fitpanelth1 :: Ptr RawTH2C -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_FitPanelTH1" c_th2c_fitpanelth1 ::+ Ptr RawTH2C -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_getNdivisionA"- c_th2c_getndivisiona :: Ptr RawTH2C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getNdivisionA" c_th2c_getndivisiona ::+ Ptr RawTH2C -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_getAxisColorA"- c_th2c_getaxiscolora :: Ptr RawTH2C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getAxisColorA" c_th2c_getaxiscolora ::+ Ptr RawTH2C -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2C.h TH2C_getLabelColorA"- c_th2c_getlabelcolora :: Ptr RawTH2C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getLabelColorA" c_th2c_getlabelcolora ::+ Ptr RawTH2C -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2C.h TH2C_getLabelFontA"- c_th2c_getlabelfonta :: Ptr RawTH2C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getLabelFontA" c_th2c_getlabelfonta ::+ Ptr RawTH2C -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2C.h TH2C_getLabelOffsetA"- c_th2c_getlabeloffseta :: Ptr RawTH2C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getLabelOffsetA" c_th2c_getlabeloffseta ::+ Ptr RawTH2C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2C.h TH2C_getLabelSizeA"- c_th2c_getlabelsizea :: Ptr RawTH2C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getLabelSizeA" c_th2c_getlabelsizea ::+ Ptr RawTH2C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2C.h TH2C_getTitleFontA"- c_th2c_gettitlefonta :: Ptr RawTH2C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getTitleFontA" c_th2c_gettitlefonta ::+ Ptr RawTH2C -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2C.h TH2C_getTitleOffsetA"- c_th2c_gettitleoffseta :: Ptr RawTH2C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getTitleOffsetA" c_th2c_gettitleoffseta ::+ Ptr RawTH2C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2C.h TH2C_getTitleSizeA"- c_th2c_gettitlesizea :: Ptr RawTH2C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getTitleSizeA" c_th2c_gettitlesizea ::+ Ptr RawTH2C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2C.h TH2C_getTickLengthA"- c_th2c_getticklengtha :: Ptr RawTH2C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getTickLengthA" c_th2c_getticklengtha ::+ Ptr RawTH2C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBarOffset"- c_th2c_getbaroffset :: Ptr RawTH2C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetBarOffset" c_th2c_getbaroffset ::+ Ptr RawTH2C -> IO CFloat -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBarWidth"- c_th2c_getbarwidth :: Ptr RawTH2C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetBarWidth" c_th2c_getbarwidth ::+ Ptr RawTH2C -> IO CFloat -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetContour"- c_th2c_getcontour :: Ptr RawTH2C -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetContour" c_th2c_getcontour ::+ Ptr RawTH2C -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetContourLevel"- c_th2c_getcontourlevel :: Ptr RawTH2C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetContourLevel" c_th2c_getcontourlevel ::+ Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetContourLevelPad"- c_th2c_getcontourlevelpad :: Ptr RawTH2C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetContourLevelPad" c_th2c_getcontourlevelpad+ :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBin"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_GetBin" c_th2c_getbin :: Ptr RawTH2C -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinCenter"- c_th2c_getbincenter :: Ptr RawTH2C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetBinCenter" c_th2c_getbincenter ::+ Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinContent1"- c_th2c_getbincontent1 :: Ptr RawTH2C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetBinContent1" c_th2c_getbincontent1 ::+ Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinContent2"- c_th2c_getbincontent2 :: Ptr RawTH2C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetBinContent2" c_th2c_getbincontent2 ::+ Ptr RawTH2C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinContent3"- c_th2c_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetBinContent3" c_th2c_getbincontent3 :: Ptr RawTH2C -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinError1"- c_th2c_getbinerror1 :: Ptr RawTH2C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetBinError1" c_th2c_getbinerror1 ::+ Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinError2"- c_th2c_getbinerror2 :: Ptr RawTH2C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetBinError2" c_th2c_getbinerror2 ::+ Ptr RawTH2C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinError3"- c_th2c_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetBinError3" c_th2c_getbinerror3 :: Ptr RawTH2C -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinLowEdge"- c_th2c_getbinlowedge :: Ptr RawTH2C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetBinLowEdge" c_th2c_getbinlowedge ::+ Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinWidth"- c_th2c_getbinwidth :: Ptr RawTH2C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetBinWidth" c_th2c_getbinwidth ::+ Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetCellContent"- c_th2c_getcellcontent :: Ptr RawTH2C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetCellContent" c_th2c_getcellcontent ::+ Ptr RawTH2C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetCellError"- c_th2c_getcellerror :: Ptr RawTH2C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetCellError" c_th2c_getcellerror ::+ Ptr RawTH2C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetEntries"- c_th2c_getentries :: Ptr RawTH2C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetEntries" c_th2c_getentries ::+ Ptr RawTH2C -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_GetEffectiveEntries" c_th2c_geteffectiveentries :: Ptr RawTH2C -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetFunction"- c_th2c_getfunction :: Ptr RawTH2C -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetFunction" c_th2c_getfunction ::+ Ptr RawTH2C -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetDimension"- c_th2c_getdimension :: Ptr RawTH2C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetDimension" c_th2c_getdimension ::+ Ptr RawTH2C -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetKurtosis"- c_th2c_getkurtosis :: Ptr RawTH2C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetKurtosis" c_th2c_getkurtosis ::+ Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetLowEdge"- c_th2c_getlowedge :: Ptr RawTH2C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetLowEdge" c_th2c_getlowedge ::+ Ptr RawTH2C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_getMaximumTH1"- c_th2c_getmaximumth1 :: Ptr RawTH2C -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getMaximumTH1" c_th2c_getmaximumth1 ::+ Ptr RawTH2C -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMaximumBin"- c_th2c_getmaximumbin :: Ptr RawTH2C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetMaximumBin" c_th2c_getmaximumbin ::+ Ptr RawTH2C -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMaximumStored"- c_th2c_getmaximumstored :: Ptr RawTH2C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetMaximumStored" c_th2c_getmaximumstored ::+ Ptr RawTH2C -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_getMinimumTH1"- c_th2c_getminimumth1 :: Ptr RawTH2C -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getMinimumTH1" c_th2c_getminimumth1 ::+ Ptr RawTH2C -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMinimumBin"- c_th2c_getminimumbin :: Ptr RawTH2C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetMinimumBin" c_th2c_getminimumbin ::+ Ptr RawTH2C -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMinimumStored"- c_th2c_getminimumstored :: Ptr RawTH2C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetMinimumStored" c_th2c_getminimumstored ::+ Ptr RawTH2C -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMean"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_GetMean" c_th2c_getmean :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMeanError"- c_th2c_getmeanerror :: Ptr RawTH2C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetMeanError" c_th2c_getmeanerror ::+ Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_GetNbinsX" c_th2c_getnbinsx :: Ptr RawTH2C -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_GetNbinsY" c_th2c_getnbinsy :: Ptr RawTH2C -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_GetNbinsZ" c_th2c_getnbinsz :: Ptr RawTH2C -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_getQuantilesTH1"- c_th2c_getquantilesth1 ::- Ptr RawTH2C -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_getQuantilesTH1" c_th2c_getquantilesth1 ::+ Ptr RawTH2C -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetRandom"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_GetRandom" c_th2c_getrandom :: Ptr RawTH2C -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetStats"- c_th2c_getstats :: Ptr RawTH2C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_GetStats"+ c_th2c_getstats :: Ptr RawTH2C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetSumOfWeights"- c_th2c_getsumofweights :: Ptr RawTH2C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetSumOfWeights" c_th2c_getsumofweights ::+ Ptr RawTH2C -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetSumw2"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_GetSumw2" c_th2c_getsumw2 :: Ptr RawTH2C -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_GetSumw2N" c_th2c_getsumw2n :: Ptr RawTH2C -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetRMS"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_GetRMS" c_th2c_getrms :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetRMSError"- c_th2c_getrmserror :: Ptr RawTH2C -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH2C.h TH2C_GetSkewness"- c_th2c_getskewness :: Ptr RawTH2C -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH2C.h TH2C_integral1"- c_th2c_integral1 ::- Ptr RawTH2C -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH2C.h TH2C_interpolate1"- c_th2c_interpolate1 :: Ptr RawTH2C -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetRMSError" c_th2c_getrmserror ::+ Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_interpolate2"- c_th2c_interpolate2 ::- Ptr RawTH2C -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetSkewness" c_th2c_getskewness ::+ Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_interpolate3"- c_th2c_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_interpolate3" c_th2c_interpolate3 :: Ptr RawTH2C -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_KolmogorovTest"- c_th2c_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_KolmogorovTest" c_th2c_kolmogorovtest :: Ptr RawTH2C -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH2C.h TH2C_LabelsDeflate"- c_th2c_labelsdeflate :: Ptr RawTH2C -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_LabelsDeflate" c_th2c_labelsdeflate ::+ Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_LabelsInflate"- c_th2c_labelsinflate :: Ptr RawTH2C -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_LabelsInflate" c_th2c_labelsinflate ::+ Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_LabelsOption"- c_th2c_labelsoption :: Ptr RawTH2C -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_LabelsOption" c_th2c_labelsoption ::+ Ptr RawTH2C -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_multiflyF"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_multiflyF" c_th2c_multiflyf :: Ptr RawTH2C -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_Multiply"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Multiply" c_th2c_multiply :: Ptr RawTH2C -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_PutStats"- c_th2c_putstats :: Ptr RawTH2C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_PutStats"+ c_th2c_putstats :: Ptr RawTH2C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_Rebin" c_th2c_rebin- ::- Ptr RawTH2C -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Rebin"+ c_th2c_rebin ::+ Ptr RawTH2C -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2C.h TH2C_RebinAxis"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_RebinAxis" c_th2c_rebinaxis :: Ptr RawTH2C -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_Rebuild"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Rebuild" c_th2c_rebuild :: Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_RecursiveRemove"- c_th2c_recursiveremove :: Ptr RawTH2C -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_RecursiveRemove" c_th2c_recursiveremove ::+ Ptr RawTH2C -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_Reset" c_th2c_reset- :: Ptr RawTH2C -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Reset"+ c_th2c_reset :: Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_ResetStats"- c_th2c_resetstats :: Ptr RawTH2C -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_ResetStats" c_th2c_resetstats ::+ Ptr RawTH2C -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_Scale" c_th2c_scale- :: Ptr RawTH2C -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Scale"+ c_th2c_scale :: Ptr RawTH2C -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setAxisColorA"- c_th2c_setaxiscolora :: Ptr RawTH2C -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_setAxisColorA" c_th2c_setaxiscolora ::+ Ptr RawTH2C -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetAxisRange"- c_th2c_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetAxisRange" c_th2c_setaxisrange :: Ptr RawTH2C -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetBarOffset"- c_th2c_setbaroffset :: Ptr RawTH2C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetBarOffset" c_th2c_setbaroffset ::+ Ptr RawTH2C -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetBarWidth"- c_th2c_setbarwidth :: Ptr RawTH2C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetBarWidth" c_th2c_setbarwidth ::+ Ptr RawTH2C -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setBinContent1"- c_th2c_setbincontent1 :: Ptr RawTH2C -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_setBinContent1" c_th2c_setbincontent1 ::+ Ptr RawTH2C -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setBinContent2"- c_th2c_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_setBinContent2" c_th2c_setbincontent2 :: Ptr RawTH2C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setBinContent3"- c_th2c_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_setBinContent3" c_th2c_setbincontent3 :: Ptr RawTH2C -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setBinError1"- c_th2c_setbinerror1 :: Ptr RawTH2C -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_setBinError1" c_th2c_setbinerror1 ::+ Ptr RawTH2C -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setBinError2"- c_th2c_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_setBinError2" c_th2c_setbinerror2 :: Ptr RawTH2C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setBinError3"- c_th2c_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_setBinError3" c_th2c_setbinerror3 :: Ptr RawTH2C -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setBins1"- c_th2c_setbins1 :: Ptr RawTH2C -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_setBins1"+ c_th2c_setbins1 :: Ptr RawTH2C -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setBins2"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_setBins2" c_th2c_setbins2 ::- Ptr RawTH2C ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH2C -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setBins3"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_setBins3" c_th2c_setbins3 :: Ptr RawTH2C -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetBinsLength"- c_th2c_setbinslength :: Ptr RawTH2C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetBinsLength" c_th2c_setbinslength ::+ Ptr RawTH2C -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetBuffer"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_SetBuffer" c_th2c_setbuffer :: Ptr RawTH2C -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetCellContent"- c_th2c_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetCellContent" c_th2c_setcellcontent :: Ptr RawTH2C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetContent"- c_th2c_setcontent :: Ptr RawTH2C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetContent" c_th2c_setcontent ::+ Ptr RawTH2C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetContour"- c_th2c_setcontour :: Ptr RawTH2C -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetContour" c_th2c_setcontour ::+ Ptr RawTH2C -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetContourLevel"- c_th2c_setcontourlevel :: Ptr RawTH2C -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetContourLevel" c_th2c_setcontourlevel ::+ Ptr RawTH2C -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetDirectory"- c_th2c_setdirectory :: Ptr RawTH2C -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetDirectory" c_th2c_setdirectory ::+ Ptr RawTH2C -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetEntries"- c_th2c_setentries :: Ptr RawTH2C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetEntries" c_th2c_setentries ::+ Ptr RawTH2C -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetError"- c_th2c_seterror :: Ptr RawTH2C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_SetError"+ c_th2c_seterror :: Ptr RawTH2C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setLabelColorA"- c_th2c_setlabelcolora :: Ptr RawTH2C -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_setLabelColorA" c_th2c_setlabelcolora ::+ Ptr RawTH2C -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setLabelSizeA"- c_th2c_setlabelsizea :: Ptr RawTH2C -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_setLabelSizeA" c_th2c_setlabelsizea ::+ Ptr RawTH2C -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setLabelFontA"- c_th2c_setlabelfonta :: Ptr RawTH2C -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_setLabelFontA" c_th2c_setlabelfonta ::+ Ptr RawTH2C -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_setLabelOffsetA"- c_th2c_setlabeloffseta ::- Ptr RawTH2C -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_setLabelOffsetA" c_th2c_setlabeloffseta ::+ Ptr RawTH2C -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetMaximum"- c_th2c_setmaximum :: Ptr RawTH2C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetMaximum" c_th2c_setmaximum ::+ Ptr RawTH2C -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetMinimum"- c_th2c_setminimum :: Ptr RawTH2C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetMinimum" c_th2c_setminimum ::+ Ptr RawTH2C -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetNormFactor"- c_th2c_setnormfactor :: Ptr RawTH2C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetNormFactor" c_th2c_setnormfactor ::+ Ptr RawTH2C -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetStats"- c_th2c_setstats :: Ptr RawTH2C -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_SetStats"+ c_th2c_setstats :: Ptr RawTH2C -> CBool -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetOption"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_SetOption" c_th2c_setoption :: Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetXTitle"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_SetXTitle" c_th2c_setxtitle :: Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetYTitle"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_SetYTitle" c_th2c_setytitle :: Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetZTitle"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_SetZTitle" c_th2c_setztitle :: Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_ShowBackground"- c_th2c_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_ShowBackground" c_th2c_showbackground :: Ptr RawTH2C -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2C.h TH2C_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_ShowPeaks" c_th2c_showpeaks :: Ptr RawTH2C -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_Smooth"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Smooth" c_th2c_smooth :: Ptr RawTH2C -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_Sumw2" c_th2c_sumw2- :: Ptr RawTH2C -> IO ()+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Sumw2"+ c_th2c_sumw2 :: Ptr RawTH2C -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetName"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_SetName" c_th2c_setname :: Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetNameTitle"- c_th2c_setnametitle :: Ptr RawTH2C -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetNameTitle" c_th2c_setnametitle ::+ Ptr RawTH2C -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetTitle"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_SetTitle" c_th2c_settitle :: Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetLineColor"- c_th2c_getlinecolor :: Ptr RawTH2C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetLineColor" c_th2c_getlinecolor ::+ Ptr RawTH2C -> IO CShort -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetLineStyle"- c_th2c_getlinestyle :: Ptr RawTH2C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetLineStyle" c_th2c_getlinestyle ::+ Ptr RawTH2C -> IO CShort -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetLineWidth"- c_th2c_getlinewidth :: Ptr RawTH2C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetLineWidth" c_th2c_getlinewidth ::+ Ptr RawTH2C -> IO CShort -foreign import ccall safe "HROOTHistTH2C.h TH2C_ResetAttLine"- c_th2c_resetattline :: Ptr RawTH2C -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_ResetAttLine" c_th2c_resetattline ::+ Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetLineAttributes"- c_th2c_setlineattributes :: Ptr RawTH2C -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetLineAttributes" c_th2c_setlineattributes+ :: Ptr RawTH2C -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetLineColor"- c_th2c_setlinecolor :: Ptr RawTH2C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetLineColor" c_th2c_setlinecolor ::+ Ptr RawTH2C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetLineStyle"- c_th2c_setlinestyle :: Ptr RawTH2C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetLineStyle" c_th2c_setlinestyle ::+ Ptr RawTH2C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetLineWidth"- c_th2c_setlinewidth :: Ptr RawTH2C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetLineWidth" c_th2c_setlinewidth ::+ Ptr RawTH2C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetFillColor"- c_th2c_setfillcolor :: Ptr RawTH2C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetFillColor" c_th2c_setfillcolor ::+ Ptr RawTH2C -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetFillStyle"- c_th2c_setfillstyle :: Ptr RawTH2C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetFillStyle" c_th2c_setfillstyle ::+ Ptr RawTH2C -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMarkerColor"- c_th2c_getmarkercolor :: Ptr RawTH2C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetMarkerColor" c_th2c_getmarkercolor ::+ Ptr RawTH2C -> IO CShort -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMarkerStyle"- c_th2c_getmarkerstyle :: Ptr RawTH2C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetMarkerStyle" c_th2c_getmarkerstyle ::+ Ptr RawTH2C -> IO CShort -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMarkerSize"- c_th2c_getmarkersize :: Ptr RawTH2C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_GetMarkerSize" c_th2c_getmarkersize ::+ Ptr RawTH2C -> IO CFloat -foreign import ccall safe "HROOTHistTH2C.h TH2C_ResetAttMarker"- c_th2c_resetattmarker :: Ptr RawTH2C -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_ResetAttMarker" c_th2c_resetattmarker ::+ Ptr RawTH2C -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_SetMarkerAttributes" c_th2c_setmarkerattributes :: Ptr RawTH2C -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetMarkerColor"- c_th2c_setmarkercolor :: Ptr RawTH2C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetMarkerColor" c_th2c_setmarkercolor ::+ Ptr RawTH2C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetMarkerStyle"- c_th2c_setmarkerstyle :: Ptr RawTH2C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetMarkerStyle" c_th2c_setmarkerstyle ::+ Ptr RawTH2C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SetMarkerSize"- c_th2c_setmarkersize :: Ptr RawTH2C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_SetMarkerSize" c_th2c_setmarkersize ::+ Ptr RawTH2C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_Draw" c_th2c_draw- :: Ptr RawTH2C -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Clear"+ c_th2c_clear :: Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_FindObject"- c_th2c_findobject :: Ptr RawTH2C -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Draw"+ c_th2c_draw :: Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_GetName"+foreign import ccall interruptible+ "HROOTHistTH2C.h TH2C_FindObject" c_th2c_findobject ::+ Ptr RawTH2C -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH2C.h TH2C_GetName" c_th2c_getname :: Ptr RawTH2C -> IO CString -foreign import ccall safe "HROOTHistTH2C.h TH2C_IsA" c_th2c_isa ::- Ptr RawTH2C -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_IsA"+ c_th2c_isa :: Ptr RawTH2C -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH2C.h TH2C_Paint" c_th2c_paint- :: Ptr RawTH2C -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Paint"+ c_th2c_paint :: Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_printObj"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_printObj" c_th2c_printobj :: Ptr RawTH2C -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_SaveAs"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_SaveAs" c_th2c_saveas :: Ptr RawTH2C -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2C.h TH2C_Write" c_th2c_write- :: Ptr RawTH2C -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Write"+ c_th2c_write :: Ptr RawTH2C -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2C.h TH2C_delete"+foreign import ccall interruptible "HROOTHistTH2C.h TH2C_Write_"+ c_th2c_write_ :: Ptr RawTH2C -> IO CInt++foreign import ccall interruptible "HROOTHistTH2C.h TH2C_delete" c_th2c_delete :: Ptr RawTH2C -> IO ()++foreign import ccall interruptible "HROOTHistTH2C.h TH2C_GetAt"+ c_th2c_getat :: Ptr RawTH2C -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH2C.h TH2C_SetArray"+ c_th2c_setarray :: Ptr RawTH2C -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH2C.h TH2C_SetAt"+ c_th2c_setat :: Ptr RawTH2C -> CDouble -> CInt -> IO ()
src/HROOT/Hist/TH2C/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH2C.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH2C.RawType import HROOT.Hist.TH2C.FFI import HROOT.Hist.TH2C.Interface import HROOT.Hist.TH2C.Cast+import HROOT.Hist.TH2C.RawType+import HROOT.Hist.TH2C.Cast+import HROOT.Hist.TH2C.Interface import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Cast import HROOT.Hist.TH1D.Interface@@ -57,16 +66,16 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH2C TH2C+instance () => ITH2C (TH2C) where -instance ITH2 TH2C where+instance () => ITH2 (TH2C) where fill2 = xform2 c_th2c_fill2 fill2w = xform3 c_th2c_fill2w fillN2 = xform5 c_th2c_filln2@@ -84,13 +93,12 @@ setShowProjectionX = xform1 c_th2c_setshowprojectionx setShowProjectionY = xform1 c_th2c_setshowprojectiony -instance ITArrayC TH2C+instance () => ITArrayC (TH2C) where -instance ITH1 TH2C where+instance () => ITH1 (TH2C) where add = xform2 c_th2c_add addBinContent = xform2 c_th2c_addbincontent chi2Test = xform3 c_th2c_chi2test- computeIntegral = xform0 c_th2c_computeintegral directoryAutoAdd = xform1 c_th2c_directoryautoadd divide = xform5 c_th2c_divide drawCopyTH1 = xform1 c_th2c_drawcopyth1@@ -162,9 +170,6 @@ getRMS = xform1 c_th2c_getrms getRMSError = xform1 c_th2c_getrmserror getSkewness = xform1 c_th2c_getskewness- integral1 = xform3 c_th2c_integral1- interpolate1 = xform1 c_th2c_interpolate1- interpolate2 = xform2 c_th2c_interpolate2 interpolate3 = xform3 c_th2c_interpolate3 kolmogorovTest = xform2 c_th2c_kolmogorovtest labelsDeflate = xform1 c_th2c_labelsdeflate@@ -219,12 +224,12 @@ smooth = xform2 c_th2c_smooth sumw2 = xform0 c_th2c_sumw2 -instance ITNamed TH2C where+instance () => ITNamed (TH2C) where setName = xform1 c_th2c_setname setNameTitle = xform2 c_th2c_setnametitle setTitle = xform1 c_th2c_settitle -instance ITAttLine TH2C where+instance () => ITAttLine (TH2C) where getLineColor = xform0 c_th2c_getlinecolor getLineStyle = xform0 c_th2c_getlinestyle getLineWidth = xform0 c_th2c_getlinewidth@@ -234,11 +239,11 @@ setLineStyle = xform1 c_th2c_setlinestyle setLineWidth = xform1 c_th2c_setlinewidth -instance ITAttFill TH2C where+instance () => ITAttFill (TH2C) where setFillColor = xform1 c_th2c_setfillcolor setFillStyle = xform1 c_th2c_setfillstyle -instance ITAttMarker TH2C where+instance () => ITAttMarker (TH2C) where getMarkerColor = xform0 c_th2c_getmarkercolor getMarkerStyle = xform0 c_th2c_getmarkerstyle getMarkerSize = xform0 c_th2c_getmarkersize@@ -248,7 +253,8 @@ setMarkerStyle = xform1 c_th2c_setmarkerstyle setMarkerSize = xform1 c_th2c_setmarkersize -instance ITObject TH2C where+instance () => ITObject (TH2C) where+ clear = xform1 c_th2c_clear draw = xform1 c_th2c_draw findObject = xform1 c_th2c_findobject getName = xform0 c_th2c_getname@@ -257,8 +263,12 @@ printObj = xform1 c_th2c_printobj saveAs = xform2 c_th2c_saveas write = xform3 c_th2c_write+ write_ = xform0 c_th2c_write_ -instance IDeletable TH2C where+instance () => IDeletable (TH2C) where delete = xform0 c_th2c_delete -instance ITArray TH2C+instance () => ITArray (TH2C) where+ getAt = xform1 c_th2c_getat+ setArray = xform1 c_th2c_setarray+ setAt = xform2 c_th2c_setat
src/HROOT/Hist/TH2C/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH2C.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH2.Interface import HROOT.Core.TArrayC.Interface -class (ITH2 a, ITArrayC a) => ITH2C a+class (ITH2 a, ITArrayC a) => ITH2C a where upcastTH2C :: forall a . (FPtr a, ITH2C a) => a -> TH2C upcastTH2C h
src/HROOT/Hist/TH2C/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH2C newtype TH2C = TH2C (Ptr RawTH2C)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH2C where+instance () => FPtr (TH2C) where type Raw TH2C = RawTH2C get_fptr (TH2C ptr) = ptr cast_fptr_to_obj = TH2C
src/HROOT/Hist/TH2D/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH2D.RawType import HROOT.Hist.TH2D.Interface -instance (ITH2D a, FPtr a) => Castable a (Ptr RawTH2D) where+instance (ITH2D a, FPtr a) => Castable (a) (Ptr RawTH2D) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH2D (Ptr RawTH2D) where+instance () => Castable (TH2D) (Ptr RawTH2D) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH2D/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH2D.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH2D.RawType+import HROOT.Hist.TH2D.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH2.RawType import HROOT.Hist.TH1.RawType@@ -14,594 +17,683 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH2D.h TH2D_fill2" c_th2d_fill2- :: Ptr RawTH2D -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_fill2"+ c_th2d_fill2 :: Ptr RawTH2D -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_fill2w"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_fill2w" c_th2d_fill2w :: Ptr RawTH2D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_fillN2"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_fillN2" c_th2d_filln2 :: Ptr RawTH2D ->- CInt ->- (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_fillRandom2"- c_th2d_fillrandom2 :: Ptr RawTH2D -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_fillRandom2" c_th2d_fillrandom2 ::+ Ptr RawTH2D -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_findFirstBinAbove2"- c_th2d_findfirstbinabove2 ::- Ptr RawTH2D -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_findFirstBinAbove2" c_th2d_findfirstbinabove2+ :: Ptr RawTH2D -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_findLastBinAbove2"- c_th2d_findlastbinabove2 ::- Ptr RawTH2D -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_findLastBinAbove2" c_th2d_findlastbinabove2+ :: Ptr RawTH2D -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_FitSlicesX"- c_th2d_fitslicesx ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_FitSlicesX" c_th2d_fitslicesx :: Ptr RawTH2D -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_FitSlicesY"- c_th2d_fitslicesy ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_FitSlicesY" c_th2d_fitslicesy :: Ptr RawTH2D -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_getCorrelationFactor2" c_th2d_getcorrelationfactor2 :: Ptr RawTH2D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_getCovariance2"- c_th2d_getcovariance2 :: Ptr RawTH2D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getCovariance2" c_th2d_getcovariance2 ::+ Ptr RawTH2D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_integral2"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_integral2" c_th2d_integral2 :: Ptr RawTH2D -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_rebinX2"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_rebinX2" c_th2d_rebinx2 :: Ptr RawTH2D -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2D.h TH2D_rebinY2"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_rebinY2" c_th2d_rebiny2 :: Ptr RawTH2D -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2D.h TH2D_Rebin2D"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Rebin2D" c_th2d_rebin2d :: Ptr RawTH2D -> CInt -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetShowProjectionX"- c_th2d_setshowprojectionx :: Ptr RawTH2D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetShowProjectionX" c_th2d_setshowprojectionx+ :: Ptr RawTH2D -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetShowProjectionY"- c_th2d_setshowprojectiony :: Ptr RawTH2D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetShowProjectionY" c_th2d_setshowprojectiony+ :: Ptr RawTH2D -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_Add" c_th2d_add ::- Ptr RawTH2D -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Add"+ c_th2d_add :: Ptr RawTH2D -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_AddBinContent"- c_th2d_addbincontent :: Ptr RawTH2D -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_AddBinContent" c_th2d_addbincontent ::+ Ptr RawTH2D -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_Chi2Test"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Chi2Test" c_th2d_chi2test ::- Ptr RawTH2D -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH2D.h TH2D_ComputeIntegral"- c_th2d_computeintegral :: Ptr RawTH2D -> IO CDouble+ Ptr RawTH2D -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_DirectoryAutoAdd"- c_th2d_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_DirectoryAutoAdd" c_th2d_directoryautoadd :: Ptr RawTH2D -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_Divide"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Divide" c_th2d_divide :: Ptr RawTH2D -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_drawCopyTH1"- c_th2d_drawcopyth1 :: Ptr RawTH2D -> CString -> IO (Ptr RawTH2D)+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_drawCopyTH1" c_th2d_drawcopyth1 ::+ Ptr RawTH2D -> CString -> IO (Ptr RawTH2D) -foreign import ccall safe "HROOTHistTH2D.h TH2D_DrawNormalized"- c_th2d_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_DrawNormalized" c_th2d_drawnormalized :: Ptr RawTH2D -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2D.h TH2D_drawPanelTH1"- c_th2d_drawpanelth1 :: Ptr RawTH2D -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_drawPanelTH1" c_th2d_drawpanelth1 ::+ Ptr RawTH2D -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_BufferEmpty"- c_th2d_bufferempty :: Ptr RawTH2D -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_BufferEmpty" c_th2d_bufferempty ::+ Ptr RawTH2D -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_evalF" c_th2d_evalf- :: Ptr RawTH2D -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_evalF"+ c_th2d_evalf :: Ptr RawTH2D -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_FFT" c_th2d_fft ::+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_FFT"+ c_th2d_fft :: Ptr RawTH2D -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2D.h TH2D_fill1" c_th2d_fill1- :: Ptr RawTH2D -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_fill1"+ c_th2d_fill1 :: Ptr RawTH2D -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_fill1w"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_fill1w" c_th2d_fill1w :: Ptr RawTH2D -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_fillN1"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_fillN1" c_th2d_filln1 ::- Ptr RawTH2D ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH2D -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_FillRandom"- c_th2d_fillrandom :: Ptr RawTH2D -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_FillRandom" c_th2d_fillrandom ::+ Ptr RawTH2D -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_FindBin"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_FindBin" c_th2d_findbin :: Ptr RawTH2D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_FindFixBin"- c_th2d_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_FindFixBin" c_th2d_findfixbin :: Ptr RawTH2D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_FindFirstBinAbove"- c_th2d_findfirstbinabove ::- Ptr RawTH2D -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_FindFirstBinAbove" c_th2d_findfirstbinabove+ :: Ptr RawTH2D -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_FindLastBinAbove"- c_th2d_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_FindLastBinAbove" c_th2d_findlastbinabove :: Ptr RawTH2D -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_Fit" c_th2d_fit ::+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Fit"+ c_th2d_fit :: Ptr RawTH2D -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_FitPanelTH1"- c_th2d_fitpanelth1 :: Ptr RawTH2D -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_FitPanelTH1" c_th2d_fitpanelth1 ::+ Ptr RawTH2D -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_getNdivisionA"- c_th2d_getndivisiona :: Ptr RawTH2D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getNdivisionA" c_th2d_getndivisiona ::+ Ptr RawTH2D -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_getAxisColorA"- c_th2d_getaxiscolora :: Ptr RawTH2D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getAxisColorA" c_th2d_getaxiscolora ::+ Ptr RawTH2D -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2D.h TH2D_getLabelColorA"- c_th2d_getlabelcolora :: Ptr RawTH2D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getLabelColorA" c_th2d_getlabelcolora ::+ Ptr RawTH2D -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2D.h TH2D_getLabelFontA"- c_th2d_getlabelfonta :: Ptr RawTH2D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getLabelFontA" c_th2d_getlabelfonta ::+ Ptr RawTH2D -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2D.h TH2D_getLabelOffsetA"- c_th2d_getlabeloffseta :: Ptr RawTH2D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getLabelOffsetA" c_th2d_getlabeloffseta ::+ Ptr RawTH2D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2D.h TH2D_getLabelSizeA"- c_th2d_getlabelsizea :: Ptr RawTH2D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getLabelSizeA" c_th2d_getlabelsizea ::+ Ptr RawTH2D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2D.h TH2D_getTitleFontA"- c_th2d_gettitlefonta :: Ptr RawTH2D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getTitleFontA" c_th2d_gettitlefonta ::+ Ptr RawTH2D -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2D.h TH2D_getTitleOffsetA"- c_th2d_gettitleoffseta :: Ptr RawTH2D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getTitleOffsetA" c_th2d_gettitleoffseta ::+ Ptr RawTH2D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2D.h TH2D_getTitleSizeA"- c_th2d_gettitlesizea :: Ptr RawTH2D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getTitleSizeA" c_th2d_gettitlesizea ::+ Ptr RawTH2D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2D.h TH2D_getTickLengthA"- c_th2d_getticklengtha :: Ptr RawTH2D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getTickLengthA" c_th2d_getticklengtha ::+ Ptr RawTH2D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBarOffset"- c_th2d_getbaroffset :: Ptr RawTH2D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetBarOffset" c_th2d_getbaroffset ::+ Ptr RawTH2D -> IO CFloat -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBarWidth"- c_th2d_getbarwidth :: Ptr RawTH2D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetBarWidth" c_th2d_getbarwidth ::+ Ptr RawTH2D -> IO CFloat -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetContour"- c_th2d_getcontour :: Ptr RawTH2D -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetContour" c_th2d_getcontour ::+ Ptr RawTH2D -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetContourLevel"- c_th2d_getcontourlevel :: Ptr RawTH2D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetContourLevel" c_th2d_getcontourlevel ::+ Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetContourLevelPad"- c_th2d_getcontourlevelpad :: Ptr RawTH2D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetContourLevelPad" c_th2d_getcontourlevelpad+ :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBin"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_GetBin" c_th2d_getbin :: Ptr RawTH2D -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinCenter"- c_th2d_getbincenter :: Ptr RawTH2D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetBinCenter" c_th2d_getbincenter ::+ Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinContent1"- c_th2d_getbincontent1 :: Ptr RawTH2D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetBinContent1" c_th2d_getbincontent1 ::+ Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinContent2"- c_th2d_getbincontent2 :: Ptr RawTH2D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetBinContent2" c_th2d_getbincontent2 ::+ Ptr RawTH2D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinContent3"- c_th2d_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetBinContent3" c_th2d_getbincontent3 :: Ptr RawTH2D -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinError1"- c_th2d_getbinerror1 :: Ptr RawTH2D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetBinError1" c_th2d_getbinerror1 ::+ Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinError2"- c_th2d_getbinerror2 :: Ptr RawTH2D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetBinError2" c_th2d_getbinerror2 ::+ Ptr RawTH2D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinError3"- c_th2d_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetBinError3" c_th2d_getbinerror3 :: Ptr RawTH2D -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinLowEdge"- c_th2d_getbinlowedge :: Ptr RawTH2D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetBinLowEdge" c_th2d_getbinlowedge ::+ Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinWidth"- c_th2d_getbinwidth :: Ptr RawTH2D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetBinWidth" c_th2d_getbinwidth ::+ Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetCellContent"- c_th2d_getcellcontent :: Ptr RawTH2D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetCellContent" c_th2d_getcellcontent ::+ Ptr RawTH2D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetCellError"- c_th2d_getcellerror :: Ptr RawTH2D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetCellError" c_th2d_getcellerror ::+ Ptr RawTH2D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetEntries"- c_th2d_getentries :: Ptr RawTH2D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetEntries" c_th2d_getentries ::+ Ptr RawTH2D -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_GetEffectiveEntries" c_th2d_geteffectiveentries :: Ptr RawTH2D -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetFunction"- c_th2d_getfunction :: Ptr RawTH2D -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetFunction" c_th2d_getfunction ::+ Ptr RawTH2D -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetDimension"- c_th2d_getdimension :: Ptr RawTH2D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetDimension" c_th2d_getdimension ::+ Ptr RawTH2D -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetKurtosis"- c_th2d_getkurtosis :: Ptr RawTH2D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetKurtosis" c_th2d_getkurtosis ::+ Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetLowEdge"- c_th2d_getlowedge :: Ptr RawTH2D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetLowEdge" c_th2d_getlowedge ::+ Ptr RawTH2D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_getMaximumTH1"- c_th2d_getmaximumth1 :: Ptr RawTH2D -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getMaximumTH1" c_th2d_getmaximumth1 ::+ Ptr RawTH2D -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMaximumBin"- c_th2d_getmaximumbin :: Ptr RawTH2D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetMaximumBin" c_th2d_getmaximumbin ::+ Ptr RawTH2D -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMaximumStored"- c_th2d_getmaximumstored :: Ptr RawTH2D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetMaximumStored" c_th2d_getmaximumstored ::+ Ptr RawTH2D -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_getMinimumTH1"- c_th2d_getminimumth1 :: Ptr RawTH2D -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getMinimumTH1" c_th2d_getminimumth1 ::+ Ptr RawTH2D -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMinimumBin"- c_th2d_getminimumbin :: Ptr RawTH2D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetMinimumBin" c_th2d_getminimumbin ::+ Ptr RawTH2D -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMinimumStored"- c_th2d_getminimumstored :: Ptr RawTH2D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetMinimumStored" c_th2d_getminimumstored ::+ Ptr RawTH2D -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMean"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_GetMean" c_th2d_getmean :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMeanError"- c_th2d_getmeanerror :: Ptr RawTH2D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetMeanError" c_th2d_getmeanerror ::+ Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_GetNbinsX" c_th2d_getnbinsx :: Ptr RawTH2D -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_GetNbinsY" c_th2d_getnbinsy :: Ptr RawTH2D -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_GetNbinsZ" c_th2d_getnbinsz :: Ptr RawTH2D -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_getQuantilesTH1"- c_th2d_getquantilesth1 ::- Ptr RawTH2D -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_getQuantilesTH1" c_th2d_getquantilesth1 ::+ Ptr RawTH2D -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetRandom"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_GetRandom" c_th2d_getrandom :: Ptr RawTH2D -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetStats"- c_th2d_getstats :: Ptr RawTH2D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_GetStats"+ c_th2d_getstats :: Ptr RawTH2D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetSumOfWeights"- c_th2d_getsumofweights :: Ptr RawTH2D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetSumOfWeights" c_th2d_getsumofweights ::+ Ptr RawTH2D -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetSumw2"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_GetSumw2" c_th2d_getsumw2 :: Ptr RawTH2D -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_GetSumw2N" c_th2d_getsumw2n :: Ptr RawTH2D -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetRMS"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_GetRMS" c_th2d_getrms :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetRMSError"- c_th2d_getrmserror :: Ptr RawTH2D -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH2D.h TH2D_GetSkewness"- c_th2d_getskewness :: Ptr RawTH2D -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH2D.h TH2D_integral1"- c_th2d_integral1 ::- Ptr RawTH2D -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH2D.h TH2D_interpolate1"- c_th2d_interpolate1 :: Ptr RawTH2D -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetRMSError" c_th2d_getrmserror ::+ Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_interpolate2"- c_th2d_interpolate2 ::- Ptr RawTH2D -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetSkewness" c_th2d_getskewness ::+ Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_interpolate3"- c_th2d_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_interpolate3" c_th2d_interpolate3 :: Ptr RawTH2D -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_KolmogorovTest"- c_th2d_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_KolmogorovTest" c_th2d_kolmogorovtest :: Ptr RawTH2D -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH2D.h TH2D_LabelsDeflate"- c_th2d_labelsdeflate :: Ptr RawTH2D -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_LabelsDeflate" c_th2d_labelsdeflate ::+ Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_LabelsInflate"- c_th2d_labelsinflate :: Ptr RawTH2D -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_LabelsInflate" c_th2d_labelsinflate ::+ Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_LabelsOption"- c_th2d_labelsoption :: Ptr RawTH2D -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_LabelsOption" c_th2d_labelsoption ::+ Ptr RawTH2D -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_multiflyF"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_multiflyF" c_th2d_multiflyf :: Ptr RawTH2D -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_Multiply"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Multiply" c_th2d_multiply :: Ptr RawTH2D -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_PutStats"- c_th2d_putstats :: Ptr RawTH2D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_PutStats"+ c_th2d_putstats :: Ptr RawTH2D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_Rebin" c_th2d_rebin- ::- Ptr RawTH2D -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Rebin"+ c_th2d_rebin ::+ Ptr RawTH2D -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2D.h TH2D_RebinAxis"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_RebinAxis" c_th2d_rebinaxis :: Ptr RawTH2D -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_Rebuild"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Rebuild" c_th2d_rebuild :: Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_RecursiveRemove"- c_th2d_recursiveremove :: Ptr RawTH2D -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_RecursiveRemove" c_th2d_recursiveremove ::+ Ptr RawTH2D -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_Reset" c_th2d_reset- :: Ptr RawTH2D -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Reset"+ c_th2d_reset :: Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_ResetStats"- c_th2d_resetstats :: Ptr RawTH2D -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_ResetStats" c_th2d_resetstats ::+ Ptr RawTH2D -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_Scale" c_th2d_scale- :: Ptr RawTH2D -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Scale"+ c_th2d_scale :: Ptr RawTH2D -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setAxisColorA"- c_th2d_setaxiscolora :: Ptr RawTH2D -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_setAxisColorA" c_th2d_setaxiscolora ::+ Ptr RawTH2D -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetAxisRange"- c_th2d_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetAxisRange" c_th2d_setaxisrange :: Ptr RawTH2D -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetBarOffset"- c_th2d_setbaroffset :: Ptr RawTH2D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetBarOffset" c_th2d_setbaroffset ::+ Ptr RawTH2D -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetBarWidth"- c_th2d_setbarwidth :: Ptr RawTH2D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetBarWidth" c_th2d_setbarwidth ::+ Ptr RawTH2D -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setBinContent1"- c_th2d_setbincontent1 :: Ptr RawTH2D -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_setBinContent1" c_th2d_setbincontent1 ::+ Ptr RawTH2D -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setBinContent2"- c_th2d_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_setBinContent2" c_th2d_setbincontent2 :: Ptr RawTH2D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setBinContent3"- c_th2d_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_setBinContent3" c_th2d_setbincontent3 :: Ptr RawTH2D -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setBinError1"- c_th2d_setbinerror1 :: Ptr RawTH2D -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_setBinError1" c_th2d_setbinerror1 ::+ Ptr RawTH2D -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setBinError2"- c_th2d_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_setBinError2" c_th2d_setbinerror2 :: Ptr RawTH2D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setBinError3"- c_th2d_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_setBinError3" c_th2d_setbinerror3 :: Ptr RawTH2D -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setBins1"- c_th2d_setbins1 :: Ptr RawTH2D -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_setBins1"+ c_th2d_setbins1 :: Ptr RawTH2D -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setBins2"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_setBins2" c_th2d_setbins2 ::- Ptr RawTH2D ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH2D -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setBins3"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_setBins3" c_th2d_setbins3 :: Ptr RawTH2D -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetBinsLength"- c_th2d_setbinslength :: Ptr RawTH2D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetBinsLength" c_th2d_setbinslength ::+ Ptr RawTH2D -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetBuffer"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_SetBuffer" c_th2d_setbuffer :: Ptr RawTH2D -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetCellContent"- c_th2d_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetCellContent" c_th2d_setcellcontent :: Ptr RawTH2D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetContent"- c_th2d_setcontent :: Ptr RawTH2D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetContent" c_th2d_setcontent ::+ Ptr RawTH2D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetContour"- c_th2d_setcontour :: Ptr RawTH2D -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetContour" c_th2d_setcontour ::+ Ptr RawTH2D -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetContourLevel"- c_th2d_setcontourlevel :: Ptr RawTH2D -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetContourLevel" c_th2d_setcontourlevel ::+ Ptr RawTH2D -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetDirectory"- c_th2d_setdirectory :: Ptr RawTH2D -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetDirectory" c_th2d_setdirectory ::+ Ptr RawTH2D -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetEntries"- c_th2d_setentries :: Ptr RawTH2D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetEntries" c_th2d_setentries ::+ Ptr RawTH2D -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetError"- c_th2d_seterror :: Ptr RawTH2D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_SetError"+ c_th2d_seterror :: Ptr RawTH2D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setLabelColorA"- c_th2d_setlabelcolora :: Ptr RawTH2D -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_setLabelColorA" c_th2d_setlabelcolora ::+ Ptr RawTH2D -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setLabelSizeA"- c_th2d_setlabelsizea :: Ptr RawTH2D -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_setLabelSizeA" c_th2d_setlabelsizea ::+ Ptr RawTH2D -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setLabelFontA"- c_th2d_setlabelfonta :: Ptr RawTH2D -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_setLabelFontA" c_th2d_setlabelfonta ::+ Ptr RawTH2D -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_setLabelOffsetA"- c_th2d_setlabeloffseta ::- Ptr RawTH2D -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_setLabelOffsetA" c_th2d_setlabeloffseta ::+ Ptr RawTH2D -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetMaximum"- c_th2d_setmaximum :: Ptr RawTH2D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetMaximum" c_th2d_setmaximum ::+ Ptr RawTH2D -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetMinimum"- c_th2d_setminimum :: Ptr RawTH2D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetMinimum" c_th2d_setminimum ::+ Ptr RawTH2D -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetNormFactor"- c_th2d_setnormfactor :: Ptr RawTH2D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetNormFactor" c_th2d_setnormfactor ::+ Ptr RawTH2D -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetStats"- c_th2d_setstats :: Ptr RawTH2D -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_SetStats"+ c_th2d_setstats :: Ptr RawTH2D -> CBool -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetOption"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_SetOption" c_th2d_setoption :: Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetXTitle"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_SetXTitle" c_th2d_setxtitle :: Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetYTitle"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_SetYTitle" c_th2d_setytitle :: Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetZTitle"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_SetZTitle" c_th2d_setztitle :: Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_ShowBackground"- c_th2d_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_ShowBackground" c_th2d_showbackground :: Ptr RawTH2D -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2D.h TH2D_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_ShowPeaks" c_th2d_showpeaks :: Ptr RawTH2D -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_Smooth"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Smooth" c_th2d_smooth :: Ptr RawTH2D -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_Sumw2" c_th2d_sumw2- :: Ptr RawTH2D -> IO ()+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Sumw2"+ c_th2d_sumw2 :: Ptr RawTH2D -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetName"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_SetName" c_th2d_setname :: Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetNameTitle"- c_th2d_setnametitle :: Ptr RawTH2D -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetNameTitle" c_th2d_setnametitle ::+ Ptr RawTH2D -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetTitle"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_SetTitle" c_th2d_settitle :: Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetLineColor"- c_th2d_getlinecolor :: Ptr RawTH2D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetLineColor" c_th2d_getlinecolor ::+ Ptr RawTH2D -> IO CShort -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetLineStyle"- c_th2d_getlinestyle :: Ptr RawTH2D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetLineStyle" c_th2d_getlinestyle ::+ Ptr RawTH2D -> IO CShort -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetLineWidth"- c_th2d_getlinewidth :: Ptr RawTH2D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetLineWidth" c_th2d_getlinewidth ::+ Ptr RawTH2D -> IO CShort -foreign import ccall safe "HROOTHistTH2D.h TH2D_ResetAttLine"- c_th2d_resetattline :: Ptr RawTH2D -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_ResetAttLine" c_th2d_resetattline ::+ Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetLineAttributes"- c_th2d_setlineattributes :: Ptr RawTH2D -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetLineAttributes" c_th2d_setlineattributes+ :: Ptr RawTH2D -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetLineColor"- c_th2d_setlinecolor :: Ptr RawTH2D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetLineColor" c_th2d_setlinecolor ::+ Ptr RawTH2D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetLineStyle"- c_th2d_setlinestyle :: Ptr RawTH2D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetLineStyle" c_th2d_setlinestyle ::+ Ptr RawTH2D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetLineWidth"- c_th2d_setlinewidth :: Ptr RawTH2D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetLineWidth" c_th2d_setlinewidth ::+ Ptr RawTH2D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetFillColor"- c_th2d_setfillcolor :: Ptr RawTH2D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetFillColor" c_th2d_setfillcolor ::+ Ptr RawTH2D -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetFillStyle"- c_th2d_setfillstyle :: Ptr RawTH2D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetFillStyle" c_th2d_setfillstyle ::+ Ptr RawTH2D -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMarkerColor"- c_th2d_getmarkercolor :: Ptr RawTH2D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetMarkerColor" c_th2d_getmarkercolor ::+ Ptr RawTH2D -> IO CShort -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMarkerStyle"- c_th2d_getmarkerstyle :: Ptr RawTH2D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetMarkerStyle" c_th2d_getmarkerstyle ::+ Ptr RawTH2D -> IO CShort -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMarkerSize"- c_th2d_getmarkersize :: Ptr RawTH2D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_GetMarkerSize" c_th2d_getmarkersize ::+ Ptr RawTH2D -> IO CFloat -foreign import ccall safe "HROOTHistTH2D.h TH2D_ResetAttMarker"- c_th2d_resetattmarker :: Ptr RawTH2D -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_ResetAttMarker" c_th2d_resetattmarker ::+ Ptr RawTH2D -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_SetMarkerAttributes" c_th2d_setmarkerattributes :: Ptr RawTH2D -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetMarkerColor"- c_th2d_setmarkercolor :: Ptr RawTH2D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetMarkerColor" c_th2d_setmarkercolor ::+ Ptr RawTH2D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetMarkerStyle"- c_th2d_setmarkerstyle :: Ptr RawTH2D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetMarkerStyle" c_th2d_setmarkerstyle ::+ Ptr RawTH2D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SetMarkerSize"- c_th2d_setmarkersize :: Ptr RawTH2D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_SetMarkerSize" c_th2d_setmarkersize ::+ Ptr RawTH2D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_Draw" c_th2d_draw- :: Ptr RawTH2D -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Clear"+ c_th2d_clear :: Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_FindObject"- c_th2d_findobject :: Ptr RawTH2D -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Draw"+ c_th2d_draw :: Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_GetName"+foreign import ccall interruptible+ "HROOTHistTH2D.h TH2D_FindObject" c_th2d_findobject ::+ Ptr RawTH2D -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH2D.h TH2D_GetName" c_th2d_getname :: Ptr RawTH2D -> IO CString -foreign import ccall safe "HROOTHistTH2D.h TH2D_IsA" c_th2d_isa ::- Ptr RawTH2D -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_IsA"+ c_th2d_isa :: Ptr RawTH2D -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH2D.h TH2D_Paint" c_th2d_paint- :: Ptr RawTH2D -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Paint"+ c_th2d_paint :: Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_printObj"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_printObj" c_th2d_printobj :: Ptr RawTH2D -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_SaveAs"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_SaveAs" c_th2d_saveas :: Ptr RawTH2D -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_Write" c_th2d_write- :: Ptr RawTH2D -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Write"+ c_th2d_write :: Ptr RawTH2D -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2D.h TH2D_delete"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_Write_"+ c_th2d_write_ :: Ptr RawTH2D -> IO CInt++foreign import ccall interruptible "HROOTHistTH2D.h TH2D_delete" c_th2d_delete :: Ptr RawTH2D -> IO () -foreign import ccall safe "HROOTHistTH2D.h TH2D_newTH2D"+foreign import ccall interruptible "HROOTHistTH2D.h TH2D_GetAt"+ c_th2d_getat :: Ptr RawTH2D -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH2D.h TH2D_SetArray"+ c_th2d_setarray :: Ptr RawTH2D -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH2D.h TH2D_SetAt"+ c_th2d_setat :: Ptr RawTH2D -> CDouble -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH2D.h TH2D_newTH2D" c_th2d_newth2d :: CString -> CString ->
src/HROOT/Hist/TH2D/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH2D.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH2D.RawType import HROOT.Hist.TH2D.FFI import HROOT.Hist.TH2D.Interface import HROOT.Hist.TH2D.Cast+import HROOT.Hist.TH2D.RawType+import HROOT.Hist.TH2D.Cast+import HROOT.Hist.TH2D.Interface import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Cast import HROOT.Hist.TH1D.Interface@@ -54,16 +63,16 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH2D TH2D+instance () => ITH2D (TH2D) where -instance ITH2 TH2D where+instance () => ITH2 (TH2D) where fill2 = xform2 c_th2d_fill2 fill2w = xform3 c_th2d_fill2w fillN2 = xform5 c_th2d_filln2@@ -81,13 +90,12 @@ setShowProjectionX = xform1 c_th2d_setshowprojectionx setShowProjectionY = xform1 c_th2d_setshowprojectiony -instance ITArrayD TH2D+instance () => ITArrayD (TH2D) where -instance ITH1 TH2D where+instance () => ITH1 (TH2D) where add = xform2 c_th2d_add addBinContent = xform2 c_th2d_addbincontent chi2Test = xform3 c_th2d_chi2test- computeIntegral = xform0 c_th2d_computeintegral directoryAutoAdd = xform1 c_th2d_directoryautoadd divide = xform5 c_th2d_divide drawCopyTH1 = xform1 c_th2d_drawcopyth1@@ -159,9 +167,6 @@ getRMS = xform1 c_th2d_getrms getRMSError = xform1 c_th2d_getrmserror getSkewness = xform1 c_th2d_getskewness- integral1 = xform3 c_th2d_integral1- interpolate1 = xform1 c_th2d_interpolate1- interpolate2 = xform2 c_th2d_interpolate2 interpolate3 = xform3 c_th2d_interpolate3 kolmogorovTest = xform2 c_th2d_kolmogorovtest labelsDeflate = xform1 c_th2d_labelsdeflate@@ -216,12 +221,12 @@ smooth = xform2 c_th2d_smooth sumw2 = xform0 c_th2d_sumw2 -instance ITNamed TH2D where+instance () => ITNamed (TH2D) where setName = xform1 c_th2d_setname setNameTitle = xform2 c_th2d_setnametitle setTitle = xform1 c_th2d_settitle -instance ITAttLine TH2D where+instance () => ITAttLine (TH2D) where getLineColor = xform0 c_th2d_getlinecolor getLineStyle = xform0 c_th2d_getlinestyle getLineWidth = xform0 c_th2d_getlinewidth@@ -231,11 +236,11 @@ setLineStyle = xform1 c_th2d_setlinestyle setLineWidth = xform1 c_th2d_setlinewidth -instance ITAttFill TH2D where+instance () => ITAttFill (TH2D) where setFillColor = xform1 c_th2d_setfillcolor setFillStyle = xform1 c_th2d_setfillstyle -instance ITAttMarker TH2D where+instance () => ITAttMarker (TH2D) where getMarkerColor = xform0 c_th2d_getmarkercolor getMarkerStyle = xform0 c_th2d_getmarkerstyle getMarkerSize = xform0 c_th2d_getmarkersize@@ -245,7 +250,8 @@ setMarkerStyle = xform1 c_th2d_setmarkerstyle setMarkerSize = xform1 c_th2d_setmarkersize -instance ITObject TH2D where+instance () => ITObject (TH2D) where+ clear = xform1 c_th2d_clear draw = xform1 c_th2d_draw findObject = xform1 c_th2d_findobject getName = xform0 c_th2d_getname@@ -254,11 +260,15 @@ printObj = xform1 c_th2d_printobj saveAs = xform2 c_th2d_saveas write = xform3 c_th2d_write+ write_ = xform0 c_th2d_write_ -instance IDeletable TH2D where+instance () => IDeletable (TH2D) where delete = xform0 c_th2d_delete -instance ITArray TH2D+instance () => ITArray (TH2D) where+ getAt = xform1 c_th2d_getat+ setArray = xform1 c_th2d_setarray+ setAt = xform2 c_th2d_setat newTH2D :: (Castable c1 CString, Castable c0 CString) =>
src/HROOT/Hist/TH2D/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH2D.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH2.Interface import HROOT.Core.TArrayD.Interface -class (ITH2 a, ITArrayD a) => ITH2D a+class (ITH2 a, ITArrayD a) => ITH2D a where upcastTH2D :: forall a . (FPtr a, ITH2D a) => a -> TH2D upcastTH2D h
src/HROOT/Hist/TH2D/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH2D newtype TH2D = TH2D (Ptr RawTH2D)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH2D where+instance () => FPtr (TH2D) where type Raw TH2D = RawTH2D get_fptr (TH2D ptr) = ptr cast_fptr_to_obj = TH2D
src/HROOT/Hist/TH2F/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH2F.RawType import HROOT.Hist.TH2F.Interface -instance (ITH2F a, FPtr a) => Castable a (Ptr RawTH2F) where+instance (ITH2F a, FPtr a) => Castable (a) (Ptr RawTH2F) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH2F (Ptr RawTH2F) where+instance () => Castable (TH2F) (Ptr RawTH2F) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH2F/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH2F.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH2F.RawType+import HROOT.Hist.TH2F.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH2.RawType import HROOT.Hist.TH1.RawType@@ -14,594 +17,683 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH2F.h TH2F_fill2" c_th2f_fill2- :: Ptr RawTH2F -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_fill2"+ c_th2f_fill2 :: Ptr RawTH2F -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_fill2w"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_fill2w" c_th2f_fill2w :: Ptr RawTH2F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_fillN2"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_fillN2" c_th2f_filln2 :: Ptr RawTH2F ->- CInt ->- (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_fillRandom2"- c_th2f_fillrandom2 :: Ptr RawTH2F -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_fillRandom2" c_th2f_fillrandom2 ::+ Ptr RawTH2F -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_findFirstBinAbove2"- c_th2f_findfirstbinabove2 ::- Ptr RawTH2F -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_findFirstBinAbove2" c_th2f_findfirstbinabove2+ :: Ptr RawTH2F -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_findLastBinAbove2"- c_th2f_findlastbinabove2 ::- Ptr RawTH2F -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_findLastBinAbove2" c_th2f_findlastbinabove2+ :: Ptr RawTH2F -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_FitSlicesX"- c_th2f_fitslicesx ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_FitSlicesX" c_th2f_fitslicesx :: Ptr RawTH2F -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_FitSlicesY"- c_th2f_fitslicesy ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_FitSlicesY" c_th2f_fitslicesy :: Ptr RawTH2F -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_getCorrelationFactor2" c_th2f_getcorrelationfactor2 :: Ptr RawTH2F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_getCovariance2"- c_th2f_getcovariance2 :: Ptr RawTH2F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getCovariance2" c_th2f_getcovariance2 ::+ Ptr RawTH2F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_integral2"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_integral2" c_th2f_integral2 :: Ptr RawTH2F -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_rebinX2"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_rebinX2" c_th2f_rebinx2 :: Ptr RawTH2F -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2F.h TH2F_rebinY2"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_rebinY2" c_th2f_rebiny2 :: Ptr RawTH2F -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2F.h TH2F_Rebin2D"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Rebin2D" c_th2f_rebin2d :: Ptr RawTH2F -> CInt -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetShowProjectionX"- c_th2f_setshowprojectionx :: Ptr RawTH2F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetShowProjectionX" c_th2f_setshowprojectionx+ :: Ptr RawTH2F -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetShowProjectionY"- c_th2f_setshowprojectiony :: Ptr RawTH2F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetShowProjectionY" c_th2f_setshowprojectiony+ :: Ptr RawTH2F -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_Add" c_th2f_add ::- Ptr RawTH2F -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Add"+ c_th2f_add :: Ptr RawTH2F -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_AddBinContent"- c_th2f_addbincontent :: Ptr RawTH2F -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_AddBinContent" c_th2f_addbincontent ::+ Ptr RawTH2F -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_Chi2Test"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Chi2Test" c_th2f_chi2test ::- Ptr RawTH2F -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH2F.h TH2F_ComputeIntegral"- c_th2f_computeintegral :: Ptr RawTH2F -> IO CDouble+ Ptr RawTH2F -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_DirectoryAutoAdd"- c_th2f_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_DirectoryAutoAdd" c_th2f_directoryautoadd :: Ptr RawTH2F -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_Divide"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Divide" c_th2f_divide :: Ptr RawTH2F -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_drawCopyTH1"- c_th2f_drawcopyth1 :: Ptr RawTH2F -> CString -> IO (Ptr RawTH2F)+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_drawCopyTH1" c_th2f_drawcopyth1 ::+ Ptr RawTH2F -> CString -> IO (Ptr RawTH2F) -foreign import ccall safe "HROOTHistTH2F.h TH2F_DrawNormalized"- c_th2f_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_DrawNormalized" c_th2f_drawnormalized :: Ptr RawTH2F -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2F.h TH2F_drawPanelTH1"- c_th2f_drawpanelth1 :: Ptr RawTH2F -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_drawPanelTH1" c_th2f_drawpanelth1 ::+ Ptr RawTH2F -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_BufferEmpty"- c_th2f_bufferempty :: Ptr RawTH2F -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_BufferEmpty" c_th2f_bufferempty ::+ Ptr RawTH2F -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_evalF" c_th2f_evalf- :: Ptr RawTH2F -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_evalF"+ c_th2f_evalf :: Ptr RawTH2F -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_FFT" c_th2f_fft ::+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_FFT"+ c_th2f_fft :: Ptr RawTH2F -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2F.h TH2F_fill1" c_th2f_fill1- :: Ptr RawTH2F -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_fill1"+ c_th2f_fill1 :: Ptr RawTH2F -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_fill1w"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_fill1w" c_th2f_fill1w :: Ptr RawTH2F -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_fillN1"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_fillN1" c_th2f_filln1 ::- Ptr RawTH2F ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH2F -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_FillRandom"- c_th2f_fillrandom :: Ptr RawTH2F -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_FillRandom" c_th2f_fillrandom ::+ Ptr RawTH2F -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_FindBin"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_FindBin" c_th2f_findbin :: Ptr RawTH2F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_FindFixBin"- c_th2f_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_FindFixBin" c_th2f_findfixbin :: Ptr RawTH2F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_FindFirstBinAbove"- c_th2f_findfirstbinabove ::- Ptr RawTH2F -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_FindFirstBinAbove" c_th2f_findfirstbinabove+ :: Ptr RawTH2F -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_FindLastBinAbove"- c_th2f_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_FindLastBinAbove" c_th2f_findlastbinabove :: Ptr RawTH2F -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_Fit" c_th2f_fit ::+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Fit"+ c_th2f_fit :: Ptr RawTH2F -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_FitPanelTH1"- c_th2f_fitpanelth1 :: Ptr RawTH2F -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_FitPanelTH1" c_th2f_fitpanelth1 ::+ Ptr RawTH2F -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_getNdivisionA"- c_th2f_getndivisiona :: Ptr RawTH2F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getNdivisionA" c_th2f_getndivisiona ::+ Ptr RawTH2F -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_getAxisColorA"- c_th2f_getaxiscolora :: Ptr RawTH2F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getAxisColorA" c_th2f_getaxiscolora ::+ Ptr RawTH2F -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2F.h TH2F_getLabelColorA"- c_th2f_getlabelcolora :: Ptr RawTH2F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getLabelColorA" c_th2f_getlabelcolora ::+ Ptr RawTH2F -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2F.h TH2F_getLabelFontA"- c_th2f_getlabelfonta :: Ptr RawTH2F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getLabelFontA" c_th2f_getlabelfonta ::+ Ptr RawTH2F -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2F.h TH2F_getLabelOffsetA"- c_th2f_getlabeloffseta :: Ptr RawTH2F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getLabelOffsetA" c_th2f_getlabeloffseta ::+ Ptr RawTH2F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2F.h TH2F_getLabelSizeA"- c_th2f_getlabelsizea :: Ptr RawTH2F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getLabelSizeA" c_th2f_getlabelsizea ::+ Ptr RawTH2F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2F.h TH2F_getTitleFontA"- c_th2f_gettitlefonta :: Ptr RawTH2F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getTitleFontA" c_th2f_gettitlefonta ::+ Ptr RawTH2F -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2F.h TH2F_getTitleOffsetA"- c_th2f_gettitleoffseta :: Ptr RawTH2F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getTitleOffsetA" c_th2f_gettitleoffseta ::+ Ptr RawTH2F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2F.h TH2F_getTitleSizeA"- c_th2f_gettitlesizea :: Ptr RawTH2F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getTitleSizeA" c_th2f_gettitlesizea ::+ Ptr RawTH2F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2F.h TH2F_getTickLengthA"- c_th2f_getticklengtha :: Ptr RawTH2F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getTickLengthA" c_th2f_getticklengtha ::+ Ptr RawTH2F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBarOffset"- c_th2f_getbaroffset :: Ptr RawTH2F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetBarOffset" c_th2f_getbaroffset ::+ Ptr RawTH2F -> IO CFloat -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBarWidth"- c_th2f_getbarwidth :: Ptr RawTH2F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetBarWidth" c_th2f_getbarwidth ::+ Ptr RawTH2F -> IO CFloat -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetContour"- c_th2f_getcontour :: Ptr RawTH2F -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetContour" c_th2f_getcontour ::+ Ptr RawTH2F -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetContourLevel"- c_th2f_getcontourlevel :: Ptr RawTH2F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetContourLevel" c_th2f_getcontourlevel ::+ Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetContourLevelPad"- c_th2f_getcontourlevelpad :: Ptr RawTH2F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetContourLevelPad" c_th2f_getcontourlevelpad+ :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBin"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_GetBin" c_th2f_getbin :: Ptr RawTH2F -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinCenter"- c_th2f_getbincenter :: Ptr RawTH2F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetBinCenter" c_th2f_getbincenter ::+ Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinContent1"- c_th2f_getbincontent1 :: Ptr RawTH2F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetBinContent1" c_th2f_getbincontent1 ::+ Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinContent2"- c_th2f_getbincontent2 :: Ptr RawTH2F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetBinContent2" c_th2f_getbincontent2 ::+ Ptr RawTH2F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinContent3"- c_th2f_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetBinContent3" c_th2f_getbincontent3 :: Ptr RawTH2F -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinError1"- c_th2f_getbinerror1 :: Ptr RawTH2F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetBinError1" c_th2f_getbinerror1 ::+ Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinError2"- c_th2f_getbinerror2 :: Ptr RawTH2F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetBinError2" c_th2f_getbinerror2 ::+ Ptr RawTH2F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinError3"- c_th2f_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetBinError3" c_th2f_getbinerror3 :: Ptr RawTH2F -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinLowEdge"- c_th2f_getbinlowedge :: Ptr RawTH2F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetBinLowEdge" c_th2f_getbinlowedge ::+ Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinWidth"- c_th2f_getbinwidth :: Ptr RawTH2F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetBinWidth" c_th2f_getbinwidth ::+ Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetCellContent"- c_th2f_getcellcontent :: Ptr RawTH2F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetCellContent" c_th2f_getcellcontent ::+ Ptr RawTH2F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetCellError"- c_th2f_getcellerror :: Ptr RawTH2F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetCellError" c_th2f_getcellerror ::+ Ptr RawTH2F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetEntries"- c_th2f_getentries :: Ptr RawTH2F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetEntries" c_th2f_getentries ::+ Ptr RawTH2F -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_GetEffectiveEntries" c_th2f_geteffectiveentries :: Ptr RawTH2F -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetFunction"- c_th2f_getfunction :: Ptr RawTH2F -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetFunction" c_th2f_getfunction ::+ Ptr RawTH2F -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetDimension"- c_th2f_getdimension :: Ptr RawTH2F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetDimension" c_th2f_getdimension ::+ Ptr RawTH2F -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetKurtosis"- c_th2f_getkurtosis :: Ptr RawTH2F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetKurtosis" c_th2f_getkurtosis ::+ Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetLowEdge"- c_th2f_getlowedge :: Ptr RawTH2F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetLowEdge" c_th2f_getlowedge ::+ Ptr RawTH2F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_getMaximumTH1"- c_th2f_getmaximumth1 :: Ptr RawTH2F -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getMaximumTH1" c_th2f_getmaximumth1 ::+ Ptr RawTH2F -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMaximumBin"- c_th2f_getmaximumbin :: Ptr RawTH2F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetMaximumBin" c_th2f_getmaximumbin ::+ Ptr RawTH2F -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMaximumStored"- c_th2f_getmaximumstored :: Ptr RawTH2F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetMaximumStored" c_th2f_getmaximumstored ::+ Ptr RawTH2F -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_getMinimumTH1"- c_th2f_getminimumth1 :: Ptr RawTH2F -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getMinimumTH1" c_th2f_getminimumth1 ::+ Ptr RawTH2F -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMinimumBin"- c_th2f_getminimumbin :: Ptr RawTH2F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetMinimumBin" c_th2f_getminimumbin ::+ Ptr RawTH2F -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMinimumStored"- c_th2f_getminimumstored :: Ptr RawTH2F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetMinimumStored" c_th2f_getminimumstored ::+ Ptr RawTH2F -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMean"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_GetMean" c_th2f_getmean :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMeanError"- c_th2f_getmeanerror :: Ptr RawTH2F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetMeanError" c_th2f_getmeanerror ::+ Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_GetNbinsX" c_th2f_getnbinsx :: Ptr RawTH2F -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_GetNbinsY" c_th2f_getnbinsy :: Ptr RawTH2F -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_GetNbinsZ" c_th2f_getnbinsz :: Ptr RawTH2F -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_getQuantilesTH1"- c_th2f_getquantilesth1 ::- Ptr RawTH2F -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_getQuantilesTH1" c_th2f_getquantilesth1 ::+ Ptr RawTH2F -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetRandom"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_GetRandom" c_th2f_getrandom :: Ptr RawTH2F -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetStats"- c_th2f_getstats :: Ptr RawTH2F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_GetStats"+ c_th2f_getstats :: Ptr RawTH2F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetSumOfWeights"- c_th2f_getsumofweights :: Ptr RawTH2F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetSumOfWeights" c_th2f_getsumofweights ::+ Ptr RawTH2F -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetSumw2"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_GetSumw2" c_th2f_getsumw2 :: Ptr RawTH2F -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_GetSumw2N" c_th2f_getsumw2n :: Ptr RawTH2F -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetRMS"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_GetRMS" c_th2f_getrms :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetRMSError"- c_th2f_getrmserror :: Ptr RawTH2F -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH2F.h TH2F_GetSkewness"- c_th2f_getskewness :: Ptr RawTH2F -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH2F.h TH2F_integral1"- c_th2f_integral1 ::- Ptr RawTH2F -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH2F.h TH2F_interpolate1"- c_th2f_interpolate1 :: Ptr RawTH2F -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetRMSError" c_th2f_getrmserror ::+ Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_interpolate2"- c_th2f_interpolate2 ::- Ptr RawTH2F -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetSkewness" c_th2f_getskewness ::+ Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_interpolate3"- c_th2f_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_interpolate3" c_th2f_interpolate3 :: Ptr RawTH2F -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_KolmogorovTest"- c_th2f_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_KolmogorovTest" c_th2f_kolmogorovtest :: Ptr RawTH2F -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH2F.h TH2F_LabelsDeflate"- c_th2f_labelsdeflate :: Ptr RawTH2F -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_LabelsDeflate" c_th2f_labelsdeflate ::+ Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_LabelsInflate"- c_th2f_labelsinflate :: Ptr RawTH2F -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_LabelsInflate" c_th2f_labelsinflate ::+ Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_LabelsOption"- c_th2f_labelsoption :: Ptr RawTH2F -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_LabelsOption" c_th2f_labelsoption ::+ Ptr RawTH2F -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_multiflyF"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_multiflyF" c_th2f_multiflyf :: Ptr RawTH2F -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_Multiply"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Multiply" c_th2f_multiply :: Ptr RawTH2F -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_PutStats"- c_th2f_putstats :: Ptr RawTH2F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_PutStats"+ c_th2f_putstats :: Ptr RawTH2F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_Rebin" c_th2f_rebin- ::- Ptr RawTH2F -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Rebin"+ c_th2f_rebin ::+ Ptr RawTH2F -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2F.h TH2F_RebinAxis"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_RebinAxis" c_th2f_rebinaxis :: Ptr RawTH2F -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_Rebuild"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Rebuild" c_th2f_rebuild :: Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_RecursiveRemove"- c_th2f_recursiveremove :: Ptr RawTH2F -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_RecursiveRemove" c_th2f_recursiveremove ::+ Ptr RawTH2F -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_Reset" c_th2f_reset- :: Ptr RawTH2F -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Reset"+ c_th2f_reset :: Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_ResetStats"- c_th2f_resetstats :: Ptr RawTH2F -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_ResetStats" c_th2f_resetstats ::+ Ptr RawTH2F -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_Scale" c_th2f_scale- :: Ptr RawTH2F -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Scale"+ c_th2f_scale :: Ptr RawTH2F -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setAxisColorA"- c_th2f_setaxiscolora :: Ptr RawTH2F -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_setAxisColorA" c_th2f_setaxiscolora ::+ Ptr RawTH2F -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetAxisRange"- c_th2f_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetAxisRange" c_th2f_setaxisrange :: Ptr RawTH2F -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetBarOffset"- c_th2f_setbaroffset :: Ptr RawTH2F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetBarOffset" c_th2f_setbaroffset ::+ Ptr RawTH2F -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetBarWidth"- c_th2f_setbarwidth :: Ptr RawTH2F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetBarWidth" c_th2f_setbarwidth ::+ Ptr RawTH2F -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setBinContent1"- c_th2f_setbincontent1 :: Ptr RawTH2F -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_setBinContent1" c_th2f_setbincontent1 ::+ Ptr RawTH2F -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setBinContent2"- c_th2f_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_setBinContent2" c_th2f_setbincontent2 :: Ptr RawTH2F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setBinContent3"- c_th2f_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_setBinContent3" c_th2f_setbincontent3 :: Ptr RawTH2F -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setBinError1"- c_th2f_setbinerror1 :: Ptr RawTH2F -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_setBinError1" c_th2f_setbinerror1 ::+ Ptr RawTH2F -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setBinError2"- c_th2f_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_setBinError2" c_th2f_setbinerror2 :: Ptr RawTH2F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setBinError3"- c_th2f_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_setBinError3" c_th2f_setbinerror3 :: Ptr RawTH2F -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setBins1"- c_th2f_setbins1 :: Ptr RawTH2F -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_setBins1"+ c_th2f_setbins1 :: Ptr RawTH2F -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setBins2"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_setBins2" c_th2f_setbins2 ::- Ptr RawTH2F ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH2F -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setBins3"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_setBins3" c_th2f_setbins3 :: Ptr RawTH2F -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetBinsLength"- c_th2f_setbinslength :: Ptr RawTH2F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetBinsLength" c_th2f_setbinslength ::+ Ptr RawTH2F -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetBuffer"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_SetBuffer" c_th2f_setbuffer :: Ptr RawTH2F -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetCellContent"- c_th2f_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetCellContent" c_th2f_setcellcontent :: Ptr RawTH2F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetContent"- c_th2f_setcontent :: Ptr RawTH2F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetContent" c_th2f_setcontent ::+ Ptr RawTH2F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetContour"- c_th2f_setcontour :: Ptr RawTH2F -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetContour" c_th2f_setcontour ::+ Ptr RawTH2F -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetContourLevel"- c_th2f_setcontourlevel :: Ptr RawTH2F -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetContourLevel" c_th2f_setcontourlevel ::+ Ptr RawTH2F -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetDirectory"- c_th2f_setdirectory :: Ptr RawTH2F -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetDirectory" c_th2f_setdirectory ::+ Ptr RawTH2F -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetEntries"- c_th2f_setentries :: Ptr RawTH2F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetEntries" c_th2f_setentries ::+ Ptr RawTH2F -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetError"- c_th2f_seterror :: Ptr RawTH2F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_SetError"+ c_th2f_seterror :: Ptr RawTH2F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setLabelColorA"- c_th2f_setlabelcolora :: Ptr RawTH2F -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_setLabelColorA" c_th2f_setlabelcolora ::+ Ptr RawTH2F -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setLabelSizeA"- c_th2f_setlabelsizea :: Ptr RawTH2F -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_setLabelSizeA" c_th2f_setlabelsizea ::+ Ptr RawTH2F -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setLabelFontA"- c_th2f_setlabelfonta :: Ptr RawTH2F -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_setLabelFontA" c_th2f_setlabelfonta ::+ Ptr RawTH2F -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_setLabelOffsetA"- c_th2f_setlabeloffseta ::- Ptr RawTH2F -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_setLabelOffsetA" c_th2f_setlabeloffseta ::+ Ptr RawTH2F -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetMaximum"- c_th2f_setmaximum :: Ptr RawTH2F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetMaximum" c_th2f_setmaximum ::+ Ptr RawTH2F -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetMinimum"- c_th2f_setminimum :: Ptr RawTH2F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetMinimum" c_th2f_setminimum ::+ Ptr RawTH2F -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetNormFactor"- c_th2f_setnormfactor :: Ptr RawTH2F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetNormFactor" c_th2f_setnormfactor ::+ Ptr RawTH2F -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetStats"- c_th2f_setstats :: Ptr RawTH2F -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_SetStats"+ c_th2f_setstats :: Ptr RawTH2F -> CBool -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetOption"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_SetOption" c_th2f_setoption :: Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetXTitle"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_SetXTitle" c_th2f_setxtitle :: Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetYTitle"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_SetYTitle" c_th2f_setytitle :: Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetZTitle"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_SetZTitle" c_th2f_setztitle :: Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_ShowBackground"- c_th2f_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_ShowBackground" c_th2f_showbackground :: Ptr RawTH2F -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2F.h TH2F_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_ShowPeaks" c_th2f_showpeaks :: Ptr RawTH2F -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_Smooth"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Smooth" c_th2f_smooth :: Ptr RawTH2F -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_Sumw2" c_th2f_sumw2- :: Ptr RawTH2F -> IO ()+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Sumw2"+ c_th2f_sumw2 :: Ptr RawTH2F -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetName"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_SetName" c_th2f_setname :: Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetNameTitle"- c_th2f_setnametitle :: Ptr RawTH2F -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetNameTitle" c_th2f_setnametitle ::+ Ptr RawTH2F -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetTitle"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_SetTitle" c_th2f_settitle :: Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetLineColor"- c_th2f_getlinecolor :: Ptr RawTH2F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetLineColor" c_th2f_getlinecolor ::+ Ptr RawTH2F -> IO CShort -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetLineStyle"- c_th2f_getlinestyle :: Ptr RawTH2F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetLineStyle" c_th2f_getlinestyle ::+ Ptr RawTH2F -> IO CShort -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetLineWidth"- c_th2f_getlinewidth :: Ptr RawTH2F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetLineWidth" c_th2f_getlinewidth ::+ Ptr RawTH2F -> IO CShort -foreign import ccall safe "HROOTHistTH2F.h TH2F_ResetAttLine"- c_th2f_resetattline :: Ptr RawTH2F -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_ResetAttLine" c_th2f_resetattline ::+ Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetLineAttributes"- c_th2f_setlineattributes :: Ptr RawTH2F -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetLineAttributes" c_th2f_setlineattributes+ :: Ptr RawTH2F -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetLineColor"- c_th2f_setlinecolor :: Ptr RawTH2F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetLineColor" c_th2f_setlinecolor ::+ Ptr RawTH2F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetLineStyle"- c_th2f_setlinestyle :: Ptr RawTH2F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetLineStyle" c_th2f_setlinestyle ::+ Ptr RawTH2F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetLineWidth"- c_th2f_setlinewidth :: Ptr RawTH2F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetLineWidth" c_th2f_setlinewidth ::+ Ptr RawTH2F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetFillColor"- c_th2f_setfillcolor :: Ptr RawTH2F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetFillColor" c_th2f_setfillcolor ::+ Ptr RawTH2F -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetFillStyle"- c_th2f_setfillstyle :: Ptr RawTH2F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetFillStyle" c_th2f_setfillstyle ::+ Ptr RawTH2F -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMarkerColor"- c_th2f_getmarkercolor :: Ptr RawTH2F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetMarkerColor" c_th2f_getmarkercolor ::+ Ptr RawTH2F -> IO CShort -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMarkerStyle"- c_th2f_getmarkerstyle :: Ptr RawTH2F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetMarkerStyle" c_th2f_getmarkerstyle ::+ Ptr RawTH2F -> IO CShort -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMarkerSize"- c_th2f_getmarkersize :: Ptr RawTH2F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_GetMarkerSize" c_th2f_getmarkersize ::+ Ptr RawTH2F -> IO CFloat -foreign import ccall safe "HROOTHistTH2F.h TH2F_ResetAttMarker"- c_th2f_resetattmarker :: Ptr RawTH2F -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_ResetAttMarker" c_th2f_resetattmarker ::+ Ptr RawTH2F -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_SetMarkerAttributes" c_th2f_setmarkerattributes :: Ptr RawTH2F -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetMarkerColor"- c_th2f_setmarkercolor :: Ptr RawTH2F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetMarkerColor" c_th2f_setmarkercolor ::+ Ptr RawTH2F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetMarkerStyle"- c_th2f_setmarkerstyle :: Ptr RawTH2F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetMarkerStyle" c_th2f_setmarkerstyle ::+ Ptr RawTH2F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SetMarkerSize"- c_th2f_setmarkersize :: Ptr RawTH2F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_SetMarkerSize" c_th2f_setmarkersize ::+ Ptr RawTH2F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_Draw" c_th2f_draw- :: Ptr RawTH2F -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Clear"+ c_th2f_clear :: Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_FindObject"- c_th2f_findobject :: Ptr RawTH2F -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Draw"+ c_th2f_draw :: Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_GetName"+foreign import ccall interruptible+ "HROOTHistTH2F.h TH2F_FindObject" c_th2f_findobject ::+ Ptr RawTH2F -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH2F.h TH2F_GetName" c_th2f_getname :: Ptr RawTH2F -> IO CString -foreign import ccall safe "HROOTHistTH2F.h TH2F_IsA" c_th2f_isa ::- Ptr RawTH2F -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_IsA"+ c_th2f_isa :: Ptr RawTH2F -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH2F.h TH2F_Paint" c_th2f_paint- :: Ptr RawTH2F -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Paint"+ c_th2f_paint :: Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_printObj"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_printObj" c_th2f_printobj :: Ptr RawTH2F -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_SaveAs"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_SaveAs" c_th2f_saveas :: Ptr RawTH2F -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_Write" c_th2f_write- :: Ptr RawTH2F -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Write"+ c_th2f_write :: Ptr RawTH2F -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2F.h TH2F_delete"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_Write_"+ c_th2f_write_ :: Ptr RawTH2F -> IO CInt++foreign import ccall interruptible "HROOTHistTH2F.h TH2F_delete" c_th2f_delete :: Ptr RawTH2F -> IO () -foreign import ccall safe "HROOTHistTH2F.h TH2F_newTH2F"+foreign import ccall interruptible "HROOTHistTH2F.h TH2F_GetAt"+ c_th2f_getat :: Ptr RawTH2F -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH2F.h TH2F_SetArray"+ c_th2f_setarray :: Ptr RawTH2F -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH2F.h TH2F_SetAt"+ c_th2f_setat :: Ptr RawTH2F -> CDouble -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH2F.h TH2F_newTH2F" c_th2f_newth2f :: CString -> CString ->
src/HROOT/Hist/TH2F/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH2F.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH2F.RawType import HROOT.Hist.TH2F.FFI import HROOT.Hist.TH2F.Interface import HROOT.Hist.TH2F.Cast+import HROOT.Hist.TH2F.RawType+import HROOT.Hist.TH2F.Cast+import HROOT.Hist.TH2F.Interface import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Cast import HROOT.Hist.TH1D.Interface@@ -57,16 +66,16 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH2F TH2F+instance () => ITH2F (TH2F) where -instance ITH2 TH2F where+instance () => ITH2 (TH2F) where fill2 = xform2 c_th2f_fill2 fill2w = xform3 c_th2f_fill2w fillN2 = xform5 c_th2f_filln2@@ -84,13 +93,12 @@ setShowProjectionX = xform1 c_th2f_setshowprojectionx setShowProjectionY = xform1 c_th2f_setshowprojectiony -instance ITArrayF TH2F+instance () => ITArrayF (TH2F) where -instance ITH1 TH2F where+instance () => ITH1 (TH2F) where add = xform2 c_th2f_add addBinContent = xform2 c_th2f_addbincontent chi2Test = xform3 c_th2f_chi2test- computeIntegral = xform0 c_th2f_computeintegral directoryAutoAdd = xform1 c_th2f_directoryautoadd divide = xform5 c_th2f_divide drawCopyTH1 = xform1 c_th2f_drawcopyth1@@ -162,9 +170,6 @@ getRMS = xform1 c_th2f_getrms getRMSError = xform1 c_th2f_getrmserror getSkewness = xform1 c_th2f_getskewness- integral1 = xform3 c_th2f_integral1- interpolate1 = xform1 c_th2f_interpolate1- interpolate2 = xform2 c_th2f_interpolate2 interpolate3 = xform3 c_th2f_interpolate3 kolmogorovTest = xform2 c_th2f_kolmogorovtest labelsDeflate = xform1 c_th2f_labelsdeflate@@ -219,12 +224,12 @@ smooth = xform2 c_th2f_smooth sumw2 = xform0 c_th2f_sumw2 -instance ITNamed TH2F where+instance () => ITNamed (TH2F) where setName = xform1 c_th2f_setname setNameTitle = xform2 c_th2f_setnametitle setTitle = xform1 c_th2f_settitle -instance ITAttLine TH2F where+instance () => ITAttLine (TH2F) where getLineColor = xform0 c_th2f_getlinecolor getLineStyle = xform0 c_th2f_getlinestyle getLineWidth = xform0 c_th2f_getlinewidth@@ -234,11 +239,11 @@ setLineStyle = xform1 c_th2f_setlinestyle setLineWidth = xform1 c_th2f_setlinewidth -instance ITAttFill TH2F where+instance () => ITAttFill (TH2F) where setFillColor = xform1 c_th2f_setfillcolor setFillStyle = xform1 c_th2f_setfillstyle -instance ITAttMarker TH2F where+instance () => ITAttMarker (TH2F) where getMarkerColor = xform0 c_th2f_getmarkercolor getMarkerStyle = xform0 c_th2f_getmarkerstyle getMarkerSize = xform0 c_th2f_getmarkersize@@ -248,7 +253,8 @@ setMarkerStyle = xform1 c_th2f_setmarkerstyle setMarkerSize = xform1 c_th2f_setmarkersize -instance ITObject TH2F where+instance () => ITObject (TH2F) where+ clear = xform1 c_th2f_clear draw = xform1 c_th2f_draw findObject = xform1 c_th2f_findobject getName = xform0 c_th2f_getname@@ -257,11 +263,15 @@ printObj = xform1 c_th2f_printobj saveAs = xform2 c_th2f_saveas write = xform3 c_th2f_write+ write_ = xform0 c_th2f_write_ -instance IDeletable TH2F where+instance () => IDeletable (TH2F) where delete = xform0 c_th2f_delete -instance ITArray TH2F+instance () => ITArray (TH2F) where+ getAt = xform1 c_th2f_getat+ setArray = xform1 c_th2f_setarray+ setAt = xform2 c_th2f_setat newTH2F :: (Castable c1 CString, Castable c0 CString) =>
src/HROOT/Hist/TH2F/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH2F.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH2.Interface import HROOT.Core.TArrayF.Interface -class (ITH2 a, ITArrayF a) => ITH2F a+class (ITH2 a, ITArrayF a) => ITH2F a where upcastTH2F :: forall a . (FPtr a, ITH2F a) => a -> TH2F upcastTH2F h
src/HROOT/Hist/TH2F/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH2F newtype TH2F = TH2F (Ptr RawTH2F)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH2F where+instance () => FPtr (TH2F) where type Raw TH2F = RawTH2F get_fptr (TH2F ptr) = ptr cast_fptr_to_obj = TH2F
src/HROOT/Hist/TH2I/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH2I.RawType import HROOT.Hist.TH2I.Interface -instance (ITH2I a, FPtr a) => Castable a (Ptr RawTH2I) where+instance (ITH2I a, FPtr a) => Castable (a) (Ptr RawTH2I) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH2I (Ptr RawTH2I) where+instance () => Castable (TH2I) (Ptr RawTH2I) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH2I/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH2I.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH2I.RawType+import HROOT.Hist.TH2I.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH2.RawType import HROOT.Hist.TH1.RawType@@ -14,589 +17,678 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH2I.h TH2I_fill2" c_th2i_fill2- :: Ptr RawTH2I -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_fill2"+ c_th2i_fill2 :: Ptr RawTH2I -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_fill2w"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_fill2w" c_th2i_fill2w :: Ptr RawTH2I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_fillN2"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_fillN2" c_th2i_filln2 :: Ptr RawTH2I ->- CInt ->- (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_fillRandom2"- c_th2i_fillrandom2 :: Ptr RawTH2I -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_fillRandom2" c_th2i_fillrandom2 ::+ Ptr RawTH2I -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_findFirstBinAbove2"- c_th2i_findfirstbinabove2 ::- Ptr RawTH2I -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_findFirstBinAbove2" c_th2i_findfirstbinabove2+ :: Ptr RawTH2I -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_findLastBinAbove2"- c_th2i_findlastbinabove2 ::- Ptr RawTH2I -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_findLastBinAbove2" c_th2i_findlastbinabove2+ :: Ptr RawTH2I -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_FitSlicesX"- c_th2i_fitslicesx ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_FitSlicesX" c_th2i_fitslicesx :: Ptr RawTH2I -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_FitSlicesY"- c_th2i_fitslicesy ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_FitSlicesY" c_th2i_fitslicesy :: Ptr RawTH2I -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_getCorrelationFactor2" c_th2i_getcorrelationfactor2 :: Ptr RawTH2I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_getCovariance2"- c_th2i_getcovariance2 :: Ptr RawTH2I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getCovariance2" c_th2i_getcovariance2 ::+ Ptr RawTH2I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_integral2"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_integral2" c_th2i_integral2 :: Ptr RawTH2I -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_rebinX2"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_rebinX2" c_th2i_rebinx2 :: Ptr RawTH2I -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2I.h TH2I_rebinY2"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_rebinY2" c_th2i_rebiny2 :: Ptr RawTH2I -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2I.h TH2I_Rebin2D"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Rebin2D" c_th2i_rebin2d :: Ptr RawTH2I -> CInt -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetShowProjectionX"- c_th2i_setshowprojectionx :: Ptr RawTH2I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetShowProjectionX" c_th2i_setshowprojectionx+ :: Ptr RawTH2I -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetShowProjectionY"- c_th2i_setshowprojectiony :: Ptr RawTH2I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetShowProjectionY" c_th2i_setshowprojectiony+ :: Ptr RawTH2I -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_Add" c_th2i_add ::- Ptr RawTH2I -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Add"+ c_th2i_add :: Ptr RawTH2I -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_AddBinContent"- c_th2i_addbincontent :: Ptr RawTH2I -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_AddBinContent" c_th2i_addbincontent ::+ Ptr RawTH2I -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_Chi2Test"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Chi2Test" c_th2i_chi2test ::- Ptr RawTH2I -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH2I.h TH2I_ComputeIntegral"- c_th2i_computeintegral :: Ptr RawTH2I -> IO CDouble+ Ptr RawTH2I -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_DirectoryAutoAdd"- c_th2i_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_DirectoryAutoAdd" c_th2i_directoryautoadd :: Ptr RawTH2I -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_Divide"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Divide" c_th2i_divide :: Ptr RawTH2I -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_drawCopyTH1"- c_th2i_drawcopyth1 :: Ptr RawTH2I -> CString -> IO (Ptr RawTH2I)+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_drawCopyTH1" c_th2i_drawcopyth1 ::+ Ptr RawTH2I -> CString -> IO (Ptr RawTH2I) -foreign import ccall safe "HROOTHistTH2I.h TH2I_DrawNormalized"- c_th2i_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_DrawNormalized" c_th2i_drawnormalized :: Ptr RawTH2I -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2I.h TH2I_drawPanelTH1"- c_th2i_drawpanelth1 :: Ptr RawTH2I -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_drawPanelTH1" c_th2i_drawpanelth1 ::+ Ptr RawTH2I -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_BufferEmpty"- c_th2i_bufferempty :: Ptr RawTH2I -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_BufferEmpty" c_th2i_bufferempty ::+ Ptr RawTH2I -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_evalF" c_th2i_evalf- :: Ptr RawTH2I -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_evalF"+ c_th2i_evalf :: Ptr RawTH2I -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_FFT" c_th2i_fft ::+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_FFT"+ c_th2i_fft :: Ptr RawTH2I -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2I.h TH2I_fill1" c_th2i_fill1- :: Ptr RawTH2I -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_fill1"+ c_th2i_fill1 :: Ptr RawTH2I -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_fill1w"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_fill1w" c_th2i_fill1w :: Ptr RawTH2I -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_fillN1"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_fillN1" c_th2i_filln1 ::- Ptr RawTH2I ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH2I -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_FillRandom"- c_th2i_fillrandom :: Ptr RawTH2I -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_FillRandom" c_th2i_fillrandom ::+ Ptr RawTH2I -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_FindBin"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_FindBin" c_th2i_findbin :: Ptr RawTH2I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_FindFixBin"- c_th2i_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_FindFixBin" c_th2i_findfixbin :: Ptr RawTH2I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_FindFirstBinAbove"- c_th2i_findfirstbinabove ::- Ptr RawTH2I -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_FindFirstBinAbove" c_th2i_findfirstbinabove+ :: Ptr RawTH2I -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_FindLastBinAbove"- c_th2i_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_FindLastBinAbove" c_th2i_findlastbinabove :: Ptr RawTH2I -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_Fit" c_th2i_fit ::+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Fit"+ c_th2i_fit :: Ptr RawTH2I -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_FitPanelTH1"- c_th2i_fitpanelth1 :: Ptr RawTH2I -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_FitPanelTH1" c_th2i_fitpanelth1 ::+ Ptr RawTH2I -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_getNdivisionA"- c_th2i_getndivisiona :: Ptr RawTH2I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getNdivisionA" c_th2i_getndivisiona ::+ Ptr RawTH2I -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_getAxisColorA"- c_th2i_getaxiscolora :: Ptr RawTH2I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getAxisColorA" c_th2i_getaxiscolora ::+ Ptr RawTH2I -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2I.h TH2I_getLabelColorA"- c_th2i_getlabelcolora :: Ptr RawTH2I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getLabelColorA" c_th2i_getlabelcolora ::+ Ptr RawTH2I -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2I.h TH2I_getLabelFontA"- c_th2i_getlabelfonta :: Ptr RawTH2I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getLabelFontA" c_th2i_getlabelfonta ::+ Ptr RawTH2I -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2I.h TH2I_getLabelOffsetA"- c_th2i_getlabeloffseta :: Ptr RawTH2I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getLabelOffsetA" c_th2i_getlabeloffseta ::+ Ptr RawTH2I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2I.h TH2I_getLabelSizeA"- c_th2i_getlabelsizea :: Ptr RawTH2I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getLabelSizeA" c_th2i_getlabelsizea ::+ Ptr RawTH2I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2I.h TH2I_getTitleFontA"- c_th2i_gettitlefonta :: Ptr RawTH2I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getTitleFontA" c_th2i_gettitlefonta ::+ Ptr RawTH2I -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2I.h TH2I_getTitleOffsetA"- c_th2i_gettitleoffseta :: Ptr RawTH2I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getTitleOffsetA" c_th2i_gettitleoffseta ::+ Ptr RawTH2I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2I.h TH2I_getTitleSizeA"- c_th2i_gettitlesizea :: Ptr RawTH2I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getTitleSizeA" c_th2i_gettitlesizea ::+ Ptr RawTH2I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2I.h TH2I_getTickLengthA"- c_th2i_getticklengtha :: Ptr RawTH2I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getTickLengthA" c_th2i_getticklengtha ::+ Ptr RawTH2I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBarOffset"- c_th2i_getbaroffset :: Ptr RawTH2I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetBarOffset" c_th2i_getbaroffset ::+ Ptr RawTH2I -> IO CFloat -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBarWidth"- c_th2i_getbarwidth :: Ptr RawTH2I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetBarWidth" c_th2i_getbarwidth ::+ Ptr RawTH2I -> IO CFloat -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetContour"- c_th2i_getcontour :: Ptr RawTH2I -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetContour" c_th2i_getcontour ::+ Ptr RawTH2I -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetContourLevel"- c_th2i_getcontourlevel :: Ptr RawTH2I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetContourLevel" c_th2i_getcontourlevel ::+ Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetContourLevelPad"- c_th2i_getcontourlevelpad :: Ptr RawTH2I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetContourLevelPad" c_th2i_getcontourlevelpad+ :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBin"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_GetBin" c_th2i_getbin :: Ptr RawTH2I -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinCenter"- c_th2i_getbincenter :: Ptr RawTH2I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetBinCenter" c_th2i_getbincenter ::+ Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinContent1"- c_th2i_getbincontent1 :: Ptr RawTH2I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetBinContent1" c_th2i_getbincontent1 ::+ Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinContent2"- c_th2i_getbincontent2 :: Ptr RawTH2I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetBinContent2" c_th2i_getbincontent2 ::+ Ptr RawTH2I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinContent3"- c_th2i_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetBinContent3" c_th2i_getbincontent3 :: Ptr RawTH2I -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinError1"- c_th2i_getbinerror1 :: Ptr RawTH2I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetBinError1" c_th2i_getbinerror1 ::+ Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinError2"- c_th2i_getbinerror2 :: Ptr RawTH2I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetBinError2" c_th2i_getbinerror2 ::+ Ptr RawTH2I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinError3"- c_th2i_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetBinError3" c_th2i_getbinerror3 :: Ptr RawTH2I -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinLowEdge"- c_th2i_getbinlowedge :: Ptr RawTH2I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetBinLowEdge" c_th2i_getbinlowedge ::+ Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinWidth"- c_th2i_getbinwidth :: Ptr RawTH2I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetBinWidth" c_th2i_getbinwidth ::+ Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetCellContent"- c_th2i_getcellcontent :: Ptr RawTH2I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetCellContent" c_th2i_getcellcontent ::+ Ptr RawTH2I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetCellError"- c_th2i_getcellerror :: Ptr RawTH2I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetCellError" c_th2i_getcellerror ::+ Ptr RawTH2I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetEntries"- c_th2i_getentries :: Ptr RawTH2I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetEntries" c_th2i_getentries ::+ Ptr RawTH2I -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_GetEffectiveEntries" c_th2i_geteffectiveentries :: Ptr RawTH2I -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetFunction"- c_th2i_getfunction :: Ptr RawTH2I -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetFunction" c_th2i_getfunction ::+ Ptr RawTH2I -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetDimension"- c_th2i_getdimension :: Ptr RawTH2I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetDimension" c_th2i_getdimension ::+ Ptr RawTH2I -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetKurtosis"- c_th2i_getkurtosis :: Ptr RawTH2I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetKurtosis" c_th2i_getkurtosis ::+ Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetLowEdge"- c_th2i_getlowedge :: Ptr RawTH2I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetLowEdge" c_th2i_getlowedge ::+ Ptr RawTH2I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_getMaximumTH1"- c_th2i_getmaximumth1 :: Ptr RawTH2I -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getMaximumTH1" c_th2i_getmaximumth1 ::+ Ptr RawTH2I -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMaximumBin"- c_th2i_getmaximumbin :: Ptr RawTH2I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetMaximumBin" c_th2i_getmaximumbin ::+ Ptr RawTH2I -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMaximumStored"- c_th2i_getmaximumstored :: Ptr RawTH2I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetMaximumStored" c_th2i_getmaximumstored ::+ Ptr RawTH2I -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_getMinimumTH1"- c_th2i_getminimumth1 :: Ptr RawTH2I -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getMinimumTH1" c_th2i_getminimumth1 ::+ Ptr RawTH2I -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMinimumBin"- c_th2i_getminimumbin :: Ptr RawTH2I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetMinimumBin" c_th2i_getminimumbin ::+ Ptr RawTH2I -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMinimumStored"- c_th2i_getminimumstored :: Ptr RawTH2I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetMinimumStored" c_th2i_getminimumstored ::+ Ptr RawTH2I -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMean"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_GetMean" c_th2i_getmean :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMeanError"- c_th2i_getmeanerror :: Ptr RawTH2I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetMeanError" c_th2i_getmeanerror ::+ Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_GetNbinsX" c_th2i_getnbinsx :: Ptr RawTH2I -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_GetNbinsY" c_th2i_getnbinsy :: Ptr RawTH2I -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_GetNbinsZ" c_th2i_getnbinsz :: Ptr RawTH2I -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_getQuantilesTH1"- c_th2i_getquantilesth1 ::- Ptr RawTH2I -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_getQuantilesTH1" c_th2i_getquantilesth1 ::+ Ptr RawTH2I -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetRandom"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_GetRandom" c_th2i_getrandom :: Ptr RawTH2I -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetStats"- c_th2i_getstats :: Ptr RawTH2I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_GetStats"+ c_th2i_getstats :: Ptr RawTH2I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetSumOfWeights"- c_th2i_getsumofweights :: Ptr RawTH2I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetSumOfWeights" c_th2i_getsumofweights ::+ Ptr RawTH2I -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetSumw2"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_GetSumw2" c_th2i_getsumw2 :: Ptr RawTH2I -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_GetSumw2N" c_th2i_getsumw2n :: Ptr RawTH2I -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetRMS"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_GetRMS" c_th2i_getrms :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetRMSError"- c_th2i_getrmserror :: Ptr RawTH2I -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH2I.h TH2I_GetSkewness"- c_th2i_getskewness :: Ptr RawTH2I -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH2I.h TH2I_integral1"- c_th2i_integral1 ::- Ptr RawTH2I -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH2I.h TH2I_interpolate1"- c_th2i_interpolate1 :: Ptr RawTH2I -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetRMSError" c_th2i_getrmserror ::+ Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_interpolate2"- c_th2i_interpolate2 ::- Ptr RawTH2I -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetSkewness" c_th2i_getskewness ::+ Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_interpolate3"- c_th2i_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_interpolate3" c_th2i_interpolate3 :: Ptr RawTH2I -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_KolmogorovTest"- c_th2i_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_KolmogorovTest" c_th2i_kolmogorovtest :: Ptr RawTH2I -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH2I.h TH2I_LabelsDeflate"- c_th2i_labelsdeflate :: Ptr RawTH2I -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_LabelsDeflate" c_th2i_labelsdeflate ::+ Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_LabelsInflate"- c_th2i_labelsinflate :: Ptr RawTH2I -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_LabelsInflate" c_th2i_labelsinflate ::+ Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_LabelsOption"- c_th2i_labelsoption :: Ptr RawTH2I -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_LabelsOption" c_th2i_labelsoption ::+ Ptr RawTH2I -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_multiflyF"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_multiflyF" c_th2i_multiflyf :: Ptr RawTH2I -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_Multiply"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Multiply" c_th2i_multiply :: Ptr RawTH2I -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_PutStats"- c_th2i_putstats :: Ptr RawTH2I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_PutStats"+ c_th2i_putstats :: Ptr RawTH2I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_Rebin" c_th2i_rebin- ::- Ptr RawTH2I -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Rebin"+ c_th2i_rebin ::+ Ptr RawTH2I -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2I.h TH2I_RebinAxis"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_RebinAxis" c_th2i_rebinaxis :: Ptr RawTH2I -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_Rebuild"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Rebuild" c_th2i_rebuild :: Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_RecursiveRemove"- c_th2i_recursiveremove :: Ptr RawTH2I -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_RecursiveRemove" c_th2i_recursiveremove ::+ Ptr RawTH2I -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_Reset" c_th2i_reset- :: Ptr RawTH2I -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Reset"+ c_th2i_reset :: Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_ResetStats"- c_th2i_resetstats :: Ptr RawTH2I -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_ResetStats" c_th2i_resetstats ::+ Ptr RawTH2I -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_Scale" c_th2i_scale- :: Ptr RawTH2I -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Scale"+ c_th2i_scale :: Ptr RawTH2I -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setAxisColorA"- c_th2i_setaxiscolora :: Ptr RawTH2I -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_setAxisColorA" c_th2i_setaxiscolora ::+ Ptr RawTH2I -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetAxisRange"- c_th2i_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetAxisRange" c_th2i_setaxisrange :: Ptr RawTH2I -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetBarOffset"- c_th2i_setbaroffset :: Ptr RawTH2I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetBarOffset" c_th2i_setbaroffset ::+ Ptr RawTH2I -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetBarWidth"- c_th2i_setbarwidth :: Ptr RawTH2I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetBarWidth" c_th2i_setbarwidth ::+ Ptr RawTH2I -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setBinContent1"- c_th2i_setbincontent1 :: Ptr RawTH2I -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_setBinContent1" c_th2i_setbincontent1 ::+ Ptr RawTH2I -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setBinContent2"- c_th2i_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_setBinContent2" c_th2i_setbincontent2 :: Ptr RawTH2I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setBinContent3"- c_th2i_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_setBinContent3" c_th2i_setbincontent3 :: Ptr RawTH2I -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setBinError1"- c_th2i_setbinerror1 :: Ptr RawTH2I -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_setBinError1" c_th2i_setbinerror1 ::+ Ptr RawTH2I -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setBinError2"- c_th2i_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_setBinError2" c_th2i_setbinerror2 :: Ptr RawTH2I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setBinError3"- c_th2i_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_setBinError3" c_th2i_setbinerror3 :: Ptr RawTH2I -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setBins1"- c_th2i_setbins1 :: Ptr RawTH2I -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_setBins1"+ c_th2i_setbins1 :: Ptr RawTH2I -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setBins2"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_setBins2" c_th2i_setbins2 ::- Ptr RawTH2I ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH2I -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setBins3"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_setBins3" c_th2i_setbins3 :: Ptr RawTH2I -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetBinsLength"- c_th2i_setbinslength :: Ptr RawTH2I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetBinsLength" c_th2i_setbinslength ::+ Ptr RawTH2I -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetBuffer"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_SetBuffer" c_th2i_setbuffer :: Ptr RawTH2I -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetCellContent"- c_th2i_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetCellContent" c_th2i_setcellcontent :: Ptr RawTH2I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetContent"- c_th2i_setcontent :: Ptr RawTH2I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetContent" c_th2i_setcontent ::+ Ptr RawTH2I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetContour"- c_th2i_setcontour :: Ptr RawTH2I -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetContour" c_th2i_setcontour ::+ Ptr RawTH2I -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetContourLevel"- c_th2i_setcontourlevel :: Ptr RawTH2I -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetContourLevel" c_th2i_setcontourlevel ::+ Ptr RawTH2I -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetDirectory"- c_th2i_setdirectory :: Ptr RawTH2I -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetDirectory" c_th2i_setdirectory ::+ Ptr RawTH2I -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetEntries"- c_th2i_setentries :: Ptr RawTH2I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetEntries" c_th2i_setentries ::+ Ptr RawTH2I -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetError"- c_th2i_seterror :: Ptr RawTH2I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_SetError"+ c_th2i_seterror :: Ptr RawTH2I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setLabelColorA"- c_th2i_setlabelcolora :: Ptr RawTH2I -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_setLabelColorA" c_th2i_setlabelcolora ::+ Ptr RawTH2I -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setLabelSizeA"- c_th2i_setlabelsizea :: Ptr RawTH2I -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_setLabelSizeA" c_th2i_setlabelsizea ::+ Ptr RawTH2I -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setLabelFontA"- c_th2i_setlabelfonta :: Ptr RawTH2I -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_setLabelFontA" c_th2i_setlabelfonta ::+ Ptr RawTH2I -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_setLabelOffsetA"- c_th2i_setlabeloffseta ::- Ptr RawTH2I -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_setLabelOffsetA" c_th2i_setlabeloffseta ::+ Ptr RawTH2I -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetMaximum"- c_th2i_setmaximum :: Ptr RawTH2I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetMaximum" c_th2i_setmaximum ::+ Ptr RawTH2I -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetMinimum"- c_th2i_setminimum :: Ptr RawTH2I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetMinimum" c_th2i_setminimum ::+ Ptr RawTH2I -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetNormFactor"- c_th2i_setnormfactor :: Ptr RawTH2I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetNormFactor" c_th2i_setnormfactor ::+ Ptr RawTH2I -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetStats"- c_th2i_setstats :: Ptr RawTH2I -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_SetStats"+ c_th2i_setstats :: Ptr RawTH2I -> CBool -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetOption"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_SetOption" c_th2i_setoption :: Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetXTitle"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_SetXTitle" c_th2i_setxtitle :: Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetYTitle"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_SetYTitle" c_th2i_setytitle :: Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetZTitle"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_SetZTitle" c_th2i_setztitle :: Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_ShowBackground"- c_th2i_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_ShowBackground" c_th2i_showbackground :: Ptr RawTH2I -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2I.h TH2I_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_ShowPeaks" c_th2i_showpeaks :: Ptr RawTH2I -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_Smooth"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Smooth" c_th2i_smooth :: Ptr RawTH2I -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_Sumw2" c_th2i_sumw2- :: Ptr RawTH2I -> IO ()+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Sumw2"+ c_th2i_sumw2 :: Ptr RawTH2I -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetName"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_SetName" c_th2i_setname :: Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetNameTitle"- c_th2i_setnametitle :: Ptr RawTH2I -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetNameTitle" c_th2i_setnametitle ::+ Ptr RawTH2I -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetTitle"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_SetTitle" c_th2i_settitle :: Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetLineColor"- c_th2i_getlinecolor :: Ptr RawTH2I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetLineColor" c_th2i_getlinecolor ::+ Ptr RawTH2I -> IO CShort -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetLineStyle"- c_th2i_getlinestyle :: Ptr RawTH2I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetLineStyle" c_th2i_getlinestyle ::+ Ptr RawTH2I -> IO CShort -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetLineWidth"- c_th2i_getlinewidth :: Ptr RawTH2I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetLineWidth" c_th2i_getlinewidth ::+ Ptr RawTH2I -> IO CShort -foreign import ccall safe "HROOTHistTH2I.h TH2I_ResetAttLine"- c_th2i_resetattline :: Ptr RawTH2I -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_ResetAttLine" c_th2i_resetattline ::+ Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetLineAttributes"- c_th2i_setlineattributes :: Ptr RawTH2I -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetLineAttributes" c_th2i_setlineattributes+ :: Ptr RawTH2I -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetLineColor"- c_th2i_setlinecolor :: Ptr RawTH2I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetLineColor" c_th2i_setlinecolor ::+ Ptr RawTH2I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetLineStyle"- c_th2i_setlinestyle :: Ptr RawTH2I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetLineStyle" c_th2i_setlinestyle ::+ Ptr RawTH2I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetLineWidth"- c_th2i_setlinewidth :: Ptr RawTH2I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetLineWidth" c_th2i_setlinewidth ::+ Ptr RawTH2I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetFillColor"- c_th2i_setfillcolor :: Ptr RawTH2I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetFillColor" c_th2i_setfillcolor ::+ Ptr RawTH2I -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetFillStyle"- c_th2i_setfillstyle :: Ptr RawTH2I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetFillStyle" c_th2i_setfillstyle ::+ Ptr RawTH2I -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMarkerColor"- c_th2i_getmarkercolor :: Ptr RawTH2I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetMarkerColor" c_th2i_getmarkercolor ::+ Ptr RawTH2I -> IO CShort -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMarkerStyle"- c_th2i_getmarkerstyle :: Ptr RawTH2I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetMarkerStyle" c_th2i_getmarkerstyle ::+ Ptr RawTH2I -> IO CShort -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMarkerSize"- c_th2i_getmarkersize :: Ptr RawTH2I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_GetMarkerSize" c_th2i_getmarkersize ::+ Ptr RawTH2I -> IO CFloat -foreign import ccall safe "HROOTHistTH2I.h TH2I_ResetAttMarker"- c_th2i_resetattmarker :: Ptr RawTH2I -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_ResetAttMarker" c_th2i_resetattmarker ::+ Ptr RawTH2I -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_SetMarkerAttributes" c_th2i_setmarkerattributes :: Ptr RawTH2I -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetMarkerColor"- c_th2i_setmarkercolor :: Ptr RawTH2I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetMarkerColor" c_th2i_setmarkercolor ::+ Ptr RawTH2I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetMarkerStyle"- c_th2i_setmarkerstyle :: Ptr RawTH2I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetMarkerStyle" c_th2i_setmarkerstyle ::+ Ptr RawTH2I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SetMarkerSize"- c_th2i_setmarkersize :: Ptr RawTH2I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_SetMarkerSize" c_th2i_setmarkersize ::+ Ptr RawTH2I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_Draw" c_th2i_draw- :: Ptr RawTH2I -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Clear"+ c_th2i_clear :: Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_FindObject"- c_th2i_findobject :: Ptr RawTH2I -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Draw"+ c_th2i_draw :: Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_GetName"+foreign import ccall interruptible+ "HROOTHistTH2I.h TH2I_FindObject" c_th2i_findobject ::+ Ptr RawTH2I -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH2I.h TH2I_GetName" c_th2i_getname :: Ptr RawTH2I -> IO CString -foreign import ccall safe "HROOTHistTH2I.h TH2I_IsA" c_th2i_isa ::- Ptr RawTH2I -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_IsA"+ c_th2i_isa :: Ptr RawTH2I -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH2I.h TH2I_Paint" c_th2i_paint- :: Ptr RawTH2I -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Paint"+ c_th2i_paint :: Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_printObj"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_printObj" c_th2i_printobj :: Ptr RawTH2I -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_SaveAs"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_SaveAs" c_th2i_saveas :: Ptr RawTH2I -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2I.h TH2I_Write" c_th2i_write- :: Ptr RawTH2I -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Write"+ c_th2i_write :: Ptr RawTH2I -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2I.h TH2I_delete"+foreign import ccall interruptible "HROOTHistTH2I.h TH2I_Write_"+ c_th2i_write_ :: Ptr RawTH2I -> IO CInt++foreign import ccall interruptible "HROOTHistTH2I.h TH2I_delete" c_th2i_delete :: Ptr RawTH2I -> IO ()++foreign import ccall interruptible "HROOTHistTH2I.h TH2I_GetAt"+ c_th2i_getat :: Ptr RawTH2I -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH2I.h TH2I_SetArray"+ c_th2i_setarray :: Ptr RawTH2I -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH2I.h TH2I_SetAt"+ c_th2i_setat :: Ptr RawTH2I -> CDouble -> CInt -> IO ()
src/HROOT/Hist/TH2I/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH2I.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH2I.RawType import HROOT.Hist.TH2I.FFI import HROOT.Hist.TH2I.Interface import HROOT.Hist.TH2I.Cast+import HROOT.Hist.TH2I.RawType+import HROOT.Hist.TH2I.Cast+import HROOT.Hist.TH2I.Interface import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Cast import HROOT.Hist.TH1D.Interface@@ -57,16 +66,16 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH2I TH2I+instance () => ITH2I (TH2I) where -instance ITH2 TH2I where+instance () => ITH2 (TH2I) where fill2 = xform2 c_th2i_fill2 fill2w = xform3 c_th2i_fill2w fillN2 = xform5 c_th2i_filln2@@ -84,13 +93,12 @@ setShowProjectionX = xform1 c_th2i_setshowprojectionx setShowProjectionY = xform1 c_th2i_setshowprojectiony -instance ITArrayI TH2I+instance () => ITArrayI (TH2I) where -instance ITH1 TH2I where+instance () => ITH1 (TH2I) where add = xform2 c_th2i_add addBinContent = xform2 c_th2i_addbincontent chi2Test = xform3 c_th2i_chi2test- computeIntegral = xform0 c_th2i_computeintegral directoryAutoAdd = xform1 c_th2i_directoryautoadd divide = xform5 c_th2i_divide drawCopyTH1 = xform1 c_th2i_drawcopyth1@@ -162,9 +170,6 @@ getRMS = xform1 c_th2i_getrms getRMSError = xform1 c_th2i_getrmserror getSkewness = xform1 c_th2i_getskewness- integral1 = xform3 c_th2i_integral1- interpolate1 = xform1 c_th2i_interpolate1- interpolate2 = xform2 c_th2i_interpolate2 interpolate3 = xform3 c_th2i_interpolate3 kolmogorovTest = xform2 c_th2i_kolmogorovtest labelsDeflate = xform1 c_th2i_labelsdeflate@@ -219,12 +224,12 @@ smooth = xform2 c_th2i_smooth sumw2 = xform0 c_th2i_sumw2 -instance ITNamed TH2I where+instance () => ITNamed (TH2I) where setName = xform1 c_th2i_setname setNameTitle = xform2 c_th2i_setnametitle setTitle = xform1 c_th2i_settitle -instance ITAttLine TH2I where+instance () => ITAttLine (TH2I) where getLineColor = xform0 c_th2i_getlinecolor getLineStyle = xform0 c_th2i_getlinestyle getLineWidth = xform0 c_th2i_getlinewidth@@ -234,11 +239,11 @@ setLineStyle = xform1 c_th2i_setlinestyle setLineWidth = xform1 c_th2i_setlinewidth -instance ITAttFill TH2I where+instance () => ITAttFill (TH2I) where setFillColor = xform1 c_th2i_setfillcolor setFillStyle = xform1 c_th2i_setfillstyle -instance ITAttMarker TH2I where+instance () => ITAttMarker (TH2I) where getMarkerColor = xform0 c_th2i_getmarkercolor getMarkerStyle = xform0 c_th2i_getmarkerstyle getMarkerSize = xform0 c_th2i_getmarkersize@@ -248,7 +253,8 @@ setMarkerStyle = xform1 c_th2i_setmarkerstyle setMarkerSize = xform1 c_th2i_setmarkersize -instance ITObject TH2I where+instance () => ITObject (TH2I) where+ clear = xform1 c_th2i_clear draw = xform1 c_th2i_draw findObject = xform1 c_th2i_findobject getName = xform0 c_th2i_getname@@ -257,8 +263,12 @@ printObj = xform1 c_th2i_printobj saveAs = xform2 c_th2i_saveas write = xform3 c_th2i_write+ write_ = xform0 c_th2i_write_ -instance IDeletable TH2I where+instance () => IDeletable (TH2I) where delete = xform0 c_th2i_delete -instance ITArray TH2I+instance () => ITArray (TH2I) where+ getAt = xform1 c_th2i_getat+ setArray = xform1 c_th2i_setarray+ setAt = xform2 c_th2i_setat
src/HROOT/Hist/TH2I/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH2I.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH2.Interface import HROOT.Core.TArrayI.Interface -class (ITH2 a, ITArrayI a) => ITH2I a+class (ITH2 a, ITArrayI a) => ITH2I a where upcastTH2I :: forall a . (FPtr a, ITH2I a) => a -> TH2I upcastTH2I h
src/HROOT/Hist/TH2I/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH2I newtype TH2I = TH2I (Ptr RawTH2I)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH2I where+instance () => FPtr (TH2I) where type Raw TH2I = RawTH2I get_fptr (TH2I ptr) = ptr cast_fptr_to_obj = TH2I
src/HROOT/Hist/TH2Poly.hs view
@@ -1,5 +1,7 @@ module HROOT.Hist.TH2Poly- (TH2Poly(..), ITH2Poly, upcastTH2Poly, downcastTH2Poly) where+ (TH2Poly(..), ITH2Poly(..), upcastTH2Poly, downcastTH2Poly,+ newTH2Poly)+ where import HROOT.Hist.TH2Poly.RawType import HROOT.Hist.TH2Poly.Interface import HROOT.Hist.TH2Poly.Implementation
src/HROOT/Hist/TH2Poly/Cast.hs view
@@ -8,10 +8,11 @@ import HROOT.Hist.TH2Poly.RawType import HROOT.Hist.TH2Poly.Interface -instance (ITH2Poly a, FPtr a) => Castable a (Ptr RawTH2Poly) where+instance (ITH2Poly a, FPtr a) => Castable (a) (Ptr RawTH2Poly)+ where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH2Poly (Ptr RawTH2Poly) where+instance () => Castable (TH2Poly) (Ptr RawTH2Poly) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH2Poly/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH2Poly.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH2Poly.RawType+import HROOT.Hist.TH2Poly.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH2.RawType import HROOT.Hist.TH1.RawType@@ -14,683 +17,751 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_fill2"- c_th2poly_fill2 :: Ptr RawTH2Poly -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_fill2" c_th2poly_fill2 ::+ Ptr RawTH2Poly -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_fill2w"- c_th2poly_fill2w ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_fill2w" c_th2poly_fill2w :: Ptr RawTH2Poly -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_fillN2"- c_th2poly_filln2 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_fillN2" c_th2poly_filln2 :: Ptr RawTH2Poly ->- CInt ->- (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_fillRandom2"- c_th2poly_fillrandom2 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_fillRandom2" c_th2poly_fillrandom2 :: Ptr RawTH2Poly -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_findFirstBinAbove2" c_th2poly_findfirstbinabove2 :: Ptr RawTH2Poly -> CDouble -> CInt -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_findLastBinAbove2" c_th2poly_findlastbinabove2 :: Ptr RawTH2Poly -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FitSlicesX"- c_th2poly_fitslicesx ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_FitSlicesX" c_th2poly_fitslicesx :: Ptr RawTH2Poly -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FitSlicesY"- c_th2poly_fitslicesy ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_FitSlicesY" c_th2poly_fitslicesy :: Ptr RawTH2Poly -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getCorrelationFactor2" c_th2poly_getcorrelationfactor2 :: Ptr RawTH2Poly -> CInt -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getCovariance2" c_th2poly_getcovariance2 :: Ptr RawTH2Poly -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_integral2"- c_th2poly_integral2 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_integral2" c_th2poly_integral2 :: Ptr RawTH2Poly -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_rebinX2"- c_th2poly_rebinx2 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_rebinX2" c_th2poly_rebinx2 :: Ptr RawTH2Poly -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_rebinY2"- c_th2poly_rebiny2 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_rebinY2" c_th2poly_rebiny2 :: Ptr RawTH2Poly -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Rebin2D"- c_th2poly_rebin2d ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Rebin2D" c_th2poly_rebin2d :: Ptr RawTH2Poly -> CInt -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_SetShowProjectionX" c_th2poly_setshowprojectionx :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_SetShowProjectionY" c_th2poly_setshowprojectiony :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Add"+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_Add" c_th2poly_add :: Ptr RawTH2Poly -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_AddBinContent" c_th2poly_addbincontent :: Ptr RawTH2Poly -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Chi2Test"- c_th2poly_chi2test ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Chi2Test" c_th2poly_chi2test :: Ptr RawTH2Poly ->- Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe- "HROOTHistTH2Poly.h TH2Poly_ComputeIntegral"- c_th2poly_computeintegral :: Ptr RawTH2Poly -> IO CDouble+ Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_DirectoryAutoAdd" c_th2poly_directoryautoadd :: Ptr RawTH2Poly -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Divide"- c_th2poly_divide ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Divide" c_th2poly_divide :: Ptr RawTH2Poly -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_drawCopyTH1"- c_th2poly_drawcopyth1 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_drawCopyTH1" c_th2poly_drawcopyth1 :: Ptr RawTH2Poly -> CString -> IO (Ptr RawTH2Poly) -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_DrawNormalized" c_th2poly_drawnormalized :: Ptr RawTH2Poly -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_drawPanelTH1"- c_th2poly_drawpanelth1 :: Ptr RawTH2Poly -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_drawPanelTH1" c_th2poly_drawpanelth1 ::+ Ptr RawTH2Poly -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_BufferEmpty"- c_th2poly_bufferempty :: Ptr RawTH2Poly -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_BufferEmpty" c_th2poly_bufferempty ::+ Ptr RawTH2Poly -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_evalF"- c_th2poly_evalf :: Ptr RawTH2Poly -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_evalF" c_th2poly_evalf ::+ Ptr RawTH2Poly -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FFT"+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_FFT" c_th2poly_fft :: Ptr RawTH2Poly -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_fill1"- c_th2poly_fill1 :: Ptr RawTH2Poly -> CDouble -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_fill1" c_th2poly_fill1 ::+ Ptr RawTH2Poly -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_fill1w"- c_th2poly_fill1w :: Ptr RawTH2Poly -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_fill1w" c_th2poly_fill1w ::+ Ptr RawTH2Poly -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_fillN1"- c_th2poly_filln1 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_fillN1" c_th2poly_filln1 :: Ptr RawTH2Poly ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FillRandom"- c_th2poly_fillrandom ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_FillRandom" c_th2poly_fillrandom :: Ptr RawTH2Poly -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FindBin"- c_th2poly_findbin ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_FindBin" c_th2poly_findbin :: Ptr RawTH2Poly -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FindFixBin"- c_th2poly_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_FindFixBin" c_th2poly_findfixbin :: Ptr RawTH2Poly -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_FindFirstBinAbove" c_th2poly_findfirstbinabove :: Ptr RawTH2Poly -> CDouble -> CInt -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_FindLastBinAbove" c_th2poly_findlastbinabove :: Ptr RawTH2Poly -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Fit"+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_Fit" c_th2poly_fit :: Ptr RawTH2Poly -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FitPanelTH1"- c_th2poly_fitpanelth1 :: Ptr RawTH2Poly -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_FitPanelTH1" c_th2poly_fitpanelth1 ::+ Ptr RawTH2Poly -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getNdivisionA" c_th2poly_getndivisiona :: Ptr RawTH2Poly -> CString -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getAxisColorA" c_th2poly_getaxiscolora- :: Ptr RawTH2Poly -> CString -> IO CInt+ :: Ptr RawTH2Poly -> CString -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getLabelColorA"- c_th2poly_getlabelcolora :: Ptr RawTH2Poly -> CString -> IO CInt+ c_th2poly_getlabelcolora :: Ptr RawTH2Poly -> CString -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getLabelFontA" c_th2poly_getlabelfonta- :: Ptr RawTH2Poly -> CString -> IO CInt+ :: Ptr RawTH2Poly -> CString -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getLabelOffsetA"- c_th2poly_getlabeloffseta ::- Ptr RawTH2Poly -> CString -> IO CDouble+ c_th2poly_getlabeloffseta :: Ptr RawTH2Poly -> CString -> IO CFloat -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getLabelSizeA" c_th2poly_getlabelsizea- :: Ptr RawTH2Poly -> CString -> IO CDouble+ :: Ptr RawTH2Poly -> CString -> IO CFloat -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getTitleFontA" c_th2poly_gettitlefonta- :: Ptr RawTH2Poly -> CString -> IO CInt+ :: Ptr RawTH2Poly -> CString -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getTitleOffsetA"- c_th2poly_gettitleoffseta ::- Ptr RawTH2Poly -> CString -> IO CDouble+ c_th2poly_gettitleoffseta :: Ptr RawTH2Poly -> CString -> IO CFloat -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getTitleSizeA" c_th2poly_gettitlesizea- :: Ptr RawTH2Poly -> CString -> IO CDouble+ :: Ptr RawTH2Poly -> CString -> IO CFloat -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getTickLengthA"- c_th2poly_getticklengtha :: Ptr RawTH2Poly -> CString -> IO CDouble+ c_th2poly_getticklengtha :: Ptr RawTH2Poly -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBarOffset"- c_th2poly_getbaroffset :: Ptr RawTH2Poly -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetBarOffset" c_th2poly_getbaroffset ::+ Ptr RawTH2Poly -> IO CFloat -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBarWidth"- c_th2poly_getbarwidth :: Ptr RawTH2Poly -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetBarWidth" c_th2poly_getbarwidth ::+ Ptr RawTH2Poly -> IO CFloat -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetContour"- c_th2poly_getcontour :: Ptr RawTH2Poly -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetContour" c_th2poly_getcontour ::+ Ptr RawTH2Poly -> Ptr CDouble -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetContourLevel" c_th2poly_getcontourlevel :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetContourLevelPad" c_th2poly_getcontourlevelpad :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBin"- c_th2poly_getbin ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetBin" c_th2poly_getbin :: Ptr RawTH2Poly -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBinCenter"- c_th2poly_getbincenter :: Ptr RawTH2Poly -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetBinCenter" c_th2poly_getbincenter ::+ Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetBinContent1" c_th2poly_getbincontent1 :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetBinContent2" c_th2poly_getbincontent2 :: Ptr RawTH2Poly -> CInt -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetBinContent3" c_th2poly_getbincontent3 :: Ptr RawTH2Poly -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBinError1"- c_th2poly_getbinerror1 :: Ptr RawTH2Poly -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetBinError1" c_th2poly_getbinerror1 ::+ Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBinError2"- c_th2poly_getbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetBinError2" c_th2poly_getbinerror2 :: Ptr RawTH2Poly -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBinError3"- c_th2poly_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetBinError3" c_th2poly_getbinerror3 :: Ptr RawTH2Poly -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetBinLowEdge" c_th2poly_getbinlowedge :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBinWidth"- c_th2poly_getbinwidth :: Ptr RawTH2Poly -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetBinWidth" c_th2poly_getbinwidth ::+ Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetCellContent" c_th2poly_getcellcontent :: Ptr RawTH2Poly -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetCellError"- c_th2poly_getcellerror ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetCellError" c_th2poly_getcellerror :: Ptr RawTH2Poly -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetEntries"- c_th2poly_getentries :: Ptr RawTH2Poly -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetEntries" c_th2poly_getentries ::+ Ptr RawTH2Poly -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetEffectiveEntries" c_th2poly_geteffectiveentries :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetFunction"- c_th2poly_getfunction ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetFunction" c_th2poly_getfunction :: Ptr RawTH2Poly -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetDimension"- c_th2poly_getdimension :: Ptr RawTH2Poly -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetDimension" c_th2poly_getdimension ::+ Ptr RawTH2Poly -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetKurtosis"- c_th2poly_getkurtosis :: Ptr RawTH2Poly -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetKurtosis" c_th2poly_getkurtosis ::+ Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetLowEdge"- c_th2poly_getlowedge :: Ptr RawTH2Poly -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetLowEdge" c_th2poly_getlowedge ::+ Ptr RawTH2Poly -> Ptr CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getMaximumTH1" c_th2poly_getmaximumth1 :: Ptr RawTH2Poly -> CDouble -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetMaximumBin" c_th2poly_getmaximumbin :: Ptr RawTH2Poly -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetMaximumStored" c_th2poly_getmaximumstored :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getMinimumTH1" c_th2poly_getminimumth1 :: Ptr RawTH2Poly -> CDouble -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetMinimumBin" c_th2poly_getminimumbin :: Ptr RawTH2Poly -> IO CInt -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetMinimumStored" c_th2poly_getminimumstored :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetMean"- c_th2poly_getmean :: Ptr RawTH2Poly -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetMean" c_th2poly_getmean ::+ Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetMeanError"- c_th2poly_getmeanerror :: Ptr RawTH2Poly -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetMeanError" c_th2poly_getmeanerror ::+ Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetNbinsX"- c_th2poly_getnbinsx :: Ptr RawTH2Poly -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetNbinsX" c_th2poly_getnbinsx ::+ Ptr RawTH2Poly -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetNbinsY"- c_th2poly_getnbinsy :: Ptr RawTH2Poly -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetNbinsY" c_th2poly_getnbinsy ::+ Ptr RawTH2Poly -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetNbinsZ"- c_th2poly_getnbinsz :: Ptr RawTH2Poly -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetNbinsZ" c_th2poly_getnbinsz ::+ Ptr RawTH2Poly -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_getQuantilesTH1" c_th2poly_getquantilesth1 ::- Ptr RawTH2Poly -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+ Ptr RawTH2Poly -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetRandom"- c_th2poly_getrandom :: Ptr RawTH2Poly -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetRandom" c_th2poly_getrandom ::+ Ptr RawTH2Poly -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetStats"- c_th2poly_getstats :: Ptr RawTH2Poly -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetStats" c_th2poly_getstats ::+ Ptr RawTH2Poly -> Ptr CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetSumOfWeights" c_th2poly_getsumofweights :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetSumw2"- c_th2poly_getsumw2 :: Ptr RawTH2Poly -> IO (Ptr RawTArrayD)--foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetSumw2N"- c_th2poly_getsumw2n :: Ptr RawTH2Poly -> IO CInt--foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetRMS"- c_th2poly_getrms :: Ptr RawTH2Poly -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetRMSError"- c_th2poly_getrmserror :: Ptr RawTH2Poly -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetSumw2" c_th2poly_getsumw2 ::+ Ptr RawTH2Poly -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetSkewness"- c_th2poly_getskewness :: Ptr RawTH2Poly -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetSumw2N" c_th2poly_getsumw2n ::+ Ptr RawTH2Poly -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_integral1"- c_th2poly_integral1 ::- Ptr RawTH2Poly -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetRMS" c_th2poly_getrms ::+ Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_interpolate1"- c_th2poly_interpolate1 :: Ptr RawTH2Poly -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetRMSError" c_th2poly_getrmserror ::+ Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_interpolate2"- c_th2poly_interpolate2 ::- Ptr RawTH2Poly -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetSkewness" c_th2poly_getskewness ::+ Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_interpolate3"- c_th2poly_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_interpolate3" c_th2poly_interpolate3 :: Ptr RawTH2Poly -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_KolmogorovTest" c_th2poly_kolmogorovtest :: Ptr RawTH2Poly -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_LabelsDeflate" c_th2poly_labelsdeflate :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_LabelsInflate" c_th2poly_labelsinflate :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_LabelsOption"- c_th2poly_labelsoption ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_LabelsOption" c_th2poly_labelsoption :: Ptr RawTH2Poly -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_multiflyF"- c_th2poly_multiflyf ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_multiflyF" c_th2poly_multiflyf :: Ptr RawTH2Poly -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Multiply"- c_th2poly_multiply ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Multiply" c_th2poly_multiply :: Ptr RawTH2Poly -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_PutStats"- c_th2poly_putstats :: Ptr RawTH2Poly -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_PutStats" c_th2poly_putstats ::+ Ptr RawTH2Poly -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Rebin"- c_th2poly_rebin ::- Ptr RawTH2Poly ->- CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Rebin" c_th2poly_rebin ::+ Ptr RawTH2Poly -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_RebinAxis"- c_th2poly_rebinaxis ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_RebinAxis" c_th2poly_rebinaxis :: Ptr RawTH2Poly -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Rebuild"- c_th2poly_rebuild :: Ptr RawTH2Poly -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Rebuild" c_th2poly_rebuild ::+ Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_RecursiveRemove" c_th2poly_recursiveremove :: Ptr RawTH2Poly -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Reset"- c_th2poly_reset :: Ptr RawTH2Poly -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Reset" c_th2poly_reset ::+ Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_ResetStats"- c_th2poly_resetstats :: Ptr RawTH2Poly -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_ResetStats" c_th2poly_resetstats ::+ Ptr RawTH2Poly -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Scale"- c_th2poly_scale :: Ptr RawTH2Poly -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Scale" c_th2poly_scale ::+ Ptr RawTH2Poly -> CDouble -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_setAxisColorA" c_th2poly_setaxiscolora- :: Ptr RawTH2Poly -> CInt -> CString -> IO ()+ :: Ptr RawTH2Poly -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetAxisRange"- c_th2poly_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetAxisRange" c_th2poly_setaxisrange :: Ptr RawTH2Poly -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetBarOffset"- c_th2poly_setbaroffset :: Ptr RawTH2Poly -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetBarOffset" c_th2poly_setbaroffset ::+ Ptr RawTH2Poly -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetBarWidth"- c_th2poly_setbarwidth :: Ptr RawTH2Poly -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetBarWidth" c_th2poly_setbarwidth ::+ Ptr RawTH2Poly -> CFloat -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_setBinContent1" c_th2poly_setbincontent1 :: Ptr RawTH2Poly -> CInt -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_setBinContent2" c_th2poly_setbincontent2 :: Ptr RawTH2Poly -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_setBinContent3" c_th2poly_setbincontent3 :: Ptr RawTH2Poly -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_setBinError1"- c_th2poly_setbinerror1 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_setBinError1" c_th2poly_setbinerror1 :: Ptr RawTH2Poly -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_setBinError2"- c_th2poly_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_setBinError2" c_th2poly_setbinerror2 :: Ptr RawTH2Poly -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_setBinError3"- c_th2poly_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_setBinError3" c_th2poly_setbinerror3 :: Ptr RawTH2Poly -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_setBins1"- c_th2poly_setbins1 ::- Ptr RawTH2Poly -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_setBins1" c_th2poly_setbins1 ::+ Ptr RawTH2Poly -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_setBins2"- c_th2poly_setbins2 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_setBins2" c_th2poly_setbins2 :: Ptr RawTH2Poly ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_setBins3"- c_th2poly_setbins3 ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_setBins3" c_th2poly_setbins3 :: Ptr RawTH2Poly -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_SetBinsLength" c_th2poly_setbinslength :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetBuffer"- c_th2poly_setbuffer :: Ptr RawTH2Poly -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetBuffer" c_th2poly_setbuffer ::+ Ptr RawTH2Poly -> CInt -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_SetCellContent" c_th2poly_setcellcontent :: Ptr RawTH2Poly -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetContent"- c_th2poly_setcontent :: Ptr RawTH2Poly -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetContent" c_th2poly_setcontent ::+ Ptr RawTH2Poly -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetContour"- c_th2poly_setcontour ::- Ptr RawTH2Poly -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetContour" c_th2poly_setcontour ::+ Ptr RawTH2Poly -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_SetContourLevel" c_th2poly_setcontourlevel :: Ptr RawTH2Poly -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetDirectory"- c_th2poly_setdirectory ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetDirectory" c_th2poly_setdirectory :: Ptr RawTH2Poly -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetEntries"- c_th2poly_setentries :: Ptr RawTH2Poly -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetEntries" c_th2poly_setentries ::+ Ptr RawTH2Poly -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetError"- c_th2poly_seterror :: Ptr RawTH2Poly -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetError" c_th2poly_seterror ::+ Ptr RawTH2Poly -> Ptr CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_setLabelColorA" c_th2poly_setlabelcolora ::- Ptr RawTH2Poly -> CInt -> CString -> IO ()+ Ptr RawTH2Poly -> CShort -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_setLabelSizeA" c_th2poly_setlabelsizea- :: Ptr RawTH2Poly -> CDouble -> CString -> IO ()+ :: Ptr RawTH2Poly -> CFloat -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_setLabelFontA" c_th2poly_setlabelfonta- :: Ptr RawTH2Poly -> CInt -> CString -> IO ()+ :: Ptr RawTH2Poly -> CShort -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_setLabelOffsetA" c_th2poly_setlabeloffseta ::- Ptr RawTH2Poly -> CDouble -> CString -> IO ()+ Ptr RawTH2Poly -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetMaximum"- c_th2poly_setmaximum :: Ptr RawTH2Poly -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetMaximum" c_th2poly_setmaximum ::+ Ptr RawTH2Poly -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetMinimum"- c_th2poly_setminimum :: Ptr RawTH2Poly -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetMinimum" c_th2poly_setminimum ::+ Ptr RawTH2Poly -> CDouble -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_SetNormFactor" c_th2poly_setnormfactor :: Ptr RawTH2Poly -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetStats"- c_th2poly_setstats :: Ptr RawTH2Poly -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetStats" c_th2poly_setstats ::+ Ptr RawTH2Poly -> CBool -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetOption"- c_th2poly_setoption :: Ptr RawTH2Poly -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetOption" c_th2poly_setoption ::+ Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetXTitle"- c_th2poly_setxtitle :: Ptr RawTH2Poly -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetXTitle" c_th2poly_setxtitle ::+ Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetYTitle"- c_th2poly_setytitle :: Ptr RawTH2Poly -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetYTitle" c_th2poly_setytitle ::+ Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetZTitle"- c_th2poly_setztitle :: Ptr RawTH2Poly -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetZTitle" c_th2poly_setztitle ::+ Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_ShowBackground" c_th2poly_showbackground :: Ptr RawTH2Poly -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_ShowPeaks"- c_th2poly_showpeaks ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_ShowPeaks" c_th2poly_showpeaks :: Ptr RawTH2Poly -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Smooth"- c_th2poly_smooth :: Ptr RawTH2Poly -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Smooth" c_th2poly_smooth ::+ Ptr RawTH2Poly -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Sumw2"- c_th2poly_sumw2 :: Ptr RawTH2Poly -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Sumw2" c_th2poly_sumw2 ::+ Ptr RawTH2Poly -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetName"- c_th2poly_setname :: Ptr RawTH2Poly -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetName" c_th2poly_setname ::+ Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetNameTitle"- c_th2poly_setnametitle ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetNameTitle" c_th2poly_setnametitle :: Ptr RawTH2Poly -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetTitle"- c_th2poly_settitle :: Ptr RawTH2Poly -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetTitle" c_th2poly_settitle ::+ Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetLineColor"- c_th2poly_getlinecolor :: Ptr RawTH2Poly -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetLineColor" c_th2poly_getlinecolor ::+ Ptr RawTH2Poly -> IO CShort -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetLineStyle"- c_th2poly_getlinestyle :: Ptr RawTH2Poly -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetLineStyle" c_th2poly_getlinestyle ::+ Ptr RawTH2Poly -> IO CShort -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetLineWidth"- c_th2poly_getlinewidth :: Ptr RawTH2Poly -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetLineWidth" c_th2poly_getlinewidth ::+ Ptr RawTH2Poly -> IO CShort -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_ResetAttLine"- c_th2poly_resetattline :: Ptr RawTH2Poly -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_ResetAttLine" c_th2poly_resetattline ::+ Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_SetLineAttributes" c_th2poly_setlineattributes :: Ptr RawTH2Poly -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetLineColor"- c_th2poly_setlinecolor :: Ptr RawTH2Poly -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetLineColor" c_th2poly_setlinecolor ::+ Ptr RawTH2Poly -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetLineStyle"- c_th2poly_setlinestyle :: Ptr RawTH2Poly -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetLineStyle" c_th2poly_setlinestyle ::+ Ptr RawTH2Poly -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetLineWidth"- c_th2poly_setlinewidth :: Ptr RawTH2Poly -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetLineWidth" c_th2poly_setlinewidth ::+ Ptr RawTH2Poly -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetFillColor"- c_th2poly_setfillcolor :: Ptr RawTH2Poly -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetFillColor" c_th2poly_setfillcolor ::+ Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetFillStyle"- c_th2poly_setfillstyle :: Ptr RawTH2Poly -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SetFillStyle" c_th2poly_setfillstyle ::+ Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetMarkerColor"- c_th2poly_getmarkercolor :: Ptr RawTH2Poly -> IO CInt+ c_th2poly_getmarkercolor :: Ptr RawTH2Poly -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetMarkerStyle"- c_th2poly_getmarkerstyle :: Ptr RawTH2Poly -> IO CInt+ c_th2poly_getmarkerstyle :: Ptr RawTH2Poly -> IO CShort -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_GetMarkerSize" c_th2poly_getmarkersize- :: Ptr RawTH2Poly -> IO CDouble+ :: Ptr RawTH2Poly -> IO CFloat -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_ResetAttMarker" c_th2poly_resetattmarker :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_SetMarkerAttributes" c_th2poly_setmarkerattributes :: Ptr RawTH2Poly -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_SetMarkerColor"- c_th2poly_setmarkercolor :: Ptr RawTH2Poly -> CInt -> IO ()+ c_th2poly_setmarkercolor :: Ptr RawTH2Poly -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_SetMarkerStyle"- c_th2poly_setmarkerstyle :: Ptr RawTH2Poly -> CInt -> IO ()+ c_th2poly_setmarkerstyle :: Ptr RawTH2Poly -> CShort -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_SetMarkerSize" c_th2poly_setmarkersize- :: Ptr RawTH2Poly -> CInt -> IO ()+ :: Ptr RawTH2Poly -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Draw"- c_th2poly_draw :: Ptr RawTH2Poly -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Clear" c_th2poly_clear ::+ Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FindObject"- c_th2poly_findobject ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Draw" c_th2poly_draw ::+ Ptr RawTH2Poly -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_FindObject" c_th2poly_findobject :: Ptr RawTH2Poly -> CString -> IO (Ptr RawTObject) -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetName"- c_th2poly_getname :: Ptr RawTH2Poly -> IO CString+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_GetName" c_th2poly_getname ::+ Ptr RawTH2Poly -> IO CString -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_IsA"+foreign import ccall interruptible "HROOTHistTH2Poly.h TH2Poly_IsA" c_th2poly_isa :: Ptr RawTH2Poly -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Paint"- c_th2poly_paint :: Ptr RawTH2Poly -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Paint" c_th2poly_paint ::+ Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_printObj"- c_th2poly_printobj :: Ptr RawTH2Poly -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_printObj" c_th2poly_printobj ::+ Ptr RawTH2Poly -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SaveAs"- c_th2poly_saveas :: Ptr RawTH2Poly -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_SaveAs" c_th2poly_saveas ::+ Ptr RawTH2Poly -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Write"- c_th2poly_write ::+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Write" c_th2poly_write :: Ptr RawTH2Poly -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_delete"- c_th2poly_delete :: Ptr RawTH2Poly -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_Write_" c_th2poly_write_ ::+ Ptr RawTH2Poly -> IO CInt++foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_delete" c_th2poly_delete ::+ Ptr RawTH2Poly -> IO ()++foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_newTH2Poly" c_th2poly_newth2poly ::+ CString ->+ CString ->+ CDouble -> CDouble -> CDouble -> CDouble -> IO (Ptr RawTH2Poly)++foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_AddBin" c_th2poly_addbin ::+ Ptr RawTH2Poly -> Ptr RawTObject -> IO CInt++foreign import ccall interruptible+ "HROOTHistTH2Poly.h TH2Poly_FillS" c_th2poly_fills ::+ Ptr RawTH2Poly -> CString -> CDouble -> IO CInt
src/HROOT/Hist/TH2Poly/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH2Poly.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH2Poly.RawType import HROOT.Hist.TH2Poly.FFI import HROOT.Hist.TH2Poly.Interface import HROOT.Hist.TH2Poly.Cast+import HROOT.Hist.TH2Poly.RawType+import HROOT.Hist.TH2Poly.Cast+import HROOT.Hist.TH2Poly.Interface import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Cast import HROOT.Hist.TH1D.Interface@@ -54,13 +63,15 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface -instance ITH2Poly TH2Poly+instance () => ITH2Poly (TH2Poly) where+ addBin = xform1 c_th2poly_addbin+ fillS = xform2 c_th2poly_fills -instance ITH2 TH2Poly where+instance () => ITH2 (TH2Poly) where fill2 = xform2 c_th2poly_fill2 fill2w = xform3 c_th2poly_fill2w fillN2 = xform5 c_th2poly_filln2@@ -78,11 +89,10 @@ setShowProjectionX = xform1 c_th2poly_setshowprojectionx setShowProjectionY = xform1 c_th2poly_setshowprojectiony -instance ITH1 TH2Poly where+instance () => ITH1 (TH2Poly) where add = xform2 c_th2poly_add addBinContent = xform2 c_th2poly_addbincontent chi2Test = xform3 c_th2poly_chi2test- computeIntegral = xform0 c_th2poly_computeintegral directoryAutoAdd = xform1 c_th2poly_directoryautoadd divide = xform5 c_th2poly_divide drawCopyTH1 = xform1 c_th2poly_drawcopyth1@@ -154,9 +164,6 @@ getRMS = xform1 c_th2poly_getrms getRMSError = xform1 c_th2poly_getrmserror getSkewness = xform1 c_th2poly_getskewness- integral1 = xform3 c_th2poly_integral1- interpolate1 = xform1 c_th2poly_interpolate1- interpolate2 = xform2 c_th2poly_interpolate2 interpolate3 = xform3 c_th2poly_interpolate3 kolmogorovTest = xform2 c_th2poly_kolmogorovtest labelsDeflate = xform1 c_th2poly_labelsdeflate@@ -211,12 +218,12 @@ smooth = xform2 c_th2poly_smooth sumw2 = xform0 c_th2poly_sumw2 -instance ITNamed TH2Poly where+instance () => ITNamed (TH2Poly) where setName = xform1 c_th2poly_setname setNameTitle = xform2 c_th2poly_setnametitle setTitle = xform1 c_th2poly_settitle -instance ITAttLine TH2Poly where+instance () => ITAttLine (TH2Poly) where getLineColor = xform0 c_th2poly_getlinecolor getLineStyle = xform0 c_th2poly_getlinestyle getLineWidth = xform0 c_th2poly_getlinewidth@@ -226,11 +233,11 @@ setLineStyle = xform1 c_th2poly_setlinestyle setLineWidth = xform1 c_th2poly_setlinewidth -instance ITAttFill TH2Poly where+instance () => ITAttFill (TH2Poly) where setFillColor = xform1 c_th2poly_setfillcolor setFillStyle = xform1 c_th2poly_setfillstyle -instance ITAttMarker TH2Poly where+instance () => ITAttMarker (TH2Poly) where getMarkerColor = xform0 c_th2poly_getmarkercolor getMarkerStyle = xform0 c_th2poly_getmarkerstyle getMarkerSize = xform0 c_th2poly_getmarkersize@@ -240,7 +247,8 @@ setMarkerStyle = xform1 c_th2poly_setmarkerstyle setMarkerSize = xform1 c_th2poly_setmarkersize -instance ITObject TH2Poly where+instance () => ITObject (TH2Poly) where+ clear = xform1 c_th2poly_clear draw = xform1 c_th2poly_draw findObject = xform1 c_th2poly_findobject getName = xform0 c_th2poly_getname@@ -249,6 +257,12 @@ printObj = xform1 c_th2poly_printobj saveAs = xform2 c_th2poly_saveas write = xform3 c_th2poly_write+ write_ = xform0 c_th2poly_write_ -instance IDeletable TH2Poly where+instance () => IDeletable (TH2Poly) where delete = xform0 c_th2poly_delete++newTH2Poly ::+ (Castable c1 CString, Castable c0 CString) =>+ c0 -> c1 -> CDouble -> CDouble -> CDouble -> CDouble -> IO TH2Poly+newTH2Poly = xform5 c_th2poly_newth2poly
src/HROOT/Hist/TH2Poly/Interface.hs view
@@ -4,13 +4,18 @@ TypeSynonymInstances #-} module HROOT.Hist.TH2Poly.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import HROOT.Hist.TH2Poly.RawType import HROOT.Hist.TH2.Interface+import HROOT.Core.TObject.Interface -class ITH2 a => ITH2Poly a+class (ITH2 a) => ITH2Poly a where+ addBin :: (ITObject c0, FPtr c0) => a -> c0 -> IO CInt+ + fillS :: (Castable c0 CString) => a -> c0 -> CDouble -> IO CInt upcastTH2Poly :: forall a . (FPtr a, ITH2Poly a) => a -> TH2Poly upcastTH2Poly h
src/HROOT/Hist/TH2Poly/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH2Poly newtype TH2Poly = TH2Poly (Ptr RawTH2Poly)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH2Poly where+instance () => FPtr (TH2Poly) where type Raw TH2Poly = RawTH2Poly get_fptr (TH2Poly ptr) = ptr cast_fptr_to_obj = TH2Poly
src/HROOT/Hist/TH2S/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH2S.RawType import HROOT.Hist.TH2S.Interface -instance (ITH2S a, FPtr a) => Castable a (Ptr RawTH2S) where+instance (ITH2S a, FPtr a) => Castable (a) (Ptr RawTH2S) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH2S (Ptr RawTH2S) where+instance () => Castable (TH2S) (Ptr RawTH2S) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH2S/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH2S.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH2S.RawType+import HROOT.Hist.TH2S.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH2.RawType import HROOT.Hist.TH1.RawType@@ -14,589 +17,678 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH2S.h TH2S_fill2" c_th2s_fill2- :: Ptr RawTH2S -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_fill2"+ c_th2s_fill2 :: Ptr RawTH2S -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_fill2w"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_fill2w" c_th2s_fill2w :: Ptr RawTH2S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_fillN2"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_fillN2" c_th2s_filln2 :: Ptr RawTH2S ->- CInt ->- (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ CInt -> Ptr CDouble -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_fillRandom2"- c_th2s_fillrandom2 :: Ptr RawTH2S -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_fillRandom2" c_th2s_fillrandom2 ::+ Ptr RawTH2S -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_findFirstBinAbove2"- c_th2s_findfirstbinabove2 ::- Ptr RawTH2S -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_findFirstBinAbove2" c_th2s_findfirstbinabove2+ :: Ptr RawTH2S -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_findLastBinAbove2"- c_th2s_findlastbinabove2 ::- Ptr RawTH2S -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_findLastBinAbove2" c_th2s_findlastbinabove2+ :: Ptr RawTH2S -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_FitSlicesX"- c_th2s_fitslicesx ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_FitSlicesX" c_th2s_fitslicesx :: Ptr RawTH2S -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_FitSlicesY"- c_th2s_fitslicesy ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_FitSlicesY" c_th2s_fitslicesy :: Ptr RawTH2S -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_getCorrelationFactor2" c_th2s_getcorrelationfactor2 :: Ptr RawTH2S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_getCovariance2"- c_th2s_getcovariance2 :: Ptr RawTH2S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getCovariance2" c_th2s_getcovariance2 ::+ Ptr RawTH2S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_integral2"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_integral2" c_th2s_integral2 :: Ptr RawTH2S -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_rebinX2"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_rebinX2" c_th2s_rebinx2 :: Ptr RawTH2S -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2S.h TH2S_rebinY2"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_rebinY2" c_th2s_rebiny2 :: Ptr RawTH2S -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2S.h TH2S_Rebin2D"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Rebin2D" c_th2s_rebin2d :: Ptr RawTH2S -> CInt -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetShowProjectionX"- c_th2s_setshowprojectionx :: Ptr RawTH2S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetShowProjectionX" c_th2s_setshowprojectionx+ :: Ptr RawTH2S -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetShowProjectionY"- c_th2s_setshowprojectiony :: Ptr RawTH2S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetShowProjectionY" c_th2s_setshowprojectiony+ :: Ptr RawTH2S -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_Add" c_th2s_add ::- Ptr RawTH2S -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Add"+ c_th2s_add :: Ptr RawTH2S -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_AddBinContent"- c_th2s_addbincontent :: Ptr RawTH2S -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_AddBinContent" c_th2s_addbincontent ::+ Ptr RawTH2S -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_Chi2Test"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Chi2Test" c_th2s_chi2test ::- Ptr RawTH2S -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH2S.h TH2S_ComputeIntegral"- c_th2s_computeintegral :: Ptr RawTH2S -> IO CDouble+ Ptr RawTH2S -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_DirectoryAutoAdd"- c_th2s_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_DirectoryAutoAdd" c_th2s_directoryautoadd :: Ptr RawTH2S -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_Divide"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Divide" c_th2s_divide :: Ptr RawTH2S -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_drawCopyTH1"- c_th2s_drawcopyth1 :: Ptr RawTH2S -> CString -> IO (Ptr RawTH2S)+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_drawCopyTH1" c_th2s_drawcopyth1 ::+ Ptr RawTH2S -> CString -> IO (Ptr RawTH2S) -foreign import ccall safe "HROOTHistTH2S.h TH2S_DrawNormalized"- c_th2s_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_DrawNormalized" c_th2s_drawnormalized :: Ptr RawTH2S -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2S.h TH2S_drawPanelTH1"- c_th2s_drawpanelth1 :: Ptr RawTH2S -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_drawPanelTH1" c_th2s_drawpanelth1 ::+ Ptr RawTH2S -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_BufferEmpty"- c_th2s_bufferempty :: Ptr RawTH2S -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_BufferEmpty" c_th2s_bufferempty ::+ Ptr RawTH2S -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_evalF" c_th2s_evalf- :: Ptr RawTH2S -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_evalF"+ c_th2s_evalf :: Ptr RawTH2S -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_FFT" c_th2s_fft ::+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_FFT"+ c_th2s_fft :: Ptr RawTH2S -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2S.h TH2S_fill1" c_th2s_fill1- :: Ptr RawTH2S -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_fill1"+ c_th2s_fill1 :: Ptr RawTH2S -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_fill1w"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_fill1w" c_th2s_fill1w :: Ptr RawTH2S -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_fillN1"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_fillN1" c_th2s_filln1 ::- Ptr RawTH2S ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH2S -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_FillRandom"- c_th2s_fillrandom :: Ptr RawTH2S -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_FillRandom" c_th2s_fillrandom ::+ Ptr RawTH2S -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_FindBin"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_FindBin" c_th2s_findbin :: Ptr RawTH2S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_FindFixBin"- c_th2s_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_FindFixBin" c_th2s_findfixbin :: Ptr RawTH2S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_FindFirstBinAbove"- c_th2s_findfirstbinabove ::- Ptr RawTH2S -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_FindFirstBinAbove" c_th2s_findfirstbinabove+ :: Ptr RawTH2S -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_FindLastBinAbove"- c_th2s_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_FindLastBinAbove" c_th2s_findlastbinabove :: Ptr RawTH2S -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_Fit" c_th2s_fit ::+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Fit"+ c_th2s_fit :: Ptr RawTH2S -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_FitPanelTH1"- c_th2s_fitpanelth1 :: Ptr RawTH2S -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_FitPanelTH1" c_th2s_fitpanelth1 ::+ Ptr RawTH2S -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_getNdivisionA"- c_th2s_getndivisiona :: Ptr RawTH2S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getNdivisionA" c_th2s_getndivisiona ::+ Ptr RawTH2S -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_getAxisColorA"- c_th2s_getaxiscolora :: Ptr RawTH2S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getAxisColorA" c_th2s_getaxiscolora ::+ Ptr RawTH2S -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2S.h TH2S_getLabelColorA"- c_th2s_getlabelcolora :: Ptr RawTH2S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getLabelColorA" c_th2s_getlabelcolora ::+ Ptr RawTH2S -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2S.h TH2S_getLabelFontA"- c_th2s_getlabelfonta :: Ptr RawTH2S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getLabelFontA" c_th2s_getlabelfonta ::+ Ptr RawTH2S -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2S.h TH2S_getLabelOffsetA"- c_th2s_getlabeloffseta :: Ptr RawTH2S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getLabelOffsetA" c_th2s_getlabeloffseta ::+ Ptr RawTH2S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2S.h TH2S_getLabelSizeA"- c_th2s_getlabelsizea :: Ptr RawTH2S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getLabelSizeA" c_th2s_getlabelsizea ::+ Ptr RawTH2S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2S.h TH2S_getTitleFontA"- c_th2s_gettitlefonta :: Ptr RawTH2S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getTitleFontA" c_th2s_gettitlefonta ::+ Ptr RawTH2S -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH2S.h TH2S_getTitleOffsetA"- c_th2s_gettitleoffseta :: Ptr RawTH2S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getTitleOffsetA" c_th2s_gettitleoffseta ::+ Ptr RawTH2S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2S.h TH2S_getTitleSizeA"- c_th2s_gettitlesizea :: Ptr RawTH2S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getTitleSizeA" c_th2s_gettitlesizea ::+ Ptr RawTH2S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2S.h TH2S_getTickLengthA"- c_th2s_getticklengtha :: Ptr RawTH2S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getTickLengthA" c_th2s_getticklengtha ::+ Ptr RawTH2S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBarOffset"- c_th2s_getbaroffset :: Ptr RawTH2S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetBarOffset" c_th2s_getbaroffset ::+ Ptr RawTH2S -> IO CFloat -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBarWidth"- c_th2s_getbarwidth :: Ptr RawTH2S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetBarWidth" c_th2s_getbarwidth ::+ Ptr RawTH2S -> IO CFloat -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetContour"- c_th2s_getcontour :: Ptr RawTH2S -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetContour" c_th2s_getcontour ::+ Ptr RawTH2S -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetContourLevel"- c_th2s_getcontourlevel :: Ptr RawTH2S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetContourLevel" c_th2s_getcontourlevel ::+ Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetContourLevelPad"- c_th2s_getcontourlevelpad :: Ptr RawTH2S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetContourLevelPad" c_th2s_getcontourlevelpad+ :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBin"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_GetBin" c_th2s_getbin :: Ptr RawTH2S -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinCenter"- c_th2s_getbincenter :: Ptr RawTH2S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetBinCenter" c_th2s_getbincenter ::+ Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinContent1"- c_th2s_getbincontent1 :: Ptr RawTH2S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetBinContent1" c_th2s_getbincontent1 ::+ Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinContent2"- c_th2s_getbincontent2 :: Ptr RawTH2S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetBinContent2" c_th2s_getbincontent2 ::+ Ptr RawTH2S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinContent3"- c_th2s_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetBinContent3" c_th2s_getbincontent3 :: Ptr RawTH2S -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinError1"- c_th2s_getbinerror1 :: Ptr RawTH2S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetBinError1" c_th2s_getbinerror1 ::+ Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinError2"- c_th2s_getbinerror2 :: Ptr RawTH2S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetBinError2" c_th2s_getbinerror2 ::+ Ptr RawTH2S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinError3"- c_th2s_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetBinError3" c_th2s_getbinerror3 :: Ptr RawTH2S -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinLowEdge"- c_th2s_getbinlowedge :: Ptr RawTH2S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetBinLowEdge" c_th2s_getbinlowedge ::+ Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinWidth"- c_th2s_getbinwidth :: Ptr RawTH2S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetBinWidth" c_th2s_getbinwidth ::+ Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetCellContent"- c_th2s_getcellcontent :: Ptr RawTH2S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetCellContent" c_th2s_getcellcontent ::+ Ptr RawTH2S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetCellError"- c_th2s_getcellerror :: Ptr RawTH2S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetCellError" c_th2s_getcellerror ::+ Ptr RawTH2S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetEntries"- c_th2s_getentries :: Ptr RawTH2S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetEntries" c_th2s_getentries ::+ Ptr RawTH2S -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_GetEffectiveEntries" c_th2s_geteffectiveentries :: Ptr RawTH2S -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetFunction"- c_th2s_getfunction :: Ptr RawTH2S -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetFunction" c_th2s_getfunction ::+ Ptr RawTH2S -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetDimension"- c_th2s_getdimension :: Ptr RawTH2S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetDimension" c_th2s_getdimension ::+ Ptr RawTH2S -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetKurtosis"- c_th2s_getkurtosis :: Ptr RawTH2S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetKurtosis" c_th2s_getkurtosis ::+ Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetLowEdge"- c_th2s_getlowedge :: Ptr RawTH2S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetLowEdge" c_th2s_getlowedge ::+ Ptr RawTH2S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_getMaximumTH1"- c_th2s_getmaximumth1 :: Ptr RawTH2S -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getMaximumTH1" c_th2s_getmaximumth1 ::+ Ptr RawTH2S -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMaximumBin"- c_th2s_getmaximumbin :: Ptr RawTH2S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetMaximumBin" c_th2s_getmaximumbin ::+ Ptr RawTH2S -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMaximumStored"- c_th2s_getmaximumstored :: Ptr RawTH2S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetMaximumStored" c_th2s_getmaximumstored ::+ Ptr RawTH2S -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_getMinimumTH1"- c_th2s_getminimumth1 :: Ptr RawTH2S -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getMinimumTH1" c_th2s_getminimumth1 ::+ Ptr RawTH2S -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMinimumBin"- c_th2s_getminimumbin :: Ptr RawTH2S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetMinimumBin" c_th2s_getminimumbin ::+ Ptr RawTH2S -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMinimumStored"- c_th2s_getminimumstored :: Ptr RawTH2S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetMinimumStored" c_th2s_getminimumstored ::+ Ptr RawTH2S -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMean"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_GetMean" c_th2s_getmean :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMeanError"- c_th2s_getmeanerror :: Ptr RawTH2S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetMeanError" c_th2s_getmeanerror ::+ Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_GetNbinsX" c_th2s_getnbinsx :: Ptr RawTH2S -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_GetNbinsY" c_th2s_getnbinsy :: Ptr RawTH2S -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_GetNbinsZ" c_th2s_getnbinsz :: Ptr RawTH2S -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_getQuantilesTH1"- c_th2s_getquantilesth1 ::- Ptr RawTH2S -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_getQuantilesTH1" c_th2s_getquantilesth1 ::+ Ptr RawTH2S -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetRandom"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_GetRandom" c_th2s_getrandom :: Ptr RawTH2S -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetStats"- c_th2s_getstats :: Ptr RawTH2S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_GetStats"+ c_th2s_getstats :: Ptr RawTH2S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetSumOfWeights"- c_th2s_getsumofweights :: Ptr RawTH2S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetSumOfWeights" c_th2s_getsumofweights ::+ Ptr RawTH2S -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetSumw2"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_GetSumw2" c_th2s_getsumw2 :: Ptr RawTH2S -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_GetSumw2N" c_th2s_getsumw2n :: Ptr RawTH2S -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetRMS"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_GetRMS" c_th2s_getrms :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetRMSError"- c_th2s_getrmserror :: Ptr RawTH2S -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH2S.h TH2S_GetSkewness"- c_th2s_getskewness :: Ptr RawTH2S -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH2S.h TH2S_integral1"- c_th2s_integral1 ::- Ptr RawTH2S -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH2S.h TH2S_interpolate1"- c_th2s_interpolate1 :: Ptr RawTH2S -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetRMSError" c_th2s_getrmserror ::+ Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_interpolate2"- c_th2s_interpolate2 ::- Ptr RawTH2S -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetSkewness" c_th2s_getskewness ::+ Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_interpolate3"- c_th2s_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_interpolate3" c_th2s_interpolate3 :: Ptr RawTH2S -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_KolmogorovTest"- c_th2s_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_KolmogorovTest" c_th2s_kolmogorovtest :: Ptr RawTH2S -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH2S.h TH2S_LabelsDeflate"- c_th2s_labelsdeflate :: Ptr RawTH2S -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_LabelsDeflate" c_th2s_labelsdeflate ::+ Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_LabelsInflate"- c_th2s_labelsinflate :: Ptr RawTH2S -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_LabelsInflate" c_th2s_labelsinflate ::+ Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_LabelsOption"- c_th2s_labelsoption :: Ptr RawTH2S -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_LabelsOption" c_th2s_labelsoption ::+ Ptr RawTH2S -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_multiflyF"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_multiflyF" c_th2s_multiflyf :: Ptr RawTH2S -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_Multiply"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Multiply" c_th2s_multiply :: Ptr RawTH2S -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_PutStats"- c_th2s_putstats :: Ptr RawTH2S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_PutStats"+ c_th2s_putstats :: Ptr RawTH2S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_Rebin" c_th2s_rebin- ::- Ptr RawTH2S -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Rebin"+ c_th2s_rebin ::+ Ptr RawTH2S -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2S.h TH2S_RebinAxis"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_RebinAxis" c_th2s_rebinaxis :: Ptr RawTH2S -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_Rebuild"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Rebuild" c_th2s_rebuild :: Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_RecursiveRemove"- c_th2s_recursiveremove :: Ptr RawTH2S -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_RecursiveRemove" c_th2s_recursiveremove ::+ Ptr RawTH2S -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_Reset" c_th2s_reset- :: Ptr RawTH2S -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Reset"+ c_th2s_reset :: Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_ResetStats"- c_th2s_resetstats :: Ptr RawTH2S -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_ResetStats" c_th2s_resetstats ::+ Ptr RawTH2S -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_Scale" c_th2s_scale- :: Ptr RawTH2S -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Scale"+ c_th2s_scale :: Ptr RawTH2S -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setAxisColorA"- c_th2s_setaxiscolora :: Ptr RawTH2S -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_setAxisColorA" c_th2s_setaxiscolora ::+ Ptr RawTH2S -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetAxisRange"- c_th2s_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetAxisRange" c_th2s_setaxisrange :: Ptr RawTH2S -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetBarOffset"- c_th2s_setbaroffset :: Ptr RawTH2S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetBarOffset" c_th2s_setbaroffset ::+ Ptr RawTH2S -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetBarWidth"- c_th2s_setbarwidth :: Ptr RawTH2S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetBarWidth" c_th2s_setbarwidth ::+ Ptr RawTH2S -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setBinContent1"- c_th2s_setbincontent1 :: Ptr RawTH2S -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_setBinContent1" c_th2s_setbincontent1 ::+ Ptr RawTH2S -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setBinContent2"- c_th2s_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_setBinContent2" c_th2s_setbincontent2 :: Ptr RawTH2S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setBinContent3"- c_th2s_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_setBinContent3" c_th2s_setbincontent3 :: Ptr RawTH2S -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setBinError1"- c_th2s_setbinerror1 :: Ptr RawTH2S -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_setBinError1" c_th2s_setbinerror1 ::+ Ptr RawTH2S -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setBinError2"- c_th2s_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_setBinError2" c_th2s_setbinerror2 :: Ptr RawTH2S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setBinError3"- c_th2s_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_setBinError3" c_th2s_setbinerror3 :: Ptr RawTH2S -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setBins1"- c_th2s_setbins1 :: Ptr RawTH2S -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_setBins1"+ c_th2s_setbins1 :: Ptr RawTH2S -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setBins2"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_setBins2" c_th2s_setbins2 ::- Ptr RawTH2S ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH2S -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setBins3"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_setBins3" c_th2s_setbins3 :: Ptr RawTH2S -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetBinsLength"- c_th2s_setbinslength :: Ptr RawTH2S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetBinsLength" c_th2s_setbinslength ::+ Ptr RawTH2S -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetBuffer"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_SetBuffer" c_th2s_setbuffer :: Ptr RawTH2S -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetCellContent"- c_th2s_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetCellContent" c_th2s_setcellcontent :: Ptr RawTH2S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetContent"- c_th2s_setcontent :: Ptr RawTH2S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetContent" c_th2s_setcontent ::+ Ptr RawTH2S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetContour"- c_th2s_setcontour :: Ptr RawTH2S -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetContour" c_th2s_setcontour ::+ Ptr RawTH2S -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetContourLevel"- c_th2s_setcontourlevel :: Ptr RawTH2S -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetContourLevel" c_th2s_setcontourlevel ::+ Ptr RawTH2S -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetDirectory"- c_th2s_setdirectory :: Ptr RawTH2S -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetDirectory" c_th2s_setdirectory ::+ Ptr RawTH2S -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetEntries"- c_th2s_setentries :: Ptr RawTH2S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetEntries" c_th2s_setentries ::+ Ptr RawTH2S -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetError"- c_th2s_seterror :: Ptr RawTH2S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_SetError"+ c_th2s_seterror :: Ptr RawTH2S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setLabelColorA"- c_th2s_setlabelcolora :: Ptr RawTH2S -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_setLabelColorA" c_th2s_setlabelcolora ::+ Ptr RawTH2S -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setLabelSizeA"- c_th2s_setlabelsizea :: Ptr RawTH2S -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_setLabelSizeA" c_th2s_setlabelsizea ::+ Ptr RawTH2S -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setLabelFontA"- c_th2s_setlabelfonta :: Ptr RawTH2S -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_setLabelFontA" c_th2s_setlabelfonta ::+ Ptr RawTH2S -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_setLabelOffsetA"- c_th2s_setlabeloffseta ::- Ptr RawTH2S -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_setLabelOffsetA" c_th2s_setlabeloffseta ::+ Ptr RawTH2S -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetMaximum"- c_th2s_setmaximum :: Ptr RawTH2S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetMaximum" c_th2s_setmaximum ::+ Ptr RawTH2S -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetMinimum"- c_th2s_setminimum :: Ptr RawTH2S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetMinimum" c_th2s_setminimum ::+ Ptr RawTH2S -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetNormFactor"- c_th2s_setnormfactor :: Ptr RawTH2S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetNormFactor" c_th2s_setnormfactor ::+ Ptr RawTH2S -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetStats"- c_th2s_setstats :: Ptr RawTH2S -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_SetStats"+ c_th2s_setstats :: Ptr RawTH2S -> CBool -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetOption"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_SetOption" c_th2s_setoption :: Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetXTitle"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_SetXTitle" c_th2s_setxtitle :: Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetYTitle"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_SetYTitle" c_th2s_setytitle :: Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetZTitle"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_SetZTitle" c_th2s_setztitle :: Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_ShowBackground"- c_th2s_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_ShowBackground" c_th2s_showbackground :: Ptr RawTH2S -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH2S.h TH2S_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_ShowPeaks" c_th2s_showpeaks :: Ptr RawTH2S -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_Smooth"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Smooth" c_th2s_smooth :: Ptr RawTH2S -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_Sumw2" c_th2s_sumw2- :: Ptr RawTH2S -> IO ()+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Sumw2"+ c_th2s_sumw2 :: Ptr RawTH2S -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetName"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_SetName" c_th2s_setname :: Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetNameTitle"- c_th2s_setnametitle :: Ptr RawTH2S -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetNameTitle" c_th2s_setnametitle ::+ Ptr RawTH2S -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetTitle"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_SetTitle" c_th2s_settitle :: Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetLineColor"- c_th2s_getlinecolor :: Ptr RawTH2S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetLineColor" c_th2s_getlinecolor ::+ Ptr RawTH2S -> IO CShort -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetLineStyle"- c_th2s_getlinestyle :: Ptr RawTH2S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetLineStyle" c_th2s_getlinestyle ::+ Ptr RawTH2S -> IO CShort -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetLineWidth"- c_th2s_getlinewidth :: Ptr RawTH2S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetLineWidth" c_th2s_getlinewidth ::+ Ptr RawTH2S -> IO CShort -foreign import ccall safe "HROOTHistTH2S.h TH2S_ResetAttLine"- c_th2s_resetattline :: Ptr RawTH2S -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_ResetAttLine" c_th2s_resetattline ::+ Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetLineAttributes"- c_th2s_setlineattributes :: Ptr RawTH2S -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetLineAttributes" c_th2s_setlineattributes+ :: Ptr RawTH2S -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetLineColor"- c_th2s_setlinecolor :: Ptr RawTH2S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetLineColor" c_th2s_setlinecolor ::+ Ptr RawTH2S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetLineStyle"- c_th2s_setlinestyle :: Ptr RawTH2S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetLineStyle" c_th2s_setlinestyle ::+ Ptr RawTH2S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetLineWidth"- c_th2s_setlinewidth :: Ptr RawTH2S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetLineWidth" c_th2s_setlinewidth ::+ Ptr RawTH2S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetFillColor"- c_th2s_setfillcolor :: Ptr RawTH2S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetFillColor" c_th2s_setfillcolor ::+ Ptr RawTH2S -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetFillStyle"- c_th2s_setfillstyle :: Ptr RawTH2S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetFillStyle" c_th2s_setfillstyle ::+ Ptr RawTH2S -> CInt -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMarkerColor"- c_th2s_getmarkercolor :: Ptr RawTH2S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetMarkerColor" c_th2s_getmarkercolor ::+ Ptr RawTH2S -> IO CShort -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMarkerStyle"- c_th2s_getmarkerstyle :: Ptr RawTH2S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetMarkerStyle" c_th2s_getmarkerstyle ::+ Ptr RawTH2S -> IO CShort -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMarkerSize"- c_th2s_getmarkersize :: Ptr RawTH2S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_GetMarkerSize" c_th2s_getmarkersize ::+ Ptr RawTH2S -> IO CFloat -foreign import ccall safe "HROOTHistTH2S.h TH2S_ResetAttMarker"- c_th2s_resetattmarker :: Ptr RawTH2S -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_ResetAttMarker" c_th2s_resetattmarker ::+ Ptr RawTH2S -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_SetMarkerAttributes" c_th2s_setmarkerattributes :: Ptr RawTH2S -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetMarkerColor"- c_th2s_setmarkercolor :: Ptr RawTH2S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetMarkerColor" c_th2s_setmarkercolor ::+ Ptr RawTH2S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetMarkerStyle"- c_th2s_setmarkerstyle :: Ptr RawTH2S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetMarkerStyle" c_th2s_setmarkerstyle ::+ Ptr RawTH2S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SetMarkerSize"- c_th2s_setmarkersize :: Ptr RawTH2S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_SetMarkerSize" c_th2s_setmarkersize ::+ Ptr RawTH2S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_Draw" c_th2s_draw- :: Ptr RawTH2S -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Clear"+ c_th2s_clear :: Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_FindObject"- c_th2s_findobject :: Ptr RawTH2S -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Draw"+ c_th2s_draw :: Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_GetName"+foreign import ccall interruptible+ "HROOTHistTH2S.h TH2S_FindObject" c_th2s_findobject ::+ Ptr RawTH2S -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH2S.h TH2S_GetName" c_th2s_getname :: Ptr RawTH2S -> IO CString -foreign import ccall safe "HROOTHistTH2S.h TH2S_IsA" c_th2s_isa ::- Ptr RawTH2S -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_IsA"+ c_th2s_isa :: Ptr RawTH2S -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH2S.h TH2S_Paint" c_th2s_paint- :: Ptr RawTH2S -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Paint"+ c_th2s_paint :: Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_printObj"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_printObj" c_th2s_printobj :: Ptr RawTH2S -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_SaveAs"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_SaveAs" c_th2s_saveas :: Ptr RawTH2S -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH2S.h TH2S_Write" c_th2s_write- :: Ptr RawTH2S -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Write"+ c_th2s_write :: Ptr RawTH2S -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH2S.h TH2S_delete"+foreign import ccall interruptible "HROOTHistTH2S.h TH2S_Write_"+ c_th2s_write_ :: Ptr RawTH2S -> IO CInt++foreign import ccall interruptible "HROOTHistTH2S.h TH2S_delete" c_th2s_delete :: Ptr RawTH2S -> IO ()++foreign import ccall interruptible "HROOTHistTH2S.h TH2S_GetAt"+ c_th2s_getat :: Ptr RawTH2S -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH2S.h TH2S_SetArray"+ c_th2s_setarray :: Ptr RawTH2S -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH2S.h TH2S_SetAt"+ c_th2s_setat :: Ptr RawTH2S -> CDouble -> CInt -> IO ()
src/HROOT/Hist/TH2S/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH2S.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH2S.RawType import HROOT.Hist.TH2S.FFI import HROOT.Hist.TH2S.Interface import HROOT.Hist.TH2S.Cast+import HROOT.Hist.TH2S.RawType+import HROOT.Hist.TH2S.Cast+import HROOT.Hist.TH2S.Interface import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Cast import HROOT.Hist.TH1D.Interface@@ -57,16 +66,16 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH2S TH2S+instance () => ITH2S (TH2S) where -instance ITH2 TH2S where+instance () => ITH2 (TH2S) where fill2 = xform2 c_th2s_fill2 fill2w = xform3 c_th2s_fill2w fillN2 = xform5 c_th2s_filln2@@ -84,13 +93,12 @@ setShowProjectionX = xform1 c_th2s_setshowprojectionx setShowProjectionY = xform1 c_th2s_setshowprojectiony -instance ITArrayS TH2S+instance () => ITArrayS (TH2S) where -instance ITH1 TH2S where+instance () => ITH1 (TH2S) where add = xform2 c_th2s_add addBinContent = xform2 c_th2s_addbincontent chi2Test = xform3 c_th2s_chi2test- computeIntegral = xform0 c_th2s_computeintegral directoryAutoAdd = xform1 c_th2s_directoryautoadd divide = xform5 c_th2s_divide drawCopyTH1 = xform1 c_th2s_drawcopyth1@@ -162,9 +170,6 @@ getRMS = xform1 c_th2s_getrms getRMSError = xform1 c_th2s_getrmserror getSkewness = xform1 c_th2s_getskewness- integral1 = xform3 c_th2s_integral1- interpolate1 = xform1 c_th2s_interpolate1- interpolate2 = xform2 c_th2s_interpolate2 interpolate3 = xform3 c_th2s_interpolate3 kolmogorovTest = xform2 c_th2s_kolmogorovtest labelsDeflate = xform1 c_th2s_labelsdeflate@@ -219,12 +224,12 @@ smooth = xform2 c_th2s_smooth sumw2 = xform0 c_th2s_sumw2 -instance ITNamed TH2S where+instance () => ITNamed (TH2S) where setName = xform1 c_th2s_setname setNameTitle = xform2 c_th2s_setnametitle setTitle = xform1 c_th2s_settitle -instance ITAttLine TH2S where+instance () => ITAttLine (TH2S) where getLineColor = xform0 c_th2s_getlinecolor getLineStyle = xform0 c_th2s_getlinestyle getLineWidth = xform0 c_th2s_getlinewidth@@ -234,11 +239,11 @@ setLineStyle = xform1 c_th2s_setlinestyle setLineWidth = xform1 c_th2s_setlinewidth -instance ITAttFill TH2S where+instance () => ITAttFill (TH2S) where setFillColor = xform1 c_th2s_setfillcolor setFillStyle = xform1 c_th2s_setfillstyle -instance ITAttMarker TH2S where+instance () => ITAttMarker (TH2S) where getMarkerColor = xform0 c_th2s_getmarkercolor getMarkerStyle = xform0 c_th2s_getmarkerstyle getMarkerSize = xform0 c_th2s_getmarkersize@@ -248,7 +253,8 @@ setMarkerStyle = xform1 c_th2s_setmarkerstyle setMarkerSize = xform1 c_th2s_setmarkersize -instance ITObject TH2S where+instance () => ITObject (TH2S) where+ clear = xform1 c_th2s_clear draw = xform1 c_th2s_draw findObject = xform1 c_th2s_findobject getName = xform0 c_th2s_getname@@ -257,8 +263,12 @@ printObj = xform1 c_th2s_printobj saveAs = xform2 c_th2s_saveas write = xform3 c_th2s_write+ write_ = xform0 c_th2s_write_ -instance IDeletable TH2S where+instance () => IDeletable (TH2S) where delete = xform0 c_th2s_delete -instance ITArray TH2S+instance () => ITArray (TH2S) where+ getAt = xform1 c_th2s_getat+ setArray = xform1 c_th2s_setarray+ setAt = xform2 c_th2s_setat
src/HROOT/Hist/TH2S/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH2S.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH2.Interface import HROOT.Core.TArrayS.Interface -class (ITH2 a, ITArrayS a) => ITH2S a+class (ITH2 a, ITArrayS a) => ITH2S a where upcastTH2S :: forall a . (FPtr a, ITH2S a) => a -> TH2S upcastTH2S h
src/HROOT/Hist/TH2S/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH2S newtype TH2S = TH2S (Ptr RawTH2S)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH2S where+instance () => FPtr (TH2S) where type Raw TH2S = RawTH2S get_fptr (TH2S ptr) = ptr cast_fptr_to_obj = TH2S
src/HROOT/Hist/TH3.hs view
@@ -1,6 +1,6 @@ module HROOT.Hist.TH3- (TH3(..), ITH3(..), upcastTH3, downcastTH3, tH3ProjectionX,- tH3ProjectionY, tH3ProjectionZ, tH3Project3D)+ (TH3(..), ITH3(..), upcastTH3, downcastTH3, tH3_ProjectionX,+ tH3_ProjectionY, tH3_ProjectionZ, tH3_Project3D) where import HROOT.Hist.TH3.RawType import HROOT.Hist.TH3.Interface
src/HROOT/Hist/TH3/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH3.RawType import HROOT.Hist.TH3.Interface -instance (ITH3 a, FPtr a) => Castable a (Ptr RawTH3) where+instance (ITH3 a, FPtr a) => Castable (a) (Ptr RawTH3) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH3 (Ptr RawTH3) where+instance () => Castable (TH3) (Ptr RawTH3) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH3/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH3.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH3.RawType+import HROOT.Hist.TH3.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType import HROOT.Hist.TF1.RawType@@ -12,572 +15,637 @@ import HROOT.Core.TClass.RawType import HROOT.Hist.TH1D.RawType -foreign import ccall safe "HROOTHistTH3.h TH3_Add" c_th3_add ::- Ptr RawTH3 -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_Add"+ c_th3_add :: Ptr RawTH3 -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_AddBinContent"- c_th3_addbincontent :: Ptr RawTH3 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_AddBinContent" c_th3_addbincontent ::+ Ptr RawTH3 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_Chi2Test"+foreign import ccall interruptible "HROOTHistTH3.h TH3_Chi2Test" c_th3_chi2test ::- Ptr RawTH3 -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH3.h TH3_ComputeIntegral"- c_th3_computeintegral :: Ptr RawTH3 -> IO CDouble+ Ptr RawTH3 -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_DirectoryAutoAdd"- c_th3_directoryautoadd :: Ptr RawTH3 -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_DirectoryAutoAdd" c_th3_directoryautoadd ::+ Ptr RawTH3 -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_Divide" c_th3_divide- ::+foreign import ccall interruptible "HROOTHistTH3.h TH3_Divide"+ c_th3_divide :: Ptr RawTH3 -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_drawCopyTH1"+foreign import ccall interruptible "HROOTHistTH3.h TH3_drawCopyTH1" c_th3_drawcopyth1 :: Ptr RawTH3 -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3.h TH3_DrawNormalized"- c_th3_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_DrawNormalized" c_th3_drawnormalized :: Ptr RawTH3 -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3.h TH3_drawPanelTH1"- c_th3_drawpanelth1 :: Ptr RawTH3 -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_drawPanelTH1" c_th3_drawpanelth1 ::+ Ptr RawTH3 -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_BufferEmpty"+foreign import ccall interruptible "HROOTHistTH3.h TH3_BufferEmpty" c_th3_bufferempty :: Ptr RawTH3 -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_evalF" c_th3_evalf ::- Ptr RawTH3 -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_evalF"+ c_th3_evalf :: Ptr RawTH3 -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_FFT" c_th3_fft ::- Ptr RawTH3 -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH3.h TH3_FFT"+ c_th3_fft :: Ptr RawTH3 -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3.h TH3_fill1" c_th3_fill1 ::- Ptr RawTH3 -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH3.h TH3_fill1"+ c_th3_fill1 :: Ptr RawTH3 -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_fill1w" c_th3_fill1w- :: Ptr RawTH3 -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH3.h TH3_fill1w"+ c_th3_fill1w :: Ptr RawTH3 -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_fillN1" c_th3_filln1- ::- Ptr RawTH3 ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_fillN1"+ c_th3_filln1 ::+ Ptr RawTH3 -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_FillRandom"+foreign import ccall interruptible "HROOTHistTH3.h TH3_FillRandom" c_th3_fillrandom :: Ptr RawTH3 -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_FindBin"+foreign import ccall interruptible "HROOTHistTH3.h TH3_FindBin" c_th3_findbin :: Ptr RawTH3 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_FindFixBin"+foreign import ccall interruptible "HROOTHistTH3.h TH3_FindFixBin" c_th3_findfixbin :: Ptr RawTH3 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_FindFirstBinAbove"- c_th3_findfirstbinabove :: Ptr RawTH3 -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_FindFirstBinAbove" c_th3_findfirstbinabove ::+ Ptr RawTH3 -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_FindLastBinAbove"- c_th3_findlastbinabove :: Ptr RawTH3 -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_FindLastBinAbove" c_th3_findlastbinabove ::+ Ptr RawTH3 -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_Fit" c_th3_fit ::+foreign import ccall interruptible "HROOTHistTH3.h TH3_Fit"+ c_th3_fit :: Ptr RawTH3 -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_FitPanelTH1"+foreign import ccall interruptible "HROOTHistTH3.h TH3_FitPanelTH1" c_th3_fitpanelth1 :: Ptr RawTH3 -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_getNdivisionA"- c_th3_getndivisiona :: Ptr RawTH3 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getNdivisionA" c_th3_getndivisiona ::+ Ptr RawTH3 -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_getAxisColorA"- c_th3_getaxiscolora :: Ptr RawTH3 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getAxisColorA" c_th3_getaxiscolora ::+ Ptr RawTH3 -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3.h TH3_getLabelColorA"- c_th3_getlabelcolora :: Ptr RawTH3 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getLabelColorA" c_th3_getlabelcolora ::+ Ptr RawTH3 -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3.h TH3_getLabelFontA"- c_th3_getlabelfonta :: Ptr RawTH3 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getLabelFontA" c_th3_getlabelfonta ::+ Ptr RawTH3 -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3.h TH3_getLabelOffsetA"- c_th3_getlabeloffseta :: Ptr RawTH3 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getLabelOffsetA" c_th3_getlabeloffseta ::+ Ptr RawTH3 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3.h TH3_getLabelSizeA"- c_th3_getlabelsizea :: Ptr RawTH3 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getLabelSizeA" c_th3_getlabelsizea ::+ Ptr RawTH3 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3.h TH3_getTitleFontA"- c_th3_gettitlefonta :: Ptr RawTH3 -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getTitleFontA" c_th3_gettitlefonta ::+ Ptr RawTH3 -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3.h TH3_getTitleOffsetA"- c_th3_gettitleoffseta :: Ptr RawTH3 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getTitleOffsetA" c_th3_gettitleoffseta ::+ Ptr RawTH3 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3.h TH3_getTitleSizeA"- c_th3_gettitlesizea :: Ptr RawTH3 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getTitleSizeA" c_th3_gettitlesizea ::+ Ptr RawTH3 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3.h TH3_getTickLengthA"- c_th3_getticklengtha :: Ptr RawTH3 -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getTickLengthA" c_th3_getticklengtha ::+ Ptr RawTH3 -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3.h TH3_GetBarOffset"- c_th3_getbaroffset :: Ptr RawTH3 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetBarOffset" c_th3_getbaroffset ::+ Ptr RawTH3 -> IO CFloat -foreign import ccall safe "HROOTHistTH3.h TH3_GetBarWidth"- c_th3_getbarwidth :: Ptr RawTH3 -> IO CDouble+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetBarWidth"+ c_th3_getbarwidth :: Ptr RawTH3 -> IO CFloat -foreign import ccall safe "HROOTHistTH3.h TH3_GetContour"- c_th3_getcontour :: Ptr RawTH3 -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetContour"+ c_th3_getcontour :: Ptr RawTH3 -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_GetContourLevel"- c_th3_getcontourlevel :: Ptr RawTH3 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetContourLevel" c_th3_getcontourlevel ::+ Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetContourLevelPad"- c_th3_getcontourlevelpad :: Ptr RawTH3 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetContourLevelPad" c_th3_getcontourlevelpad ::+ Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetBin" c_th3_getbin- :: Ptr RawTH3 -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetBin"+ c_th3_getbin :: Ptr RawTH3 -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_GetBinCenter"- c_th3_getbincenter :: Ptr RawTH3 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetBinCenter" c_th3_getbincenter ::+ Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetBinContent1"- c_th3_getbincontent1 :: Ptr RawTH3 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetBinContent1" c_th3_getbincontent1 ::+ Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetBinContent2"- c_th3_getbincontent2 :: Ptr RawTH3 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetBinContent2" c_th3_getbincontent2 ::+ Ptr RawTH3 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetBinContent3"- c_th3_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetBinContent3" c_th3_getbincontent3 :: Ptr RawTH3 -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetBinError1"- c_th3_getbinerror1 :: Ptr RawTH3 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetBinError1" c_th3_getbinerror1 ::+ Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetBinError2"- c_th3_getbinerror2 :: Ptr RawTH3 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetBinError2" c_th3_getbinerror2 ::+ Ptr RawTH3 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetBinError3"- c_th3_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetBinError3" c_th3_getbinerror3 :: Ptr RawTH3 -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetBinLowEdge"- c_th3_getbinlowedge :: Ptr RawTH3 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetBinLowEdge" c_th3_getbinlowedge ::+ Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetBinWidth"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetBinWidth" c_th3_getbinwidth :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetCellContent"- c_th3_getcellcontent :: Ptr RawTH3 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetCellContent" c_th3_getcellcontent ::+ Ptr RawTH3 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetCellError"- c_th3_getcellerror :: Ptr RawTH3 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetCellError" c_th3_getcellerror ::+ Ptr RawTH3 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetEntries"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetEntries" c_th3_getentries :: Ptr RawTH3 -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetEffectiveEntries"- c_th3_geteffectiveentries :: Ptr RawTH3 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetEffectiveEntries" c_th3_geteffectiveentries+ :: Ptr RawTH3 -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetFunction"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetFunction" c_th3_getfunction :: Ptr RawTH3 -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH3.h TH3_GetDimension"- c_th3_getdimension :: Ptr RawTH3 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetDimension" c_th3_getdimension ::+ Ptr RawTH3 -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_GetKurtosis"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetKurtosis" c_th3_getkurtosis :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetLowEdge"- c_th3_getlowedge :: Ptr RawTH3 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetLowEdge"+ c_th3_getlowedge :: Ptr RawTH3 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_getMaximumTH1"- c_th3_getmaximumth1 :: Ptr RawTH3 -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getMaximumTH1" c_th3_getmaximumth1 ::+ Ptr RawTH3 -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetMaximumBin"- c_th3_getmaximumbin :: Ptr RawTH3 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetMaximumBin" c_th3_getmaximumbin ::+ Ptr RawTH3 -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_GetMaximumStored"- c_th3_getmaximumstored :: Ptr RawTH3 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetMaximumStored" c_th3_getmaximumstored ::+ Ptr RawTH3 -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_getMinimumTH1"- c_th3_getminimumth1 :: Ptr RawTH3 -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getMinimumTH1" c_th3_getminimumth1 ::+ Ptr RawTH3 -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetMinimumBin"- c_th3_getminimumbin :: Ptr RawTH3 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetMinimumBin" c_th3_getminimumbin ::+ Ptr RawTH3 -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_GetMinimumStored"- c_th3_getminimumstored :: Ptr RawTH3 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetMinimumStored" c_th3_getminimumstored ::+ Ptr RawTH3 -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetMean"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetMean" c_th3_getmean :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetMeanError"- c_th3_getmeanerror :: Ptr RawTH3 -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetMeanError" c_th3_getmeanerror ::+ Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetNbinsX" c_th3_getnbinsx :: Ptr RawTH3 -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetNbinsY" c_th3_getnbinsy :: Ptr RawTH3 -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetNbinsZ" c_th3_getnbinsz :: Ptr RawTH3 -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_getQuantilesTH1"- c_th3_getquantilesth1 ::- Ptr RawTH3 -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getQuantilesTH1" c_th3_getquantilesth1 ::+ Ptr RawTH3 -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_GetRandom"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetRandom" c_th3_getrandom :: Ptr RawTH3 -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetStats"- c_th3_getstats :: Ptr RawTH3 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetStats"+ c_th3_getstats :: Ptr RawTH3 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_GetSumOfWeights"- c_th3_getsumofweights :: Ptr RawTH3 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetSumOfWeights" c_th3_getsumofweights ::+ Ptr RawTH3 -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetSumw2"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetSumw2" c_th3_getsumw2 :: Ptr RawTH3 -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH3.h TH3_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetSumw2N" c_th3_getsumw2n :: Ptr RawTH3 -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_GetRMS" c_th3_getrms- :: Ptr RawTH3 -> CInt -> IO CDouble+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetRMS"+ c_th3_getrms :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetRMSError"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetRMSError" c_th3_getrmserror :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_GetSkewness"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetSkewness" c_th3_getskewness :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_integral1"- c_th3_integral1 ::- Ptr RawTH3 -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH3.h TH3_interpolate1"- c_th3_interpolate1 :: Ptr RawTH3 -> CDouble -> IO CDouble--foreign import ccall safe "HROOTHistTH3.h TH3_interpolate2"- c_th3_interpolate2 ::- Ptr RawTH3 -> CDouble -> CDouble -> IO CDouble--foreign import ccall safe "HROOTHistTH3.h TH3_interpolate3"- c_th3_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_interpolate3" c_th3_interpolate3 :: Ptr RawTH3 -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_KolmogorovTest"- c_th3_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_KolmogorovTest" c_th3_kolmogorovtest :: Ptr RawTH3 -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_LabelsDeflate"- c_th3_labelsdeflate :: Ptr RawTH3 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_LabelsDeflate" c_th3_labelsdeflate ::+ Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_LabelsInflate"- c_th3_labelsinflate :: Ptr RawTH3 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_LabelsInflate" c_th3_labelsinflate ::+ Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_LabelsOption"- c_th3_labelsoption :: Ptr RawTH3 -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_LabelsOption" c_th3_labelsoption ::+ Ptr RawTH3 -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_multiflyF"+foreign import ccall interruptible "HROOTHistTH3.h TH3_multiflyF" c_th3_multiflyf :: Ptr RawTH3 -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_Multiply"+foreign import ccall interruptible "HROOTHistTH3.h TH3_Multiply" c_th3_multiply :: Ptr RawTH3 -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_PutStats"- c_th3_putstats :: Ptr RawTH3 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_PutStats"+ c_th3_putstats :: Ptr RawTH3 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_Rebin" c_th3_rebin ::- Ptr RawTH3 -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH3.h TH3_Rebin"+ c_th3_rebin ::+ Ptr RawTH3 -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3.h TH3_RebinAxis"+foreign import ccall interruptible "HROOTHistTH3.h TH3_RebinAxis" c_th3_rebinaxis :: Ptr RawTH3 -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_Rebuild"+foreign import ccall interruptible "HROOTHistTH3.h TH3_Rebuild" c_th3_rebuild :: Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_RecursiveRemove"- c_th3_recursiveremove :: Ptr RawTH3 -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_RecursiveRemove" c_th3_recursiveremove ::+ Ptr RawTH3 -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_Reset" c_th3_reset ::- Ptr RawTH3 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_Reset"+ c_th3_reset :: Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_ResetStats"+foreign import ccall interruptible "HROOTHistTH3.h TH3_ResetStats" c_th3_resetstats :: Ptr RawTH3 -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_Scale" c_th3_scale ::- Ptr RawTH3 -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_Scale"+ c_th3_scale :: Ptr RawTH3 -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setAxisColorA"- c_th3_setaxiscolora :: Ptr RawTH3 -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_setAxisColorA" c_th3_setaxiscolora ::+ Ptr RawTH3 -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetAxisRange"- c_th3_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetAxisRange" c_th3_setaxisrange :: Ptr RawTH3 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetBarOffset"- c_th3_setbaroffset :: Ptr RawTH3 -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetBarOffset" c_th3_setbaroffset ::+ Ptr RawTH3 -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetBarWidth"- c_th3_setbarwidth :: Ptr RawTH3 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetBarWidth"+ c_th3_setbarwidth :: Ptr RawTH3 -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setBinContent1"- c_th3_setbincontent1 :: Ptr RawTH3 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_setBinContent1" c_th3_setbincontent1 ::+ Ptr RawTH3 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setBinContent2"- c_th3_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_setBinContent2" c_th3_setbincontent2 :: Ptr RawTH3 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setBinContent3"- c_th3_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_setBinContent3" c_th3_setbincontent3 :: Ptr RawTH3 -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setBinError1"- c_th3_setbinerror1 :: Ptr RawTH3 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_setBinError1" c_th3_setbinerror1 ::+ Ptr RawTH3 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setBinError2"- c_th3_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_setBinError2" c_th3_setbinerror2 :: Ptr RawTH3 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setBinError3"- c_th3_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_setBinError3" c_th3_setbinerror3 :: Ptr RawTH3 -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setBins1"- c_th3_setbins1 :: Ptr RawTH3 -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_setBins1"+ c_th3_setbins1 :: Ptr RawTH3 -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setBins2"+foreign import ccall interruptible "HROOTHistTH3.h TH3_setBins2" c_th3_setbins2 ::- Ptr RawTH3 ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH3 -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setBins3"+foreign import ccall interruptible "HROOTHistTH3.h TH3_setBins3" c_th3_setbins3 :: Ptr RawTH3 -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetBinsLength"- c_th3_setbinslength :: Ptr RawTH3 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetBinsLength" c_th3_setbinslength ::+ Ptr RawTH3 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetBuffer"+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetBuffer" c_th3_setbuffer :: Ptr RawTH3 -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetCellContent"- c_th3_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetCellContent" c_th3_setcellcontent :: Ptr RawTH3 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetContent"- c_th3_setcontent :: Ptr RawTH3 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetContent"+ c_th3_setcontent :: Ptr RawTH3 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetContour"- c_th3_setcontour :: Ptr RawTH3 -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetContour"+ c_th3_setcontour :: Ptr RawTH3 -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetContourLevel"- c_th3_setcontourlevel :: Ptr RawTH3 -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetContourLevel" c_th3_setcontourlevel ::+ Ptr RawTH3 -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetDirectory"- c_th3_setdirectory :: Ptr RawTH3 -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetDirectory" c_th3_setdirectory ::+ Ptr RawTH3 -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetEntries"+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetEntries" c_th3_setentries :: Ptr RawTH3 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetError"- c_th3_seterror :: Ptr RawTH3 -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetError"+ c_th3_seterror :: Ptr RawTH3 -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setLabelColorA"- c_th3_setlabelcolora :: Ptr RawTH3 -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_setLabelColorA" c_th3_setlabelcolora ::+ Ptr RawTH3 -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setLabelSizeA"- c_th3_setlabelsizea :: Ptr RawTH3 -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_setLabelSizeA" c_th3_setlabelsizea ::+ Ptr RawTH3 -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setLabelFontA"- c_th3_setlabelfonta :: Ptr RawTH3 -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_setLabelFontA" c_th3_setlabelfonta ::+ Ptr RawTH3 -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_setLabelOffsetA"- c_th3_setlabeloffseta :: Ptr RawTH3 -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_setLabelOffsetA" c_th3_setlabeloffseta ::+ Ptr RawTH3 -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetMaximum"+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetMaximum" c_th3_setmaximum :: Ptr RawTH3 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetMinimum"+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetMinimum" c_th3_setminimum :: Ptr RawTH3 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetNormFactor"- c_th3_setnormfactor :: Ptr RawTH3 -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetNormFactor" c_th3_setnormfactor ::+ Ptr RawTH3 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetStats"- c_th3_setstats :: Ptr RawTH3 -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetStats"+ c_th3_setstats :: Ptr RawTH3 -> CBool -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetOption"+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetOption" c_th3_setoption :: Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetXTitle"+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetXTitle" c_th3_setxtitle :: Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetYTitle"+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetYTitle" c_th3_setytitle :: Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetZTitle"+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetZTitle" c_th3_setztitle :: Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_ShowBackground"- c_th3_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_ShowBackground" c_th3_showbackground :: Ptr RawTH3 -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3.h TH3_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH3.h TH3_ShowPeaks" c_th3_showpeaks :: Ptr RawTH3 -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_Smooth" c_th3_smooth- :: Ptr RawTH3 -> CInt -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_Smooth"+ c_th3_smooth :: Ptr RawTH3 -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_Sumw2" c_th3_sumw2 ::- Ptr RawTH3 -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_Sumw2"+ c_th3_sumw2 :: Ptr RawTH3 -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetName"+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetName" c_th3_setname :: Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetNameTitle"- c_th3_setnametitle :: Ptr RawTH3 -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetNameTitle" c_th3_setnametitle ::+ Ptr RawTH3 -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetTitle"+foreign import ccall interruptible "HROOTHistTH3.h TH3_SetTitle" c_th3_settitle :: Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_GetLineColor"- c_th3_getlinecolor :: Ptr RawTH3 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetLineColor" c_th3_getlinecolor ::+ Ptr RawTH3 -> IO CShort -foreign import ccall safe "HROOTHistTH3.h TH3_GetLineStyle"- c_th3_getlinestyle :: Ptr RawTH3 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetLineStyle" c_th3_getlinestyle ::+ Ptr RawTH3 -> IO CShort -foreign import ccall safe "HROOTHistTH3.h TH3_GetLineWidth"- c_th3_getlinewidth :: Ptr RawTH3 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetLineWidth" c_th3_getlinewidth ::+ Ptr RawTH3 -> IO CShort -foreign import ccall safe "HROOTHistTH3.h TH3_ResetAttLine"- c_th3_resetattline :: Ptr RawTH3 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_ResetAttLine" c_th3_resetattline ::+ Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetLineAttributes"- c_th3_setlineattributes :: Ptr RawTH3 -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetLineAttributes" c_th3_setlineattributes ::+ Ptr RawTH3 -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetLineColor"- c_th3_setlinecolor :: Ptr RawTH3 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetLineColor" c_th3_setlinecolor ::+ Ptr RawTH3 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetLineStyle"- c_th3_setlinestyle :: Ptr RawTH3 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetLineStyle" c_th3_setlinestyle ::+ Ptr RawTH3 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetLineWidth"- c_th3_setlinewidth :: Ptr RawTH3 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetLineWidth" c_th3_setlinewidth ::+ Ptr RawTH3 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetFillColor"- c_th3_setfillcolor :: Ptr RawTH3 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetFillColor" c_th3_setfillcolor ::+ Ptr RawTH3 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetFillStyle"- c_th3_setfillstyle :: Ptr RawTH3 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetFillStyle" c_th3_setfillstyle ::+ Ptr RawTH3 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_GetMarkerColor"- c_th3_getmarkercolor :: Ptr RawTH3 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetMarkerColor" c_th3_getmarkercolor ::+ Ptr RawTH3 -> IO CShort -foreign import ccall safe "HROOTHistTH3.h TH3_GetMarkerStyle"- c_th3_getmarkerstyle :: Ptr RawTH3 -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetMarkerStyle" c_th3_getmarkerstyle ::+ Ptr RawTH3 -> IO CShort -foreign import ccall safe "HROOTHistTH3.h TH3_GetMarkerSize"- c_th3_getmarkersize :: Ptr RawTH3 -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_GetMarkerSize" c_th3_getmarkersize ::+ Ptr RawTH3 -> IO CFloat -foreign import ccall safe "HROOTHistTH3.h TH3_ResetAttMarker"- c_th3_resetattmarker :: Ptr RawTH3 -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_ResetAttMarker" c_th3_resetattmarker ::+ Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetMarkerAttributes"- c_th3_setmarkerattributes :: Ptr RawTH3 -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetMarkerAttributes" c_th3_setmarkerattributes+ :: Ptr RawTH3 -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetMarkerColor"- c_th3_setmarkercolor :: Ptr RawTH3 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetMarkerColor" c_th3_setmarkercolor ::+ Ptr RawTH3 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetMarkerStyle"- c_th3_setmarkerstyle :: Ptr RawTH3 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetMarkerStyle" c_th3_setmarkerstyle ::+ Ptr RawTH3 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SetMarkerSize"- c_th3_setmarkersize :: Ptr RawTH3 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_SetMarkerSize" c_th3_setmarkersize ::+ Ptr RawTH3 -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_Draw" c_th3_draw ::- Ptr RawTH3 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_Clear"+ c_th3_clear :: Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_FindObject"+foreign import ccall interruptible "HROOTHistTH3.h TH3_Draw"+ c_th3_draw :: Ptr RawTH3 -> CString -> IO ()++foreign import ccall interruptible "HROOTHistTH3.h TH3_FindObject" c_th3_findobject :: Ptr RawTH3 -> CString -> IO (Ptr RawTObject) -foreign import ccall safe "HROOTHistTH3.h TH3_GetName"+foreign import ccall interruptible "HROOTHistTH3.h TH3_GetName" c_th3_getname :: Ptr RawTH3 -> IO CString -foreign import ccall safe "HROOTHistTH3.h TH3_IsA" c_th3_isa ::- Ptr RawTH3 -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH3.h TH3_IsA"+ c_th3_isa :: Ptr RawTH3 -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH3.h TH3_Paint" c_th3_paint ::- Ptr RawTH3 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_Paint"+ c_th3_paint :: Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_printObj"+foreign import ccall interruptible "HROOTHistTH3.h TH3_printObj" c_th3_printobj :: Ptr RawTH3 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_SaveAs" c_th3_saveas- :: Ptr RawTH3 -> CString -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_SaveAs"+ c_th3_saveas :: Ptr RawTH3 -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3.h TH3_Write" c_th3_write ::- Ptr RawTH3 -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH3.h TH3_Write"+ c_th3_write :: Ptr RawTH3 -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_delete" c_th3_delete- :: Ptr RawTH3 -> IO ()+foreign import ccall interruptible "HROOTHistTH3.h TH3_Write_"+ c_th3_write_ :: Ptr RawTH3 -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_fill3" c_th3_fill3 ::+foreign import ccall interruptible "HROOTHistTH3.h TH3_delete"+ c_th3_delete :: Ptr RawTH3 -> IO ()++foreign import ccall interruptible "HROOTHistTH3.h TH3_fill3"+ c_th3_fill3 :: Ptr RawTH3 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_fill3w" c_th3_fill3w- ::+foreign import ccall interruptible "HROOTHistTH3.h TH3_fill3w"+ c_th3_fill3w :: Ptr RawTH3 -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3.h TH3_FitSlicesZ"+foreign import ccall interruptible "HROOTHistTH3.h TH3_FitSlicesZ" c_th3_fitslicesz :: Ptr RawTH3 -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3.h TH3_getCorrelationFactor3" c_th3_getcorrelationfactor3 :: Ptr RawTH3 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_getCovariance3"- c_th3_getcovariance3 :: Ptr RawTH3 -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_getCovariance3" c_th3_getcovariance3 ::+ Ptr RawTH3 -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3.h TH3_tH3ProjectionX"- c_th3_th3projectionx ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_tH3_ProjectionX" c_th3_th3_projectionx :: Ptr RawTH3 -> CString -> CInt -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH1D) -foreign import ccall safe "HROOTHistTH3.h TH3_tH3ProjectionY"- c_th3_th3projectiony ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_tH3_ProjectionY" c_th3_th3_projectiony :: Ptr RawTH3 -> CString -> CInt -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH1D) -foreign import ccall safe "HROOTHistTH3.h TH3_tH3ProjectionZ"- c_th3_th3projectionz ::+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_tH3_ProjectionZ" c_th3_th3_projectionz :: Ptr RawTH3 -> CString -> CInt -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH1D) -foreign import ccall safe "HROOTHistTH3.h TH3_tH3Project3D"- c_th3_th3project3d :: Ptr RawTH3 -> CString -> IO (Ptr RawTH1)+foreign import ccall interruptible+ "HROOTHistTH3.h TH3_tH3_Project3D" c_th3_th3_project3d ::+ Ptr RawTH3 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3.h TH3_rebinX3"+foreign import ccall interruptible "HROOTHistTH3.h TH3_rebinX3" c_th3_rebinx3 :: Ptr RawTH3 -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3.h TH3_rebinY3"+foreign import ccall interruptible "HROOTHistTH3.h TH3_rebinY3" c_th3_rebiny3 :: Ptr RawTH3 -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3.h TH3_rebinZ3"+foreign import ccall interruptible "HROOTHistTH3.h TH3_rebinZ3" c_th3_rebinz3 :: Ptr RawTH3 -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3.h TH3_Rebin3D"+foreign import ccall interruptible "HROOTHistTH3.h TH3_Rebin3D" c_th3_rebin3d :: Ptr RawTH3 -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH3)
src/HROOT/Hist/TH3/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH3.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH3.RawType import HROOT.Hist.TH3.FFI import HROOT.Hist.TH3.Interface import HROOT.Hist.TH3.Cast+import HROOT.Hist.TH3.RawType+import HROOT.Hist.TH3.Cast+import HROOT.Hist.TH3.Interface import HROOT.Core.TDirectory.RawType import HROOT.Core.TDirectory.Cast import HROOT.Core.TDirectory.Interface@@ -51,11 +60,11 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface -instance ITH3 TH3 where+instance () => ITH3 (TH3) where fill3 = xform3 c_th3_fill3 fill3w = xform4 c_th3_fill3w fitSlicesZ = xform7 c_th3_fitslicesz@@ -66,11 +75,10 @@ rebinZ3 = xform2 c_th3_rebinz3 rebin3D = xform4 c_th3_rebin3d -instance ITH1 TH3 where+instance () => ITH1 (TH3) where add = xform2 c_th3_add addBinContent = xform2 c_th3_addbincontent chi2Test = xform3 c_th3_chi2test- computeIntegral = xform0 c_th3_computeintegral directoryAutoAdd = xform1 c_th3_directoryautoadd divide = xform5 c_th3_divide drawCopyTH1 = xform1 c_th3_drawcopyth1@@ -142,9 +150,6 @@ getRMS = xform1 c_th3_getrms getRMSError = xform1 c_th3_getrmserror getSkewness = xform1 c_th3_getskewness- integral1 = xform3 c_th3_integral1- interpolate1 = xform1 c_th3_interpolate1- interpolate2 = xform2 c_th3_interpolate2 interpolate3 = xform3 c_th3_interpolate3 kolmogorovTest = xform2 c_th3_kolmogorovtest labelsDeflate = xform1 c_th3_labelsdeflate@@ -199,14 +204,14 @@ smooth = xform2 c_th3_smooth sumw2 = xform0 c_th3_sumw2 -instance ITAtt3D TH3+instance () => ITAtt3D (TH3) where -instance ITNamed TH3 where+instance () => ITNamed (TH3) where setName = xform1 c_th3_setname setNameTitle = xform2 c_th3_setnametitle setTitle = xform1 c_th3_settitle -instance ITAttLine TH3 where+instance () => ITAttLine (TH3) where getLineColor = xform0 c_th3_getlinecolor getLineStyle = xform0 c_th3_getlinestyle getLineWidth = xform0 c_th3_getlinewidth@@ -216,11 +221,11 @@ setLineStyle = xform1 c_th3_setlinestyle setLineWidth = xform1 c_th3_setlinewidth -instance ITAttFill TH3 where+instance () => ITAttFill (TH3) where setFillColor = xform1 c_th3_setfillcolor setFillStyle = xform1 c_th3_setfillstyle -instance ITAttMarker TH3 where+instance () => ITAttMarker (TH3) where getMarkerColor = xform0 c_th3_getmarkercolor getMarkerStyle = xform0 c_th3_getmarkerstyle getMarkerSize = xform0 c_th3_getmarkersize@@ -230,7 +235,8 @@ setMarkerStyle = xform1 c_th3_setmarkerstyle setMarkerSize = xform1 c_th3_setmarkersize -instance ITObject TH3 where+instance () => ITObject (TH3) where+ clear = xform1 c_th3_clear draw = xform1 c_th3_draw findObject = xform1 c_th3_findobject getName = xform0 c_th3_getname@@ -239,24 +245,25 @@ printObj = xform1 c_th3_printobj saveAs = xform2 c_th3_saveas write = xform3 c_th3_write+ write_ = xform0 c_th3_write_ -instance IDeletable TH3 where+instance () => IDeletable (TH3) where delete = xform0 c_th3_delete -tH3ProjectionX ::- (Castable c1 CString, Castable c0 CString) =>- TH3 -> c0 -> CInt -> CInt -> CInt -> CInt -> c1 -> IO TH1D-tH3ProjectionX = xform6 c_th3_th3projectionx+tH3_ProjectionX ::+ (Castable c1 CString, Castable c0 CString) =>+ TH3 -> c0 -> CInt -> CInt -> CInt -> CInt -> c1 -> IO TH1D+tH3_ProjectionX = xform6 c_th3_th3_projectionx -tH3ProjectionY ::- (Castable c1 CString, Castable c0 CString) =>- TH3 -> c0 -> CInt -> CInt -> CInt -> CInt -> c1 -> IO TH1D-tH3ProjectionY = xform6 c_th3_th3projectiony+tH3_ProjectionY ::+ (Castable c1 CString, Castable c0 CString) =>+ TH3 -> c0 -> CInt -> CInt -> CInt -> CInt -> c1 -> IO TH1D+tH3_ProjectionY = xform6 c_th3_th3_projectiony -tH3ProjectionZ ::- (Castable c1 CString, Castable c0 CString) =>- TH3 -> c0 -> CInt -> CInt -> CInt -> CInt -> c1 -> IO TH1D-tH3ProjectionZ = xform6 c_th3_th3projectionz+tH3_ProjectionZ ::+ (Castable c1 CString, Castable c0 CString) =>+ TH3 -> c0 -> CInt -> CInt -> CInt -> CInt -> c1 -> IO TH1D+tH3_ProjectionZ = xform6 c_th3_th3_projectionz -tH3Project3D :: Castable c0 CString => TH3 -> c0 -> IO TH1-tH3Project3D = xform1 c_th3_th3project3d+tH3_Project3D :: (Castable c0 CString) => TH3 -> c0 -> IO TH1+tH3_Project3D = xform1 c_th3_th3_project3d
src/HROOT/Hist/TH3/Interface.hs view
@@ -4,37 +4,37 @@ TypeSynonymInstances #-} module HROOT.Hist.TH3.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import HROOT.Hist.TH3.RawType-import HROOT.Hist.TH1D.RawType-import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.Interface import HROOT.Core.TAtt3D.Interface-import {-# SOURCE #-} HROOT.Hist.TF1.Interface+import HROOT.Hist.TF1.Interface class (ITH1 a, ITAtt3D a) => ITH3 a where- fill3 :: a -> CDouble -> CDouble -> CDouble -> IO CInt+ fill3 :: () => a -> CDouble -> CDouble -> CDouble -> IO CInt - fill3w :: a -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt+ fill3w ::+ () => a -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt fitSlicesZ :: (Castable c1 CString, ITF1 c0, FPtr c0) => a -> c0 -> CInt -> CInt -> CInt -> CInt -> CInt -> c1 -> IO () - getCorrelationFactor3 :: a -> CInt -> CInt -> IO CDouble+ getCorrelationFactor3 :: () => a -> CInt -> CInt -> IO CDouble - getCovariance3 :: a -> CInt -> CInt -> IO CDouble+ getCovariance3 :: () => a -> CInt -> CInt -> IO CDouble - rebinX3 :: Castable c0 CString => a -> CInt -> c0 -> IO TH3+ rebinX3 :: (Castable c0 CString) => a -> CInt -> c0 -> IO TH3 - rebinY3 :: Castable c0 CString => a -> CInt -> c0 -> IO TH3+ rebinY3 :: (Castable c0 CString) => a -> CInt -> c0 -> IO TH3 - rebinZ3 :: Castable c0 CString => a -> CInt -> c0 -> IO TH3+ rebinZ3 :: (Castable c0 CString) => a -> CInt -> c0 -> IO TH3 rebin3D ::- Castable c0 CString => a -> CInt -> CInt -> CInt -> c0 -> IO TH3+ (Castable c0 CString) => a -> CInt -> CInt -> CInt -> c0 -> IO TH3 upcastTH3 :: forall a . (FPtr a, ITH3 a) => a -> TH3 upcastTH3 h
src/HROOT/Hist/TH3/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH3 newtype TH3 = TH3 (Ptr RawTH3)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH3 where+instance () => FPtr (TH3) where type Raw TH3 = RawTH3 get_fptr (TH3 ptr) = ptr cast_fptr_to_obj = TH3
src/HROOT/Hist/TH3C/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH3C.RawType import HROOT.Hist.TH3C.Interface -instance (ITH3C a, FPtr a) => Castable a (Ptr RawTH3C) where+instance (ITH3C a, FPtr a) => Castable (a) (Ptr RawTH3C) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH3C (Ptr RawTH3C) where+instance () => Castable (TH3C) (Ptr RawTH3C) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH3C/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH3C.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH3C.RawType+import HROOT.Hist.TH3C.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1.RawType import HROOT.Hist.TH3.RawType@@ -13,558 +16,646 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH3C.h TH3C_fill3" c_th3c_fill3- :: Ptr RawTH3C -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_fill3"+ c_th3c_fill3 ::+ Ptr RawTH3C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_fill3w"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_fill3w" c_th3c_fill3w :: Ptr RawTH3C -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_FitSlicesZ"- c_th3c_fitslicesz ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_FitSlicesZ" c_th3c_fitslicesz :: Ptr RawTH3C -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_getCorrelationFactor3" c_th3c_getcorrelationfactor3 :: Ptr RawTH3C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_getCovariance3"- c_th3c_getcovariance3 :: Ptr RawTH3C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getCovariance3" c_th3c_getcovariance3 ::+ Ptr RawTH3C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_rebinX3"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_rebinX3" c_th3c_rebinx3 :: Ptr RawTH3C -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3C.h TH3C_rebinY3"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_rebinY3" c_th3c_rebiny3 :: Ptr RawTH3C -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3C.h TH3C_rebinZ3"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_rebinZ3" c_th3c_rebinz3 :: Ptr RawTH3C -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3C.h TH3C_Rebin3D"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Rebin3D" c_th3c_rebin3d :: Ptr RawTH3C -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3C.h TH3C_Add" c_th3c_add ::- Ptr RawTH3C -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Add"+ c_th3c_add :: Ptr RawTH3C -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_AddBinContent"- c_th3c_addbincontent :: Ptr RawTH3C -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_AddBinContent" c_th3c_addbincontent ::+ Ptr RawTH3C -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_Chi2Test"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Chi2Test" c_th3c_chi2test ::- Ptr RawTH3C -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH3C.h TH3C_ComputeIntegral"- c_th3c_computeintegral :: Ptr RawTH3C -> IO CDouble+ Ptr RawTH3C -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_DirectoryAutoAdd"- c_th3c_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_DirectoryAutoAdd" c_th3c_directoryautoadd :: Ptr RawTH3C -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_Divide"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Divide" c_th3c_divide :: Ptr RawTH3C -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_drawCopyTH1"- c_th3c_drawcopyth1 :: Ptr RawTH3C -> CString -> IO (Ptr RawTH3C)+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_drawCopyTH1" c_th3c_drawcopyth1 ::+ Ptr RawTH3C -> CString -> IO (Ptr RawTH3C) -foreign import ccall safe "HROOTHistTH3C.h TH3C_DrawNormalized"- c_th3c_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_DrawNormalized" c_th3c_drawnormalized :: Ptr RawTH3C -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3C.h TH3C_drawPanelTH1"- c_th3c_drawpanelth1 :: Ptr RawTH3C -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_drawPanelTH1" c_th3c_drawpanelth1 ::+ Ptr RawTH3C -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_BufferEmpty"- c_th3c_bufferempty :: Ptr RawTH3C -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_BufferEmpty" c_th3c_bufferempty ::+ Ptr RawTH3C -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_evalF" c_th3c_evalf- :: Ptr RawTH3C -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_evalF"+ c_th3c_evalf :: Ptr RawTH3C -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_FFT" c_th3c_fft ::+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_FFT"+ c_th3c_fft :: Ptr RawTH3C -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3C.h TH3C_fill1" c_th3c_fill1- :: Ptr RawTH3C -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_fill1"+ c_th3c_fill1 :: Ptr RawTH3C -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_fill1w"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_fill1w" c_th3c_fill1w :: Ptr RawTH3C -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_fillN1"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_fillN1" c_th3c_filln1 ::- Ptr RawTH3C ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH3C -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_FillRandom"- c_th3c_fillrandom :: Ptr RawTH3C -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_FillRandom" c_th3c_fillrandom ::+ Ptr RawTH3C -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_FindBin"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_FindBin" c_th3c_findbin :: Ptr RawTH3C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_FindFixBin"- c_th3c_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_FindFixBin" c_th3c_findfixbin :: Ptr RawTH3C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_FindFirstBinAbove"- c_th3c_findfirstbinabove ::- Ptr RawTH3C -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_FindFirstBinAbove" c_th3c_findfirstbinabove+ :: Ptr RawTH3C -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_FindLastBinAbove"- c_th3c_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_FindLastBinAbove" c_th3c_findlastbinabove :: Ptr RawTH3C -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_Fit" c_th3c_fit ::+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Fit"+ c_th3c_fit :: Ptr RawTH3C -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_FitPanelTH1"- c_th3c_fitpanelth1 :: Ptr RawTH3C -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_FitPanelTH1" c_th3c_fitpanelth1 ::+ Ptr RawTH3C -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_getNdivisionA"- c_th3c_getndivisiona :: Ptr RawTH3C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getNdivisionA" c_th3c_getndivisiona ::+ Ptr RawTH3C -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_getAxisColorA"- c_th3c_getaxiscolora :: Ptr RawTH3C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getAxisColorA" c_th3c_getaxiscolora ::+ Ptr RawTH3C -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3C.h TH3C_getLabelColorA"- c_th3c_getlabelcolora :: Ptr RawTH3C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getLabelColorA" c_th3c_getlabelcolora ::+ Ptr RawTH3C -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3C.h TH3C_getLabelFontA"- c_th3c_getlabelfonta :: Ptr RawTH3C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getLabelFontA" c_th3c_getlabelfonta ::+ Ptr RawTH3C -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3C.h TH3C_getLabelOffsetA"- c_th3c_getlabeloffseta :: Ptr RawTH3C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getLabelOffsetA" c_th3c_getlabeloffseta ::+ Ptr RawTH3C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3C.h TH3C_getLabelSizeA"- c_th3c_getlabelsizea :: Ptr RawTH3C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getLabelSizeA" c_th3c_getlabelsizea ::+ Ptr RawTH3C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3C.h TH3C_getTitleFontA"- c_th3c_gettitlefonta :: Ptr RawTH3C -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getTitleFontA" c_th3c_gettitlefonta ::+ Ptr RawTH3C -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3C.h TH3C_getTitleOffsetA"- c_th3c_gettitleoffseta :: Ptr RawTH3C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getTitleOffsetA" c_th3c_gettitleoffseta ::+ Ptr RawTH3C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3C.h TH3C_getTitleSizeA"- c_th3c_gettitlesizea :: Ptr RawTH3C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getTitleSizeA" c_th3c_gettitlesizea ::+ Ptr RawTH3C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3C.h TH3C_getTickLengthA"- c_th3c_getticklengtha :: Ptr RawTH3C -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getTickLengthA" c_th3c_getticklengtha ::+ Ptr RawTH3C -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBarOffset"- c_th3c_getbaroffset :: Ptr RawTH3C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetBarOffset" c_th3c_getbaroffset ::+ Ptr RawTH3C -> IO CFloat -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBarWidth"- c_th3c_getbarwidth :: Ptr RawTH3C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetBarWidth" c_th3c_getbarwidth ::+ Ptr RawTH3C -> IO CFloat -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetContour"- c_th3c_getcontour :: Ptr RawTH3C -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetContour" c_th3c_getcontour ::+ Ptr RawTH3C -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetContourLevel"- c_th3c_getcontourlevel :: Ptr RawTH3C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetContourLevel" c_th3c_getcontourlevel ::+ Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetContourLevelPad"- c_th3c_getcontourlevelpad :: Ptr RawTH3C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetContourLevelPad" c_th3c_getcontourlevelpad+ :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBin"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_GetBin" c_th3c_getbin :: Ptr RawTH3C -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinCenter"- c_th3c_getbincenter :: Ptr RawTH3C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetBinCenter" c_th3c_getbincenter ::+ Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinContent1"- c_th3c_getbincontent1 :: Ptr RawTH3C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetBinContent1" c_th3c_getbincontent1 ::+ Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinContent2"- c_th3c_getbincontent2 :: Ptr RawTH3C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetBinContent2" c_th3c_getbincontent2 ::+ Ptr RawTH3C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinContent3"- c_th3c_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetBinContent3" c_th3c_getbincontent3 :: Ptr RawTH3C -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinError1"- c_th3c_getbinerror1 :: Ptr RawTH3C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetBinError1" c_th3c_getbinerror1 ::+ Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinError2"- c_th3c_getbinerror2 :: Ptr RawTH3C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetBinError2" c_th3c_getbinerror2 ::+ Ptr RawTH3C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinError3"- c_th3c_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetBinError3" c_th3c_getbinerror3 :: Ptr RawTH3C -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinLowEdge"- c_th3c_getbinlowedge :: Ptr RawTH3C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetBinLowEdge" c_th3c_getbinlowedge ::+ Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinWidth"- c_th3c_getbinwidth :: Ptr RawTH3C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetBinWidth" c_th3c_getbinwidth ::+ Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetCellContent"- c_th3c_getcellcontent :: Ptr RawTH3C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetCellContent" c_th3c_getcellcontent ::+ Ptr RawTH3C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetCellError"- c_th3c_getcellerror :: Ptr RawTH3C -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetCellError" c_th3c_getcellerror ::+ Ptr RawTH3C -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetEntries"- c_th3c_getentries :: Ptr RawTH3C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetEntries" c_th3c_getentries ::+ Ptr RawTH3C -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_GetEffectiveEntries" c_th3c_geteffectiveentries :: Ptr RawTH3C -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetFunction"- c_th3c_getfunction :: Ptr RawTH3C -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetFunction" c_th3c_getfunction ::+ Ptr RawTH3C -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetDimension"- c_th3c_getdimension :: Ptr RawTH3C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetDimension" c_th3c_getdimension ::+ Ptr RawTH3C -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetKurtosis"- c_th3c_getkurtosis :: Ptr RawTH3C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetKurtosis" c_th3c_getkurtosis ::+ Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetLowEdge"- c_th3c_getlowedge :: Ptr RawTH3C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetLowEdge" c_th3c_getlowedge ::+ Ptr RawTH3C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_getMaximumTH1"- c_th3c_getmaximumth1 :: Ptr RawTH3C -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getMaximumTH1" c_th3c_getmaximumth1 ::+ Ptr RawTH3C -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMaximumBin"- c_th3c_getmaximumbin :: Ptr RawTH3C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetMaximumBin" c_th3c_getmaximumbin ::+ Ptr RawTH3C -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMaximumStored"- c_th3c_getmaximumstored :: Ptr RawTH3C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetMaximumStored" c_th3c_getmaximumstored ::+ Ptr RawTH3C -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_getMinimumTH1"- c_th3c_getminimumth1 :: Ptr RawTH3C -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getMinimumTH1" c_th3c_getminimumth1 ::+ Ptr RawTH3C -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMinimumBin"- c_th3c_getminimumbin :: Ptr RawTH3C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetMinimumBin" c_th3c_getminimumbin ::+ Ptr RawTH3C -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMinimumStored"- c_th3c_getminimumstored :: Ptr RawTH3C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetMinimumStored" c_th3c_getminimumstored ::+ Ptr RawTH3C -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMean"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_GetMean" c_th3c_getmean :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMeanError"- c_th3c_getmeanerror :: Ptr RawTH3C -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetMeanError" c_th3c_getmeanerror ::+ Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_GetNbinsX" c_th3c_getnbinsx :: Ptr RawTH3C -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_GetNbinsY" c_th3c_getnbinsy :: Ptr RawTH3C -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_GetNbinsZ" c_th3c_getnbinsz :: Ptr RawTH3C -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_getQuantilesTH1"- c_th3c_getquantilesth1 ::- Ptr RawTH3C -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_getQuantilesTH1" c_th3c_getquantilesth1 ::+ Ptr RawTH3C -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetRandom"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_GetRandom" c_th3c_getrandom :: Ptr RawTH3C -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetStats"- c_th3c_getstats :: Ptr RawTH3C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_GetStats"+ c_th3c_getstats :: Ptr RawTH3C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetSumOfWeights"- c_th3c_getsumofweights :: Ptr RawTH3C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetSumOfWeights" c_th3c_getsumofweights ::+ Ptr RawTH3C -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetSumw2"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_GetSumw2" c_th3c_getsumw2 :: Ptr RawTH3C -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_GetSumw2N" c_th3c_getsumw2n :: Ptr RawTH3C -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetRMS"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_GetRMS" c_th3c_getrms :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetRMSError"- c_th3c_getrmserror :: Ptr RawTH3C -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH3C.h TH3C_GetSkewness"- c_th3c_getskewness :: Ptr RawTH3C -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH3C.h TH3C_integral1"- c_th3c_integral1 ::- Ptr RawTH3C -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH3C.h TH3C_interpolate1"- c_th3c_interpolate1 :: Ptr RawTH3C -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetRMSError" c_th3c_getrmserror ::+ Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_interpolate2"- c_th3c_interpolate2 ::- Ptr RawTH3C -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetSkewness" c_th3c_getskewness ::+ Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_interpolate3"- c_th3c_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_interpolate3" c_th3c_interpolate3 :: Ptr RawTH3C -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_KolmogorovTest"- c_th3c_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_KolmogorovTest" c_th3c_kolmogorovtest :: Ptr RawTH3C -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH3C.h TH3C_LabelsDeflate"- c_th3c_labelsdeflate :: Ptr RawTH3C -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_LabelsDeflate" c_th3c_labelsdeflate ::+ Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_LabelsInflate"- c_th3c_labelsinflate :: Ptr RawTH3C -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_LabelsInflate" c_th3c_labelsinflate ::+ Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_LabelsOption"- c_th3c_labelsoption :: Ptr RawTH3C -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_LabelsOption" c_th3c_labelsoption ::+ Ptr RawTH3C -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_multiflyF"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_multiflyF" c_th3c_multiflyf :: Ptr RawTH3C -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_Multiply"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Multiply" c_th3c_multiply :: Ptr RawTH3C -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_PutStats"- c_th3c_putstats :: Ptr RawTH3C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_PutStats"+ c_th3c_putstats :: Ptr RawTH3C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_Rebin" c_th3c_rebin- ::- Ptr RawTH3C -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Rebin"+ c_th3c_rebin ::+ Ptr RawTH3C -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3C.h TH3C_RebinAxis"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_RebinAxis" c_th3c_rebinaxis :: Ptr RawTH3C -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_Rebuild"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Rebuild" c_th3c_rebuild :: Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_RecursiveRemove"- c_th3c_recursiveremove :: Ptr RawTH3C -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_RecursiveRemove" c_th3c_recursiveremove ::+ Ptr RawTH3C -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_Reset" c_th3c_reset- :: Ptr RawTH3C -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Reset"+ c_th3c_reset :: Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_ResetStats"- c_th3c_resetstats :: Ptr RawTH3C -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_ResetStats" c_th3c_resetstats ::+ Ptr RawTH3C -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_Scale" c_th3c_scale- :: Ptr RawTH3C -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Scale"+ c_th3c_scale :: Ptr RawTH3C -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setAxisColorA"- c_th3c_setaxiscolora :: Ptr RawTH3C -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_setAxisColorA" c_th3c_setaxiscolora ::+ Ptr RawTH3C -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetAxisRange"- c_th3c_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetAxisRange" c_th3c_setaxisrange :: Ptr RawTH3C -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetBarOffset"- c_th3c_setbaroffset :: Ptr RawTH3C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetBarOffset" c_th3c_setbaroffset ::+ Ptr RawTH3C -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetBarWidth"- c_th3c_setbarwidth :: Ptr RawTH3C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetBarWidth" c_th3c_setbarwidth ::+ Ptr RawTH3C -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setBinContent1"- c_th3c_setbincontent1 :: Ptr RawTH3C -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_setBinContent1" c_th3c_setbincontent1 ::+ Ptr RawTH3C -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setBinContent2"- c_th3c_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_setBinContent2" c_th3c_setbincontent2 :: Ptr RawTH3C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setBinContent3"- c_th3c_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_setBinContent3" c_th3c_setbincontent3 :: Ptr RawTH3C -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setBinError1"- c_th3c_setbinerror1 :: Ptr RawTH3C -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_setBinError1" c_th3c_setbinerror1 ::+ Ptr RawTH3C -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setBinError2"- c_th3c_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_setBinError2" c_th3c_setbinerror2 :: Ptr RawTH3C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setBinError3"- c_th3c_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_setBinError3" c_th3c_setbinerror3 :: Ptr RawTH3C -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setBins1"- c_th3c_setbins1 :: Ptr RawTH3C -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_setBins1"+ c_th3c_setbins1 :: Ptr RawTH3C -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setBins2"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_setBins2" c_th3c_setbins2 ::- Ptr RawTH3C ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH3C -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setBins3"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_setBins3" c_th3c_setbins3 :: Ptr RawTH3C -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetBinsLength"- c_th3c_setbinslength :: Ptr RawTH3C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetBinsLength" c_th3c_setbinslength ::+ Ptr RawTH3C -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetBuffer"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_SetBuffer" c_th3c_setbuffer :: Ptr RawTH3C -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetCellContent"- c_th3c_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetCellContent" c_th3c_setcellcontent :: Ptr RawTH3C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetContent"- c_th3c_setcontent :: Ptr RawTH3C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetContent" c_th3c_setcontent ::+ Ptr RawTH3C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetContour"- c_th3c_setcontour :: Ptr RawTH3C -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetContour" c_th3c_setcontour ::+ Ptr RawTH3C -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetContourLevel"- c_th3c_setcontourlevel :: Ptr RawTH3C -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetContourLevel" c_th3c_setcontourlevel ::+ Ptr RawTH3C -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetDirectory"- c_th3c_setdirectory :: Ptr RawTH3C -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetDirectory" c_th3c_setdirectory ::+ Ptr RawTH3C -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetEntries"- c_th3c_setentries :: Ptr RawTH3C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetEntries" c_th3c_setentries ::+ Ptr RawTH3C -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetError"- c_th3c_seterror :: Ptr RawTH3C -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_SetError"+ c_th3c_seterror :: Ptr RawTH3C -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setLabelColorA"- c_th3c_setlabelcolora :: Ptr RawTH3C -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_setLabelColorA" c_th3c_setlabelcolora ::+ Ptr RawTH3C -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setLabelSizeA"- c_th3c_setlabelsizea :: Ptr RawTH3C -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_setLabelSizeA" c_th3c_setlabelsizea ::+ Ptr RawTH3C -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setLabelFontA"- c_th3c_setlabelfonta :: Ptr RawTH3C -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_setLabelFontA" c_th3c_setlabelfonta ::+ Ptr RawTH3C -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_setLabelOffsetA"- c_th3c_setlabeloffseta ::- Ptr RawTH3C -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_setLabelOffsetA" c_th3c_setlabeloffseta ::+ Ptr RawTH3C -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetMaximum"- c_th3c_setmaximum :: Ptr RawTH3C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetMaximum" c_th3c_setmaximum ::+ Ptr RawTH3C -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetMinimum"- c_th3c_setminimum :: Ptr RawTH3C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetMinimum" c_th3c_setminimum ::+ Ptr RawTH3C -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetNormFactor"- c_th3c_setnormfactor :: Ptr RawTH3C -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetNormFactor" c_th3c_setnormfactor ::+ Ptr RawTH3C -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetStats"- c_th3c_setstats :: Ptr RawTH3C -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_SetStats"+ c_th3c_setstats :: Ptr RawTH3C -> CBool -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetOption"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_SetOption" c_th3c_setoption :: Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetXTitle"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_SetXTitle" c_th3c_setxtitle :: Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetYTitle"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_SetYTitle" c_th3c_setytitle :: Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetZTitle"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_SetZTitle" c_th3c_setztitle :: Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_ShowBackground"- c_th3c_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_ShowBackground" c_th3c_showbackground :: Ptr RawTH3C -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3C.h TH3C_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_ShowPeaks" c_th3c_showpeaks :: Ptr RawTH3C -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_Smooth"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Smooth" c_th3c_smooth :: Ptr RawTH3C -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_Sumw2" c_th3c_sumw2- :: Ptr RawTH3C -> IO ()+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Sumw2"+ c_th3c_sumw2 :: Ptr RawTH3C -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetName"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_SetName" c_th3c_setname :: Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetNameTitle"- c_th3c_setnametitle :: Ptr RawTH3C -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetNameTitle" c_th3c_setnametitle ::+ Ptr RawTH3C -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetTitle"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_SetTitle" c_th3c_settitle :: Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetLineColor"- c_th3c_getlinecolor :: Ptr RawTH3C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetLineColor" c_th3c_getlinecolor ::+ Ptr RawTH3C -> IO CShort -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetLineStyle"- c_th3c_getlinestyle :: Ptr RawTH3C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetLineStyle" c_th3c_getlinestyle ::+ Ptr RawTH3C -> IO CShort -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetLineWidth"- c_th3c_getlinewidth :: Ptr RawTH3C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetLineWidth" c_th3c_getlinewidth ::+ Ptr RawTH3C -> IO CShort -foreign import ccall safe "HROOTHistTH3C.h TH3C_ResetAttLine"- c_th3c_resetattline :: Ptr RawTH3C -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_ResetAttLine" c_th3c_resetattline ::+ Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetLineAttributes"- c_th3c_setlineattributes :: Ptr RawTH3C -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetLineAttributes" c_th3c_setlineattributes+ :: Ptr RawTH3C -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetLineColor"- c_th3c_setlinecolor :: Ptr RawTH3C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetLineColor" c_th3c_setlinecolor ::+ Ptr RawTH3C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetLineStyle"- c_th3c_setlinestyle :: Ptr RawTH3C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetLineStyle" c_th3c_setlinestyle ::+ Ptr RawTH3C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetLineWidth"- c_th3c_setlinewidth :: Ptr RawTH3C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetLineWidth" c_th3c_setlinewidth ::+ Ptr RawTH3C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetFillColor"- c_th3c_setfillcolor :: Ptr RawTH3C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetFillColor" c_th3c_setfillcolor ::+ Ptr RawTH3C -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetFillStyle"- c_th3c_setfillstyle :: Ptr RawTH3C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetFillStyle" c_th3c_setfillstyle ::+ Ptr RawTH3C -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMarkerColor"- c_th3c_getmarkercolor :: Ptr RawTH3C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetMarkerColor" c_th3c_getmarkercolor ::+ Ptr RawTH3C -> IO CShort -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMarkerStyle"- c_th3c_getmarkerstyle :: Ptr RawTH3C -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetMarkerStyle" c_th3c_getmarkerstyle ::+ Ptr RawTH3C -> IO CShort -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMarkerSize"- c_th3c_getmarkersize :: Ptr RawTH3C -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_GetMarkerSize" c_th3c_getmarkersize ::+ Ptr RawTH3C -> IO CFloat -foreign import ccall safe "HROOTHistTH3C.h TH3C_ResetAttMarker"- c_th3c_resetattmarker :: Ptr RawTH3C -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_ResetAttMarker" c_th3c_resetattmarker ::+ Ptr RawTH3C -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_SetMarkerAttributes" c_th3c_setmarkerattributes :: Ptr RawTH3C -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetMarkerColor"- c_th3c_setmarkercolor :: Ptr RawTH3C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetMarkerColor" c_th3c_setmarkercolor ::+ Ptr RawTH3C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetMarkerStyle"- c_th3c_setmarkerstyle :: Ptr RawTH3C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetMarkerStyle" c_th3c_setmarkerstyle ::+ Ptr RawTH3C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SetMarkerSize"- c_th3c_setmarkersize :: Ptr RawTH3C -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_SetMarkerSize" c_th3c_setmarkersize ::+ Ptr RawTH3C -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_Draw" c_th3c_draw- :: Ptr RawTH3C -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Clear"+ c_th3c_clear :: Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_FindObject"- c_th3c_findobject :: Ptr RawTH3C -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Draw"+ c_th3c_draw :: Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_GetName"+foreign import ccall interruptible+ "HROOTHistTH3C.h TH3C_FindObject" c_th3c_findobject ::+ Ptr RawTH3C -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH3C.h TH3C_GetName" c_th3c_getname :: Ptr RawTH3C -> IO CString -foreign import ccall safe "HROOTHistTH3C.h TH3C_IsA" c_th3c_isa ::- Ptr RawTH3C -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_IsA"+ c_th3c_isa :: Ptr RawTH3C -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH3C.h TH3C_Paint" c_th3c_paint- :: Ptr RawTH3C -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Paint"+ c_th3c_paint :: Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_printObj"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_printObj" c_th3c_printobj :: Ptr RawTH3C -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_SaveAs"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_SaveAs" c_th3c_saveas :: Ptr RawTH3C -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3C.h TH3C_Write" c_th3c_write- :: Ptr RawTH3C -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Write"+ c_th3c_write :: Ptr RawTH3C -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3C.h TH3C_delete"+foreign import ccall interruptible "HROOTHistTH3C.h TH3C_Write_"+ c_th3c_write_ :: Ptr RawTH3C -> IO CInt++foreign import ccall interruptible "HROOTHistTH3C.h TH3C_delete" c_th3c_delete :: Ptr RawTH3C -> IO ()++foreign import ccall interruptible "HROOTHistTH3C.h TH3C_GetAt"+ c_th3c_getat :: Ptr RawTH3C -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH3C.h TH3C_SetArray"+ c_th3c_setarray :: Ptr RawTH3C -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH3C.h TH3C_SetAt"+ c_th3c_setat :: Ptr RawTH3C -> CDouble -> CInt -> IO ()
src/HROOT/Hist/TH3C/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH3C.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH3C.RawType import HROOT.Hist.TH3C.FFI import HROOT.Hist.TH3C.Interface import HROOT.Hist.TH3C.Cast+import HROOT.Hist.TH3C.RawType+import HROOT.Hist.TH3C.Cast+import HROOT.Hist.TH3C.Interface import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Cast import HROOT.Hist.TH1D.Interface@@ -57,16 +66,16 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH3C TH3C+instance () => ITH3C (TH3C) where -instance ITH3 TH3C where+instance () => ITH3 (TH3C) where fill3 = xform3 c_th3c_fill3 fill3w = xform4 c_th3c_fill3w fitSlicesZ = xform7 c_th3c_fitslicesz@@ -77,13 +86,12 @@ rebinZ3 = xform2 c_th3c_rebinz3 rebin3D = xform4 c_th3c_rebin3d -instance ITArrayC TH3C+instance () => ITArrayC (TH3C) where -instance ITH1 TH3C where+instance () => ITH1 (TH3C) where add = xform2 c_th3c_add addBinContent = xform2 c_th3c_addbincontent chi2Test = xform3 c_th3c_chi2test- computeIntegral = xform0 c_th3c_computeintegral directoryAutoAdd = xform1 c_th3c_directoryautoadd divide = xform5 c_th3c_divide drawCopyTH1 = xform1 c_th3c_drawcopyth1@@ -155,9 +163,6 @@ getRMS = xform1 c_th3c_getrms getRMSError = xform1 c_th3c_getrmserror getSkewness = xform1 c_th3c_getskewness- integral1 = xform3 c_th3c_integral1- interpolate1 = xform1 c_th3c_interpolate1- interpolate2 = xform2 c_th3c_interpolate2 interpolate3 = xform3 c_th3c_interpolate3 kolmogorovTest = xform2 c_th3c_kolmogorovtest labelsDeflate = xform1 c_th3c_labelsdeflate@@ -212,14 +217,14 @@ smooth = xform2 c_th3c_smooth sumw2 = xform0 c_th3c_sumw2 -instance ITAtt3D TH3C+instance () => ITAtt3D (TH3C) where -instance ITNamed TH3C where+instance () => ITNamed (TH3C) where setName = xform1 c_th3c_setname setNameTitle = xform2 c_th3c_setnametitle setTitle = xform1 c_th3c_settitle -instance ITAttLine TH3C where+instance () => ITAttLine (TH3C) where getLineColor = xform0 c_th3c_getlinecolor getLineStyle = xform0 c_th3c_getlinestyle getLineWidth = xform0 c_th3c_getlinewidth@@ -229,11 +234,11 @@ setLineStyle = xform1 c_th3c_setlinestyle setLineWidth = xform1 c_th3c_setlinewidth -instance ITAttFill TH3C where+instance () => ITAttFill (TH3C) where setFillColor = xform1 c_th3c_setfillcolor setFillStyle = xform1 c_th3c_setfillstyle -instance ITAttMarker TH3C where+instance () => ITAttMarker (TH3C) where getMarkerColor = xform0 c_th3c_getmarkercolor getMarkerStyle = xform0 c_th3c_getmarkerstyle getMarkerSize = xform0 c_th3c_getmarkersize@@ -243,7 +248,8 @@ setMarkerStyle = xform1 c_th3c_setmarkerstyle setMarkerSize = xform1 c_th3c_setmarkersize -instance ITObject TH3C where+instance () => ITObject (TH3C) where+ clear = xform1 c_th3c_clear draw = xform1 c_th3c_draw findObject = xform1 c_th3c_findobject getName = xform0 c_th3c_getname@@ -252,8 +258,12 @@ printObj = xform1 c_th3c_printobj saveAs = xform2 c_th3c_saveas write = xform3 c_th3c_write+ write_ = xform0 c_th3c_write_ -instance IDeletable TH3C where+instance () => IDeletable (TH3C) where delete = xform0 c_th3c_delete -instance ITArray TH3C+instance () => ITArray (TH3C) where+ getAt = xform1 c_th3c_getat+ setArray = xform1 c_th3c_setarray+ setAt = xform2 c_th3c_setat
src/HROOT/Hist/TH3C/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH3C.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH3.Interface import HROOT.Core.TArrayC.Interface -class (ITH3 a, ITArrayC a) => ITH3C a+class (ITH3 a, ITArrayC a) => ITH3C a where upcastTH3C :: forall a . (FPtr a, ITH3C a) => a -> TH3C upcastTH3C h
src/HROOT/Hist/TH3C/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH3C newtype TH3C = TH3C (Ptr RawTH3C)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH3C where+instance () => FPtr (TH3C) where type Raw TH3C = RawTH3C get_fptr (TH3C ptr) = ptr cast_fptr_to_obj = TH3C
src/HROOT/Hist/TH3D/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH3D.RawType import HROOT.Hist.TH3D.Interface -instance (ITH3D a, FPtr a) => Castable a (Ptr RawTH3D) where+instance (ITH3D a, FPtr a) => Castable (a) (Ptr RawTH3D) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH3D (Ptr RawTH3D) where+instance () => Castable (TH3D) (Ptr RawTH3D) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH3D/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH3D.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH3D.RawType+import HROOT.Hist.TH3D.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1.RawType import HROOT.Hist.TH3.RawType@@ -13,558 +16,646 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH3D.h TH3D_fill3" c_th3d_fill3- :: Ptr RawTH3D -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_fill3"+ c_th3d_fill3 ::+ Ptr RawTH3D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_fill3w"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_fill3w" c_th3d_fill3w :: Ptr RawTH3D -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_FitSlicesZ"- c_th3d_fitslicesz ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_FitSlicesZ" c_th3d_fitslicesz :: Ptr RawTH3D -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_getCorrelationFactor3" c_th3d_getcorrelationfactor3 :: Ptr RawTH3D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_getCovariance3"- c_th3d_getcovariance3 :: Ptr RawTH3D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getCovariance3" c_th3d_getcovariance3 ::+ Ptr RawTH3D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_rebinX3"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_rebinX3" c_th3d_rebinx3 :: Ptr RawTH3D -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3D.h TH3D_rebinY3"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_rebinY3" c_th3d_rebiny3 :: Ptr RawTH3D -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3D.h TH3D_rebinZ3"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_rebinZ3" c_th3d_rebinz3 :: Ptr RawTH3D -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3D.h TH3D_Rebin3D"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Rebin3D" c_th3d_rebin3d :: Ptr RawTH3D -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3D.h TH3D_Add" c_th3d_add ::- Ptr RawTH3D -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Add"+ c_th3d_add :: Ptr RawTH3D -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_AddBinContent"- c_th3d_addbincontent :: Ptr RawTH3D -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_AddBinContent" c_th3d_addbincontent ::+ Ptr RawTH3D -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_Chi2Test"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Chi2Test" c_th3d_chi2test ::- Ptr RawTH3D -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH3D.h TH3D_ComputeIntegral"- c_th3d_computeintegral :: Ptr RawTH3D -> IO CDouble+ Ptr RawTH3D -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_DirectoryAutoAdd"- c_th3d_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_DirectoryAutoAdd" c_th3d_directoryautoadd :: Ptr RawTH3D -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_Divide"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Divide" c_th3d_divide :: Ptr RawTH3D -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_drawCopyTH1"- c_th3d_drawcopyth1 :: Ptr RawTH3D -> CString -> IO (Ptr RawTH3D)+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_drawCopyTH1" c_th3d_drawcopyth1 ::+ Ptr RawTH3D -> CString -> IO (Ptr RawTH3D) -foreign import ccall safe "HROOTHistTH3D.h TH3D_DrawNormalized"- c_th3d_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_DrawNormalized" c_th3d_drawnormalized :: Ptr RawTH3D -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3D.h TH3D_drawPanelTH1"- c_th3d_drawpanelth1 :: Ptr RawTH3D -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_drawPanelTH1" c_th3d_drawpanelth1 ::+ Ptr RawTH3D -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_BufferEmpty"- c_th3d_bufferempty :: Ptr RawTH3D -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_BufferEmpty" c_th3d_bufferempty ::+ Ptr RawTH3D -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_evalF" c_th3d_evalf- :: Ptr RawTH3D -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_evalF"+ c_th3d_evalf :: Ptr RawTH3D -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_FFT" c_th3d_fft ::+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_FFT"+ c_th3d_fft :: Ptr RawTH3D -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3D.h TH3D_fill1" c_th3d_fill1- :: Ptr RawTH3D -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_fill1"+ c_th3d_fill1 :: Ptr RawTH3D -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_fill1w"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_fill1w" c_th3d_fill1w :: Ptr RawTH3D -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_fillN1"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_fillN1" c_th3d_filln1 ::- Ptr RawTH3D ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH3D -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_FillRandom"- c_th3d_fillrandom :: Ptr RawTH3D -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_FillRandom" c_th3d_fillrandom ::+ Ptr RawTH3D -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_FindBin"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_FindBin" c_th3d_findbin :: Ptr RawTH3D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_FindFixBin"- c_th3d_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_FindFixBin" c_th3d_findfixbin :: Ptr RawTH3D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_FindFirstBinAbove"- c_th3d_findfirstbinabove ::- Ptr RawTH3D -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_FindFirstBinAbove" c_th3d_findfirstbinabove+ :: Ptr RawTH3D -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_FindLastBinAbove"- c_th3d_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_FindLastBinAbove" c_th3d_findlastbinabove :: Ptr RawTH3D -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_Fit" c_th3d_fit ::+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Fit"+ c_th3d_fit :: Ptr RawTH3D -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_FitPanelTH1"- c_th3d_fitpanelth1 :: Ptr RawTH3D -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_FitPanelTH1" c_th3d_fitpanelth1 ::+ Ptr RawTH3D -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_getNdivisionA"- c_th3d_getndivisiona :: Ptr RawTH3D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getNdivisionA" c_th3d_getndivisiona ::+ Ptr RawTH3D -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_getAxisColorA"- c_th3d_getaxiscolora :: Ptr RawTH3D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getAxisColorA" c_th3d_getaxiscolora ::+ Ptr RawTH3D -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3D.h TH3D_getLabelColorA"- c_th3d_getlabelcolora :: Ptr RawTH3D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getLabelColorA" c_th3d_getlabelcolora ::+ Ptr RawTH3D -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3D.h TH3D_getLabelFontA"- c_th3d_getlabelfonta :: Ptr RawTH3D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getLabelFontA" c_th3d_getlabelfonta ::+ Ptr RawTH3D -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3D.h TH3D_getLabelOffsetA"- c_th3d_getlabeloffseta :: Ptr RawTH3D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getLabelOffsetA" c_th3d_getlabeloffseta ::+ Ptr RawTH3D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3D.h TH3D_getLabelSizeA"- c_th3d_getlabelsizea :: Ptr RawTH3D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getLabelSizeA" c_th3d_getlabelsizea ::+ Ptr RawTH3D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3D.h TH3D_getTitleFontA"- c_th3d_gettitlefonta :: Ptr RawTH3D -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getTitleFontA" c_th3d_gettitlefonta ::+ Ptr RawTH3D -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3D.h TH3D_getTitleOffsetA"- c_th3d_gettitleoffseta :: Ptr RawTH3D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getTitleOffsetA" c_th3d_gettitleoffseta ::+ Ptr RawTH3D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3D.h TH3D_getTitleSizeA"- c_th3d_gettitlesizea :: Ptr RawTH3D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getTitleSizeA" c_th3d_gettitlesizea ::+ Ptr RawTH3D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3D.h TH3D_getTickLengthA"- c_th3d_getticklengtha :: Ptr RawTH3D -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getTickLengthA" c_th3d_getticklengtha ::+ Ptr RawTH3D -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBarOffset"- c_th3d_getbaroffset :: Ptr RawTH3D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetBarOffset" c_th3d_getbaroffset ::+ Ptr RawTH3D -> IO CFloat -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBarWidth"- c_th3d_getbarwidth :: Ptr RawTH3D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetBarWidth" c_th3d_getbarwidth ::+ Ptr RawTH3D -> IO CFloat -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetContour"- c_th3d_getcontour :: Ptr RawTH3D -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetContour" c_th3d_getcontour ::+ Ptr RawTH3D -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetContourLevel"- c_th3d_getcontourlevel :: Ptr RawTH3D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetContourLevel" c_th3d_getcontourlevel ::+ Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetContourLevelPad"- c_th3d_getcontourlevelpad :: Ptr RawTH3D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetContourLevelPad" c_th3d_getcontourlevelpad+ :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBin"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_GetBin" c_th3d_getbin :: Ptr RawTH3D -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinCenter"- c_th3d_getbincenter :: Ptr RawTH3D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetBinCenter" c_th3d_getbincenter ::+ Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinContent1"- c_th3d_getbincontent1 :: Ptr RawTH3D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetBinContent1" c_th3d_getbincontent1 ::+ Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinContent2"- c_th3d_getbincontent2 :: Ptr RawTH3D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetBinContent2" c_th3d_getbincontent2 ::+ Ptr RawTH3D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinContent3"- c_th3d_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetBinContent3" c_th3d_getbincontent3 :: Ptr RawTH3D -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinError1"- c_th3d_getbinerror1 :: Ptr RawTH3D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetBinError1" c_th3d_getbinerror1 ::+ Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinError2"- c_th3d_getbinerror2 :: Ptr RawTH3D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetBinError2" c_th3d_getbinerror2 ::+ Ptr RawTH3D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinError3"- c_th3d_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetBinError3" c_th3d_getbinerror3 :: Ptr RawTH3D -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinLowEdge"- c_th3d_getbinlowedge :: Ptr RawTH3D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetBinLowEdge" c_th3d_getbinlowedge ::+ Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinWidth"- c_th3d_getbinwidth :: Ptr RawTH3D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetBinWidth" c_th3d_getbinwidth ::+ Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetCellContent"- c_th3d_getcellcontent :: Ptr RawTH3D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetCellContent" c_th3d_getcellcontent ::+ Ptr RawTH3D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetCellError"- c_th3d_getcellerror :: Ptr RawTH3D -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetCellError" c_th3d_getcellerror ::+ Ptr RawTH3D -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetEntries"- c_th3d_getentries :: Ptr RawTH3D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetEntries" c_th3d_getentries ::+ Ptr RawTH3D -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_GetEffectiveEntries" c_th3d_geteffectiveentries :: Ptr RawTH3D -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetFunction"- c_th3d_getfunction :: Ptr RawTH3D -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetFunction" c_th3d_getfunction ::+ Ptr RawTH3D -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetDimension"- c_th3d_getdimension :: Ptr RawTH3D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetDimension" c_th3d_getdimension ::+ Ptr RawTH3D -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetKurtosis"- c_th3d_getkurtosis :: Ptr RawTH3D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetKurtosis" c_th3d_getkurtosis ::+ Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetLowEdge"- c_th3d_getlowedge :: Ptr RawTH3D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetLowEdge" c_th3d_getlowedge ::+ Ptr RawTH3D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_getMaximumTH1"- c_th3d_getmaximumth1 :: Ptr RawTH3D -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getMaximumTH1" c_th3d_getmaximumth1 ::+ Ptr RawTH3D -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMaximumBin"- c_th3d_getmaximumbin :: Ptr RawTH3D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetMaximumBin" c_th3d_getmaximumbin ::+ Ptr RawTH3D -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMaximumStored"- c_th3d_getmaximumstored :: Ptr RawTH3D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetMaximumStored" c_th3d_getmaximumstored ::+ Ptr RawTH3D -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_getMinimumTH1"- c_th3d_getminimumth1 :: Ptr RawTH3D -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getMinimumTH1" c_th3d_getminimumth1 ::+ Ptr RawTH3D -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMinimumBin"- c_th3d_getminimumbin :: Ptr RawTH3D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetMinimumBin" c_th3d_getminimumbin ::+ Ptr RawTH3D -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMinimumStored"- c_th3d_getminimumstored :: Ptr RawTH3D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetMinimumStored" c_th3d_getminimumstored ::+ Ptr RawTH3D -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMean"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_GetMean" c_th3d_getmean :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMeanError"- c_th3d_getmeanerror :: Ptr RawTH3D -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetMeanError" c_th3d_getmeanerror ::+ Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_GetNbinsX" c_th3d_getnbinsx :: Ptr RawTH3D -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_GetNbinsY" c_th3d_getnbinsy :: Ptr RawTH3D -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_GetNbinsZ" c_th3d_getnbinsz :: Ptr RawTH3D -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_getQuantilesTH1"- c_th3d_getquantilesth1 ::- Ptr RawTH3D -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_getQuantilesTH1" c_th3d_getquantilesth1 ::+ Ptr RawTH3D -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetRandom"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_GetRandom" c_th3d_getrandom :: Ptr RawTH3D -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetStats"- c_th3d_getstats :: Ptr RawTH3D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_GetStats"+ c_th3d_getstats :: Ptr RawTH3D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetSumOfWeights"- c_th3d_getsumofweights :: Ptr RawTH3D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetSumOfWeights" c_th3d_getsumofweights ::+ Ptr RawTH3D -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetSumw2"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_GetSumw2" c_th3d_getsumw2 :: Ptr RawTH3D -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_GetSumw2N" c_th3d_getsumw2n :: Ptr RawTH3D -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetRMS"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_GetRMS" c_th3d_getrms :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetRMSError"- c_th3d_getrmserror :: Ptr RawTH3D -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH3D.h TH3D_GetSkewness"- c_th3d_getskewness :: Ptr RawTH3D -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH3D.h TH3D_integral1"- c_th3d_integral1 ::- Ptr RawTH3D -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH3D.h TH3D_interpolate1"- c_th3d_interpolate1 :: Ptr RawTH3D -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetRMSError" c_th3d_getrmserror ::+ Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_interpolate2"- c_th3d_interpolate2 ::- Ptr RawTH3D -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetSkewness" c_th3d_getskewness ::+ Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_interpolate3"- c_th3d_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_interpolate3" c_th3d_interpolate3 :: Ptr RawTH3D -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_KolmogorovTest"- c_th3d_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_KolmogorovTest" c_th3d_kolmogorovtest :: Ptr RawTH3D -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH3D.h TH3D_LabelsDeflate"- c_th3d_labelsdeflate :: Ptr RawTH3D -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_LabelsDeflate" c_th3d_labelsdeflate ::+ Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_LabelsInflate"- c_th3d_labelsinflate :: Ptr RawTH3D -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_LabelsInflate" c_th3d_labelsinflate ::+ Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_LabelsOption"- c_th3d_labelsoption :: Ptr RawTH3D -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_LabelsOption" c_th3d_labelsoption ::+ Ptr RawTH3D -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_multiflyF"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_multiflyF" c_th3d_multiflyf :: Ptr RawTH3D -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_Multiply"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Multiply" c_th3d_multiply :: Ptr RawTH3D -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_PutStats"- c_th3d_putstats :: Ptr RawTH3D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_PutStats"+ c_th3d_putstats :: Ptr RawTH3D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_Rebin" c_th3d_rebin- ::- Ptr RawTH3D -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Rebin"+ c_th3d_rebin ::+ Ptr RawTH3D -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3D.h TH3D_RebinAxis"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_RebinAxis" c_th3d_rebinaxis :: Ptr RawTH3D -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_Rebuild"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Rebuild" c_th3d_rebuild :: Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_RecursiveRemove"- c_th3d_recursiveremove :: Ptr RawTH3D -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_RecursiveRemove" c_th3d_recursiveremove ::+ Ptr RawTH3D -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_Reset" c_th3d_reset- :: Ptr RawTH3D -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Reset"+ c_th3d_reset :: Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_ResetStats"- c_th3d_resetstats :: Ptr RawTH3D -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_ResetStats" c_th3d_resetstats ::+ Ptr RawTH3D -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_Scale" c_th3d_scale- :: Ptr RawTH3D -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Scale"+ c_th3d_scale :: Ptr RawTH3D -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setAxisColorA"- c_th3d_setaxiscolora :: Ptr RawTH3D -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_setAxisColorA" c_th3d_setaxiscolora ::+ Ptr RawTH3D -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetAxisRange"- c_th3d_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetAxisRange" c_th3d_setaxisrange :: Ptr RawTH3D -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetBarOffset"- c_th3d_setbaroffset :: Ptr RawTH3D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetBarOffset" c_th3d_setbaroffset ::+ Ptr RawTH3D -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetBarWidth"- c_th3d_setbarwidth :: Ptr RawTH3D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetBarWidth" c_th3d_setbarwidth ::+ Ptr RawTH3D -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setBinContent1"- c_th3d_setbincontent1 :: Ptr RawTH3D -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_setBinContent1" c_th3d_setbincontent1 ::+ Ptr RawTH3D -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setBinContent2"- c_th3d_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_setBinContent2" c_th3d_setbincontent2 :: Ptr RawTH3D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setBinContent3"- c_th3d_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_setBinContent3" c_th3d_setbincontent3 :: Ptr RawTH3D -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setBinError1"- c_th3d_setbinerror1 :: Ptr RawTH3D -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_setBinError1" c_th3d_setbinerror1 ::+ Ptr RawTH3D -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setBinError2"- c_th3d_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_setBinError2" c_th3d_setbinerror2 :: Ptr RawTH3D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setBinError3"- c_th3d_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_setBinError3" c_th3d_setbinerror3 :: Ptr RawTH3D -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setBins1"- c_th3d_setbins1 :: Ptr RawTH3D -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_setBins1"+ c_th3d_setbins1 :: Ptr RawTH3D -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setBins2"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_setBins2" c_th3d_setbins2 ::- Ptr RawTH3D ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH3D -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setBins3"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_setBins3" c_th3d_setbins3 :: Ptr RawTH3D -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetBinsLength"- c_th3d_setbinslength :: Ptr RawTH3D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetBinsLength" c_th3d_setbinslength ::+ Ptr RawTH3D -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetBuffer"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_SetBuffer" c_th3d_setbuffer :: Ptr RawTH3D -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetCellContent"- c_th3d_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetCellContent" c_th3d_setcellcontent :: Ptr RawTH3D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetContent"- c_th3d_setcontent :: Ptr RawTH3D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetContent" c_th3d_setcontent ::+ Ptr RawTH3D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetContour"- c_th3d_setcontour :: Ptr RawTH3D -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetContour" c_th3d_setcontour ::+ Ptr RawTH3D -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetContourLevel"- c_th3d_setcontourlevel :: Ptr RawTH3D -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetContourLevel" c_th3d_setcontourlevel ::+ Ptr RawTH3D -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetDirectory"- c_th3d_setdirectory :: Ptr RawTH3D -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetDirectory" c_th3d_setdirectory ::+ Ptr RawTH3D -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetEntries"- c_th3d_setentries :: Ptr RawTH3D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetEntries" c_th3d_setentries ::+ Ptr RawTH3D -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetError"- c_th3d_seterror :: Ptr RawTH3D -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_SetError"+ c_th3d_seterror :: Ptr RawTH3D -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setLabelColorA"- c_th3d_setlabelcolora :: Ptr RawTH3D -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_setLabelColorA" c_th3d_setlabelcolora ::+ Ptr RawTH3D -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setLabelSizeA"- c_th3d_setlabelsizea :: Ptr RawTH3D -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_setLabelSizeA" c_th3d_setlabelsizea ::+ Ptr RawTH3D -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setLabelFontA"- c_th3d_setlabelfonta :: Ptr RawTH3D -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_setLabelFontA" c_th3d_setlabelfonta ::+ Ptr RawTH3D -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_setLabelOffsetA"- c_th3d_setlabeloffseta ::- Ptr RawTH3D -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_setLabelOffsetA" c_th3d_setlabeloffseta ::+ Ptr RawTH3D -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetMaximum"- c_th3d_setmaximum :: Ptr RawTH3D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetMaximum" c_th3d_setmaximum ::+ Ptr RawTH3D -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetMinimum"- c_th3d_setminimum :: Ptr RawTH3D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetMinimum" c_th3d_setminimum ::+ Ptr RawTH3D -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetNormFactor"- c_th3d_setnormfactor :: Ptr RawTH3D -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetNormFactor" c_th3d_setnormfactor ::+ Ptr RawTH3D -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetStats"- c_th3d_setstats :: Ptr RawTH3D -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_SetStats"+ c_th3d_setstats :: Ptr RawTH3D -> CBool -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetOption"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_SetOption" c_th3d_setoption :: Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetXTitle"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_SetXTitle" c_th3d_setxtitle :: Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetYTitle"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_SetYTitle" c_th3d_setytitle :: Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetZTitle"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_SetZTitle" c_th3d_setztitle :: Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_ShowBackground"- c_th3d_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_ShowBackground" c_th3d_showbackground :: Ptr RawTH3D -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3D.h TH3D_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_ShowPeaks" c_th3d_showpeaks :: Ptr RawTH3D -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_Smooth"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Smooth" c_th3d_smooth :: Ptr RawTH3D -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_Sumw2" c_th3d_sumw2- :: Ptr RawTH3D -> IO ()+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Sumw2"+ c_th3d_sumw2 :: Ptr RawTH3D -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetName"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_SetName" c_th3d_setname :: Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetNameTitle"- c_th3d_setnametitle :: Ptr RawTH3D -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetNameTitle" c_th3d_setnametitle ::+ Ptr RawTH3D -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetTitle"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_SetTitle" c_th3d_settitle :: Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetLineColor"- c_th3d_getlinecolor :: Ptr RawTH3D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetLineColor" c_th3d_getlinecolor ::+ Ptr RawTH3D -> IO CShort -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetLineStyle"- c_th3d_getlinestyle :: Ptr RawTH3D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetLineStyle" c_th3d_getlinestyle ::+ Ptr RawTH3D -> IO CShort -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetLineWidth"- c_th3d_getlinewidth :: Ptr RawTH3D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetLineWidth" c_th3d_getlinewidth ::+ Ptr RawTH3D -> IO CShort -foreign import ccall safe "HROOTHistTH3D.h TH3D_ResetAttLine"- c_th3d_resetattline :: Ptr RawTH3D -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_ResetAttLine" c_th3d_resetattline ::+ Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetLineAttributes"- c_th3d_setlineattributes :: Ptr RawTH3D -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetLineAttributes" c_th3d_setlineattributes+ :: Ptr RawTH3D -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetLineColor"- c_th3d_setlinecolor :: Ptr RawTH3D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetLineColor" c_th3d_setlinecolor ::+ Ptr RawTH3D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetLineStyle"- c_th3d_setlinestyle :: Ptr RawTH3D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetLineStyle" c_th3d_setlinestyle ::+ Ptr RawTH3D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetLineWidth"- c_th3d_setlinewidth :: Ptr RawTH3D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetLineWidth" c_th3d_setlinewidth ::+ Ptr RawTH3D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetFillColor"- c_th3d_setfillcolor :: Ptr RawTH3D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetFillColor" c_th3d_setfillcolor ::+ Ptr RawTH3D -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetFillStyle"- c_th3d_setfillstyle :: Ptr RawTH3D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetFillStyle" c_th3d_setfillstyle ::+ Ptr RawTH3D -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMarkerColor"- c_th3d_getmarkercolor :: Ptr RawTH3D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetMarkerColor" c_th3d_getmarkercolor ::+ Ptr RawTH3D -> IO CShort -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMarkerStyle"- c_th3d_getmarkerstyle :: Ptr RawTH3D -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetMarkerStyle" c_th3d_getmarkerstyle ::+ Ptr RawTH3D -> IO CShort -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMarkerSize"- c_th3d_getmarkersize :: Ptr RawTH3D -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_GetMarkerSize" c_th3d_getmarkersize ::+ Ptr RawTH3D -> IO CFloat -foreign import ccall safe "HROOTHistTH3D.h TH3D_ResetAttMarker"- c_th3d_resetattmarker :: Ptr RawTH3D -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_ResetAttMarker" c_th3d_resetattmarker ::+ Ptr RawTH3D -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_SetMarkerAttributes" c_th3d_setmarkerattributes :: Ptr RawTH3D -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetMarkerColor"- c_th3d_setmarkercolor :: Ptr RawTH3D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetMarkerColor" c_th3d_setmarkercolor ::+ Ptr RawTH3D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetMarkerStyle"- c_th3d_setmarkerstyle :: Ptr RawTH3D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetMarkerStyle" c_th3d_setmarkerstyle ::+ Ptr RawTH3D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SetMarkerSize"- c_th3d_setmarkersize :: Ptr RawTH3D -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_SetMarkerSize" c_th3d_setmarkersize ::+ Ptr RawTH3D -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_Draw" c_th3d_draw- :: Ptr RawTH3D -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Clear"+ c_th3d_clear :: Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_FindObject"- c_th3d_findobject :: Ptr RawTH3D -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Draw"+ c_th3d_draw :: Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_GetName"+foreign import ccall interruptible+ "HROOTHistTH3D.h TH3D_FindObject" c_th3d_findobject ::+ Ptr RawTH3D -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH3D.h TH3D_GetName" c_th3d_getname :: Ptr RawTH3D -> IO CString -foreign import ccall safe "HROOTHistTH3D.h TH3D_IsA" c_th3d_isa ::- Ptr RawTH3D -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_IsA"+ c_th3d_isa :: Ptr RawTH3D -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH3D.h TH3D_Paint" c_th3d_paint- :: Ptr RawTH3D -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Paint"+ c_th3d_paint :: Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_printObj"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_printObj" c_th3d_printobj :: Ptr RawTH3D -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_SaveAs"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_SaveAs" c_th3d_saveas :: Ptr RawTH3D -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3D.h TH3D_Write" c_th3d_write- :: Ptr RawTH3D -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Write"+ c_th3d_write :: Ptr RawTH3D -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3D.h TH3D_delete"+foreign import ccall interruptible "HROOTHistTH3D.h TH3D_Write_"+ c_th3d_write_ :: Ptr RawTH3D -> IO CInt++foreign import ccall interruptible "HROOTHistTH3D.h TH3D_delete" c_th3d_delete :: Ptr RawTH3D -> IO ()++foreign import ccall interruptible "HROOTHistTH3D.h TH3D_GetAt"+ c_th3d_getat :: Ptr RawTH3D -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH3D.h TH3D_SetArray"+ c_th3d_setarray :: Ptr RawTH3D -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH3D.h TH3D_SetAt"+ c_th3d_setat :: Ptr RawTH3D -> CDouble -> CInt -> IO ()
src/HROOT/Hist/TH3D/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH3D.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH3D.RawType import HROOT.Hist.TH3D.FFI import HROOT.Hist.TH3D.Interface import HROOT.Hist.TH3D.Cast+import HROOT.Hist.TH3D.RawType+import HROOT.Hist.TH3D.Cast+import HROOT.Hist.TH3D.Interface import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Cast import HROOT.Hist.TH1D.Interface@@ -54,16 +63,16 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH3D TH3D+instance () => ITH3D (TH3D) where -instance ITH3 TH3D where+instance () => ITH3 (TH3D) where fill3 = xform3 c_th3d_fill3 fill3w = xform4 c_th3d_fill3w fitSlicesZ = xform7 c_th3d_fitslicesz@@ -74,13 +83,12 @@ rebinZ3 = xform2 c_th3d_rebinz3 rebin3D = xform4 c_th3d_rebin3d -instance ITArrayD TH3D+instance () => ITArrayD (TH3D) where -instance ITH1 TH3D where+instance () => ITH1 (TH3D) where add = xform2 c_th3d_add addBinContent = xform2 c_th3d_addbincontent chi2Test = xform3 c_th3d_chi2test- computeIntegral = xform0 c_th3d_computeintegral directoryAutoAdd = xform1 c_th3d_directoryautoadd divide = xform5 c_th3d_divide drawCopyTH1 = xform1 c_th3d_drawcopyth1@@ -152,9 +160,6 @@ getRMS = xform1 c_th3d_getrms getRMSError = xform1 c_th3d_getrmserror getSkewness = xform1 c_th3d_getskewness- integral1 = xform3 c_th3d_integral1- interpolate1 = xform1 c_th3d_interpolate1- interpolate2 = xform2 c_th3d_interpolate2 interpolate3 = xform3 c_th3d_interpolate3 kolmogorovTest = xform2 c_th3d_kolmogorovtest labelsDeflate = xform1 c_th3d_labelsdeflate@@ -209,14 +214,14 @@ smooth = xform2 c_th3d_smooth sumw2 = xform0 c_th3d_sumw2 -instance ITAtt3D TH3D+instance () => ITAtt3D (TH3D) where -instance ITNamed TH3D where+instance () => ITNamed (TH3D) where setName = xform1 c_th3d_setname setNameTitle = xform2 c_th3d_setnametitle setTitle = xform1 c_th3d_settitle -instance ITAttLine TH3D where+instance () => ITAttLine (TH3D) where getLineColor = xform0 c_th3d_getlinecolor getLineStyle = xform0 c_th3d_getlinestyle getLineWidth = xform0 c_th3d_getlinewidth@@ -226,11 +231,11 @@ setLineStyle = xform1 c_th3d_setlinestyle setLineWidth = xform1 c_th3d_setlinewidth -instance ITAttFill TH3D where+instance () => ITAttFill (TH3D) where setFillColor = xform1 c_th3d_setfillcolor setFillStyle = xform1 c_th3d_setfillstyle -instance ITAttMarker TH3D where+instance () => ITAttMarker (TH3D) where getMarkerColor = xform0 c_th3d_getmarkercolor getMarkerStyle = xform0 c_th3d_getmarkerstyle getMarkerSize = xform0 c_th3d_getmarkersize@@ -240,7 +245,8 @@ setMarkerStyle = xform1 c_th3d_setmarkerstyle setMarkerSize = xform1 c_th3d_setmarkersize -instance ITObject TH3D where+instance () => ITObject (TH3D) where+ clear = xform1 c_th3d_clear draw = xform1 c_th3d_draw findObject = xform1 c_th3d_findobject getName = xform0 c_th3d_getname@@ -249,8 +255,12 @@ printObj = xform1 c_th3d_printobj saveAs = xform2 c_th3d_saveas write = xform3 c_th3d_write+ write_ = xform0 c_th3d_write_ -instance IDeletable TH3D where+instance () => IDeletable (TH3D) where delete = xform0 c_th3d_delete -instance ITArray TH3D+instance () => ITArray (TH3D) where+ getAt = xform1 c_th3d_getat+ setArray = xform1 c_th3d_setarray+ setAt = xform2 c_th3d_setat
src/HROOT/Hist/TH3D/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH3D.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH3.Interface import HROOT.Core.TArrayD.Interface -class (ITH3 a, ITArrayD a) => ITH3D a+class (ITH3 a, ITArrayD a) => ITH3D a where upcastTH3D :: forall a . (FPtr a, ITH3D a) => a -> TH3D upcastTH3D h
src/HROOT/Hist/TH3D/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH3D newtype TH3D = TH3D (Ptr RawTH3D)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH3D where+instance () => FPtr (TH3D) where type Raw TH3D = RawTH3D get_fptr (TH3D ptr) = ptr cast_fptr_to_obj = TH3D
src/HROOT/Hist/TH3F/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH3F.RawType import HROOT.Hist.TH3F.Interface -instance (ITH3F a, FPtr a) => Castable a (Ptr RawTH3F) where+instance (ITH3F a, FPtr a) => Castable (a) (Ptr RawTH3F) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH3F (Ptr RawTH3F) where+instance () => Castable (TH3F) (Ptr RawTH3F) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH3F/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH3F.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH3F.RawType+import HROOT.Hist.TH3F.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1.RawType import HROOT.Hist.TH3.RawType@@ -13,558 +16,646 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH3F.h TH3F_fill3" c_th3f_fill3- :: Ptr RawTH3F -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_fill3"+ c_th3f_fill3 ::+ Ptr RawTH3F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_fill3w"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_fill3w" c_th3f_fill3w :: Ptr RawTH3F -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_FitSlicesZ"- c_th3f_fitslicesz ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_FitSlicesZ" c_th3f_fitslicesz :: Ptr RawTH3F -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_getCorrelationFactor3" c_th3f_getcorrelationfactor3 :: Ptr RawTH3F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_getCovariance3"- c_th3f_getcovariance3 :: Ptr RawTH3F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getCovariance3" c_th3f_getcovariance3 ::+ Ptr RawTH3F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_rebinX3"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_rebinX3" c_th3f_rebinx3 :: Ptr RawTH3F -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3F.h TH3F_rebinY3"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_rebinY3" c_th3f_rebiny3 :: Ptr RawTH3F -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3F.h TH3F_rebinZ3"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_rebinZ3" c_th3f_rebinz3 :: Ptr RawTH3F -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3F.h TH3F_Rebin3D"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Rebin3D" c_th3f_rebin3d :: Ptr RawTH3F -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3F.h TH3F_Add" c_th3f_add ::- Ptr RawTH3F -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Add"+ c_th3f_add :: Ptr RawTH3F -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_AddBinContent"- c_th3f_addbincontent :: Ptr RawTH3F -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_AddBinContent" c_th3f_addbincontent ::+ Ptr RawTH3F -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_Chi2Test"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Chi2Test" c_th3f_chi2test ::- Ptr RawTH3F -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH3F.h TH3F_ComputeIntegral"- c_th3f_computeintegral :: Ptr RawTH3F -> IO CDouble+ Ptr RawTH3F -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_DirectoryAutoAdd"- c_th3f_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_DirectoryAutoAdd" c_th3f_directoryautoadd :: Ptr RawTH3F -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_Divide"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Divide" c_th3f_divide :: Ptr RawTH3F -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_drawCopyTH1"- c_th3f_drawcopyth1 :: Ptr RawTH3F -> CString -> IO (Ptr RawTH3F)+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_drawCopyTH1" c_th3f_drawcopyth1 ::+ Ptr RawTH3F -> CString -> IO (Ptr RawTH3F) -foreign import ccall safe "HROOTHistTH3F.h TH3F_DrawNormalized"- c_th3f_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_DrawNormalized" c_th3f_drawnormalized :: Ptr RawTH3F -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3F.h TH3F_drawPanelTH1"- c_th3f_drawpanelth1 :: Ptr RawTH3F -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_drawPanelTH1" c_th3f_drawpanelth1 ::+ Ptr RawTH3F -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_BufferEmpty"- c_th3f_bufferempty :: Ptr RawTH3F -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_BufferEmpty" c_th3f_bufferempty ::+ Ptr RawTH3F -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_evalF" c_th3f_evalf- :: Ptr RawTH3F -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_evalF"+ c_th3f_evalf :: Ptr RawTH3F -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_FFT" c_th3f_fft ::+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_FFT"+ c_th3f_fft :: Ptr RawTH3F -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3F.h TH3F_fill1" c_th3f_fill1- :: Ptr RawTH3F -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_fill1"+ c_th3f_fill1 :: Ptr RawTH3F -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_fill1w"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_fill1w" c_th3f_fill1w :: Ptr RawTH3F -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_fillN1"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_fillN1" c_th3f_filln1 ::- Ptr RawTH3F ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH3F -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_FillRandom"- c_th3f_fillrandom :: Ptr RawTH3F -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_FillRandom" c_th3f_fillrandom ::+ Ptr RawTH3F -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_FindBin"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_FindBin" c_th3f_findbin :: Ptr RawTH3F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_FindFixBin"- c_th3f_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_FindFixBin" c_th3f_findfixbin :: Ptr RawTH3F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_FindFirstBinAbove"- c_th3f_findfirstbinabove ::- Ptr RawTH3F -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_FindFirstBinAbove" c_th3f_findfirstbinabove+ :: Ptr RawTH3F -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_FindLastBinAbove"- c_th3f_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_FindLastBinAbove" c_th3f_findlastbinabove :: Ptr RawTH3F -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_Fit" c_th3f_fit ::+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Fit"+ c_th3f_fit :: Ptr RawTH3F -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_FitPanelTH1"- c_th3f_fitpanelth1 :: Ptr RawTH3F -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_FitPanelTH1" c_th3f_fitpanelth1 ::+ Ptr RawTH3F -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_getNdivisionA"- c_th3f_getndivisiona :: Ptr RawTH3F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getNdivisionA" c_th3f_getndivisiona ::+ Ptr RawTH3F -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_getAxisColorA"- c_th3f_getaxiscolora :: Ptr RawTH3F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getAxisColorA" c_th3f_getaxiscolora ::+ Ptr RawTH3F -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3F.h TH3F_getLabelColorA"- c_th3f_getlabelcolora :: Ptr RawTH3F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getLabelColorA" c_th3f_getlabelcolora ::+ Ptr RawTH3F -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3F.h TH3F_getLabelFontA"- c_th3f_getlabelfonta :: Ptr RawTH3F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getLabelFontA" c_th3f_getlabelfonta ::+ Ptr RawTH3F -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3F.h TH3F_getLabelOffsetA"- c_th3f_getlabeloffseta :: Ptr RawTH3F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getLabelOffsetA" c_th3f_getlabeloffseta ::+ Ptr RawTH3F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3F.h TH3F_getLabelSizeA"- c_th3f_getlabelsizea :: Ptr RawTH3F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getLabelSizeA" c_th3f_getlabelsizea ::+ Ptr RawTH3F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3F.h TH3F_getTitleFontA"- c_th3f_gettitlefonta :: Ptr RawTH3F -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getTitleFontA" c_th3f_gettitlefonta ::+ Ptr RawTH3F -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3F.h TH3F_getTitleOffsetA"- c_th3f_gettitleoffseta :: Ptr RawTH3F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getTitleOffsetA" c_th3f_gettitleoffseta ::+ Ptr RawTH3F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3F.h TH3F_getTitleSizeA"- c_th3f_gettitlesizea :: Ptr RawTH3F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getTitleSizeA" c_th3f_gettitlesizea ::+ Ptr RawTH3F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3F.h TH3F_getTickLengthA"- c_th3f_getticklengtha :: Ptr RawTH3F -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getTickLengthA" c_th3f_getticklengtha ::+ Ptr RawTH3F -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBarOffset"- c_th3f_getbaroffset :: Ptr RawTH3F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetBarOffset" c_th3f_getbaroffset ::+ Ptr RawTH3F -> IO CFloat -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBarWidth"- c_th3f_getbarwidth :: Ptr RawTH3F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetBarWidth" c_th3f_getbarwidth ::+ Ptr RawTH3F -> IO CFloat -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetContour"- c_th3f_getcontour :: Ptr RawTH3F -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetContour" c_th3f_getcontour ::+ Ptr RawTH3F -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetContourLevel"- c_th3f_getcontourlevel :: Ptr RawTH3F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetContourLevel" c_th3f_getcontourlevel ::+ Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetContourLevelPad"- c_th3f_getcontourlevelpad :: Ptr RawTH3F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetContourLevelPad" c_th3f_getcontourlevelpad+ :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBin"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_GetBin" c_th3f_getbin :: Ptr RawTH3F -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinCenter"- c_th3f_getbincenter :: Ptr RawTH3F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetBinCenter" c_th3f_getbincenter ::+ Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinContent1"- c_th3f_getbincontent1 :: Ptr RawTH3F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetBinContent1" c_th3f_getbincontent1 ::+ Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinContent2"- c_th3f_getbincontent2 :: Ptr RawTH3F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetBinContent2" c_th3f_getbincontent2 ::+ Ptr RawTH3F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinContent3"- c_th3f_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetBinContent3" c_th3f_getbincontent3 :: Ptr RawTH3F -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinError1"- c_th3f_getbinerror1 :: Ptr RawTH3F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetBinError1" c_th3f_getbinerror1 ::+ Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinError2"- c_th3f_getbinerror2 :: Ptr RawTH3F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetBinError2" c_th3f_getbinerror2 ::+ Ptr RawTH3F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinError3"- c_th3f_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetBinError3" c_th3f_getbinerror3 :: Ptr RawTH3F -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinLowEdge"- c_th3f_getbinlowedge :: Ptr RawTH3F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetBinLowEdge" c_th3f_getbinlowedge ::+ Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinWidth"- c_th3f_getbinwidth :: Ptr RawTH3F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetBinWidth" c_th3f_getbinwidth ::+ Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetCellContent"- c_th3f_getcellcontent :: Ptr RawTH3F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetCellContent" c_th3f_getcellcontent ::+ Ptr RawTH3F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetCellError"- c_th3f_getcellerror :: Ptr RawTH3F -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetCellError" c_th3f_getcellerror ::+ Ptr RawTH3F -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetEntries"- c_th3f_getentries :: Ptr RawTH3F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetEntries" c_th3f_getentries ::+ Ptr RawTH3F -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_GetEffectiveEntries" c_th3f_geteffectiveentries :: Ptr RawTH3F -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetFunction"- c_th3f_getfunction :: Ptr RawTH3F -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetFunction" c_th3f_getfunction ::+ Ptr RawTH3F -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetDimension"- c_th3f_getdimension :: Ptr RawTH3F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetDimension" c_th3f_getdimension ::+ Ptr RawTH3F -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetKurtosis"- c_th3f_getkurtosis :: Ptr RawTH3F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetKurtosis" c_th3f_getkurtosis ::+ Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetLowEdge"- c_th3f_getlowedge :: Ptr RawTH3F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetLowEdge" c_th3f_getlowedge ::+ Ptr RawTH3F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_getMaximumTH1"- c_th3f_getmaximumth1 :: Ptr RawTH3F -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getMaximumTH1" c_th3f_getmaximumth1 ::+ Ptr RawTH3F -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMaximumBin"- c_th3f_getmaximumbin :: Ptr RawTH3F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetMaximumBin" c_th3f_getmaximumbin ::+ Ptr RawTH3F -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMaximumStored"- c_th3f_getmaximumstored :: Ptr RawTH3F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetMaximumStored" c_th3f_getmaximumstored ::+ Ptr RawTH3F -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_getMinimumTH1"- c_th3f_getminimumth1 :: Ptr RawTH3F -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getMinimumTH1" c_th3f_getminimumth1 ::+ Ptr RawTH3F -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMinimumBin"- c_th3f_getminimumbin :: Ptr RawTH3F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetMinimumBin" c_th3f_getminimumbin ::+ Ptr RawTH3F -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMinimumStored"- c_th3f_getminimumstored :: Ptr RawTH3F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetMinimumStored" c_th3f_getminimumstored ::+ Ptr RawTH3F -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMean"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_GetMean" c_th3f_getmean :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMeanError"- c_th3f_getmeanerror :: Ptr RawTH3F -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetMeanError" c_th3f_getmeanerror ::+ Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_GetNbinsX" c_th3f_getnbinsx :: Ptr RawTH3F -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_GetNbinsY" c_th3f_getnbinsy :: Ptr RawTH3F -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_GetNbinsZ" c_th3f_getnbinsz :: Ptr RawTH3F -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_getQuantilesTH1"- c_th3f_getquantilesth1 ::- Ptr RawTH3F -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_getQuantilesTH1" c_th3f_getquantilesth1 ::+ Ptr RawTH3F -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetRandom"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_GetRandom" c_th3f_getrandom :: Ptr RawTH3F -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetStats"- c_th3f_getstats :: Ptr RawTH3F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_GetStats"+ c_th3f_getstats :: Ptr RawTH3F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetSumOfWeights"- c_th3f_getsumofweights :: Ptr RawTH3F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetSumOfWeights" c_th3f_getsumofweights ::+ Ptr RawTH3F -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetSumw2"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_GetSumw2" c_th3f_getsumw2 :: Ptr RawTH3F -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_GetSumw2N" c_th3f_getsumw2n :: Ptr RawTH3F -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetRMS"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_GetRMS" c_th3f_getrms :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetRMSError"- c_th3f_getrmserror :: Ptr RawTH3F -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH3F.h TH3F_GetSkewness"- c_th3f_getskewness :: Ptr RawTH3F -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH3F.h TH3F_integral1"- c_th3f_integral1 ::- Ptr RawTH3F -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH3F.h TH3F_interpolate1"- c_th3f_interpolate1 :: Ptr RawTH3F -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetRMSError" c_th3f_getrmserror ::+ Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_interpolate2"- c_th3f_interpolate2 ::- Ptr RawTH3F -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetSkewness" c_th3f_getskewness ::+ Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_interpolate3"- c_th3f_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_interpolate3" c_th3f_interpolate3 :: Ptr RawTH3F -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_KolmogorovTest"- c_th3f_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_KolmogorovTest" c_th3f_kolmogorovtest :: Ptr RawTH3F -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH3F.h TH3F_LabelsDeflate"- c_th3f_labelsdeflate :: Ptr RawTH3F -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_LabelsDeflate" c_th3f_labelsdeflate ::+ Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_LabelsInflate"- c_th3f_labelsinflate :: Ptr RawTH3F -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_LabelsInflate" c_th3f_labelsinflate ::+ Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_LabelsOption"- c_th3f_labelsoption :: Ptr RawTH3F -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_LabelsOption" c_th3f_labelsoption ::+ Ptr RawTH3F -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_multiflyF"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_multiflyF" c_th3f_multiflyf :: Ptr RawTH3F -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_Multiply"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Multiply" c_th3f_multiply :: Ptr RawTH3F -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_PutStats"- c_th3f_putstats :: Ptr RawTH3F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_PutStats"+ c_th3f_putstats :: Ptr RawTH3F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_Rebin" c_th3f_rebin- ::- Ptr RawTH3F -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Rebin"+ c_th3f_rebin ::+ Ptr RawTH3F -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3F.h TH3F_RebinAxis"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_RebinAxis" c_th3f_rebinaxis :: Ptr RawTH3F -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_Rebuild"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Rebuild" c_th3f_rebuild :: Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_RecursiveRemove"- c_th3f_recursiveremove :: Ptr RawTH3F -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_RecursiveRemove" c_th3f_recursiveremove ::+ Ptr RawTH3F -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_Reset" c_th3f_reset- :: Ptr RawTH3F -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Reset"+ c_th3f_reset :: Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_ResetStats"- c_th3f_resetstats :: Ptr RawTH3F -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_ResetStats" c_th3f_resetstats ::+ Ptr RawTH3F -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_Scale" c_th3f_scale- :: Ptr RawTH3F -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Scale"+ c_th3f_scale :: Ptr RawTH3F -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setAxisColorA"- c_th3f_setaxiscolora :: Ptr RawTH3F -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_setAxisColorA" c_th3f_setaxiscolora ::+ Ptr RawTH3F -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetAxisRange"- c_th3f_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetAxisRange" c_th3f_setaxisrange :: Ptr RawTH3F -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetBarOffset"- c_th3f_setbaroffset :: Ptr RawTH3F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetBarOffset" c_th3f_setbaroffset ::+ Ptr RawTH3F -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetBarWidth"- c_th3f_setbarwidth :: Ptr RawTH3F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetBarWidth" c_th3f_setbarwidth ::+ Ptr RawTH3F -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setBinContent1"- c_th3f_setbincontent1 :: Ptr RawTH3F -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_setBinContent1" c_th3f_setbincontent1 ::+ Ptr RawTH3F -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setBinContent2"- c_th3f_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_setBinContent2" c_th3f_setbincontent2 :: Ptr RawTH3F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setBinContent3"- c_th3f_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_setBinContent3" c_th3f_setbincontent3 :: Ptr RawTH3F -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setBinError1"- c_th3f_setbinerror1 :: Ptr RawTH3F -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_setBinError1" c_th3f_setbinerror1 ::+ Ptr RawTH3F -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setBinError2"- c_th3f_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_setBinError2" c_th3f_setbinerror2 :: Ptr RawTH3F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setBinError3"- c_th3f_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_setBinError3" c_th3f_setbinerror3 :: Ptr RawTH3F -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setBins1"- c_th3f_setbins1 :: Ptr RawTH3F -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_setBins1"+ c_th3f_setbins1 :: Ptr RawTH3F -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setBins2"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_setBins2" c_th3f_setbins2 ::- Ptr RawTH3F ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH3F -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setBins3"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_setBins3" c_th3f_setbins3 :: Ptr RawTH3F -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetBinsLength"- c_th3f_setbinslength :: Ptr RawTH3F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetBinsLength" c_th3f_setbinslength ::+ Ptr RawTH3F -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetBuffer"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_SetBuffer" c_th3f_setbuffer :: Ptr RawTH3F -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetCellContent"- c_th3f_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetCellContent" c_th3f_setcellcontent :: Ptr RawTH3F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetContent"- c_th3f_setcontent :: Ptr RawTH3F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetContent" c_th3f_setcontent ::+ Ptr RawTH3F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetContour"- c_th3f_setcontour :: Ptr RawTH3F -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetContour" c_th3f_setcontour ::+ Ptr RawTH3F -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetContourLevel"- c_th3f_setcontourlevel :: Ptr RawTH3F -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetContourLevel" c_th3f_setcontourlevel ::+ Ptr RawTH3F -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetDirectory"- c_th3f_setdirectory :: Ptr RawTH3F -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetDirectory" c_th3f_setdirectory ::+ Ptr RawTH3F -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetEntries"- c_th3f_setentries :: Ptr RawTH3F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetEntries" c_th3f_setentries ::+ Ptr RawTH3F -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetError"- c_th3f_seterror :: Ptr RawTH3F -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_SetError"+ c_th3f_seterror :: Ptr RawTH3F -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setLabelColorA"- c_th3f_setlabelcolora :: Ptr RawTH3F -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_setLabelColorA" c_th3f_setlabelcolora ::+ Ptr RawTH3F -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setLabelSizeA"- c_th3f_setlabelsizea :: Ptr RawTH3F -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_setLabelSizeA" c_th3f_setlabelsizea ::+ Ptr RawTH3F -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setLabelFontA"- c_th3f_setlabelfonta :: Ptr RawTH3F -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_setLabelFontA" c_th3f_setlabelfonta ::+ Ptr RawTH3F -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_setLabelOffsetA"- c_th3f_setlabeloffseta ::- Ptr RawTH3F -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_setLabelOffsetA" c_th3f_setlabeloffseta ::+ Ptr RawTH3F -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetMaximum"- c_th3f_setmaximum :: Ptr RawTH3F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetMaximum" c_th3f_setmaximum ::+ Ptr RawTH3F -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetMinimum"- c_th3f_setminimum :: Ptr RawTH3F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetMinimum" c_th3f_setminimum ::+ Ptr RawTH3F -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetNormFactor"- c_th3f_setnormfactor :: Ptr RawTH3F -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetNormFactor" c_th3f_setnormfactor ::+ Ptr RawTH3F -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetStats"- c_th3f_setstats :: Ptr RawTH3F -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_SetStats"+ c_th3f_setstats :: Ptr RawTH3F -> CBool -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetOption"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_SetOption" c_th3f_setoption :: Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetXTitle"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_SetXTitle" c_th3f_setxtitle :: Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetYTitle"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_SetYTitle" c_th3f_setytitle :: Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetZTitle"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_SetZTitle" c_th3f_setztitle :: Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_ShowBackground"- c_th3f_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_ShowBackground" c_th3f_showbackground :: Ptr RawTH3F -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3F.h TH3F_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_ShowPeaks" c_th3f_showpeaks :: Ptr RawTH3F -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_Smooth"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Smooth" c_th3f_smooth :: Ptr RawTH3F -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_Sumw2" c_th3f_sumw2- :: Ptr RawTH3F -> IO ()+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Sumw2"+ c_th3f_sumw2 :: Ptr RawTH3F -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetName"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_SetName" c_th3f_setname :: Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetNameTitle"- c_th3f_setnametitle :: Ptr RawTH3F -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetNameTitle" c_th3f_setnametitle ::+ Ptr RawTH3F -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetTitle"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_SetTitle" c_th3f_settitle :: Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetLineColor"- c_th3f_getlinecolor :: Ptr RawTH3F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetLineColor" c_th3f_getlinecolor ::+ Ptr RawTH3F -> IO CShort -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetLineStyle"- c_th3f_getlinestyle :: Ptr RawTH3F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetLineStyle" c_th3f_getlinestyle ::+ Ptr RawTH3F -> IO CShort -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetLineWidth"- c_th3f_getlinewidth :: Ptr RawTH3F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetLineWidth" c_th3f_getlinewidth ::+ Ptr RawTH3F -> IO CShort -foreign import ccall safe "HROOTHistTH3F.h TH3F_ResetAttLine"- c_th3f_resetattline :: Ptr RawTH3F -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_ResetAttLine" c_th3f_resetattline ::+ Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetLineAttributes"- c_th3f_setlineattributes :: Ptr RawTH3F -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetLineAttributes" c_th3f_setlineattributes+ :: Ptr RawTH3F -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetLineColor"- c_th3f_setlinecolor :: Ptr RawTH3F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetLineColor" c_th3f_setlinecolor ::+ Ptr RawTH3F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetLineStyle"- c_th3f_setlinestyle :: Ptr RawTH3F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetLineStyle" c_th3f_setlinestyle ::+ Ptr RawTH3F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetLineWidth"- c_th3f_setlinewidth :: Ptr RawTH3F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetLineWidth" c_th3f_setlinewidth ::+ Ptr RawTH3F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetFillColor"- c_th3f_setfillcolor :: Ptr RawTH3F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetFillColor" c_th3f_setfillcolor ::+ Ptr RawTH3F -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetFillStyle"- c_th3f_setfillstyle :: Ptr RawTH3F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetFillStyle" c_th3f_setfillstyle ::+ Ptr RawTH3F -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMarkerColor"- c_th3f_getmarkercolor :: Ptr RawTH3F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetMarkerColor" c_th3f_getmarkercolor ::+ Ptr RawTH3F -> IO CShort -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMarkerStyle"- c_th3f_getmarkerstyle :: Ptr RawTH3F -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetMarkerStyle" c_th3f_getmarkerstyle ::+ Ptr RawTH3F -> IO CShort -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMarkerSize"- c_th3f_getmarkersize :: Ptr RawTH3F -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_GetMarkerSize" c_th3f_getmarkersize ::+ Ptr RawTH3F -> IO CFloat -foreign import ccall safe "HROOTHistTH3F.h TH3F_ResetAttMarker"- c_th3f_resetattmarker :: Ptr RawTH3F -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_ResetAttMarker" c_th3f_resetattmarker ::+ Ptr RawTH3F -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_SetMarkerAttributes" c_th3f_setmarkerattributes :: Ptr RawTH3F -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetMarkerColor"- c_th3f_setmarkercolor :: Ptr RawTH3F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetMarkerColor" c_th3f_setmarkercolor ::+ Ptr RawTH3F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetMarkerStyle"- c_th3f_setmarkerstyle :: Ptr RawTH3F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetMarkerStyle" c_th3f_setmarkerstyle ::+ Ptr RawTH3F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SetMarkerSize"- c_th3f_setmarkersize :: Ptr RawTH3F -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_SetMarkerSize" c_th3f_setmarkersize ::+ Ptr RawTH3F -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_Draw" c_th3f_draw- :: Ptr RawTH3F -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Clear"+ c_th3f_clear :: Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_FindObject"- c_th3f_findobject :: Ptr RawTH3F -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Draw"+ c_th3f_draw :: Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_GetName"+foreign import ccall interruptible+ "HROOTHistTH3F.h TH3F_FindObject" c_th3f_findobject ::+ Ptr RawTH3F -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH3F.h TH3F_GetName" c_th3f_getname :: Ptr RawTH3F -> IO CString -foreign import ccall safe "HROOTHistTH3F.h TH3F_IsA" c_th3f_isa ::- Ptr RawTH3F -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_IsA"+ c_th3f_isa :: Ptr RawTH3F -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH3F.h TH3F_Paint" c_th3f_paint- :: Ptr RawTH3F -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Paint"+ c_th3f_paint :: Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_printObj"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_printObj" c_th3f_printobj :: Ptr RawTH3F -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_SaveAs"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_SaveAs" c_th3f_saveas :: Ptr RawTH3F -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3F.h TH3F_Write" c_th3f_write- :: Ptr RawTH3F -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Write"+ c_th3f_write :: Ptr RawTH3F -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3F.h TH3F_delete"+foreign import ccall interruptible "HROOTHistTH3F.h TH3F_Write_"+ c_th3f_write_ :: Ptr RawTH3F -> IO CInt++foreign import ccall interruptible "HROOTHistTH3F.h TH3F_delete" c_th3f_delete :: Ptr RawTH3F -> IO ()++foreign import ccall interruptible "HROOTHistTH3F.h TH3F_GetAt"+ c_th3f_getat :: Ptr RawTH3F -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH3F.h TH3F_SetArray"+ c_th3f_setarray :: Ptr RawTH3F -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH3F.h TH3F_SetAt"+ c_th3f_setat :: Ptr RawTH3F -> CDouble -> CInt -> IO ()
src/HROOT/Hist/TH3F/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH3F.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH3F.RawType import HROOT.Hist.TH3F.FFI import HROOT.Hist.TH3F.Interface import HROOT.Hist.TH3F.Cast+import HROOT.Hist.TH3F.RawType+import HROOT.Hist.TH3F.Cast+import HROOT.Hist.TH3F.Interface import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Cast import HROOT.Hist.TH1D.Interface@@ -57,16 +66,16 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH3F TH3F+instance () => ITH3F (TH3F) where -instance ITH3 TH3F where+instance () => ITH3 (TH3F) where fill3 = xform3 c_th3f_fill3 fill3w = xform4 c_th3f_fill3w fitSlicesZ = xform7 c_th3f_fitslicesz@@ -77,13 +86,12 @@ rebinZ3 = xform2 c_th3f_rebinz3 rebin3D = xform4 c_th3f_rebin3d -instance ITArrayF TH3F+instance () => ITArrayF (TH3F) where -instance ITH1 TH3F where+instance () => ITH1 (TH3F) where add = xform2 c_th3f_add addBinContent = xform2 c_th3f_addbincontent chi2Test = xform3 c_th3f_chi2test- computeIntegral = xform0 c_th3f_computeintegral directoryAutoAdd = xform1 c_th3f_directoryautoadd divide = xform5 c_th3f_divide drawCopyTH1 = xform1 c_th3f_drawcopyth1@@ -155,9 +163,6 @@ getRMS = xform1 c_th3f_getrms getRMSError = xform1 c_th3f_getrmserror getSkewness = xform1 c_th3f_getskewness- integral1 = xform3 c_th3f_integral1- interpolate1 = xform1 c_th3f_interpolate1- interpolate2 = xform2 c_th3f_interpolate2 interpolate3 = xform3 c_th3f_interpolate3 kolmogorovTest = xform2 c_th3f_kolmogorovtest labelsDeflate = xform1 c_th3f_labelsdeflate@@ -212,14 +217,14 @@ smooth = xform2 c_th3f_smooth sumw2 = xform0 c_th3f_sumw2 -instance ITAtt3D TH3F+instance () => ITAtt3D (TH3F) where -instance ITNamed TH3F where+instance () => ITNamed (TH3F) where setName = xform1 c_th3f_setname setNameTitle = xform2 c_th3f_setnametitle setTitle = xform1 c_th3f_settitle -instance ITAttLine TH3F where+instance () => ITAttLine (TH3F) where getLineColor = xform0 c_th3f_getlinecolor getLineStyle = xform0 c_th3f_getlinestyle getLineWidth = xform0 c_th3f_getlinewidth@@ -229,11 +234,11 @@ setLineStyle = xform1 c_th3f_setlinestyle setLineWidth = xform1 c_th3f_setlinewidth -instance ITAttFill TH3F where+instance () => ITAttFill (TH3F) where setFillColor = xform1 c_th3f_setfillcolor setFillStyle = xform1 c_th3f_setfillstyle -instance ITAttMarker TH3F where+instance () => ITAttMarker (TH3F) where getMarkerColor = xform0 c_th3f_getmarkercolor getMarkerStyle = xform0 c_th3f_getmarkerstyle getMarkerSize = xform0 c_th3f_getmarkersize@@ -243,7 +248,8 @@ setMarkerStyle = xform1 c_th3f_setmarkerstyle setMarkerSize = xform1 c_th3f_setmarkersize -instance ITObject TH3F where+instance () => ITObject (TH3F) where+ clear = xform1 c_th3f_clear draw = xform1 c_th3f_draw findObject = xform1 c_th3f_findobject getName = xform0 c_th3f_getname@@ -252,8 +258,12 @@ printObj = xform1 c_th3f_printobj saveAs = xform2 c_th3f_saveas write = xform3 c_th3f_write+ write_ = xform0 c_th3f_write_ -instance IDeletable TH3F where+instance () => IDeletable (TH3F) where delete = xform0 c_th3f_delete -instance ITArray TH3F+instance () => ITArray (TH3F) where+ getAt = xform1 c_th3f_getat+ setArray = xform1 c_th3f_setarray+ setAt = xform2 c_th3f_setat
src/HROOT/Hist/TH3F/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH3F.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH3.Interface import HROOT.Core.TArrayF.Interface -class (ITH3 a, ITArrayF a) => ITH3F a+class (ITH3 a, ITArrayF a) => ITH3F a where upcastTH3F :: forall a . (FPtr a, ITH3F a) => a -> TH3F upcastTH3F h
src/HROOT/Hist/TH3F/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH3F newtype TH3F = TH3F (Ptr RawTH3F)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH3F where+instance () => FPtr (TH3F) where type Raw TH3F = RawTH3F get_fptr (TH3F ptr) = ptr cast_fptr_to_obj = TH3F
src/HROOT/Hist/TH3I/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH3I.RawType import HROOT.Hist.TH3I.Interface -instance (ITH3I a, FPtr a) => Castable a (Ptr RawTH3I) where+instance (ITH3I a, FPtr a) => Castable (a) (Ptr RawTH3I) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH3I (Ptr RawTH3I) where+instance () => Castable (TH3I) (Ptr RawTH3I) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH3I/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH3I.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH3I.RawType+import HROOT.Hist.TH3I.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1.RawType import HROOT.Hist.TH3.RawType@@ -13,558 +16,646 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH3I.h TH3I_fill3" c_th3i_fill3- :: Ptr RawTH3I -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_fill3"+ c_th3i_fill3 ::+ Ptr RawTH3I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_fill3w"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_fill3w" c_th3i_fill3w :: Ptr RawTH3I -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_FitSlicesZ"- c_th3i_fitslicesz ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_FitSlicesZ" c_th3i_fitslicesz :: Ptr RawTH3I -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_getCorrelationFactor3" c_th3i_getcorrelationfactor3 :: Ptr RawTH3I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_getCovariance3"- c_th3i_getcovariance3 :: Ptr RawTH3I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getCovariance3" c_th3i_getcovariance3 ::+ Ptr RawTH3I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_rebinX3"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_rebinX3" c_th3i_rebinx3 :: Ptr RawTH3I -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3I.h TH3I_rebinY3"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_rebinY3" c_th3i_rebiny3 :: Ptr RawTH3I -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3I.h TH3I_rebinZ3"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_rebinZ3" c_th3i_rebinz3 :: Ptr RawTH3I -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3I.h TH3I_Rebin3D"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Rebin3D" c_th3i_rebin3d :: Ptr RawTH3I -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3I.h TH3I_Add" c_th3i_add ::- Ptr RawTH3I -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Add"+ c_th3i_add :: Ptr RawTH3I -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_AddBinContent"- c_th3i_addbincontent :: Ptr RawTH3I -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_AddBinContent" c_th3i_addbincontent ::+ Ptr RawTH3I -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_Chi2Test"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Chi2Test" c_th3i_chi2test ::- Ptr RawTH3I -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH3I.h TH3I_ComputeIntegral"- c_th3i_computeintegral :: Ptr RawTH3I -> IO CDouble+ Ptr RawTH3I -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_DirectoryAutoAdd"- c_th3i_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_DirectoryAutoAdd" c_th3i_directoryautoadd :: Ptr RawTH3I -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_Divide"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Divide" c_th3i_divide :: Ptr RawTH3I -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_drawCopyTH1"- c_th3i_drawcopyth1 :: Ptr RawTH3I -> CString -> IO (Ptr RawTH3I)+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_drawCopyTH1" c_th3i_drawcopyth1 ::+ Ptr RawTH3I -> CString -> IO (Ptr RawTH3I) -foreign import ccall safe "HROOTHistTH3I.h TH3I_DrawNormalized"- c_th3i_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_DrawNormalized" c_th3i_drawnormalized :: Ptr RawTH3I -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3I.h TH3I_drawPanelTH1"- c_th3i_drawpanelth1 :: Ptr RawTH3I -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_drawPanelTH1" c_th3i_drawpanelth1 ::+ Ptr RawTH3I -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_BufferEmpty"- c_th3i_bufferempty :: Ptr RawTH3I -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_BufferEmpty" c_th3i_bufferempty ::+ Ptr RawTH3I -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_evalF" c_th3i_evalf- :: Ptr RawTH3I -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_evalF"+ c_th3i_evalf :: Ptr RawTH3I -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_FFT" c_th3i_fft ::+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_FFT"+ c_th3i_fft :: Ptr RawTH3I -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3I.h TH3I_fill1" c_th3i_fill1- :: Ptr RawTH3I -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_fill1"+ c_th3i_fill1 :: Ptr RawTH3I -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_fill1w"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_fill1w" c_th3i_fill1w :: Ptr RawTH3I -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_fillN1"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_fillN1" c_th3i_filln1 ::- Ptr RawTH3I ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH3I -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_FillRandom"- c_th3i_fillrandom :: Ptr RawTH3I -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_FillRandom" c_th3i_fillrandom ::+ Ptr RawTH3I -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_FindBin"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_FindBin" c_th3i_findbin :: Ptr RawTH3I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_FindFixBin"- c_th3i_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_FindFixBin" c_th3i_findfixbin :: Ptr RawTH3I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_FindFirstBinAbove"- c_th3i_findfirstbinabove ::- Ptr RawTH3I -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_FindFirstBinAbove" c_th3i_findfirstbinabove+ :: Ptr RawTH3I -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_FindLastBinAbove"- c_th3i_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_FindLastBinAbove" c_th3i_findlastbinabove :: Ptr RawTH3I -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_Fit" c_th3i_fit ::+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Fit"+ c_th3i_fit :: Ptr RawTH3I -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_FitPanelTH1"- c_th3i_fitpanelth1 :: Ptr RawTH3I -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_FitPanelTH1" c_th3i_fitpanelth1 ::+ Ptr RawTH3I -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_getNdivisionA"- c_th3i_getndivisiona :: Ptr RawTH3I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getNdivisionA" c_th3i_getndivisiona ::+ Ptr RawTH3I -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_getAxisColorA"- c_th3i_getaxiscolora :: Ptr RawTH3I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getAxisColorA" c_th3i_getaxiscolora ::+ Ptr RawTH3I -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3I.h TH3I_getLabelColorA"- c_th3i_getlabelcolora :: Ptr RawTH3I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getLabelColorA" c_th3i_getlabelcolora ::+ Ptr RawTH3I -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3I.h TH3I_getLabelFontA"- c_th3i_getlabelfonta :: Ptr RawTH3I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getLabelFontA" c_th3i_getlabelfonta ::+ Ptr RawTH3I -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3I.h TH3I_getLabelOffsetA"- c_th3i_getlabeloffseta :: Ptr RawTH3I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getLabelOffsetA" c_th3i_getlabeloffseta ::+ Ptr RawTH3I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3I.h TH3I_getLabelSizeA"- c_th3i_getlabelsizea :: Ptr RawTH3I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getLabelSizeA" c_th3i_getlabelsizea ::+ Ptr RawTH3I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3I.h TH3I_getTitleFontA"- c_th3i_gettitlefonta :: Ptr RawTH3I -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getTitleFontA" c_th3i_gettitlefonta ::+ Ptr RawTH3I -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3I.h TH3I_getTitleOffsetA"- c_th3i_gettitleoffseta :: Ptr RawTH3I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getTitleOffsetA" c_th3i_gettitleoffseta ::+ Ptr RawTH3I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3I.h TH3I_getTitleSizeA"- c_th3i_gettitlesizea :: Ptr RawTH3I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getTitleSizeA" c_th3i_gettitlesizea ::+ Ptr RawTH3I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3I.h TH3I_getTickLengthA"- c_th3i_getticklengtha :: Ptr RawTH3I -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getTickLengthA" c_th3i_getticklengtha ::+ Ptr RawTH3I -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBarOffset"- c_th3i_getbaroffset :: Ptr RawTH3I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetBarOffset" c_th3i_getbaroffset ::+ Ptr RawTH3I -> IO CFloat -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBarWidth"- c_th3i_getbarwidth :: Ptr RawTH3I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetBarWidth" c_th3i_getbarwidth ::+ Ptr RawTH3I -> IO CFloat -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetContour"- c_th3i_getcontour :: Ptr RawTH3I -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetContour" c_th3i_getcontour ::+ Ptr RawTH3I -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetContourLevel"- c_th3i_getcontourlevel :: Ptr RawTH3I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetContourLevel" c_th3i_getcontourlevel ::+ Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetContourLevelPad"- c_th3i_getcontourlevelpad :: Ptr RawTH3I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetContourLevelPad" c_th3i_getcontourlevelpad+ :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBin"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_GetBin" c_th3i_getbin :: Ptr RawTH3I -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinCenter"- c_th3i_getbincenter :: Ptr RawTH3I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetBinCenter" c_th3i_getbincenter ::+ Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinContent1"- c_th3i_getbincontent1 :: Ptr RawTH3I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetBinContent1" c_th3i_getbincontent1 ::+ Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinContent2"- c_th3i_getbincontent2 :: Ptr RawTH3I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetBinContent2" c_th3i_getbincontent2 ::+ Ptr RawTH3I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinContent3"- c_th3i_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetBinContent3" c_th3i_getbincontent3 :: Ptr RawTH3I -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinError1"- c_th3i_getbinerror1 :: Ptr RawTH3I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetBinError1" c_th3i_getbinerror1 ::+ Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinError2"- c_th3i_getbinerror2 :: Ptr RawTH3I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetBinError2" c_th3i_getbinerror2 ::+ Ptr RawTH3I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinError3"- c_th3i_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetBinError3" c_th3i_getbinerror3 :: Ptr RawTH3I -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinLowEdge"- c_th3i_getbinlowedge :: Ptr RawTH3I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetBinLowEdge" c_th3i_getbinlowedge ::+ Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinWidth"- c_th3i_getbinwidth :: Ptr RawTH3I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetBinWidth" c_th3i_getbinwidth ::+ Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetCellContent"- c_th3i_getcellcontent :: Ptr RawTH3I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetCellContent" c_th3i_getcellcontent ::+ Ptr RawTH3I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetCellError"- c_th3i_getcellerror :: Ptr RawTH3I -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetCellError" c_th3i_getcellerror ::+ Ptr RawTH3I -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetEntries"- c_th3i_getentries :: Ptr RawTH3I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetEntries" c_th3i_getentries ::+ Ptr RawTH3I -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_GetEffectiveEntries" c_th3i_geteffectiveentries :: Ptr RawTH3I -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetFunction"- c_th3i_getfunction :: Ptr RawTH3I -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetFunction" c_th3i_getfunction ::+ Ptr RawTH3I -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetDimension"- c_th3i_getdimension :: Ptr RawTH3I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetDimension" c_th3i_getdimension ::+ Ptr RawTH3I -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetKurtosis"- c_th3i_getkurtosis :: Ptr RawTH3I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetKurtosis" c_th3i_getkurtosis ::+ Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetLowEdge"- c_th3i_getlowedge :: Ptr RawTH3I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetLowEdge" c_th3i_getlowedge ::+ Ptr RawTH3I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_getMaximumTH1"- c_th3i_getmaximumth1 :: Ptr RawTH3I -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getMaximumTH1" c_th3i_getmaximumth1 ::+ Ptr RawTH3I -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMaximumBin"- c_th3i_getmaximumbin :: Ptr RawTH3I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetMaximumBin" c_th3i_getmaximumbin ::+ Ptr RawTH3I -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMaximumStored"- c_th3i_getmaximumstored :: Ptr RawTH3I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetMaximumStored" c_th3i_getmaximumstored ::+ Ptr RawTH3I -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_getMinimumTH1"- c_th3i_getminimumth1 :: Ptr RawTH3I -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getMinimumTH1" c_th3i_getminimumth1 ::+ Ptr RawTH3I -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMinimumBin"- c_th3i_getminimumbin :: Ptr RawTH3I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetMinimumBin" c_th3i_getminimumbin ::+ Ptr RawTH3I -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMinimumStored"- c_th3i_getminimumstored :: Ptr RawTH3I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetMinimumStored" c_th3i_getminimumstored ::+ Ptr RawTH3I -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMean"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_GetMean" c_th3i_getmean :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMeanError"- c_th3i_getmeanerror :: Ptr RawTH3I -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetMeanError" c_th3i_getmeanerror ::+ Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_GetNbinsX" c_th3i_getnbinsx :: Ptr RawTH3I -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_GetNbinsY" c_th3i_getnbinsy :: Ptr RawTH3I -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_GetNbinsZ" c_th3i_getnbinsz :: Ptr RawTH3I -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_getQuantilesTH1"- c_th3i_getquantilesth1 ::- Ptr RawTH3I -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_getQuantilesTH1" c_th3i_getquantilesth1 ::+ Ptr RawTH3I -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetRandom"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_GetRandom" c_th3i_getrandom :: Ptr RawTH3I -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetStats"- c_th3i_getstats :: Ptr RawTH3I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_GetStats"+ c_th3i_getstats :: Ptr RawTH3I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetSumOfWeights"- c_th3i_getsumofweights :: Ptr RawTH3I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetSumOfWeights" c_th3i_getsumofweights ::+ Ptr RawTH3I -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetSumw2"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_GetSumw2" c_th3i_getsumw2 :: Ptr RawTH3I -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_GetSumw2N" c_th3i_getsumw2n :: Ptr RawTH3I -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetRMS"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_GetRMS" c_th3i_getrms :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetRMSError"- c_th3i_getrmserror :: Ptr RawTH3I -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH3I.h TH3I_GetSkewness"- c_th3i_getskewness :: Ptr RawTH3I -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH3I.h TH3I_integral1"- c_th3i_integral1 ::- Ptr RawTH3I -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH3I.h TH3I_interpolate1"- c_th3i_interpolate1 :: Ptr RawTH3I -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetRMSError" c_th3i_getrmserror ::+ Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_interpolate2"- c_th3i_interpolate2 ::- Ptr RawTH3I -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetSkewness" c_th3i_getskewness ::+ Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_interpolate3"- c_th3i_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_interpolate3" c_th3i_interpolate3 :: Ptr RawTH3I -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_KolmogorovTest"- c_th3i_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_KolmogorovTest" c_th3i_kolmogorovtest :: Ptr RawTH3I -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH3I.h TH3I_LabelsDeflate"- c_th3i_labelsdeflate :: Ptr RawTH3I -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_LabelsDeflate" c_th3i_labelsdeflate ::+ Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_LabelsInflate"- c_th3i_labelsinflate :: Ptr RawTH3I -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_LabelsInflate" c_th3i_labelsinflate ::+ Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_LabelsOption"- c_th3i_labelsoption :: Ptr RawTH3I -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_LabelsOption" c_th3i_labelsoption ::+ Ptr RawTH3I -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_multiflyF"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_multiflyF" c_th3i_multiflyf :: Ptr RawTH3I -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_Multiply"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Multiply" c_th3i_multiply :: Ptr RawTH3I -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_PutStats"- c_th3i_putstats :: Ptr RawTH3I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_PutStats"+ c_th3i_putstats :: Ptr RawTH3I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_Rebin" c_th3i_rebin- ::- Ptr RawTH3I -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Rebin"+ c_th3i_rebin ::+ Ptr RawTH3I -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3I.h TH3I_RebinAxis"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_RebinAxis" c_th3i_rebinaxis :: Ptr RawTH3I -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_Rebuild"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Rebuild" c_th3i_rebuild :: Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_RecursiveRemove"- c_th3i_recursiveremove :: Ptr RawTH3I -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_RecursiveRemove" c_th3i_recursiveremove ::+ Ptr RawTH3I -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_Reset" c_th3i_reset- :: Ptr RawTH3I -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Reset"+ c_th3i_reset :: Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_ResetStats"- c_th3i_resetstats :: Ptr RawTH3I -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_ResetStats" c_th3i_resetstats ::+ Ptr RawTH3I -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_Scale" c_th3i_scale- :: Ptr RawTH3I -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Scale"+ c_th3i_scale :: Ptr RawTH3I -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setAxisColorA"- c_th3i_setaxiscolora :: Ptr RawTH3I -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_setAxisColorA" c_th3i_setaxiscolora ::+ Ptr RawTH3I -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetAxisRange"- c_th3i_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetAxisRange" c_th3i_setaxisrange :: Ptr RawTH3I -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetBarOffset"- c_th3i_setbaroffset :: Ptr RawTH3I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetBarOffset" c_th3i_setbaroffset ::+ Ptr RawTH3I -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetBarWidth"- c_th3i_setbarwidth :: Ptr RawTH3I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetBarWidth" c_th3i_setbarwidth ::+ Ptr RawTH3I -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setBinContent1"- c_th3i_setbincontent1 :: Ptr RawTH3I -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_setBinContent1" c_th3i_setbincontent1 ::+ Ptr RawTH3I -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setBinContent2"- c_th3i_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_setBinContent2" c_th3i_setbincontent2 :: Ptr RawTH3I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setBinContent3"- c_th3i_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_setBinContent3" c_th3i_setbincontent3 :: Ptr RawTH3I -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setBinError1"- c_th3i_setbinerror1 :: Ptr RawTH3I -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_setBinError1" c_th3i_setbinerror1 ::+ Ptr RawTH3I -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setBinError2"- c_th3i_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_setBinError2" c_th3i_setbinerror2 :: Ptr RawTH3I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setBinError3"- c_th3i_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_setBinError3" c_th3i_setbinerror3 :: Ptr RawTH3I -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setBins1"- c_th3i_setbins1 :: Ptr RawTH3I -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_setBins1"+ c_th3i_setbins1 :: Ptr RawTH3I -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setBins2"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_setBins2" c_th3i_setbins2 ::- Ptr RawTH3I ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH3I -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setBins3"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_setBins3" c_th3i_setbins3 :: Ptr RawTH3I -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetBinsLength"- c_th3i_setbinslength :: Ptr RawTH3I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetBinsLength" c_th3i_setbinslength ::+ Ptr RawTH3I -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetBuffer"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_SetBuffer" c_th3i_setbuffer :: Ptr RawTH3I -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetCellContent"- c_th3i_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetCellContent" c_th3i_setcellcontent :: Ptr RawTH3I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetContent"- c_th3i_setcontent :: Ptr RawTH3I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetContent" c_th3i_setcontent ::+ Ptr RawTH3I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetContour"- c_th3i_setcontour :: Ptr RawTH3I -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetContour" c_th3i_setcontour ::+ Ptr RawTH3I -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetContourLevel"- c_th3i_setcontourlevel :: Ptr RawTH3I -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetContourLevel" c_th3i_setcontourlevel ::+ Ptr RawTH3I -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetDirectory"- c_th3i_setdirectory :: Ptr RawTH3I -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetDirectory" c_th3i_setdirectory ::+ Ptr RawTH3I -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetEntries"- c_th3i_setentries :: Ptr RawTH3I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetEntries" c_th3i_setentries ::+ Ptr RawTH3I -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetError"- c_th3i_seterror :: Ptr RawTH3I -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_SetError"+ c_th3i_seterror :: Ptr RawTH3I -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setLabelColorA"- c_th3i_setlabelcolora :: Ptr RawTH3I -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_setLabelColorA" c_th3i_setlabelcolora ::+ Ptr RawTH3I -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setLabelSizeA"- c_th3i_setlabelsizea :: Ptr RawTH3I -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_setLabelSizeA" c_th3i_setlabelsizea ::+ Ptr RawTH3I -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setLabelFontA"- c_th3i_setlabelfonta :: Ptr RawTH3I -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_setLabelFontA" c_th3i_setlabelfonta ::+ Ptr RawTH3I -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_setLabelOffsetA"- c_th3i_setlabeloffseta ::- Ptr RawTH3I -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_setLabelOffsetA" c_th3i_setlabeloffseta ::+ Ptr RawTH3I -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetMaximum"- c_th3i_setmaximum :: Ptr RawTH3I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetMaximum" c_th3i_setmaximum ::+ Ptr RawTH3I -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetMinimum"- c_th3i_setminimum :: Ptr RawTH3I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetMinimum" c_th3i_setminimum ::+ Ptr RawTH3I -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetNormFactor"- c_th3i_setnormfactor :: Ptr RawTH3I -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetNormFactor" c_th3i_setnormfactor ::+ Ptr RawTH3I -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetStats"- c_th3i_setstats :: Ptr RawTH3I -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_SetStats"+ c_th3i_setstats :: Ptr RawTH3I -> CBool -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetOption"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_SetOption" c_th3i_setoption :: Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetXTitle"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_SetXTitle" c_th3i_setxtitle :: Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetYTitle"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_SetYTitle" c_th3i_setytitle :: Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetZTitle"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_SetZTitle" c_th3i_setztitle :: Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_ShowBackground"- c_th3i_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_ShowBackground" c_th3i_showbackground :: Ptr RawTH3I -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3I.h TH3I_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_ShowPeaks" c_th3i_showpeaks :: Ptr RawTH3I -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_Smooth"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Smooth" c_th3i_smooth :: Ptr RawTH3I -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_Sumw2" c_th3i_sumw2- :: Ptr RawTH3I -> IO ()+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Sumw2"+ c_th3i_sumw2 :: Ptr RawTH3I -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetName"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_SetName" c_th3i_setname :: Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetNameTitle"- c_th3i_setnametitle :: Ptr RawTH3I -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetNameTitle" c_th3i_setnametitle ::+ Ptr RawTH3I -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetTitle"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_SetTitle" c_th3i_settitle :: Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetLineColor"- c_th3i_getlinecolor :: Ptr RawTH3I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetLineColor" c_th3i_getlinecolor ::+ Ptr RawTH3I -> IO CShort -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetLineStyle"- c_th3i_getlinestyle :: Ptr RawTH3I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetLineStyle" c_th3i_getlinestyle ::+ Ptr RawTH3I -> IO CShort -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetLineWidth"- c_th3i_getlinewidth :: Ptr RawTH3I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetLineWidth" c_th3i_getlinewidth ::+ Ptr RawTH3I -> IO CShort -foreign import ccall safe "HROOTHistTH3I.h TH3I_ResetAttLine"- c_th3i_resetattline :: Ptr RawTH3I -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_ResetAttLine" c_th3i_resetattline ::+ Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetLineAttributes"- c_th3i_setlineattributes :: Ptr RawTH3I -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetLineAttributes" c_th3i_setlineattributes+ :: Ptr RawTH3I -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetLineColor"- c_th3i_setlinecolor :: Ptr RawTH3I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetLineColor" c_th3i_setlinecolor ::+ Ptr RawTH3I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetLineStyle"- c_th3i_setlinestyle :: Ptr RawTH3I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetLineStyle" c_th3i_setlinestyle ::+ Ptr RawTH3I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetLineWidth"- c_th3i_setlinewidth :: Ptr RawTH3I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetLineWidth" c_th3i_setlinewidth ::+ Ptr RawTH3I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetFillColor"- c_th3i_setfillcolor :: Ptr RawTH3I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetFillColor" c_th3i_setfillcolor ::+ Ptr RawTH3I -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetFillStyle"- c_th3i_setfillstyle :: Ptr RawTH3I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetFillStyle" c_th3i_setfillstyle ::+ Ptr RawTH3I -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMarkerColor"- c_th3i_getmarkercolor :: Ptr RawTH3I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetMarkerColor" c_th3i_getmarkercolor ::+ Ptr RawTH3I -> IO CShort -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMarkerStyle"- c_th3i_getmarkerstyle :: Ptr RawTH3I -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetMarkerStyle" c_th3i_getmarkerstyle ::+ Ptr RawTH3I -> IO CShort -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMarkerSize"- c_th3i_getmarkersize :: Ptr RawTH3I -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_GetMarkerSize" c_th3i_getmarkersize ::+ Ptr RawTH3I -> IO CFloat -foreign import ccall safe "HROOTHistTH3I.h TH3I_ResetAttMarker"- c_th3i_resetattmarker :: Ptr RawTH3I -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_ResetAttMarker" c_th3i_resetattmarker ::+ Ptr RawTH3I -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_SetMarkerAttributes" c_th3i_setmarkerattributes :: Ptr RawTH3I -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetMarkerColor"- c_th3i_setmarkercolor :: Ptr RawTH3I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetMarkerColor" c_th3i_setmarkercolor ::+ Ptr RawTH3I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetMarkerStyle"- c_th3i_setmarkerstyle :: Ptr RawTH3I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetMarkerStyle" c_th3i_setmarkerstyle ::+ Ptr RawTH3I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SetMarkerSize"- c_th3i_setmarkersize :: Ptr RawTH3I -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_SetMarkerSize" c_th3i_setmarkersize ::+ Ptr RawTH3I -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_Draw" c_th3i_draw- :: Ptr RawTH3I -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Clear"+ c_th3i_clear :: Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_FindObject"- c_th3i_findobject :: Ptr RawTH3I -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Draw"+ c_th3i_draw :: Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_GetName"+foreign import ccall interruptible+ "HROOTHistTH3I.h TH3I_FindObject" c_th3i_findobject ::+ Ptr RawTH3I -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH3I.h TH3I_GetName" c_th3i_getname :: Ptr RawTH3I -> IO CString -foreign import ccall safe "HROOTHistTH3I.h TH3I_IsA" c_th3i_isa ::- Ptr RawTH3I -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_IsA"+ c_th3i_isa :: Ptr RawTH3I -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH3I.h TH3I_Paint" c_th3i_paint- :: Ptr RawTH3I -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Paint"+ c_th3i_paint :: Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_printObj"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_printObj" c_th3i_printobj :: Ptr RawTH3I -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_SaveAs"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_SaveAs" c_th3i_saveas :: Ptr RawTH3I -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3I.h TH3I_Write" c_th3i_write- :: Ptr RawTH3I -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Write"+ c_th3i_write :: Ptr RawTH3I -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3I.h TH3I_delete"+foreign import ccall interruptible "HROOTHistTH3I.h TH3I_Write_"+ c_th3i_write_ :: Ptr RawTH3I -> IO CInt++foreign import ccall interruptible "HROOTHistTH3I.h TH3I_delete" c_th3i_delete :: Ptr RawTH3I -> IO ()++foreign import ccall interruptible "HROOTHistTH3I.h TH3I_GetAt"+ c_th3i_getat :: Ptr RawTH3I -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH3I.h TH3I_SetArray"+ c_th3i_setarray :: Ptr RawTH3I -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH3I.h TH3I_SetAt"+ c_th3i_setat :: Ptr RawTH3I -> CDouble -> CInt -> IO ()
src/HROOT/Hist/TH3I/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH3I.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH3I.RawType import HROOT.Hist.TH3I.FFI import HROOT.Hist.TH3I.Interface import HROOT.Hist.TH3I.Cast+import HROOT.Hist.TH3I.RawType+import HROOT.Hist.TH3I.Cast+import HROOT.Hist.TH3I.Interface import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Cast import HROOT.Hist.TH1D.Interface@@ -57,16 +66,16 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH3I TH3I+instance () => ITH3I (TH3I) where -instance ITH3 TH3I where+instance () => ITH3 (TH3I) where fill3 = xform3 c_th3i_fill3 fill3w = xform4 c_th3i_fill3w fitSlicesZ = xform7 c_th3i_fitslicesz@@ -77,13 +86,12 @@ rebinZ3 = xform2 c_th3i_rebinz3 rebin3D = xform4 c_th3i_rebin3d -instance ITArrayI TH3I+instance () => ITArrayI (TH3I) where -instance ITH1 TH3I where+instance () => ITH1 (TH3I) where add = xform2 c_th3i_add addBinContent = xform2 c_th3i_addbincontent chi2Test = xform3 c_th3i_chi2test- computeIntegral = xform0 c_th3i_computeintegral directoryAutoAdd = xform1 c_th3i_directoryautoadd divide = xform5 c_th3i_divide drawCopyTH1 = xform1 c_th3i_drawcopyth1@@ -155,9 +163,6 @@ getRMS = xform1 c_th3i_getrms getRMSError = xform1 c_th3i_getrmserror getSkewness = xform1 c_th3i_getskewness- integral1 = xform3 c_th3i_integral1- interpolate1 = xform1 c_th3i_interpolate1- interpolate2 = xform2 c_th3i_interpolate2 interpolate3 = xform3 c_th3i_interpolate3 kolmogorovTest = xform2 c_th3i_kolmogorovtest labelsDeflate = xform1 c_th3i_labelsdeflate@@ -212,14 +217,14 @@ smooth = xform2 c_th3i_smooth sumw2 = xform0 c_th3i_sumw2 -instance ITAtt3D TH3I+instance () => ITAtt3D (TH3I) where -instance ITNamed TH3I where+instance () => ITNamed (TH3I) where setName = xform1 c_th3i_setname setNameTitle = xform2 c_th3i_setnametitle setTitle = xform1 c_th3i_settitle -instance ITAttLine TH3I where+instance () => ITAttLine (TH3I) where getLineColor = xform0 c_th3i_getlinecolor getLineStyle = xform0 c_th3i_getlinestyle getLineWidth = xform0 c_th3i_getlinewidth@@ -229,11 +234,11 @@ setLineStyle = xform1 c_th3i_setlinestyle setLineWidth = xform1 c_th3i_setlinewidth -instance ITAttFill TH3I where+instance () => ITAttFill (TH3I) where setFillColor = xform1 c_th3i_setfillcolor setFillStyle = xform1 c_th3i_setfillstyle -instance ITAttMarker TH3I where+instance () => ITAttMarker (TH3I) where getMarkerColor = xform0 c_th3i_getmarkercolor getMarkerStyle = xform0 c_th3i_getmarkerstyle getMarkerSize = xform0 c_th3i_getmarkersize@@ -243,7 +248,8 @@ setMarkerStyle = xform1 c_th3i_setmarkerstyle setMarkerSize = xform1 c_th3i_setmarkersize -instance ITObject TH3I where+instance () => ITObject (TH3I) where+ clear = xform1 c_th3i_clear draw = xform1 c_th3i_draw findObject = xform1 c_th3i_findobject getName = xform0 c_th3i_getname@@ -252,8 +258,12 @@ printObj = xform1 c_th3i_printobj saveAs = xform2 c_th3i_saveas write = xform3 c_th3i_write+ write_ = xform0 c_th3i_write_ -instance IDeletable TH3I where+instance () => IDeletable (TH3I) where delete = xform0 c_th3i_delete -instance ITArray TH3I+instance () => ITArray (TH3I) where+ getAt = xform1 c_th3i_getat+ setArray = xform1 c_th3i_setarray+ setAt = xform2 c_th3i_setat
src/HROOT/Hist/TH3I/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH3I.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH3.Interface import HROOT.Core.TArrayI.Interface -class (ITH3 a, ITArrayI a) => ITH3I a+class (ITH3 a, ITArrayI a) => ITH3I a where upcastTH3I :: forall a . (FPtr a, ITH3I a) => a -> TH3I upcastTH3I h
src/HROOT/Hist/TH3I/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH3I newtype TH3I = TH3I (Ptr RawTH3I)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH3I where+instance () => FPtr (TH3I) where type Raw TH3I = RawTH3I get_fptr (TH3I ptr) = ptr cast_fptr_to_obj = TH3I
src/HROOT/Hist/TH3S/Cast.hs view
@@ -8,10 +8,10 @@ import HROOT.Hist.TH3S.RawType import HROOT.Hist.TH3S.Interface -instance (ITH3S a, FPtr a) => Castable a (Ptr RawTH3S) where+instance (ITH3S a, FPtr a) => Castable (a) (Ptr RawTH3S) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable TH3S (Ptr RawTH3S) where+instance () => Castable (TH3S) (Ptr RawTH3S) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/TH3S/FFI.hsc view
@@ -1,8 +1,11 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.TH3S.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.TH3S.RawType+import HROOT.Hist.TH3S.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1.RawType import HROOT.Hist.TH3.RawType@@ -13,558 +16,646 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTH3S.h TH3S_fill3" c_th3s_fill3- :: Ptr RawTH3S -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_fill3"+ c_th3s_fill3 ::+ Ptr RawTH3S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_fill3w"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_fill3w" c_th3s_fill3w :: Ptr RawTH3S -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_FitSlicesZ"- c_th3s_fitslicesz ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_FitSlicesZ" c_th3s_fitslicesz :: Ptr RawTH3S -> Ptr RawTF1 -> CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_getCorrelationFactor3" c_th3s_getcorrelationfactor3 :: Ptr RawTH3S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_getCovariance3"- c_th3s_getcovariance3 :: Ptr RawTH3S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getCovariance3" c_th3s_getcovariance3 ::+ Ptr RawTH3S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_rebinX3"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_rebinX3" c_th3s_rebinx3 :: Ptr RawTH3S -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3S.h TH3S_rebinY3"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_rebinY3" c_th3s_rebiny3 :: Ptr RawTH3S -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3S.h TH3S_rebinZ3"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_rebinZ3" c_th3s_rebinz3 :: Ptr RawTH3S -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3S.h TH3S_Rebin3D"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Rebin3D" c_th3s_rebin3d :: Ptr RawTH3S -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall safe "HROOTHistTH3S.h TH3S_Add" c_th3s_add ::- Ptr RawTH3S -> Ptr RawTH1 -> CDouble -> IO ()+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Add"+ c_th3s_add :: Ptr RawTH3S -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_AddBinContent"- c_th3s_addbincontent :: Ptr RawTH3S -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_AddBinContent" c_th3s_addbincontent ::+ Ptr RawTH3S -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_Chi2Test"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Chi2Test" c_th3s_chi2test ::- Ptr RawTH3S -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble--foreign import ccall safe "HROOTHistTH3S.h TH3S_ComputeIntegral"- c_th3s_computeintegral :: Ptr RawTH3S -> IO CDouble+ Ptr RawTH3S -> Ptr RawTH1 -> CString -> Ptr CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_DirectoryAutoAdd"- c_th3s_directoryautoadd ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_DirectoryAutoAdd" c_th3s_directoryautoadd :: Ptr RawTH3S -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_Divide"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Divide" c_th3s_divide :: Ptr RawTH3S -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_drawCopyTH1"- c_th3s_drawcopyth1 :: Ptr RawTH3S -> CString -> IO (Ptr RawTH3S)+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_drawCopyTH1" c_th3s_drawcopyth1 ::+ Ptr RawTH3S -> CString -> IO (Ptr RawTH3S) -foreign import ccall safe "HROOTHistTH3S.h TH3S_DrawNormalized"- c_th3s_drawnormalized ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_DrawNormalized" c_th3s_drawnormalized :: Ptr RawTH3S -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3S.h TH3S_drawPanelTH1"- c_th3s_drawpanelth1 :: Ptr RawTH3S -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_drawPanelTH1" c_th3s_drawpanelth1 ::+ Ptr RawTH3S -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_BufferEmpty"- c_th3s_bufferempty :: Ptr RawTH3S -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_BufferEmpty" c_th3s_bufferempty ::+ Ptr RawTH3S -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_evalF" c_th3s_evalf- :: Ptr RawTH3S -> Ptr RawTF1 -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_evalF"+ c_th3s_evalf :: Ptr RawTH3S -> Ptr RawTF1 -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_FFT" c_th3s_fft ::+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_FFT"+ c_th3s_fft :: Ptr RawTH3S -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3S.h TH3S_fill1" c_th3s_fill1- :: Ptr RawTH3S -> CDouble -> IO CInt+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_fill1"+ c_th3s_fill1 :: Ptr RawTH3S -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_fill1w"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_fill1w" c_th3s_fill1w :: Ptr RawTH3S -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_fillN1"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_fillN1" c_th3s_filln1 ::- Ptr RawTH3S ->- CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+ Ptr RawTH3S -> CInt -> Ptr CDouble -> Ptr CDouble -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_FillRandom"- c_th3s_fillrandom :: Ptr RawTH3S -> Ptr RawTH1 -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_FillRandom" c_th3s_fillrandom ::+ Ptr RawTH3S -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_FindBin"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_FindBin" c_th3s_findbin :: Ptr RawTH3S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_FindFixBin"- c_th3s_findfixbin ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_FindFixBin" c_th3s_findfixbin :: Ptr RawTH3S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_FindFirstBinAbove"- c_th3s_findfirstbinabove ::- Ptr RawTH3S -> CDouble -> CInt -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_FindFirstBinAbove" c_th3s_findfirstbinabove+ :: Ptr RawTH3S -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_FindLastBinAbove"- c_th3s_findlastbinabove ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_FindLastBinAbove" c_th3s_findlastbinabove :: Ptr RawTH3S -> CDouble -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_Fit" c_th3s_fit ::+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Fit"+ c_th3s_fit :: Ptr RawTH3S -> Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_FitPanelTH1"- c_th3s_fitpanelth1 :: Ptr RawTH3S -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_FitPanelTH1" c_th3s_fitpanelth1 ::+ Ptr RawTH3S -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_getNdivisionA"- c_th3s_getndivisiona :: Ptr RawTH3S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getNdivisionA" c_th3s_getndivisiona ::+ Ptr RawTH3S -> CString -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_getAxisColorA"- c_th3s_getaxiscolora :: Ptr RawTH3S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getAxisColorA" c_th3s_getaxiscolora ::+ Ptr RawTH3S -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3S.h TH3S_getLabelColorA"- c_th3s_getlabelcolora :: Ptr RawTH3S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getLabelColorA" c_th3s_getlabelcolora ::+ Ptr RawTH3S -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3S.h TH3S_getLabelFontA"- c_th3s_getlabelfonta :: Ptr RawTH3S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getLabelFontA" c_th3s_getlabelfonta ::+ Ptr RawTH3S -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3S.h TH3S_getLabelOffsetA"- c_th3s_getlabeloffseta :: Ptr RawTH3S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getLabelOffsetA" c_th3s_getlabeloffseta ::+ Ptr RawTH3S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3S.h TH3S_getLabelSizeA"- c_th3s_getlabelsizea :: Ptr RawTH3S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getLabelSizeA" c_th3s_getlabelsizea ::+ Ptr RawTH3S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3S.h TH3S_getTitleFontA"- c_th3s_gettitlefonta :: Ptr RawTH3S -> CString -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getTitleFontA" c_th3s_gettitlefonta ::+ Ptr RawTH3S -> CString -> IO CShort -foreign import ccall safe "HROOTHistTH3S.h TH3S_getTitleOffsetA"- c_th3s_gettitleoffseta :: Ptr RawTH3S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getTitleOffsetA" c_th3s_gettitleoffseta ::+ Ptr RawTH3S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3S.h TH3S_getTitleSizeA"- c_th3s_gettitlesizea :: Ptr RawTH3S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getTitleSizeA" c_th3s_gettitlesizea ::+ Ptr RawTH3S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3S.h TH3S_getTickLengthA"- c_th3s_getticklengtha :: Ptr RawTH3S -> CString -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getTickLengthA" c_th3s_getticklengtha ::+ Ptr RawTH3S -> CString -> IO CFloat -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBarOffset"- c_th3s_getbaroffset :: Ptr RawTH3S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetBarOffset" c_th3s_getbaroffset ::+ Ptr RawTH3S -> IO CFloat -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBarWidth"- c_th3s_getbarwidth :: Ptr RawTH3S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetBarWidth" c_th3s_getbarwidth ::+ Ptr RawTH3S -> IO CFloat -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetContour"- c_th3s_getcontour :: Ptr RawTH3S -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetContour" c_th3s_getcontour ::+ Ptr RawTH3S -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetContourLevel"- c_th3s_getcontourlevel :: Ptr RawTH3S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetContourLevel" c_th3s_getcontourlevel ::+ Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetContourLevelPad"- c_th3s_getcontourlevelpad :: Ptr RawTH3S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetContourLevelPad" c_th3s_getcontourlevelpad+ :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBin"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_GetBin" c_th3s_getbin :: Ptr RawTH3S -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinCenter"- c_th3s_getbincenter :: Ptr RawTH3S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetBinCenter" c_th3s_getbincenter ::+ Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinContent1"- c_th3s_getbincontent1 :: Ptr RawTH3S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetBinContent1" c_th3s_getbincontent1 ::+ Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinContent2"- c_th3s_getbincontent2 :: Ptr RawTH3S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetBinContent2" c_th3s_getbincontent2 ::+ Ptr RawTH3S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinContent3"- c_th3s_getbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetBinContent3" c_th3s_getbincontent3 :: Ptr RawTH3S -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinError1"- c_th3s_getbinerror1 :: Ptr RawTH3S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetBinError1" c_th3s_getbinerror1 ::+ Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinError2"- c_th3s_getbinerror2 :: Ptr RawTH3S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetBinError2" c_th3s_getbinerror2 ::+ Ptr RawTH3S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinError3"- c_th3s_getbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetBinError3" c_th3s_getbinerror3 :: Ptr RawTH3S -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinLowEdge"- c_th3s_getbinlowedge :: Ptr RawTH3S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetBinLowEdge" c_th3s_getbinlowedge ::+ Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinWidth"- c_th3s_getbinwidth :: Ptr RawTH3S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetBinWidth" c_th3s_getbinwidth ::+ Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetCellContent"- c_th3s_getcellcontent :: Ptr RawTH3S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetCellContent" c_th3s_getcellcontent ::+ Ptr RawTH3S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetCellError"- c_th3s_getcellerror :: Ptr RawTH3S -> CInt -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetCellError" c_th3s_getcellerror ::+ Ptr RawTH3S -> CInt -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetEntries"- c_th3s_getentries :: Ptr RawTH3S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetEntries" c_th3s_getentries ::+ Ptr RawTH3S -> IO CDouble -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_GetEffectiveEntries" c_th3s_geteffectiveentries :: Ptr RawTH3S -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetFunction"- c_th3s_getfunction :: Ptr RawTH3S -> CString -> IO (Ptr RawTF1)+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetFunction" c_th3s_getfunction ::+ Ptr RawTH3S -> CString -> IO (Ptr RawTF1) -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetDimension"- c_th3s_getdimension :: Ptr RawTH3S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetDimension" c_th3s_getdimension ::+ Ptr RawTH3S -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetKurtosis"- c_th3s_getkurtosis :: Ptr RawTH3S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetKurtosis" c_th3s_getkurtosis ::+ Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetLowEdge"- c_th3s_getlowedge :: Ptr RawTH3S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetLowEdge" c_th3s_getlowedge ::+ Ptr RawTH3S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_getMaximumTH1"- c_th3s_getmaximumth1 :: Ptr RawTH3S -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getMaximumTH1" c_th3s_getmaximumth1 ::+ Ptr RawTH3S -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMaximumBin"- c_th3s_getmaximumbin :: Ptr RawTH3S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetMaximumBin" c_th3s_getmaximumbin ::+ Ptr RawTH3S -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMaximumStored"- c_th3s_getmaximumstored :: Ptr RawTH3S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetMaximumStored" c_th3s_getmaximumstored ::+ Ptr RawTH3S -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_getMinimumTH1"- c_th3s_getminimumth1 :: Ptr RawTH3S -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getMinimumTH1" c_th3s_getminimumth1 ::+ Ptr RawTH3S -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMinimumBin"- c_th3s_getminimumbin :: Ptr RawTH3S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetMinimumBin" c_th3s_getminimumbin ::+ Ptr RawTH3S -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMinimumStored"- c_th3s_getminimumstored :: Ptr RawTH3S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetMinimumStored" c_th3s_getminimumstored ::+ Ptr RawTH3S -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMean"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_GetMean" c_th3s_getmean :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMeanError"- c_th3s_getmeanerror :: Ptr RawTH3S -> CInt -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetMeanError" c_th3s_getmeanerror ::+ Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetNbinsX"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_GetNbinsX" c_th3s_getnbinsx :: Ptr RawTH3S -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetNbinsY"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_GetNbinsY" c_th3s_getnbinsy :: Ptr RawTH3S -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetNbinsZ"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_GetNbinsZ" c_th3s_getnbinsz :: Ptr RawTH3S -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_getQuantilesTH1"- c_th3s_getquantilesth1 ::- Ptr RawTH3S -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_getQuantilesTH1" c_th3s_getquantilesth1 ::+ Ptr RawTH3S -> CInt -> Ptr CDouble -> Ptr CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetRandom"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_GetRandom" c_th3s_getrandom :: Ptr RawTH3S -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetStats"- c_th3s_getstats :: Ptr RawTH3S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_GetStats"+ c_th3s_getstats :: Ptr RawTH3S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetSumOfWeights"- c_th3s_getsumofweights :: Ptr RawTH3S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetSumOfWeights" c_th3s_getsumofweights ::+ Ptr RawTH3S -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetSumw2"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_GetSumw2" c_th3s_getsumw2 :: Ptr RawTH3S -> IO (Ptr RawTArrayD) -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetSumw2N"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_GetSumw2N" c_th3s_getsumw2n :: Ptr RawTH3S -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetRMS"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_GetRMS" c_th3s_getrms :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetRMSError"- c_th3s_getrmserror :: Ptr RawTH3S -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH3S.h TH3S_GetSkewness"- c_th3s_getskewness :: Ptr RawTH3S -> CInt -> IO CDouble--foreign import ccall safe "HROOTHistTH3S.h TH3S_integral1"- c_th3s_integral1 ::- Ptr RawTH3S -> CInt -> CInt -> CString -> IO CDouble--foreign import ccall safe "HROOTHistTH3S.h TH3S_interpolate1"- c_th3s_interpolate1 :: Ptr RawTH3S -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetRMSError" c_th3s_getrmserror ::+ Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_interpolate2"- c_th3s_interpolate2 ::- Ptr RawTH3S -> CDouble -> CDouble -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetSkewness" c_th3s_getskewness ::+ Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_interpolate3"- c_th3s_interpolate3 ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_interpolate3" c_th3s_interpolate3 :: Ptr RawTH3S -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_KolmogorovTest"- c_th3s_kolmogorovtest ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_KolmogorovTest" c_th3s_kolmogorovtest :: Ptr RawTH3S -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall safe "HROOTHistTH3S.h TH3S_LabelsDeflate"- c_th3s_labelsdeflate :: Ptr RawTH3S -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_LabelsDeflate" c_th3s_labelsdeflate ::+ Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_LabelsInflate"- c_th3s_labelsinflate :: Ptr RawTH3S -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_LabelsInflate" c_th3s_labelsinflate ::+ Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_LabelsOption"- c_th3s_labelsoption :: Ptr RawTH3S -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_LabelsOption" c_th3s_labelsoption ::+ Ptr RawTH3S -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_multiflyF"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_multiflyF" c_th3s_multiflyf :: Ptr RawTH3S -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_Multiply"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Multiply" c_th3s_multiply :: Ptr RawTH3S -> Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_PutStats"- c_th3s_putstats :: Ptr RawTH3S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_PutStats"+ c_th3s_putstats :: Ptr RawTH3S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_Rebin" c_th3s_rebin- ::- Ptr RawTH3S -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Rebin"+ c_th3s_rebin ::+ Ptr RawTH3S -> CInt -> CString -> Ptr CDouble -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3S.h TH3S_RebinAxis"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_RebinAxis" c_th3s_rebinaxis :: Ptr RawTH3S -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_Rebuild"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Rebuild" c_th3s_rebuild :: Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_RecursiveRemove"- c_th3s_recursiveremove :: Ptr RawTH3S -> Ptr RawTObject -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_RecursiveRemove" c_th3s_recursiveremove ::+ Ptr RawTH3S -> Ptr RawTObject -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_Reset" c_th3s_reset- :: Ptr RawTH3S -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Reset"+ c_th3s_reset :: Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_ResetStats"- c_th3s_resetstats :: Ptr RawTH3S -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_ResetStats" c_th3s_resetstats ::+ Ptr RawTH3S -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_Scale" c_th3s_scale- :: Ptr RawTH3S -> CDouble -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Scale"+ c_th3s_scale :: Ptr RawTH3S -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setAxisColorA"- c_th3s_setaxiscolora :: Ptr RawTH3S -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_setAxisColorA" c_th3s_setaxiscolora ::+ Ptr RawTH3S -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetAxisRange"- c_th3s_setaxisrange ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetAxisRange" c_th3s_setaxisrange :: Ptr RawTH3S -> CDouble -> CDouble -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetBarOffset"- c_th3s_setbaroffset :: Ptr RawTH3S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetBarOffset" c_th3s_setbaroffset ::+ Ptr RawTH3S -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetBarWidth"- c_th3s_setbarwidth :: Ptr RawTH3S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetBarWidth" c_th3s_setbarwidth ::+ Ptr RawTH3S -> CFloat -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setBinContent1"- c_th3s_setbincontent1 :: Ptr RawTH3S -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_setBinContent1" c_th3s_setbincontent1 ::+ Ptr RawTH3S -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setBinContent2"- c_th3s_setbincontent2 ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_setBinContent2" c_th3s_setbincontent2 :: Ptr RawTH3S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setBinContent3"- c_th3s_setbincontent3 ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_setBinContent3" c_th3s_setbincontent3 :: Ptr RawTH3S -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setBinError1"- c_th3s_setbinerror1 :: Ptr RawTH3S -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_setBinError1" c_th3s_setbinerror1 ::+ Ptr RawTH3S -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setBinError2"- c_th3s_setbinerror2 ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_setBinError2" c_th3s_setbinerror2 :: Ptr RawTH3S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setBinError3"- c_th3s_setbinerror3 ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_setBinError3" c_th3s_setbinerror3 :: Ptr RawTH3S -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setBins1"- c_th3s_setbins1 :: Ptr RawTH3S -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_setBins1"+ c_th3s_setbins1 :: Ptr RawTH3S -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setBins2"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_setBins2" c_th3s_setbins2 ::- Ptr RawTH3S ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr RawTH3S -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setBins3"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_setBins3" c_th3s_setbins3 :: Ptr RawTH3S -> CInt ->- (Ptr CDouble) ->- CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+ Ptr CDouble -> CInt -> Ptr CDouble -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetBinsLength"- c_th3s_setbinslength :: Ptr RawTH3S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetBinsLength" c_th3s_setbinslength ::+ Ptr RawTH3S -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetBuffer"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_SetBuffer" c_th3s_setbuffer :: Ptr RawTH3S -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetCellContent"- c_th3s_setcellcontent ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetCellContent" c_th3s_setcellcontent :: Ptr RawTH3S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetContent"- c_th3s_setcontent :: Ptr RawTH3S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetContent" c_th3s_setcontent ::+ Ptr RawTH3S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetContour"- c_th3s_setcontour :: Ptr RawTH3S -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetContour" c_th3s_setcontour ::+ Ptr RawTH3S -> CInt -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetContourLevel"- c_th3s_setcontourlevel :: Ptr RawTH3S -> CInt -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetContourLevel" c_th3s_setcontourlevel ::+ Ptr RawTH3S -> CInt -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetDirectory"- c_th3s_setdirectory :: Ptr RawTH3S -> Ptr RawTDirectory -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetDirectory" c_th3s_setdirectory ::+ Ptr RawTH3S -> Ptr RawTDirectory -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetEntries"- c_th3s_setentries :: Ptr RawTH3S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetEntries" c_th3s_setentries ::+ Ptr RawTH3S -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetError"- c_th3s_seterror :: Ptr RawTH3S -> (Ptr CDouble) -> IO ()+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_SetError"+ c_th3s_seterror :: Ptr RawTH3S -> Ptr CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setLabelColorA"- c_th3s_setlabelcolora :: Ptr RawTH3S -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_setLabelColorA" c_th3s_setlabelcolora ::+ Ptr RawTH3S -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setLabelSizeA"- c_th3s_setlabelsizea :: Ptr RawTH3S -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_setLabelSizeA" c_th3s_setlabelsizea ::+ Ptr RawTH3S -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setLabelFontA"- c_th3s_setlabelfonta :: Ptr RawTH3S -> CInt -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_setLabelFontA" c_th3s_setlabelfonta ::+ Ptr RawTH3S -> CShort -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_setLabelOffsetA"- c_th3s_setlabeloffseta ::- Ptr RawTH3S -> CDouble -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_setLabelOffsetA" c_th3s_setlabeloffseta ::+ Ptr RawTH3S -> CFloat -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetMaximum"- c_th3s_setmaximum :: Ptr RawTH3S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetMaximum" c_th3s_setmaximum ::+ Ptr RawTH3S -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetMinimum"- c_th3s_setminimum :: Ptr RawTH3S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetMinimum" c_th3s_setminimum ::+ Ptr RawTH3S -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetNormFactor"- c_th3s_setnormfactor :: Ptr RawTH3S -> CDouble -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetNormFactor" c_th3s_setnormfactor ::+ Ptr RawTH3S -> CDouble -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetStats"- c_th3s_setstats :: Ptr RawTH3S -> CInt -> IO ()+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_SetStats"+ c_th3s_setstats :: Ptr RawTH3S -> CBool -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetOption"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_SetOption" c_th3s_setoption :: Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetXTitle"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_SetXTitle" c_th3s_setxtitle :: Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetYTitle"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_SetYTitle" c_th3s_setytitle :: Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetZTitle"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_SetZTitle" c_th3s_setztitle :: Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_ShowBackground"- c_th3s_showbackground ::+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_ShowBackground" c_th3s_showbackground :: Ptr RawTH3S -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall safe "HROOTHistTH3S.h TH3S_ShowPeaks"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_ShowPeaks" c_th3s_showpeaks :: Ptr RawTH3S -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_Smooth"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Smooth" c_th3s_smooth :: Ptr RawTH3S -> CInt -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_Sumw2" c_th3s_sumw2- :: Ptr RawTH3S -> IO ()+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Sumw2"+ c_th3s_sumw2 :: Ptr RawTH3S -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetName"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_SetName" c_th3s_setname :: Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetNameTitle"- c_th3s_setnametitle :: Ptr RawTH3S -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetNameTitle" c_th3s_setnametitle ::+ Ptr RawTH3S -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetTitle"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_SetTitle" c_th3s_settitle :: Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetLineColor"- c_th3s_getlinecolor :: Ptr RawTH3S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetLineColor" c_th3s_getlinecolor ::+ Ptr RawTH3S -> IO CShort -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetLineStyle"- c_th3s_getlinestyle :: Ptr RawTH3S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetLineStyle" c_th3s_getlinestyle ::+ Ptr RawTH3S -> IO CShort -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetLineWidth"- c_th3s_getlinewidth :: Ptr RawTH3S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetLineWidth" c_th3s_getlinewidth ::+ Ptr RawTH3S -> IO CShort -foreign import ccall safe "HROOTHistTH3S.h TH3S_ResetAttLine"- c_th3s_resetattline :: Ptr RawTH3S -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_ResetAttLine" c_th3s_resetattline ::+ Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetLineAttributes"- c_th3s_setlineattributes :: Ptr RawTH3S -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetLineAttributes" c_th3s_setlineattributes+ :: Ptr RawTH3S -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetLineColor"- c_th3s_setlinecolor :: Ptr RawTH3S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetLineColor" c_th3s_setlinecolor ::+ Ptr RawTH3S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetLineStyle"- c_th3s_setlinestyle :: Ptr RawTH3S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetLineStyle" c_th3s_setlinestyle ::+ Ptr RawTH3S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetLineWidth"- c_th3s_setlinewidth :: Ptr RawTH3S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetLineWidth" c_th3s_setlinewidth ::+ Ptr RawTH3S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetFillColor"- c_th3s_setfillcolor :: Ptr RawTH3S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetFillColor" c_th3s_setfillcolor ::+ Ptr RawTH3S -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetFillStyle"- c_th3s_setfillstyle :: Ptr RawTH3S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetFillStyle" c_th3s_setfillstyle ::+ Ptr RawTH3S -> CInt -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMarkerColor"- c_th3s_getmarkercolor :: Ptr RawTH3S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetMarkerColor" c_th3s_getmarkercolor ::+ Ptr RawTH3S -> IO CShort -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMarkerStyle"- c_th3s_getmarkerstyle :: Ptr RawTH3S -> IO CInt+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetMarkerStyle" c_th3s_getmarkerstyle ::+ Ptr RawTH3S -> IO CShort -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMarkerSize"- c_th3s_getmarkersize :: Ptr RawTH3S -> IO CDouble+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_GetMarkerSize" c_th3s_getmarkersize ::+ Ptr RawTH3S -> IO CFloat -foreign import ccall safe "HROOTHistTH3S.h TH3S_ResetAttMarker"- c_th3s_resetattmarker :: Ptr RawTH3S -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_ResetAttMarker" c_th3s_resetattmarker ::+ Ptr RawTH3S -> CString -> IO () -foreign import ccall safe+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_SetMarkerAttributes" c_th3s_setmarkerattributes :: Ptr RawTH3S -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetMarkerColor"- c_th3s_setmarkercolor :: Ptr RawTH3S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetMarkerColor" c_th3s_setmarkercolor ::+ Ptr RawTH3S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetMarkerStyle"- c_th3s_setmarkerstyle :: Ptr RawTH3S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetMarkerStyle" c_th3s_setmarkerstyle ::+ Ptr RawTH3S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SetMarkerSize"- c_th3s_setmarkersize :: Ptr RawTH3S -> CInt -> IO ()+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_SetMarkerSize" c_th3s_setmarkersize ::+ Ptr RawTH3S -> CShort -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_Draw" c_th3s_draw- :: Ptr RawTH3S -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Clear"+ c_th3s_clear :: Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_FindObject"- c_th3s_findobject :: Ptr RawTH3S -> CString -> IO (Ptr RawTObject)+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Draw"+ c_th3s_draw :: Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_GetName"+foreign import ccall interruptible+ "HROOTHistTH3S.h TH3S_FindObject" c_th3s_findobject ::+ Ptr RawTH3S -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible "HROOTHistTH3S.h TH3S_GetName" c_th3s_getname :: Ptr RawTH3S -> IO CString -foreign import ccall safe "HROOTHistTH3S.h TH3S_IsA" c_th3s_isa ::- Ptr RawTH3S -> IO (Ptr RawTClass)+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_IsA"+ c_th3s_isa :: Ptr RawTH3S -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTH3S.h TH3S_Paint" c_th3s_paint- :: Ptr RawTH3S -> CString -> IO ()+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Paint"+ c_th3s_paint :: Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_printObj"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_printObj" c_th3s_printobj :: Ptr RawTH3S -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_SaveAs"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_SaveAs" c_th3s_saveas :: Ptr RawTH3S -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTH3S.h TH3S_Write" c_th3s_write- :: Ptr RawTH3S -> CString -> CInt -> CInt -> IO CInt+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Write"+ c_th3s_write :: Ptr RawTH3S -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTH3S.h TH3S_delete"+foreign import ccall interruptible "HROOTHistTH3S.h TH3S_Write_"+ c_th3s_write_ :: Ptr RawTH3S -> IO CInt++foreign import ccall interruptible "HROOTHistTH3S.h TH3S_delete" c_th3s_delete :: Ptr RawTH3S -> IO ()++foreign import ccall interruptible "HROOTHistTH3S.h TH3S_GetAt"+ c_th3s_getat :: Ptr RawTH3S -> CInt -> IO CDouble++foreign import ccall interruptible "HROOTHistTH3S.h TH3S_SetArray"+ c_th3s_setarray :: Ptr RawTH3S -> CInt -> IO ()++foreign import ccall interruptible "HROOTHistTH3S.h TH3S_SetAt"+ c_th3s_setat :: Ptr RawTH3S -> CDouble -> CInt -> IO ()
src/HROOT/Hist/TH3S/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.TH3S.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.TH3S.RawType import HROOT.Hist.TH3S.FFI import HROOT.Hist.TH3S.Interface import HROOT.Hist.TH3S.Cast+import HROOT.Hist.TH3S.RawType+import HROOT.Hist.TH3S.Cast+import HROOT.Hist.TH3S.Interface import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Cast import HROOT.Hist.TH1D.Interface@@ -57,16 +66,16 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface import HROOT.Core.TArray.RawType import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -instance ITH3S TH3S+instance () => ITH3S (TH3S) where -instance ITH3 TH3S where+instance () => ITH3 (TH3S) where fill3 = xform3 c_th3s_fill3 fill3w = xform4 c_th3s_fill3w fitSlicesZ = xform7 c_th3s_fitslicesz@@ -77,13 +86,12 @@ rebinZ3 = xform2 c_th3s_rebinz3 rebin3D = xform4 c_th3s_rebin3d -instance ITArrayS TH3S+instance () => ITArrayS (TH3S) where -instance ITH1 TH3S where+instance () => ITH1 (TH3S) where add = xform2 c_th3s_add addBinContent = xform2 c_th3s_addbincontent chi2Test = xform3 c_th3s_chi2test- computeIntegral = xform0 c_th3s_computeintegral directoryAutoAdd = xform1 c_th3s_directoryautoadd divide = xform5 c_th3s_divide drawCopyTH1 = xform1 c_th3s_drawcopyth1@@ -155,9 +163,6 @@ getRMS = xform1 c_th3s_getrms getRMSError = xform1 c_th3s_getrmserror getSkewness = xform1 c_th3s_getskewness- integral1 = xform3 c_th3s_integral1- interpolate1 = xform1 c_th3s_interpolate1- interpolate2 = xform2 c_th3s_interpolate2 interpolate3 = xform3 c_th3s_interpolate3 kolmogorovTest = xform2 c_th3s_kolmogorovtest labelsDeflate = xform1 c_th3s_labelsdeflate@@ -212,14 +217,14 @@ smooth = xform2 c_th3s_smooth sumw2 = xform0 c_th3s_sumw2 -instance ITAtt3D TH3S+instance () => ITAtt3D (TH3S) where -instance ITNamed TH3S where+instance () => ITNamed (TH3S) where setName = xform1 c_th3s_setname setNameTitle = xform2 c_th3s_setnametitle setTitle = xform1 c_th3s_settitle -instance ITAttLine TH3S where+instance () => ITAttLine (TH3S) where getLineColor = xform0 c_th3s_getlinecolor getLineStyle = xform0 c_th3s_getlinestyle getLineWidth = xform0 c_th3s_getlinewidth@@ -229,11 +234,11 @@ setLineStyle = xform1 c_th3s_setlinestyle setLineWidth = xform1 c_th3s_setlinewidth -instance ITAttFill TH3S where+instance () => ITAttFill (TH3S) where setFillColor = xform1 c_th3s_setfillcolor setFillStyle = xform1 c_th3s_setfillstyle -instance ITAttMarker TH3S where+instance () => ITAttMarker (TH3S) where getMarkerColor = xform0 c_th3s_getmarkercolor getMarkerStyle = xform0 c_th3s_getmarkerstyle getMarkerSize = xform0 c_th3s_getmarkersize@@ -243,7 +248,8 @@ setMarkerStyle = xform1 c_th3s_setmarkerstyle setMarkerSize = xform1 c_th3s_setmarkersize -instance ITObject TH3S where+instance () => ITObject (TH3S) where+ clear = xform1 c_th3s_clear draw = xform1 c_th3s_draw findObject = xform1 c_th3s_findobject getName = xform0 c_th3s_getname@@ -252,8 +258,12 @@ printObj = xform1 c_th3s_printobj saveAs = xform2 c_th3s_saveas write = xform3 c_th3s_write+ write_ = xform0 c_th3s_write_ -instance IDeletable TH3S where+instance () => IDeletable (TH3S) where delete = xform0 c_th3s_delete -instance ITArray TH3S+instance () => ITArray (TH3S) where+ getAt = xform1 c_th3s_getat+ setArray = xform1 c_th3s_setarray+ setAt = xform2 c_th3s_setat
src/HROOT/Hist/TH3S/Interface.hs view
@@ -4,6 +4,7 @@ TypeSynonymInstances #-} module HROOT.Hist.TH3S.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast@@ -11,7 +12,7 @@ import HROOT.Hist.TH3.Interface import HROOT.Core.TArrayS.Interface -class (ITH3 a, ITArrayS a) => ITH3S a+class (ITH3 a, ITArrayS a) => ITH3S a where upcastTH3S :: forall a . (FPtr a, ITH3S a) => a -> TH3S upcastTH3S h
src/HROOT/Hist/TH3S/RawType.hs view
@@ -8,9 +8,9 @@ data RawTH3S newtype TH3S = TH3S (Ptr RawTH3S)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr TH3S where+instance () => FPtr (TH3S) where type Raw TH3S = RawTH3S get_fptr (TH3S ptr) = ptr cast_fptr_to_obj = TH3S
src/HROOT/Hist/THStack/Cast.hs view
@@ -8,10 +8,11 @@ import HROOT.Hist.THStack.RawType import HROOT.Hist.THStack.Interface -instance (ITHStack a, FPtr a) => Castable a (Ptr RawTHStack) where+instance (ITHStack a, FPtr a) => Castable (a) (Ptr RawTHStack)+ where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x)) -instance Castable THStack (Ptr RawTHStack) where+instance () => Castable (THStack) (Ptr RawTHStack) where cast x f = f (castPtr (get_fptr x)) uncast x f = f (cast_fptr_to_obj (castPtr x))
src/HROOT/Hist/THStack/FFI.hsc view
@@ -1,49 +1,69 @@-{-# LANGUAGE ForeignFunctionInterface #-}+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-} module HROOT.Hist.THStack.FFI where+import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import HROOT.Hist.THStack.RawType+import HROOT.Hist.THStack.RawType import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -foreign import ccall safe "HROOTHistTHStack.h THStack_SetName"- c_thstack_setname :: Ptr RawTHStack -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_SetName" c_thstack_setname ::+ Ptr RawTHStack -> CString -> IO () -foreign import ccall safe "HROOTHistTHStack.h THStack_SetNameTitle"- c_thstack_setnametitle ::+foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_SetNameTitle" c_thstack_setnametitle :: Ptr RawTHStack -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTHStack.h THStack_SetTitle"- c_thstack_settitle :: Ptr RawTHStack -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_SetTitle" c_thstack_settitle ::+ Ptr RawTHStack -> CString -> IO () -foreign import ccall safe "HROOTHistTHStack.h THStack_Draw"- c_thstack_draw :: Ptr RawTHStack -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_Clear" c_thstack_clear ::+ Ptr RawTHStack -> CString -> IO () -foreign import ccall safe "HROOTHistTHStack.h THStack_FindObject"- c_thstack_findobject ::+foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_Draw" c_thstack_draw ::+ Ptr RawTHStack -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_FindObject" c_thstack_findobject :: Ptr RawTHStack -> CString -> IO (Ptr RawTObject) -foreign import ccall safe "HROOTHistTHStack.h THStack_GetName"- c_thstack_getname :: Ptr RawTHStack -> IO CString+foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_GetName" c_thstack_getname ::+ Ptr RawTHStack -> IO CString -foreign import ccall safe "HROOTHistTHStack.h THStack_IsA"+foreign import ccall interruptible "HROOTHistTHStack.h THStack_IsA" c_thstack_isa :: Ptr RawTHStack -> IO (Ptr RawTClass) -foreign import ccall safe "HROOTHistTHStack.h THStack_Paint"- c_thstack_paint :: Ptr RawTHStack -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_Paint" c_thstack_paint ::+ Ptr RawTHStack -> CString -> IO () -foreign import ccall safe "HROOTHistTHStack.h THStack_printObj"- c_thstack_printobj :: Ptr RawTHStack -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_printObj" c_thstack_printobj ::+ Ptr RawTHStack -> CString -> IO () -foreign import ccall safe "HROOTHistTHStack.h THStack_SaveAs"- c_thstack_saveas :: Ptr RawTHStack -> CString -> CString -> IO ()+foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_SaveAs" c_thstack_saveas ::+ Ptr RawTHStack -> CString -> CString -> IO () -foreign import ccall safe "HROOTHistTHStack.h THStack_Write"- c_thstack_write ::+foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_Write" c_thstack_write :: Ptr RawTHStack -> CString -> CInt -> CInt -> IO CInt -foreign import ccall safe "HROOTHistTHStack.h THStack_delete"- c_thstack_delete :: Ptr RawTHStack -> IO ()+foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_Write_" c_thstack_write_ ::+ Ptr RawTHStack -> IO CInt -foreign import ccall safe "HROOTHistTHStack.h THStack_newTHStack"- c_thstack_newthstack :: CString -> CString -> IO (Ptr RawTHStack)+foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_delete" c_thstack_delete ::+ Ptr RawTHStack -> IO ()++foreign import ccall interruptible+ "HROOTHistTHStack.h THStack_newTHStack" c_thstack_newthstack ::+ CString -> CString -> IO (Ptr RawTHStack)
src/HROOT/Hist/THStack/Implementation.hs view
@@ -1,17 +1,26 @@ {-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances, ForeignFunctionInterface, IncoherentInstances,- MultiParamTypeClasses, OverlappingInstances, TypeFamilies,- TypeSynonymInstances #-}+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-} module HROOT.Hist.THStack.Implementation where-import FFICXX.Runtime.Cast+import Data.Monoid import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH import HROOT.Hist.THStack.RawType import HROOT.Hist.THStack.FFI import HROOT.Hist.THStack.Interface import HROOT.Hist.THStack.Cast+import HROOT.Hist.THStack.RawType+import HROOT.Hist.THStack.Cast+import HROOT.Hist.THStack.Interface import HROOT.Core.TClass.RawType import HROOT.Core.TClass.Cast import HROOT.Core.TClass.Interface@@ -21,18 +30,19 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TObject.Cast import HROOT.Core.TObject.Interface-import HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface -instance ITHStack THStack+instance () => ITHStack (THStack) where -instance ITNamed THStack where+instance () => ITNamed (THStack) where setName = xform1 c_thstack_setname setNameTitle = xform2 c_thstack_setnametitle setTitle = xform1 c_thstack_settitle -instance ITObject THStack where+instance () => ITObject (THStack) where+ clear = xform1 c_thstack_clear draw = xform1 c_thstack_draw findObject = xform1 c_thstack_findobject getName = xform0 c_thstack_getname@@ -41,8 +51,9 @@ printObj = xform1 c_thstack_printobj saveAs = xform2 c_thstack_saveas write = xform3 c_thstack_write+ write_ = xform0 c_thstack_write_ -instance IDeletable THStack where+instance () => IDeletable (THStack) where delete = xform0 c_thstack_delete newTHStack ::
src/HROOT/Hist/THStack/Interface.hs view
@@ -4,13 +4,14 @@ TypeSynonymInstances #-} module HROOT.Hist.THStack.Interface where import Data.Word+import Data.Int import Foreign.C import Foreign.Ptr import FFICXX.Runtime.Cast import HROOT.Hist.THStack.RawType import HROOT.Core.TNamed.Interface -class ITNamed a => ITHStack a+class (ITNamed a) => ITHStack a where upcastTHStack :: forall a . (FPtr a, ITHStack a) => a -> THStack upcastTHStack h
src/HROOT/Hist/THStack/RawType.hs view
@@ -8,9 +8,9 @@ data RawTHStack newtype THStack = THStack (Ptr RawTHStack)- deriving (Eq, Ord, Show)+ deriving (Eq, Ord, Show) -instance FPtr THStack where+instance () => FPtr (THStack) where type Raw THStack = RawTHStack get_fptr (THStack ptr) = ptr cast_fptr_to_obj = THStack
+ src/HROOT/Hist/TMultiGraph.hs view
@@ -0,0 +1,7 @@+module HROOT.Hist.TMultiGraph+ (TMultiGraph(..), ITMultiGraph(..), upcastTMultiGraph,+ downcastTMultiGraph, newTMultiGraph)+ where+import HROOT.Hist.TMultiGraph.RawType+import HROOT.Hist.TMultiGraph.Interface+import HROOT.Hist.TMultiGraph.Implementation
+ src/HROOT/Hist/TMultiGraph/Cast.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+ MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+ #-}+module HROOT.Hist.TMultiGraph.Cast where+import Foreign.Ptr+import FFICXX.Runtime.Cast+import System.IO.Unsafe+import HROOT.Hist.TMultiGraph.RawType+import HROOT.Hist.TMultiGraph.Interface++instance (ITMultiGraph a, FPtr a) =>+ Castable (a) (Ptr RawTMultiGraph)+ where+ cast x f = f (castPtr (get_fptr x))+ uncast x f = f (cast_fptr_to_obj (castPtr x))++instance () => Castable (TMultiGraph) (Ptr RawTMultiGraph) where+ cast x f = f (castPtr (get_fptr x))+ uncast x f = f (cast_fptr_to_obj (castPtr x))
+ src/HROOT/Hist/TMultiGraph/FFI.hsc view
@@ -0,0 +1,78 @@+{-# LANGUAGE ForeignFunctionInterface, InterruptibleFFI #-}+module HROOT.Hist.TMultiGraph.FFI where+import Data.Word+import Data.Int+import Foreign.C+import Foreign.Ptr+import HROOT.Hist.TMultiGraph.RawType+import HROOT.Hist.TMultiGraph.RawType+import HROOT.Core.TObject.RawType+import HROOT.Core.TClass.RawType+import HROOT.Hist.TGraph.RawType++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_SetName" c_tmultigraph_setname+ :: Ptr RawTMultiGraph -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_SetNameTitle"+ c_tmultigraph_setnametitle ::+ Ptr RawTMultiGraph -> CString -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_SetTitle"+ c_tmultigraph_settitle :: Ptr RawTMultiGraph -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_Clear" c_tmultigraph_clear ::+ Ptr RawTMultiGraph -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_Draw" c_tmultigraph_draw ::+ Ptr RawTMultiGraph -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_FindObject"+ c_tmultigraph_findobject ::+ Ptr RawTMultiGraph -> CString -> IO (Ptr RawTObject)++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_GetName" c_tmultigraph_getname+ :: Ptr RawTMultiGraph -> IO CString++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_IsA" c_tmultigraph_isa ::+ Ptr RawTMultiGraph -> IO (Ptr RawTClass)++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_Paint" c_tmultigraph_paint ::+ Ptr RawTMultiGraph -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_printObj"+ c_tmultigraph_printobj :: Ptr RawTMultiGraph -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_SaveAs" c_tmultigraph_saveas ::+ Ptr RawTMultiGraph -> CString -> CString -> IO ()++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_Write" c_tmultigraph_write ::+ Ptr RawTMultiGraph -> CString -> CInt -> CInt -> IO CInt++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_Write_" c_tmultigraph_write_ ::+ Ptr RawTMultiGraph -> IO CInt++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_delete" c_tmultigraph_delete ::+ Ptr RawTMultiGraph -> IO ()++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_newTMultiGraph"+ c_tmultigraph_newtmultigraph ::+ CString -> CString -> IO (Ptr RawTMultiGraph)++foreign import ccall interruptible+ "HROOTHistTMultiGraph.h TMultiGraph_AddG" c_tmultigraph_addg ::+ Ptr RawTMultiGraph -> Ptr RawTGraph -> CString -> IO ()
+ src/HROOT/Hist/TMultiGraph/Implementation.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+ ForeignFunctionInterface, IncoherentInstances,+ MultiParamTypeClasses, OverlappingInstances, TemplateHaskell,+ TypeFamilies, TypeSynonymInstances #-}+module HROOT.Hist.TMultiGraph.Implementation where+import Data.Monoid+import Data.Word+import Data.Int+import Foreign.C+import Foreign.Ptr+import Language.Haskell.TH+import Language.Haskell.TH.Syntax+import System.IO.Unsafe+import FFICXX.Runtime.Cast+import FFICXX.Runtime.CodeGen.Cxx+import FFICXX.Runtime.TH+import HROOT.Hist.TMultiGraph.RawType+import HROOT.Hist.TMultiGraph.FFI+import HROOT.Hist.TMultiGraph.Interface+import HROOT.Hist.TMultiGraph.Cast+import HROOT.Hist.TMultiGraph.RawType+import HROOT.Hist.TMultiGraph.Cast+import HROOT.Hist.TMultiGraph.Interface+import HROOT.Core.TClass.RawType+import HROOT.Core.TClass.Cast+import HROOT.Core.TClass.Interface+import HROOT.Hist.TGraph.RawType+import HROOT.Hist.TGraph.Cast+import HROOT.Hist.TGraph.Interface+import HROOT.Core.TNamed.RawType+import HROOT.Core.TNamed.Cast+import HROOT.Core.TNamed.Interface+import HROOT.Core.TObject.RawType+import HROOT.Core.TObject.Cast+import HROOT.Core.TObject.Interface+import STD.Deletable.RawType+import STD.Deletable.Cast+import STD.Deletable.Interface++instance () => ITMultiGraph (TMultiGraph) where+ addG = xform2 c_tmultigraph_addg++instance () => ITNamed (TMultiGraph) where+ setName = xform1 c_tmultigraph_setname+ setNameTitle = xform2 c_tmultigraph_setnametitle+ setTitle = xform1 c_tmultigraph_settitle++instance () => ITObject (TMultiGraph) where+ clear = xform1 c_tmultigraph_clear+ draw = xform1 c_tmultigraph_draw+ findObject = xform1 c_tmultigraph_findobject+ getName = xform0 c_tmultigraph_getname+ isA = xform0 c_tmultigraph_isa+ paint = xform1 c_tmultigraph_paint+ printObj = xform1 c_tmultigraph_printobj+ saveAs = xform2 c_tmultigraph_saveas+ write = xform3 c_tmultigraph_write+ write_ = xform0 c_tmultigraph_write_++instance () => IDeletable (TMultiGraph) where+ delete = xform0 c_tmultigraph_delete++newTMultiGraph ::+ (Castable c1 CString, Castable c0 CString) =>+ c0 -> c1 -> IO TMultiGraph+newTMultiGraph = xform1 c_tmultigraph_newtmultigraph
+ src/HROOT/Hist/TMultiGraph/Interface.hs view
@@ -0,0 +1,32 @@+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+ FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+ MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+ TypeSynonymInstances #-}+module HROOT.Hist.TMultiGraph.Interface where+import Data.Word+import Data.Int+import Foreign.C+import Foreign.Ptr+import FFICXX.Runtime.Cast+import HROOT.Hist.TMultiGraph.RawType+import HROOT.Core.TNamed.Interface+import HROOT.Hist.TGraph.Interface++class (ITNamed a) => ITMultiGraph a where+ addG ::+ (Castable c1 CString, ITGraph c0, FPtr c0) =>+ a -> c0 -> c1 -> IO ()++upcastTMultiGraph ::+ forall a . (FPtr a, ITMultiGraph a) => a -> TMultiGraph+upcastTMultiGraph h+ = let fh = get_fptr h+ fh2 :: Ptr RawTMultiGraph = castPtr fh+ in cast_fptr_to_obj fh2++downcastTMultiGraph ::+ forall a . (FPtr a, ITMultiGraph a) => TMultiGraph -> a+downcastTMultiGraph h+ = let fh = get_fptr h+ fh2 = castPtr fh+ in cast_fptr_to_obj fh2
+ src/HROOT/Hist/TMultiGraph/RawType.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+ MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+ EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}+module HROOT.Hist.TMultiGraph.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast++data RawTMultiGraph++newtype TMultiGraph = TMultiGraph (Ptr RawTMultiGraph)+ deriving (Eq, Ord, Show)++instance () => FPtr (TMultiGraph) where+ type Raw TMultiGraph = RawTMultiGraph+ get_fptr (TMultiGraph ptr) = ptr+ cast_fptr_to_obj = TMultiGraph
+ src/HROOT/Hist/Template.hs view
@@ -0,0 +1,7 @@+{-# LANGUAGE EmptyDataDecls, FlexibleInstances,+ ForeignFunctionInterface, InterruptibleFFI, MultiParamTypeClasses,+ TypeFamilies #-}+module HROOT.Hist.Template () where+import Foreign.C.Types+import Foreign.Ptr+import FFICXX.Runtime.Cast