packages feed

HROOT-hist 0.8 → 0.9

raw patch · 245 files changed

+15837/−20227 lines, 245 filesdep +fficxxdep +template-haskelldep ~fficxx-runtime

Dependencies added: fficxx, template-haskell

Dependency ranges changed: fficxx-runtime

Files

− CHANGES
@@ -1,39 +0,0 @@-0.5.0: 31 Jul 2011-   * initial preview release--0.5.1: 3 Aug 2011-   * support for delete --0.6: 16 Aug 2011-   * implement Deletable. delete method for every object-   * refactor HROOT generated file names (Interface.hs, Implementation.hs, FFI.hs) --0.6.3: 22 Sep 2011 -   * Implement Existential Types --0.6.4: 28 Sep 2011 -   * add many TH2 class methods--0.6.6: 7 Oct 2011 -   * do not need OverlappingInstances, IncoherentInstances, UndecidableInstances ---0.6.7: 18 Oct 2011-   * implement almost all TH1 class methods--0.6.8: 20 Oct 2011-   * implement almost all class methods of TH2, TH3, TFormula, TF1 and TGraph--0.6.9: 20 Oct 2011 -   * implement almost all class methods of TLine, TAttLine, TAttMarker, TAttText and TAttPad--0.7 : 8 Nov 2011-   * separate all class interfaces and implementation in different modules-   * overhaul Existential --0.7.1 : 12 Nov 2011 -   * support for static methods-   * add TROOT--0.8 : 17 Jun 2014-   * separate packages into HROOT-core, HROOT-hist, HROOT-io, HROOT-math, HROOT-graf and HROOT is now an umbrella package
− 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,22 +1,21 @@-Name:		HROOT-hist-Version:	0.8-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.+Name:                HROOT-hist+Version:     0.9+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>+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+Build-Type:  Custom cabal-version:  >=1.10-Extra-source-files: -                       CHANGES-                       Config.hs+Extra-source-files:                        csrc/HROOTHistTAxis.h                        csrc/HROOTHistTF1.h-                       csrc/HROOTHistTFormula.h+                       csrc/HROOTHistTFitResult.h+                       csrc/HROOTHistTFitResultPtr.h                        csrc/HROOTHistTGraph.h                        csrc/HROOTHistTGraphAsymmErrors.h                        csrc/HROOTHistTGraphBentErrors.h@@ -44,7 +43,8 @@                        csrc/HROOTHistTHStack.h                        csrc/HROOTHistTAxis.cpp                        csrc/HROOTHistTF1.cpp-                       csrc/HROOTHistTFormula.cpp+                       csrc/HROOTHistTFitResult.cpp+                       csrc/HROOTHistTFitResultPtr.cpp                        csrc/HROOTHistTGraph.cpp                        csrc/HROOTHistTGraphAsymmErrors.cpp                        csrc/HROOTHistTGraphBentErrors.cpp@@ -79,12 +79,14 @@   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-  Build-Depends:      base>4 && < 5, fficxx-runtime >= 0.0.999 ,HROOT-core+  cc-options: -std=c++14+  Build-Depends:      base>4 && < 5, fficxx >= 0.3, fficxx-runtime >= 0.3, template-haskell,HROOT-core   Exposed-Modules:                        HROOT.Hist                        HROOT.Hist.TAxis                        HROOT.Hist.TF1-                       HROOT.Hist.TFormula+                       HROOT.Hist.TFitResult+                       HROOT.Hist.TFitResultPtr                        HROOT.Hist.TGraph                        HROOT.Hist.TGraphAsymmErrors                        HROOT.Hist.TGraphBentErrors@@ -112,7 +114,8 @@                        HROOT.Hist.THStack                        HROOT.Hist.TAxis.RawType                        HROOT.Hist.TF1.RawType-                       HROOT.Hist.TFormula.RawType+                       HROOT.Hist.TFitResult.RawType+                       HROOT.Hist.TFitResultPtr.RawType                        HROOT.Hist.TGraph.RawType                        HROOT.Hist.TGraphAsymmErrors.RawType                        HROOT.Hist.TGraphBentErrors.RawType@@ -140,7 +143,8 @@                        HROOT.Hist.THStack.RawType                        HROOT.Hist.TAxis.FFI                        HROOT.Hist.TF1.FFI-                       HROOT.Hist.TFormula.FFI+                       HROOT.Hist.TFitResult.FFI+                       HROOT.Hist.TFitResultPtr.FFI                        HROOT.Hist.TGraph.FFI                        HROOT.Hist.TGraphAsymmErrors.FFI                        HROOT.Hist.TGraphBentErrors.FFI@@ -168,7 +172,8 @@                        HROOT.Hist.THStack.FFI                        HROOT.Hist.TAxis.Interface                        HROOT.Hist.TF1.Interface-                       HROOT.Hist.TFormula.Interface+                       HROOT.Hist.TFitResult.Interface+                       HROOT.Hist.TFitResultPtr.Interface                        HROOT.Hist.TGraph.Interface                        HROOT.Hist.TGraphAsymmErrors.Interface                        HROOT.Hist.TGraphBentErrors.Interface@@ -196,7 +201,8 @@                        HROOT.Hist.THStack.Interface                        HROOT.Hist.TAxis.Cast                        HROOT.Hist.TF1.Cast-                       HROOT.Hist.TFormula.Cast+                       HROOT.Hist.TFitResult.Cast+                       HROOT.Hist.TFitResultPtr.Cast                        HROOT.Hist.TGraph.Cast                        HROOT.Hist.TGraphAsymmErrors.Cast                        HROOT.Hist.TGraphBentErrors.Cast@@ -224,7 +230,8 @@                        HROOT.Hist.THStack.Cast                        HROOT.Hist.TAxis.Implementation                        HROOT.Hist.TF1.Implementation-                       HROOT.Hist.TFormula.Implementation+                       HROOT.Hist.TFitResult.Implementation+                       HROOT.Hist.TFitResultPtr.Implementation                        HROOT.Hist.TGraph.Implementation                        HROOT.Hist.TGraphAsymmErrors.Implementation                        HROOT.Hist.TGraphBentErrors.Implementation@@ -250,17 +257,18 @@                        HROOT.Hist.TH3I.Implementation                        HROOT.Hist.TH3S.Implementation                        HROOT.Hist.THStack.Implementation-  +   Other-Modules:    extra-lib-dirs:    extra-libraries:    stdc++ -  Include-dirs:       csrc  -  Install-includes:   +  Include-dirs:       csrc +  Install-includes:                        HROOT-histType.h                        HROOTHistTAxis.h                        HROOTHistTF1.h-                       HROOTHistTFormula.h+                       HROOTHistTFitResult.h+                       HROOTHistTFitResultPtr.h                        HROOTHistTGraph.h                        HROOTHistTGraphAsymmErrors.h                        HROOTHistTGraphBentErrors.h@@ -287,10 +295,11 @@                        HROOTHistTH3S.h                        HROOTHistTHStack.h -  C-sources:          +  C-sources:                        csrc/HROOTHistTAxis.cpp                        csrc/HROOTHistTF1.cpp-                       csrc/HROOTHistTFormula.cpp+                       csrc/HROOTHistTFitResult.cpp+                       csrc/HROOTHistTFitResultPtr.cpp                        csrc/HROOTHistTGraph.cpp                        csrc/HROOTHistTGraphAsymmErrors.cpp                        csrc/HROOTHistTGraphBentErrors.cpp@@ -316,8 +325,5 @@                        csrc/HROOTHistTH3I.cpp                        csrc/HROOTHistTH3S.cpp                        csrc/HROOTHistTHStack.cpp---     
csrc/HROOT-histType.h view
@@ -10,143 +10,178 @@ 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 TFormula -typedef struct TFormula_tag TFormula_t; -typedef TFormula_t * TFormula_p; -typedef TFormula_t const* const_TFormula_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__  #ifdef __cplusplus } #endif+
csrc/HROOTHistTAxis.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTCoreTNamed.h" #include "HROOTCoreTAttAxis.h" #include "TAxis.h" #include "HROOTHistTAxis.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -45,5 +22,4 @@ TAXIS_DEF_VIRT(TAxis)  TAXIS_DEF_NONVIRT(TAxis)- 
csrc/HROOTHistTAxis.h view
@@ -1,19 +1,18 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TAxis__ #define __HROOT_HIST__TAxis__  #include "HROOT-histType.h"- #include "HROOTCoreTNamed.h" #include "HROOTCoreTAttAxis.h" #include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOT-coreType.h" -#undef TAXIS_DECL_VIRT+#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 ); \@@ -24,7 +23,7 @@ void Type ## _SetTimeFormat ( Type ## _p p, const char* format ); \ void Type ## _SetTimeOffset ( Type ## _p p, double toffset, const char* option ) -#undef TAXIS_DECL_NONVIRT+#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 ); \@@ -98,3 +97,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTF1.cpp view
@@ -1,39 +1,15 @@ #include <MacroPatternMatch.h>- #include "HROOTCoreTObject.h" #include "HROOTHistTH1.h" #include "HROOTHistTAxis.h"-#include "HROOTHistTFormula.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h" #include "TF1.h" #include "HROOTHistTF1.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -42,16 +18,12 @@   (to_nonconst<cname,cname ## _t>) )  -TFORMULA_DEF_VIRT(TF1) TATTLINE_DEF_VIRT(TF1) TATTFILL_DEF_VIRT(TF1) TATTMARKER_DEF_VIRT(TF1)-TNAMED_DEF_VIRT(TF1)-TOBJECT_DEF_VIRT(TF1) DELETABLE_DEF_VIRT(TF1)  TF1_DEF_VIRT(TF1)  TF1_DEF_NONVIRT(TF1)- 
csrc/HROOTHistTF1.h view
@@ -1,22 +1,18 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TF1__ #define __HROOT_HIST__TF1__  #include "HROOT-histType.h"--#include "HROOTHistTFormula.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"-#include "HROOTCoreTNamed.h"-#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOT-coreType.h" -#undef TF1_DECL_VIRT+#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 ); \@@ -24,7 +20,6 @@ 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 ## _DrawF1 ( Type ## _p p, const char* formula, double xmin, double xmax, 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 ); \@@ -44,7 +39,7 @@ 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 * params, double epsilon ); \+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 ); \@@ -68,7 +63,7 @@ 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+#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 (  ); \@@ -112,10 +107,6 @@ {\ return to_nonconst<TObject_t,TObject>((TObject*)TYPECASTMETHOD(Type,DrawIntegral,TF1)(p)->DrawIntegral(option));\ }\-void Type ## _DrawF1 ( Type ## _p p, const char* formula, double xmin, double xmax, const char* option )\-{\-TYPECASTMETHOD(Type,DrawF1,TF1)(p)->DrawF1(formula, xmin, xmax, option);\-}\ void Type ## _FixParameter ( Type ## _p p, int ipar, double value )\ {\ TYPECASTMETHOD(Type,FixParameter,TF1)(p)->FixParameter(ipar, value);\@@ -192,9 +183,9 @@ {\ TYPECASTMETHOD(Type,InitArgs,TF1)(p)->InitArgs(x, params);\ }\-double Type ## _IntegralTF1 ( Type ## _p p, double a, double b, double * params, double epsilon )\+double Type ## _IntegralTF1 ( Type ## _p p, double a, double b, double epsilon )\ {\-return TYPECASTMETHOD(Type,IntegralTF1,TF1)(p)->Integral(a, b, params, 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 )\ {\@@ -349,12 +340,9 @@ TF1::CalcGaussLegendreSamplingPoints(num, x, w, eps);\ } -TFORMULA_DECL_VIRT(TF1); TATTLINE_DECL_VIRT(TF1); TATTFILL_DECL_VIRT(TF1); TATTMARKER_DECL_VIRT(TF1);-TNAMED_DECL_VIRT(TF1);-TOBJECT_DECL_VIRT(TF1); DELETABLE_DECL_VIRT(TF1);  @@ -369,3 +357,4 @@ #ifdef __cplusplus } #endif+
+ csrc/HROOTHistTFitResult.cpp view
@@ -0,0 +1,23 @@+#include <MacroPatternMatch.h>+#include "HROOTCoreTNamed.h"+#include "TFitResult.h"+#include "HROOTHistTFitResult.h"++++#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)++#define TYPECASTMETHOD(cname,mname,oname) \+  IIF( CHECKPROTECT(cname,mname) ) ( \+  (to_nonconst<oname,cname ## _t>), \+  (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)+
+ csrc/HROOTHistTFitResult.h view
@@ -0,0 +1,46 @@+#ifdef __cplusplus+extern "C" { +#endif++#ifndef __HROOT_HIST__TFitResult__+#define __HROOT_HIST__TFitResult__++#include "HROOT-histType.h"+#include "HROOTCoreTNamed.h"+#include "HROOTCoreTObject.h"+#include "HROOTCoreDeletable.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)\+++#undef TFITRESULT_DEF_NONVIRT+#define TFITRESULT_DEF_NONVIRT(Type)\+++TNAMED_DECL_VIRT(TFitResult);+TOBJECT_DECL_VIRT(TFitResult);+DELETABLE_DECL_VIRT(TFitResult);+++TFITRESULT_DECL_VIRT(TFitResult);+++TFITRESULT_DECL_NONVIRT(TFitResult);+++#endif // __HROOT_HIST__TFitResult__++#ifdef __cplusplus+}+#endif+
+ csrc/HROOTHistTFitResultPtr.cpp view
@@ -0,0 +1,20 @@+#include <MacroPatternMatch.h>+#include "HROOTHistTFitResult.h"+#include "TFitResultPtr.h"+#include "HROOTHistTFitResultPtr.h"++++#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)++#define TYPECASTMETHOD(cname,mname,oname) \+  IIF( CHECKPROTECT(cname,mname) ) ( \+  (to_nonconst<oname,cname ## _t>), \+  (to_nonconst<cname,cname ## _t>) )++++TFITRESULTPTR_DEF_VIRT(TFitResultPtr)++TFITRESULTPTR_DEF_NONVIRT(TFitResultPtr)+
+ csrc/HROOTHistTFitResultPtr.h view
@@ -0,0 +1,43 @@+#ifdef __cplusplus+extern "C" { +#endif++#ifndef __HROOT_HIST__TFitResultPtr__+#define __HROOT_HIST__TFitResultPtr__++#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 )++#undef TFITRESULTPTR_DEF_VIRT+#define TFITRESULTPTR_DEF_VIRT(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());\+}++++TFITRESULTPTR_DECL_VIRT(TFitResultPtr);+++TFITRESULTPTR_DECL_NONVIRT(TFitResultPtr);+++#endif // __HROOT_HIST__TFitResultPtr__++#ifdef __cplusplus+}+#endif+
− csrc/HROOTHistTFormula.cpp
@@ -1,47 +0,0 @@-#include <MacroPatternMatch.h>--#include "HROOTCoreTNamed.h"-#include "TFormula.h"-#include "HROOTHistTFormula.h"--using namespace std;---template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}---#define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)--#define TYPECASTMETHOD(cname,mname,oname) \-  IIF( CHECKPROTECT(cname,mname) ) ( \-  (to_nonconst<oname,cname ## _t>), \-  (to_nonconst<cname,cname ## _t>) )---TNAMED_DEF_VIRT(TFormula)-TOBJECT_DEF_VIRT(TFormula)-DELETABLE_DEF_VIRT(TFormula)--TFORMULA_DEF_VIRT(TFormula)--TFORMULA_DEF_NONVIRT(TFormula)--
− csrc/HROOTHistTFormula.h
@@ -1,148 +0,0 @@-#ifdef __cplusplus-extern "C" { -#endif --#ifndef __HROOT_HIST__TFormula__-#define __HROOT_HIST__TFormula__--#include "HROOT-histType.h"--#include "HROOTCoreTNamed.h"-#include "HROOTCoreTObject.h"-#include "HROOTCoreDeletable.h"-#include "HROOT-coreType.h"--#undef TFORMULA_DECL_VIRT-#define TFORMULA_DECL_VIRT(Type) \-int Type ## _Compile ( Type ## _p p, const char* expression ); \-void Type ## _Clear ( Type ## _p p, const char* option ); \-double Type ## _DefinedValue ( Type ## _p p, int code ); \-double Type ## _Eval ( Type ## _p p, double x, double y, double z, double t ); \-double Type ## _EvalParOld ( Type ## _p p, double * x, double * params ); \-double Type ## _EvalPar ( Type ## _p p, double * x, double * params ); \-int Type ## _GetNdim ( Type ## _p p ); \-int Type ## _GetNpar ( Type ## _p p ); \-int Type ## _GetNumber ( Type ## _p p ); \-int Type ## _GetParNumber ( Type ## _p p, const char* name ); \-int Type ## _IsLinear ( Type ## _p p ); \-int Type ## _IsNormalized ( Type ## _p p ); \-void Type ## _SetNumber ( Type ## _p p, int number ); \-void Type ## _SetParameter ( Type ## _p p, const char* name, double parvalue ); \-void Type ## _SetParameters ( Type ## _p p, double * params ); \-void Type ## _SetParName ( Type ## _p p, int ipar, const char* name ); \-void Type ## _SetParNames ( Type ## _p p, const char* name0, const char* name1, const char* name2, const char* name3, const char* name4, const char* name5, const char* name6, const char* name7, const char* name8, const char* name9, const char* name10 ); \-void Type ## _Update ( Type ## _p p )--#undef TFORMULA_DECL_NONVIRT-#define TFORMULA_DECL_NONVIRT(Type) \-Type ## _p Type ## _newTFormula ( const char* name, const char* formula ); \-void Type ## _tFormulaOptimize ( Type ## _p p ); \-double Type ## _tFormulaGetParameter ( Type ## _p p, const char* name )--#undef TFORMULA_DEF_VIRT-#define TFORMULA_DEF_VIRT(Type)\-int Type ## _Compile ( Type ## _p p, const char* expression )\-{\-return TYPECASTMETHOD(Type,Compile,TFormula)(p)->Compile(expression);\-}\-void Type ## _Clear ( Type ## _p p, const char* option )\-{\-TYPECASTMETHOD(Type,Clear,TFormula)(p)->Clear(option);\-}\-double Type ## _DefinedValue ( Type ## _p p, int code )\-{\-return TYPECASTMETHOD(Type,DefinedValue,TFormula)(p)->DefinedValue(code);\-}\-double Type ## _Eval ( Type ## _p p, double x, double y, double z, double t )\-{\-return TYPECASTMETHOD(Type,Eval,TFormula)(p)->Eval(x, y, z, t);\-}\-double Type ## _EvalParOld ( Type ## _p p, double * x, double * params )\-{\-return TYPECASTMETHOD(Type,EvalParOld,TFormula)(p)->EvalParOld(x, params);\-}\-double Type ## _EvalPar ( Type ## _p p, double * x, double * params )\-{\-return TYPECASTMETHOD(Type,EvalPar,TFormula)(p)->EvalPar(x, params);\-}\-int Type ## _GetNdim ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetNdim,TFormula)(p)->GetNdim();\-}\-int Type ## _GetNpar ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetNpar,TFormula)(p)->GetNpar();\-}\-int Type ## _GetNumber ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,GetNumber,TFormula)(p)->GetNumber();\-}\-int Type ## _GetParNumber ( Type ## _p p, const char* name )\-{\-return TYPECASTMETHOD(Type,GetParNumber,TFormula)(p)->GetParNumber(name);\-}\-int Type ## _IsLinear ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,IsLinear,TFormula)(p)->IsLinear();\-}\-int Type ## _IsNormalized ( Type ## _p p )\-{\-return TYPECASTMETHOD(Type,IsNormalized,TFormula)(p)->IsNormalized();\-}\-void Type ## _SetNumber ( Type ## _p p, int number )\-{\-TYPECASTMETHOD(Type,SetNumber,TFormula)(p)->SetNumber(number);\-}\-void Type ## _SetParameter ( Type ## _p p, const char* name, double parvalue )\-{\-TYPECASTMETHOD(Type,SetParameter,TFormula)(p)->SetParameter(name, parvalue);\-}\-void Type ## _SetParameters ( Type ## _p p, double * params )\-{\-TYPECASTMETHOD(Type,SetParameters,TFormula)(p)->SetParameters(params);\-}\-void Type ## _SetParName ( Type ## _p p, int ipar, const char* name )\-{\-TYPECASTMETHOD(Type,SetParName,TFormula)(p)->SetParName(ipar, name);\-}\-void Type ## _SetParNames ( Type ## _p p, const char* name0, const char* name1, const char* name2, const char* name3, const char* name4, const char* name5, const char* name6, const char* name7, const char* name8, const char* name9, const char* name10 )\-{\-TYPECASTMETHOD(Type,SetParNames,TFormula)(p)->SetParNames(name0, name1, name2, name3, name4, name5, name6, name7, name8, name9, name10);\-}\-void Type ## _Update ( Type ## _p p )\-{\-TYPECASTMETHOD(Type,Update,TFormula)(p)->Update();\-}--#undef TFORMULA_DEF_NONVIRT-#define TFORMULA_DEF_NONVIRT(Type)\-Type ## _p Type ## _newTFormula ( const char* name, const char* formula )\-{\-Type * newp = new Type (name, formula); \-return to_nonconst<Type ## _t, Type >(newp);\-}\-void Type ## _tFormulaOptimize ( Type ## _p p )\-{\-TYPECASTMETHOD(Type,tFormulaOptimize,TFormula)(p)->Optimize();\-}\-double Type ## _tFormulaGetParameter ( Type ## _p p, const char* name )\-{\-return TYPECASTMETHOD(Type,tFormulaGetParameter,TFormula)(p)->GetParameter(name);\-}--TNAMED_DECL_VIRT(TFormula);-TOBJECT_DECL_VIRT(TFormula);-DELETABLE_DECL_VIRT(TFormula);---TFORMULA_DECL_VIRT(TFormula);---TFORMULA_DECL_NONVIRT(TFormula);---#endif // __HROOT_HIST__TFormula__--#ifdef __cplusplus-}-#endif
csrc/HROOTHistTGraph.cpp view
@@ -1,5 +1,4 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTF1.h" #include "HROOTHistTH1F.h" #include "HROOTHistTAxis.h"@@ -10,30 +9,8 @@ #include "TGraph.h" #include "HROOTHistTGraph.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -52,5 +29,4 @@ TGRAPH_DEF_VIRT(TGraph)  TGRAPH_DEF_NONVIRT(TGraph)- 
csrc/HROOTHistTGraph.h view
@@ -1,12 +1,11 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TGraph__ #define __HROOT_HIST__TGraph__  #include "HROOT-histType.h"- #include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h"@@ -15,7 +14,7 @@ #include "HROOTCoreDeletable.h" #include "HROOT-coreType.h" -#undef TGRAPH_DECL_VIRT+#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 ); \@@ -50,7 +49,7 @@ void Type ## _Set ( Type ## _p p, int n ); \ void Type ## _SetPoint ( Type ## _p p, int i, double x, double y ) -#undef TGRAPH_DECL_NONVIRT+#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 ); \@@ -267,3 +266,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTGraphAsymmErrors.cpp view
@@ -1,33 +1,10 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTGraph.h" #include "TGraphAsymmErrors.h" #include "HROOTHistTGraphAsymmErrors.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -47,5 +24,4 @@ TGRAPHASYMMERRORS_DEF_VIRT(TGraphAsymmErrors)  TGRAPHASYMMERRORS_DEF_NONVIRT(TGraphAsymmErrors)- 
csrc/HROOTHistTGraphAsymmErrors.h view
@@ -1,12 +1,11 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TGraphAsymmErrors__ #define __HROOT_HIST__TGraphAsymmErrors__  #include "HROOT-histType.h"- #include "HROOTHistTGraph.h" #include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h"@@ -15,11 +14,11 @@ #include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" -#undef TGRAPHASYMMERRORS_DECL_VIRT+#undef TGRAPHASYMMERRORS_DECL_VIRT  #define TGRAPHASYMMERRORS_DECL_VIRT(Type) \  -#undef TGRAPHASYMMERRORS_DECL_NONVIRT+#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 ) @@ -55,3 +54,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTGraphBentErrors.cpp view
@@ -1,33 +1,10 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTGraph.h" #include "TGraphBentErrors.h" #include "HROOTHistTGraphBentErrors.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -47,5 +24,4 @@ TGRAPHBENTERRORS_DEF_VIRT(TGraphBentErrors)  TGRAPHBENTERRORS_DEF_NONVIRT(TGraphBentErrors)- 
csrc/HROOTHistTGraphBentErrors.h view
@@ -1,12 +1,11 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TGraphBentErrors__ #define __HROOT_HIST__TGraphBentErrors__  #include "HROOT-histType.h"- #include "HROOTHistTGraph.h" #include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h"@@ -15,11 +14,11 @@ #include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" -#undef TGRAPHBENTERRORS_DECL_VIRT+#undef TGRAPHBENTERRORS_DECL_VIRT  #define TGRAPHBENTERRORS_DECL_VIRT(Type) \  -#undef TGRAPHBENTERRORS_DECL_NONVIRT+#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 ) @@ -55,3 +54,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTGraphErrors.cpp view
@@ -1,33 +1,10 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTGraph.h" #include "TGraphErrors.h" #include "HROOTHistTGraphErrors.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -47,5 +24,4 @@ TGRAPHERRORS_DEF_VIRT(TGraphErrors)  TGRAPHERRORS_DEF_NONVIRT(TGraphErrors)- 
csrc/HROOTHistTGraphErrors.h view
@@ -1,12 +1,11 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TGraphErrors__ #define __HROOT_HIST__TGraphErrors__  #include "HROOT-histType.h"- #include "HROOTHistTGraph.h" #include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h"@@ -15,11 +14,11 @@ #include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" -#undef TGRAPHERRORS_DECL_VIRT+#undef TGRAPHERRORS_DECL_VIRT  #define TGRAPHERRORS_DECL_VIRT(Type) \  -#undef TGRAPHERRORS_DECL_NONVIRT+#undef TGRAPHERRORS_DECL_NONVIRT  #define TGRAPHERRORS_DECL_NONVIRT(Type) \ Type ## _p Type ## _newTGraphErrors ( int n, double * x, double * y, double * ex, double * ey ) @@ -55,3 +54,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH1.cpp view
@@ -1,40 +1,18 @@ #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" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -43,14 +21,14 @@   (to_nonconst<cname,cname ## _t>) )  -TOBJECT_DEF_VIRT(TH1)+TNAMED_DEF_VIRT(TH1) TATTLINE_DEF_VIRT(TH1) TATTFILL_DEF_VIRT(TH1) TATTMARKER_DEF_VIRT(TH1)+TOBJECT_DEF_VIRT(TH1) DELETABLE_DEF_VIRT(TH1)  TH1_DEF_VIRT(TH1)  TH1_DEF_NONVIRT(TH1)- 
csrc/HROOTHistTH1.h view
@@ -1,20 +1,20 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH1__ #define __HROOT_HIST__TH1__  #include "HROOT-histType.h"--#include "HROOTCoreTObject.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+#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 ); \@@ -36,6 +36,7 @@ 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 ); \@@ -147,7 +148,7 @@ void Type ## _Smooth ( Type ## _p p, int ntimes, const char* option ); \ void Type ## _Sumw2 ( Type ## _p p ) -#undef TH1_DECL_NONVIRT+#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 ); \@@ -245,6 +246,10 @@ {\ 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();\@@ -741,10 +746,11 @@ TYPECASTMETHOD(Type,tH1UseCurrentStyle,TH1)(p)->UseCurrentStyle();\ } -TOBJECT_DECL_VIRT(TH1);+TNAMED_DECL_VIRT(TH1); TATTLINE_DECL_VIRT(TH1); TATTFILL_DECL_VIRT(TH1); TATTMARKER_DECL_VIRT(TH1);+TOBJECT_DECL_VIRT(TH1); DELETABLE_DECL_VIRT(TH1);  @@ -759,3 +765,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH1C.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH1.h" #include "HROOTCoreTArrayC.h" #include "TH1C.h" #include "HROOTHistTH1C.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -39,15 +16,15 @@  TH1_DEF_VIRT(TH1C) TARRAYC_DEF_VIRT(TH1C)-TOBJECT_DEF_VIRT(TH1C)+TNAMED_DEF_VIRT(TH1C) TATTLINE_DEF_VIRT(TH1C) TATTFILL_DEF_VIRT(TH1C) TATTMARKER_DEF_VIRT(TH1C)+TOBJECT_DEF_VIRT(TH1C) DELETABLE_DEF_VIRT(TH1C) TARRAY_DEF_VIRT(TH1C)  TH1C_DEF_VIRT(TH1C)  TH1C_DEF_NONVIRT(TH1C)- 
csrc/HROOTHistTH1C.h view
@@ -1,27 +1,27 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH1C__ #define __HROOT_HIST__TH1C__  #include "HROOT-histType.h"- #include "HROOTHistTH1.h" #include "HROOTCoreTArrayC.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH1C_DECL_VIRT+#undef TH1C_DECL_VIRT  #define TH1C_DECL_VIRT(Type) \  -#undef TH1C_DECL_NONVIRT+#undef TH1C_DECL_NONVIRT  #define TH1C_DECL_NONVIRT(Type) \  @@ -35,10 +35,11 @@  TH1_DECL_VIRT(TH1C); TARRAYC_DECL_VIRT(TH1C);-TOBJECT_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); @@ -54,3 +55,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH1D.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH1.h" #include "HROOTCoreTArrayD.h" #include "TH1D.h" #include "HROOTHistTH1D.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -39,15 +16,15 @@  TH1_DEF_VIRT(TH1D) TARRAYD_DEF_VIRT(TH1D)-TOBJECT_DEF_VIRT(TH1D)+TNAMED_DEF_VIRT(TH1D) TATTLINE_DEF_VIRT(TH1D) TATTFILL_DEF_VIRT(TH1D) TATTMARKER_DEF_VIRT(TH1D)+TOBJECT_DEF_VIRT(TH1D) DELETABLE_DEF_VIRT(TH1D) TARRAY_DEF_VIRT(TH1D)  TH1D_DEF_VIRT(TH1D)  TH1D_DEF_NONVIRT(TH1D)- 
csrc/HROOTHistTH1D.h view
@@ -1,27 +1,27 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH1D__ #define __HROOT_HIST__TH1D__  #include "HROOT-histType.h"- #include "HROOTHistTH1.h" #include "HROOTCoreTArrayD.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH1D_DECL_VIRT+#undef TH1D_DECL_VIRT  #define TH1D_DECL_VIRT(Type) \  -#undef TH1D_DECL_NONVIRT+#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 ) @@ -39,10 +39,11 @@  TH1_DECL_VIRT(TH1D); TARRAYD_DECL_VIRT(TH1D);-TOBJECT_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); @@ -58,3 +59,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH1F.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH1.h" #include "HROOTCoreTArrayF.h" #include "TH1F.h" #include "HROOTHistTH1F.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -39,15 +16,15 @@  TH1_DEF_VIRT(TH1F) TARRAYF_DEF_VIRT(TH1F)-TOBJECT_DEF_VIRT(TH1F)+TNAMED_DEF_VIRT(TH1F) TATTLINE_DEF_VIRT(TH1F) TATTFILL_DEF_VIRT(TH1F) TATTMARKER_DEF_VIRT(TH1F)+TOBJECT_DEF_VIRT(TH1F) DELETABLE_DEF_VIRT(TH1F) TARRAY_DEF_VIRT(TH1F)  TH1F_DEF_VIRT(TH1F)  TH1F_DEF_NONVIRT(TH1F)- 
csrc/HROOTHistTH1F.h view
@@ -1,27 +1,27 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH1F__ #define __HROOT_HIST__TH1F__  #include "HROOT-histType.h"- #include "HROOTHistTH1.h" #include "HROOTCoreTArrayF.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH1F_DECL_VIRT+#undef TH1F_DECL_VIRT  #define TH1F_DECL_VIRT(Type) \  -#undef TH1F_DECL_NONVIRT+#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 ) @@ -39,10 +39,11 @@  TH1_DECL_VIRT(TH1F); TARRAYF_DECL_VIRT(TH1F);-TOBJECT_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); @@ -58,3 +59,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH1I.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH1.h" #include "HROOTCoreTArrayI.h" #include "TH1I.h" #include "HROOTHistTH1I.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -39,15 +16,15 @@  TH1_DEF_VIRT(TH1I) TARRAYI_DEF_VIRT(TH1I)-TOBJECT_DEF_VIRT(TH1I)+TNAMED_DEF_VIRT(TH1I) TATTLINE_DEF_VIRT(TH1I) TATTFILL_DEF_VIRT(TH1I) TATTMARKER_DEF_VIRT(TH1I)+TOBJECT_DEF_VIRT(TH1I) DELETABLE_DEF_VIRT(TH1I) TARRAY_DEF_VIRT(TH1I)  TH1I_DEF_VIRT(TH1I)  TH1I_DEF_NONVIRT(TH1I)- 
csrc/HROOTHistTH1I.h view
@@ -1,27 +1,27 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH1I__ #define __HROOT_HIST__TH1I__  #include "HROOT-histType.h"- #include "HROOTHistTH1.h" #include "HROOTCoreTArrayI.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH1I_DECL_VIRT+#undef TH1I_DECL_VIRT  #define TH1I_DECL_VIRT(Type) \  -#undef TH1I_DECL_NONVIRT+#undef TH1I_DECL_NONVIRT  #define TH1I_DECL_NONVIRT(Type) \  @@ -35,10 +35,11 @@  TH1_DECL_VIRT(TH1I); TARRAYI_DECL_VIRT(TH1I);-TOBJECT_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); @@ -54,3 +55,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH1K.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH1.h" #include "HROOTCoreTArrayF.h" #include "TH1K.h" #include "HROOTHistTH1K.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -39,15 +16,15 @@  TH1_DEF_VIRT(TH1K) TARRAYF_DEF_VIRT(TH1K)-TOBJECT_DEF_VIRT(TH1K)+TNAMED_DEF_VIRT(TH1K) TATTLINE_DEF_VIRT(TH1K) TATTFILL_DEF_VIRT(TH1K) TATTMARKER_DEF_VIRT(TH1K)+TOBJECT_DEF_VIRT(TH1K) DELETABLE_DEF_VIRT(TH1K) TARRAY_DEF_VIRT(TH1K)  TH1K_DEF_VIRT(TH1K)  TH1K_DEF_NONVIRT(TH1K)- 
csrc/HROOTHistTH1K.h view
@@ -1,27 +1,27 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH1K__ #define __HROOT_HIST__TH1K__  #include "HROOT-histType.h"- #include "HROOTHistTH1.h" #include "HROOTCoreTArrayF.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH1K_DECL_VIRT+#undef TH1K_DECL_VIRT  #define TH1K_DECL_VIRT(Type) \  -#undef TH1K_DECL_NONVIRT+#undef TH1K_DECL_NONVIRT  #define TH1K_DECL_NONVIRT(Type) \  @@ -35,10 +35,11 @@  TH1_DECL_VIRT(TH1K); TARRAYF_DECL_VIRT(TH1K);-TOBJECT_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); @@ -54,3 +55,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH1S.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH1.h" #include "HROOTCoreTArrayS.h" #include "TH1S.h" #include "HROOTHistTH1S.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -39,15 +16,15 @@  TH1_DEF_VIRT(TH1S) TARRAYS_DEF_VIRT(TH1S)-TOBJECT_DEF_VIRT(TH1S)+TNAMED_DEF_VIRT(TH1S) TATTLINE_DEF_VIRT(TH1S) TATTFILL_DEF_VIRT(TH1S) TATTMARKER_DEF_VIRT(TH1S)+TOBJECT_DEF_VIRT(TH1S) DELETABLE_DEF_VIRT(TH1S) TARRAY_DEF_VIRT(TH1S)  TH1S_DEF_VIRT(TH1S)  TH1S_DEF_NONVIRT(TH1S)- 
csrc/HROOTHistTH1S.h view
@@ -1,27 +1,27 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH1S__ #define __HROOT_HIST__TH1S__  #include "HROOT-histType.h"- #include "HROOTHistTH1.h" #include "HROOTCoreTArrayS.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH1S_DECL_VIRT+#undef TH1S_DECL_VIRT  #define TH1S_DECL_VIRT(Type) \  -#undef TH1S_DECL_NONVIRT+#undef TH1S_DECL_NONVIRT  #define TH1S_DECL_NONVIRT(Type) \  @@ -35,10 +35,11 @@  TH1_DECL_VIRT(TH1S); TARRAYS_DECL_VIRT(TH1S);-TOBJECT_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); @@ -54,3 +55,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH2.cpp view
@@ -1,5 +1,4 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH1D.h" #include "HROOTHistTH1.h" #include "HROOTHistTF1.h"@@ -7,30 +6,8 @@ #include "TH2.h" #include "HROOTHistTH2.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -41,14 +18,14 @@ #define IS_TH2_fill1_PROTECTED ()  TH1_DEF_VIRT(TH2)-TOBJECT_DEF_VIRT(TH2)+TNAMED_DEF_VIRT(TH2) TATTLINE_DEF_VIRT(TH2) TATTFILL_DEF_VIRT(TH2) TATTMARKER_DEF_VIRT(TH2)+TOBJECT_DEF_VIRT(TH2) DELETABLE_DEF_VIRT(TH2)  TH2_DEF_VIRT(TH2)  TH2_DEF_NONVIRT(TH2)- 
csrc/HROOTHistTH2.h view
@@ -1,21 +1,21 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH2__ #define __HROOT_HIST__TH2__  #include "HROOT-histType.h"- #include "HROOTHistTH1.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOT-coreType.h" -#undef TH2_DECL_VIRT+#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 ); \@@ -34,7 +34,7 @@ void Type ## _SetShowProjectionX ( Type ## _p p, int nbins ); \ void Type ## _SetShowProjectionY ( Type ## _p p, int nbins ) -#undef TH2_DECL_NONVIRT+#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 )@@ -118,10 +118,11 @@ }  TH1_DECL_VIRT(TH2);-TOBJECT_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);  @@ -136,3 +137,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH2C.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH2.h" #include "HROOTCoreTArrayC.h" #include "TH2C.h" #include "HROOTHistTH2C.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -41,15 +18,15 @@ TH2_DEF_VIRT(TH2C) TARRAYC_DEF_VIRT(TH2C) TH1_DEF_VIRT(TH2C)-TOBJECT_DEF_VIRT(TH2C)+TNAMED_DEF_VIRT(TH2C) TATTLINE_DEF_VIRT(TH2C) TATTFILL_DEF_VIRT(TH2C) TATTMARKER_DEF_VIRT(TH2C)+TOBJECT_DEF_VIRT(TH2C) DELETABLE_DEF_VIRT(TH2C) TARRAY_DEF_VIRT(TH2C)  TH2C_DEF_VIRT(TH2C)  TH2C_DEF_NONVIRT(TH2C)- 
csrc/HROOTHistTH2C.h view
@@ -1,28 +1,28 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH2C__ #define __HROOT_HIST__TH2C__  #include "HROOT-histType.h"- #include "HROOTHistTH2.h" #include "HROOTCoreTArrayC.h" #include "HROOTHistTH1.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH2C_DECL_VIRT+#undef TH2C_DECL_VIRT  #define TH2C_DECL_VIRT(Type) \  -#undef TH2C_DECL_NONVIRT+#undef TH2C_DECL_NONVIRT  #define TH2C_DECL_NONVIRT(Type) \  @@ -37,10 +37,11 @@ TH2_DECL_VIRT(TH2C); TARRAYC_DECL_VIRT(TH2C); TH1_DECL_VIRT(TH2C);-TOBJECT_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); @@ -56,3 +57,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH2D.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH2.h" #include "HROOTCoreTArrayD.h" #include "TH2D.h" #include "HROOTHistTH2D.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -41,15 +18,15 @@ TH2_DEF_VIRT(TH2D) TARRAYD_DEF_VIRT(TH2D) TH1_DEF_VIRT(TH2D)-TOBJECT_DEF_VIRT(TH2D)+TNAMED_DEF_VIRT(TH2D) TATTLINE_DEF_VIRT(TH2D) TATTFILL_DEF_VIRT(TH2D) TATTMARKER_DEF_VIRT(TH2D)+TOBJECT_DEF_VIRT(TH2D) DELETABLE_DEF_VIRT(TH2D) TARRAY_DEF_VIRT(TH2D)  TH2D_DEF_VIRT(TH2D)  TH2D_DEF_NONVIRT(TH2D)- 
csrc/HROOTHistTH2D.h view
@@ -1,28 +1,28 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH2D__ #define __HROOT_HIST__TH2D__  #include "HROOT-histType.h"- #include "HROOTHistTH2.h" #include "HROOTCoreTArrayD.h" #include "HROOTHistTH1.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH2D_DECL_VIRT+#undef TH2D_DECL_VIRT  #define TH2D_DECL_VIRT(Type) \  -#undef TH2D_DECL_NONVIRT+#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 ) @@ -41,10 +41,11 @@ TH2_DECL_VIRT(TH2D); TARRAYD_DECL_VIRT(TH2D); TH1_DECL_VIRT(TH2D);-TOBJECT_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); @@ -60,3 +61,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH2F.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH2.h" #include "HROOTCoreTArrayF.h" #include "TH2F.h" #include "HROOTHistTH2F.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -41,15 +18,15 @@ TH2_DEF_VIRT(TH2F) TARRAYF_DEF_VIRT(TH2F) TH1_DEF_VIRT(TH2F)-TOBJECT_DEF_VIRT(TH2F)+TNAMED_DEF_VIRT(TH2F) TATTLINE_DEF_VIRT(TH2F) TATTFILL_DEF_VIRT(TH2F) TATTMARKER_DEF_VIRT(TH2F)+TOBJECT_DEF_VIRT(TH2F) DELETABLE_DEF_VIRT(TH2F) TARRAY_DEF_VIRT(TH2F)  TH2F_DEF_VIRT(TH2F)  TH2F_DEF_NONVIRT(TH2F)- 
csrc/HROOTHistTH2F.h view
@@ -1,28 +1,28 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH2F__ #define __HROOT_HIST__TH2F__  #include "HROOT-histType.h"- #include "HROOTHistTH2.h" #include "HROOTCoreTArrayF.h" #include "HROOTHistTH1.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH2F_DECL_VIRT+#undef TH2F_DECL_VIRT  #define TH2F_DECL_VIRT(Type) \  -#undef TH2F_DECL_NONVIRT+#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 ) @@ -41,10 +41,11 @@ TH2_DECL_VIRT(TH2F); TARRAYF_DECL_VIRT(TH2F); TH1_DECL_VIRT(TH2F);-TOBJECT_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); @@ -60,3 +61,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH2I.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH2.h" #include "HROOTCoreTArrayI.h" #include "TH2I.h" #include "HROOTHistTH2I.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -41,15 +18,15 @@ TH2_DEF_VIRT(TH2I) TARRAYI_DEF_VIRT(TH2I) TH1_DEF_VIRT(TH2I)-TOBJECT_DEF_VIRT(TH2I)+TNAMED_DEF_VIRT(TH2I) TATTLINE_DEF_VIRT(TH2I) TATTFILL_DEF_VIRT(TH2I) TATTMARKER_DEF_VIRT(TH2I)+TOBJECT_DEF_VIRT(TH2I) DELETABLE_DEF_VIRT(TH2I) TARRAY_DEF_VIRT(TH2I)  TH2I_DEF_VIRT(TH2I)  TH2I_DEF_NONVIRT(TH2I)- 
csrc/HROOTHistTH2I.h view
@@ -1,28 +1,28 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH2I__ #define __HROOT_HIST__TH2I__  #include "HROOT-histType.h"- #include "HROOTHistTH2.h" #include "HROOTCoreTArrayI.h" #include "HROOTHistTH1.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH2I_DECL_VIRT+#undef TH2I_DECL_VIRT  #define TH2I_DECL_VIRT(Type) \  -#undef TH2I_DECL_NONVIRT+#undef TH2I_DECL_NONVIRT  #define TH2I_DECL_NONVIRT(Type) \  @@ -37,10 +37,11 @@ TH2_DECL_VIRT(TH2I); TARRAYI_DECL_VIRT(TH2I); TH1_DECL_VIRT(TH2I);-TOBJECT_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); @@ -56,3 +57,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH2Poly.cpp view
@@ -1,33 +1,10 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH2.h" #include "TH2Poly.h" #include "HROOTHistTH2Poly.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -39,14 +16,14 @@  TH2_DEF_VIRT(TH2Poly) TH1_DEF_VIRT(TH2Poly)-TOBJECT_DEF_VIRT(TH2Poly)+TNAMED_DEF_VIRT(TH2Poly) TATTLINE_DEF_VIRT(TH2Poly) TATTFILL_DEF_VIRT(TH2Poly) TATTMARKER_DEF_VIRT(TH2Poly)+TOBJECT_DEF_VIRT(TH2Poly) DELETABLE_DEF_VIRT(TH2Poly)  TH2POLY_DEF_VIRT(TH2Poly)  TH2POLY_DEF_NONVIRT(TH2Poly)- 
csrc/HROOTHistTH2Poly.h view
@@ -1,25 +1,25 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH2Poly__ #define __HROOT_HIST__TH2Poly__  #include "HROOT-histType.h"- #include "HROOTHistTH2.h" #include "HROOTHistTH1.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" -#undef TH2POLY_DECL_VIRT+#undef TH2POLY_DECL_VIRT  #define TH2POLY_DECL_VIRT(Type) \  -#undef TH2POLY_DECL_NONVIRT+#undef TH2POLY_DECL_NONVIRT  #define TH2POLY_DECL_NONVIRT(Type) \  @@ -33,10 +33,11 @@  TH2_DECL_VIRT(TH2Poly); TH1_DECL_VIRT(TH2Poly);-TOBJECT_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);  @@ -51,3 +52,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH2S.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH2.h" #include "HROOTCoreTArrayS.h" #include "TH2S.h" #include "HROOTHistTH2S.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -41,15 +18,15 @@ TH2_DEF_VIRT(TH2S) TARRAYS_DEF_VIRT(TH2S) TH1_DEF_VIRT(TH2S)-TOBJECT_DEF_VIRT(TH2S)+TNAMED_DEF_VIRT(TH2S) TATTLINE_DEF_VIRT(TH2S) TATTFILL_DEF_VIRT(TH2S) TATTMARKER_DEF_VIRT(TH2S)+TOBJECT_DEF_VIRT(TH2S) DELETABLE_DEF_VIRT(TH2S) TARRAY_DEF_VIRT(TH2S)  TH2S_DEF_VIRT(TH2S)  TH2S_DEF_NONVIRT(TH2S)- 
csrc/HROOTHistTH2S.h view
@@ -1,28 +1,28 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH2S__ #define __HROOT_HIST__TH2S__  #include "HROOT-histType.h"- #include "HROOTHistTH2.h" #include "HROOTCoreTArrayS.h" #include "HROOTHistTH1.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH2S_DECL_VIRT+#undef TH2S_DECL_VIRT  #define TH2S_DECL_VIRT(Type) \  -#undef TH2S_DECL_NONVIRT+#undef TH2S_DECL_NONVIRT  #define TH2S_DECL_NONVIRT(Type) \  @@ -37,10 +37,11 @@ TH2_DECL_VIRT(TH2S); TARRAYS_DECL_VIRT(TH2S); TH1_DECL_VIRT(TH2S);-TOBJECT_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); @@ -56,3 +57,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH3.cpp view
@@ -1,5 +1,4 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH1D.h" #include "HROOTHistTH1.h" #include "HROOTHistTF1.h"@@ -7,30 +6,8 @@ #include "TH3.h" #include "HROOTHistTH3.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -43,14 +20,14 @@  TH1_DEF_VIRT(TH3) TATT3D_DEF_VIRT(TH3)-TOBJECT_DEF_VIRT(TH3)+TNAMED_DEF_VIRT(TH3) TATTLINE_DEF_VIRT(TH3) TATTFILL_DEF_VIRT(TH3) TATTMARKER_DEF_VIRT(TH3)+TOBJECT_DEF_VIRT(TH3) DELETABLE_DEF_VIRT(TH3)  TH3_DEF_VIRT(TH3)  TH3_DEF_NONVIRT(TH3)- 
csrc/HROOTHistTH3.h view
@@ -1,22 +1,22 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH3__ #define __HROOT_HIST__TH3__  #include "HROOT-histType.h"- #include "HROOTHistTH1.h" #include "HROOTCoreTAtt3D.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOT-coreType.h" -#undef TH3_DECL_VIRT+#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 ); \@@ -28,7 +28,7 @@ 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+#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 ); \@@ -95,10 +95,11 @@  TH1_DECL_VIRT(TH3); TATT3D_DECL_VIRT(TH3);-TOBJECT_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);  @@ -113,3 +114,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH3C.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH3.h" #include "HROOTCoreTArrayC.h" #include "TH3C.h" #include "HROOTHistTH3C.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -43,15 +20,15 @@ TARRAYC_DEF_VIRT(TH3C) TH1_DEF_VIRT(TH3C) TATT3D_DEF_VIRT(TH3C)-TOBJECT_DEF_VIRT(TH3C)+TNAMED_DEF_VIRT(TH3C) TATTLINE_DEF_VIRT(TH3C) TATTFILL_DEF_VIRT(TH3C) TATTMARKER_DEF_VIRT(TH3C)+TOBJECT_DEF_VIRT(TH3C) DELETABLE_DEF_VIRT(TH3C) TARRAY_DEF_VIRT(TH3C)  TH3C_DEF_VIRT(TH3C)  TH3C_DEF_NONVIRT(TH3C)- 
csrc/HROOTHistTH3C.h view
@@ -1,29 +1,29 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH3C__ #define __HROOT_HIST__TH3C__  #include "HROOT-histType.h"- #include "HROOTHistTH3.h" #include "HROOTCoreTArrayC.h" #include "HROOTHistTH1.h" #include "HROOTCoreTAtt3D.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH3C_DECL_VIRT+#undef TH3C_DECL_VIRT  #define TH3C_DECL_VIRT(Type) \  -#undef TH3C_DECL_NONVIRT+#undef TH3C_DECL_NONVIRT  #define TH3C_DECL_NONVIRT(Type) \  @@ -39,10 +39,11 @@ TARRAYC_DECL_VIRT(TH3C); TH1_DECL_VIRT(TH3C); TATT3D_DECL_VIRT(TH3C);-TOBJECT_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); @@ -58,3 +59,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH3D.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH3.h" #include "HROOTCoreTArrayD.h" #include "TH3D.h" #include "HROOTHistTH3D.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -43,15 +20,15 @@ TARRAYD_DEF_VIRT(TH3D) TH1_DEF_VIRT(TH3D) TATT3D_DEF_VIRT(TH3D)-TOBJECT_DEF_VIRT(TH3D)+TNAMED_DEF_VIRT(TH3D) TATTLINE_DEF_VIRT(TH3D) TATTFILL_DEF_VIRT(TH3D) TATTMARKER_DEF_VIRT(TH3D)+TOBJECT_DEF_VIRT(TH3D) DELETABLE_DEF_VIRT(TH3D) TARRAY_DEF_VIRT(TH3D)  TH3D_DEF_VIRT(TH3D)  TH3D_DEF_NONVIRT(TH3D)- 
csrc/HROOTHistTH3D.h view
@@ -1,29 +1,29 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH3D__ #define __HROOT_HIST__TH3D__  #include "HROOT-histType.h"- #include "HROOTHistTH3.h" #include "HROOTCoreTArrayD.h" #include "HROOTHistTH1.h" #include "HROOTCoreTAtt3D.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH3D_DECL_VIRT+#undef TH3D_DECL_VIRT  #define TH3D_DECL_VIRT(Type) \  -#undef TH3D_DECL_NONVIRT+#undef TH3D_DECL_NONVIRT  #define TH3D_DECL_NONVIRT(Type) \  @@ -39,10 +39,11 @@ TARRAYD_DECL_VIRT(TH3D); TH1_DECL_VIRT(TH3D); TATT3D_DECL_VIRT(TH3D);-TOBJECT_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); @@ -58,3 +59,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH3F.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH3.h" #include "HROOTCoreTArrayF.h" #include "TH3F.h" #include "HROOTHistTH3F.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -43,15 +20,15 @@ TARRAYF_DEF_VIRT(TH3F) TH1_DEF_VIRT(TH3F) TATT3D_DEF_VIRT(TH3F)-TOBJECT_DEF_VIRT(TH3F)+TNAMED_DEF_VIRT(TH3F) TATTLINE_DEF_VIRT(TH3F) TATTFILL_DEF_VIRT(TH3F) TATTMARKER_DEF_VIRT(TH3F)+TOBJECT_DEF_VIRT(TH3F) DELETABLE_DEF_VIRT(TH3F) TARRAY_DEF_VIRT(TH3F)  TH3F_DEF_VIRT(TH3F)  TH3F_DEF_NONVIRT(TH3F)- 
csrc/HROOTHistTH3F.h view
@@ -1,29 +1,29 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH3F__ #define __HROOT_HIST__TH3F__  #include "HROOT-histType.h"- #include "HROOTHistTH3.h" #include "HROOTCoreTArrayF.h" #include "HROOTHistTH1.h" #include "HROOTCoreTAtt3D.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH3F_DECL_VIRT+#undef TH3F_DECL_VIRT  #define TH3F_DECL_VIRT(Type) \  -#undef TH3F_DECL_NONVIRT+#undef TH3F_DECL_NONVIRT  #define TH3F_DECL_NONVIRT(Type) \  @@ -39,10 +39,11 @@ TARRAYF_DECL_VIRT(TH3F); TH1_DECL_VIRT(TH3F); TATT3D_DECL_VIRT(TH3F);-TOBJECT_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); @@ -58,3 +59,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH3I.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH3.h" #include "HROOTCoreTArrayI.h" #include "TH3I.h" #include "HROOTHistTH3I.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -43,15 +20,15 @@ TARRAYI_DEF_VIRT(TH3I) TH1_DEF_VIRT(TH3I) TATT3D_DEF_VIRT(TH3I)-TOBJECT_DEF_VIRT(TH3I)+TNAMED_DEF_VIRT(TH3I) TATTLINE_DEF_VIRT(TH3I) TATTFILL_DEF_VIRT(TH3I) TATTMARKER_DEF_VIRT(TH3I)+TOBJECT_DEF_VIRT(TH3I) DELETABLE_DEF_VIRT(TH3I) TARRAY_DEF_VIRT(TH3I)  TH3I_DEF_VIRT(TH3I)  TH3I_DEF_NONVIRT(TH3I)- 
csrc/HROOTHistTH3I.h view
@@ -1,29 +1,29 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH3I__ #define __HROOT_HIST__TH3I__  #include "HROOT-histType.h"- #include "HROOTHistTH3.h" #include "HROOTCoreTArrayI.h" #include "HROOTHistTH1.h" #include "HROOTCoreTAtt3D.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH3I_DECL_VIRT+#undef TH3I_DECL_VIRT  #define TH3I_DECL_VIRT(Type) \  -#undef TH3I_DECL_NONVIRT+#undef TH3I_DECL_NONVIRT  #define TH3I_DECL_NONVIRT(Type) \  @@ -39,10 +39,11 @@ TARRAYI_DECL_VIRT(TH3I); TH1_DECL_VIRT(TH3I); TATT3D_DECL_VIRT(TH3I);-TOBJECT_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); @@ -58,3 +59,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTH3S.cpp view
@@ -1,34 +1,11 @@ #include <MacroPatternMatch.h>- #include "HROOTHistTH3.h" #include "HROOTCoreTArrayS.h" #include "TH3S.h" #include "HROOTHistTH3S.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -43,15 +20,15 @@ TARRAYS_DEF_VIRT(TH3S) TH1_DEF_VIRT(TH3S) TATT3D_DEF_VIRT(TH3S)-TOBJECT_DEF_VIRT(TH3S)+TNAMED_DEF_VIRT(TH3S) TATTLINE_DEF_VIRT(TH3S) TATTFILL_DEF_VIRT(TH3S) TATTMARKER_DEF_VIRT(TH3S)+TOBJECT_DEF_VIRT(TH3S) DELETABLE_DEF_VIRT(TH3S) TARRAY_DEF_VIRT(TH3S)  TH3S_DEF_VIRT(TH3S)  TH3S_DEF_NONVIRT(TH3S)- 
csrc/HROOTHistTH3S.h view
@@ -1,29 +1,29 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__TH3S__ #define __HROOT_HIST__TH3S__  #include "HROOT-histType.h"- #include "HROOTHistTH3.h" #include "HROOTCoreTArrayS.h" #include "HROOTHistTH1.h" #include "HROOTCoreTAtt3D.h"-#include "HROOTCoreTObject.h"+#include "HROOTCoreTNamed.h" #include "HROOTCoreTAttLine.h" #include "HROOTCoreTAttFill.h" #include "HROOTCoreTAttMarker.h"+#include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOTCoreTArray.h" #include "HROOT-coreType.h" -#undef TH3S_DECL_VIRT+#undef TH3S_DECL_VIRT  #define TH3S_DECL_VIRT(Type) \  -#undef TH3S_DECL_NONVIRT+#undef TH3S_DECL_NONVIRT  #define TH3S_DECL_NONVIRT(Type) \  @@ -39,10 +39,11 @@ TARRAYS_DECL_VIRT(TH3S); TH1_DECL_VIRT(TH3S); TATT3D_DECL_VIRT(TH3S);-TOBJECT_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); @@ -58,3 +59,4 @@ #ifdef __cplusplus } #endif+
csrc/HROOTHistTHStack.cpp view
@@ -1,33 +1,10 @@ #include <MacroPatternMatch.h>- #include "HROOTCoreTNamed.h" #include "THStack.h" #include "HROOTHistTHStack.h" -using namespace std;  -template<class ToType, class FromType>-const ToType* to_const(const FromType* x) {-  return reinterpret_cast<const ToType*>(x);-}--template<class ToType, class FromType>-ToType* to_nonconst(FromType* x) {-  return reinterpret_cast<ToType*>(x);-}--template<class ToType, class FromType>-const ToType& to_constref(const FromType& x) {-  return reinterpret_cast<const ToType&>(x);-}--template<class ToType, class FromType>-ToType& to_nonconstref(FromType& x) {-  return reinterpret_cast<ToType&>(x);-}-- #define CHECKPROTECT(x,y) IS_PAREN(IS_ ## x ## _ ## y ## _PROTECTED)  #define TYPECASTMETHOD(cname,mname,oname) \@@ -43,5 +20,4 @@ THSTACK_DEF_VIRT(THStack)  THSTACK_DEF_NONVIRT(THStack)- 
csrc/HROOTHistTHStack.h view
@@ -1,22 +1,21 @@ #ifdef __cplusplus extern "C" { -#endif +#endif  #ifndef __HROOT_HIST__THStack__ #define __HROOT_HIST__THStack__  #include "HROOT-histType.h"- #include "HROOTCoreTNamed.h" #include "HROOTCoreTObject.h" #include "HROOTCoreDeletable.h" #include "HROOT-coreType.h" -#undef THSTACK_DECL_VIRT+#undef THSTACK_DECL_VIRT  #define THSTACK_DECL_VIRT(Type) \  -#undef THSTACK_DECL_NONVIRT+#undef THSTACK_DECL_NONVIRT  #define THSTACK_DECL_NONVIRT(Type) \ Type ## _p Type ## _newTHStack ( const char* name, const char* title ) @@ -48,3 +47,4 @@ #ifdef __cplusplus } #endif+
src/HROOT/Hist.hs view
@@ -1,7 +1,8 @@ module HROOT.Hist (-module HROOT.Hist.TAxis+  module HROOT.Hist.TAxis , module HROOT.Hist.TF1-, module HROOT.Hist.TFormula+, module HROOT.Hist.TFitResult+, module HROOT.Hist.TFitResultPtr , module HROOT.Hist.TGraph , module HROOT.Hist.TGraphAsymmErrors , module HROOT.Hist.TGraphBentErrors@@ -26,12 +27,13 @@ , module HROOT.Hist.TH3F , module HROOT.Hist.TH3I , module HROOT.Hist.TH3S-, module HROOT.Hist.THStack +, module HROOT.Hist.THStack ) where  import HROOT.Hist.TAxis import HROOT.Hist.TF1-import HROOT.Hist.TFormula+import HROOT.Hist.TFitResult+import HROOT.Hist.TFitResultPtr import HROOT.Hist.TGraph import HROOT.Hist.TGraphAsymmErrors import HROOT.Hist.TGraphBentErrors
src/HROOT/Hist/TAxis.hs view
@@ -1,17 +1,7 @@ module HROOT.Hist.TAxis-  (-    TAxis(..)-  , ITAxis(..)-  , upcastTAxis-  , downcastTAxis-  , newTAxis-  , tAxisGetCenterLabels-  , tAxisGetCenterTitle- -  ) where-+       (TAxis(..), ITAxis(..), upcastTAxis, downcastTAxis, newTAxis,+        tAxisGetCenterLabels, tAxisGetCenterTitle)+       where import HROOT.Hist.TAxis.RawType import HROOT.Hist.TAxis.Interface import HROOT.Hist.TAxis.Implementation--
src/HROOT/Hist/TAxis/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TAxis.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TAxis.RawType import HROOT.Hist.TAxis.Interface  instance (ITAxis a, FPtr a) => Castable a (Ptr RawTAxis) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TAxis (Ptr RawTAxis) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,152 +1,144 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TAxis.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TAxis.RawType import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTAxis.h"--foreign import ccall "HROOTHistTAxis.h TAxis_SetName" c_taxis_setname -  :: (Ptr RawTAxis) -> CString -> IO ()--foreign import ccall "HROOTHistTAxis.h TAxis_SetNameTitle" c_taxis_setnametitle -  :: (Ptr RawTAxis) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetName"+               c_taxis_setname :: Ptr RawTAxis -> CString -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_SetTitle" c_taxis_settitle -  :: (Ptr RawTAxis) -> CString -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetNameTitle"+               c_taxis_setnametitle :: Ptr RawTAxis -> CString -> CString -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_GetNdivisions" c_taxis_getndivisions -  :: (Ptr RawTAxis) -> IO CInt+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTitle"+               c_taxis_settitle :: Ptr RawTAxis -> CString -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_GetAxisColor" c_taxis_getaxiscolor -  :: (Ptr RawTAxis) -> IO CInt+foreign import ccall safe "HROOTHistTAxis.h TAxis_GetNdivisions"+               c_taxis_getndivisions :: Ptr RawTAxis -> IO CInt -foreign import ccall "HROOTHistTAxis.h TAxis_GetLabelColor" c_taxis_getlabelcolor -  :: (Ptr RawTAxis) -> IO CInt+foreign import ccall safe "HROOTHistTAxis.h TAxis_GetAxisColor"+               c_taxis_getaxiscolor :: Ptr RawTAxis -> IO CInt -foreign import ccall "HROOTHistTAxis.h TAxis_GetLabelFont" c_taxis_getlabelfont -  :: (Ptr RawTAxis) -> IO CInt+foreign import ccall safe "HROOTHistTAxis.h TAxis_GetLabelColor"+               c_taxis_getlabelcolor :: Ptr RawTAxis -> IO CInt -foreign import ccall "HROOTHistTAxis.h TAxis_GetLabelOffset" c_taxis_getlabeloffset -  :: (Ptr RawTAxis) -> IO CDouble+foreign import ccall safe "HROOTHistTAxis.h TAxis_GetLabelFont"+               c_taxis_getlabelfont :: Ptr RawTAxis -> IO CInt -foreign import ccall "HROOTHistTAxis.h TAxis_GetLabelSize" c_taxis_getlabelsize -  :: (Ptr RawTAxis) -> IO CDouble+foreign import ccall safe "HROOTHistTAxis.h TAxis_GetLabelOffset"+               c_taxis_getlabeloffset :: Ptr RawTAxis -> IO CDouble -foreign import ccall "HROOTHistTAxis.h TAxis_GetTitleOffset" c_taxis_gettitleoffset -  :: (Ptr RawTAxis) -> IO CDouble+foreign import ccall safe "HROOTHistTAxis.h TAxis_GetLabelSize"+               c_taxis_getlabelsize :: Ptr RawTAxis -> IO CDouble -foreign import ccall "HROOTHistTAxis.h TAxis_GetTitleSize" c_taxis_gettitlesize -  :: (Ptr RawTAxis) -> IO CDouble+foreign import ccall safe "HROOTHistTAxis.h TAxis_GetTitleOffset"+               c_taxis_gettitleoffset :: Ptr RawTAxis -> IO CDouble -foreign import ccall "HROOTHistTAxis.h TAxis_GetTickLength" c_taxis_getticklength -  :: (Ptr RawTAxis) -> IO CDouble+foreign import ccall safe "HROOTHistTAxis.h TAxis_GetTitleSize"+               c_taxis_gettitlesize :: Ptr RawTAxis -> IO CDouble -foreign import ccall "HROOTHistTAxis.h TAxis_GetTitleFont" c_taxis_gettitlefont -  :: (Ptr RawTAxis) -> IO CInt+foreign import ccall safe "HROOTHistTAxis.h TAxis_GetTickLength"+               c_taxis_getticklength :: Ptr RawTAxis -> IO CDouble -foreign import ccall "HROOTHistTAxis.h TAxis_SetNdivisions" c_taxis_setndivisions -  :: (Ptr RawTAxis) -> CInt -> CInt -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_GetTitleFont"+               c_taxis_gettitlefont :: Ptr RawTAxis -> IO CInt -foreign import ccall "HROOTHistTAxis.h TAxis_SetAxisColor" c_taxis_setaxiscolor -  :: (Ptr RawTAxis) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetNdivisions"+               c_taxis_setndivisions :: Ptr RawTAxis -> CInt -> CInt -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_SetLabelColor" c_taxis_setlabelcolor -  :: (Ptr RawTAxis) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetAxisColor"+               c_taxis_setaxiscolor :: Ptr RawTAxis -> CInt -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_SetLabelFont" c_taxis_setlabelfont -  :: (Ptr RawTAxis) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetLabelColor"+               c_taxis_setlabelcolor :: Ptr RawTAxis -> CInt -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_SetLabelOffset" c_taxis_setlabeloffset -  :: (Ptr RawTAxis) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetLabelFont"+               c_taxis_setlabelfont :: Ptr RawTAxis -> CInt -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_SetLabelSize" c_taxis_setlabelsize -  :: (Ptr RawTAxis) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetLabelOffset"+               c_taxis_setlabeloffset :: Ptr RawTAxis -> CDouble -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_SetTickLength" c_taxis_setticklength -  :: (Ptr RawTAxis) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetLabelSize"+               c_taxis_setlabelsize :: Ptr RawTAxis -> CDouble -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_SetTitleOffset" c_taxis_settitleoffset -  :: (Ptr RawTAxis) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTickLength"+               c_taxis_setticklength :: Ptr RawTAxis -> CDouble -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_SetTitleSize" c_taxis_settitlesize -  :: (Ptr RawTAxis) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTitleOffset"+               c_taxis_settitleoffset :: Ptr RawTAxis -> CDouble -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_SetTitleColor" c_taxis_settitlecolor -  :: (Ptr RawTAxis) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTitleSize"+               c_taxis_settitlesize :: Ptr RawTAxis -> CDouble -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_SetTitleFont" c_taxis_settitlefont -  :: (Ptr RawTAxis) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTitleColor"+               c_taxis_settitlecolor :: Ptr RawTAxis -> CInt -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_Draw" c_taxis_draw -  :: (Ptr RawTAxis) -> CString -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTitleFont"+               c_taxis_settitlefont :: Ptr RawTAxis -> CInt -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_FindObject" c_taxis_findobject -  :: (Ptr RawTAxis) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTAxis.h TAxis_Draw"+               c_taxis_draw :: Ptr RawTAxis -> CString -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_GetName" c_taxis_getname -  :: (Ptr RawTAxis) -> IO CString+foreign import ccall safe "HROOTHistTAxis.h TAxis_FindObject"+               c_taxis_findobject ::+               Ptr RawTAxis -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTAxis.h TAxis_IsA" c_taxis_isa -  :: (Ptr RawTAxis) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTAxis.h TAxis_GetName"+               c_taxis_getname :: Ptr RawTAxis -> IO CString -foreign import ccall "HROOTHistTAxis.h TAxis_Paint" c_taxis_paint -  :: (Ptr RawTAxis) -> CString -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_IsA" c_taxis_isa+               :: Ptr RawTAxis -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTAxis.h TAxis_printObj" c_taxis_printobj -  :: (Ptr RawTAxis) -> CString -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_Paint"+               c_taxis_paint :: Ptr RawTAxis -> CString -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_SaveAs" c_taxis_saveas -  :: (Ptr RawTAxis) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_printObj"+               c_taxis_printobj :: Ptr RawTAxis -> CString -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_Write" c_taxis_write -  :: (Ptr RawTAxis) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTAxis.h TAxis_SaveAs"+               c_taxis_saveas :: Ptr RawTAxis -> CString -> CString -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_delete" c_taxis_delete -  :: (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_Write"+               c_taxis_write :: Ptr RawTAxis -> CString -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTAxis.h TAxis_newTAxis" c_taxis_newtaxis -  :: CInt -> CDouble -> CDouble -> IO (Ptr RawTAxis)+foreign import ccall safe "HROOTHistTAxis.h TAxis_delete"+               c_taxis_delete :: Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_findBinTAxis" c_taxis_findbintaxis -  :: (Ptr RawTAxis) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTAxis.h TAxis_newTAxis"+               c_taxis_newtaxis :: CInt -> CDouble -> CDouble -> IO (Ptr RawTAxis) -foreign import ccall "HROOTHistTAxis.h TAxis_findFixBinTAxis" c_taxis_findfixbintaxis -  :: (Ptr RawTAxis) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTAxis.h TAxis_findBinTAxis"+               c_taxis_findbintaxis :: Ptr RawTAxis -> CDouble -> IO CInt -foreign import ccall "HROOTHistTAxis.h TAxis_getBinCenterTAxis" c_taxis_getbincentertaxis -  :: (Ptr RawTAxis) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTAxis.h TAxis_findFixBinTAxis"+               c_taxis_findfixbintaxis :: Ptr RawTAxis -> CDouble -> IO CInt -foreign import ccall "HROOTHistTAxis.h TAxis_GetBinCenterLog" c_taxis_getbincenterlog -  :: (Ptr RawTAxis) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTAxis.h TAxis_getBinCenterTAxis"+               c_taxis_getbincentertaxis :: Ptr RawTAxis -> CInt -> IO CDouble -foreign import ccall "HROOTHistTAxis.h TAxis_GetBinUpEdge" c_taxis_getbinupedge -  :: (Ptr RawTAxis) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTAxis.h TAxis_GetBinCenterLog"+               c_taxis_getbincenterlog :: Ptr RawTAxis -> CInt -> IO CDouble -foreign import ccall "HROOTHistTAxis.h TAxis_tAxisGetCenterLabels" c_taxis_taxisgetcenterlabels -  :: (Ptr RawTAxis) -> IO CInt+foreign import ccall safe "HROOTHistTAxis.h TAxis_GetBinUpEdge"+               c_taxis_getbinupedge :: Ptr RawTAxis -> CInt -> IO CDouble -foreign import ccall "HROOTHistTAxis.h TAxis_tAxisGetCenterTitle" c_taxis_taxisgetcentertitle -  :: (Ptr RawTAxis) -> IO CInt+foreign import ccall safe+               "HROOTHistTAxis.h TAxis_tAxisGetCenterLabels"+               c_taxis_taxisgetcenterlabels :: Ptr RawTAxis -> IO CInt -foreign import ccall "HROOTHistTAxis.h TAxis_SetTimeDisplay" c_taxis_settimedisplay -  :: (Ptr RawTAxis) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTAxis.h TAxis_tAxisGetCenterTitle"+               c_taxis_taxisgetcentertitle :: Ptr RawTAxis -> IO CInt -foreign import ccall "HROOTHistTAxis.h TAxis_SetTimeFormat" c_taxis_settimeformat -  :: (Ptr RawTAxis) -> CString -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTimeDisplay"+               c_taxis_settimedisplay :: Ptr RawTAxis -> CInt -> IO () -foreign import ccall "HROOTHistTAxis.h TAxis_SetTimeOffset" c_taxis_settimeoffset -  :: (Ptr RawTAxis) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTimeFormat"+               c_taxis_settimeformat :: Ptr RawTAxis -> CString -> IO () +foreign import ccall safe "HROOTHistTAxis.h TAxis_SetTimeOffset"+               c_taxis_settimeoffset ::+               Ptr RawTAxis -> CDouble -> CString -> IO ()
src/HROOT/Hist/TAxis/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TAxis.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TAxis.RawType import HROOT.Hist.TAxis.FFI import HROOT.Hist.TAxis.Interface@@ -27,108 +28,56 @@ import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-- 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-  setTimeDisplay = xform1 c_taxis_settimedisplay-  setTimeFormat = xform1 c_taxis_settimeformat-  setTimeOffset = xform2 c_taxis_settimeoffset+        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+        setTimeDisplay = xform1 c_taxis_settimedisplay+        setTimeFormat = xform1 c_taxis_settimeformat+        setTimeOffset = xform2 c_taxis_settimeoffset+ instance ITNamed TAxis where-  setName = xform1 c_taxis_setname-  setNameTitle = xform2 c_taxis_setnametitle-  setTitle = xform1 c_taxis_settitle+        setName = xform1 c_taxis_setname+        setNameTitle = xform2 c_taxis_setnametitle+        setTitle = xform1 c_taxis_settitle+ instance ITAttAxis TAxis where-  getNdivisions = xform0 c_taxis_getndivisions-  getAxisColor = xform0 c_taxis_getaxiscolor-  getLabelColor = xform0 c_taxis_getlabelcolor-  getLabelFont = xform0 c_taxis_getlabelfont-  getLabelOffset = xform0 c_taxis_getlabeloffset-  getLabelSize = xform0 c_taxis_getlabelsize-  getTitleOffset = xform0 c_taxis_gettitleoffset-  getTitleSize = xform0 c_taxis_gettitlesize-  getTickLength = xform0 c_taxis_getticklength-  getTitleFont = xform0 c_taxis_gettitlefont-  setNdivisions = xform2 c_taxis_setndivisions-  setAxisColor = xform1 c_taxis_setaxiscolor-  setLabelColor = xform1 c_taxis_setlabelcolor-  setLabelFont = xform1 c_taxis_setlabelfont-  setLabelOffset = xform1 c_taxis_setlabeloffset-  setLabelSize = xform1 c_taxis_setlabelsize-  setTickLength = xform1 c_taxis_setticklength-  setTitleOffset = xform1 c_taxis_settitleoffset-  setTitleSize = xform1 c_taxis_settitlesize-  setTitleColor = xform1 c_taxis_settitlecolor-  setTitleFont = xform1 c_taxis_settitlefont-instance ITObject TAxis where-  draw = xform1 c_taxis_draw-  findObject = xform1 c_taxis_findobject-  getName = xform0 c_taxis_getname-  isA = xform0 c_taxis_isa-  paint = xform1 c_taxis_paint-  printObj = xform1 c_taxis_printobj-  saveAs = xform2 c_taxis_saveas-  write = xform3 c_taxis_write-instance IDeletable TAxis where-  delete = xform0 c_taxis_delete+        getNdivisions = xform0 c_taxis_getndivisions+        getAxisColor = xform0 c_taxis_getaxiscolor+        getLabelColor = xform0 c_taxis_getlabelcolor+        getLabelFont = xform0 c_taxis_getlabelfont+        getLabelOffset = xform0 c_taxis_getlabeloffset+        getLabelSize = xform0 c_taxis_getlabelsize+        getTitleOffset = xform0 c_taxis_gettitleoffset+        getTitleSize = xform0 c_taxis_gettitlesize+        getTickLength = xform0 c_taxis_getticklength+        getTitleFont = xform0 c_taxis_gettitlefont+        setNdivisions = xform2 c_taxis_setndivisions+        setAxisColor = xform1 c_taxis_setaxiscolor+        setLabelColor = xform1 c_taxis_setlabelcolor+        setLabelFont = xform1 c_taxis_setlabelfont+        setLabelOffset = xform1 c_taxis_setlabeloffset+        setLabelSize = xform1 c_taxis_setlabelsize+        setTickLength = xform1 c_taxis_setticklength+        setTitleOffset = xform1 c_taxis_settitleoffset+        setTitleSize = xform1 c_taxis_settitlesize+        setTitleColor = xform1 c_taxis_settitlecolor+        setTitleFont = xform1 c_taxis_settitlefont -instance ITAxis (Exist TAxis) where-  findBinTAxis (ETAxis x) = findBinTAxis x-  findFixBinTAxis (ETAxis x) = findFixBinTAxis x-  getBinCenterTAxis (ETAxis x) = getBinCenterTAxis x-  getBinCenterLog (ETAxis x) = getBinCenterLog x-  getBinUpEdge (ETAxis x) = getBinUpEdge x-  setTimeDisplay (ETAxis x) = setTimeDisplay x-  setTimeFormat (ETAxis x) = setTimeFormat x-  setTimeOffset (ETAxis x) = setTimeOffset x-instance ITNamed (Exist TAxis) where-  setName (ETAxis x) = setName x-  setNameTitle (ETAxis x) = setNameTitle x-  setTitle (ETAxis x) = setTitle x-instance ITAttAxis (Exist TAxis) where-  getNdivisions (ETAxis x) = getNdivisions x-  getAxisColor (ETAxis x) = getAxisColor x-  getLabelColor (ETAxis x) = getLabelColor x-  getLabelFont (ETAxis x) = getLabelFont x-  getLabelOffset (ETAxis x) = getLabelOffset x-  getLabelSize (ETAxis x) = getLabelSize x-  getTitleOffset (ETAxis x) = getTitleOffset x-  getTitleSize (ETAxis x) = getTitleSize x-  getTickLength (ETAxis x) = getTickLength x-  getTitleFont (ETAxis x) = getTitleFont x-  setNdivisions (ETAxis x) = setNdivisions x-  setAxisColor (ETAxis x) = setAxisColor x-  setLabelColor (ETAxis x) = setLabelColor x-  setLabelFont (ETAxis x) = setLabelFont x-  setLabelOffset (ETAxis x) = setLabelOffset x-  setLabelSize (ETAxis x) = setLabelSize x-  setTickLength (ETAxis x) = setTickLength x-  setTitleOffset (ETAxis x) = setTitleOffset x-  setTitleSize (ETAxis x) = setTitleSize x-  setTitleColor (ETAxis x) = setTitleColor x-  setTitleFont (ETAxis x) = setTitleFont x-instance ITObject (Exist TAxis) where-  draw (ETAxis x) = draw x-  findObject (ETAxis x) = findObject x-  getName (ETAxis x) = getName x-  isA (ETAxis x) = isA x-  paint (ETAxis x) = paint x-  printObj (ETAxis x) = printObj x-  saveAs (ETAxis x) = saveAs x-  write (ETAxis x) = write x-instance IDeletable (Exist TAxis) where-  delete (ETAxis x) = delete x+instance ITObject TAxis where+        draw = xform1 c_taxis_draw+        findObject = xform1 c_taxis_findobject+        getName = xform0 c_taxis_getname+        isA = xform0 c_taxis_isa+        paint = xform1 c_taxis_paint+        printObj = xform1 c_taxis_printobj+        saveAs = xform2 c_taxis_saveas+        write = xform3 c_taxis_write +instance IDeletable TAxis where+        delete = xform0 c_taxis_delete  newTAxis :: CInt -> CDouble -> CDouble -> IO TAxis newTAxis = xform2 c_taxis_newtaxis@@ -138,10 +87,3 @@  tAxisGetCenterTitle :: TAxis -> IO CInt tAxisGetCenterTitle = xform0 c_taxis_taxisgetcentertitle----instance FPtr (Exist TAxis) where-  type Raw (Exist TAxis) = RawTAxis-  get_fptr (ETAxis obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETAxis (cast_fptr_to_obj (fptr :: ForeignPtr RawTAxis) :: TAxis)
src/HROOT/Hist/TAxis/Interface.hs view
@@ -1,53 +1,41 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TAxis.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TAxis.RawType- import HROOT.Core.TNamed.Interface import HROOT.Core.TAttAxis.Interface----- ============ ---- ---class (ITNamed a,ITAttAxis a) => ITAxis a where--    findBinTAxis :: a -> CDouble -> IO CInt --    findFixBinTAxis :: a -> CDouble -> IO CInt --    getBinCenterTAxis :: a -> CInt -> IO CDouble --    getBinCenterLog :: a -> CInt -> IO CDouble --    getBinUpEdge :: a -> CInt -> IO CDouble --    setTimeDisplay :: a -> CInt -> IO () --    setTimeFormat :: a -> CString -> IO () --    setTimeOffset :: a -> CDouble -> CString -> IO () --instance Existable TAxis where-  data Exist TAxis = forall a. (FPtr a, ITAxis a) => ETAxis a+class (ITNamed a, ITAttAxis a) => ITAxis a where+        findBinTAxis :: a -> CDouble -> IO CInt+        +        findFixBinTAxis :: a -> CDouble -> IO CInt+        +        getBinCenterTAxis :: a -> CInt -> IO CDouble+        +        getBinCenterLog :: a -> CInt -> IO CDouble+        +        getBinUpEdge :: a -> CInt -> IO CDouble+        +        setTimeDisplay :: a -> CInt -> IO ()+        +        setTimeFormat :: Castable c0 CString => a -> c0 -> IO ()+        +        setTimeOffset :: Castable c0 CString => a -> CDouble -> c0 -> IO () -upcastTAxis :: (FPtr a, ITAxis a) => a -> TAxis-upcastTAxis h = let fh = get_fptr h-                    fh2 :: ForeignPtr RawTAxis = castForeignPtr fh-                in cast_fptr_to_obj fh2+upcastTAxis :: forall a . (FPtr a, ITAxis a) => a -> TAxis+upcastTAxis h+  = let fh = get_fptr h+        fh2 :: Ptr RawTAxis = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTAxis :: (FPtr a, ITAxis a) => TAxis -> a -downcastTAxis h = let fh = get_fptr h-                      fh2 = castForeignPtr fh-                  in cast_fptr_to_obj fh2+downcastTAxis :: forall a . (FPtr a, ITAxis a) => TAxis -> a+downcastTAxis h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TAxis/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TAxis.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTAxis -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TAxis = TAxis (Ptr RawTAxis)+              deriving (Eq, Ord, Show) -data RawTAxis-newtype TAxis = TAxis (ForeignPtr RawTAxis) deriving (Eq, Ord, Show) instance FPtr TAxis where-   type Raw TAxis = RawTAxis-   get_fptr (TAxis fptr) = fptr-   cast_fptr_to_obj = TAxis+        type Raw TAxis = RawTAxis+        get_fptr (TAxis ptr) = ptr+        cast_fptr_to_obj = TAxis
src/HROOT/Hist/TF1.hs view
@@ -1,28 +1,11 @@ module HROOT.Hist.TF1-  (-    TF1(..)-  , ITF1(..)-  , upcastTF1-  , downcastTF1-  , newTF1-  , tF1GetChisquare-  , tF1GetHistogram-  , tF1GetParent-  , tF1GetXaxis-  , tF1GetYaxis-  , tF1GetZaxis-  , tF1DerivativeError-  , tF1InitStandardFunctions-  , tF1GetCurrent-  , tF1AbsValue-  , tF1RejectPoint-  , tF1RejectedPoint-  , tF1SetCurrent-  , tF1CalcGaussLegendreSamplingPoints -  ) where-+       (TF1(..), ITF1(..), upcastTF1, downcastTF1, newTF1,+        tF1GetChisquare, tF1GetHistogram, tF1GetParent, tF1GetXaxis,+        tF1GetYaxis, tF1GetZaxis, tF1DerivativeError,+        tF1InitStandardFunctions, tF1GetCurrent, tF1AbsValue,+        tF1RejectPoint, tF1RejectedPoint, tF1SetCurrent,+        tF1CalcGaussLegendreSamplingPoints)+       where import HROOT.Hist.TF1.RawType import HROOT.Hist.TF1.Interface import HROOT.Hist.TF1.Implementation--
src/HROOT/Hist/TF1/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TF1.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TF1.RawType import HROOT.Hist.TF1.Interface  instance (ITF1 a, FPtr a) => Castable a (Ptr RawTF1) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TF1 (Ptr RawTF1) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,358 +1,298 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TF1.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TF1.RawType import HROOT.Core.TObject.RawType-import HROOT.Core.TClass.RawType import HROOT.Hist.TH1.RawType import HROOT.Hist.TAxis.RawType -#include "HROOTHistTF1.h"--foreign import ccall "HROOTHistTF1.h TF1_Compile" c_tf1_compile -  :: (Ptr RawTF1) -> CString -> IO CInt--foreign import ccall "HROOTHistTF1.h TF1_Clear" c_tf1_clear -  :: (Ptr RawTF1) -> CString -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_DefinedValue" c_tf1_definedvalue -  :: (Ptr RawTF1) -> CInt -> IO CDouble--foreign import ccall "HROOTHistTF1.h TF1_Eval" c_tf1_eval -  :: (Ptr RawTF1) -> CDouble -> CDouble -> CDouble -> CDouble -> IO CDouble--foreign import ccall "HROOTHistTF1.h TF1_EvalParOld" c_tf1_evalparold -  :: (Ptr RawTF1) -> (Ptr CDouble) -> (Ptr CDouble) -> IO CDouble--foreign import ccall "HROOTHistTF1.h TF1_EvalPar" c_tf1_evalpar -  :: (Ptr RawTF1) -> (Ptr CDouble) -> (Ptr CDouble) -> IO CDouble--foreign import ccall "HROOTHistTF1.h TF1_GetNdim" c_tf1_getndim -  :: (Ptr RawTF1) -> IO CInt--foreign import ccall "HROOTHistTF1.h TF1_GetNpar" c_tf1_getnpar -  :: (Ptr RawTF1) -> IO CInt--foreign import ccall "HROOTHistTF1.h TF1_GetNumber" c_tf1_getnumber -  :: (Ptr RawTF1) -> IO CInt--foreign import ccall "HROOTHistTF1.h TF1_GetParNumber" c_tf1_getparnumber -  :: (Ptr RawTF1) -> CString -> IO CInt--foreign import ccall "HROOTHistTF1.h TF1_IsLinear" c_tf1_islinear -  :: (Ptr RawTF1) -> IO CInt--foreign import ccall "HROOTHistTF1.h TF1_IsNormalized" c_tf1_isnormalized -  :: (Ptr RawTF1) -> IO CInt--foreign import ccall "HROOTHistTF1.h TF1_SetNumber" c_tf1_setnumber -  :: (Ptr RawTF1) -> CInt -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_SetParameter" c_tf1_setparameter -  :: (Ptr RawTF1) -> CString -> CDouble -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_SetParameters" c_tf1_setparameters -  :: (Ptr RawTF1) -> (Ptr CDouble) -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_SetParName" c_tf1_setparname -  :: (Ptr RawTF1) -> CInt -> CString -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_SetParNames" c_tf1_setparnames -  :: (Ptr RawTF1) -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_Update" c_tf1_update -  :: (Ptr RawTF1) -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_GetLineColor" c_tf1_getlinecolor -  :: (Ptr RawTF1) -> IO CInt--foreign import ccall "HROOTHistTF1.h TF1_GetLineStyle" c_tf1_getlinestyle -  :: (Ptr RawTF1) -> IO CInt--foreign import ccall "HROOTHistTF1.h TF1_GetLineWidth" c_tf1_getlinewidth -  :: (Ptr RawTF1) -> IO CInt--foreign import ccall "HROOTHistTF1.h TF1_ResetAttLine" c_tf1_resetattline -  :: (Ptr RawTF1) -> CString -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_SetLineAttributes" c_tf1_setlineattributes -  :: (Ptr RawTF1) -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_SetLineColor" c_tf1_setlinecolor -  :: (Ptr RawTF1) -> CInt -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_SetLineStyle" c_tf1_setlinestyle -  :: (Ptr RawTF1) -> CInt -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_SetLineWidth" c_tf1_setlinewidth -  :: (Ptr RawTF1) -> CInt -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_SetFillColor" c_tf1_setfillcolor -  :: (Ptr RawTF1) -> CInt -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_SetFillStyle" c_tf1_setfillstyle -  :: (Ptr RawTF1) -> CInt -> IO ()--foreign import ccall "HROOTHistTF1.h TF1_GetMarkerColor" c_tf1_getmarkercolor -  :: (Ptr RawTF1) -> IO CInt--foreign import ccall "HROOTHistTF1.h TF1_GetMarkerStyle" c_tf1_getmarkerstyle -  :: (Ptr RawTF1) -> IO CInt--foreign import ccall "HROOTHistTF1.h TF1_GetMarkerSize" c_tf1_getmarkersize -  :: (Ptr RawTF1) -> IO CDouble--foreign import ccall "HROOTHistTF1.h TF1_ResetAttMarker" c_tf1_resetattmarker -  :: (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_GetLineColor"+               c_tf1_getlinecolor :: Ptr RawTF1 -> IO CInt -foreign import ccall "HROOTHistTF1.h TF1_SetMarkerAttributes" c_tf1_setmarkerattributes -  :: (Ptr RawTF1) -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_GetLineStyle"+               c_tf1_getlinestyle :: Ptr RawTF1 -> IO CInt -foreign import ccall "HROOTHistTF1.h TF1_SetMarkerColor" c_tf1_setmarkercolor -  :: (Ptr RawTF1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_GetLineWidth"+               c_tf1_getlinewidth :: Ptr RawTF1 -> IO CInt -foreign import ccall "HROOTHistTF1.h TF1_SetMarkerStyle" c_tf1_setmarkerstyle -  :: (Ptr RawTF1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_ResetAttLine"+               c_tf1_resetattline :: Ptr RawTF1 -> CString -> IO () -foreign import ccall "HROOTHistTF1.h TF1_SetMarkerSize" c_tf1_setmarkersize -  :: (Ptr RawTF1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetLineAttributes"+               c_tf1_setlineattributes :: Ptr RawTF1 -> IO () -foreign import ccall "HROOTHistTF1.h TF1_SetName" c_tf1_setname -  :: (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetLineColor"+               c_tf1_setlinecolor :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_SetNameTitle" c_tf1_setnametitle -  :: (Ptr RawTF1) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetLineStyle"+               c_tf1_setlinestyle :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_SetTitle" c_tf1_settitle -  :: (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetLineWidth"+               c_tf1_setlinewidth :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_Draw" c_tf1_draw -  :: (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetFillColor"+               c_tf1_setfillcolor :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_FindObject" c_tf1_findobject -  :: (Ptr RawTF1) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTF1.h TF1_SetFillStyle"+               c_tf1_setfillstyle :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_GetName" c_tf1_getname -  :: (Ptr RawTF1) -> IO CString+foreign import ccall safe "HROOTHistTF1.h TF1_GetMarkerColor"+               c_tf1_getmarkercolor :: Ptr RawTF1 -> IO CInt -foreign import ccall "HROOTHistTF1.h TF1_IsA" c_tf1_isa -  :: (Ptr RawTF1) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTF1.h TF1_GetMarkerStyle"+               c_tf1_getmarkerstyle :: Ptr RawTF1 -> IO CInt -foreign import ccall "HROOTHistTF1.h TF1_Paint" c_tf1_paint -  :: (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_GetMarkerSize"+               c_tf1_getmarkersize :: Ptr RawTF1 -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_printObj" c_tf1_printobj -  :: (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_ResetAttMarker"+               c_tf1_resetattmarker :: Ptr RawTF1 -> CString -> IO () -foreign import ccall "HROOTHistTF1.h TF1_SaveAs" c_tf1_saveas -  :: (Ptr RawTF1) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetMarkerAttributes"+               c_tf1_setmarkerattributes :: Ptr RawTF1 -> IO () -foreign import ccall "HROOTHistTF1.h TF1_Write" c_tf1_write -  :: (Ptr RawTF1) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTF1.h TF1_SetMarkerColor"+               c_tf1_setmarkercolor :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_delete" c_tf1_delete -  :: (Ptr RawTF1) -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetMarkerStyle"+               c_tf1_setmarkerstyle :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_newTF1" c_tf1_newtf1 -  :: CString -> CString -> CDouble -> CDouble -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTF1.h TF1_SetMarkerSize"+               c_tf1_setmarkersize :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_Derivative" c_tf1_derivative -  :: (Ptr RawTF1) -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_delete" c_tf1_delete+               :: Ptr RawTF1 -> IO () -foreign import ccall "HROOTHistTF1.h TF1_Derivative2" c_tf1_derivative2 -  :: (Ptr RawTF1) -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_newTF1" c_tf1_newtf1+               :: CString -> CString -> CDouble -> CDouble -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTF1.h TF1_Derivative3" c_tf1_derivative3 -  :: (Ptr RawTF1) -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_Derivative"+               c_tf1_derivative ::+               Ptr RawTF1 -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_tF1DerivativeError" c_tf1_tf1derivativeerror -  :: IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_Derivative2"+               c_tf1_derivative2 ::+               Ptr RawTF1 -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_drawCopyTF1" c_tf1_drawcopytf1 -  :: (Ptr RawTF1) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTF1.h TF1_Derivative3"+               c_tf1_derivative3 ::+               Ptr RawTF1 -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_DrawDerivative" c_tf1_drawderivative -  :: (Ptr RawTF1) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTF1.h TF1_tF1DerivativeError"+               c_tf1_tf1derivativeerror :: IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_DrawIntegral" c_tf1_drawintegral -  :: (Ptr RawTF1) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTF1.h TF1_drawCopyTF1"+               c_tf1_drawcopytf1 :: Ptr RawTF1 -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTF1.h TF1_DrawF1" c_tf1_drawf1 -  :: (Ptr RawTF1) -> CString -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_DrawDerivative"+               c_tf1_drawderivative ::+               Ptr RawTF1 -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTF1.h TF1_FixParameter" c_tf1_fixparameter -  :: (Ptr RawTF1) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_DrawIntegral"+               c_tf1_drawintegral :: Ptr RawTF1 -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTF1.h TF1_tF1GetChisquare" c_tf1_tf1getchisquare -  :: (Ptr RawTF1) -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_FixParameter"+               c_tf1_fixparameter :: Ptr RawTF1 -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTF1.h TF1_tF1GetHistogram" c_tf1_tf1gethistogram -  :: (Ptr RawTF1) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetChisquare"+               c_tf1_tf1getchisquare :: Ptr RawTF1 -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_getMaximumTF1" c_tf1_getmaximumtf1 -  :: (Ptr RawTF1) -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetHistogram"+               c_tf1_tf1gethistogram :: Ptr RawTF1 -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTF1.h TF1_getMinimumTF1" c_tf1_getminimumtf1 -  :: (Ptr RawTF1) -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_getMaximumTF1"+               c_tf1_getmaximumtf1 ::+               Ptr RawTF1 ->+                 CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_GetMaximumX" c_tf1_getmaximumx -  :: (Ptr RawTF1) -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_getMinimumTF1"+               c_tf1_getminimumtf1 ::+               Ptr RawTF1 ->+                 CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_GetMinimumX" c_tf1_getminimumx -  :: (Ptr RawTF1) -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_GetMaximumX"+               c_tf1_getmaximumx ::+               Ptr RawTF1 ->+                 CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_GetNDF" c_tf1_getndf -  :: (Ptr RawTF1) -> IO CInt+foreign import ccall safe "HROOTHistTF1.h TF1_GetMinimumX"+               c_tf1_getminimumx ::+               Ptr RawTF1 ->+                 CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_GetNpx" c_tf1_getnpx -  :: (Ptr RawTF1) -> IO CInt+foreign import ccall safe "HROOTHistTF1.h TF1_GetNDF" c_tf1_getndf+               :: Ptr RawTF1 -> IO CInt -foreign import ccall "HROOTHistTF1.h TF1_GetNumberFreeParameters" c_tf1_getnumberfreeparameters -  :: (Ptr RawTF1) -> IO CInt+foreign import ccall safe "HROOTHistTF1.h TF1_GetNpx" c_tf1_getnpx+               :: Ptr RawTF1 -> IO CInt -foreign import ccall "HROOTHistTF1.h TF1_GetNumberFitPoints" c_tf1_getnumberfitpoints -  :: (Ptr RawTF1) -> IO CInt+foreign import ccall safe+               "HROOTHistTF1.h TF1_GetNumberFreeParameters"+               c_tf1_getnumberfreeparameters :: Ptr RawTF1 -> IO CInt -foreign import ccall "HROOTHistTF1.h TF1_tF1GetParent" c_tf1_tf1getparent -  :: (Ptr RawTF1) -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTF1.h TF1_GetNumberFitPoints"+               c_tf1_getnumberfitpoints :: Ptr RawTF1 -> IO CInt -foreign import ccall "HROOTHistTF1.h TF1_GetParError" c_tf1_getparerror -  :: (Ptr RawTF1) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetParent"+               c_tf1_tf1getparent :: Ptr RawTF1 -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTF1.h TF1_GetProb" c_tf1_getprob -  :: (Ptr RawTF1) -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_GetParError"+               c_tf1_getparerror :: Ptr RawTF1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_getQuantilesTF1" c_tf1_getquantilestf1 -  :: (Ptr RawTF1) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTF1.h TF1_GetProb"+               c_tf1_getprob :: Ptr RawTF1 -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_getRandomTF1" c_tf1_getrandomtf1 -  :: (Ptr RawTF1) -> CDouble -> CDouble -> 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 "HROOTHistTF1.h TF1_GetSave" c_tf1_getsave -  :: (Ptr RawTF1) -> (Ptr CDouble) -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_getRandomTF1"+               c_tf1_getrandomtf1 ::+               Ptr RawTF1 -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_GetX" c_tf1_getx -  :: (Ptr RawTF1) -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_GetSave"+               c_tf1_getsave :: Ptr RawTF1 -> (Ptr CDouble) -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_GetXmin" c_tf1_getxmin -  :: (Ptr RawTF1) -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_GetX" c_tf1_getx ::+               Ptr RawTF1 ->+                 CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_GetXmax" c_tf1_getxmax -  :: (Ptr RawTF1) -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_GetXmin"+               c_tf1_getxmin :: Ptr RawTF1 -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_tF1GetXaxis" c_tf1_tf1getxaxis -  :: (Ptr RawTF1) -> IO (Ptr RawTAxis)+foreign import ccall safe "HROOTHistTF1.h TF1_GetXmax"+               c_tf1_getxmax :: Ptr RawTF1 -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_tF1GetYaxis" c_tf1_tf1getyaxis -  :: (Ptr RawTF1) -> IO (Ptr RawTAxis)+foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetXaxis"+               c_tf1_tf1getxaxis :: Ptr RawTF1 -> IO (Ptr RawTAxis) -foreign import ccall "HROOTHistTF1.h TF1_tF1GetZaxis" c_tf1_tf1getzaxis -  :: (Ptr RawTF1) -> IO (Ptr RawTAxis)+foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetYaxis"+               c_tf1_tf1getyaxis :: Ptr RawTF1 -> IO (Ptr RawTAxis) -foreign import ccall "HROOTHistTF1.h TF1_GradientPar" c_tf1_gradientpar -  :: (Ptr RawTF1) -> CInt -> (Ptr CDouble) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetZaxis"+               c_tf1_tf1getzaxis :: Ptr RawTF1 -> IO (Ptr RawTAxis) -foreign import ccall "HROOTHistTF1.h TF1_InitArgs" c_tf1_initargs -  :: (Ptr RawTF1) -> (Ptr CDouble) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_GradientPar"+               c_tf1_gradientpar ::+               Ptr RawTF1 -> CInt -> (Ptr CDouble) -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_tF1InitStandardFunctions" c_tf1_tf1initstandardfunctions -  :: IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_InitArgs"+               c_tf1_initargs ::+               Ptr RawTF1 -> (Ptr CDouble) -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTF1.h TF1_IntegralTF1" c_tf1_integraltf1 -  :: (Ptr RawTF1) -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+foreign import ccall safe+               "HROOTHistTF1.h TF1_tF1InitStandardFunctions"+               c_tf1_tf1initstandardfunctions :: IO () -foreign import ccall "HROOTHistTF1.h TF1_IntegralError" c_tf1_integralerror -  :: (Ptr RawTF1) -> CDouble -> CDouble -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_IntegralTF1"+               c_tf1_integraltf1 ::+               Ptr RawTF1 -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_IntegralFast" c_tf1_integralfast -  :: (Ptr RawTF1) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_IntegralError"+               c_tf1_integralerror ::+               Ptr RawTF1 ->+                 CDouble ->+                   CDouble -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_IsInside" c_tf1_isinside -  :: (Ptr RawTF1) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTF1.h TF1_IntegralFast"+               c_tf1_integralfast ::+               Ptr RawTF1 ->+                 CInt ->+                   (Ptr CDouble) ->+                     (Ptr CDouble) ->+                       CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_ReleaseParameter" c_tf1_releaseparameter -  :: (Ptr RawTF1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_IsInside"+               c_tf1_isinside :: Ptr RawTF1 -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTF1.h TF1_SetChisquare" c_tf1_setchisquare -  :: (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_ReleaseParameter"+               c_tf1_releaseparameter :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_setMaximumTF1" c_tf1_setmaximumtf1 -  :: (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetChisquare"+               c_tf1_setchisquare :: Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTF1.h TF1_setMinimumTF1" c_tf1_setminimumtf1 -  :: (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_setMaximumTF1"+               c_tf1_setmaximumtf1 :: Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTF1.h TF1_SetNDF" c_tf1_setndf -  :: (Ptr RawTF1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_setMinimumTF1"+               c_tf1_setminimumtf1 :: Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTF1.h TF1_SetNumberFitPoints" c_tf1_setnumberfitpoints -  :: (Ptr RawTF1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetNDF" c_tf1_setndf+               :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_SetNpx" c_tf1_setnpx -  :: (Ptr RawTF1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetNumberFitPoints"+               c_tf1_setnumberfitpoints :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_SetParError" c_tf1_setparerror -  :: (Ptr RawTF1) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetNpx" c_tf1_setnpx+               :: Ptr RawTF1 -> CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_SetParErrors" c_tf1_setparerrors -  :: (Ptr RawTF1) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetParError"+               c_tf1_setparerror :: Ptr RawTF1 -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTF1.h TF1_SetParLimits" c_tf1_setparlimits -  :: (Ptr RawTF1) -> CInt -> CDouble -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetParErrors"+               c_tf1_setparerrors :: Ptr RawTF1 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTF1.h TF1_SetParent" c_tf1_setparent -  :: (Ptr RawTF1) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetParLimits"+               c_tf1_setparlimits ::+               Ptr RawTF1 -> CInt -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTF1.h TF1_setRange1" c_tf1_setrange1 -  :: (Ptr RawTF1) -> CDouble -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_SetParent"+               c_tf1_setparent :: Ptr RawTF1 -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTF1.h TF1_setRange2" c_tf1_setrange2 -  :: (Ptr RawTF1) -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_setRange1"+               c_tf1_setrange1 :: Ptr RawTF1 -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTF1.h TF1_setRange3" c_tf1_setrange3 -  :: (Ptr RawTF1) -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_setRange2"+               c_tf1_setrange2 ::+               Ptr RawTF1 -> CDouble -> CDouble -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTF1.h TF1_SetSavedPoint" c_tf1_setsavedpoint -  :: (Ptr RawTF1) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_setRange3"+               c_tf1_setrange3 ::+               Ptr RawTF1 ->+                 CDouble ->+                   CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTF1.h TF1_tF1GetCurrent" c_tf1_tf1getcurrent -  :: IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTF1.h TF1_SetSavedPoint"+               c_tf1_setsavedpoint :: Ptr RawTF1 -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTF1.h TF1_tF1AbsValue" c_tf1_tf1absvalue -  :: CInt -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_tF1GetCurrent"+               c_tf1_tf1getcurrent :: IO (Ptr RawTF1) -foreign import ccall "HROOTHistTF1.h TF1_tF1RejectPoint" c_tf1_tf1rejectpoint -  :: CInt -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_tF1AbsValue"+               c_tf1_tf1absvalue :: CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_tF1RejectedPoint" c_tf1_tf1rejectedpoint -  :: IO CInt+foreign import ccall safe "HROOTHistTF1.h TF1_tF1RejectPoint"+               c_tf1_tf1rejectpoint :: CInt -> IO () -foreign import ccall "HROOTHistTF1.h TF1_tF1SetCurrent" c_tf1_tf1setcurrent -  :: (Ptr RawTF1) -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_tF1RejectedPoint"+               c_tf1_tf1rejectedpoint :: IO CInt -foreign import ccall "HROOTHistTF1.h TF1_Moment" c_tf1_moment -  :: (Ptr RawTF1) -> CDouble -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_tF1SetCurrent"+               c_tf1_tf1setcurrent :: Ptr RawTF1 -> IO () -foreign import ccall "HROOTHistTF1.h TF1_CentralMoment" c_tf1_centralmoment -  :: (Ptr RawTF1) -> CDouble -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_Moment" c_tf1_moment+               ::+               Ptr RawTF1 ->+                 CDouble ->+                   CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_Mean" c_tf1_mean -  :: (Ptr RawTF1) -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_CentralMoment"+               c_tf1_centralmoment ::+               Ptr RawTF1 ->+                 CDouble ->+                   CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_Variance" c_tf1_variance -  :: (Ptr RawTF1) -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTF1.h TF1_Mean" c_tf1_mean ::+               Ptr RawTF1 ->+                 CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTF1.h TF1_tF1CalcGaussLegendreSamplingPoints" c_tf1_tf1calcgausslegendresamplingpoints -  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTF1.h TF1_Variance"+               c_tf1_variance ::+               Ptr RawTF1 ->+                 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 ()
src/HROOT/Hist/TF1/Implementation.hs view
@@ -1,28 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TF1.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TF1.RawType import HROOT.Hist.TF1.FFI import HROOT.Hist.TF1.Interface import HROOT.Hist.TF1.Cast-import HROOT.Core.TClass.RawType-import HROOT.Core.TClass.Cast-import HROOT.Core.TClass.Interface+import HROOT.Core.TObject.RawType+import HROOT.Core.TObject.Cast+import HROOT.Core.TObject.Interface import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.Cast import HROOT.Hist.TH1.Interface import HROOT.Hist.TAxis.RawType import HROOT.Hist.TAxis.Cast import HROOT.Hist.TAxis.Interface-import HROOT.Hist.TFormula.RawType-import HROOT.Hist.TFormula.Cast-import HROOT.Hist.TFormula.Interface import HROOT.Core.TAttLine.RawType import HROOT.Core.TAttLine.Cast import HROOT.Core.TAttLine.Interface@@ -32,238 +30,90 @@ import HROOT.Core.TAttMarker.RawType import HROOT.Core.TAttMarker.Cast import HROOT.Core.TAttMarker.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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-- instance ITF1 TF1 where-  derivative = xform3 c_tf1_derivative-  derivative2 = xform3 c_tf1_derivative2-  derivative3 = xform3 c_tf1_derivative3-  drawCopyTF1 = xform1 c_tf1_drawcopytf1-  drawDerivative = xform1 c_tf1_drawderivative-  drawIntegral = xform1 c_tf1_drawintegral-  drawF1 = xform4 c_tf1_drawf1-  fixParameter = xform2 c_tf1_fixparameter-  getMaximumTF1 = xform5 c_tf1_getmaximumtf1-  getMinimumTF1 = xform5 c_tf1_getminimumtf1-  getMaximumX = xform5 c_tf1_getmaximumx-  getMinimumX = xform5 c_tf1_getminimumx-  getNDF = xform0 c_tf1_getndf-  getNpx = xform0 c_tf1_getnpx-  getNumberFreeParameters = xform0 c_tf1_getnumberfreeparameters-  getNumberFitPoints = xform0 c_tf1_getnumberfitpoints-  getParError = xform1 c_tf1_getparerror-  getProb = xform0 c_tf1_getprob-  getQuantilesTF1 = xform3 c_tf1_getquantilestf1-  getRandomTF1 = xform2 c_tf1_getrandomtf1-  getSave = xform1 c_tf1_getsave-  getX = xform5 c_tf1_getx-  getXmin = xform0 c_tf1_getxmin-  getXmax = xform0 c_tf1_getxmax-  gradientPar = xform3 c_tf1_gradientpar-  initArgs = xform2 c_tf1_initargs-  integralTF1 = xform4 c_tf1_integraltf1-  integralError = xform5 c_tf1_integralerror-  integralFast = xform7 c_tf1_integralfast-  isInside = xform1 c_tf1_isinside-  releaseParameter = xform1 c_tf1_releaseparameter-  setChisquare = xform1 c_tf1_setchisquare-  setMaximumTF1 = xform1 c_tf1_setmaximumtf1-  setMinimumTF1 = xform1 c_tf1_setminimumtf1-  setNDF = xform1 c_tf1_setndf-  setNumberFitPoints = xform1 c_tf1_setnumberfitpoints-  setNpx = xform1 c_tf1_setnpx-  setParError = xform2 c_tf1_setparerror-  setParErrors = xform1 c_tf1_setparerrors-  setParLimits = xform3 c_tf1_setparlimits-  setParent = xform1 c_tf1_setparent-  setRange1 = xform2 c_tf1_setrange1-  setRange2 = xform4 c_tf1_setrange2-  setRange3 = xform6 c_tf1_setrange3-  setSavedPoint = xform2 c_tf1_setsavedpoint-  moment = xform5 c_tf1_moment-  centralMoment = xform5 c_tf1_centralmoment-  mean = xform4 c_tf1_mean-  variance = xform4 c_tf1_variance-instance ITFormula TF1 where-  compile = xform1 c_tf1_compile-  clear = xform1 c_tf1_clear-  definedValue = xform1 c_tf1_definedvalue-  eval = xform4 c_tf1_eval-  evalParOld = xform2 c_tf1_evalparold-  evalPar = xform2 c_tf1_evalpar-  getNdim = xform0 c_tf1_getndim-  getNpar = xform0 c_tf1_getnpar-  getNumber = xform0 c_tf1_getnumber-  getParNumber = xform1 c_tf1_getparnumber-  isLinear = xform0 c_tf1_islinear-  isNormalized = xform0 c_tf1_isnormalized-  setNumber = xform1 c_tf1_setnumber-  setParameter = xform2 c_tf1_setparameter-  setParameters = xform1 c_tf1_setparameters-  setParName = xform2 c_tf1_setparname-  setParNames = xform11 c_tf1_setparnames-  update = xform0 c_tf1_update+        derivative = xform3 c_tf1_derivative+        derivative2 = xform3 c_tf1_derivative2+        derivative3 = xform3 c_tf1_derivative3+        drawCopyTF1 = xform1 c_tf1_drawcopytf1+        drawDerivative = xform1 c_tf1_drawderivative+        drawIntegral = xform1 c_tf1_drawintegral+        fixParameter = xform2 c_tf1_fixparameter+        getMaximumTF1 = xform5 c_tf1_getmaximumtf1+        getMinimumTF1 = xform5 c_tf1_getminimumtf1+        getMaximumX = xform5 c_tf1_getmaximumx+        getMinimumX = xform5 c_tf1_getminimumx+        getNDF = xform0 c_tf1_getndf+        getNpx = xform0 c_tf1_getnpx+        getNumberFreeParameters = xform0 c_tf1_getnumberfreeparameters+        getNumberFitPoints = xform0 c_tf1_getnumberfitpoints+        getParError = xform1 c_tf1_getparerror+        getProb = xform0 c_tf1_getprob+        getQuantilesTF1 = xform3 c_tf1_getquantilestf1+        getRandomTF1 = xform2 c_tf1_getrandomtf1+        getSave = xform1 c_tf1_getsave+        getX = xform5 c_tf1_getx+        getXmin = xform0 c_tf1_getxmin+        getXmax = xform0 c_tf1_getxmax+        gradientPar = xform3 c_tf1_gradientpar+        initArgs = xform2 c_tf1_initargs+        integralTF1 = xform3 c_tf1_integraltf1+        integralError = xform5 c_tf1_integralerror+        integralFast = xform7 c_tf1_integralfast+        isInside = xform1 c_tf1_isinside+        releaseParameter = xform1 c_tf1_releaseparameter+        setChisquare = xform1 c_tf1_setchisquare+        setMaximumTF1 = xform1 c_tf1_setmaximumtf1+        setMinimumTF1 = xform1 c_tf1_setminimumtf1+        setNDF = xform1 c_tf1_setndf+        setNumberFitPoints = xform1 c_tf1_setnumberfitpoints+        setNpx = xform1 c_tf1_setnpx+        setParError = xform2 c_tf1_setparerror+        setParErrors = xform1 c_tf1_setparerrors+        setParLimits = xform3 c_tf1_setparlimits+        setParent = xform1 c_tf1_setparent+        setRange1 = xform2 c_tf1_setrange1+        setRange2 = xform4 c_tf1_setrange2+        setRange3 = xform6 c_tf1_setrange3+        setSavedPoint = xform2 c_tf1_setsavedpoint+        moment = xform5 c_tf1_moment+        centralMoment = xform5 c_tf1_centralmoment+        mean = xform4 c_tf1_mean+        variance = xform4 c_tf1_variance+ instance ITAttLine TF1 where-  getLineColor = xform0 c_tf1_getlinecolor-  getLineStyle = xform0 c_tf1_getlinestyle-  getLineWidth = xform0 c_tf1_getlinewidth-  resetAttLine = xform1 c_tf1_resetattline-  setLineAttributes = xform0 c_tf1_setlineattributes-  setLineColor = xform1 c_tf1_setlinecolor-  setLineStyle = xform1 c_tf1_setlinestyle-  setLineWidth = xform1 c_tf1_setlinewidth+        getLineColor = xform0 c_tf1_getlinecolor+        getLineStyle = xform0 c_tf1_getlinestyle+        getLineWidth = xform0 c_tf1_getlinewidth+        resetAttLine = xform1 c_tf1_resetattline+        setLineAttributes = xform0 c_tf1_setlineattributes+        setLineColor = xform1 c_tf1_setlinecolor+        setLineStyle = xform1 c_tf1_setlinestyle+        setLineWidth = xform1 c_tf1_setlinewidth+ instance ITAttFill TF1 where-  setFillColor = xform1 c_tf1_setfillcolor-  setFillStyle = xform1 c_tf1_setfillstyle-instance ITAttMarker TF1 where-  getMarkerColor = xform0 c_tf1_getmarkercolor-  getMarkerStyle = xform0 c_tf1_getmarkerstyle-  getMarkerSize = xform0 c_tf1_getmarkersize-  resetAttMarker = xform1 c_tf1_resetattmarker-  setMarkerAttributes = xform0 c_tf1_setmarkerattributes-  setMarkerColor = xform1 c_tf1_setmarkercolor-  setMarkerStyle = xform1 c_tf1_setmarkerstyle-  setMarkerSize = xform1 c_tf1_setmarkersize-instance ITNamed TF1 where-  setName = xform1 c_tf1_setname-  setNameTitle = xform2 c_tf1_setnametitle-  setTitle = xform1 c_tf1_settitle-instance ITObject TF1 where-  draw = xform1 c_tf1_draw-  findObject = xform1 c_tf1_findobject-  getName = xform0 c_tf1_getname-  isA = xform0 c_tf1_isa-  paint = xform1 c_tf1_paint-  printObj = xform1 c_tf1_printobj-  saveAs = xform2 c_tf1_saveas-  write = xform3 c_tf1_write-instance IDeletable TF1 where-  delete = xform0 c_tf1_delete+        setFillColor = xform1 c_tf1_setfillcolor+        setFillStyle = xform1 c_tf1_setfillstyle -instance ITF1 (Exist TF1) where-  derivative (ETF1 x) = derivative x-  derivative2 (ETF1 x) = derivative2 x-  derivative3 (ETF1 x) = derivative3 x-  drawCopyTF1 (ETF1 x) a1 = return . ETF1 =<< drawCopyTF1 x a1-  drawDerivative (ETF1 x) = drawDerivative x-  drawIntegral (ETF1 x) = drawIntegral x-  drawF1 (ETF1 x) = drawF1 x-  fixParameter (ETF1 x) = fixParameter x-  getMaximumTF1 (ETF1 x) = getMaximumTF1 x-  getMinimumTF1 (ETF1 x) = getMinimumTF1 x-  getMaximumX (ETF1 x) = getMaximumX x-  getMinimumX (ETF1 x) = getMinimumX x-  getNDF (ETF1 x) = getNDF x-  getNpx (ETF1 x) = getNpx x-  getNumberFreeParameters (ETF1 x) = getNumberFreeParameters x-  getNumberFitPoints (ETF1 x) = getNumberFitPoints x-  getParError (ETF1 x) = getParError x-  getProb (ETF1 x) = getProb x-  getQuantilesTF1 (ETF1 x) = getQuantilesTF1 x-  getRandomTF1 (ETF1 x) = getRandomTF1 x-  getSave (ETF1 x) = getSave x-  getX (ETF1 x) = getX x-  getXmin (ETF1 x) = getXmin x-  getXmax (ETF1 x) = getXmax x-  gradientPar (ETF1 x) = gradientPar x-  initArgs (ETF1 x) = initArgs x-  integralTF1 (ETF1 x) = integralTF1 x-  integralError (ETF1 x) = integralError x-  integralFast (ETF1 x) = integralFast x-  isInside (ETF1 x) = isInside x-  releaseParameter (ETF1 x) = releaseParameter x-  setChisquare (ETF1 x) = setChisquare x-  setMaximumTF1 (ETF1 x) = setMaximumTF1 x-  setMinimumTF1 (ETF1 x) = setMinimumTF1 x-  setNDF (ETF1 x) = setNDF x-  setNumberFitPoints (ETF1 x) = setNumberFitPoints x-  setNpx (ETF1 x) = setNpx x-  setParError (ETF1 x) = setParError x-  setParErrors (ETF1 x) = setParErrors x-  setParLimits (ETF1 x) = setParLimits x-  setParent (ETF1 x) = setParent x-  setRange1 (ETF1 x) = setRange1 x-  setRange2 (ETF1 x) = setRange2 x-  setRange3 (ETF1 x) = setRange3 x-  setSavedPoint (ETF1 x) = setSavedPoint x-  moment (ETF1 x) = moment x-  centralMoment (ETF1 x) = centralMoment x-  mean (ETF1 x) = mean x-  variance (ETF1 x) = variance x-instance ITFormula (Exist TF1) where-  compile (ETF1 x) = compile x-  clear (ETF1 x) = clear x-  definedValue (ETF1 x) = definedValue x-  eval (ETF1 x) = eval x-  evalParOld (ETF1 x) = evalParOld x-  evalPar (ETF1 x) = evalPar x-  getNdim (ETF1 x) = getNdim x-  getNpar (ETF1 x) = getNpar x-  getNumber (ETF1 x) = getNumber x-  getParNumber (ETF1 x) = getParNumber x-  isLinear (ETF1 x) = isLinear x-  isNormalized (ETF1 x) = isNormalized x-  setNumber (ETF1 x) = setNumber x-  setParameter (ETF1 x) = setParameter x-  setParameters (ETF1 x) = setParameters x-  setParName (ETF1 x) = setParName x-  setParNames (ETF1 x) = setParNames x-  update (ETF1 x) = update x-instance ITAttLine (Exist TF1) where-  getLineColor (ETF1 x) = getLineColor x-  getLineStyle (ETF1 x) = getLineStyle x-  getLineWidth (ETF1 x) = getLineWidth x-  resetAttLine (ETF1 x) = resetAttLine x-  setLineAttributes (ETF1 x) = setLineAttributes x-  setLineColor (ETF1 x) = setLineColor x-  setLineStyle (ETF1 x) = setLineStyle x-  setLineWidth (ETF1 x) = setLineWidth x-instance ITAttFill (Exist TF1) where-  setFillColor (ETF1 x) = setFillColor x-  setFillStyle (ETF1 x) = setFillStyle x-instance ITAttMarker (Exist TF1) where-  getMarkerColor (ETF1 x) = getMarkerColor x-  getMarkerStyle (ETF1 x) = getMarkerStyle x-  getMarkerSize (ETF1 x) = getMarkerSize x-  resetAttMarker (ETF1 x) = resetAttMarker x-  setMarkerAttributes (ETF1 x) = setMarkerAttributes x-  setMarkerColor (ETF1 x) = setMarkerColor x-  setMarkerStyle (ETF1 x) = setMarkerStyle x-  setMarkerSize (ETF1 x) = setMarkerSize x-instance ITNamed (Exist TF1) where-  setName (ETF1 x) = setName x-  setNameTitle (ETF1 x) = setNameTitle x-  setTitle (ETF1 x) = setTitle x-instance ITObject (Exist TF1) where-  draw (ETF1 x) = draw x-  findObject (ETF1 x) = findObject x-  getName (ETF1 x) = getName x-  isA (ETF1 x) = isA x-  paint (ETF1 x) = paint x-  printObj (ETF1 x) = printObj x-  saveAs (ETF1 x) = saveAs x-  write (ETF1 x) = write x-instance IDeletable (Exist TF1) where-  delete (ETF1 x) = delete x+instance ITAttMarker TF1 where+        getMarkerColor = xform0 c_tf1_getmarkercolor+        getMarkerStyle = xform0 c_tf1_getmarkerstyle+        getMarkerSize = xform0 c_tf1_getmarkersize+        resetAttMarker = xform1 c_tf1_resetattmarker+        setMarkerAttributes = xform0 c_tf1_setmarkerattributes+        setMarkerColor = xform1 c_tf1_setmarkercolor+        setMarkerStyle = xform1 c_tf1_setmarkerstyle+        setMarkerSize = xform1 c_tf1_setmarkersize +instance IDeletable TF1 where+        delete = xform0 c_tf1_delete -newTF1 :: CString -> CString -> CDouble -> CDouble -> IO TF1+newTF1 ::+         (Castable c1 CString, Castable c0 CString) =>+         c0 -> c1 -> CDouble -> CDouble -> IO TF1 newTF1 = xform3 c_tf1_newtf1  tF1GetChisquare :: TF1 -> IO CDouble@@ -302,13 +152,10 @@ tF1RejectedPoint :: IO CInt tF1RejectedPoint = xformnull c_tf1_tf1rejectedpoint -tF1SetCurrent :: TF1 -> IO ()+tF1SetCurrent :: (ITF1 c0, FPtr c0) => c0 -> IO () tF1SetCurrent = xform0 c_tf1_tf1setcurrent -tF1CalcGaussLegendreSamplingPoints :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> IO ()-tF1CalcGaussLegendreSamplingPoints = xform3 c_tf1_tf1calcgausslegendresamplingpoints--instance FPtr (Exist TF1) where-  type Raw (Exist TF1) = RawTF1-  get_fptr (ETF1 obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETF1 (cast_fptr_to_obj (fptr :: ForeignPtr RawTF1) :: TF1)+tF1CalcGaussLegendreSamplingPoints ::+                                     CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> IO ()+tF1CalcGaussLegendreSamplingPoints+  = xform3 c_tf1_tf1calcgausslegendresamplingpoints
src/HROOT/Hist/TF1/Interface.hs view
@@ -1,140 +1,154 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TF1.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr 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.Hist.TFormula.Interface import HROOT.Core.TAttLine.Interface import HROOT.Core.TAttFill.Interface import HROOT.Core.TAttMarker.Interface import HROOT.Core.TObject.Interface----- ============ ---- ---class (ITFormula a,ITAttLine a,ITAttFill a,ITAttMarker a) => ITF1 a where--    derivative :: a -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble --    derivative2 :: a -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble --    derivative3 :: a -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble --    drawCopyTF1 :: a -> CString -> IO a --    drawDerivative :: a -> CString -> IO TObject --    drawIntegral :: a -> CString -> IO TObject --    drawF1 :: a -> CString -> CDouble -> CDouble -> CString -> IO () --    fixParameter :: a -> CInt -> CDouble -> IO () --    getMaximumTF1 :: a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble --    getMinimumTF1 :: a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble --    getMaximumX :: a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble --    getMinimumX :: a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble --    getNDF :: a -> IO CInt --    getNpx :: a -> IO CInt --    getNumberFreeParameters :: a -> IO CInt --    getNumberFitPoints :: a -> IO CInt --    getParError :: a -> CInt -> IO CDouble --    getProb :: a -> IO CDouble --    getQuantilesTF1 :: a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt --    getRandomTF1 :: a -> CDouble -> CDouble -> IO CDouble --    getSave :: a -> (Ptr CDouble) -> IO CDouble --    getX :: a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble --    getXmin :: a -> IO CDouble --    getXmax :: a -> IO CDouble --    gradientPar :: a -> CInt -> (Ptr CDouble) -> CDouble -> IO CDouble --    initArgs :: a -> (Ptr CDouble) -> (Ptr CDouble) -> IO () --    integralTF1 :: a -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble --    integralError :: a -> CDouble -> CDouble -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> IO CDouble --    integralFast :: a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble --    isInside :: a -> (Ptr CDouble) -> IO CInt --    releaseParameter :: a -> CInt -> IO () --    setChisquare :: a -> CDouble -> IO () --    setMaximumTF1 :: a -> CDouble -> IO () --    setMinimumTF1 :: a -> CDouble -> IO () --    setNDF :: a -> CInt -> IO () --    setNumberFitPoints :: a -> CInt -> IO () --    setNpx :: a -> CInt -> IO () --    setParError :: a -> CInt -> CDouble -> IO () --    setParErrors :: a -> (Ptr CDouble) -> IO () --    setParLimits :: a -> CInt -> CDouble -> CDouble -> IO () --    setParent :: (ITObject c0, FPtr c0) => a -> c0 -> IO () --    setRange1 :: a -> CDouble -> CDouble -> IO () --    setRange2 :: a -> CDouble -> CDouble -> CDouble -> CDouble -> IO () --    setRange3 :: a -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO () --    setSavedPoint :: a -> CInt -> CDouble -> IO () --    moment :: a -> CDouble -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble --    centralMoment :: a -> CDouble -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble --    mean :: a -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble --    variance :: a -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble --instance Existable TF1 where-  data Exist TF1 = forall a. (FPtr a, ITF1 a) => ETF1 a+class (ITAttLine a, ITAttFill a, ITAttMarker a) => ITF1 a where+        derivative ::+                     a -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+        +        derivative2 ::+                      a -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+        +        derivative3 ::+                      a -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+        +        drawCopyTF1 :: Castable c0 CString => a -> c0 -> IO a+        +        drawDerivative :: Castable c0 CString => a -> c0 -> IO TObject+        +        drawIntegral :: Castable c0 CString => a -> c0 -> IO TObject+        +        fixParameter :: a -> CInt -> CDouble -> IO ()+        +        getMaximumTF1 ::+                        a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+        +        getMinimumTF1 ::+                        a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+        +        getMaximumX ::+                      a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+        +        getMinimumX ::+                      a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+        +        getNDF :: a -> IO CInt+        +        getNpx :: a -> IO CInt+        +        getNumberFreeParameters :: a -> IO CInt+        +        getNumberFitPoints :: a -> IO CInt+        +        getParError :: a -> CInt -> IO CDouble+        +        getProb :: a -> IO CDouble+        +        getQuantilesTF1 ::+                          a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+        +        getRandomTF1 :: a -> CDouble -> CDouble -> IO CDouble+        +        getSave :: a -> (Ptr CDouble) -> IO CDouble+        +        getX ::+               a -> CDouble -> CDouble -> CDouble -> CDouble -> CInt -> IO CDouble+        +        getXmin :: a -> IO CDouble+        +        getXmax :: a -> IO CDouble+        +        gradientPar :: a -> CInt -> (Ptr CDouble) -> CDouble -> IO CDouble+        +        initArgs :: a -> (Ptr CDouble) -> (Ptr CDouble) -> IO ()+        +        integralTF1 :: a -> CDouble -> CDouble -> CDouble -> IO CDouble+        +        integralError ::+                        a ->+                          CDouble ->+                            CDouble -> (Ptr CDouble) -> (Ptr CDouble) -> CDouble -> IO CDouble+        +        integralFast ::+                       a ->+                         CInt ->+                           (Ptr CDouble) ->+                             (Ptr CDouble) ->+                               CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+        +        isInside :: a -> (Ptr CDouble) -> IO CInt+        +        releaseParameter :: a -> CInt -> IO ()+        +        setChisquare :: a -> CDouble -> IO ()+        +        setMaximumTF1 :: a -> CDouble -> IO ()+        +        setMinimumTF1 :: a -> CDouble -> IO ()+        +        setNDF :: a -> CInt -> IO ()+        +        setNumberFitPoints :: a -> CInt -> IO ()+        +        setNpx :: a -> CInt -> IO ()+        +        setParError :: a -> CInt -> CDouble -> IO ()+        +        setParErrors :: a -> (Ptr CDouble) -> IO ()+        +        setParLimits :: a -> CInt -> CDouble -> CDouble -> IO ()+        +        setParent :: (ITObject c0, FPtr c0) => a -> c0 -> IO ()+        +        setRange1 :: a -> CDouble -> CDouble -> IO ()+        +        setRange2 :: a -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()+        +        setRange3 ::+                    a ->+                      CDouble ->+                        CDouble -> CDouble -> CDouble -> CDouble -> CDouble -> IO ()+        +        setSavedPoint :: a -> CInt -> CDouble -> IO ()+        +        moment ::+                 a ->+                   CDouble ->+                     CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+        +        centralMoment ::+                        a ->+                          CDouble ->+                            CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+        +        mean ::+               a -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble+        +        variance ::+                   a -> CDouble -> CDouble -> (Ptr CDouble) -> CDouble -> IO CDouble -upcastTF1 :: (FPtr a, ITF1 a) => a -> TF1-upcastTF1 h = let fh = get_fptr h-                  fh2 :: ForeignPtr RawTF1 = castForeignPtr fh-              in cast_fptr_to_obj fh2+upcastTF1 :: forall a . (FPtr a, ITF1 a) => a -> TF1+upcastTF1 h+  = let fh = get_fptr h+        fh2 :: Ptr RawTF1 = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTF1 :: (FPtr a, ITF1 a) => TF1 -> a -downcastTF1 h = let fh = get_fptr h-                    fh2 = castForeignPtr fh-                in cast_fptr_to_obj fh2+downcastTF1 :: forall a . (FPtr a, ITF1 a) => TF1 -> a+downcastTF1 h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TF1/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TF1.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTF1 -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TF1 = TF1 (Ptr RawTF1)+            deriving (Eq, Ord, Show) -data RawTF1-newtype TF1 = TF1 (ForeignPtr RawTF1) deriving (Eq, Ord, Show) instance FPtr TF1 where-   type Raw TF1 = RawTF1-   get_fptr (TF1 fptr) = fptr-   cast_fptr_to_obj = TF1+        type Raw TF1 = RawTF1+        get_fptr (TF1 ptr) = ptr+        cast_fptr_to_obj = TF1
+ src/HROOT/Hist/TFitResult.hs view
@@ -0,0 +1,6 @@+module HROOT.Hist.TFitResult+       (TFitResult(..), ITFitResult, upcastTFitResult, downcastTFitResult)+       where+import HROOT.Hist.TFitResult.RawType+import HROOT.Hist.TFitResult.Interface+import HROOT.Hist.TFitResult.Implementation
+ src/HROOT/Hist/TFitResult/Cast.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-}+module HROOT.Hist.TFitResult.Cast where+import Foreign.Ptr+import FFICXX.Runtime.Cast+import System.IO.Unsafe+import HROOT.Hist.TFitResult.RawType+import HROOT.Hist.TFitResult.Interface++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+        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
@@ -0,0 +1,53 @@+{-# LANGUAGE ForeignFunctionInterface #-}+module HROOT.Hist.TFitResult.FFI where+import Foreign.C+import Foreign.Ptr+import HROOT.Hist.TFitResult.RawType+import HROOT.Core.TObject.RawType+import HROOT.Core.TClass.RawType++foreign import ccall safe+               "HROOTHistTFitResult.h TFitResult_SetName" c_tfitresult_setname ::+               Ptr RawTFitResult -> CString -> IO ()++foreign import ccall safe+               "HROOTHistTFitResult.h TFitResult_SetNameTitle"+               c_tfitresult_setnametitle ::+               Ptr RawTFitResult -> CString -> CString -> IO ()++foreign import ccall safe+               "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 safe+               "HROOTHistTFitResult.h TFitResult_FindObject"+               c_tfitresult_findobject ::+               Ptr RawTFitResult -> CString -> IO (Ptr RawTObject)++foreign import ccall safe+               "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 safe "HROOTHistTFitResult.h TFitResult_Paint"+               c_tfitresult_paint :: Ptr RawTFitResult -> CString -> IO ()++foreign import ccall safe+               "HROOTHistTFitResult.h TFitResult_printObj" c_tfitresult_printobj+               :: Ptr RawTFitResult -> CString -> IO ()++foreign import ccall safe "HROOTHistTFitResult.h TFitResult_SaveAs"+               c_tfitresult_saveas ::+               Ptr RawTFitResult -> CString -> CString -> IO ()++foreign import ccall safe "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 ()
+ src/HROOT/Hist/TFitResult/Implementation.hs view
@@ -0,0 +1,46 @@+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-}+module HROOT.Hist.TFitResult.Implementation where+import FFICXX.Runtime.Cast+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe+import HROOT.Hist.TFitResult.RawType+import HROOT.Hist.TFitResult.FFI+import HROOT.Hist.TFitResult.Interface+import HROOT.Hist.TFitResult.Cast+import HROOT.Core.TClass.RawType+import HROOT.Core.TClass.Cast+import HROOT.Core.TClass.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 HROOT.Core.Deletable.RawType+import HROOT.Core.Deletable.Cast+import HROOT.Core.Deletable.Interface++instance ITFitResult TFitResult++instance ITNamed TFitResult where+        setName = xform1 c_tfitresult_setname+        setNameTitle = xform2 c_tfitresult_setnametitle+        setTitle = xform1 c_tfitresult_settitle++instance ITObject TFitResult where+        draw = xform1 c_tfitresult_draw+        findObject = xform1 c_tfitresult_findobject+        getName = xform0 c_tfitresult_getname+        isA = xform0 c_tfitresult_isa+        paint = xform1 c_tfitresult_paint+        printObj = xform1 c_tfitresult_printobj+        saveAs = xform2 c_tfitresult_saveas+        write = xform3 c_tfitresult_write++instance IDeletable TFitResult where+        delete = xform0 c_tfitresult_delete
+ src/HROOT/Hist/TFitResult/Interface.hs view
@@ -0,0 +1,27 @@+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-}+module HROOT.Hist.TFitResult.Interface where+import Data.Word+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++upcastTFitResult ::+                 forall a . (FPtr a, ITFitResult a) => a -> TFitResult+upcastTFitResult h+  = let fh = get_fptr h+        fh2 :: Ptr RawTFitResult = castPtr fh+      in cast_fptr_to_obj fh2++downcastTFitResult ::+                   forall a . (FPtr a, ITFitResult a) => TFitResult -> a+downcastTFitResult h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
+ src/HROOT/Hist/TFitResult/RawType.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}+module HROOT.Hist.TFitResult.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast++data RawTFitResult++newtype TFitResult = TFitResult (Ptr RawTFitResult)+                   deriving (Eq, Ord, Show)++instance FPtr TFitResult where+        type Raw TFitResult = RawTFitResult+        get_fptr (TFitResult ptr) = ptr+        cast_fptr_to_obj = TFitResult
+ src/HROOT/Hist/TFitResultPtr.hs view
@@ -0,0 +1,7 @@+module HROOT.Hist.TFitResultPtr+       (TFitResultPtr(..), ITFitResultPtr, upcastTFitResultPtr,+        downcastTFitResultPtr, tFitResultPtrGet)+       where+import HROOT.Hist.TFitResultPtr.RawType+import HROOT.Hist.TFitResultPtr.Interface+import HROOT.Hist.TFitResultPtr.Implementation
+ src/HROOT/Hist/TFitResultPtr/Cast.hs view
@@ -0,0 +1,18 @@+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-}+module HROOT.Hist.TFitResultPtr.Cast where+import Foreign.Ptr+import FFICXX.Runtime.Cast+import System.IO.Unsafe+import HROOT.Hist.TFitResultPtr.RawType+import HROOT.Hist.TFitResultPtr.Interface++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+        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
@@ -0,0 +1,11 @@+{-# LANGUAGE ForeignFunctionInterface #-}+module HROOT.Hist.TFitResultPtr.FFI where+import Foreign.C+import Foreign.Ptr+import HROOT.Hist.TFitResultPtr.RawType+import HROOT.Hist.TFitResult.RawType++foreign import ccall safe+               "HROOTHistTFitResultPtr.h TFitResultPtr_tFitResultPtrGet"+               c_tfitresultptr_tfitresultptrget ::+               Ptr RawTFitResultPtr -> IO (Ptr RawTFitResult)
+ src/HROOT/Hist/TFitResultPtr/Implementation.hs view
@@ -0,0 +1,22 @@+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-}+module HROOT.Hist.TFitResultPtr.Implementation where+import FFICXX.Runtime.Cast+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe+import HROOT.Hist.TFitResultPtr.RawType+import HROOT.Hist.TFitResultPtr.FFI+import HROOT.Hist.TFitResultPtr.Interface+import HROOT.Hist.TFitResultPtr.Cast+import HROOT.Hist.TFitResult.RawType+import HROOT.Hist.TFitResult.Cast+import HROOT.Hist.TFitResult.Interface++instance ITFitResultPtr TFitResultPtr++tFitResultPtrGet :: TFitResultPtr -> IO TFitResult+tFitResultPtrGet = xform0 c_tfitresultptr_tfitresultptrget
+ src/HROOT/Hist/TFitResultPtr/Interface.hs view
@@ -0,0 +1,27 @@+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-}+module HROOT.Hist.TFitResultPtr.Interface where+import Data.Word+import Foreign.C+import Foreign.Ptr+import FFICXX.Runtime.Cast+import HROOT.Hist.TFitResultPtr.RawType+import HROOT.Hist.TFitResult.RawType++class ITFitResultPtr a++upcastTFitResultPtr ::+                    forall a . (FPtr a, ITFitResultPtr a) => a -> TFitResultPtr+upcastTFitResultPtr h+  = let fh = get_fptr h+        fh2 :: Ptr RawTFitResultPtr = castPtr fh+      in cast_fptr_to_obj fh2++downcastTFitResultPtr ::+                      forall a . (FPtr a, ITFitResultPtr a) => TFitResultPtr -> a+downcastTFitResultPtr h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
+ src/HROOT/Hist/TFitResultPtr/RawType.hs view
@@ -0,0 +1,16 @@+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}+module HROOT.Hist.TFitResultPtr.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast++data RawTFitResultPtr++newtype TFitResultPtr = TFitResultPtr (Ptr RawTFitResultPtr)+                      deriving (Eq, Ord, Show)++instance FPtr TFitResultPtr where+        type Raw TFitResultPtr = RawTFitResultPtr+        get_fptr (TFitResultPtr ptr) = ptr+        cast_fptr_to_obj = TFitResultPtr
− src/HROOT/Hist/TFormula.hs
@@ -1,17 +0,0 @@-module HROOT.Hist.TFormula-  (-    TFormula(..)-  , ITFormula(..)-  , upcastTFormula-  , downcastTFormula-  , newTFormula-  , tFormulaOptimize-  , tFormulaGetParameter- -  ) where--import HROOT.Hist.TFormula.RawType-import HROOT.Hist.TFormula.Interface-import HROOT.Hist.TFormula.Implementation--
− src/HROOT/Hist/TFormula/Cast.hs
@@ -1,22 +0,0 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}--module HROOT.Hist.TFormula.Cast where---import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe-import FFICXX.Runtime.Cast-import System.IO.Unsafe--import HROOT.Hist.TFormula.RawType-import HROOT.Hist.TFormula.Interface--instance (ITFormula a, FPtr a) => Castable a (Ptr RawTFormula) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ --instance Castable TFormula (Ptr RawTFormula) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ 
− src/HROOT/Hist/TFormula/FFI.hsc
@@ -1,119 +0,0 @@-{-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where--module HROOT.Hist.TFormula.FFI where---import Foreign.C            -import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""--import HROOT.Hist.TFormula.RawType-import HROOT.Core.TObject.RawType-import HROOT.Core.TClass.RawType--#include "HROOTHistTFormula.h"--foreign import ccall "HROOTHistTFormula.h TFormula_SetName" c_tformula_setname -  :: (Ptr RawTFormula) -> CString -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_SetNameTitle" c_tformula_setnametitle -  :: (Ptr RawTFormula) -> CString -> CString -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_SetTitle" c_tformula_settitle -  :: (Ptr RawTFormula) -> CString -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_Draw" c_tformula_draw -  :: (Ptr RawTFormula) -> CString -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_FindObject" c_tformula_findobject -  :: (Ptr RawTFormula) -> CString -> IO (Ptr RawTObject)--foreign import ccall "HROOTHistTFormula.h TFormula_GetName" c_tformula_getname -  :: (Ptr RawTFormula) -> IO CString--foreign import ccall "HROOTHistTFormula.h TFormula_IsA" c_tformula_isa -  :: (Ptr RawTFormula) -> IO (Ptr RawTClass)--foreign import ccall "HROOTHistTFormula.h TFormula_Paint" c_tformula_paint -  :: (Ptr RawTFormula) -> CString -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_printObj" c_tformula_printobj -  :: (Ptr RawTFormula) -> CString -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_SaveAs" c_tformula_saveas -  :: (Ptr RawTFormula) -> CString -> CString -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_Write" c_tformula_write -  :: (Ptr RawTFormula) -> CString -> CInt -> CInt -> IO CInt--foreign import ccall "HROOTHistTFormula.h TFormula_delete" c_tformula_delete -  :: (Ptr RawTFormula) -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_newTFormula" c_tformula_newtformula -  :: CString -> CString -> IO (Ptr RawTFormula)--foreign import ccall "HROOTHistTFormula.h TFormula_tFormulaOptimize" c_tformula_tformulaoptimize -  :: (Ptr RawTFormula) -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_Compile" c_tformula_compile -  :: (Ptr RawTFormula) -> CString -> IO CInt--foreign import ccall "HROOTHistTFormula.h TFormula_Clear" c_tformula_clear -  :: (Ptr RawTFormula) -> CString -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_DefinedValue" c_tformula_definedvalue -  :: (Ptr RawTFormula) -> CInt -> IO CDouble--foreign import ccall "HROOTHistTFormula.h TFormula_Eval" c_tformula_eval -  :: (Ptr RawTFormula) -> CDouble -> CDouble -> CDouble -> CDouble -> IO CDouble--foreign import ccall "HROOTHistTFormula.h TFormula_EvalParOld" c_tformula_evalparold -  :: (Ptr RawTFormula) -> (Ptr CDouble) -> (Ptr CDouble) -> IO CDouble--foreign import ccall "HROOTHistTFormula.h TFormula_EvalPar" c_tformula_evalpar -  :: (Ptr RawTFormula) -> (Ptr CDouble) -> (Ptr CDouble) -> IO CDouble--foreign import ccall "HROOTHistTFormula.h TFormula_GetNdim" c_tformula_getndim -  :: (Ptr RawTFormula) -> IO CInt--foreign import ccall "HROOTHistTFormula.h TFormula_GetNpar" c_tformula_getnpar -  :: (Ptr RawTFormula) -> IO CInt--foreign import ccall "HROOTHistTFormula.h TFormula_GetNumber" c_tformula_getnumber -  :: (Ptr RawTFormula) -> IO CInt--foreign import ccall "HROOTHistTFormula.h TFormula_tFormulaGetParameter" c_tformula_tformulagetparameter -  :: (Ptr RawTFormula) -> CString -> IO CDouble--foreign import ccall "HROOTHistTFormula.h TFormula_GetParNumber" c_tformula_getparnumber -  :: (Ptr RawTFormula) -> CString -> IO CInt--foreign import ccall "HROOTHistTFormula.h TFormula_IsLinear" c_tformula_islinear -  :: (Ptr RawTFormula) -> IO CInt--foreign import ccall "HROOTHistTFormula.h TFormula_IsNormalized" c_tformula_isnormalized -  :: (Ptr RawTFormula) -> IO CInt--foreign import ccall "HROOTHistTFormula.h TFormula_SetNumber" c_tformula_setnumber -  :: (Ptr RawTFormula) -> CInt -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_SetParameter" c_tformula_setparameter -  :: (Ptr RawTFormula) -> CString -> CDouble -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_SetParameters" c_tformula_setparameters -  :: (Ptr RawTFormula) -> (Ptr CDouble) -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_SetParName" c_tformula_setparname -  :: (Ptr RawTFormula) -> CInt -> CString -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_SetParNames" c_tformula_setparnames -  :: (Ptr RawTFormula) -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> IO ()--foreign import ccall "HROOTHistTFormula.h TFormula_Update" c_tformula_update -  :: (Ptr RawTFormula) -> IO ()-
− src/HROOT/Hist/TFormula/Implementation.hs
@@ -1,120 +0,0 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}--module HROOT.Hist.TFormula.Implementation where---import FFICXX.Runtime.Cast--import HROOT.Hist.TFormula.RawType-import HROOT.Hist.TFormula.FFI-import HROOT.Hist.TFormula.Interface-import HROOT.Hist.TFormula.Cast-import HROOT.Core.TClass.RawType-import HROOT.Core.TClass.Cast-import HROOT.Core.TClass.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 HROOT.Core.Deletable.RawType-import HROOT.Core.Deletable.Cast-import HROOT.Core.Deletable.Interface--import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe---instance ITFormula TFormula where-  compile = xform1 c_tformula_compile-  clear = xform1 c_tformula_clear-  definedValue = xform1 c_tformula_definedvalue-  eval = xform4 c_tformula_eval-  evalParOld = xform2 c_tformula_evalparold-  evalPar = xform2 c_tformula_evalpar-  getNdim = xform0 c_tformula_getndim-  getNpar = xform0 c_tformula_getnpar-  getNumber = xform0 c_tformula_getnumber-  getParNumber = xform1 c_tformula_getparnumber-  isLinear = xform0 c_tformula_islinear-  isNormalized = xform0 c_tformula_isnormalized-  setNumber = xform1 c_tformula_setnumber-  setParameter = xform2 c_tformula_setparameter-  setParameters = xform1 c_tformula_setparameters-  setParName = xform2 c_tformula_setparname-  setParNames = xform11 c_tformula_setparnames-  update = xform0 c_tformula_update-instance ITNamed TFormula where-  setName = xform1 c_tformula_setname-  setNameTitle = xform2 c_tformula_setnametitle-  setTitle = xform1 c_tformula_settitle-instance ITObject TFormula where-  draw = xform1 c_tformula_draw-  findObject = xform1 c_tformula_findobject-  getName = xform0 c_tformula_getname-  isA = xform0 c_tformula_isa-  paint = xform1 c_tformula_paint-  printObj = xform1 c_tformula_printobj-  saveAs = xform2 c_tformula_saveas-  write = xform3 c_tformula_write-instance IDeletable TFormula where-  delete = xform0 c_tformula_delete--instance ITFormula (Exist TFormula) where-  compile (ETFormula x) = compile x-  clear (ETFormula x) = clear x-  definedValue (ETFormula x) = definedValue x-  eval (ETFormula x) = eval x-  evalParOld (ETFormula x) = evalParOld x-  evalPar (ETFormula x) = evalPar x-  getNdim (ETFormula x) = getNdim x-  getNpar (ETFormula x) = getNpar x-  getNumber (ETFormula x) = getNumber x-  getParNumber (ETFormula x) = getParNumber x-  isLinear (ETFormula x) = isLinear x-  isNormalized (ETFormula x) = isNormalized x-  setNumber (ETFormula x) = setNumber x-  setParameter (ETFormula x) = setParameter x-  setParameters (ETFormula x) = setParameters x-  setParName (ETFormula x) = setParName x-  setParNames (ETFormula x) = setParNames x-  update (ETFormula x) = update x-instance ITNamed (Exist TFormula) where-  setName (ETFormula x) = setName x-  setNameTitle (ETFormula x) = setNameTitle x-  setTitle (ETFormula x) = setTitle x-instance ITObject (Exist TFormula) where-  draw (ETFormula x) = draw x-  findObject (ETFormula x) = findObject x-  getName (ETFormula x) = getName x-  isA (ETFormula x) = isA x-  paint (ETFormula x) = paint x-  printObj (ETFormula x) = printObj x-  saveAs (ETFormula x) = saveAs x-  write (ETFormula x) = write x-instance IDeletable (Exist TFormula) where-  delete (ETFormula x) = delete x---newTFormula :: CString -> CString -> IO TFormula-newTFormula = xform1 c_tformula_newtformula--tFormulaOptimize :: TFormula -> IO ()-tFormulaOptimize = xform0 c_tformula_tformulaoptimize--tFormulaGetParameter :: TFormula -> CString -> IO CDouble-tFormulaGetParameter = xform1 c_tformula_tformulagetparameter----instance FPtr (Exist TFormula) where-  type Raw (Exist TFormula) = RawTFormula-  get_fptr (ETFormula obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETFormula (cast_fptr_to_obj (fptr :: ForeignPtr RawTFormula) :: TFormula)
− src/HROOT/Hist/TFormula/Interface.hs
@@ -1,72 +0,0 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where--module HROOT.Hist.TFormula.Interface where---import Data.Word-import Foreign.C-import Foreign.Ptr-import Foreign.ForeignPtr-import FFICXX.Runtime.Cast--import HROOT.Hist.TFormula.RawType--import HROOT.Core.TNamed.Interface----- ============ --------class (ITNamed a) => ITFormula a where--    compile :: a -> CString -> IO CInt --    clear :: a -> CString -> IO () --    definedValue :: a -> CInt -> IO CDouble --    eval :: a -> CDouble -> CDouble -> CDouble -> CDouble -> IO CDouble --    evalParOld :: a -> (Ptr CDouble) -> (Ptr CDouble) -> IO CDouble --    evalPar :: a -> (Ptr CDouble) -> (Ptr CDouble) -> IO CDouble --    getNdim :: a -> IO CInt --    getNpar :: a -> IO CInt --    getNumber :: a -> IO CInt --    getParNumber :: a -> CString -> IO CInt --    isLinear :: a -> IO CInt --    isNormalized :: a -> IO CInt --    setNumber :: a -> CInt -> IO () --    setParameter :: a -> CString -> CDouble -> IO () --    setParameters :: a -> (Ptr CDouble) -> IO () --    setParName :: a -> CInt -> CString -> IO () --    setParNames :: a -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> CString -> IO () --    update :: a -> IO () --instance Existable TFormula where-  data Exist TFormula = forall a. (FPtr a, ITFormula a) => ETFormula a--upcastTFormula :: (FPtr a, ITFormula a) => a -> TFormula-upcastTFormula h = let fh = get_fptr h-                       fh2 :: ForeignPtr RawTFormula = castForeignPtr fh-                   in cast_fptr_to_obj fh2--downcastTFormula :: (FPtr a, ITFormula a) => TFormula -> a -downcastTFormula h = let fh = get_fptr h-                         fh2 = castForeignPtr fh-                     in cast_fptr_to_obj fh2
− src/HROOT/Hist/TFormula/RawType.hs
@@ -1,16 +0,0 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}--module HROOT.Hist.TFormula.RawType where---import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  --data RawTFormula-newtype TFormula = TFormula (ForeignPtr RawTFormula) deriving (Eq, Ord, Show)-instance FPtr TFormula where-   type Raw TFormula = RawTFormula-   get_fptr (TFormula fptr) = fptr-   cast_fptr_to_obj = TFormula
src/HROOT/Hist/TGraph.hs view
@@ -1,26 +1,10 @@ module HROOT.Hist.TGraph-  (-    TGraph(..)-  , ITGraph(..)-  , upcastTGraph-  , downcastTGraph-  , newTGraph-  , tGraphGetEditable-  , tGraphGetFunction-  , tGraphGetHistogram-  , tGraphGetMaxSize-  , tGraphGetN-  , tGraphGetMaximum-  , tGraphGetMinimum-  , tGraphGetXaxis-  , tGraphGetYaxis-  , tGraphPaintGraph-  , tGraphPaintGrapHist- -  ) where-+       (TGraph(..), ITGraph(..), upcastTGraph, downcastTGraph, newTGraph,+        tGraphGetEditable, tGraphGetFunction, tGraphGetHistogram,+        tGraphGetMaxSize, tGraphGetN, tGraphGetMaximum, tGraphGetMinimum,+        tGraphGetXaxis, tGraphGetYaxis, tGraphPaintGraph,+        tGraphPaintGrapHist)+       where import HROOT.Hist.TGraph.RawType import HROOT.Hist.TGraph.Interface import HROOT.Hist.TGraph.Implementation--
src/HROOT/Hist/TGraph/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TGraph.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TGraph.RawType import HROOT.Hist.TGraph.Interface  instance (ITGraph a, FPtr a) => Castable a (Ptr RawTGraph) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TGraph (Ptr RawTGraph) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TGraph.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TGraph.RawType import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType@@ -19,227 +9,256 @@ import HROOT.Hist.TH1F.RawType import HROOT.Hist.TAxis.RawType -#include "HROOTHistTGraph.h"--foreign import ccall "HROOTHistTGraph.h TGraph_SetName" c_tgraph_setname -  :: (Ptr RawTGraph) -> CString -> IO ()--foreign import ccall "HROOTHistTGraph.h TGraph_SetNameTitle" c_tgraph_setnametitle -  :: (Ptr RawTGraph) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_SetName"+               c_tgraph_setname :: Ptr RawTGraph -> CString -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_SetTitle" c_tgraph_settitle -  :: (Ptr RawTGraph) -> CString -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_SetNameTitle"+               c_tgraph_setnametitle ::+               Ptr RawTGraph -> CString -> CString -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_GetLineColor" c_tgraph_getlinecolor -  :: (Ptr RawTGraph) -> IO CInt+foreign import ccall safe "HROOTHistTGraph.h TGraph_SetTitle"+               c_tgraph_settitle :: Ptr RawTGraph -> CString -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_GetLineStyle" c_tgraph_getlinestyle -  :: (Ptr RawTGraph) -> IO CInt+foreign import ccall safe "HROOTHistTGraph.h TGraph_GetLineColor"+               c_tgraph_getlinecolor :: Ptr RawTGraph -> IO CInt -foreign import ccall "HROOTHistTGraph.h TGraph_GetLineWidth" c_tgraph_getlinewidth -  :: (Ptr RawTGraph) -> IO CInt+foreign import ccall safe "HROOTHistTGraph.h TGraph_GetLineStyle"+               c_tgraph_getlinestyle :: Ptr RawTGraph -> IO CInt -foreign import ccall "HROOTHistTGraph.h TGraph_ResetAttLine" c_tgraph_resetattline -  :: (Ptr RawTGraph) -> CString -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_GetLineWidth"+               c_tgraph_getlinewidth :: Ptr RawTGraph -> IO CInt -foreign import ccall "HROOTHistTGraph.h TGraph_SetLineAttributes" c_tgraph_setlineattributes -  :: (Ptr RawTGraph) -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_ResetAttLine"+               c_tgraph_resetattline :: Ptr RawTGraph -> CString -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_SetLineColor" c_tgraph_setlinecolor -  :: (Ptr RawTGraph) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_SetLineAttributes"+               c_tgraph_setlineattributes :: Ptr RawTGraph -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_SetLineStyle" c_tgraph_setlinestyle -  :: (Ptr RawTGraph) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_SetLineColor"+               c_tgraph_setlinecolor :: Ptr RawTGraph -> CInt -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_SetLineWidth" c_tgraph_setlinewidth -  :: (Ptr RawTGraph) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_SetLineStyle"+               c_tgraph_setlinestyle :: Ptr RawTGraph -> CInt -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_SetFillColor" c_tgraph_setfillcolor -  :: (Ptr RawTGraph) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_SetLineWidth"+               c_tgraph_setlinewidth :: Ptr RawTGraph -> CInt -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_SetFillStyle" c_tgraph_setfillstyle -  :: (Ptr RawTGraph) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_SetFillColor"+               c_tgraph_setfillcolor :: Ptr RawTGraph -> CInt -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_GetMarkerColor" c_tgraph_getmarkercolor -  :: (Ptr RawTGraph) -> IO CInt+foreign import ccall safe "HROOTHistTGraph.h TGraph_SetFillStyle"+               c_tgraph_setfillstyle :: Ptr RawTGraph -> CInt -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_GetMarkerStyle" c_tgraph_getmarkerstyle -  :: (Ptr RawTGraph) -> IO CInt+foreign import ccall safe "HROOTHistTGraph.h TGraph_GetMarkerColor"+               c_tgraph_getmarkercolor :: Ptr RawTGraph -> IO CInt -foreign import ccall "HROOTHistTGraph.h TGraph_GetMarkerSize" c_tgraph_getmarkersize -  :: (Ptr RawTGraph) -> IO CDouble+foreign import ccall safe "HROOTHistTGraph.h TGraph_GetMarkerStyle"+               c_tgraph_getmarkerstyle :: Ptr RawTGraph -> IO CInt -foreign import ccall "HROOTHistTGraph.h TGraph_ResetAttMarker" c_tgraph_resetattmarker -  :: (Ptr RawTGraph) -> CString -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_GetMarkerSize"+               c_tgraph_getmarkersize :: Ptr RawTGraph -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_SetMarkerAttributes" c_tgraph_setmarkerattributes -  :: (Ptr RawTGraph) -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_ResetAttMarker"+               c_tgraph_resetattmarker :: Ptr RawTGraph -> CString -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_SetMarkerColor" c_tgraph_setmarkercolor -  :: (Ptr RawTGraph) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_SetMarkerAttributes"+               c_tgraph_setmarkerattributes :: Ptr RawTGraph -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_SetMarkerStyle" c_tgraph_setmarkerstyle -  :: (Ptr RawTGraph) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_SetMarkerColor"+               c_tgraph_setmarkercolor :: Ptr RawTGraph -> CInt -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_SetMarkerSize" c_tgraph_setmarkersize -  :: (Ptr RawTGraph) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_SetMarkerStyle"+               c_tgraph_setmarkerstyle :: Ptr RawTGraph -> CInt -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_Draw" c_tgraph_draw -  :: (Ptr RawTGraph) -> CString -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_SetMarkerSize"+               c_tgraph_setmarkersize :: Ptr RawTGraph -> CInt -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_FindObject" c_tgraph_findobject -  :: (Ptr RawTGraph) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTGraph.h TGraph_Draw"+               c_tgraph_draw :: Ptr RawTGraph -> CString -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_GetName" c_tgraph_getname -  :: (Ptr RawTGraph) -> IO CString+foreign import ccall safe "HROOTHistTGraph.h TGraph_FindObject"+               c_tgraph_findobject ::+               Ptr RawTGraph -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTGraph.h TGraph_IsA" c_tgraph_isa -  :: (Ptr RawTGraph) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTGraph.h TGraph_GetName"+               c_tgraph_getname :: Ptr RawTGraph -> IO CString -foreign import ccall "HROOTHistTGraph.h TGraph_Paint" c_tgraph_paint -  :: (Ptr RawTGraph) -> CString -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_IsA"+               c_tgraph_isa :: Ptr RawTGraph -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTGraph.h TGraph_printObj" c_tgraph_printobj -  :: (Ptr RawTGraph) -> CString -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_Paint"+               c_tgraph_paint :: Ptr RawTGraph -> CString -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_SaveAs" c_tgraph_saveas -  :: (Ptr RawTGraph) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_printObj"+               c_tgraph_printobj :: Ptr RawTGraph -> CString -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_Write" c_tgraph_write -  :: (Ptr RawTGraph) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTGraph.h TGraph_SaveAs"+               c_tgraph_saveas :: Ptr RawTGraph -> CString -> CString -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_delete" c_tgraph_delete -  :: (Ptr RawTGraph) -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_Write"+               c_tgraph_write ::+               Ptr RawTGraph -> CString -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTGraph.h TGraph_newTGraph" c_tgraph_newtgraph -  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraph)+foreign import ccall safe "HROOTHistTGraph.h TGraph_delete"+               c_tgraph_delete :: Ptr RawTGraph -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_Apply" c_tgraph_apply -  :: (Ptr RawTGraph) -> (Ptr RawTF1) -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_newTGraph"+               c_tgraph_newtgraph ::+               CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraph) -foreign import ccall "HROOTHistTGraph.h TGraph_Chisquare" c_tgraph_chisquare -  :: (Ptr RawTGraph) -> (Ptr RawTF1) -> IO CDouble+foreign import ccall safe "HROOTHistTGraph.h TGraph_Apply"+               c_tgraph_apply :: Ptr RawTGraph -> Ptr RawTF1 -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_DrawGraph" c_tgraph_drawgraph -  :: (Ptr RawTGraph) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_Chisquare"+               c_tgraph_chisquare :: Ptr RawTGraph -> Ptr RawTF1 -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_drawPanelTGraph" c_tgraph_drawpaneltgraph -  :: (Ptr RawTGraph) -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_DrawGraph"+               c_tgraph_drawgraph ::+               Ptr RawTGraph ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_Expand" c_tgraph_expand -  :: (Ptr RawTGraph) -> CInt -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_drawPanelTGraph" c_tgraph_drawpaneltgraph+               :: Ptr RawTGraph -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_FitPanelTGraph" c_tgraph_fitpaneltgraph -  :: (Ptr RawTGraph) -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_Expand"+               c_tgraph_expand :: Ptr RawTGraph -> CInt -> CInt -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_tGraphGetEditable" c_tgraph_tgraphgeteditable -  :: (Ptr RawTGraph) -> IO CInt+foreign import ccall safe "HROOTHistTGraph.h TGraph_FitPanelTGraph"+               c_tgraph_fitpaneltgraph :: Ptr RawTGraph -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_tGraphGetFunction" c_tgraph_tgraphgetfunction -  :: (Ptr RawTGraph) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_tGraphGetEditable"+               c_tgraph_tgraphgeteditable :: Ptr RawTGraph -> IO CInt -foreign import ccall "HROOTHistTGraph.h TGraph_tGraphGetHistogram" c_tgraph_tgraphgethistogram -  :: (Ptr RawTGraph) -> IO (Ptr RawTH1F)+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_tGraphGetFunction"+               c_tgraph_tgraphgetfunction ::+               Ptr RawTGraph -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTGraph.h TGraph_getCorrelationFactorTGraph" c_tgraph_getcorrelationfactortgraph -  :: (Ptr RawTGraph) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_tGraphGetHistogram"+               c_tgraph_tgraphgethistogram :: Ptr RawTGraph -> IO (Ptr RawTH1F) -foreign import ccall "HROOTHistTGraph.h TGraph_getCovarianceTGraph" c_tgraph_getcovariancetgraph -  :: (Ptr RawTGraph) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_getCorrelationFactorTGraph"+               c_tgraph_getcorrelationfactortgraph :: Ptr RawTGraph -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_getMeanTGraph" c_tgraph_getmeantgraph -  :: (Ptr RawTGraph) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_getCovarianceTGraph"+               c_tgraph_getcovariancetgraph :: Ptr RawTGraph -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_getRMSTGraph" c_tgraph_getrmstgraph -  :: (Ptr RawTGraph) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTGraph.h TGraph_getMeanTGraph"+               c_tgraph_getmeantgraph :: Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_tGraphGetMaxSize" c_tgraph_tgraphgetmaxsize -  :: (Ptr RawTGraph) -> IO CInt+foreign import ccall safe "HROOTHistTGraph.h TGraph_getRMSTGraph"+               c_tgraph_getrmstgraph :: Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_tGraphGetN" c_tgraph_tgraphgetn -  :: (Ptr RawTGraph) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_tGraphGetMaxSize"+               c_tgraph_tgraphgetmaxsize :: Ptr RawTGraph -> IO CInt -foreign import ccall "HROOTHistTGraph.h TGraph_GetErrorX" c_tgraph_geterrorx -  :: (Ptr RawTGraph) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTGraph.h TGraph_tGraphGetN"+               c_tgraph_tgraphgetn :: Ptr RawTGraph -> IO CInt -foreign import ccall "HROOTHistTGraph.h TGraph_GetErrorY" c_tgraph_geterrory -  :: (Ptr RawTGraph) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTGraph.h TGraph_GetErrorX"+               c_tgraph_geterrorx :: Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_GetErrorXhigh" c_tgraph_geterrorxhigh -  :: (Ptr RawTGraph) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTGraph.h TGraph_GetErrorY"+               c_tgraph_geterrory :: Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_GetErrorXlow" c_tgraph_geterrorxlow -  :: (Ptr RawTGraph) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTGraph.h TGraph_GetErrorXhigh"+               c_tgraph_geterrorxhigh :: Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_GetErrorYhigh" c_tgraph_geterroryhigh -  :: (Ptr RawTGraph) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTGraph.h TGraph_GetErrorXlow"+               c_tgraph_geterrorxlow :: Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_GetErrorYlow" c_tgraph_geterrorylow -  :: (Ptr RawTGraph) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTGraph.h TGraph_GetErrorYhigh"+               c_tgraph_geterroryhigh :: Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_tGraphGetMaximum" c_tgraph_tgraphgetmaximum -  :: (Ptr RawTGraph) -> IO CDouble+foreign import ccall safe "HROOTHistTGraph.h TGraph_GetErrorYlow"+               c_tgraph_geterrorylow :: Ptr RawTGraph -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_tGraphGetMinimum" c_tgraph_tgraphgetminimum -  :: (Ptr RawTGraph) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_tGraphGetMaximum"+               c_tgraph_tgraphgetmaximum :: Ptr RawTGraph -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_tGraphGetXaxis" c_tgraph_tgraphgetxaxis -  :: (Ptr RawTGraph) -> IO (Ptr RawTAxis)+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_tGraphGetMinimum"+               c_tgraph_tgraphgetminimum :: Ptr RawTGraph -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_tGraphGetYaxis" c_tgraph_tgraphgetyaxis -  :: (Ptr RawTGraph) -> IO (Ptr RawTAxis)+foreign import ccall safe "HROOTHistTGraph.h TGraph_tGraphGetXaxis"+               c_tgraph_tgraphgetxaxis :: Ptr RawTGraph -> IO (Ptr RawTAxis) -foreign import ccall "HROOTHistTGraph.h TGraph_InitExpo" c_tgraph_initexpo -  :: (Ptr RawTGraph) -> CDouble -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_tGraphGetYaxis"+               c_tgraph_tgraphgetyaxis :: Ptr RawTGraph -> IO (Ptr RawTAxis) -foreign import ccall "HROOTHistTGraph.h TGraph_InitGaus" c_tgraph_initgaus -  :: (Ptr RawTGraph) -> CDouble -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_InitExpo"+               c_tgraph_initexpo :: Ptr RawTGraph -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_InitPolynom" c_tgraph_initpolynom -  :: (Ptr RawTGraph) -> CDouble -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_InitGaus"+               c_tgraph_initgaus :: Ptr RawTGraph -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_InsertPoint" c_tgraph_insertpoint -  :: (Ptr RawTGraph) -> IO CInt+foreign import ccall safe "HROOTHistTGraph.h TGraph_InitPolynom"+               c_tgraph_initpolynom ::+               Ptr RawTGraph -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_integralTGraph" c_tgraph_integraltgraph -  :: (Ptr RawTGraph) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTGraph.h TGraph_InsertPoint"+               c_tgraph_insertpoint :: Ptr RawTGraph -> IO CInt -foreign import ccall "HROOTHistTGraph.h TGraph_IsEditable" c_tgraph_iseditable -  :: (Ptr RawTGraph) -> IO CInt+foreign import ccall safe "HROOTHistTGraph.h TGraph_integralTGraph"+               c_tgraph_integraltgraph ::+               Ptr RawTGraph -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraph.h TGraph_isInsideTGraph" c_tgraph_isinsidetgraph -  :: (Ptr RawTGraph) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTGraph.h TGraph_IsEditable"+               c_tgraph_iseditable :: Ptr RawTGraph -> IO CInt -foreign import ccall "HROOTHistTGraph.h TGraph_LeastSquareFit" c_tgraph_leastsquarefit -  :: (Ptr RawTGraph) -> CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_isInsideTGraph"+               c_tgraph_isinsidetgraph ::+               Ptr RawTGraph -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTGraph.h TGraph_tGraphPaintGraph" c_tgraph_tgraphpaintgraph -  :: (Ptr RawTGraph) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_LeastSquareFit"+               c_tgraph_leastsquarefit ::+               Ptr RawTGraph ->+                 CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_tGraphPaintGrapHist" c_tgraph_tgraphpaintgraphist -  :: (Ptr RawTGraph) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_tGraphPaintGraph"+               c_tgraph_tgraphpaintgraph ::+               Ptr RawTGraph ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_PaintStats" c_tgraph_paintstats -  :: (Ptr RawTGraph) -> (Ptr RawTF1) -> IO ()+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_tGraphPaintGrapHist"+               c_tgraph_tgraphpaintgraphist ::+               Ptr RawTGraph ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_RemovePoint" c_tgraph_removepoint -  :: (Ptr RawTGraph) -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTGraph.h TGraph_PaintStats"+               c_tgraph_paintstats :: Ptr RawTGraph -> Ptr RawTF1 -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_SetEditable" c_tgraph_seteditable -  :: (Ptr RawTGraph) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_RemovePoint"+               c_tgraph_removepoint :: Ptr RawTGraph -> CInt -> IO CInt -foreign import ccall "HROOTHistTGraph.h TGraph_SetHistogram" c_tgraph_sethistogram -  :: (Ptr RawTGraph) -> (Ptr RawTH1F) -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_SetEditable"+               c_tgraph_seteditable :: Ptr RawTGraph -> CInt -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_setMaximumTGraph" c_tgraph_setmaximumtgraph -  :: (Ptr RawTGraph) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_SetHistogram"+               c_tgraph_sethistogram :: Ptr RawTGraph -> Ptr RawTH1F -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_setMinimumTGraph" c_tgraph_setminimumtgraph -  :: (Ptr RawTGraph) -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_setMaximumTGraph"+               c_tgraph_setmaximumtgraph :: Ptr RawTGraph -> CDouble -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_Set" c_tgraph_set -  :: (Ptr RawTGraph) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraph.h TGraph_setMinimumTGraph"+               c_tgraph_setminimumtgraph :: Ptr RawTGraph -> CDouble -> IO () -foreign import ccall "HROOTHistTGraph.h TGraph_SetPoint" c_tgraph_setpoint -  :: (Ptr RawTGraph) -> CInt -> CDouble -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTGraph.h TGraph_Set"+               c_tgraph_set :: Ptr RawTGraph -> CInt -> IO () +foreign import ccall safe "HROOTHistTGraph.h TGraph_SetPoint"+               c_tgraph_setpoint ::+               Ptr RawTGraph -> CInt -> CDouble -> CDouble -> IO ()
src/HROOT/Hist/TGraph/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TGraph.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TGraph.RawType import HROOT.Hist.TGraph.FFI import HROOT.Hist.TGraph.Interface@@ -42,154 +43,82 @@ import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-- instance ITGraph TGraph where-  apply = xform1 c_tgraph_apply-  chisquare = xform1 c_tgraph_chisquare-  drawGraph = xform4 c_tgraph_drawgraph-  drawPanelTGraph = xform0 c_tgraph_drawpaneltgraph-  expand = xform2 c_tgraph_expand-  fitPanelTGraph = xform0 c_tgraph_fitpaneltgraph-  getCorrelationFactorTGraph = xform0 c_tgraph_getcorrelationfactortgraph-  getCovarianceTGraph = xform0 c_tgraph_getcovariancetgraph-  getMeanTGraph = xform1 c_tgraph_getmeantgraph-  getRMSTGraph = xform1 c_tgraph_getrmstgraph-  getErrorX = xform1 c_tgraph_geterrorx-  getErrorY = xform1 c_tgraph_geterrory-  getErrorXhigh = xform1 c_tgraph_geterrorxhigh-  getErrorXlow = xform1 c_tgraph_geterrorxlow-  getErrorYhigh = xform1 c_tgraph_geterroryhigh-  getErrorYlow = xform1 c_tgraph_geterrorylow-  initExpo = xform2 c_tgraph_initexpo-  initGaus = xform2 c_tgraph_initgaus-  initPolynom = xform2 c_tgraph_initpolynom-  insertPoint = xform0 c_tgraph_insertpoint-  integralTGraph = xform2 c_tgraph_integraltgraph-  isEditable = xform0 c_tgraph_iseditable-  isInsideTGraph = xform2 c_tgraph_isinsidetgraph-  leastSquareFit = xform4 c_tgraph_leastsquarefit-  paintStats = xform1 c_tgraph_paintstats-  removePoint = xform1 c_tgraph_removepoint-  setEditable = xform1 c_tgraph_seteditable-  setHistogram = xform1 c_tgraph_sethistogram-  setMaximumTGraph = xform1 c_tgraph_setmaximumtgraph-  setMinimumTGraph = xform1 c_tgraph_setminimumtgraph-  set = xform1 c_tgraph_set-  setPoint = xform3 c_tgraph_setpoint+        apply = xform1 c_tgraph_apply+        chisquare = xform1 c_tgraph_chisquare+        drawGraph = xform4 c_tgraph_drawgraph+        drawPanelTGraph = xform0 c_tgraph_drawpaneltgraph+        expand = xform2 c_tgraph_expand+        fitPanelTGraph = xform0 c_tgraph_fitpaneltgraph+        getCorrelationFactorTGraph+          = xform0 c_tgraph_getcorrelationfactortgraph+        getCovarianceTGraph = xform0 c_tgraph_getcovariancetgraph+        getMeanTGraph = xform1 c_tgraph_getmeantgraph+        getRMSTGraph = xform1 c_tgraph_getrmstgraph+        getErrorX = xform1 c_tgraph_geterrorx+        getErrorY = xform1 c_tgraph_geterrory+        getErrorXhigh = xform1 c_tgraph_geterrorxhigh+        getErrorXlow = xform1 c_tgraph_geterrorxlow+        getErrorYhigh = xform1 c_tgraph_geterroryhigh+        getErrorYlow = xform1 c_tgraph_geterrorylow+        initExpo = xform2 c_tgraph_initexpo+        initGaus = xform2 c_tgraph_initgaus+        initPolynom = xform2 c_tgraph_initpolynom+        insertPoint = xform0 c_tgraph_insertpoint+        integralTGraph = xform2 c_tgraph_integraltgraph+        isEditable = xform0 c_tgraph_iseditable+        isInsideTGraph = xform2 c_tgraph_isinsidetgraph+        leastSquareFit = xform4 c_tgraph_leastsquarefit+        paintStats = xform1 c_tgraph_paintstats+        removePoint = xform1 c_tgraph_removepoint+        setEditable = xform1 c_tgraph_seteditable+        setHistogram = xform1 c_tgraph_sethistogram+        setMaximumTGraph = xform1 c_tgraph_setmaximumtgraph+        setMinimumTGraph = xform1 c_tgraph_setminimumtgraph+        set = xform1 c_tgraph_set+        setPoint = xform3 c_tgraph_setpoint+ instance ITNamed TGraph where-  setName = xform1 c_tgraph_setname-  setNameTitle = xform2 c_tgraph_setnametitle-  setTitle = xform1 c_tgraph_settitle+        setName = xform1 c_tgraph_setname+        setNameTitle = xform2 c_tgraph_setnametitle+        setTitle = xform1 c_tgraph_settitle+ instance ITAttLine TGraph where-  getLineColor = xform0 c_tgraph_getlinecolor-  getLineStyle = xform0 c_tgraph_getlinestyle-  getLineWidth = xform0 c_tgraph_getlinewidth-  resetAttLine = xform1 c_tgraph_resetattline-  setLineAttributes = xform0 c_tgraph_setlineattributes-  setLineColor = xform1 c_tgraph_setlinecolor-  setLineStyle = xform1 c_tgraph_setlinestyle-  setLineWidth = xform1 c_tgraph_setlinewidth+        getLineColor = xform0 c_tgraph_getlinecolor+        getLineStyle = xform0 c_tgraph_getlinestyle+        getLineWidth = xform0 c_tgraph_getlinewidth+        resetAttLine = xform1 c_tgraph_resetattline+        setLineAttributes = xform0 c_tgraph_setlineattributes+        setLineColor = xform1 c_tgraph_setlinecolor+        setLineStyle = xform1 c_tgraph_setlinestyle+        setLineWidth = xform1 c_tgraph_setlinewidth+ instance ITAttFill TGraph where-  setFillColor = xform1 c_tgraph_setfillcolor-  setFillStyle = xform1 c_tgraph_setfillstyle+        setFillColor = xform1 c_tgraph_setfillcolor+        setFillStyle = xform1 c_tgraph_setfillstyle+ instance ITAttMarker TGraph where-  getMarkerColor = xform0 c_tgraph_getmarkercolor-  getMarkerStyle = xform0 c_tgraph_getmarkerstyle-  getMarkerSize = xform0 c_tgraph_getmarkersize-  resetAttMarker = xform1 c_tgraph_resetattmarker-  setMarkerAttributes = xform0 c_tgraph_setmarkerattributes-  setMarkerColor = xform1 c_tgraph_setmarkercolor-  setMarkerStyle = xform1 c_tgraph_setmarkerstyle-  setMarkerSize = xform1 c_tgraph_setmarkersize-instance ITObject TGraph where-  draw = xform1 c_tgraph_draw-  findObject = xform1 c_tgraph_findobject-  getName = xform0 c_tgraph_getname-  isA = xform0 c_tgraph_isa-  paint = xform1 c_tgraph_paint-  printObj = xform1 c_tgraph_printobj-  saveAs = xform2 c_tgraph_saveas-  write = xform3 c_tgraph_write-instance IDeletable TGraph where-  delete = xform0 c_tgraph_delete+        getMarkerColor = xform0 c_tgraph_getmarkercolor+        getMarkerStyle = xform0 c_tgraph_getmarkerstyle+        getMarkerSize = xform0 c_tgraph_getmarkersize+        resetAttMarker = xform1 c_tgraph_resetattmarker+        setMarkerAttributes = xform0 c_tgraph_setmarkerattributes+        setMarkerColor = xform1 c_tgraph_setmarkercolor+        setMarkerStyle = xform1 c_tgraph_setmarkerstyle+        setMarkerSize = xform1 c_tgraph_setmarkersize -instance ITGraph (Exist TGraph) where-  apply (ETGraph x) = apply x-  chisquare (ETGraph x) = chisquare x-  drawGraph (ETGraph x) = drawGraph x-  drawPanelTGraph (ETGraph x) = drawPanelTGraph x-  expand (ETGraph x) = expand x-  fitPanelTGraph (ETGraph x) = fitPanelTGraph x-  getCorrelationFactorTGraph (ETGraph x) = getCorrelationFactorTGraph x-  getCovarianceTGraph (ETGraph x) = getCovarianceTGraph x-  getMeanTGraph (ETGraph x) = getMeanTGraph x-  getRMSTGraph (ETGraph x) = getRMSTGraph x-  getErrorX (ETGraph x) = getErrorX x-  getErrorY (ETGraph x) = getErrorY x-  getErrorXhigh (ETGraph x) = getErrorXhigh x-  getErrorXlow (ETGraph x) = getErrorXlow x-  getErrorYhigh (ETGraph x) = getErrorYhigh x-  getErrorYlow (ETGraph x) = getErrorYlow x-  initExpo (ETGraph x) = initExpo x-  initGaus (ETGraph x) = initGaus x-  initPolynom (ETGraph x) = initPolynom x-  insertPoint (ETGraph x) = insertPoint x-  integralTGraph (ETGraph x) = integralTGraph x-  isEditable (ETGraph x) = isEditable x-  isInsideTGraph (ETGraph x) = isInsideTGraph x-  leastSquareFit (ETGraph x) = leastSquareFit x-  paintStats (ETGraph x) = paintStats x-  removePoint (ETGraph x) = removePoint x-  setEditable (ETGraph x) = setEditable x-  setHistogram (ETGraph x) = setHistogram x-  setMaximumTGraph (ETGraph x) = setMaximumTGraph x-  setMinimumTGraph (ETGraph x) = setMinimumTGraph x-  set (ETGraph x) = set x-  setPoint (ETGraph x) = setPoint x-instance ITNamed (Exist TGraph) where-  setName (ETGraph x) = setName x-  setNameTitle (ETGraph x) = setNameTitle x-  setTitle (ETGraph x) = setTitle x-instance ITAttLine (Exist TGraph) where-  getLineColor (ETGraph x) = getLineColor x-  getLineStyle (ETGraph x) = getLineStyle x-  getLineWidth (ETGraph x) = getLineWidth x-  resetAttLine (ETGraph x) = resetAttLine x-  setLineAttributes (ETGraph x) = setLineAttributes x-  setLineColor (ETGraph x) = setLineColor x-  setLineStyle (ETGraph x) = setLineStyle x-  setLineWidth (ETGraph x) = setLineWidth x-instance ITAttFill (Exist TGraph) where-  setFillColor (ETGraph x) = setFillColor x-  setFillStyle (ETGraph x) = setFillStyle x-instance ITAttMarker (Exist TGraph) where-  getMarkerColor (ETGraph x) = getMarkerColor x-  getMarkerStyle (ETGraph x) = getMarkerStyle x-  getMarkerSize (ETGraph x) = getMarkerSize x-  resetAttMarker (ETGraph x) = resetAttMarker x-  setMarkerAttributes (ETGraph x) = setMarkerAttributes x-  setMarkerColor (ETGraph x) = setMarkerColor x-  setMarkerStyle (ETGraph x) = setMarkerStyle x-  setMarkerSize (ETGraph x) = setMarkerSize x-instance ITObject (Exist TGraph) where-  draw (ETGraph x) = draw x-  findObject (ETGraph x) = findObject x-  getName (ETGraph x) = getName x-  isA (ETGraph x) = isA x-  paint (ETGraph x) = paint x-  printObj (ETGraph x) = printObj x-  saveAs (ETGraph x) = saveAs x-  write (ETGraph x) = write x-instance IDeletable (Exist TGraph) where-  delete (ETGraph x) = delete x+instance ITObject TGraph where+        draw = xform1 c_tgraph_draw+        findObject = xform1 c_tgraph_findobject+        getName = xform0 c_tgraph_getname+        isA = xform0 c_tgraph_isa+        paint = xform1 c_tgraph_paint+        printObj = xform1 c_tgraph_printobj+        saveAs = xform2 c_tgraph_saveas+        write = xform3 c_tgraph_write +instance IDeletable TGraph where+        delete = xform0 c_tgraph_delete  newTGraph :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO TGraph newTGraph = xform2 c_tgraph_newtgraph@@ -197,7 +126,7 @@ tGraphGetEditable :: TGraph -> IO CInt tGraphGetEditable = xform0 c_tgraph_tgraphgeteditable -tGraphGetFunction :: TGraph -> CString -> IO TF1+tGraphGetFunction :: Castable c0 CString => TGraph -> c0 -> IO TF1 tGraphGetFunction = xform1 c_tgraph_tgraphgetfunction  tGraphGetHistogram :: TGraph -> IO TH1F@@ -221,15 +150,12 @@ tGraphGetYaxis :: TGraph -> IO TAxis tGraphGetYaxis = xform0 c_tgraph_tgraphgetyaxis -tGraphPaintGraph :: TGraph -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+tGraphPaintGraph ::+                   Castable c0 CString =>+                   TGraph -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> c0 -> IO () tGraphPaintGraph = xform4 c_tgraph_tgraphpaintgraph -tGraphPaintGrapHist :: TGraph -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+tGraphPaintGrapHist ::+                      Castable c0 CString =>+                      TGraph -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> c0 -> IO () tGraphPaintGrapHist = xform4 c_tgraph_tgraphpaintgraphist----instance FPtr (Exist TGraph) where-  type Raw (Exist TGraph) = RawTGraph-  get_fptr (ETGraph obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETGraph (cast_fptr_to_obj (fptr :: ForeignPtr RawTGraph) :: TGraph)
src/HROOT/Hist/TGraph/Interface.hs view
@@ -1,18 +1,12 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TGraph.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TGraph.RawType import HROOT.Hist.TF1.RawType import HROOT.Hist.TH1F.RawType@@ -21,86 +15,86 @@ 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 --class (ITNamed a,ITAttLine a,ITAttFill a,ITAttMarker a) => ITGraph a where--    apply :: (ITF1 c0, FPtr c0) => a -> c0 -> IO () --    chisquare :: (ITF1 c0, FPtr c0) => a -> c0 -> IO CDouble --    drawGraph :: a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO () --    drawPanelTGraph :: a -> IO () --    expand :: a -> CInt -> CInt -> IO () --    fitPanelTGraph :: a -> IO () --    getCorrelationFactorTGraph :: a -> IO CDouble --    getCovarianceTGraph :: a -> IO CDouble --    getMeanTGraph :: a -> CInt -> IO CDouble --    getRMSTGraph :: a -> CInt -> IO CDouble --    getErrorX :: a -> CInt -> IO CDouble --    getErrorY :: a -> CInt -> IO CDouble --    getErrorXhigh :: a -> CInt -> IO CDouble --    getErrorXlow :: a -> CInt -> IO CDouble --    getErrorYhigh :: a -> CInt -> IO CDouble --    getErrorYlow :: a -> CInt -> IO CDouble --    initExpo :: a -> CDouble -> CDouble -> IO () --    initGaus :: a -> CDouble -> CDouble -> IO () --    initPolynom :: a -> CDouble -> CDouble -> IO () --    insertPoint :: a -> IO CInt --    integralTGraph :: a -> CInt -> CInt -> IO CDouble --    isEditable :: a -> IO CInt --    isInsideTGraph :: a -> CDouble -> CDouble -> IO CInt --    leastSquareFit :: a -> CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO () --    paintStats :: (ITF1 c0, FPtr c0) => a -> c0 -> IO () --    removePoint :: a -> CInt -> IO CInt --    setEditable :: a -> CInt -> IO () --    setHistogram :: (ITH1F c0, FPtr c0) => a -> c0 -> IO () --    setMaximumTGraph :: a -> CDouble -> IO () --    setMinimumTGraph :: a -> CDouble -> IO () --    set :: a -> CInt -> IO () --    setPoint :: a -> CInt -> CDouble -> CDouble -> IO () --instance Existable TGraph where-  data Exist TGraph = forall a. (FPtr a, ITGraph a) => ETGraph a+class (ITNamed a, ITAttLine a, ITAttFill a, ITAttMarker a) =>+      ITGraph a where+        apply :: (ITF1 c0, FPtr c0) => a -> c0 -> IO ()+        +        chisquare :: (ITF1 c0, FPtr c0) => a -> c0 -> IO CDouble+        +        drawGraph ::+                    Castable c0 CString =>+                    a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> c0 -> IO ()+        +        drawPanelTGraph :: a -> IO ()+        +        expand :: a -> CInt -> CInt -> IO ()+        +        fitPanelTGraph :: a -> IO ()+        +        getCorrelationFactorTGraph :: a -> IO CDouble+        +        getCovarianceTGraph :: a -> IO CDouble+        +        getMeanTGraph :: a -> CInt -> IO CDouble+        +        getRMSTGraph :: a -> CInt -> IO CDouble+        +        getErrorX :: a -> CInt -> IO CDouble+        +        getErrorY :: a -> CInt -> IO CDouble+        +        getErrorXhigh :: a -> CInt -> IO CDouble+        +        getErrorXlow :: a -> CInt -> IO CDouble+        +        getErrorYhigh :: a -> CInt -> IO CDouble+        +        getErrorYlow :: a -> CInt -> IO CDouble+        +        initExpo :: a -> CDouble -> CDouble -> IO ()+        +        initGaus :: a -> CDouble -> CDouble -> IO ()+        +        initPolynom :: a -> CDouble -> CDouble -> IO ()+        +        insertPoint :: a -> IO CInt+        +        integralTGraph :: a -> CInt -> CInt -> IO CDouble+        +        isEditable :: a -> IO CInt+        +        isInsideTGraph :: a -> CDouble -> CDouble -> IO CInt+        +        leastSquareFit ::+                         a -> CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO ()+        +        paintStats :: (ITF1 c0, FPtr c0) => a -> c0 -> IO ()+        +        removePoint :: a -> CInt -> IO CInt+        +        setEditable :: a -> CInt -> IO ()+        +        setHistogram :: (ITH1F c0, FPtr c0) => a -> c0 -> IO ()+        +        setMaximumTGraph :: a -> CDouble -> IO ()+        +        setMinimumTGraph :: a -> CDouble -> IO ()+        +        set :: a -> CInt -> IO ()+        +        setPoint :: a -> CInt -> CDouble -> CDouble -> IO () -upcastTGraph :: (FPtr a, ITGraph a) => a -> TGraph-upcastTGraph h = let fh = get_fptr h-                     fh2 :: ForeignPtr RawTGraph = castForeignPtr fh-                 in cast_fptr_to_obj fh2+upcastTGraph :: forall a . (FPtr a, ITGraph a) => a -> TGraph+upcastTGraph h+  = let fh = get_fptr h+        fh2 :: Ptr RawTGraph = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTGraph :: (FPtr a, ITGraph a) => TGraph -> a -downcastTGraph h = let fh = get_fptr h-                       fh2 = castForeignPtr fh-                   in cast_fptr_to_obj fh2+downcastTGraph :: forall a . (FPtr a, ITGraph a) => TGraph -> a+downcastTGraph h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TGraph/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TGraph.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTGraph -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TGraph = TGraph (Ptr RawTGraph)+               deriving (Eq, Ord, Show) -data RawTGraph-newtype TGraph = TGraph (ForeignPtr RawTGraph) deriving (Eq, Ord, Show) instance FPtr TGraph where-   type Raw TGraph = RawTGraph-   get_fptr (TGraph fptr) = fptr-   cast_fptr_to_obj = TGraph+        type Raw TGraph = RawTGraph+        get_fptr (TGraph ptr) = ptr+        cast_fptr_to_obj = TGraph
src/HROOT/Hist/TGraphAsymmErrors.hs view
@@ -1,15 +1,8 @@ module HROOT.Hist.TGraphAsymmErrors-  (-    TGraphAsymmErrors(..)-  , ITGraphAsymmErrors-  , upcastTGraphAsymmErrors-  , downcastTGraphAsymmErrors-  , newTGraphAsymmErrors- -  ) where-+       (TGraphAsymmErrors(..), ITGraphAsymmErrors,+        upcastTGraphAsymmErrors, downcastTGraphAsymmErrors,+        newTGraphAsymmErrors)+       where import HROOT.Hist.TGraphAsymmErrors.RawType import HROOT.Hist.TGraphAsymmErrors.Interface import HROOT.Hist.TGraphAsymmErrors.Implementation--
src/HROOT/Hist/TGraphAsymmErrors/Cast.hs view
@@ -1,22 +1,19 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TGraphAsymmErrors.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TGraphAsymmErrors.RawType import HROOT.Hist.TGraphAsymmErrors.Interface -instance (ITGraphAsymmErrors a, FPtr a) => Castable a (Ptr RawTGraphAsymmErrors) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +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) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TGraphAsymmErrors.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TGraphAsymmErrors.RawType import HROOT.Hist.TF1.RawType import HROOT.Hist.TH1F.RawType@@ -19,194 +9,323 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTGraphAsymmErrors.h"--foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Apply" c_tgraphasymmerrors_apply -  :: (Ptr RawTGraphAsymmErrors) -> (Ptr RawTF1) -> IO ()--foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Chisquare" c_tgraphasymmerrors_chisquare -  :: (Ptr RawTGraphAsymmErrors) -> (Ptr RawTF1) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Apply"+               c_tgraphasymmerrors_apply ::+               Ptr RawTGraphAsymmErrors -> Ptr RawTF1 -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_DrawGraph" c_tgraphasymmerrors_drawgraph -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Chisquare"+               c_tgraphasymmerrors_chisquare ::+               Ptr RawTGraphAsymmErrors -> Ptr RawTF1 -> IO CDouble -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_drawPanelTGraph" c_tgraphasymmerrors_drawpaneltgraph -  :: (Ptr RawTGraphAsymmErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_DrawGraph"+               c_tgraphasymmerrors_drawgraph ::+               Ptr RawTGraphAsymmErrors ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Expand" c_tgraphasymmerrors_expand -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_drawPanelTGraph"+               c_tgraphasymmerrors_drawpaneltgraph ::+               Ptr RawTGraphAsymmErrors -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_FitPanelTGraph" c_tgraphasymmerrors_fitpaneltgraph -  :: (Ptr RawTGraphAsymmErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Expand"+               c_tgraphasymmerrors_expand ::+               Ptr RawTGraphAsymmErrors -> CInt -> CInt -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_getCorrelationFactorTGraph" c_tgraphasymmerrors_getcorrelationfactortgraph -  :: (Ptr RawTGraphAsymmErrors) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_FitPanelTGraph"+               c_tgraphasymmerrors_fitpaneltgraph ::+               Ptr RawTGraphAsymmErrors -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_getCovarianceTGraph" c_tgraphasymmerrors_getcovariancetgraph -  :: (Ptr RawTGraphAsymmErrors) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_getCorrelationFactorTGraph"+               c_tgraphasymmerrors_getcorrelationfactortgraph ::+               Ptr RawTGraphAsymmErrors -> IO CDouble -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_getMeanTGraph" c_tgraphasymmerrors_getmeantgraph -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_getCovarianceTGraph"+               c_tgraphasymmerrors_getcovariancetgraph ::+               Ptr RawTGraphAsymmErrors -> IO CDouble -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_getRMSTGraph" c_tgraphasymmerrors_getrmstgraph -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_getMeanTGraph"+               c_tgraphasymmerrors_getmeantgraph ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorX" c_tgraphasymmerrors_geterrorx -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_getRMSTGraph"+               c_tgraphasymmerrors_getrmstgraph ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorY" c_tgraphasymmerrors_geterrory -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorX"+               c_tgraphasymmerrors_geterrorx ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorXhigh" c_tgraphasymmerrors_geterrorxhigh -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorY"+               c_tgraphasymmerrors_geterrory ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorXlow" c_tgraphasymmerrors_geterrorxlow -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorXhigh"+               c_tgraphasymmerrors_geterrorxhigh ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorYhigh" c_tgraphasymmerrors_geterroryhigh -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorXlow"+               c_tgraphasymmerrors_geterrorxlow ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorYlow" c_tgraphasymmerrors_geterrorylow -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorYhigh"+               c_tgraphasymmerrors_geterroryhigh ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_InitExpo" c_tgraphasymmerrors_initexpo -  :: (Ptr RawTGraphAsymmErrors) -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetErrorYlow"+               c_tgraphasymmerrors_geterrorylow ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_InitGaus" c_tgraphasymmerrors_initgaus -  :: (Ptr RawTGraphAsymmErrors) -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_InitExpo"+               c_tgraphasymmerrors_initexpo ::+               Ptr RawTGraphAsymmErrors -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_InitPolynom" c_tgraphasymmerrors_initpolynom -  :: (Ptr RawTGraphAsymmErrors) -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_InitGaus"+               c_tgraphasymmerrors_initgaus ::+               Ptr RawTGraphAsymmErrors -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_InsertPoint" c_tgraphasymmerrors_insertpoint -  :: (Ptr RawTGraphAsymmErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_InitPolynom"+               c_tgraphasymmerrors_initpolynom ::+               Ptr RawTGraphAsymmErrors -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_integralTGraph" c_tgraphasymmerrors_integraltgraph -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_InsertPoint"+               c_tgraphasymmerrors_insertpoint ::+               Ptr RawTGraphAsymmErrors -> IO CInt -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_IsEditable" c_tgraphasymmerrors_iseditable -  :: (Ptr RawTGraphAsymmErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_integralTGraph"+               c_tgraphasymmerrors_integraltgraph ::+               Ptr RawTGraphAsymmErrors -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_isInsideTGraph" c_tgraphasymmerrors_isinsidetgraph -  :: (Ptr RawTGraphAsymmErrors) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_IsEditable"+               c_tgraphasymmerrors_iseditable ::+               Ptr RawTGraphAsymmErrors -> IO CInt -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_LeastSquareFit" c_tgraphasymmerrors_leastsquarefit -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_isInsideTGraph"+               c_tgraphasymmerrors_isinsidetgraph ::+               Ptr RawTGraphAsymmErrors -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_PaintStats" c_tgraphasymmerrors_paintstats -  :: (Ptr RawTGraphAsymmErrors) -> (Ptr RawTF1) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_LeastSquareFit"+               c_tgraphasymmerrors_leastsquarefit ::+               Ptr RawTGraphAsymmErrors ->+                 CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_RemovePoint" c_tgraphasymmerrors_removepoint -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_PaintStats"+               c_tgraphasymmerrors_paintstats ::+               Ptr RawTGraphAsymmErrors -> Ptr RawTF1 -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetEditable" c_tgraphasymmerrors_seteditable -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_RemovePoint"+               c_tgraphasymmerrors_removepoint ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO CInt -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetHistogram" c_tgraphasymmerrors_sethistogram -  :: (Ptr RawTGraphAsymmErrors) -> (Ptr RawTH1F) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetEditable"+               c_tgraphasymmerrors_seteditable ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_setMaximumTGraph" c_tgraphasymmerrors_setmaximumtgraph -  :: (Ptr RawTGraphAsymmErrors) -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetHistogram"+               c_tgraphasymmerrors_sethistogram ::+               Ptr RawTGraphAsymmErrors -> Ptr RawTH1F -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_setMinimumTGraph" c_tgraphasymmerrors_setminimumtgraph -  :: (Ptr RawTGraphAsymmErrors) -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_setMaximumTGraph"+               c_tgraphasymmerrors_setmaximumtgraph ::+               Ptr RawTGraphAsymmErrors -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Set" c_tgraphasymmerrors_set -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_setMinimumTGraph"+               c_tgraphasymmerrors_setminimumtgraph ::+               Ptr RawTGraphAsymmErrors -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetPoint" c_tgraphasymmerrors_setpoint -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Set"+               c_tgraphasymmerrors_set ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetName" c_tgraphasymmerrors_setname -  :: (Ptr RawTGraphAsymmErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetPoint"+               c_tgraphasymmerrors_setpoint ::+               Ptr RawTGraphAsymmErrors -> CInt -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetNameTitle" c_tgraphasymmerrors_setnametitle -  :: (Ptr RawTGraphAsymmErrors) -> CString -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetName"+               c_tgraphasymmerrors_setname ::+               Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetTitle" c_tgraphasymmerrors_settitle -  :: (Ptr RawTGraphAsymmErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetNameTitle"+               c_tgraphasymmerrors_setnametitle ::+               Ptr RawTGraphAsymmErrors -> CString -> CString -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetLineColor" c_tgraphasymmerrors_getlinecolor -  :: (Ptr RawTGraphAsymmErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetTitle"+               c_tgraphasymmerrors_settitle ::+               Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetLineStyle" c_tgraphasymmerrors_getlinestyle -  :: (Ptr RawTGraphAsymmErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetLineColor"+               c_tgraphasymmerrors_getlinecolor ::+               Ptr RawTGraphAsymmErrors -> IO CInt -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetLineWidth" c_tgraphasymmerrors_getlinewidth -  :: (Ptr RawTGraphAsymmErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetLineStyle"+               c_tgraphasymmerrors_getlinestyle ::+               Ptr RawTGraphAsymmErrors -> IO CInt -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_ResetAttLine" c_tgraphasymmerrors_resetattline -  :: (Ptr RawTGraphAsymmErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetLineWidth"+               c_tgraphasymmerrors_getlinewidth ::+               Ptr RawTGraphAsymmErrors -> IO CInt -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetLineAttributes" c_tgraphasymmerrors_setlineattributes -  :: (Ptr RawTGraphAsymmErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_ResetAttLine"+               c_tgraphasymmerrors_resetattline ::+               Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetLineColor" c_tgraphasymmerrors_setlinecolor -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetLineAttributes"+               c_tgraphasymmerrors_setlineattributes ::+               Ptr RawTGraphAsymmErrors -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetLineStyle" c_tgraphasymmerrors_setlinestyle -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetLineColor"+               c_tgraphasymmerrors_setlinecolor ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetLineWidth" c_tgraphasymmerrors_setlinewidth -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetLineStyle"+               c_tgraphasymmerrors_setlinestyle ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetFillColor" c_tgraphasymmerrors_setfillcolor -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetLineWidth"+               c_tgraphasymmerrors_setlinewidth ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetFillStyle" c_tgraphasymmerrors_setfillstyle -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetFillColor"+               c_tgraphasymmerrors_setfillcolor ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetMarkerColor" c_tgraphasymmerrors_getmarkercolor -  :: (Ptr RawTGraphAsymmErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetFillStyle"+               c_tgraphasymmerrors_setfillstyle ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetMarkerStyle" c_tgraphasymmerrors_getmarkerstyle -  :: (Ptr RawTGraphAsymmErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetMarkerColor"+               c_tgraphasymmerrors_getmarkercolor ::+               Ptr RawTGraphAsymmErrors -> IO CInt -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetMarkerSize" c_tgraphasymmerrors_getmarkersize -  :: (Ptr RawTGraphAsymmErrors) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetMarkerStyle"+               c_tgraphasymmerrors_getmarkerstyle ::+               Ptr RawTGraphAsymmErrors -> IO CInt -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_ResetAttMarker" c_tgraphasymmerrors_resetattmarker -  :: (Ptr RawTGraphAsymmErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetMarkerSize"+               c_tgraphasymmerrors_getmarkersize ::+               Ptr RawTGraphAsymmErrors -> IO CDouble -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetMarkerAttributes" c_tgraphasymmerrors_setmarkerattributes -  :: (Ptr RawTGraphAsymmErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_ResetAttMarker"+               c_tgraphasymmerrors_resetattmarker ::+               Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetMarkerColor" c_tgraphasymmerrors_setmarkercolor -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetMarkerAttributes"+               c_tgraphasymmerrors_setmarkerattributes ::+               Ptr RawTGraphAsymmErrors -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetMarkerStyle" c_tgraphasymmerrors_setmarkerstyle -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetMarkerColor"+               c_tgraphasymmerrors_setmarkercolor ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetMarkerSize" c_tgraphasymmerrors_setmarkersize -  :: (Ptr RawTGraphAsymmErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetMarkerStyle"+               c_tgraphasymmerrors_setmarkerstyle ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Draw" c_tgraphasymmerrors_draw -  :: (Ptr RawTGraphAsymmErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SetMarkerSize"+               c_tgraphasymmerrors_setmarkersize ::+               Ptr RawTGraphAsymmErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_FindObject" c_tgraphasymmerrors_findobject -  :: (Ptr RawTGraphAsymmErrors) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Draw"+               c_tgraphasymmerrors_draw ::+               Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetName" c_tgraphasymmerrors_getname -  :: (Ptr RawTGraphAsymmErrors) -> IO CString+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_FindObject"+               c_tgraphasymmerrors_findobject ::+               Ptr RawTGraphAsymmErrors -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_IsA" c_tgraphasymmerrors_isa -  :: (Ptr RawTGraphAsymmErrors) -> IO (Ptr RawTClass)+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_GetName"+               c_tgraphasymmerrors_getname ::+               Ptr RawTGraphAsymmErrors -> IO CString -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Paint" c_tgraphasymmerrors_paint -  :: (Ptr RawTGraphAsymmErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_IsA"+               c_tgraphasymmerrors_isa ::+               Ptr RawTGraphAsymmErrors -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_printObj" c_tgraphasymmerrors_printobj -  :: (Ptr RawTGraphAsymmErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Paint"+               c_tgraphasymmerrors_paint ::+               Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SaveAs" c_tgraphasymmerrors_saveas -  :: (Ptr RawTGraphAsymmErrors) -> CString -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_printObj"+               c_tgraphasymmerrors_printobj ::+               Ptr RawTGraphAsymmErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Write" c_tgraphasymmerrors_write -  :: (Ptr RawTGraphAsymmErrors) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_SaveAs"+               c_tgraphasymmerrors_saveas ::+               Ptr RawTGraphAsymmErrors -> CString -> CString -> IO () -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_delete" c_tgraphasymmerrors_delete -  :: (Ptr RawTGraphAsymmErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_Write"+               c_tgraphasymmerrors_write ::+               Ptr RawTGraphAsymmErrors -> CString -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_newTGraphAsymmErrors" c_tgraphasymmerrors_newtgraphasymmerrors -  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphAsymmErrors)+foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_delete"+               c_tgraphasymmerrors_delete :: Ptr RawTGraphAsymmErrors -> IO () +foreign import ccall safe+               "HROOTHistTGraphAsymmErrors.h TGraphAsymmErrors_newTGraphAsymmErrors"+               c_tgraphasymmerrors_newtgraphasymmerrors ::+               CInt ->+                 (Ptr CDouble) ->+                   (Ptr CDouble) ->+                     (Ptr CDouble) ->+                       (Ptr CDouble) ->+                         (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphAsymmErrors)
src/HROOT/Hist/TGraphAsymmErrors/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TGraphAsymmErrors.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TGraphAsymmErrors.RawType import HROOT.Hist.TGraphAsymmErrors.FFI import HROOT.Hist.TGraphAsymmErrors.Interface@@ -45,166 +46,93 @@ import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITGraphAsymmErrors TGraphAsymmErrors -instance ITGraphAsymmErrors TGraphAsymmErrors where instance ITGraph TGraphAsymmErrors where-  apply = xform1 c_tgraphasymmerrors_apply-  chisquare = xform1 c_tgraphasymmerrors_chisquare-  drawGraph = xform4 c_tgraphasymmerrors_drawgraph-  drawPanelTGraph = xform0 c_tgraphasymmerrors_drawpaneltgraph-  expand = xform2 c_tgraphasymmerrors_expand-  fitPanelTGraph = xform0 c_tgraphasymmerrors_fitpaneltgraph-  getCorrelationFactorTGraph = xform0 c_tgraphasymmerrors_getcorrelationfactortgraph-  getCovarianceTGraph = xform0 c_tgraphasymmerrors_getcovariancetgraph-  getMeanTGraph = xform1 c_tgraphasymmerrors_getmeantgraph-  getRMSTGraph = xform1 c_tgraphasymmerrors_getrmstgraph-  getErrorX = xform1 c_tgraphasymmerrors_geterrorx-  getErrorY = xform1 c_tgraphasymmerrors_geterrory-  getErrorXhigh = xform1 c_tgraphasymmerrors_geterrorxhigh-  getErrorXlow = xform1 c_tgraphasymmerrors_geterrorxlow-  getErrorYhigh = xform1 c_tgraphasymmerrors_geterroryhigh-  getErrorYlow = xform1 c_tgraphasymmerrors_geterrorylow-  initExpo = xform2 c_tgraphasymmerrors_initexpo-  initGaus = xform2 c_tgraphasymmerrors_initgaus-  initPolynom = xform2 c_tgraphasymmerrors_initpolynom-  insertPoint = xform0 c_tgraphasymmerrors_insertpoint-  integralTGraph = xform2 c_tgraphasymmerrors_integraltgraph-  isEditable = xform0 c_tgraphasymmerrors_iseditable-  isInsideTGraph = xform2 c_tgraphasymmerrors_isinsidetgraph-  leastSquareFit = xform4 c_tgraphasymmerrors_leastsquarefit-  paintStats = xform1 c_tgraphasymmerrors_paintstats-  removePoint = xform1 c_tgraphasymmerrors_removepoint-  setEditable = xform1 c_tgraphasymmerrors_seteditable-  setHistogram = xform1 c_tgraphasymmerrors_sethistogram-  setMaximumTGraph = xform1 c_tgraphasymmerrors_setmaximumtgraph-  setMinimumTGraph = xform1 c_tgraphasymmerrors_setminimumtgraph-  set = xform1 c_tgraphasymmerrors_set-  setPoint = xform3 c_tgraphasymmerrors_setpoint-instance ITNamed TGraphAsymmErrors where-  setName = xform1 c_tgraphasymmerrors_setname-  setNameTitle = xform2 c_tgraphasymmerrors_setnametitle-  setTitle = xform1 c_tgraphasymmerrors_settitle-instance ITAttLine TGraphAsymmErrors where-  getLineColor = xform0 c_tgraphasymmerrors_getlinecolor-  getLineStyle = xform0 c_tgraphasymmerrors_getlinestyle-  getLineWidth = xform0 c_tgraphasymmerrors_getlinewidth-  resetAttLine = xform1 c_tgraphasymmerrors_resetattline-  setLineAttributes = xform0 c_tgraphasymmerrors_setlineattributes-  setLineColor = xform1 c_tgraphasymmerrors_setlinecolor-  setLineStyle = xform1 c_tgraphasymmerrors_setlinestyle-  setLineWidth = xform1 c_tgraphasymmerrors_setlinewidth-instance ITAttFill TGraphAsymmErrors where-  setFillColor = xform1 c_tgraphasymmerrors_setfillcolor-  setFillStyle = xform1 c_tgraphasymmerrors_setfillstyle-instance ITAttMarker TGraphAsymmErrors where-  getMarkerColor = xform0 c_tgraphasymmerrors_getmarkercolor-  getMarkerStyle = xform0 c_tgraphasymmerrors_getmarkerstyle-  getMarkerSize = xform0 c_tgraphasymmerrors_getmarkersize-  resetAttMarker = xform1 c_tgraphasymmerrors_resetattmarker-  setMarkerAttributes = xform0 c_tgraphasymmerrors_setmarkerattributes-  setMarkerColor = xform1 c_tgraphasymmerrors_setmarkercolor-  setMarkerStyle = xform1 c_tgraphasymmerrors_setmarkerstyle-  setMarkerSize = xform1 c_tgraphasymmerrors_setmarkersize-instance ITObject TGraphAsymmErrors where-  draw = xform1 c_tgraphasymmerrors_draw-  findObject = xform1 c_tgraphasymmerrors_findobject-  getName = xform0 c_tgraphasymmerrors_getname-  isA = xform0 c_tgraphasymmerrors_isa-  paint = xform1 c_tgraphasymmerrors_paint-  printObj = xform1 c_tgraphasymmerrors_printobj-  saveAs = xform2 c_tgraphasymmerrors_saveas-  write = xform3 c_tgraphasymmerrors_write-instance IDeletable TGraphAsymmErrors where-  delete = xform0 c_tgraphasymmerrors_delete--instance ITGraphAsymmErrors (Exist TGraphAsymmErrors) where--instance ITGraph (Exist TGraphAsymmErrors) where-  apply (ETGraphAsymmErrors x) = apply x-  chisquare (ETGraphAsymmErrors x) = chisquare x-  drawGraph (ETGraphAsymmErrors x) = drawGraph x-  drawPanelTGraph (ETGraphAsymmErrors x) = drawPanelTGraph x-  expand (ETGraphAsymmErrors x) = expand x-  fitPanelTGraph (ETGraphAsymmErrors x) = fitPanelTGraph x-  getCorrelationFactorTGraph (ETGraphAsymmErrors x) = getCorrelationFactorTGraph x-  getCovarianceTGraph (ETGraphAsymmErrors x) = getCovarianceTGraph x-  getMeanTGraph (ETGraphAsymmErrors x) = getMeanTGraph x-  getRMSTGraph (ETGraphAsymmErrors x) = getRMSTGraph x-  getErrorX (ETGraphAsymmErrors x) = getErrorX x-  getErrorY (ETGraphAsymmErrors x) = getErrorY x-  getErrorXhigh (ETGraphAsymmErrors x) = getErrorXhigh x-  getErrorXlow (ETGraphAsymmErrors x) = getErrorXlow x-  getErrorYhigh (ETGraphAsymmErrors x) = getErrorYhigh x-  getErrorYlow (ETGraphAsymmErrors x) = getErrorYlow x-  initExpo (ETGraphAsymmErrors x) = initExpo x-  initGaus (ETGraphAsymmErrors x) = initGaus x-  initPolynom (ETGraphAsymmErrors x) = initPolynom x-  insertPoint (ETGraphAsymmErrors x) = insertPoint x-  integralTGraph (ETGraphAsymmErrors x) = integralTGraph x-  isEditable (ETGraphAsymmErrors x) = isEditable x-  isInsideTGraph (ETGraphAsymmErrors x) = isInsideTGraph x-  leastSquareFit (ETGraphAsymmErrors x) = leastSquareFit x-  paintStats (ETGraphAsymmErrors x) = paintStats x-  removePoint (ETGraphAsymmErrors x) = removePoint x-  setEditable (ETGraphAsymmErrors x) = setEditable x-  setHistogram (ETGraphAsymmErrors x) = setHistogram x-  setMaximumTGraph (ETGraphAsymmErrors x) = setMaximumTGraph x-  setMinimumTGraph (ETGraphAsymmErrors x) = setMinimumTGraph x-  set (ETGraphAsymmErrors x) = set x-  setPoint (ETGraphAsymmErrors x) = setPoint x-instance ITNamed (Exist TGraphAsymmErrors) where-  setName (ETGraphAsymmErrors x) = setName x-  setNameTitle (ETGraphAsymmErrors x) = setNameTitle x-  setTitle (ETGraphAsymmErrors x) = setTitle x-instance ITAttLine (Exist TGraphAsymmErrors) where-  getLineColor (ETGraphAsymmErrors x) = getLineColor x-  getLineStyle (ETGraphAsymmErrors x) = getLineStyle x-  getLineWidth (ETGraphAsymmErrors x) = getLineWidth x-  resetAttLine (ETGraphAsymmErrors x) = resetAttLine x-  setLineAttributes (ETGraphAsymmErrors x) = setLineAttributes x-  setLineColor (ETGraphAsymmErrors x) = setLineColor x-  setLineStyle (ETGraphAsymmErrors x) = setLineStyle x-  setLineWidth (ETGraphAsymmErrors x) = setLineWidth x-instance ITAttFill (Exist TGraphAsymmErrors) where-  setFillColor (ETGraphAsymmErrors x) = setFillColor x-  setFillStyle (ETGraphAsymmErrors x) = setFillStyle x-instance ITAttMarker (Exist TGraphAsymmErrors) where-  getMarkerColor (ETGraphAsymmErrors x) = getMarkerColor x-  getMarkerStyle (ETGraphAsymmErrors x) = getMarkerStyle x-  getMarkerSize (ETGraphAsymmErrors x) = getMarkerSize x-  resetAttMarker (ETGraphAsymmErrors x) = resetAttMarker x-  setMarkerAttributes (ETGraphAsymmErrors x) = setMarkerAttributes x-  setMarkerColor (ETGraphAsymmErrors x) = setMarkerColor x-  setMarkerStyle (ETGraphAsymmErrors x) = setMarkerStyle x-  setMarkerSize (ETGraphAsymmErrors x) = setMarkerSize x-instance ITObject (Exist TGraphAsymmErrors) where-  draw (ETGraphAsymmErrors x) = draw x-  findObject (ETGraphAsymmErrors x) = findObject x-  getName (ETGraphAsymmErrors x) = getName x-  isA (ETGraphAsymmErrors x) = isA x-  paint (ETGraphAsymmErrors x) = paint x-  printObj (ETGraphAsymmErrors x) = printObj x-  saveAs (ETGraphAsymmErrors x) = saveAs x-  write (ETGraphAsymmErrors x) = write x-instance IDeletable (Exist TGraphAsymmErrors) where-  delete (ETGraphAsymmErrors x) = delete x+        apply = xform1 c_tgraphasymmerrors_apply+        chisquare = xform1 c_tgraphasymmerrors_chisquare+        drawGraph = xform4 c_tgraphasymmerrors_drawgraph+        drawPanelTGraph = xform0 c_tgraphasymmerrors_drawpaneltgraph+        expand = xform2 c_tgraphasymmerrors_expand+        fitPanelTGraph = xform0 c_tgraphasymmerrors_fitpaneltgraph+        getCorrelationFactorTGraph+          = xform0 c_tgraphasymmerrors_getcorrelationfactortgraph+        getCovarianceTGraph+          = xform0 c_tgraphasymmerrors_getcovariancetgraph+        getMeanTGraph = xform1 c_tgraphasymmerrors_getmeantgraph+        getRMSTGraph = xform1 c_tgraphasymmerrors_getrmstgraph+        getErrorX = xform1 c_tgraphasymmerrors_geterrorx+        getErrorY = xform1 c_tgraphasymmerrors_geterrory+        getErrorXhigh = xform1 c_tgraphasymmerrors_geterrorxhigh+        getErrorXlow = xform1 c_tgraphasymmerrors_geterrorxlow+        getErrorYhigh = xform1 c_tgraphasymmerrors_geterroryhigh+        getErrorYlow = xform1 c_tgraphasymmerrors_geterrorylow+        initExpo = xform2 c_tgraphasymmerrors_initexpo+        initGaus = xform2 c_tgraphasymmerrors_initgaus+        initPolynom = xform2 c_tgraphasymmerrors_initpolynom+        insertPoint = xform0 c_tgraphasymmerrors_insertpoint+        integralTGraph = xform2 c_tgraphasymmerrors_integraltgraph+        isEditable = xform0 c_tgraphasymmerrors_iseditable+        isInsideTGraph = xform2 c_tgraphasymmerrors_isinsidetgraph+        leastSquareFit = xform4 c_tgraphasymmerrors_leastsquarefit+        paintStats = xform1 c_tgraphasymmerrors_paintstats+        removePoint = xform1 c_tgraphasymmerrors_removepoint+        setEditable = xform1 c_tgraphasymmerrors_seteditable+        setHistogram = xform1 c_tgraphasymmerrors_sethistogram+        setMaximumTGraph = xform1 c_tgraphasymmerrors_setmaximumtgraph+        setMinimumTGraph = xform1 c_tgraphasymmerrors_setminimumtgraph+        set = xform1 c_tgraphasymmerrors_set+        setPoint = xform3 c_tgraphasymmerrors_setpoint +instance ITNamed TGraphAsymmErrors where+        setName = xform1 c_tgraphasymmerrors_setname+        setNameTitle = xform2 c_tgraphasymmerrors_setnametitle+        setTitle = xform1 c_tgraphasymmerrors_settitle -newTGraphAsymmErrors :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO TGraphAsymmErrors-newTGraphAsymmErrors = xform6 c_tgraphasymmerrors_newtgraphasymmerrors+instance ITAttLine TGraphAsymmErrors where+        getLineColor = xform0 c_tgraphasymmerrors_getlinecolor+        getLineStyle = xform0 c_tgraphasymmerrors_getlinestyle+        getLineWidth = xform0 c_tgraphasymmerrors_getlinewidth+        resetAttLine = xform1 c_tgraphasymmerrors_resetattline+        setLineAttributes = xform0 c_tgraphasymmerrors_setlineattributes+        setLineColor = xform1 c_tgraphasymmerrors_setlinecolor+        setLineStyle = xform1 c_tgraphasymmerrors_setlinestyle+        setLineWidth = xform1 c_tgraphasymmerrors_setlinewidth +instance ITAttFill TGraphAsymmErrors where+        setFillColor = xform1 c_tgraphasymmerrors_setfillcolor+        setFillStyle = xform1 c_tgraphasymmerrors_setfillstyle +instance ITAttMarker TGraphAsymmErrors where+        getMarkerColor = xform0 c_tgraphasymmerrors_getmarkercolor+        getMarkerStyle = xform0 c_tgraphasymmerrors_getmarkerstyle+        getMarkerSize = xform0 c_tgraphasymmerrors_getmarkersize+        resetAttMarker = xform1 c_tgraphasymmerrors_resetattmarker+        setMarkerAttributes+          = xform0 c_tgraphasymmerrors_setmarkerattributes+        setMarkerColor = xform1 c_tgraphasymmerrors_setmarkercolor+        setMarkerStyle = xform1 c_tgraphasymmerrors_setmarkerstyle+        setMarkerSize = xform1 c_tgraphasymmerrors_setmarkersize +instance ITObject TGraphAsymmErrors where+        draw = xform1 c_tgraphasymmerrors_draw+        findObject = xform1 c_tgraphasymmerrors_findobject+        getName = xform0 c_tgraphasymmerrors_getname+        isA = xform0 c_tgraphasymmerrors_isa+        paint = xform1 c_tgraphasymmerrors_paint+        printObj = xform1 c_tgraphasymmerrors_printobj+        saveAs = xform2 c_tgraphasymmerrors_saveas+        write = xform3 c_tgraphasymmerrors_write +instance IDeletable TGraphAsymmErrors where+        delete = xform0 c_tgraphasymmerrors_delete -instance FPtr (Exist TGraphAsymmErrors) where-  type Raw (Exist TGraphAsymmErrors) = RawTGraphAsymmErrors-  get_fptr (ETGraphAsymmErrors obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETGraphAsymmErrors (cast_fptr_to_obj (fptr :: ForeignPtr RawTGraphAsymmErrors) :: TGraphAsymmErrors)+newTGraphAsymmErrors ::+                       CInt ->+                         (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
@@ -1,36 +1,27 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TGraphAsymmErrors.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TGraphAsymmErrors.RawType- import HROOT.Hist.TGraph.Interface----- ============ ---- ---class (ITGraph a) => ITGraphAsymmErrors a where--instance Existable TGraphAsymmErrors where-  data Exist TGraphAsymmErrors = forall a. (FPtr a, ITGraphAsymmErrors a) => ETGraphAsymmErrors a+class ITGraph a => ITGraphAsymmErrors a -upcastTGraphAsymmErrors :: (FPtr a, ITGraphAsymmErrors a) => a -> TGraphAsymmErrors-upcastTGraphAsymmErrors h = let fh = get_fptr h-                                fh2 :: ForeignPtr RawTGraphAsymmErrors = castForeignPtr fh-                            in cast_fptr_to_obj fh2+upcastTGraphAsymmErrors ::+                        forall a . (FPtr a, ITGraphAsymmErrors a) => a -> TGraphAsymmErrors+upcastTGraphAsymmErrors h+  = let fh = get_fptr h+        fh2 :: Ptr RawTGraphAsymmErrors = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTGraphAsymmErrors :: (FPtr a, ITGraphAsymmErrors a) => TGraphAsymmErrors -> a -downcastTGraphAsymmErrors h = let fh = get_fptr h-                                  fh2 = castForeignPtr fh-                              in cast_fptr_to_obj fh2+downcastTGraphAsymmErrors ::+                          forall a . (FPtr a, ITGraphAsymmErrors a) => TGraphAsymmErrors -> a+downcastTGraphAsymmErrors h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TGraphAsymmErrors/RawType.hs view
@@ -1,16 +1,17 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TGraphAsymmErrors.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTGraphAsymmErrors -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TGraphAsymmErrors = TGraphAsymmErrors (Ptr+                                                 RawTGraphAsymmErrors)+                          deriving (Eq, Ord, Show) -data RawTGraphAsymmErrors-newtype TGraphAsymmErrors = TGraphAsymmErrors (ForeignPtr RawTGraphAsymmErrors) deriving (Eq, Ord, Show) instance FPtr TGraphAsymmErrors where-   type Raw TGraphAsymmErrors = RawTGraphAsymmErrors-   get_fptr (TGraphAsymmErrors fptr) = fptr-   cast_fptr_to_obj = TGraphAsymmErrors+        type Raw TGraphAsymmErrors = RawTGraphAsymmErrors+        get_fptr (TGraphAsymmErrors ptr) = ptr+        cast_fptr_to_obj = TGraphAsymmErrors
src/HROOT/Hist/TGraphBentErrors.hs view
@@ -1,15 +1,7 @@ module HROOT.Hist.TGraphBentErrors-  (-    TGraphBentErrors(..)-  , ITGraphBentErrors-  , upcastTGraphBentErrors-  , downcastTGraphBentErrors-  , newTGraphBentErrors- -  ) where-+       (TGraphBentErrors(..), ITGraphBentErrors, upcastTGraphBentErrors,+        downcastTGraphBentErrors, newTGraphBentErrors)+       where import HROOT.Hist.TGraphBentErrors.RawType import HROOT.Hist.TGraphBentErrors.Interface import HROOT.Hist.TGraphBentErrors.Implementation--
src/HROOT/Hist/TGraphBentErrors/Cast.hs view
@@ -1,22 +1,18 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TGraphBentErrors.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TGraphBentErrors.RawType import HROOT.Hist.TGraphBentErrors.Interface -instance (ITGraphBentErrors a, FPtr a) => Castable a (Ptr RawTGraphBentErrors) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +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-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TGraphBentErrors.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TGraphBentErrors.RawType import HROOT.Hist.TF1.RawType import HROOT.Hist.TH1F.RawType@@ -19,194 +9,324 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTGraphBentErrors.h"--foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_Apply" c_tgraphbenterrors_apply -  :: (Ptr RawTGraphBentErrors) -> (Ptr RawTF1) -> IO ()--foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_Chisquare" c_tgraphbenterrors_chisquare -  :: (Ptr RawTGraphBentErrors) -> (Ptr RawTF1) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_Apply"+               c_tgraphbenterrors_apply ::+               Ptr RawTGraphBentErrors -> Ptr RawTF1 -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_DrawGraph" c_tgraphbenterrors_drawgraph -  :: (Ptr RawTGraphBentErrors) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_Chisquare"+               c_tgraphbenterrors_chisquare ::+               Ptr RawTGraphBentErrors -> Ptr RawTF1 -> IO CDouble -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_drawPanelTGraph" c_tgraphbenterrors_drawpaneltgraph -  :: (Ptr RawTGraphBentErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_DrawGraph"+               c_tgraphbenterrors_drawgraph ::+               Ptr RawTGraphBentErrors ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_Expand" c_tgraphbenterrors_expand -  :: (Ptr RawTGraphBentErrors) -> CInt -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_drawPanelTGraph"+               c_tgraphbenterrors_drawpaneltgraph ::+               Ptr RawTGraphBentErrors -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_FitPanelTGraph" c_tgraphbenterrors_fitpaneltgraph -  :: (Ptr RawTGraphBentErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_Expand"+               c_tgraphbenterrors_expand ::+               Ptr RawTGraphBentErrors -> CInt -> CInt -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_getCorrelationFactorTGraph" c_tgraphbenterrors_getcorrelationfactortgraph -  :: (Ptr RawTGraphBentErrors) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_FitPanelTGraph"+               c_tgraphbenterrors_fitpaneltgraph ::+               Ptr RawTGraphBentErrors -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_getCovarianceTGraph" c_tgraphbenterrors_getcovariancetgraph -  :: (Ptr RawTGraphBentErrors) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_getCorrelationFactorTGraph"+               c_tgraphbenterrors_getcorrelationfactortgraph ::+               Ptr RawTGraphBentErrors -> IO CDouble -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_getMeanTGraph" c_tgraphbenterrors_getmeantgraph -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_getCovarianceTGraph"+               c_tgraphbenterrors_getcovariancetgraph ::+               Ptr RawTGraphBentErrors -> IO CDouble -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_getRMSTGraph" c_tgraphbenterrors_getrmstgraph -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_getMeanTGraph"+               c_tgraphbenterrors_getmeantgraph ::+               Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorX" c_tgraphbenterrors_geterrorx -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_getRMSTGraph"+               c_tgraphbenterrors_getrmstgraph ::+               Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorY" c_tgraphbenterrors_geterrory -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorX"+               c_tgraphbenterrors_geterrorx ::+               Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorXhigh" c_tgraphbenterrors_geterrorxhigh -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorY"+               c_tgraphbenterrors_geterrory ::+               Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorXlow" c_tgraphbenterrors_geterrorxlow -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorXhigh"+               c_tgraphbenterrors_geterrorxhigh ::+               Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorYhigh" c_tgraphbenterrors_geterroryhigh -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorXlow"+               c_tgraphbenterrors_geterrorxlow ::+               Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorYlow" c_tgraphbenterrors_geterrorylow -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorYhigh"+               c_tgraphbenterrors_geterroryhigh ::+               Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_InitExpo" c_tgraphbenterrors_initexpo -  :: (Ptr RawTGraphBentErrors) -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetErrorYlow"+               c_tgraphbenterrors_geterrorylow ::+               Ptr RawTGraphBentErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_InitGaus" c_tgraphbenterrors_initgaus -  :: (Ptr RawTGraphBentErrors) -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_InitExpo"+               c_tgraphbenterrors_initexpo ::+               Ptr RawTGraphBentErrors -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_InitPolynom" c_tgraphbenterrors_initpolynom -  :: (Ptr RawTGraphBentErrors) -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_InitGaus"+               c_tgraphbenterrors_initgaus ::+               Ptr RawTGraphBentErrors -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_InsertPoint" c_tgraphbenterrors_insertpoint -  :: (Ptr RawTGraphBentErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_InitPolynom"+               c_tgraphbenterrors_initpolynom ::+               Ptr RawTGraphBentErrors -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_integralTGraph" c_tgraphbenterrors_integraltgraph -  :: (Ptr RawTGraphBentErrors) -> CInt -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_InsertPoint"+               c_tgraphbenterrors_insertpoint ::+               Ptr RawTGraphBentErrors -> IO CInt -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_IsEditable" c_tgraphbenterrors_iseditable -  :: (Ptr RawTGraphBentErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_integralTGraph"+               c_tgraphbenterrors_integraltgraph ::+               Ptr RawTGraphBentErrors -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_isInsideTGraph" c_tgraphbenterrors_isinsidetgraph -  :: (Ptr RawTGraphBentErrors) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_IsEditable"+               c_tgraphbenterrors_iseditable :: Ptr RawTGraphBentErrors -> IO CInt -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_LeastSquareFit" c_tgraphbenterrors_leastsquarefit -  :: (Ptr RawTGraphBentErrors) -> CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_isInsideTGraph"+               c_tgraphbenterrors_isinsidetgraph ::+               Ptr RawTGraphBentErrors -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_PaintStats" c_tgraphbenterrors_paintstats -  :: (Ptr RawTGraphBentErrors) -> (Ptr RawTF1) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_LeastSquareFit"+               c_tgraphbenterrors_leastsquarefit ::+               Ptr RawTGraphBentErrors ->+                 CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_RemovePoint" c_tgraphbenterrors_removepoint -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_PaintStats"+               c_tgraphbenterrors_paintstats ::+               Ptr RawTGraphBentErrors -> Ptr RawTF1 -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetEditable" c_tgraphbenterrors_seteditable -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_RemovePoint"+               c_tgraphbenterrors_removepoint ::+               Ptr RawTGraphBentErrors -> CInt -> IO CInt -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetHistogram" c_tgraphbenterrors_sethistogram -  :: (Ptr RawTGraphBentErrors) -> (Ptr RawTH1F) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetEditable"+               c_tgraphbenterrors_seteditable ::+               Ptr RawTGraphBentErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_setMaximumTGraph" c_tgraphbenterrors_setmaximumtgraph -  :: (Ptr RawTGraphBentErrors) -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetHistogram"+               c_tgraphbenterrors_sethistogram ::+               Ptr RawTGraphBentErrors -> Ptr RawTH1F -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_setMinimumTGraph" c_tgraphbenterrors_setminimumtgraph -  :: (Ptr RawTGraphBentErrors) -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_setMaximumTGraph"+               c_tgraphbenterrors_setmaximumtgraph ::+               Ptr RawTGraphBentErrors -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_Set" c_tgraphbenterrors_set -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_setMinimumTGraph"+               c_tgraphbenterrors_setminimumtgraph ::+               Ptr RawTGraphBentErrors -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetPoint" c_tgraphbenterrors_setpoint -  :: (Ptr RawTGraphBentErrors) -> CInt -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_Set"+               c_tgraphbenterrors_set :: Ptr RawTGraphBentErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetName" c_tgraphbenterrors_setname -  :: (Ptr RawTGraphBentErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetPoint"+               c_tgraphbenterrors_setpoint ::+               Ptr RawTGraphBentErrors -> CInt -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetNameTitle" c_tgraphbenterrors_setnametitle -  :: (Ptr RawTGraphBentErrors) -> CString -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetName"+               c_tgraphbenterrors_setname ::+               Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetTitle" c_tgraphbenterrors_settitle -  :: (Ptr RawTGraphBentErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetNameTitle"+               c_tgraphbenterrors_setnametitle ::+               Ptr RawTGraphBentErrors -> CString -> CString -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetLineColor" c_tgraphbenterrors_getlinecolor -  :: (Ptr RawTGraphBentErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetTitle"+               c_tgraphbenterrors_settitle ::+               Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetLineStyle" c_tgraphbenterrors_getlinestyle -  :: (Ptr RawTGraphBentErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetLineColor"+               c_tgraphbenterrors_getlinecolor ::+               Ptr RawTGraphBentErrors -> IO CInt -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetLineWidth" c_tgraphbenterrors_getlinewidth -  :: (Ptr RawTGraphBentErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetLineStyle"+               c_tgraphbenterrors_getlinestyle ::+               Ptr RawTGraphBentErrors -> IO CInt -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_ResetAttLine" c_tgraphbenterrors_resetattline -  :: (Ptr RawTGraphBentErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetLineWidth"+               c_tgraphbenterrors_getlinewidth ::+               Ptr RawTGraphBentErrors -> IO CInt -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetLineAttributes" c_tgraphbenterrors_setlineattributes -  :: (Ptr RawTGraphBentErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_ResetAttLine"+               c_tgraphbenterrors_resetattline ::+               Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetLineColor" c_tgraphbenterrors_setlinecolor -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetLineAttributes"+               c_tgraphbenterrors_setlineattributes ::+               Ptr RawTGraphBentErrors -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetLineStyle" c_tgraphbenterrors_setlinestyle -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetLineColor"+               c_tgraphbenterrors_setlinecolor ::+               Ptr RawTGraphBentErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetLineWidth" c_tgraphbenterrors_setlinewidth -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetLineStyle"+               c_tgraphbenterrors_setlinestyle ::+               Ptr RawTGraphBentErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetFillColor" c_tgraphbenterrors_setfillcolor -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetLineWidth"+               c_tgraphbenterrors_setlinewidth ::+               Ptr RawTGraphBentErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetFillStyle" c_tgraphbenterrors_setfillstyle -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetFillColor"+               c_tgraphbenterrors_setfillcolor ::+               Ptr RawTGraphBentErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetMarkerColor" c_tgraphbenterrors_getmarkercolor -  :: (Ptr RawTGraphBentErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetFillStyle"+               c_tgraphbenterrors_setfillstyle ::+               Ptr RawTGraphBentErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetMarkerStyle" c_tgraphbenterrors_getmarkerstyle -  :: (Ptr RawTGraphBentErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetMarkerColor"+               c_tgraphbenterrors_getmarkercolor ::+               Ptr RawTGraphBentErrors -> IO CInt -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetMarkerSize" c_tgraphbenterrors_getmarkersize -  :: (Ptr RawTGraphBentErrors) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetMarkerStyle"+               c_tgraphbenterrors_getmarkerstyle ::+               Ptr RawTGraphBentErrors -> IO CInt -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_ResetAttMarker" c_tgraphbenterrors_resetattmarker -  :: (Ptr RawTGraphBentErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetMarkerSize"+               c_tgraphbenterrors_getmarkersize ::+               Ptr RawTGraphBentErrors -> IO CDouble -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetMarkerAttributes" c_tgraphbenterrors_setmarkerattributes -  :: (Ptr RawTGraphBentErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_ResetAttMarker"+               c_tgraphbenterrors_resetattmarker ::+               Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetMarkerColor" c_tgraphbenterrors_setmarkercolor -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetMarkerAttributes"+               c_tgraphbenterrors_setmarkerattributes ::+               Ptr RawTGraphBentErrors -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetMarkerStyle" c_tgraphbenterrors_setmarkerstyle -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetMarkerColor"+               c_tgraphbenterrors_setmarkercolor ::+               Ptr RawTGraphBentErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetMarkerSize" c_tgraphbenterrors_setmarkersize -  :: (Ptr RawTGraphBentErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetMarkerStyle"+               c_tgraphbenterrors_setmarkerstyle ::+               Ptr RawTGraphBentErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_Draw" c_tgraphbenterrors_draw -  :: (Ptr RawTGraphBentErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SetMarkerSize"+               c_tgraphbenterrors_setmarkersize ::+               Ptr RawTGraphBentErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_FindObject" c_tgraphbenterrors_findobject -  :: (Ptr RawTGraphBentErrors) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_Draw"+               c_tgraphbenterrors_draw ::+               Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetName" c_tgraphbenterrors_getname -  :: (Ptr RawTGraphBentErrors) -> IO CString+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_FindObject"+               c_tgraphbenterrors_findobject ::+               Ptr RawTGraphBentErrors -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_IsA" c_tgraphbenterrors_isa -  :: (Ptr RawTGraphBentErrors) -> IO (Ptr RawTClass)+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_GetName"+               c_tgraphbenterrors_getname :: Ptr RawTGraphBentErrors -> IO CString -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_Paint" c_tgraphbenterrors_paint -  :: (Ptr RawTGraphBentErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_IsA"+               c_tgraphbenterrors_isa ::+               Ptr RawTGraphBentErrors -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_printObj" c_tgraphbenterrors_printobj -  :: (Ptr RawTGraphBentErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_Paint"+               c_tgraphbenterrors_paint ::+               Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_SaveAs" c_tgraphbenterrors_saveas -  :: (Ptr RawTGraphBentErrors) -> CString -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_printObj"+               c_tgraphbenterrors_printobj ::+               Ptr RawTGraphBentErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_Write" c_tgraphbenterrors_write -  :: (Ptr RawTGraphBentErrors) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_SaveAs"+               c_tgraphbenterrors_saveas ::+               Ptr RawTGraphBentErrors -> CString -> CString -> IO () -foreign import ccall "HROOTHistTGraphBentErrors.h TGraphBentErrors_delete" c_tgraphbenterrors_delete -  :: (Ptr RawTGraphBentErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_Write"+               c_tgraphbenterrors_write ::+               Ptr RawTGraphBentErrors -> CString -> CInt -> CInt -> IO CInt -foreign import ccall "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)+foreign import ccall safe+               "HROOTHistTGraphBentErrors.h TGraphBentErrors_delete"+               c_tgraphbenterrors_delete :: Ptr RawTGraphBentErrors -> IO () +foreign import ccall safe+               "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)
src/HROOT/Hist/TGraphBentErrors/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TGraphBentErrors.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TGraphBentErrors.RawType import HROOT.Hist.TGraphBentErrors.FFI import HROOT.Hist.TGraphBentErrors.Interface@@ -45,166 +46,95 @@ import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITGraphBentErrors TGraphBentErrors -instance ITGraphBentErrors TGraphBentErrors where instance ITGraph TGraphBentErrors where-  apply = xform1 c_tgraphbenterrors_apply-  chisquare = xform1 c_tgraphbenterrors_chisquare-  drawGraph = xform4 c_tgraphbenterrors_drawgraph-  drawPanelTGraph = xform0 c_tgraphbenterrors_drawpaneltgraph-  expand = xform2 c_tgraphbenterrors_expand-  fitPanelTGraph = xform0 c_tgraphbenterrors_fitpaneltgraph-  getCorrelationFactorTGraph = xform0 c_tgraphbenterrors_getcorrelationfactortgraph-  getCovarianceTGraph = xform0 c_tgraphbenterrors_getcovariancetgraph-  getMeanTGraph = xform1 c_tgraphbenterrors_getmeantgraph-  getRMSTGraph = xform1 c_tgraphbenterrors_getrmstgraph-  getErrorX = xform1 c_tgraphbenterrors_geterrorx-  getErrorY = xform1 c_tgraphbenterrors_geterrory-  getErrorXhigh = xform1 c_tgraphbenterrors_geterrorxhigh-  getErrorXlow = xform1 c_tgraphbenterrors_geterrorxlow-  getErrorYhigh = xform1 c_tgraphbenterrors_geterroryhigh-  getErrorYlow = xform1 c_tgraphbenterrors_geterrorylow-  initExpo = xform2 c_tgraphbenterrors_initexpo-  initGaus = xform2 c_tgraphbenterrors_initgaus-  initPolynom = xform2 c_tgraphbenterrors_initpolynom-  insertPoint = xform0 c_tgraphbenterrors_insertpoint-  integralTGraph = xform2 c_tgraphbenterrors_integraltgraph-  isEditable = xform0 c_tgraphbenterrors_iseditable-  isInsideTGraph = xform2 c_tgraphbenterrors_isinsidetgraph-  leastSquareFit = xform4 c_tgraphbenterrors_leastsquarefit-  paintStats = xform1 c_tgraphbenterrors_paintstats-  removePoint = xform1 c_tgraphbenterrors_removepoint-  setEditable = xform1 c_tgraphbenterrors_seteditable-  setHistogram = xform1 c_tgraphbenterrors_sethistogram-  setMaximumTGraph = xform1 c_tgraphbenterrors_setmaximumtgraph-  setMinimumTGraph = xform1 c_tgraphbenterrors_setminimumtgraph-  set = xform1 c_tgraphbenterrors_set-  setPoint = xform3 c_tgraphbenterrors_setpoint-instance ITNamed TGraphBentErrors where-  setName = xform1 c_tgraphbenterrors_setname-  setNameTitle = xform2 c_tgraphbenterrors_setnametitle-  setTitle = xform1 c_tgraphbenterrors_settitle-instance ITAttLine TGraphBentErrors where-  getLineColor = xform0 c_tgraphbenterrors_getlinecolor-  getLineStyle = xform0 c_tgraphbenterrors_getlinestyle-  getLineWidth = xform0 c_tgraphbenterrors_getlinewidth-  resetAttLine = xform1 c_tgraphbenterrors_resetattline-  setLineAttributes = xform0 c_tgraphbenterrors_setlineattributes-  setLineColor = xform1 c_tgraphbenterrors_setlinecolor-  setLineStyle = xform1 c_tgraphbenterrors_setlinestyle-  setLineWidth = xform1 c_tgraphbenterrors_setlinewidth-instance ITAttFill TGraphBentErrors where-  setFillColor = xform1 c_tgraphbenterrors_setfillcolor-  setFillStyle = xform1 c_tgraphbenterrors_setfillstyle-instance ITAttMarker TGraphBentErrors where-  getMarkerColor = xform0 c_tgraphbenterrors_getmarkercolor-  getMarkerStyle = xform0 c_tgraphbenterrors_getmarkerstyle-  getMarkerSize = xform0 c_tgraphbenterrors_getmarkersize-  resetAttMarker = xform1 c_tgraphbenterrors_resetattmarker-  setMarkerAttributes = xform0 c_tgraphbenterrors_setmarkerattributes-  setMarkerColor = xform1 c_tgraphbenterrors_setmarkercolor-  setMarkerStyle = xform1 c_tgraphbenterrors_setmarkerstyle-  setMarkerSize = xform1 c_tgraphbenterrors_setmarkersize-instance ITObject TGraphBentErrors where-  draw = xform1 c_tgraphbenterrors_draw-  findObject = xform1 c_tgraphbenterrors_findobject-  getName = xform0 c_tgraphbenterrors_getname-  isA = xform0 c_tgraphbenterrors_isa-  paint = xform1 c_tgraphbenterrors_paint-  printObj = xform1 c_tgraphbenterrors_printobj-  saveAs = xform2 c_tgraphbenterrors_saveas-  write = xform3 c_tgraphbenterrors_write-instance IDeletable TGraphBentErrors where-  delete = xform0 c_tgraphbenterrors_delete--instance ITGraphBentErrors (Exist TGraphBentErrors) where--instance ITGraph (Exist TGraphBentErrors) where-  apply (ETGraphBentErrors x) = apply x-  chisquare (ETGraphBentErrors x) = chisquare x-  drawGraph (ETGraphBentErrors x) = drawGraph x-  drawPanelTGraph (ETGraphBentErrors x) = drawPanelTGraph x-  expand (ETGraphBentErrors x) = expand x-  fitPanelTGraph (ETGraphBentErrors x) = fitPanelTGraph x-  getCorrelationFactorTGraph (ETGraphBentErrors x) = getCorrelationFactorTGraph x-  getCovarianceTGraph (ETGraphBentErrors x) = getCovarianceTGraph x-  getMeanTGraph (ETGraphBentErrors x) = getMeanTGraph x-  getRMSTGraph (ETGraphBentErrors x) = getRMSTGraph x-  getErrorX (ETGraphBentErrors x) = getErrorX x-  getErrorY (ETGraphBentErrors x) = getErrorY x-  getErrorXhigh (ETGraphBentErrors x) = getErrorXhigh x-  getErrorXlow (ETGraphBentErrors x) = getErrorXlow x-  getErrorYhigh (ETGraphBentErrors x) = getErrorYhigh x-  getErrorYlow (ETGraphBentErrors x) = getErrorYlow x-  initExpo (ETGraphBentErrors x) = initExpo x-  initGaus (ETGraphBentErrors x) = initGaus x-  initPolynom (ETGraphBentErrors x) = initPolynom x-  insertPoint (ETGraphBentErrors x) = insertPoint x-  integralTGraph (ETGraphBentErrors x) = integralTGraph x-  isEditable (ETGraphBentErrors x) = isEditable x-  isInsideTGraph (ETGraphBentErrors x) = isInsideTGraph x-  leastSquareFit (ETGraphBentErrors x) = leastSquareFit x-  paintStats (ETGraphBentErrors x) = paintStats x-  removePoint (ETGraphBentErrors x) = removePoint x-  setEditable (ETGraphBentErrors x) = setEditable x-  setHistogram (ETGraphBentErrors x) = setHistogram x-  setMaximumTGraph (ETGraphBentErrors x) = setMaximumTGraph x-  setMinimumTGraph (ETGraphBentErrors x) = setMinimumTGraph x-  set (ETGraphBentErrors x) = set x-  setPoint (ETGraphBentErrors x) = setPoint x-instance ITNamed (Exist TGraphBentErrors) where-  setName (ETGraphBentErrors x) = setName x-  setNameTitle (ETGraphBentErrors x) = setNameTitle x-  setTitle (ETGraphBentErrors x) = setTitle x-instance ITAttLine (Exist TGraphBentErrors) where-  getLineColor (ETGraphBentErrors x) = getLineColor x-  getLineStyle (ETGraphBentErrors x) = getLineStyle x-  getLineWidth (ETGraphBentErrors x) = getLineWidth x-  resetAttLine (ETGraphBentErrors x) = resetAttLine x-  setLineAttributes (ETGraphBentErrors x) = setLineAttributes x-  setLineColor (ETGraphBentErrors x) = setLineColor x-  setLineStyle (ETGraphBentErrors x) = setLineStyle x-  setLineWidth (ETGraphBentErrors x) = setLineWidth x-instance ITAttFill (Exist TGraphBentErrors) where-  setFillColor (ETGraphBentErrors x) = setFillColor x-  setFillStyle (ETGraphBentErrors x) = setFillStyle x-instance ITAttMarker (Exist TGraphBentErrors) where-  getMarkerColor (ETGraphBentErrors x) = getMarkerColor x-  getMarkerStyle (ETGraphBentErrors x) = getMarkerStyle x-  getMarkerSize (ETGraphBentErrors x) = getMarkerSize x-  resetAttMarker (ETGraphBentErrors x) = resetAttMarker x-  setMarkerAttributes (ETGraphBentErrors x) = setMarkerAttributes x-  setMarkerColor (ETGraphBentErrors x) = setMarkerColor x-  setMarkerStyle (ETGraphBentErrors x) = setMarkerStyle x-  setMarkerSize (ETGraphBentErrors x) = setMarkerSize x-instance ITObject (Exist TGraphBentErrors) where-  draw (ETGraphBentErrors x) = draw x-  findObject (ETGraphBentErrors x) = findObject x-  getName (ETGraphBentErrors x) = getName x-  isA (ETGraphBentErrors x) = isA x-  paint (ETGraphBentErrors x) = paint x-  printObj (ETGraphBentErrors x) = printObj x-  saveAs (ETGraphBentErrors x) = saveAs x-  write (ETGraphBentErrors x) = write x-instance IDeletable (Exist TGraphBentErrors) where-  delete (ETGraphBentErrors x) = delete x+        apply = xform1 c_tgraphbenterrors_apply+        chisquare = xform1 c_tgraphbenterrors_chisquare+        drawGraph = xform4 c_tgraphbenterrors_drawgraph+        drawPanelTGraph = xform0 c_tgraphbenterrors_drawpaneltgraph+        expand = xform2 c_tgraphbenterrors_expand+        fitPanelTGraph = xform0 c_tgraphbenterrors_fitpaneltgraph+        getCorrelationFactorTGraph+          = xform0 c_tgraphbenterrors_getcorrelationfactortgraph+        getCovarianceTGraph = xform0 c_tgraphbenterrors_getcovariancetgraph+        getMeanTGraph = xform1 c_tgraphbenterrors_getmeantgraph+        getRMSTGraph = xform1 c_tgraphbenterrors_getrmstgraph+        getErrorX = xform1 c_tgraphbenterrors_geterrorx+        getErrorY = xform1 c_tgraphbenterrors_geterrory+        getErrorXhigh = xform1 c_tgraphbenterrors_geterrorxhigh+        getErrorXlow = xform1 c_tgraphbenterrors_geterrorxlow+        getErrorYhigh = xform1 c_tgraphbenterrors_geterroryhigh+        getErrorYlow = xform1 c_tgraphbenterrors_geterrorylow+        initExpo = xform2 c_tgraphbenterrors_initexpo+        initGaus = xform2 c_tgraphbenterrors_initgaus+        initPolynom = xform2 c_tgraphbenterrors_initpolynom+        insertPoint = xform0 c_tgraphbenterrors_insertpoint+        integralTGraph = xform2 c_tgraphbenterrors_integraltgraph+        isEditable = xform0 c_tgraphbenterrors_iseditable+        isInsideTGraph = xform2 c_tgraphbenterrors_isinsidetgraph+        leastSquareFit = xform4 c_tgraphbenterrors_leastsquarefit+        paintStats = xform1 c_tgraphbenterrors_paintstats+        removePoint = xform1 c_tgraphbenterrors_removepoint+        setEditable = xform1 c_tgraphbenterrors_seteditable+        setHistogram = xform1 c_tgraphbenterrors_sethistogram+        setMaximumTGraph = xform1 c_tgraphbenterrors_setmaximumtgraph+        setMinimumTGraph = xform1 c_tgraphbenterrors_setminimumtgraph+        set = xform1 c_tgraphbenterrors_set+        setPoint = xform3 c_tgraphbenterrors_setpoint +instance ITNamed TGraphBentErrors where+        setName = xform1 c_tgraphbenterrors_setname+        setNameTitle = xform2 c_tgraphbenterrors_setnametitle+        setTitle = xform1 c_tgraphbenterrors_settitle -newTGraphBentErrors :: CInt -> (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+instance ITAttLine TGraphBentErrors where+        getLineColor = xform0 c_tgraphbenterrors_getlinecolor+        getLineStyle = xform0 c_tgraphbenterrors_getlinestyle+        getLineWidth = xform0 c_tgraphbenterrors_getlinewidth+        resetAttLine = xform1 c_tgraphbenterrors_resetattline+        setLineAttributes = xform0 c_tgraphbenterrors_setlineattributes+        setLineColor = xform1 c_tgraphbenterrors_setlinecolor+        setLineStyle = xform1 c_tgraphbenterrors_setlinestyle+        setLineWidth = xform1 c_tgraphbenterrors_setlinewidth +instance ITAttFill TGraphBentErrors where+        setFillColor = xform1 c_tgraphbenterrors_setfillcolor+        setFillStyle = xform1 c_tgraphbenterrors_setfillstyle +instance ITAttMarker TGraphBentErrors where+        getMarkerColor = xform0 c_tgraphbenterrors_getmarkercolor+        getMarkerStyle = xform0 c_tgraphbenterrors_getmarkerstyle+        getMarkerSize = xform0 c_tgraphbenterrors_getmarkersize+        resetAttMarker = xform1 c_tgraphbenterrors_resetattmarker+        setMarkerAttributes = xform0 c_tgraphbenterrors_setmarkerattributes+        setMarkerColor = xform1 c_tgraphbenterrors_setmarkercolor+        setMarkerStyle = xform1 c_tgraphbenterrors_setmarkerstyle+        setMarkerSize = xform1 c_tgraphbenterrors_setmarkersize +instance ITObject TGraphBentErrors where+        draw = xform1 c_tgraphbenterrors_draw+        findObject = xform1 c_tgraphbenterrors_findobject+        getName = xform0 c_tgraphbenterrors_getname+        isA = xform0 c_tgraphbenterrors_isa+        paint = xform1 c_tgraphbenterrors_paint+        printObj = xform1 c_tgraphbenterrors_printobj+        saveAs = xform2 c_tgraphbenterrors_saveas+        write = xform3 c_tgraphbenterrors_write +instance IDeletable TGraphBentErrors where+        delete = xform0 c_tgraphbenterrors_delete -instance FPtr (Exist TGraphBentErrors) where-  type Raw (Exist TGraphBentErrors) = RawTGraphBentErrors-  get_fptr (ETGraphBentErrors obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETGraphBentErrors (cast_fptr_to_obj (fptr :: ForeignPtr RawTGraphBentErrors) :: TGraphBentErrors)+newTGraphBentErrors ::+                      CInt ->+                        (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
@@ -1,36 +1,27 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TGraphBentErrors.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TGraphBentErrors.RawType- import HROOT.Hist.TGraph.Interface----- ============ ---- ---class (ITGraph a) => ITGraphBentErrors a where--instance Existable TGraphBentErrors where-  data Exist TGraphBentErrors = forall a. (FPtr a, ITGraphBentErrors a) => ETGraphBentErrors a+class ITGraph a => ITGraphBentErrors a -upcastTGraphBentErrors :: (FPtr a, ITGraphBentErrors a) => a -> TGraphBentErrors-upcastTGraphBentErrors h = let fh = get_fptr h-                               fh2 :: ForeignPtr RawTGraphBentErrors = castForeignPtr fh-                           in cast_fptr_to_obj fh2+upcastTGraphBentErrors ::+                       forall a . (FPtr a, ITGraphBentErrors a) => a -> TGraphBentErrors+upcastTGraphBentErrors h+  = let fh = get_fptr h+        fh2 :: Ptr RawTGraphBentErrors = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTGraphBentErrors :: (FPtr a, ITGraphBentErrors a) => TGraphBentErrors -> a -downcastTGraphBentErrors h = let fh = get_fptr h-                                 fh2 = castForeignPtr fh-                             in cast_fptr_to_obj fh2+downcastTGraphBentErrors ::+                         forall a . (FPtr a, ITGraphBentErrors a) => TGraphBentErrors -> a+downcastTGraphBentErrors h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TGraphBentErrors/RawType.hs view
@@ -1,16 +1,17 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TGraphBentErrors.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTGraphBentErrors -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TGraphBentErrors = TGraphBentErrors (Ptr+                                               RawTGraphBentErrors)+                         deriving (Eq, Ord, Show) -data RawTGraphBentErrors-newtype TGraphBentErrors = TGraphBentErrors (ForeignPtr RawTGraphBentErrors) deriving (Eq, Ord, Show) instance FPtr TGraphBentErrors where-   type Raw TGraphBentErrors = RawTGraphBentErrors-   get_fptr (TGraphBentErrors fptr) = fptr-   cast_fptr_to_obj = TGraphBentErrors+        type Raw TGraphBentErrors = RawTGraphBentErrors+        get_fptr (TGraphBentErrors ptr) = ptr+        cast_fptr_to_obj = TGraphBentErrors
src/HROOT/Hist/TGraphErrors.hs view
@@ -1,15 +1,7 @@ module HROOT.Hist.TGraphErrors-  (-    TGraphErrors(..)-  , ITGraphErrors-  , upcastTGraphErrors-  , downcastTGraphErrors-  , newTGraphErrors- -  ) where-+       (TGraphErrors(..), ITGraphErrors, upcastTGraphErrors,+        downcastTGraphErrors, newTGraphErrors)+       where import HROOT.Hist.TGraphErrors.RawType import HROOT.Hist.TGraphErrors.Interface import HROOT.Hist.TGraphErrors.Implementation--
src/HROOT/Hist/TGraphErrors/Cast.hs view
@@ -1,22 +1,18 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TGraphErrors.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TGraphErrors.RawType import HROOT.Hist.TGraphErrors.Interface -instance (ITGraphErrors a, FPtr a) => Castable a (Ptr RawTGraphErrors) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +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-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TGraphErrors.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TGraphErrors.RawType import HROOT.Hist.TF1.RawType import HROOT.Hist.TH1F.RawType@@ -19,194 +9,291 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTGraphErrors.h"--foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_Apply" c_tgrapherrors_apply -  :: (Ptr RawTGraphErrors) -> (Ptr RawTF1) -> IO ()--foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_Chisquare" c_tgrapherrors_chisquare -  :: (Ptr RawTGraphErrors) -> (Ptr RawTF1) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_Apply" c_tgrapherrors_apply+               :: Ptr RawTGraphErrors -> Ptr RawTF1 -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_DrawGraph" c_tgrapherrors_drawgraph -  :: (Ptr RawTGraphErrors) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_Chisquare"+               c_tgrapherrors_chisquare ::+               Ptr RawTGraphErrors -> Ptr RawTF1 -> IO CDouble -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_drawPanelTGraph" c_tgrapherrors_drawpaneltgraph -  :: (Ptr RawTGraphErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_DrawGraph"+               c_tgrapherrors_drawgraph ::+               Ptr RawTGraphErrors ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CString -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_Expand" c_tgrapherrors_expand -  :: (Ptr RawTGraphErrors) -> CInt -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_drawPanelTGraph"+               c_tgrapherrors_drawpaneltgraph :: Ptr RawTGraphErrors -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_FitPanelTGraph" c_tgrapherrors_fitpaneltgraph -  :: (Ptr RawTGraphErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_Expand" c_tgrapherrors_expand+               :: Ptr RawTGraphErrors -> CInt -> CInt -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_getCorrelationFactorTGraph" c_tgrapherrors_getcorrelationfactortgraph -  :: (Ptr RawTGraphErrors) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_FitPanelTGraph"+               c_tgrapherrors_fitpaneltgraph :: Ptr RawTGraphErrors -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_getCovarianceTGraph" c_tgrapherrors_getcovariancetgraph -  :: (Ptr RawTGraphErrors) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_getCorrelationFactorTGraph"+               c_tgrapherrors_getcorrelationfactortgraph ::+               Ptr RawTGraphErrors -> IO CDouble -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_getMeanTGraph" c_tgrapherrors_getmeantgraph -  :: (Ptr RawTGraphErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_getCovarianceTGraph"+               c_tgrapherrors_getcovariancetgraph ::+               Ptr RawTGraphErrors -> IO CDouble -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_getRMSTGraph" c_tgrapherrors_getrmstgraph -  :: (Ptr RawTGraphErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_getMeanTGraph"+               c_tgrapherrors_getmeantgraph ::+               Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_GetErrorX" c_tgrapherrors_geterrorx -  :: (Ptr RawTGraphErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_getRMSTGraph"+               c_tgrapherrors_getrmstgraph ::+               Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_GetErrorY" c_tgrapherrors_geterrory -  :: (Ptr RawTGraphErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_GetErrorX"+               c_tgrapherrors_geterrorx ::+               Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_GetErrorXhigh" c_tgrapherrors_geterrorxhigh -  :: (Ptr RawTGraphErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_GetErrorY"+               c_tgrapherrors_geterrory ::+               Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_GetErrorXlow" c_tgrapherrors_geterrorxlow -  :: (Ptr RawTGraphErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_GetErrorXhigh"+               c_tgrapherrors_geterrorxhigh ::+               Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_GetErrorYhigh" c_tgrapherrors_geterroryhigh -  :: (Ptr RawTGraphErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_GetErrorXlow"+               c_tgrapherrors_geterrorxlow ::+               Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_GetErrorYlow" c_tgrapherrors_geterrorylow -  :: (Ptr RawTGraphErrors) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_GetErrorYhigh"+               c_tgrapherrors_geterroryhigh ::+               Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_InitExpo" c_tgrapherrors_initexpo -  :: (Ptr RawTGraphErrors) -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_GetErrorYlow"+               c_tgrapherrors_geterrorylow ::+               Ptr RawTGraphErrors -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_InitGaus" c_tgrapherrors_initgaus -  :: (Ptr RawTGraphErrors) -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_InitExpo"+               c_tgrapherrors_initexpo ::+               Ptr RawTGraphErrors -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_InitPolynom" c_tgrapherrors_initpolynom -  :: (Ptr RawTGraphErrors) -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_InitGaus"+               c_tgrapherrors_initgaus ::+               Ptr RawTGraphErrors -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_InsertPoint" c_tgrapherrors_insertpoint -  :: (Ptr RawTGraphErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_InitPolynom"+               c_tgrapherrors_initpolynom ::+               Ptr RawTGraphErrors -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_integralTGraph" c_tgrapherrors_integraltgraph -  :: (Ptr RawTGraphErrors) -> CInt -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_InsertPoint"+               c_tgrapherrors_insertpoint :: Ptr RawTGraphErrors -> IO CInt -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_IsEditable" c_tgrapherrors_iseditable -  :: (Ptr RawTGraphErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_integralTGraph"+               c_tgrapherrors_integraltgraph ::+               Ptr RawTGraphErrors -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_isInsideTGraph" c_tgrapherrors_isinsidetgraph -  :: (Ptr RawTGraphErrors) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_IsEditable"+               c_tgrapherrors_iseditable :: Ptr RawTGraphErrors -> IO CInt -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_LeastSquareFit" c_tgrapherrors_leastsquarefit -  :: (Ptr RawTGraphErrors) -> CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_isInsideTGraph"+               c_tgrapherrors_isinsidetgraph ::+               Ptr RawTGraphErrors -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_PaintStats" c_tgrapherrors_paintstats -  :: (Ptr RawTGraphErrors) -> (Ptr RawTF1) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_LeastSquareFit"+               c_tgrapherrors_leastsquarefit ::+               Ptr RawTGraphErrors ->+                 CInt -> (Ptr CDouble) -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_RemovePoint" c_tgrapherrors_removepoint -  :: (Ptr RawTGraphErrors) -> CInt -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_PaintStats"+               c_tgrapherrors_paintstats ::+               Ptr RawTGraphErrors -> Ptr RawTF1 -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetEditable" c_tgrapherrors_seteditable -  :: (Ptr RawTGraphErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_RemovePoint"+               c_tgrapherrors_removepoint ::+               Ptr RawTGraphErrors -> CInt -> IO CInt -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetHistogram" c_tgrapherrors_sethistogram -  :: (Ptr RawTGraphErrors) -> (Ptr RawTH1F) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetEditable"+               c_tgrapherrors_seteditable :: Ptr RawTGraphErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_setMaximumTGraph" c_tgrapherrors_setmaximumtgraph -  :: (Ptr RawTGraphErrors) -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetHistogram"+               c_tgrapherrors_sethistogram ::+               Ptr RawTGraphErrors -> Ptr RawTH1F -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_setMinimumTGraph" c_tgrapherrors_setminimumtgraph -  :: (Ptr RawTGraphErrors) -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_setMaximumTGraph"+               c_tgrapherrors_setmaximumtgraph ::+               Ptr RawTGraphErrors -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_Set" c_tgrapherrors_set -  :: (Ptr RawTGraphErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_setMinimumTGraph"+               c_tgrapherrors_setminimumtgraph ::+               Ptr RawTGraphErrors -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetPoint" c_tgrapherrors_setpoint -  :: (Ptr RawTGraphErrors) -> CInt -> CDouble -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_Set" c_tgrapherrors_set ::+               Ptr RawTGraphErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetName" c_tgrapherrors_setname -  :: (Ptr RawTGraphErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetPoint"+               c_tgrapherrors_setpoint ::+               Ptr RawTGraphErrors -> CInt -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetNameTitle" c_tgrapherrors_setnametitle -  :: (Ptr RawTGraphErrors) -> CString -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetName"+               c_tgrapherrors_setname :: Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetTitle" c_tgrapherrors_settitle -  :: (Ptr RawTGraphErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetNameTitle"+               c_tgrapherrors_setnametitle ::+               Ptr RawTGraphErrors -> CString -> CString -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_GetLineColor" c_tgrapherrors_getlinecolor -  :: (Ptr RawTGraphErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetTitle"+               c_tgrapherrors_settitle :: Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_GetLineStyle" c_tgrapherrors_getlinestyle -  :: (Ptr RawTGraphErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_GetLineColor"+               c_tgrapherrors_getlinecolor :: Ptr RawTGraphErrors -> IO CInt -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_GetLineWidth" c_tgrapherrors_getlinewidth -  :: (Ptr RawTGraphErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_GetLineStyle"+               c_tgrapherrors_getlinestyle :: Ptr RawTGraphErrors -> IO CInt -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_ResetAttLine" c_tgrapherrors_resetattline -  :: (Ptr RawTGraphErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_GetLineWidth"+               c_tgrapherrors_getlinewidth :: Ptr RawTGraphErrors -> IO CInt -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetLineAttributes" c_tgrapherrors_setlineattributes -  :: (Ptr RawTGraphErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_ResetAttLine"+               c_tgrapherrors_resetattline ::+               Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetLineColor" c_tgrapherrors_setlinecolor -  :: (Ptr RawTGraphErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetLineAttributes"+               c_tgrapherrors_setlineattributes :: Ptr RawTGraphErrors -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetLineStyle" c_tgrapherrors_setlinestyle -  :: (Ptr RawTGraphErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetLineColor"+               c_tgrapherrors_setlinecolor :: Ptr RawTGraphErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetLineWidth" c_tgrapherrors_setlinewidth -  :: (Ptr RawTGraphErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetLineStyle"+               c_tgrapherrors_setlinestyle :: Ptr RawTGraphErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetFillColor" c_tgrapherrors_setfillcolor -  :: (Ptr RawTGraphErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetLineWidth"+               c_tgrapherrors_setlinewidth :: Ptr RawTGraphErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetFillStyle" c_tgrapherrors_setfillstyle -  :: (Ptr RawTGraphErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetFillColor"+               c_tgrapherrors_setfillcolor :: Ptr RawTGraphErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_GetMarkerColor" c_tgrapherrors_getmarkercolor -  :: (Ptr RawTGraphErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetFillStyle"+               c_tgrapherrors_setfillstyle :: Ptr RawTGraphErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_GetMarkerStyle" c_tgrapherrors_getmarkerstyle -  :: (Ptr RawTGraphErrors) -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_GetMarkerColor"+               c_tgrapherrors_getmarkercolor :: Ptr RawTGraphErrors -> IO CInt -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_GetMarkerSize" c_tgrapherrors_getmarkersize -  :: (Ptr RawTGraphErrors) -> IO CDouble+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_GetMarkerStyle"+               c_tgrapherrors_getmarkerstyle :: Ptr RawTGraphErrors -> IO CInt -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_ResetAttMarker" c_tgrapherrors_resetattmarker -  :: (Ptr RawTGraphErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_GetMarkerSize"+               c_tgrapherrors_getmarkersize :: Ptr RawTGraphErrors -> IO CDouble -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetMarkerAttributes" c_tgrapherrors_setmarkerattributes -  :: (Ptr RawTGraphErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_ResetAttMarker"+               c_tgrapherrors_resetattmarker ::+               Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetMarkerColor" c_tgrapherrors_setmarkercolor -  :: (Ptr RawTGraphErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetMarkerAttributes"+               c_tgrapherrors_setmarkerattributes :: Ptr RawTGraphErrors -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetMarkerStyle" c_tgrapherrors_setmarkerstyle -  :: (Ptr RawTGraphErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetMarkerColor"+               c_tgrapherrors_setmarkercolor ::+               Ptr RawTGraphErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SetMarkerSize" c_tgrapherrors_setmarkersize -  :: (Ptr RawTGraphErrors) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetMarkerStyle"+               c_tgrapherrors_setmarkerstyle ::+               Ptr RawTGraphErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_Draw" c_tgrapherrors_draw -  :: (Ptr RawTGraphErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SetMarkerSize"+               c_tgrapherrors_setmarkersize ::+               Ptr RawTGraphErrors -> CInt -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_FindObject" c_tgrapherrors_findobject -  :: (Ptr RawTGraphErrors) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_Draw" c_tgrapherrors_draw ::+               Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_GetName" c_tgrapherrors_getname -  :: (Ptr RawTGraphErrors) -> IO CString+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_FindObject"+               c_tgrapherrors_findobject ::+               Ptr RawTGraphErrors -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_IsA" c_tgrapherrors_isa -  :: (Ptr RawTGraphErrors) -> IO (Ptr RawTClass)+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_GetName"+               c_tgrapherrors_getname :: Ptr RawTGraphErrors -> IO CString -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_Paint" c_tgrapherrors_paint -  :: (Ptr RawTGraphErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_IsA" c_tgrapherrors_isa ::+               Ptr RawTGraphErrors -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_printObj" c_tgrapherrors_printobj -  :: (Ptr RawTGraphErrors) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_Paint" c_tgrapherrors_paint+               :: Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_SaveAs" c_tgrapherrors_saveas -  :: (Ptr RawTGraphErrors) -> CString -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_printObj"+               c_tgrapherrors_printobj :: Ptr RawTGraphErrors -> CString -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_Write" c_tgrapherrors_write -  :: (Ptr RawTGraphErrors) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_SaveAs" c_tgrapherrors_saveas+               :: Ptr RawTGraphErrors -> CString -> CString -> IO () -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_delete" c_tgrapherrors_delete -  :: (Ptr RawTGraphErrors) -> IO ()+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_Write" c_tgrapherrors_write+               :: Ptr RawTGraphErrors -> CString -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTGraphErrors.h TGraphErrors_newTGraphErrors" c_tgrapherrors_newtgrapherrors -  :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphErrors)+foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_delete" c_tgrapherrors_delete+               :: Ptr RawTGraphErrors -> IO () +foreign import ccall safe+               "HROOTHistTGraphErrors.h TGraphErrors_newTGraphErrors"+               c_tgrapherrors_newtgrapherrors ::+               CInt ->+                 (Ptr CDouble) ->+                   (Ptr CDouble) ->+                     (Ptr CDouble) -> (Ptr CDouble) -> IO (Ptr RawTGraphErrors)
src/HROOT/Hist/TGraphErrors/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TGraphErrors.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TGraphErrors.RawType import HROOT.Hist.TGraphErrors.FFI import HROOT.Hist.TGraphErrors.Interface@@ -45,166 +46,87 @@ import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITGraphErrors TGraphErrors -instance ITGraphErrors TGraphErrors where instance ITGraph TGraphErrors where-  apply = xform1 c_tgrapherrors_apply-  chisquare = xform1 c_tgrapherrors_chisquare-  drawGraph = xform4 c_tgrapherrors_drawgraph-  drawPanelTGraph = xform0 c_tgrapherrors_drawpaneltgraph-  expand = xform2 c_tgrapherrors_expand-  fitPanelTGraph = xform0 c_tgrapherrors_fitpaneltgraph-  getCorrelationFactorTGraph = xform0 c_tgrapherrors_getcorrelationfactortgraph-  getCovarianceTGraph = xform0 c_tgrapherrors_getcovariancetgraph-  getMeanTGraph = xform1 c_tgrapherrors_getmeantgraph-  getRMSTGraph = xform1 c_tgrapherrors_getrmstgraph-  getErrorX = xform1 c_tgrapherrors_geterrorx-  getErrorY = xform1 c_tgrapherrors_geterrory-  getErrorXhigh = xform1 c_tgrapherrors_geterrorxhigh-  getErrorXlow = xform1 c_tgrapherrors_geterrorxlow-  getErrorYhigh = xform1 c_tgrapherrors_geterroryhigh-  getErrorYlow = xform1 c_tgrapherrors_geterrorylow-  initExpo = xform2 c_tgrapherrors_initexpo-  initGaus = xform2 c_tgrapherrors_initgaus-  initPolynom = xform2 c_tgrapherrors_initpolynom-  insertPoint = xform0 c_tgrapherrors_insertpoint-  integralTGraph = xform2 c_tgrapherrors_integraltgraph-  isEditable = xform0 c_tgrapherrors_iseditable-  isInsideTGraph = xform2 c_tgrapherrors_isinsidetgraph-  leastSquareFit = xform4 c_tgrapherrors_leastsquarefit-  paintStats = xform1 c_tgrapherrors_paintstats-  removePoint = xform1 c_tgrapherrors_removepoint-  setEditable = xform1 c_tgrapherrors_seteditable-  setHistogram = xform1 c_tgrapherrors_sethistogram-  setMaximumTGraph = xform1 c_tgrapherrors_setmaximumtgraph-  setMinimumTGraph = xform1 c_tgrapherrors_setminimumtgraph-  set = xform1 c_tgrapherrors_set-  setPoint = xform3 c_tgrapherrors_setpoint+        apply = xform1 c_tgrapherrors_apply+        chisquare = xform1 c_tgrapherrors_chisquare+        drawGraph = xform4 c_tgrapherrors_drawgraph+        drawPanelTGraph = xform0 c_tgrapherrors_drawpaneltgraph+        expand = xform2 c_tgrapherrors_expand+        fitPanelTGraph = xform0 c_tgrapherrors_fitpaneltgraph+        getCorrelationFactorTGraph+          = xform0 c_tgrapherrors_getcorrelationfactortgraph+        getCovarianceTGraph = xform0 c_tgrapherrors_getcovariancetgraph+        getMeanTGraph = xform1 c_tgrapherrors_getmeantgraph+        getRMSTGraph = xform1 c_tgrapherrors_getrmstgraph+        getErrorX = xform1 c_tgrapherrors_geterrorx+        getErrorY = xform1 c_tgrapherrors_geterrory+        getErrorXhigh = xform1 c_tgrapherrors_geterrorxhigh+        getErrorXlow = xform1 c_tgrapherrors_geterrorxlow+        getErrorYhigh = xform1 c_tgrapherrors_geterroryhigh+        getErrorYlow = xform1 c_tgrapherrors_geterrorylow+        initExpo = xform2 c_tgrapherrors_initexpo+        initGaus = xform2 c_tgrapherrors_initgaus+        initPolynom = xform2 c_tgrapherrors_initpolynom+        insertPoint = xform0 c_tgrapherrors_insertpoint+        integralTGraph = xform2 c_tgrapherrors_integraltgraph+        isEditable = xform0 c_tgrapherrors_iseditable+        isInsideTGraph = xform2 c_tgrapherrors_isinsidetgraph+        leastSquareFit = xform4 c_tgrapherrors_leastsquarefit+        paintStats = xform1 c_tgrapherrors_paintstats+        removePoint = xform1 c_tgrapherrors_removepoint+        setEditable = xform1 c_tgrapherrors_seteditable+        setHistogram = xform1 c_tgrapherrors_sethistogram+        setMaximumTGraph = xform1 c_tgrapherrors_setmaximumtgraph+        setMinimumTGraph = xform1 c_tgrapherrors_setminimumtgraph+        set = xform1 c_tgrapherrors_set+        setPoint = xform3 c_tgrapherrors_setpoint+ instance ITNamed TGraphErrors where-  setName = xform1 c_tgrapherrors_setname-  setNameTitle = xform2 c_tgrapherrors_setnametitle-  setTitle = xform1 c_tgrapherrors_settitle+        setName = xform1 c_tgrapherrors_setname+        setNameTitle = xform2 c_tgrapherrors_setnametitle+        setTitle = xform1 c_tgrapherrors_settitle+ instance ITAttLine TGraphErrors where-  getLineColor = xform0 c_tgrapherrors_getlinecolor-  getLineStyle = xform0 c_tgrapherrors_getlinestyle-  getLineWidth = xform0 c_tgrapherrors_getlinewidth-  resetAttLine = xform1 c_tgrapherrors_resetattline-  setLineAttributes = xform0 c_tgrapherrors_setlineattributes-  setLineColor = xform1 c_tgrapherrors_setlinecolor-  setLineStyle = xform1 c_tgrapherrors_setlinestyle-  setLineWidth = xform1 c_tgrapherrors_setlinewidth+        getLineColor = xform0 c_tgrapherrors_getlinecolor+        getLineStyle = xform0 c_tgrapherrors_getlinestyle+        getLineWidth = xform0 c_tgrapherrors_getlinewidth+        resetAttLine = xform1 c_tgrapherrors_resetattline+        setLineAttributes = xform0 c_tgrapherrors_setlineattributes+        setLineColor = xform1 c_tgrapherrors_setlinecolor+        setLineStyle = xform1 c_tgrapherrors_setlinestyle+        setLineWidth = xform1 c_tgrapherrors_setlinewidth+ instance ITAttFill TGraphErrors where-  setFillColor = xform1 c_tgrapherrors_setfillcolor-  setFillStyle = xform1 c_tgrapherrors_setfillstyle-instance ITAttMarker TGraphErrors where-  getMarkerColor = xform0 c_tgrapherrors_getmarkercolor-  getMarkerStyle = xform0 c_tgrapherrors_getmarkerstyle-  getMarkerSize = xform0 c_tgrapherrors_getmarkersize-  resetAttMarker = xform1 c_tgrapherrors_resetattmarker-  setMarkerAttributes = xform0 c_tgrapherrors_setmarkerattributes-  setMarkerColor = xform1 c_tgrapherrors_setmarkercolor-  setMarkerStyle = xform1 c_tgrapherrors_setmarkerstyle-  setMarkerSize = xform1 c_tgrapherrors_setmarkersize-instance ITObject TGraphErrors where-  draw = xform1 c_tgrapherrors_draw-  findObject = xform1 c_tgrapherrors_findobject-  getName = xform0 c_tgrapherrors_getname-  isA = xform0 c_tgrapherrors_isa-  paint = xform1 c_tgrapherrors_paint-  printObj = xform1 c_tgrapherrors_printobj-  saveAs = xform2 c_tgrapherrors_saveas-  write = xform3 c_tgrapherrors_write-instance IDeletable TGraphErrors where-  delete = xform0 c_tgrapherrors_delete+        setFillColor = xform1 c_tgrapherrors_setfillcolor+        setFillStyle = xform1 c_tgrapherrors_setfillstyle -instance ITGraphErrors (Exist TGraphErrors) where+instance ITAttMarker TGraphErrors where+        getMarkerColor = xform0 c_tgrapherrors_getmarkercolor+        getMarkerStyle = xform0 c_tgrapherrors_getmarkerstyle+        getMarkerSize = xform0 c_tgrapherrors_getmarkersize+        resetAttMarker = xform1 c_tgrapherrors_resetattmarker+        setMarkerAttributes = xform0 c_tgrapherrors_setmarkerattributes+        setMarkerColor = xform1 c_tgrapherrors_setmarkercolor+        setMarkerStyle = xform1 c_tgrapherrors_setmarkerstyle+        setMarkerSize = xform1 c_tgrapherrors_setmarkersize -instance ITGraph (Exist TGraphErrors) where-  apply (ETGraphErrors x) = apply x-  chisquare (ETGraphErrors x) = chisquare x-  drawGraph (ETGraphErrors x) = drawGraph x-  drawPanelTGraph (ETGraphErrors x) = drawPanelTGraph x-  expand (ETGraphErrors x) = expand x-  fitPanelTGraph (ETGraphErrors x) = fitPanelTGraph x-  getCorrelationFactorTGraph (ETGraphErrors x) = getCorrelationFactorTGraph x-  getCovarianceTGraph (ETGraphErrors x) = getCovarianceTGraph x-  getMeanTGraph (ETGraphErrors x) = getMeanTGraph x-  getRMSTGraph (ETGraphErrors x) = getRMSTGraph x-  getErrorX (ETGraphErrors x) = getErrorX x-  getErrorY (ETGraphErrors x) = getErrorY x-  getErrorXhigh (ETGraphErrors x) = getErrorXhigh x-  getErrorXlow (ETGraphErrors x) = getErrorXlow x-  getErrorYhigh (ETGraphErrors x) = getErrorYhigh x-  getErrorYlow (ETGraphErrors x) = getErrorYlow x-  initExpo (ETGraphErrors x) = initExpo x-  initGaus (ETGraphErrors x) = initGaus x-  initPolynom (ETGraphErrors x) = initPolynom x-  insertPoint (ETGraphErrors x) = insertPoint x-  integralTGraph (ETGraphErrors x) = integralTGraph x-  isEditable (ETGraphErrors x) = isEditable x-  isInsideTGraph (ETGraphErrors x) = isInsideTGraph x-  leastSquareFit (ETGraphErrors x) = leastSquareFit x-  paintStats (ETGraphErrors x) = paintStats x-  removePoint (ETGraphErrors x) = removePoint x-  setEditable (ETGraphErrors x) = setEditable x-  setHistogram (ETGraphErrors x) = setHistogram x-  setMaximumTGraph (ETGraphErrors x) = setMaximumTGraph x-  setMinimumTGraph (ETGraphErrors x) = setMinimumTGraph x-  set (ETGraphErrors x) = set x-  setPoint (ETGraphErrors x) = setPoint x-instance ITNamed (Exist TGraphErrors) where-  setName (ETGraphErrors x) = setName x-  setNameTitle (ETGraphErrors x) = setNameTitle x-  setTitle (ETGraphErrors x) = setTitle x-instance ITAttLine (Exist TGraphErrors) where-  getLineColor (ETGraphErrors x) = getLineColor x-  getLineStyle (ETGraphErrors x) = getLineStyle x-  getLineWidth (ETGraphErrors x) = getLineWidth x-  resetAttLine (ETGraphErrors x) = resetAttLine x-  setLineAttributes (ETGraphErrors x) = setLineAttributes x-  setLineColor (ETGraphErrors x) = setLineColor x-  setLineStyle (ETGraphErrors x) = setLineStyle x-  setLineWidth (ETGraphErrors x) = setLineWidth x-instance ITAttFill (Exist TGraphErrors) where-  setFillColor (ETGraphErrors x) = setFillColor x-  setFillStyle (ETGraphErrors x) = setFillStyle x-instance ITAttMarker (Exist TGraphErrors) where-  getMarkerColor (ETGraphErrors x) = getMarkerColor x-  getMarkerStyle (ETGraphErrors x) = getMarkerStyle x-  getMarkerSize (ETGraphErrors x) = getMarkerSize x-  resetAttMarker (ETGraphErrors x) = resetAttMarker x-  setMarkerAttributes (ETGraphErrors x) = setMarkerAttributes x-  setMarkerColor (ETGraphErrors x) = setMarkerColor x-  setMarkerStyle (ETGraphErrors x) = setMarkerStyle x-  setMarkerSize (ETGraphErrors x) = setMarkerSize x-instance ITObject (Exist TGraphErrors) where-  draw (ETGraphErrors x) = draw x-  findObject (ETGraphErrors x) = findObject x-  getName (ETGraphErrors x) = getName x-  isA (ETGraphErrors x) = isA x-  paint (ETGraphErrors x) = paint x-  printObj (ETGraphErrors x) = printObj x-  saveAs (ETGraphErrors x) = saveAs x-  write (ETGraphErrors x) = write x-instance IDeletable (Exist TGraphErrors) where-  delete (ETGraphErrors x) = delete x+instance ITObject TGraphErrors where+        draw = xform1 c_tgrapherrors_draw+        findObject = xform1 c_tgrapherrors_findobject+        getName = xform0 c_tgrapherrors_getname+        isA = xform0 c_tgrapherrors_isa+        paint = xform1 c_tgrapherrors_paint+        printObj = xform1 c_tgrapherrors_printobj+        saveAs = xform2 c_tgrapherrors_saveas+        write = xform3 c_tgrapherrors_write +instance IDeletable TGraphErrors where+        delete = xform0 c_tgrapherrors_delete -newTGraphErrors :: CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO TGraphErrors+newTGraphErrors ::+                  CInt ->+                    (Ptr CDouble) ->+                      (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> IO TGraphErrors newTGraphErrors = xform4 c_tgrapherrors_newtgrapherrors------instance FPtr (Exist TGraphErrors) where-  type Raw (Exist TGraphErrors) = RawTGraphErrors-  get_fptr (ETGraphErrors obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETGraphErrors (cast_fptr_to_obj (fptr :: ForeignPtr RawTGraphErrors) :: TGraphErrors)
src/HROOT/Hist/TGraphErrors/Interface.hs view
@@ -1,36 +1,27 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TGraphErrors.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TGraphErrors.RawType- import HROOT.Hist.TGraph.Interface----- ============ ---- ---class (ITGraph a) => ITGraphErrors a where--instance Existable TGraphErrors where-  data Exist TGraphErrors = forall a. (FPtr a, ITGraphErrors a) => ETGraphErrors a+class ITGraph a => ITGraphErrors a -upcastTGraphErrors :: (FPtr a, ITGraphErrors a) => a -> TGraphErrors-upcastTGraphErrors h = let fh = get_fptr h-                           fh2 :: ForeignPtr RawTGraphErrors = castForeignPtr fh-                       in cast_fptr_to_obj fh2+upcastTGraphErrors ::+                   forall a . (FPtr a, ITGraphErrors a) => a -> TGraphErrors+upcastTGraphErrors h+  = let fh = get_fptr h+        fh2 :: Ptr RawTGraphErrors = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTGraphErrors :: (FPtr a, ITGraphErrors a) => TGraphErrors -> a -downcastTGraphErrors h = let fh = get_fptr h-                             fh2 = castForeignPtr fh-                         in cast_fptr_to_obj fh2+downcastTGraphErrors ::+                     forall a . (FPtr a, ITGraphErrors a) => TGraphErrors -> a+downcastTGraphErrors h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TGraphErrors/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TGraphErrors.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTGraphErrors -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TGraphErrors = TGraphErrors (Ptr RawTGraphErrors)+                     deriving (Eq, Ord, Show) -data RawTGraphErrors-newtype TGraphErrors = TGraphErrors (ForeignPtr RawTGraphErrors) deriving (Eq, Ord, Show) instance FPtr TGraphErrors where-   type Raw TGraphErrors = RawTGraphErrors-   get_fptr (TGraphErrors fptr) = fptr-   cast_fptr_to_obj = TGraphErrors+        type Raw TGraphErrors = RawTGraphErrors+        get_fptr (TGraphErrors ptr) = ptr+        cast_fptr_to_obj = TGraphErrors
src/HROOT/Hist/TH1.hs view
@@ -1,26 +1,11 @@ module HROOT.Hist.TH1-  (-    TH1(..)-  , ITH1(..)-  , upcastTH1-  , downcastTH1-  , tH1GetAsymmetry-  , tH1GetBufferLength-  , tH1GetBufferSize-  , tH1GetDirectory-  , tH1IsBinOverflow-  , tH1IsBinUnderflow-  , tH1UseCurrentStyle-  , tH1GetDefaultBufferSize-  , tH1GetDefaultSumw2-  , tH1SetDefaultBufferSize-  , tH1SetDefaultSumw2-  , tH1SmoothArray-  , tH1StatOverflows -  ) where-+       (TH1(..), ITH1(..), upcastTH1, downcastTH1, tH1GetAsymmetry,+        tH1GetBufferLength, tH1GetBufferSize, tH1GetDirectory,+        tH1IsBinOverflow, tH1IsBinUnderflow, tH1UseCurrentStyle,+        tH1GetDefaultBufferSize, tH1GetDefaultSumw2,+        tH1SetDefaultBufferSize, tH1SetDefaultSumw2, tH1SmoothArray,+        tH1StatOverflows)+       where import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.Interface import HROOT.Hist.TH1.Implementation--
src/HROOT/Hist/TH1/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH1.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.Interface  instance (ITH1 a, FPtr a) => Castable a (Ptr RawTH1) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH1 (Ptr RawTH1) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH1.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH1.RawType import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType@@ -20,515 +10,559 @@ import HROOT.Core.TArrayD.RawType import HROOT.Hist.TAxis.RawType -#include "HROOTHistTH1.h"+foreign import ccall safe "HROOTHistTH1.h TH1_SetName"+               c_th1_setname :: Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_Draw" c_th1_draw -  :: (Ptr RawTH1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetNameTitle"+               c_th1_setnametitle :: Ptr RawTH1 -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_FindObject" c_th1_findobject -  :: (Ptr RawTH1) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH1.h TH1_SetTitle"+               c_th1_settitle :: Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_GetName" c_th1_getname -  :: (Ptr RawTH1) -> IO CString+foreign import ccall safe "HROOTHistTH1.h TH1_GetLineColor"+               c_th1_getlinecolor :: Ptr RawTH1 -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_IsA" c_th1_isa -  :: (Ptr RawTH1) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH1.h TH1_GetLineStyle"+               c_th1_getlinestyle :: Ptr RawTH1 -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_Paint" c_th1_paint -  :: (Ptr RawTH1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_GetLineWidth"+               c_th1_getlinewidth :: Ptr RawTH1 -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_printObj" c_th1_printobj -  :: (Ptr RawTH1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_ResetAttLine"+               c_th1_resetattline :: Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SaveAs" c_th1_saveas -  :: (Ptr RawTH1) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetLineAttributes"+               c_th1_setlineattributes :: Ptr RawTH1 -> IO () -foreign import ccall "HROOTHistTH1.h TH1_Write" c_th1_write -  :: (Ptr RawTH1) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_SetLineColor"+               c_th1_setlinecolor :: Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH1.h TH1_GetLineColor" c_th1_getlinecolor -  :: (Ptr RawTH1) -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_SetLineStyle"+               c_th1_setlinestyle :: Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH1.h TH1_GetLineStyle" c_th1_getlinestyle -  :: (Ptr RawTH1) -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_SetLineWidth"+               c_th1_setlinewidth :: Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH1.h TH1_GetLineWidth" c_th1_getlinewidth -  :: (Ptr RawTH1) -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_SetFillColor"+               c_th1_setfillcolor :: Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH1.h TH1_ResetAttLine" c_th1_resetattline -  :: (Ptr RawTH1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetFillStyle"+               c_th1_setfillstyle :: Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetLineAttributes" c_th1_setlineattributes -  :: (Ptr RawTH1) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_GetMarkerColor"+               c_th1_getmarkercolor :: Ptr RawTH1 -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_SetLineColor" c_th1_setlinecolor -  :: (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_GetMarkerStyle"+               c_th1_getmarkerstyle :: Ptr RawTH1 -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_SetLineStyle" c_th1_setlinestyle -  :: (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_GetMarkerSize"+               c_th1_getmarkersize :: Ptr RawTH1 -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_SetLineWidth" c_th1_setlinewidth -  :: (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_ResetAttMarker"+               c_th1_resetattmarker :: Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetFillColor" c_th1_setfillcolor -  :: (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetMarkerAttributes"+               c_th1_setmarkerattributes :: Ptr RawTH1 -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetFillStyle" c_th1_setfillstyle -  :: (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetMarkerColor"+               c_th1_setmarkercolor :: Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH1.h TH1_GetMarkerColor" c_th1_getmarkercolor -  :: (Ptr RawTH1) -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_SetMarkerStyle"+               c_th1_setmarkerstyle :: Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH1.h TH1_GetMarkerStyle" c_th1_getmarkerstyle -  :: (Ptr RawTH1) -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_SetMarkerSize"+               c_th1_setmarkersize :: Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH1.h TH1_GetMarkerSize" c_th1_getmarkersize -  :: (Ptr RawTH1) -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_Draw" c_th1_draw ::+               Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_ResetAttMarker" c_th1_resetattmarker -  :: (Ptr RawTH1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_FindObject"+               c_th1_findobject :: Ptr RawTH1 -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH1.h TH1_SetMarkerAttributes" c_th1_setmarkerattributes -  :: (Ptr RawTH1) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_GetName"+               c_th1_getname :: Ptr RawTH1 -> IO CString -foreign import ccall "HROOTHistTH1.h TH1_SetMarkerColor" c_th1_setmarkercolor -  :: (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_IsA" c_th1_isa ::+               Ptr RawTH1 -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH1.h TH1_SetMarkerStyle" c_th1_setmarkerstyle -  :: (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_Paint" c_th1_paint ::+               Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetMarkerSize" c_th1_setmarkersize -  :: (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_printObj"+               c_th1_printobj :: Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_delete" c_th1_delete -  :: (Ptr RawTH1) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SaveAs" c_th1_saveas+               :: Ptr RawTH1 -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_Add" c_th1_add -  :: (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_Write" c_th1_write ::+               Ptr RawTH1 -> CString -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_AddBinContent" c_th1_addbincontent -  :: (Ptr RawTH1) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_delete" c_th1_delete+               :: Ptr RawTH1 -> IO () -foreign import ccall "HROOTHistTH1.h TH1_Chi2Test" c_th1_chi2test -  :: (Ptr RawTH1) -> (Ptr RawTH1) -> CString -> (Ptr CDouble) -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_Add" c_th1_add ::+               Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_ComputeIntegral" c_th1_computeintegral -  :: (Ptr RawTH1) -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_AddBinContent"+               c_th1_addbincontent :: Ptr RawTH1 -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_DirectoryAutoAdd" c_th1_directoryautoadd -  :: (Ptr RawTH1) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_Chi2Test"+               c_th1_chi2test ::+               Ptr RawTH1 -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_Divide" c_th1_divide -  :: (Ptr RawTH1) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_ComputeIntegral"+               c_th1_computeintegral :: Ptr RawTH1 -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_drawCopyTH1" c_th1_drawcopyth1 -  :: (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1.h TH1_DirectoryAutoAdd"+               c_th1_directoryautoadd :: Ptr RawTH1 -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1.h TH1_DrawNormalized" c_th1_drawnormalized -  :: (Ptr RawTH1) -> CString -> CDouble -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1.h TH1_Divide" c_th1_divide+               ::+               Ptr RawTH1 ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_drawPanelTH1" c_th1_drawpanelth1 -  :: (Ptr RawTH1) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_drawCopyTH1"+               c_th1_drawcopyth1 :: Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1.h TH1_BufferEmpty" c_th1_bufferempty -  :: (Ptr RawTH1) -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_DrawNormalized"+               c_th1_drawnormalized ::+               Ptr RawTH1 -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1.h TH1_evalF" c_th1_evalf -  :: (Ptr RawTH1) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_drawPanelTH1"+               c_th1_drawpanelth1 :: Ptr RawTH1 -> IO () -foreign import ccall "HROOTHistTH1.h TH1_FFT" c_th1_fft -  :: (Ptr RawTH1) -> (Ptr RawTH1) -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1.h TH1_BufferEmpty"+               c_th1_bufferempty :: Ptr RawTH1 -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_fill1" c_th1_fill1 -  :: (Ptr RawTH1) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_evalF" c_th1_evalf ::+               Ptr RawTH1 -> Ptr RawTF1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_fill1w" c_th1_fill1w -  :: (Ptr RawTH1) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_FFT" c_th1_fft ::+               Ptr RawTH1 -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1.h TH1_fillN1" c_th1_filln1 -  :: (Ptr RawTH1) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_fill1" c_th1_fill1 ::+               Ptr RawTH1 -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_FillRandom" c_th1_fillrandom -  :: (Ptr RawTH1) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_fill1w" c_th1_fill1w+               :: Ptr RawTH1 -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_FindBin" c_th1_findbin -  :: (Ptr RawTH1) -> CDouble -> 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 "HROOTHistTH1.h TH1_FindFixBin" c_th1_findfixbin -  :: (Ptr RawTH1) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_FillRandom"+               c_th1_fillrandom :: Ptr RawTH1 -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH1.h TH1_FindFirstBinAbove" c_th1_findfirstbinabove -  :: (Ptr RawTH1) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_FindBin"+               c_th1_findbin ::+               Ptr RawTH1 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_FindLastBinAbove" c_th1_findlastbinabove -  :: (Ptr RawTH1) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_FindFixBin"+               c_th1_findfixbin ::+               Ptr RawTH1 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_FitPanelTH1" c_th1_fitpanelth1 -  :: (Ptr RawTH1) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_FindFirstBinAbove"+               c_th1_findfirstbinabove :: Ptr RawTH1 -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_tH1GetAsymmetry" c_th1_th1getasymmetry -  :: (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1.h TH1_FindLastBinAbove"+               c_th1_findlastbinabove :: Ptr RawTH1 -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_tH1GetBufferLength" c_th1_th1getbufferlength -  :: (Ptr RawTH1) -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_Fit" c_th1_fit ::+               Ptr RawTH1 ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_tH1GetBufferSize" c_th1_th1getbuffersize -  :: (Ptr RawTH1) -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_FitPanelTH1"+               c_th1_fitpanelth1 :: Ptr RawTH1 -> IO () -foreign import ccall "HROOTHistTH1.h TH1_tH1GetDefaultBufferSize" c_th1_th1getdefaultbuffersize -  :: IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_tH1GetAsymmetry"+               c_th1_th1getasymmetry ::+               Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1.h TH1_getNdivisionA" c_th1_getndivisiona -  :: (Ptr RawTH1) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_tH1GetBufferLength"+               c_th1_th1getbufferlength :: Ptr RawTH1 -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_getAxisColorA" c_th1_getaxiscolora -  :: (Ptr RawTH1) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_tH1GetBufferSize"+               c_th1_th1getbuffersize :: Ptr RawTH1 -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_getLabelColorA" c_th1_getlabelcolora -  :: (Ptr RawTH1) -> CString -> IO CInt+foreign import ccall safe+               "HROOTHistTH1.h TH1_tH1GetDefaultBufferSize"+               c_th1_th1getdefaultbuffersize :: IO CInt -foreign import ccall "HROOTHistTH1.h TH1_getLabelFontA" c_th1_getlabelfonta -  :: (Ptr RawTH1) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_getNdivisionA"+               c_th1_getndivisiona :: Ptr RawTH1 -> CString -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_getLabelOffsetA" c_th1_getlabeloffseta -  :: (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_getAxisColorA"+               c_th1_getaxiscolora :: Ptr RawTH1 -> CString -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_getLabelSizeA" c_th1_getlabelsizea -  :: (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_getLabelColorA"+               c_th1_getlabelcolora :: Ptr RawTH1 -> CString -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_getTitleFontA" c_th1_gettitlefonta -  :: (Ptr RawTH1) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_getLabelFontA"+               c_th1_getlabelfonta :: Ptr RawTH1 -> CString -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_getTitleOffsetA" c_th1_gettitleoffseta -  :: (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_getLabelOffsetA"+               c_th1_getlabeloffseta :: Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_getTitleSizeA" c_th1_gettitlesizea -  :: (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_getLabelSizeA"+               c_th1_getlabelsizea :: Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_getTickLengthA" c_th1_getticklengtha -  :: (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_getTitleFontA"+               c_th1_gettitlefonta :: Ptr RawTH1 -> CString -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_GetBarOffset" c_th1_getbaroffset -  :: (Ptr RawTH1) -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_getTitleOffsetA"+               c_th1_gettitleoffseta :: Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetBarWidth" c_th1_getbarwidth -  :: (Ptr RawTH1) -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_getTitleSizeA"+               c_th1_gettitlesizea :: Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetContour" c_th1_getcontour -  :: (Ptr RawTH1) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_getTickLengthA"+               c_th1_getticklengtha :: Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetContourLevel" c_th1_getcontourlevel -  :: (Ptr RawTH1) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetBarOffset"+               c_th1_getbaroffset :: Ptr RawTH1 -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetContourLevelPad" c_th1_getcontourlevelpad -  :: (Ptr RawTH1) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetBarWidth"+               c_th1_getbarwidth :: Ptr RawTH1 -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetBin" c_th1_getbin -  :: (Ptr RawTH1) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_GetContour"+               c_th1_getcontour :: Ptr RawTH1 -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_GetBinCenter" c_th1_getbincenter -  :: (Ptr RawTH1) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetContourLevel"+               c_th1_getcontourlevel :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetBinContent1" c_th1_getbincontent1 -  :: (Ptr RawTH1) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetContourLevelPad"+               c_th1_getcontourlevelpad :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetBinContent2" c_th1_getbincontent2 -  :: (Ptr RawTH1) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetBin" c_th1_getbin+               :: Ptr RawTH1 -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_GetBinContent3" c_th1_getbincontent3 -  :: (Ptr RawTH1) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetBinCenter"+               c_th1_getbincenter :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetBinError1" c_th1_getbinerror1 -  :: (Ptr RawTH1) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetBinContent1"+               c_th1_getbincontent1 :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetBinError2" c_th1_getbinerror2 -  :: (Ptr RawTH1) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetBinContent2"+               c_th1_getbincontent2 :: Ptr RawTH1 -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetBinError3" c_th1_getbinerror3 -  :: (Ptr RawTH1) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetBinContent3"+               c_th1_getbincontent3 ::+               Ptr RawTH1 -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetBinLowEdge" c_th1_getbinlowedge -  :: (Ptr RawTH1) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetBinError1"+               c_th1_getbinerror1 :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetBinWidth" c_th1_getbinwidth -  :: (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 "HROOTHistTH1.h TH1_GetCellContent" c_th1_getcellcontent -  :: (Ptr RawTH1) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetBinError3"+               c_th1_getbinerror3 ::+               Ptr RawTH1 -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetCellError" c_th1_getcellerror -  :: (Ptr RawTH1) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetBinLowEdge"+               c_th1_getbinlowedge :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_tH1GetDefaultSumw2" c_th1_th1getdefaultsumw2 -  :: IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_GetBinWidth"+               c_th1_getbinwidth :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_tH1GetDirectory" c_th1_th1getdirectory -  :: (Ptr RawTH1) -> IO (Ptr RawTDirectory)+foreign import ccall safe "HROOTHistTH1.h TH1_GetCellContent"+               c_th1_getcellcontent :: Ptr RawTH1 -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetEntries" c_th1_getentries -  :: (Ptr RawTH1) -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetCellError"+               c_th1_getcellerror :: Ptr RawTH1 -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetEffectiveEntries" c_th1_geteffectiveentries -  :: (Ptr RawTH1) -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_tH1GetDefaultSumw2"+               c_th1_th1getdefaultsumw2 :: IO CInt -foreign import ccall "HROOTHistTH1.h TH1_GetFunction" c_th1_getfunction -  :: (Ptr RawTH1) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH1.h TH1_tH1GetDirectory"+               c_th1_th1getdirectory :: Ptr RawTH1 -> IO (Ptr RawTDirectory) -foreign import ccall "HROOTHistTH1.h TH1_GetDimension" c_th1_getdimension -  :: (Ptr RawTH1) -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_GetEntries"+               c_th1_getentries :: Ptr RawTH1 -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetKurtosis" c_th1_getkurtosis -  :: (Ptr RawTH1) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetEffectiveEntries"+               c_th1_geteffectiveentries :: Ptr RawTH1 -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetLowEdge" c_th1_getlowedge -  :: (Ptr RawTH1) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_GetFunction"+               c_th1_getfunction :: Ptr RawTH1 -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH1.h TH1_getMaximumTH1" c_th1_getmaximumth1 -  :: (Ptr RawTH1) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetDimension"+               c_th1_getdimension :: Ptr RawTH1 -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_GetMaximumBin" c_th1_getmaximumbin -  :: (Ptr RawTH1) -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_GetKurtosis"+               c_th1_getkurtosis :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetMaximumStored" c_th1_getmaximumstored -  :: (Ptr RawTH1) -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetLowEdge"+               c_th1_getlowedge :: Ptr RawTH1 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1.h TH1_getMinimumTH1" c_th1_getminimumth1 -  :: (Ptr RawTH1) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_getMaximumTH1"+               c_th1_getmaximumth1 :: Ptr RawTH1 -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetMinimumBin" c_th1_getminimumbin -  :: (Ptr RawTH1) -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_GetMaximumBin"+               c_th1_getmaximumbin :: Ptr RawTH1 -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_GetMinimumStored" c_th1_getminimumstored -  :: (Ptr RawTH1) -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetMaximumStored"+               c_th1_getmaximumstored :: Ptr RawTH1 -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetMean" c_th1_getmean -  :: (Ptr RawTH1) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_getMinimumTH1"+               c_th1_getminimumth1 :: Ptr RawTH1 -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetMeanError" c_th1_getmeanerror -  :: (Ptr RawTH1) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetMinimumBin"+               c_th1_getminimumbin :: Ptr RawTH1 -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_GetNbinsX" c_th1_getnbinsx -  :: (Ptr RawTH1) -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetMinimumStored"+               c_th1_getminimumstored :: Ptr RawTH1 -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetNbinsY" c_th1_getnbinsy -  :: (Ptr RawTH1) -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetMean"+               c_th1_getmean :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetNbinsZ" c_th1_getnbinsz -  :: (Ptr RawTH1) -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetMeanError"+               c_th1_getmeanerror :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_getQuantilesTH1" c_th1_getquantilesth1 -  :: (Ptr RawTH1) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_GetNbinsX"+               c_th1_getnbinsx :: Ptr RawTH1 -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetRandom" c_th1_getrandom -  :: (Ptr RawTH1) -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetNbinsY"+               c_th1_getnbinsy :: Ptr RawTH1 -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetStats" c_th1_getstats -  :: (Ptr RawTH1) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_GetNbinsZ"+               c_th1_getnbinsz :: Ptr RawTH1 -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetSumOfWeights" c_th1_getsumofweights -  :: (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 "HROOTHistTH1.h TH1_GetSumw2" c_th1_getsumw2 -  :: (Ptr RawTH1) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH1.h TH1_GetRandom"+               c_th1_getrandom :: Ptr RawTH1 -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetSumw2N" c_th1_getsumw2n -  :: (Ptr RawTH1) -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_GetStats"+               c_th1_getstats :: Ptr RawTH1 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1.h TH1_GetRMS" c_th1_getrms -  :: (Ptr RawTH1) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetSumOfWeights"+               c_th1_getsumofweights :: Ptr RawTH1 -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_GetRMSError" c_th1_getrmserror -  :: (Ptr RawTH1) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetSumw2"+               c_th1_getsumw2 :: Ptr RawTH1 -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH1.h TH1_GetSkewness" c_th1_getskewness -  :: (Ptr RawTH1) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetSumw2N"+               c_th1_getsumw2n :: Ptr RawTH1 -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_integral1" c_th1_integral1 -  :: (Ptr RawTH1) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetRMS" c_th1_getrms+               :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_interpolate1" c_th1_interpolate1 -  :: (Ptr RawTH1) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetRMSError"+               c_th1_getrmserror :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_interpolate2" c_th1_interpolate2 -  :: (Ptr RawTH1) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_GetSkewness"+               c_th1_getskewness :: Ptr RawTH1 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_interpolate3" c_th1_interpolate3 -  :: (Ptr RawTH1) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_integral1"+               c_th1_integral1 ::+               Ptr RawTH1 -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_tH1IsBinOverflow" c_th1_th1isbinoverflow -  :: (Ptr RawTH1) -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_interpolate1"+               c_th1_interpolate1 :: Ptr RawTH1 -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_tH1IsBinUnderflow" c_th1_th1isbinunderflow -  :: (Ptr RawTH1) -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_interpolate2"+               c_th1_interpolate2 ::+               Ptr RawTH1 -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_KolmogorovTest" c_th1_kolmogorovtest -  :: (Ptr RawTH1) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1.h TH1_interpolate3"+               c_th1_interpolate3 ::+               Ptr RawTH1 -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_LabelsDeflate" c_th1_labelsdeflate -  :: (Ptr RawTH1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_tH1IsBinOverflow"+               c_th1_th1isbinoverflow :: Ptr RawTH1 -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_LabelsInflate" c_th1_labelsinflate -  :: (Ptr RawTH1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_tH1IsBinUnderflow"+               c_th1_th1isbinunderflow :: Ptr RawTH1 -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_LabelsOption" c_th1_labelsoption -  :: (Ptr RawTH1) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_KolmogorovTest"+               c_th1_kolmogorovtest ::+               Ptr RawTH1 -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1.h TH1_multiflyF" c_th1_multiflyf -  :: (Ptr RawTH1) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_LabelsDeflate"+               c_th1_labelsdeflate :: Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_Multiply" c_th1_multiply -  :: (Ptr RawTH1) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_LabelsInflate"+               c_th1_labelsinflate :: Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_PutStats" c_th1_putstats -  :: (Ptr RawTH1) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_LabelsOption"+               c_th1_labelsoption :: Ptr RawTH1 -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_Rebin" c_th1_rebin -  :: (Ptr RawTH1) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1.h TH1_multiflyF"+               c_th1_multiflyf :: Ptr RawTH1 -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_RebinAxis" c_th1_rebinaxis -  :: (Ptr RawTH1) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_Multiply"+               c_th1_multiply ::+               Ptr RawTH1 ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_Rebuild" c_th1_rebuild -  :: (Ptr RawTH1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_PutStats"+               c_th1_putstats :: Ptr RawTH1 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1.h TH1_RecursiveRemove" c_th1_recursiveremove -  :: (Ptr RawTH1) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_Rebin" c_th1_rebin ::+               Ptr RawTH1 -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1.h TH1_Reset" c_th1_reset -  :: (Ptr RawTH1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_RebinAxis"+               c_th1_rebinaxis :: Ptr RawTH1 -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH1.h TH1_ResetStats" c_th1_resetstats -  :: (Ptr RawTH1) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_Rebuild"+               c_th1_rebuild :: Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_Scale" c_th1_scale -  :: (Ptr RawTH1) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_RecursiveRemove"+               c_th1_recursiveremove :: Ptr RawTH1 -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setAxisColorA" c_th1_setaxiscolora -  :: (Ptr RawTH1) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_Reset" c_th1_reset ::+               Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetAxisRange" c_th1_setaxisrange -  :: (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_ResetStats"+               c_th1_resetstats :: Ptr RawTH1 -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetBarOffset" c_th1_setbaroffset -  :: (Ptr RawTH1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_Scale" c_th1_scale ::+               Ptr RawTH1 -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetBarWidth" c_th1_setbarwidth -  :: (Ptr RawTH1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setAxisColorA"+               c_th1_setaxiscolora :: Ptr RawTH1 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setBinContent1" c_th1_setbincontent1 -  :: (Ptr RawTH1) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetAxisRange"+               c_th1_setaxisrange ::+               Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setBinContent2" c_th1_setbincontent2 -  :: (Ptr RawTH1) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetBarOffset"+               c_th1_setbaroffset :: Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setBinContent3" c_th1_setbincontent3 -  :: (Ptr RawTH1) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetBarWidth"+               c_th1_setbarwidth :: Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setBinError1" c_th1_setbinerror1 -  :: (Ptr RawTH1) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setBinContent1"+               c_th1_setbincontent1 :: Ptr RawTH1 -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setBinError2" c_th1_setbinerror2 -  :: (Ptr RawTH1) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setBinContent2"+               c_th1_setbincontent2 ::+               Ptr RawTH1 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setBinError3" c_th1_setbinerror3 -  :: (Ptr RawTH1) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setBinContent3"+               c_th1_setbincontent3 ::+               Ptr RawTH1 -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setBins1" c_th1_setbins1 -  :: (Ptr RawTH1) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setBinError1"+               c_th1_setbinerror1 :: Ptr RawTH1 -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setBins2" c_th1_setbins2 -  :: (Ptr RawTH1) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setBinError2"+               c_th1_setbinerror2 ::+               Ptr RawTH1 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setBins3" c_th1_setbins3 -  :: (Ptr RawTH1) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setBinError3"+               c_th1_setbinerror3 ::+               Ptr RawTH1 -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetBinsLength" c_th1_setbinslength -  :: (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setBins1"+               c_th1_setbins1 :: Ptr RawTH1 -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetBuffer" c_th1_setbuffer -  :: (Ptr RawTH1) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setBins2"+               c_th1_setbins2 ::+               Ptr RawTH1 ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetCellContent" c_th1_setcellcontent -  :: (Ptr RawTH1) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setBins3"+               c_th1_setbins3 ::+               Ptr RawTH1 ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetContent" c_th1_setcontent -  :: (Ptr RawTH1) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetBinsLength"+               c_th1_setbinslength :: Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetContour" c_th1_setcontour -  :: (Ptr RawTH1) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetBuffer"+               c_th1_setbuffer :: Ptr RawTH1 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetContourLevel" c_th1_setcontourlevel -  :: (Ptr RawTH1) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetCellContent"+               c_th1_setcellcontent ::+               Ptr RawTH1 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_tH1SetDefaultBufferSize" c_th1_th1setdefaultbuffersize -  :: CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetContent"+               c_th1_setcontent :: Ptr RawTH1 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1.h TH1_tH1SetDefaultSumw2" c_th1_th1setdefaultsumw2 -  :: CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetContour"+               c_th1_setcontour :: Ptr RawTH1 -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetDirectory" c_th1_setdirectory -  :: (Ptr RawTH1) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetContourLevel"+               c_th1_setcontourlevel :: Ptr RawTH1 -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetEntries" c_th1_setentries -  :: (Ptr RawTH1) -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTH1.h TH1_tH1SetDefaultBufferSize"+               c_th1_th1setdefaultbuffersize :: CInt -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetError" c_th1_seterror -  :: (Ptr RawTH1) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_tH1SetDefaultSumw2"+               c_th1_th1setdefaultsumw2 :: CInt -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setLabelColorA" c_th1_setlabelcolora -  :: (Ptr RawTH1) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetDirectory"+               c_th1_setdirectory :: Ptr RawTH1 -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setLabelSizeA" c_th1_setlabelsizea -  :: (Ptr RawTH1) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetEntries"+               c_th1_setentries :: Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setLabelFontA" c_th1_setlabelfonta -  :: (Ptr RawTH1) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetError"+               c_th1_seterror :: Ptr RawTH1 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1.h TH1_setLabelOffsetA" c_th1_setlabeloffseta -  :: (Ptr RawTH1) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setLabelColorA"+               c_th1_setlabelcolora :: Ptr RawTH1 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetMaximum" c_th1_setmaximum -  :: (Ptr RawTH1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setLabelSizeA"+               c_th1_setlabelsizea :: Ptr RawTH1 -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetMinimum" c_th1_setminimum -  :: (Ptr RawTH1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setLabelFontA"+               c_th1_setlabelfonta :: Ptr RawTH1 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetNormFactor" c_th1_setnormfactor -  :: (Ptr RawTH1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_setLabelOffsetA"+               c_th1_setlabeloffseta :: Ptr RawTH1 -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetStats" c_th1_setstats -  :: (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetMaximum"+               c_th1_setmaximum :: Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetOption" c_th1_setoption -  :: (Ptr RawTH1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetMinimum"+               c_th1_setminimum :: Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetXTitle" c_th1_setxtitle -  :: (Ptr RawTH1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetNormFactor"+               c_th1_setnormfactor :: Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetYTitle" c_th1_setytitle -  :: (Ptr RawTH1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetStats"+               c_th1_setstats :: Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH1.h TH1_SetZTitle" c_th1_setztitle -  :: (Ptr RawTH1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetOption"+               c_th1_setoption :: Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_ShowBackground" c_th1_showbackground -  :: (Ptr RawTH1) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1.h TH1_SetXTitle"+               c_th1_setxtitle :: Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_ShowPeaks" c_th1_showpeaks -  :: (Ptr RawTH1) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1.h TH1_SetYTitle"+               c_th1_setytitle :: Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_Smooth" c_th1_smooth -  :: (Ptr RawTH1) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_SetZTitle"+               c_th1_setztitle :: Ptr RawTH1 -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_tH1SmoothArray" c_th1_th1smootharray -  :: CInt -> (Ptr CDouble) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_ShowBackground"+               c_th1_showbackground ::+               Ptr RawTH1 -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1.h TH1_tH1StatOverflows" c_th1_th1statoverflows -  :: CInt -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_ShowPeaks"+               c_th1_showpeaks ::+               Ptr RawTH1 -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1.h TH1_Sumw2" c_th1_sumw2 -  :: (Ptr RawTH1) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_Smooth" c_th1_smooth+               :: Ptr RawTH1 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1.h TH1_tH1UseCurrentStyle" c_th1_th1usecurrentstyle -  :: (Ptr RawTH1) -> IO ()+foreign import ccall safe "HROOTHistTH1.h TH1_tH1SmoothArray"+               c_th1_th1smootharray :: CInt -> (Ptr CDouble) -> CInt -> IO () +foreign import ccall safe "HROOTHistTH1.h TH1_tH1StatOverflows"+               c_th1_th1statoverflows :: CInt -> IO ()++foreign import ccall safe "HROOTHistTH1.h TH1_Sumw2" c_th1_sumw2 ::+               Ptr RawTH1 -> IO ()++foreign import ccall safe "HROOTHistTH1.h TH1_tH1UseCurrentStyle"+               c_th1_th1usecurrentstyle :: Ptr RawTH1 -> IO ()
src/HROOT/Hist/TH1/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.FFI import HROOT.Hist.TH1.Interface@@ -26,9 +27,9 @@ import HROOT.Hist.TAxis.RawType import HROOT.Hist.TAxis.Cast import HROOT.Hist.TAxis.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -38,349 +39,190 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe+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+        drawNormalized = xform2 c_th1_drawnormalized+        drawPanelTH1 = xform0 c_th1_drawpanelth1+        bufferEmpty = xform1 c_th1_bufferempty+        evalF = xform2 c_th1_evalf+        fFT = xform2 c_th1_fft+        fill1 = xform1 c_th1_fill1+        fill1w = xform2 c_th1_fill1w+        fillN1 = xform4 c_th1_filln1+        fillRandom = xform2 c_th1_fillrandom+        findBin = xform3 c_th1_findbin+        findFixBin = xform3 c_th1_findfixbin+        findFirstBinAbove = xform2 c_th1_findfirstbinabove+        findLastBinAbove = xform2 c_th1_findlastbinabove+        fit = xform5 c_th1_fit+        fitPanelTH1 = xform0 c_th1_fitpanelth1+        getNdivisionA = xform1 c_th1_getndivisiona+        getAxisColorA = xform1 c_th1_getaxiscolora+        getLabelColorA = xform1 c_th1_getlabelcolora+        getLabelFontA = xform1 c_th1_getlabelfonta+        getLabelOffsetA = xform1 c_th1_getlabeloffseta+        getLabelSizeA = xform1 c_th1_getlabelsizea+        getTitleFontA = xform1 c_th1_gettitlefonta+        getTitleOffsetA = xform1 c_th1_gettitleoffseta+        getTitleSizeA = xform1 c_th1_gettitlesizea+        getTickLengthA = xform1 c_th1_getticklengtha+        getBarOffset = xform0 c_th1_getbaroffset+        getBarWidth = xform0 c_th1_getbarwidth+        getContour = xform1 c_th1_getcontour+        getContourLevel = xform1 c_th1_getcontourlevel+        getContourLevelPad = xform1 c_th1_getcontourlevelpad+        getBin = xform3 c_th1_getbin+        getBinCenter = xform1 c_th1_getbincenter+        getBinContent1 = xform1 c_th1_getbincontent1+        getBinContent2 = xform2 c_th1_getbincontent2+        getBinContent3 = xform3 c_th1_getbincontent3+        getBinError1 = xform1 c_th1_getbinerror1+        getBinError2 = xform2 c_th1_getbinerror2+        getBinError3 = xform3 c_th1_getbinerror3+        getBinLowEdge = xform1 c_th1_getbinlowedge+        getBinWidth = xform1 c_th1_getbinwidth+        getCellContent = xform2 c_th1_getcellcontent+        getCellError = xform2 c_th1_getcellerror+        getEntries = xform0 c_th1_getentries+        getEffectiveEntries = xform0 c_th1_geteffectiveentries+        getFunction = xform1 c_th1_getfunction+        getDimension = xform0 c_th1_getdimension+        getKurtosis = xform1 c_th1_getkurtosis+        getLowEdge = xform1 c_th1_getlowedge+        getMaximumTH1 = xform1 c_th1_getmaximumth1+        getMaximumBin = xform0 c_th1_getmaximumbin+        getMaximumStored = xform0 c_th1_getmaximumstored+        getMinimumTH1 = xform1 c_th1_getminimumth1+        getMinimumBin = xform0 c_th1_getminimumbin+        getMinimumStored = xform0 c_th1_getminimumstored+        getMean = xform1 c_th1_getmean+        getMeanError = xform1 c_th1_getmeanerror+        getNbinsX = xform0 c_th1_getnbinsx+        getNbinsY = xform0 c_th1_getnbinsy+        getNbinsZ = xform0 c_th1_getnbinsz+        getQuantilesTH1 = xform3 c_th1_getquantilesth1+        getRandom = xform0 c_th1_getrandom+        getStats = xform1 c_th1_getstats+        getSumOfWeights = xform0 c_th1_getsumofweights+        getSumw2 = xform0 c_th1_getsumw2+        getSumw2N = xform0 c_th1_getsumw2n+        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+        labelsInflate = xform1 c_th1_labelsinflate+        labelsOption = xform2 c_th1_labelsoption+        multiflyF = xform2 c_th1_multiflyf+        multiply = xform5 c_th1_multiply+        putStats = xform1 c_th1_putstats+        rebin = xform3 c_th1_rebin+        rebinAxis = xform2 c_th1_rebinaxis+        rebuild = xform1 c_th1_rebuild+        recursiveRemove = xform1 c_th1_recursiveremove+        reset = xform1 c_th1_reset+        resetStats = xform0 c_th1_resetstats+        scale = xform2 c_th1_scale+        setAxisColorA = xform2 c_th1_setaxiscolora+        setAxisRange = xform3 c_th1_setaxisrange+        setBarOffset = xform1 c_th1_setbaroffset+        setBarWidth = xform1 c_th1_setbarwidth+        setBinContent1 = xform2 c_th1_setbincontent1+        setBinContent2 = xform3 c_th1_setbincontent2+        setBinContent3 = xform4 c_th1_setbincontent3+        setBinError1 = xform2 c_th1_setbinerror1+        setBinError2 = xform3 c_th1_setbinerror2+        setBinError3 = xform4 c_th1_setbinerror3+        setBins1 = xform2 c_th1_setbins1+        setBins2 = xform4 c_th1_setbins2+        setBins3 = xform6 c_th1_setbins3+        setBinsLength = xform1 c_th1_setbinslength+        setBuffer = xform2 c_th1_setbuffer+        setCellContent = xform3 c_th1_setcellcontent+        setContent = xform1 c_th1_setcontent+        setContour = xform2 c_th1_setcontour+        setContourLevel = xform2 c_th1_setcontourlevel+        setDirectory = xform1 c_th1_setdirectory+        setEntries = xform1 c_th1_setentries+        setError = xform1 c_th1_seterror+        setLabelColorA = xform2 c_th1_setlabelcolora+        setLabelSizeA = xform2 c_th1_setlabelsizea+        setLabelFontA = xform2 c_th1_setlabelfonta+        setLabelOffsetA = xform2 c_th1_setlabeloffseta+        setMaximum = xform1 c_th1_setmaximum+        setMinimum = xform1 c_th1_setminimum+        setNormFactor = xform1 c_th1_setnormfactor+        setStats = xform1 c_th1_setstats+        setOption = xform1 c_th1_setoption+        setXTitle = xform1 c_th1_setxtitle+        setYTitle = xform1 c_th1_setytitle+        setZTitle = xform1 c_th1_setztitle+        showBackground = xform2 c_th1_showbackground+        showPeaks = xform3 c_th1_showpeaks+        smooth = xform2 c_th1_smooth+        sumw2 = xform0 c_th1_sumw2 +instance ITNamed TH1 where+        setName = xform1 c_th1_setname+        setNameTitle = xform2 c_th1_setnametitle+        setTitle = xform1 c_th1_settitle -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-  drawNormalized = xform2 c_th1_drawnormalized-  drawPanelTH1 = xform0 c_th1_drawpanelth1-  bufferEmpty = xform1 c_th1_bufferempty-  evalF = xform2 c_th1_evalf-  fFT = xform2 c_th1_fft-  fill1 = xform1 c_th1_fill1-  fill1w = xform2 c_th1_fill1w-  fillN1 = xform4 c_th1_filln1-  fillRandom = xform2 c_th1_fillrandom-  findBin = xform3 c_th1_findbin-  findFixBin = xform3 c_th1_findfixbin-  findFirstBinAbove = xform2 c_th1_findfirstbinabove-  findLastBinAbove = xform2 c_th1_findlastbinabove-  fitPanelTH1 = xform0 c_th1_fitpanelth1-  getNdivisionA = xform1 c_th1_getndivisiona-  getAxisColorA = xform1 c_th1_getaxiscolora-  getLabelColorA = xform1 c_th1_getlabelcolora-  getLabelFontA = xform1 c_th1_getlabelfonta-  getLabelOffsetA = xform1 c_th1_getlabeloffseta-  getLabelSizeA = xform1 c_th1_getlabelsizea-  getTitleFontA = xform1 c_th1_gettitlefonta-  getTitleOffsetA = xform1 c_th1_gettitleoffseta-  getTitleSizeA = xform1 c_th1_gettitlesizea-  getTickLengthA = xform1 c_th1_getticklengtha-  getBarOffset = xform0 c_th1_getbaroffset-  getBarWidth = xform0 c_th1_getbarwidth-  getContour = xform1 c_th1_getcontour-  getContourLevel = xform1 c_th1_getcontourlevel-  getContourLevelPad = xform1 c_th1_getcontourlevelpad-  getBin = xform3 c_th1_getbin-  getBinCenter = xform1 c_th1_getbincenter-  getBinContent1 = xform1 c_th1_getbincontent1-  getBinContent2 = xform2 c_th1_getbincontent2-  getBinContent3 = xform3 c_th1_getbincontent3-  getBinError1 = xform1 c_th1_getbinerror1-  getBinError2 = xform2 c_th1_getbinerror2-  getBinError3 = xform3 c_th1_getbinerror3-  getBinLowEdge = xform1 c_th1_getbinlowedge-  getBinWidth = xform1 c_th1_getbinwidth-  getCellContent = xform2 c_th1_getcellcontent-  getCellError = xform2 c_th1_getcellerror-  getEntries = xform0 c_th1_getentries-  getEffectiveEntries = xform0 c_th1_geteffectiveentries-  getFunction = xform1 c_th1_getfunction-  getDimension = xform0 c_th1_getdimension-  getKurtosis = xform1 c_th1_getkurtosis-  getLowEdge = xform1 c_th1_getlowedge-  getMaximumTH1 = xform1 c_th1_getmaximumth1-  getMaximumBin = xform0 c_th1_getmaximumbin-  getMaximumStored = xform0 c_th1_getmaximumstored-  getMinimumTH1 = xform1 c_th1_getminimumth1-  getMinimumBin = xform0 c_th1_getminimumbin-  getMinimumStored = xform0 c_th1_getminimumstored-  getMean = xform1 c_th1_getmean-  getMeanError = xform1 c_th1_getmeanerror-  getNbinsX = xform0 c_th1_getnbinsx-  getNbinsY = xform0 c_th1_getnbinsy-  getNbinsZ = xform0 c_th1_getnbinsz-  getQuantilesTH1 = xform3 c_th1_getquantilesth1-  getRandom = xform0 c_th1_getrandom-  getStats = xform1 c_th1_getstats-  getSumOfWeights = xform0 c_th1_getsumofweights-  getSumw2 = xform0 c_th1_getsumw2-  getSumw2N = xform0 c_th1_getsumw2n-  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-  labelsInflate = xform1 c_th1_labelsinflate-  labelsOption = xform2 c_th1_labelsoption-  multiflyF = xform2 c_th1_multiflyf-  multiply = xform5 c_th1_multiply-  putStats = xform1 c_th1_putstats-  rebin = xform3 c_th1_rebin-  rebinAxis = xform2 c_th1_rebinaxis-  rebuild = xform1 c_th1_rebuild-  recursiveRemove = xform1 c_th1_recursiveremove-  reset = xform1 c_th1_reset-  resetStats = xform0 c_th1_resetstats-  scale = xform2 c_th1_scale-  setAxisColorA = xform2 c_th1_setaxiscolora-  setAxisRange = xform3 c_th1_setaxisrange-  setBarOffset = xform1 c_th1_setbaroffset-  setBarWidth = xform1 c_th1_setbarwidth-  setBinContent1 = xform2 c_th1_setbincontent1-  setBinContent2 = xform3 c_th1_setbincontent2-  setBinContent3 = xform4 c_th1_setbincontent3-  setBinError1 = xform2 c_th1_setbinerror1-  setBinError2 = xform3 c_th1_setbinerror2-  setBinError3 = xform4 c_th1_setbinerror3-  setBins1 = xform2 c_th1_setbins1-  setBins2 = xform4 c_th1_setbins2-  setBins3 = xform6 c_th1_setbins3-  setBinsLength = xform1 c_th1_setbinslength-  setBuffer = xform2 c_th1_setbuffer-  setCellContent = xform3 c_th1_setcellcontent-  setContent = xform1 c_th1_setcontent-  setContour = xform2 c_th1_setcontour-  setContourLevel = xform2 c_th1_setcontourlevel-  setDirectory = xform1 c_th1_setdirectory-  setEntries = xform1 c_th1_setentries-  setError = xform1 c_th1_seterror-  setLabelColorA = xform2 c_th1_setlabelcolora-  setLabelSizeA = xform2 c_th1_setlabelsizea-  setLabelFontA = xform2 c_th1_setlabelfonta-  setLabelOffsetA = xform2 c_th1_setlabeloffseta-  setMaximum = xform1 c_th1_setmaximum-  setMinimum = xform1 c_th1_setminimum-  setNormFactor = xform1 c_th1_setnormfactor-  setStats = xform1 c_th1_setstats-  setOption = xform1 c_th1_setoption-  setXTitle = xform1 c_th1_setxtitle-  setYTitle = xform1 c_th1_setytitle-  setZTitle = xform1 c_th1_setztitle-  showBackground = xform2 c_th1_showbackground-  showPeaks = xform3 c_th1_showpeaks-  smooth = xform2 c_th1_smooth-  sumw2 = xform0 c_th1_sumw2-instance ITObject TH1 where-  draw = xform1 c_th1_draw-  findObject = xform1 c_th1_findobject-  getName = xform0 c_th1_getname-  isA = xform0 c_th1_isa-  paint = xform1 c_th1_paint-  printObj = xform1 c_th1_printobj-  saveAs = xform2 c_th1_saveas-  write = xform3 c_th1_write instance ITAttLine TH1 where-  getLineColor = xform0 c_th1_getlinecolor-  getLineStyle = xform0 c_th1_getlinestyle-  getLineWidth = xform0 c_th1_getlinewidth-  resetAttLine = xform1 c_th1_resetattline-  setLineAttributes = xform0 c_th1_setlineattributes-  setLineColor = xform1 c_th1_setlinecolor-  setLineStyle = xform1 c_th1_setlinestyle-  setLineWidth = xform1 c_th1_setlinewidth+        getLineColor = xform0 c_th1_getlinecolor+        getLineStyle = xform0 c_th1_getlinestyle+        getLineWidth = xform0 c_th1_getlinewidth+        resetAttLine = xform1 c_th1_resetattline+        setLineAttributes = xform0 c_th1_setlineattributes+        setLineColor = xform1 c_th1_setlinecolor+        setLineStyle = xform1 c_th1_setlinestyle+        setLineWidth = xform1 c_th1_setlinewidth+ instance ITAttFill TH1 where-  setFillColor = xform1 c_th1_setfillcolor-  setFillStyle = xform1 c_th1_setfillstyle-instance ITAttMarker TH1 where-  getMarkerColor = xform0 c_th1_getmarkercolor-  getMarkerStyle = xform0 c_th1_getmarkerstyle-  getMarkerSize = xform0 c_th1_getmarkersize-  resetAttMarker = xform1 c_th1_resetattmarker-  setMarkerAttributes = xform0 c_th1_setmarkerattributes-  setMarkerColor = xform1 c_th1_setmarkercolor-  setMarkerStyle = xform1 c_th1_setmarkerstyle-  setMarkerSize = xform1 c_th1_setmarkersize-instance IDeletable TH1 where-  delete = xform0 c_th1_delete+        setFillColor = xform1 c_th1_setfillcolor+        setFillStyle = xform1 c_th1_setfillstyle -instance ITH1 (Exist TH1) where-  add (ETH1 x) = add x-  addBinContent (ETH1 x) = addBinContent x-  chi2Test (ETH1 x) = chi2Test x-  computeIntegral (ETH1 x) = computeIntegral x-  directoryAutoAdd (ETH1 x) = directoryAutoAdd x-  divide (ETH1 x) = divide x-  drawCopyTH1 (ETH1 x) a1 = return . ETH1 =<< drawCopyTH1 x a1-  drawNormalized (ETH1 x) = drawNormalized x-  drawPanelTH1 (ETH1 x) = drawPanelTH1 x-  bufferEmpty (ETH1 x) = bufferEmpty x-  evalF (ETH1 x) = evalF x-  fFT (ETH1 x) = fFT x-  fill1 (ETH1 x) = fill1 x-  fill1w (ETH1 x) = fill1w x-  fillN1 (ETH1 x) = fillN1 x-  fillRandom (ETH1 x) = fillRandom x-  findBin (ETH1 x) = findBin x-  findFixBin (ETH1 x) = findFixBin x-  findFirstBinAbove (ETH1 x) = findFirstBinAbove x-  findLastBinAbove (ETH1 x) = findLastBinAbove x-  fitPanelTH1 (ETH1 x) = fitPanelTH1 x-  getNdivisionA (ETH1 x) = getNdivisionA x-  getAxisColorA (ETH1 x) = getAxisColorA x-  getLabelColorA (ETH1 x) = getLabelColorA x-  getLabelFontA (ETH1 x) = getLabelFontA x-  getLabelOffsetA (ETH1 x) = getLabelOffsetA x-  getLabelSizeA (ETH1 x) = getLabelSizeA x-  getTitleFontA (ETH1 x) = getTitleFontA x-  getTitleOffsetA (ETH1 x) = getTitleOffsetA x-  getTitleSizeA (ETH1 x) = getTitleSizeA x-  getTickLengthA (ETH1 x) = getTickLengthA x-  getBarOffset (ETH1 x) = getBarOffset x-  getBarWidth (ETH1 x) = getBarWidth x-  getContour (ETH1 x) = getContour x-  getContourLevel (ETH1 x) = getContourLevel x-  getContourLevelPad (ETH1 x) = getContourLevelPad x-  getBin (ETH1 x) = getBin x-  getBinCenter (ETH1 x) = getBinCenter x-  getBinContent1 (ETH1 x) = getBinContent1 x-  getBinContent2 (ETH1 x) = getBinContent2 x-  getBinContent3 (ETH1 x) = getBinContent3 x-  getBinError1 (ETH1 x) = getBinError1 x-  getBinError2 (ETH1 x) = getBinError2 x-  getBinError3 (ETH1 x) = getBinError3 x-  getBinLowEdge (ETH1 x) = getBinLowEdge x-  getBinWidth (ETH1 x) = getBinWidth x-  getCellContent (ETH1 x) = getCellContent x-  getCellError (ETH1 x) = getCellError x-  getEntries (ETH1 x) = getEntries x-  getEffectiveEntries (ETH1 x) = getEffectiveEntries x-  getFunction (ETH1 x) = getFunction x-  getDimension (ETH1 x) = getDimension x-  getKurtosis (ETH1 x) = getKurtosis x-  getLowEdge (ETH1 x) = getLowEdge x-  getMaximumTH1 (ETH1 x) = getMaximumTH1 x-  getMaximumBin (ETH1 x) = getMaximumBin x-  getMaximumStored (ETH1 x) = getMaximumStored x-  getMinimumTH1 (ETH1 x) = getMinimumTH1 x-  getMinimumBin (ETH1 x) = getMinimumBin x-  getMinimumStored (ETH1 x) = getMinimumStored x-  getMean (ETH1 x) = getMean x-  getMeanError (ETH1 x) = getMeanError x-  getNbinsX (ETH1 x) = getNbinsX x-  getNbinsY (ETH1 x) = getNbinsY x-  getNbinsZ (ETH1 x) = getNbinsZ x-  getQuantilesTH1 (ETH1 x) = getQuantilesTH1 x-  getRandom (ETH1 x) = getRandom x-  getStats (ETH1 x) = getStats x-  getSumOfWeights (ETH1 x) = getSumOfWeights x-  getSumw2 (ETH1 x) = getSumw2 x-  getSumw2N (ETH1 x) = getSumw2N x-  getRMS (ETH1 x) = getRMS x-  getRMSError (ETH1 x) = getRMSError x-  getSkewness (ETH1 x) = getSkewness x-  integral1 (ETH1 x) = integral1 x-  interpolate1 (ETH1 x) = interpolate1 x-  interpolate2 (ETH1 x) = interpolate2 x-  interpolate3 (ETH1 x) = interpolate3 x-  kolmogorovTest (ETH1 x) = kolmogorovTest x-  labelsDeflate (ETH1 x) = labelsDeflate x-  labelsInflate (ETH1 x) = labelsInflate x-  labelsOption (ETH1 x) = labelsOption x-  multiflyF (ETH1 x) = multiflyF x-  multiply (ETH1 x) = multiply x-  putStats (ETH1 x) = putStats x-  rebin (ETH1 x) = rebin x-  rebinAxis (ETH1 x) = rebinAxis x-  rebuild (ETH1 x) = rebuild x-  recursiveRemove (ETH1 x) = recursiveRemove x-  reset (ETH1 x) = reset x-  resetStats (ETH1 x) = resetStats x-  scale (ETH1 x) = scale x-  setAxisColorA (ETH1 x) = setAxisColorA x-  setAxisRange (ETH1 x) = setAxisRange x-  setBarOffset (ETH1 x) = setBarOffset x-  setBarWidth (ETH1 x) = setBarWidth x-  setBinContent1 (ETH1 x) = setBinContent1 x-  setBinContent2 (ETH1 x) = setBinContent2 x-  setBinContent3 (ETH1 x) = setBinContent3 x-  setBinError1 (ETH1 x) = setBinError1 x-  setBinError2 (ETH1 x) = setBinError2 x-  setBinError3 (ETH1 x) = setBinError3 x-  setBins1 (ETH1 x) = setBins1 x-  setBins2 (ETH1 x) = setBins2 x-  setBins3 (ETH1 x) = setBins3 x-  setBinsLength (ETH1 x) = setBinsLength x-  setBuffer (ETH1 x) = setBuffer x-  setCellContent (ETH1 x) = setCellContent x-  setContent (ETH1 x) = setContent x-  setContour (ETH1 x) = setContour x-  setContourLevel (ETH1 x) = setContourLevel x-  setDirectory (ETH1 x) = setDirectory x-  setEntries (ETH1 x) = setEntries x-  setError (ETH1 x) = setError x-  setLabelColorA (ETH1 x) = setLabelColorA x-  setLabelSizeA (ETH1 x) = setLabelSizeA x-  setLabelFontA (ETH1 x) = setLabelFontA x-  setLabelOffsetA (ETH1 x) = setLabelOffsetA x-  setMaximum (ETH1 x) = setMaximum x-  setMinimum (ETH1 x) = setMinimum x-  setNormFactor (ETH1 x) = setNormFactor x-  setStats (ETH1 x) = setStats x-  setOption (ETH1 x) = setOption x-  setXTitle (ETH1 x) = setXTitle x-  setYTitle (ETH1 x) = setYTitle x-  setZTitle (ETH1 x) = setZTitle x-  showBackground (ETH1 x) = showBackground x-  showPeaks (ETH1 x) = showPeaks x-  smooth (ETH1 x) = smooth x-  sumw2 (ETH1 x) = sumw2 x-instance ITObject (Exist TH1) where-  draw (ETH1 x) = draw x-  findObject (ETH1 x) = findObject x-  getName (ETH1 x) = getName x-  isA (ETH1 x) = isA x-  paint (ETH1 x) = paint x-  printObj (ETH1 x) = printObj x-  saveAs (ETH1 x) = saveAs x-  write (ETH1 x) = write x-instance ITAttLine (Exist TH1) where-  getLineColor (ETH1 x) = getLineColor x-  getLineStyle (ETH1 x) = getLineStyle x-  getLineWidth (ETH1 x) = getLineWidth x-  resetAttLine (ETH1 x) = resetAttLine x-  setLineAttributes (ETH1 x) = setLineAttributes x-  setLineColor (ETH1 x) = setLineColor x-  setLineStyle (ETH1 x) = setLineStyle x-  setLineWidth (ETH1 x) = setLineWidth x-instance ITAttFill (Exist TH1) where-  setFillColor (ETH1 x) = setFillColor x-  setFillStyle (ETH1 x) = setFillStyle x-instance ITAttMarker (Exist TH1) where-  getMarkerColor (ETH1 x) = getMarkerColor x-  getMarkerStyle (ETH1 x) = getMarkerStyle x-  getMarkerSize (ETH1 x) = getMarkerSize x-  resetAttMarker (ETH1 x) = resetAttMarker x-  setMarkerAttributes (ETH1 x) = setMarkerAttributes x-  setMarkerColor (ETH1 x) = setMarkerColor x-  setMarkerStyle (ETH1 x) = setMarkerStyle x-  setMarkerSize (ETH1 x) = setMarkerSize x-instance IDeletable (Exist TH1) where-  delete (ETH1 x) = delete x+instance ITAttMarker TH1 where+        getMarkerColor = xform0 c_th1_getmarkercolor+        getMarkerStyle = xform0 c_th1_getmarkerstyle+        getMarkerSize = xform0 c_th1_getmarkersize+        resetAttMarker = xform1 c_th1_resetattmarker+        setMarkerAttributes = xform0 c_th1_setmarkerattributes+        setMarkerColor = xform1 c_th1_setmarkercolor+        setMarkerStyle = xform1 c_th1_setmarkerstyle+        setMarkerSize = xform1 c_th1_setmarkersize +instance ITObject TH1 where+        draw = xform1 c_th1_draw+        findObject = xform1 c_th1_findobject+        getName = xform0 c_th1_getname+        isA = xform0 c_th1_isa+        paint = xform1 c_th1_paint+        printObj = xform1 c_th1_printobj+        saveAs = xform2 c_th1_saveas+        write = xform3 c_th1_write +instance IDeletable TH1 where+        delete = xform0 c_th1_delete -tH1GetAsymmetry :: TH1 -> TH1 -> CDouble -> CDouble -> IO TH1+tH1GetAsymmetry ::+                  (ITH1 c0, FPtr c0) => TH1 -> c0 -> CDouble -> CDouble -> IO TH1 tH1GetAsymmetry = xform3 c_th1_th1getasymmetry  tH1GetBufferLength :: TH1 -> IO CInt@@ -418,8 +260,3 @@  tH1StatOverflows :: CInt -> IO () tH1StatOverflows = xform0 c_th1_th1statoverflows--instance FPtr (Exist TH1) where-  type Raw (Exist TH1) = RawTH1-  get_fptr (ETH1 obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH1 (cast_fptr_to_obj (fptr :: ForeignPtr RawTH1) :: TH1)
src/HROOT/Hist/TH1/Interface.hs view
@@ -1,409 +1,324 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr 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.TObject.Interface+import HROOT.Core.TNamed.Interface import HROOT.Core.TAttLine.Interface import HROOT.Core.TAttFill.Interface 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 --- |  the TH1 class : the mother class of all histogram classes ---   ---   > class TH1 : TNamed, TAttLine, TAttFill, TAttMarker---   --class (ITObject a,ITAttLine a,ITAttFill a,ITAttMarker a) => ITH1 a where-    -- |  -    --   > void TH1::Add( TH1* h1, Double_t c1 ) -    --   --    add :: (ITH1 c0, FPtr c0) => a -> c0 -> CDouble -> IO () -    -- | -    --   > void TH1::AddBinContent( Int_t bin, Double_t w )-    --   --    addBinContent :: a -> CInt -> CDouble -> IO () -    -- | -    --   > Double_t TH1::Chi2Test( const TH1* h2, Option_t* option="UU", Double_t* res=0 ) const-    --   --    chi2Test :: (ITH1 c0, FPtr c0) => a -> c0 -> CString -> (Ptr CDouble) -> IO CDouble -    -- | -    --   > Double_t TH1::ComputeIntegral ()-    --   --    computeIntegral :: a -> IO CDouble -    -- | -    --   > void TH1::DirectoryAutoAdd(TDirectory* )-    --   --    directoryAutoAdd :: (ITDirectory c0, FPtr c0) => a -> c0 -> IO () -    -- | -    --   > void TH1::Divide(const TH1* h1, const TH1* h2, Double_t c1=1, Double_t c2=1, Option_t* option="")-    --   --    divide :: (ITH1 c1, FPtr c1, ITH1 c0, FPtr c0) => a -> c0 -> c1 -> CDouble -> CDouble -> CString -> IO () --    drawCopyTH1 :: a -> CString -> IO a -    -- | -    --   > TH1* TH1::DrawNormalized (Option_t* option="", Double_t norm=1) const-    --   --    drawNormalized :: a -> CString -> CDouble -> IO TH1 --    drawPanelTH1 :: a -> IO () --    bufferEmpty :: a -> CInt -> IO CInt --    evalF :: (ITF1 c0, FPtr c0) => a -> c0 -> CString -> IO () --    fFT :: (ITH1 c0, FPtr c0) => a -> c0 -> CString -> IO TH1 --    fill1 :: a -> CDouble -> IO CInt --    fill1w :: a -> CDouble -> CDouble -> IO CInt --    fillN1 :: a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () --    fillRandom :: (ITH1 c0, FPtr c0) => a -> c0 -> CInt -> IO () --    findBin :: a -> CDouble -> CDouble -> CDouble -> IO CInt --    findFixBin :: a -> CDouble -> CDouble -> CDouble -> IO CInt --    findFirstBinAbove :: a -> CDouble -> CInt -> IO CInt --    findLastBinAbove :: a -> CDouble -> CInt -> IO CInt --    fitPanelTH1 :: a -> IO () --    getNdivisionA :: a -> CString -> IO CInt --    getAxisColorA :: a -> CString -> IO CInt --    getLabelColorA :: a -> CString -> IO CInt --    getLabelFontA :: a -> CString -> IO CInt --    getLabelOffsetA :: a -> CString -> IO CDouble --    getLabelSizeA :: a -> CString -> IO CDouble --    getTitleFontA :: a -> CString -> IO CInt --    getTitleOffsetA :: a -> CString -> IO CDouble --    getTitleSizeA :: a -> CString -> IO CDouble --    getTickLengthA :: a -> CString -> IO CDouble --    getBarOffset :: a -> IO CDouble --    getBarWidth :: a -> IO CDouble --    getContour :: a -> (Ptr CDouble) -> IO CInt --    getContourLevel :: a -> CInt -> IO CDouble --    getContourLevelPad :: a -> CInt -> IO CDouble --    getBin :: a -> CInt -> CInt -> CInt -> IO CInt --    getBinCenter :: a -> CInt -> IO CDouble --    getBinContent1 :: a -> CInt -> IO CDouble --    getBinContent2 :: a -> CInt -> CInt -> IO CDouble --    getBinContent3 :: a -> CInt -> CInt -> CInt -> IO CDouble --    getBinError1 :: a -> CInt -> IO CDouble --    getBinError2 :: a -> CInt -> CInt -> IO CDouble --    getBinError3 :: a -> CInt -> CInt -> CInt -> IO CDouble --    getBinLowEdge :: a -> CInt -> IO CDouble --    getBinWidth :: a -> CInt -> IO CDouble --    getCellContent :: a -> CInt -> CInt -> IO CDouble --    getCellError :: a -> CInt -> CInt -> IO CDouble --    getEntries :: a -> IO CDouble --    getEffectiveEntries :: a -> IO CDouble --    getFunction :: a -> CString -> IO TF1 --    getDimension :: a -> IO CInt --    getKurtosis :: a -> CInt -> IO CDouble --    getLowEdge :: a -> (Ptr CDouble) -> IO () --    getMaximumTH1 :: a -> CDouble -> IO CDouble --    getMaximumBin :: a -> IO CInt --    getMaximumStored :: a -> IO CDouble --    getMinimumTH1 :: a -> CDouble -> IO CDouble --    getMinimumBin :: a -> IO CInt --    getMinimumStored :: a -> IO CDouble --    getMean :: a -> CInt -> IO CDouble --    getMeanError :: a -> CInt -> IO CDouble --    getNbinsX :: a -> IO CDouble --    getNbinsY :: a -> IO CDouble --    getNbinsZ :: a -> IO CDouble --    getQuantilesTH1 :: a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt --    getRandom :: a -> IO CDouble -    -- | -    --   > void     GetStats(Double_t *stats) const;-    --   --    getStats :: a -> (Ptr CDouble) -> IO () --    getSumOfWeights :: a -> IO CDouble --    getSumw2 :: a -> IO TArrayD --    getSumw2N :: a -> IO CInt --    getRMS :: a -> CInt -> IO CDouble --    getRMSError :: a -> CInt -> IO CDouble --    getSkewness :: a -> CInt -> IO CDouble --    integral1 :: a -> CInt -> CInt -> CString -> IO CDouble -    -- | -    --   > Double_t Interpolate(Double_t x)-    --   --    interpolate1 :: a -> CDouble -> IO CDouble -    -- | -    --   > Double_t Interpolate(Double_t x, Double_t y)-    --   --    interpolate2 :: a -> CDouble -> CDouble -> IO CDouble -    -- | -    --   > Double_t Interpolate(Double_t x, Double_t y, Double_t z)-    --   --    interpolate3 :: a -> CDouble -> CDouble -> CDouble -> IO CDouble -    -- | -    --   > Double_t KolmogorovTest(const TH1 *h2, Option_t *option="") const-    --   --    kolmogorovTest :: (ITH1 c0, FPtr c0) => a -> c0 -> CString -> IO CDouble -    -- | -    --   > void     LabelsDeflate(Option_t *axis="X")-    --   --    labelsDeflate :: a -> CString -> IO () -    -- | -    --   > void     LabelsInflate(Option_t *axis="X")-    --   --    labelsInflate :: a -> CString -> IO () -    -- | -    --   > void     LabelsOption(Option_t *option="h", Option_t *axis="X")-    --   --    labelsOption :: a -> CString -> CString -> IO () --    multiflyF :: (ITF1 c0, FPtr c0) => a -> c0 -> CDouble -> IO () -    -- | -    --   > void     Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option=""); // *MENU*-    --   --    multiply :: (ITH1 c1, FPtr c1, ITH1 c0, FPtr c0) => a -> c0 -> c1 -> CDouble -> CDouble -> CString -> IO () -    -- | -    --   > void     PutStats(Double_t *stats)-    --   --    putStats :: a -> (Ptr CDouble) -> IO () -    -- | -    --   > TH1     *Rebin(Int_t ngroup=2, const char*newname="", const Double_t *xbins=0);  // *MENU*-    --   --    rebin :: a -> CInt -> CString -> (Ptr CDouble) -> IO TH1 -    -- | -    --   > void     RebinAxis(Double_t x, TAxis *axis)-    --   --    rebinAxis :: (ITAxis c0, FPtr c0) => a -> CDouble -> c0 -> IO () -    -- | -    --   > void     Rebuild(Option_t *option="")-    --   --    rebuild :: a -> CString -> IO () -    -- | -    --   > void     RecursiveRemove(TObject *obj)-    --   --    recursiveRemove :: (ITObject c0, FPtr c0) => a -> c0 -> IO () -    -- | -    --   > void     Reset(Option_t *option="")-    --   --    reset :: a -> CString -> IO () -    -- | -    --   > void     ResetStats()-    --   --    resetStats :: a -> IO () -    -- | -    --   > void     Scale(Double_t c1=1, Option_t *option="")-    --   --    scale :: a -> CDouble -> CString -> IO () -    -- | -    --   > void     SetAxisColor(Color_t color=1, Option_t *axis="X")-    --   --    setAxisColorA :: a -> CInt -> CString -> IO () -    -- | -    --   > void     SetAxisRange(Double_t xmin, Double_t xmax, Option_t *axis="X")-    --   --    setAxisRange :: a -> CDouble -> CDouble -> CString -> IO () -    -- | -    --   > void     SetBarOffset(Float_t offset=0.25)-    --   --    setBarOffset :: a -> CDouble -> IO () -    -- | -    --   > void     SetBarWidth(Float_t width=0.5) -    --   --    setBarWidth :: a -> CDouble -> IO () -    -- | -    --   > void     SetBinContent(Int_t bin, Double_t content)-    --   --    setBinContent1 :: a -> CInt -> CDouble -> IO () -    -- | -    --   > void     SetBinContent(Int_t binx, Int_t biny, Double_t content)-    --   --    setBinContent2 :: a -> CInt -> CInt -> CDouble -> IO () -    -- | -    --   > void     SetBinContent(Int_t binx, Int_t biny, Int_t binz, Double_t content)-    --   --    setBinContent3 :: a -> CInt -> CInt -> CInt -> CDouble -> IO () --    setBinError1 :: a -> CInt -> CDouble -> IO () --    setBinError2 :: a -> CInt -> CInt -> CDouble -> IO () --    setBinError3 :: a -> CInt -> CInt -> CInt -> CDouble -> IO () --    setBins1 :: a -> CInt -> (Ptr CDouble) -> IO () --    setBins2 :: a -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () --    setBins3 :: a -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () --    setBinsLength :: a -> CInt -> IO () --    setBuffer :: a -> CInt -> CString -> IO () --    setCellContent :: a -> CInt -> CInt -> CDouble -> IO () --    setContent :: a -> (Ptr CDouble) -> IO () --    setContour :: a -> CInt -> (Ptr CDouble) -> IO () --    setContourLevel :: a -> CInt -> CDouble -> IO () --    setDirectory :: (ITDirectory c0, FPtr c0) => a -> c0 -> IO () --    setEntries :: a -> CDouble -> IO () --    setError :: a -> (Ptr CDouble) -> IO () --    setLabelColorA :: a -> CInt -> CString -> IO () --    setLabelSizeA :: a -> CDouble -> CString -> IO () --    setLabelFontA :: a -> CInt -> CString -> IO () --    setLabelOffsetA :: a -> CDouble -> CString -> IO () --    setMaximum :: a -> CDouble -> IO () --    setMinimum :: a -> CDouble -> IO () --    setNormFactor :: a -> CDouble -> IO () --    setStats :: a -> CInt -> IO () --    setOption :: a -> CString -> IO () --    setXTitle :: a -> CString -> IO () --    setYTitle :: a -> CString -> IO () --    setZTitle :: a -> CString -> IO () -    -- | -    --   > TH1     *ShowBackground(Int_t niter=20, Option_t *option="same");-    --   --    showBackground :: a -> CInt -> CString -> IO TH1 -    -- | -    --   > Int_t    ShowPeaks(Double_t sigma=2, Option_t *option="", Double_t threshold=0.05); // *MENU*-    --   --    showPeaks :: a -> CDouble -> CString -> CDouble -> IO CInt -    -- | -    --   > void     Smooth(Int_t ntimes=1, Option_t *option=""); // *MENU*-    --   --    smooth :: a -> CInt -> CString -> IO () --    sumw2 :: a -> IO () --instance Existable TH1 where-  data Exist TH1 = forall a. (FPtr a, ITH1 a) => ETH1 a+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 ()+        +        chi2Test ::+                   (Castable c1 CString, ITH1 c0, FPtr c0) =>+                   a -> c0 -> c1 -> (Ptr CDouble) -> IO CDouble+        +        computeIntegral :: a -> IO CDouble+        +        directoryAutoAdd :: (ITDirectory c0, FPtr c0) => a -> c0 -> IO ()+        +        divide ::+                 (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+        +        drawNormalized ::+                         Castable c0 CString => a -> c0 -> CDouble -> IO TH1+        +        drawPanelTH1 :: a -> IO ()+        +        bufferEmpty :: a -> CInt -> IO CInt+        +        evalF ::+                (Castable c1 CString, ITF1 c0, FPtr c0) => a -> c0 -> c1 -> IO ()+        +        fFT ::+              (Castable c1 CString, ITH1 c0, FPtr c0) => a -> c0 -> c1 -> IO TH1+        +        fill1 :: a -> CDouble -> IO CInt+        +        fill1w :: a -> CDouble -> CDouble -> IO CInt+        +        fillN1 ::+                 a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+        +        fillRandom :: (ITH1 c0, FPtr c0) => a -> c0 -> CInt -> IO ()+        +        findBin :: a -> CDouble -> CDouble -> CDouble -> IO CInt+        +        findFixBin :: a -> CDouble -> CDouble -> CDouble -> IO CInt+        +        findFirstBinAbove :: 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 ()+        +        getNdivisionA :: Castable c0 CString => a -> c0 -> IO CInt+        +        getAxisColorA :: Castable c0 CString => a -> c0 -> IO CInt+        +        getLabelColorA :: Castable c0 CString => a -> c0 -> IO CInt+        +        getLabelFontA :: Castable c0 CString => a -> c0 -> IO CInt+        +        getLabelOffsetA :: Castable c0 CString => a -> c0 -> IO CDouble+        +        getLabelSizeA :: Castable c0 CString => a -> c0 -> IO CDouble+        +        getTitleFontA :: Castable c0 CString => a -> c0 -> IO CInt+        +        getTitleOffsetA :: Castable c0 CString => a -> c0 -> IO CDouble+        +        getTitleSizeA :: Castable c0 CString => a -> c0 -> IO CDouble+        +        getTickLengthA :: Castable c0 CString => a -> c0 -> IO CDouble+        +        getBarOffset :: a -> IO CDouble+        +        getBarWidth :: a -> IO CDouble+        +        getContour :: a -> (Ptr CDouble) -> IO CInt+        +        getContourLevel :: a -> CInt -> IO CDouble+        +        getContourLevelPad :: a -> CInt -> IO CDouble+        +        getBin :: a -> CInt -> CInt -> CInt -> IO CInt+        +        getBinCenter :: a -> CInt -> IO CDouble+        +        getBinContent1 :: a -> CInt -> IO CDouble+        +        getBinContent2 :: a -> CInt -> CInt -> IO CDouble+        +        getBinContent3 :: a -> CInt -> CInt -> CInt -> IO CDouble+        +        getBinError1 :: a -> CInt -> IO CDouble+        +        getBinError2 :: a -> CInt -> CInt -> IO CDouble+        +        getBinError3 :: a -> CInt -> CInt -> CInt -> IO CDouble+        +        getBinLowEdge :: a -> CInt -> IO CDouble+        +        getBinWidth :: a -> CInt -> IO CDouble+        +        getCellContent :: a -> CInt -> CInt -> IO CDouble+        +        getCellError :: a -> CInt -> CInt -> IO CDouble+        +        getEntries :: a -> IO CDouble+        +        getEffectiveEntries :: a -> IO CDouble+        +        getFunction :: Castable c0 CString => a -> c0 -> IO TF1+        +        getDimension :: a -> IO CInt+        +        getKurtosis :: a -> CInt -> IO CDouble+        +        getLowEdge :: a -> (Ptr CDouble) -> IO ()+        +        getMaximumTH1 :: a -> CDouble -> IO CDouble+        +        getMaximumBin :: a -> IO CInt+        +        getMaximumStored :: a -> IO CDouble+        +        getMinimumTH1 :: a -> CDouble -> IO CDouble+        +        getMinimumBin :: a -> IO CInt+        +        getMinimumStored :: a -> IO CDouble+        +        getMean :: a -> CInt -> IO CDouble+        +        getMeanError :: a -> CInt -> IO CDouble+        +        getNbinsX :: a -> IO CDouble+        +        getNbinsY :: 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+        +        getSumw2 :: a -> IO TArrayD+        +        getSumw2N :: a -> IO CInt+        +        getRMS :: a -> CInt -> IO CDouble+        +        getRMSError :: a -> CInt -> IO CDouble+        +        getSkewness :: a -> CInt -> IO CDouble+        +        integral1 ::+                    Castable c0 CString => a -> CInt -> CInt -> c0 -> IO CDouble+        +        interpolate1 :: a -> CDouble -> IO CDouble+        +        interpolate2 :: a -> 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 ()+        +        labelsInflate :: Castable c0 CString => a -> c0 -> IO ()+        +        labelsOption ::+                       (Castable c1 CString, Castable c0 CString) =>+                       a -> c0 -> c1 -> IO ()+        +        multiflyF :: (ITF1 c0, FPtr c0) => a -> c0 -> CDouble -> IO ()+        +        multiply ::+                   (Castable c2 CString, ITH1 c1, FPtr c1, ITH1 c0, FPtr c0) =>+                   a -> c0 -> c1 -> CDouble -> CDouble -> c2 -> IO ()+        +        putStats :: a -> (Ptr CDouble) -> IO ()+        +        rebin ::+                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 ()+        +        recursiveRemove :: (ITObject c0, FPtr c0) => a -> c0 -> IO ()+        +        reset :: Castable c0 CString => a -> c0 -> IO ()+        +        resetStats :: a -> IO ()+        +        scale :: Castable c0 CString => a -> CDouble -> c0 -> IO ()+        +        setAxisColorA :: Castable c0 CString => a -> CInt -> c0 -> IO ()+        +        setAxisRange ::+                       Castable c0 CString => a -> CDouble -> CDouble -> c0 -> IO ()+        +        setBarOffset :: a -> CDouble -> IO ()+        +        setBarWidth :: a -> CDouble -> IO ()+        +        setBinContent1 :: a -> CInt -> CDouble -> IO ()+        +        setBinContent2 :: a -> CInt -> CInt -> CDouble -> IO ()+        +        setBinContent3 :: a -> CInt -> CInt -> CInt -> CDouble -> IO ()+        +        setBinError1 :: a -> CInt -> CDouble -> IO ()+        +        setBinError2 :: a -> CInt -> CInt -> CDouble -> IO ()+        +        setBinError3 :: a -> CInt -> CInt -> CInt -> CDouble -> IO ()+        +        setBins1 :: a -> CInt -> (Ptr CDouble) -> IO ()+        +        setBins2 ::+                   a -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+        +        setBins3 ::+                   a ->+                     CInt ->+                       (Ptr CDouble) ->+                         CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+        +        setBinsLength :: a -> CInt -> IO ()+        +        setBuffer :: Castable c0 CString => a -> CInt -> c0 -> IO ()+        +        setCellContent :: a -> CInt -> CInt -> CDouble -> IO ()+        +        setContent :: a -> (Ptr CDouble) -> IO ()+        +        setContour :: a -> CInt -> (Ptr CDouble) -> IO ()+        +        setContourLevel :: a -> CInt -> CDouble -> IO ()+        +        setDirectory :: (ITDirectory c0, FPtr c0) => a -> c0 -> IO ()+        +        setEntries :: a -> CDouble -> IO ()+        +        setError :: a -> (Ptr CDouble) -> IO ()+        +        setLabelColorA :: Castable c0 CString => a -> CInt -> c0 -> IO ()+        +        setLabelSizeA :: Castable c0 CString => a -> CDouble -> c0 -> IO ()+        +        setLabelFontA :: Castable c0 CString => a -> CInt -> c0 -> IO ()+        +        setLabelOffsetA ::+                          Castable c0 CString => a -> CDouble -> c0 -> IO ()+        +        setMaximum :: a -> CDouble -> IO ()+        +        setMinimum :: a -> CDouble -> IO ()+        +        setNormFactor :: a -> CDouble -> IO ()+        +        setStats :: a -> CInt -> IO ()+        +        setOption :: Castable c0 CString => a -> c0 -> IO ()+        +        setXTitle :: Castable c0 CString => a -> c0 -> IO ()+        +        setYTitle :: Castable c0 CString => a -> c0 -> IO ()+        +        setZTitle :: Castable c0 CString => a -> c0 -> IO ()+        +        showBackground :: Castable c0 CString => a -> CInt -> c0 -> IO TH1+        +        showPeaks ::+                    Castable c0 CString => a -> CDouble -> c0 -> CDouble -> IO CInt+        +        smooth :: Castable c0 CString => a -> CInt -> c0 -> IO ()+        +        sumw2 :: a -> IO () -upcastTH1 :: (FPtr a, ITH1 a) => a -> TH1-upcastTH1 h = let fh = get_fptr h-                  fh2 :: ForeignPtr RawTH1 = castForeignPtr fh-              in cast_fptr_to_obj fh2+upcastTH1 :: forall a . (FPtr a, ITH1 a) => a -> TH1+upcastTH1 h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH1 = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH1 :: (FPtr a, ITH1 a) => TH1 -> a -downcastTH1 h = let fh = get_fptr h-                    fh2 = castForeignPtr fh-                in cast_fptr_to_obj fh2+downcastTH1 :: forall a . (FPtr a, ITH1 a) => TH1 -> a+downcastTH1 h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH1/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH1.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH1 -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH1 = TH1 (Ptr RawTH1)+            deriving (Eq, Ord, Show) -data RawTH1-newtype TH1 = TH1 (ForeignPtr RawTH1) deriving (Eq, Ord, Show) instance FPtr TH1 where-   type Raw TH1 = RawTH1-   get_fptr (TH1 fptr) = fptr-   cast_fptr_to_obj = TH1+        type Raw TH1 = RawTH1+        get_fptr (TH1 ptr) = ptr+        cast_fptr_to_obj = TH1
src/HROOT/Hist/TH1C.hs view
@@ -1,15 +1,5 @@-module HROOT.Hist.TH1C-  (-    TH1C(..)-  , ITH1C-  , upcastTH1C-  , downcastTH1C-- -  ) where-+module HROOT.Hist.TH1C (TH1C(..), ITH1C, upcastTH1C, downcastTH1C)+       where import HROOT.Hist.TH1C.RawType import HROOT.Hist.TH1C.Interface import HROOT.Hist.TH1C.Implementation--
src/HROOT/Hist/TH1C/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH1C.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH1C.RawType import HROOT.Hist.TH1C.Interface  instance (ITH1C a, FPtr a) => Castable a (Ptr RawTH1C) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH1C (Ptr RawTH1C) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH1C.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH1C.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType@@ -21,476 +11,524 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH1C.h"+foreign import ccall safe "HROOTHistTH1C.h TH1C_Add" c_th1c_add ::+               Ptr RawTH1C -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "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 "HROOTHistTH1C.h TH1C_AddBinContent" c_th1c_addbincontent -  :: (Ptr RawTH1C) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_Chi2Test"+               c_th1c_chi2test ::+               Ptr RawTH1C -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH1C.h TH1C_ComputeIntegral" c_th1c_computeintegral -  :: (Ptr RawTH1C) -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_DirectoryAutoAdd"+               c_th1c_directoryautoadd ::+               Ptr RawTH1C -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_DirectoryAutoAdd" c_th1c_directoryautoadd -  :: (Ptr RawTH1C) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_Divide"+               c_th1c_divide ::+               Ptr RawTH1C ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH1C.h TH1C_drawCopyTH1" c_th1c_drawcopyth1 -  :: (Ptr RawTH1C) -> CString -> IO (Ptr RawTH1C)+foreign import ccall safe "HROOTHistTH1C.h TH1C_DrawNormalized"+               c_th1c_drawnormalized ::+               Ptr RawTH1C -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH1C.h TH1C_evalF" c_th1c_evalf -  :: (Ptr RawTH1C) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_FFT" c_th1c_fft ::+               Ptr RawTH1C -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH1C.h TH1C_fill1" c_th1c_fill1 -  :: (Ptr RawTH1C) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_fill1w"+               c_th1c_fill1w :: Ptr RawTH1C -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_fill1w" c_th1c_fill1w -  :: (Ptr RawTH1C) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_fillN1"+               c_th1c_filln1 ::+               Ptr RawTH1C ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_fillN1" c_th1c_filln1 -  :: (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 "HROOTHistTH1C.h TH1C_FillRandom" c_th1c_fillrandom -  :: (Ptr RawTH1C) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_FindBin"+               c_th1c_findbin ::+               Ptr RawTH1C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH1C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH1C.h TH1C_FindFirstBinAbove" c_th1c_findfirstbinabove -  :: (Ptr RawTH1C) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_FindLastBinAbove"+               c_th1c_findlastbinabove ::+               Ptr RawTH1C -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_FindLastBinAbove" c_th1c_findlastbinabove -  :: (Ptr RawTH1C) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_Fit" c_th1c_fit ::+               Ptr RawTH1C ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_FitPanelTH1" c_th1c_fitpanelth1 -  :: (Ptr RawTH1C) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_FitPanelTH1"+               c_th1c_fitpanelth1 :: Ptr RawTH1C -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_getNdivisionA" c_th1c_getndivisiona -  :: (Ptr RawTH1C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_getNdivisionA"+               c_th1c_getndivisiona :: Ptr RawTH1C -> CString -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_getAxisColorA" c_th1c_getaxiscolora -  :: (Ptr RawTH1C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_getAxisColorA"+               c_th1c_getaxiscolora :: Ptr RawTH1C -> CString -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_getLabelColorA" c_th1c_getlabelcolora -  :: (Ptr RawTH1C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_getLabelColorA"+               c_th1c_getlabelcolora :: Ptr RawTH1C -> CString -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_getLabelFontA" c_th1c_getlabelfonta -  :: (Ptr RawTH1C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_getLabelFontA"+               c_th1c_getlabelfonta :: Ptr RawTH1C -> CString -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_getLabelOffsetA" c_th1c_getlabeloffseta -  :: (Ptr RawTH1C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_getLabelOffsetA"+               c_th1c_getlabeloffseta :: Ptr RawTH1C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_getLabelSizeA" c_th1c_getlabelsizea -  :: (Ptr RawTH1C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_getLabelSizeA"+               c_th1c_getlabelsizea :: Ptr RawTH1C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_getTitleFontA" c_th1c_gettitlefonta -  :: (Ptr RawTH1C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_getTitleFontA"+               c_th1c_gettitlefonta :: Ptr RawTH1C -> CString -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_getTitleOffsetA" c_th1c_gettitleoffseta -  :: (Ptr RawTH1C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_getTitleOffsetA"+               c_th1c_gettitleoffseta :: Ptr RawTH1C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_getTitleSizeA" c_th1c_gettitlesizea -  :: (Ptr RawTH1C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_getTitleSizeA"+               c_th1c_gettitlesizea :: Ptr RawTH1C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_getTickLengthA" c_th1c_getticklengtha -  :: (Ptr RawTH1C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_getTickLengthA"+               c_th1c_getticklengtha :: Ptr RawTH1C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetBarOffset" c_th1c_getbaroffset -  :: (Ptr RawTH1C) -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBarOffset"+               c_th1c_getbaroffset :: Ptr RawTH1C -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetBarWidth" c_th1c_getbarwidth -  :: (Ptr RawTH1C) -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBarWidth"+               c_th1c_getbarwidth :: Ptr RawTH1C -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetContour" c_th1c_getcontour -  :: (Ptr RawTH1C) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetContour"+               c_th1c_getcontour :: Ptr RawTH1C -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_GetContourLevel" c_th1c_getcontourlevel -  :: (Ptr RawTH1C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetContourLevel"+               c_th1c_getcontourlevel :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetContourLevelPad" c_th1c_getcontourlevelpad -  :: (Ptr RawTH1C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetContourLevelPad"+               c_th1c_getcontourlevelpad :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetBin" c_th1c_getbin -  :: (Ptr RawTH1C) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBin"+               c_th1c_getbin :: Ptr RawTH1C -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_GetBinCenter" c_th1c_getbincenter -  :: (Ptr RawTH1C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinCenter"+               c_th1c_getbincenter :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetBinContent1" c_th1c_getbincontent1 -  :: (Ptr RawTH1C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinContent1"+               c_th1c_getbincontent1 :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetBinContent2" c_th1c_getbincontent2 -  :: (Ptr RawTH1C) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinContent2"+               c_th1c_getbincontent2 :: Ptr RawTH1C -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetBinContent3" c_th1c_getbincontent3 -  :: (Ptr RawTH1C) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinContent3"+               c_th1c_getbincontent3 ::+               Ptr RawTH1C -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetBinError1" c_th1c_getbinerror1 -  :: (Ptr RawTH1C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinError1"+               c_th1c_getbinerror1 :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetBinError2" c_th1c_getbinerror2 -  :: (Ptr RawTH1C) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinError2"+               c_th1c_getbinerror2 :: Ptr RawTH1C -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetBinError3" c_th1c_getbinerror3 -  :: (Ptr RawTH1C) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinError3"+               c_th1c_getbinerror3 ::+               Ptr RawTH1C -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetBinLowEdge" c_th1c_getbinlowedge -  :: (Ptr RawTH1C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinLowEdge"+               c_th1c_getbinlowedge :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetBinWidth" c_th1c_getbinwidth -  :: (Ptr RawTH1C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetBinWidth"+               c_th1c_getbinwidth :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetCellContent" c_th1c_getcellcontent -  :: (Ptr RawTH1C) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetCellContent"+               c_th1c_getcellcontent :: Ptr RawTH1C -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetCellError" c_th1c_getcellerror -  :: (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 "HROOTHistTH1C.h TH1C_GetEntries" c_th1c_getentries -  :: (Ptr RawTH1C) -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetEntries"+               c_th1c_getentries :: Ptr RawTH1C -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetEffectiveEntries" c_th1c_geteffectiveentries -  :: (Ptr RawTH1C) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH1C.h TH1C_GetEffectiveEntries"+               c_th1c_geteffectiveentries :: Ptr RawTH1C -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetFunction" c_th1c_getfunction -  :: (Ptr RawTH1C) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetFunction"+               c_th1c_getfunction :: Ptr RawTH1C -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH1C.h TH1C_GetDimension" c_th1c_getdimension -  :: (Ptr RawTH1C) -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetDimension"+               c_th1c_getdimension :: Ptr RawTH1C -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_GetKurtosis" c_th1c_getkurtosis -  :: (Ptr RawTH1C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetKurtosis"+               c_th1c_getkurtosis :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetLowEdge" c_th1c_getlowedge -  :: (Ptr RawTH1C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetLowEdge"+               c_th1c_getlowedge :: Ptr RawTH1C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_getMaximumTH1" c_th1c_getmaximumth1 -  :: (Ptr RawTH1C) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_getMaximumTH1"+               c_th1c_getmaximumth1 :: Ptr RawTH1C -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetMaximumBin" c_th1c_getmaximumbin -  :: (Ptr RawTH1C) -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMaximumBin"+               c_th1c_getmaximumbin :: Ptr RawTH1C -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_GetMaximumStored" c_th1c_getmaximumstored -  :: (Ptr RawTH1C) -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMaximumStored"+               c_th1c_getmaximumstored :: Ptr RawTH1C -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_getMinimumTH1" c_th1c_getminimumth1 -  :: (Ptr RawTH1C) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_getMinimumTH1"+               c_th1c_getminimumth1 :: Ptr RawTH1C -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetMinimumBin" c_th1c_getminimumbin -  :: (Ptr RawTH1C) -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMinimumBin"+               c_th1c_getminimumbin :: Ptr RawTH1C -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_GetMinimumStored" c_th1c_getminimumstored -  :: (Ptr RawTH1C) -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMinimumStored"+               c_th1c_getminimumstored :: Ptr RawTH1C -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetMean" c_th1c_getmean -  :: (Ptr RawTH1C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMean"+               c_th1c_getmean :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetMeanError" c_th1c_getmeanerror -  :: (Ptr RawTH1C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMeanError"+               c_th1c_getmeanerror :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetNbinsX" c_th1c_getnbinsx -  :: (Ptr RawTH1C) -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetNbinsX"+               c_th1c_getnbinsx :: Ptr RawTH1C -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetNbinsY" c_th1c_getnbinsy -  :: (Ptr RawTH1C) -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetNbinsY"+               c_th1c_getnbinsy :: Ptr RawTH1C -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetNbinsZ" c_th1c_getnbinsz -  :: (Ptr RawTH1C) -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetNbinsZ"+               c_th1c_getnbinsz :: Ptr RawTH1C -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_getQuantilesTH1" c_th1c_getquantilesth1 -  :: (Ptr RawTH1C) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_getQuantilesTH1"+               c_th1c_getquantilesth1 ::+               Ptr RawTH1C -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_GetRandom" c_th1c_getrandom -  :: (Ptr RawTH1C) -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetRandom"+               c_th1c_getrandom :: Ptr RawTH1C -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetStats" c_th1c_getstats -  :: (Ptr RawTH1C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetStats"+               c_th1c_getstats :: Ptr RawTH1C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_GetSumOfWeights" c_th1c_getsumofweights -  :: (Ptr RawTH1C) -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetSumOfWeights"+               c_th1c_getsumofweights :: Ptr RawTH1C -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetSumw2" c_th1c_getsumw2 -  :: (Ptr RawTH1C) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetSumw2"+               c_th1c_getsumw2 :: Ptr RawTH1C -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH1C.h TH1C_GetSumw2N" c_th1c_getsumw2n -  :: (Ptr RawTH1C) -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetSumw2N"+               c_th1c_getsumw2n :: Ptr RawTH1C -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_GetRMS" c_th1c_getrms -  :: (Ptr RawTH1C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetRMS"+               c_th1c_getrms :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetRMSError" c_th1c_getrmserror -  :: (Ptr RawTH1C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetRMSError"+               c_th1c_getrmserror :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_GetSkewness" c_th1c_getskewness -  :: (Ptr RawTH1C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetSkewness"+               c_th1c_getskewness :: Ptr RawTH1C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_integral1" c_th1c_integral1 -  :: (Ptr RawTH1C) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_integral1"+               c_th1c_integral1 ::+               Ptr RawTH1C -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_interpolate1" c_th1c_interpolate1 -  :: (Ptr RawTH1C) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_interpolate1"+               c_th1c_interpolate1 :: Ptr RawTH1C -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_interpolate2" c_th1c_interpolate2 -  :: (Ptr RawTH1C) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_interpolate2"+               c_th1c_interpolate2 ::+               Ptr RawTH1C -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_interpolate3" c_th1c_interpolate3 -  :: (Ptr RawTH1C) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_interpolate3"+               c_th1c_interpolate3 ::+               Ptr RawTH1C -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_KolmogorovTest" c_th1c_kolmogorovtest -  :: (Ptr RawTH1C) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_KolmogorovTest"+               c_th1c_kolmogorovtest ::+               Ptr RawTH1C -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_LabelsDeflate" c_th1c_labelsdeflate -  :: (Ptr RawTH1C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_LabelsDeflate"+               c_th1c_labelsdeflate :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_LabelsInflate" c_th1c_labelsinflate -  :: (Ptr RawTH1C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_LabelsInflate"+               c_th1c_labelsinflate :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_LabelsOption" c_th1c_labelsoption -  :: (Ptr RawTH1C) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_LabelsOption"+               c_th1c_labelsoption :: Ptr RawTH1C -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_multiflyF" c_th1c_multiflyf -  :: (Ptr RawTH1C) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_multiflyF"+               c_th1c_multiflyf :: Ptr RawTH1C -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_Multiply" c_th1c_multiply -  :: (Ptr RawTH1C) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_Multiply"+               c_th1c_multiply ::+               Ptr RawTH1C ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_PutStats" c_th1c_putstats -  :: (Ptr RawTH1C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_PutStats"+               c_th1c_putstats :: Ptr RawTH1C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_Rebin" c_th1c_rebin -  :: (Ptr RawTH1C) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1C.h TH1C_Rebin" c_th1c_rebin+               ::+               Ptr RawTH1C -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1C.h TH1C_RebinAxis" c_th1c_rebinaxis -  :: (Ptr RawTH1C) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_RebinAxis"+               c_th1c_rebinaxis :: Ptr RawTH1C -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_Rebuild" c_th1c_rebuild -  :: (Ptr RawTH1C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_Rebuild"+               c_th1c_rebuild :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_RecursiveRemove" c_th1c_recursiveremove -  :: (Ptr RawTH1C) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_RecursiveRemove"+               c_th1c_recursiveremove :: Ptr RawTH1C -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_Reset" c_th1c_reset -  :: (Ptr RawTH1C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_Reset" c_th1c_reset+               :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_ResetStats" c_th1c_resetstats -  :: (Ptr RawTH1C) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_ResetStats"+               c_th1c_resetstats :: Ptr RawTH1C -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_Scale" c_th1c_scale -  :: (Ptr RawTH1C) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_Scale" c_th1c_scale+               :: Ptr RawTH1C -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setAxisColorA" c_th1c_setaxiscolora -  :: (Ptr RawTH1C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setAxisColorA"+               c_th1c_setaxiscolora :: Ptr RawTH1C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetAxisRange" c_th1c_setaxisrange -  :: (Ptr RawTH1C) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetAxisRange"+               c_th1c_setaxisrange ::+               Ptr RawTH1C -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetBarOffset" c_th1c_setbaroffset -  :: (Ptr RawTH1C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetBarOffset"+               c_th1c_setbaroffset :: Ptr RawTH1C -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetBarWidth" c_th1c_setbarwidth -  :: (Ptr RawTH1C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetBarWidth"+               c_th1c_setbarwidth :: Ptr RawTH1C -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setBinContent1" c_th1c_setbincontent1 -  :: (Ptr RawTH1C) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setBinContent1"+               c_th1c_setbincontent1 :: Ptr RawTH1C -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setBinContent2" c_th1c_setbincontent2 -  :: (Ptr RawTH1C) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setBinContent2"+               c_th1c_setbincontent2 ::+               Ptr RawTH1C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setBinContent3" c_th1c_setbincontent3 -  :: (Ptr RawTH1C) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setBinContent3"+               c_th1c_setbincontent3 ::+               Ptr RawTH1C -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setBinError1" c_th1c_setbinerror1 -  :: (Ptr RawTH1C) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setBinError1"+               c_th1c_setbinerror1 :: Ptr RawTH1C -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setBinError2" c_th1c_setbinerror2 -  :: (Ptr RawTH1C) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setBinError2"+               c_th1c_setbinerror2 ::+               Ptr RawTH1C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setBinError3" c_th1c_setbinerror3 -  :: (Ptr RawTH1C) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setBinError3"+               c_th1c_setbinerror3 ::+               Ptr RawTH1C -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setBins1" c_th1c_setbins1 -  :: (Ptr RawTH1C) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setBins1"+               c_th1c_setbins1 :: Ptr RawTH1C -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setBins2" c_th1c_setbins2 -  :: (Ptr RawTH1C) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setBins2"+               c_th1c_setbins2 ::+               Ptr RawTH1C ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setBins3" c_th1c_setbins3 -  :: (Ptr RawTH1C) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setBins3"+               c_th1c_setbins3 ::+               Ptr RawTH1C ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetBinsLength" c_th1c_setbinslength -  :: (Ptr RawTH1C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetBinsLength"+               c_th1c_setbinslength :: Ptr RawTH1C -> CInt -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetBuffer" c_th1c_setbuffer -  :: (Ptr RawTH1C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetBuffer"+               c_th1c_setbuffer :: Ptr RawTH1C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetCellContent" c_th1c_setcellcontent -  :: (Ptr RawTH1C) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetCellContent"+               c_th1c_setcellcontent ::+               Ptr RawTH1C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetContent" c_th1c_setcontent -  :: (Ptr RawTH1C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetContent"+               c_th1c_setcontent :: Ptr RawTH1C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetContour" c_th1c_setcontour -  :: (Ptr RawTH1C) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetContour"+               c_th1c_setcontour :: Ptr RawTH1C -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetContourLevel" c_th1c_setcontourlevel -  :: (Ptr RawTH1C) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetContourLevel"+               c_th1c_setcontourlevel :: Ptr RawTH1C -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetDirectory" c_th1c_setdirectory -  :: (Ptr RawTH1C) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetDirectory"+               c_th1c_setdirectory :: Ptr RawTH1C -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetEntries" c_th1c_setentries -  :: (Ptr RawTH1C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetEntries"+               c_th1c_setentries :: Ptr RawTH1C -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetError" c_th1c_seterror -  :: (Ptr RawTH1C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetError"+               c_th1c_seterror :: Ptr RawTH1C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setLabelColorA" c_th1c_setlabelcolora -  :: (Ptr RawTH1C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setLabelColorA"+               c_th1c_setlabelcolora :: Ptr RawTH1C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setLabelSizeA" c_th1c_setlabelsizea -  :: (Ptr RawTH1C) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setLabelSizeA"+               c_th1c_setlabelsizea :: Ptr RawTH1C -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setLabelFontA" c_th1c_setlabelfonta -  :: (Ptr RawTH1C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setLabelFontA"+               c_th1c_setlabelfonta :: Ptr RawTH1C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_setLabelOffsetA" c_th1c_setlabeloffseta -  :: (Ptr RawTH1C) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_setLabelOffsetA"+               c_th1c_setlabeloffseta ::+               Ptr RawTH1C -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetMaximum" c_th1c_setmaximum -  :: (Ptr RawTH1C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetMaximum"+               c_th1c_setmaximum :: Ptr RawTH1C -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetMinimum" c_th1c_setminimum -  :: (Ptr RawTH1C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetMinimum"+               c_th1c_setminimum :: Ptr RawTH1C -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetNormFactor" c_th1c_setnormfactor -  :: (Ptr RawTH1C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetNormFactor"+               c_th1c_setnormfactor :: Ptr RawTH1C -> CDouble -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetStats" c_th1c_setstats -  :: (Ptr RawTH1C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetStats"+               c_th1c_setstats :: Ptr RawTH1C -> CInt -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetOption" c_th1c_setoption -  :: (Ptr RawTH1C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetOption"+               c_th1c_setoption :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetXTitle" c_th1c_setxtitle -  :: (Ptr RawTH1C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetXTitle"+               c_th1c_setxtitle :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetYTitle" c_th1c_setytitle -  :: (Ptr RawTH1C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetYTitle"+               c_th1c_setytitle :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetZTitle" c_th1c_setztitle -  :: (Ptr RawTH1C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetZTitle"+               c_th1c_setztitle :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_ShowBackground" c_th1c_showbackground -  :: (Ptr RawTH1C) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1C.h TH1C_ShowBackground"+               c_th1c_showbackground ::+               Ptr RawTH1C -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1C.h TH1C_ShowPeaks" c_th1c_showpeaks -  :: (Ptr RawTH1C) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_ShowPeaks"+               c_th1c_showpeaks ::+               Ptr RawTH1C -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_Smooth" c_th1c_smooth -  :: (Ptr RawTH1C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_Smooth"+               c_th1c_smooth :: Ptr RawTH1C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_Sumw2" c_th1c_sumw2 -  :: (Ptr RawTH1C) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_Sumw2" c_th1c_sumw2+               :: Ptr RawTH1C -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_Draw" c_th1c_draw -  :: (Ptr RawTH1C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetName"+               c_th1c_setname :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_FindObject" c_th1c_findobject -  :: (Ptr RawTH1C) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetNameTitle"+               c_th1c_setnametitle :: Ptr RawTH1C -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_GetName" c_th1c_getname -  :: (Ptr RawTH1C) -> IO CString+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetTitle"+               c_th1c_settitle :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_IsA" c_th1c_isa -  :: (Ptr RawTH1C) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetLineColor"+               c_th1c_getlinecolor :: Ptr RawTH1C -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_Paint" c_th1c_paint -  :: (Ptr RawTH1C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetLineStyle"+               c_th1c_getlinestyle :: Ptr RawTH1C -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_printObj" c_th1c_printobj -  :: (Ptr RawTH1C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetLineWidth"+               c_th1c_getlinewidth :: Ptr RawTH1C -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_SaveAs" c_th1c_saveas -  :: (Ptr RawTH1C) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_ResetAttLine"+               c_th1c_resetattline :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_Write" c_th1c_write -  :: (Ptr RawTH1C) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetLineAttributes"+               c_th1c_setlineattributes :: Ptr RawTH1C -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_GetLineColor" c_th1c_getlinecolor -  :: (Ptr RawTH1C) -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetLineColor"+               c_th1c_setlinecolor :: Ptr RawTH1C -> CInt -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_GetLineStyle" c_th1c_getlinestyle -  :: (Ptr RawTH1C) -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetLineStyle"+               c_th1c_setlinestyle :: Ptr RawTH1C -> CInt -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_GetLineWidth" c_th1c_getlinewidth -  :: (Ptr RawTH1C) -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetLineWidth"+               c_th1c_setlinewidth :: Ptr RawTH1C -> CInt -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_ResetAttLine" c_th1c_resetattline -  :: (Ptr RawTH1C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetFillColor"+               c_th1c_setfillcolor :: Ptr RawTH1C -> CInt -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetLineAttributes" c_th1c_setlineattributes -  :: (Ptr RawTH1C) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetFillStyle"+               c_th1c_setfillstyle :: Ptr RawTH1C -> CInt -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetLineColor" c_th1c_setlinecolor -  :: (Ptr RawTH1C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMarkerColor"+               c_th1c_getmarkercolor :: Ptr RawTH1C -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_SetLineStyle" c_th1c_setlinestyle -  :: (Ptr RawTH1C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMarkerStyle"+               c_th1c_getmarkerstyle :: Ptr RawTH1C -> IO CInt -foreign import ccall "HROOTHistTH1C.h TH1C_SetLineWidth" c_th1c_setlinewidth -  :: (Ptr RawTH1C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetMarkerSize"+               c_th1c_getmarkersize :: Ptr RawTH1C -> IO CDouble -foreign import ccall "HROOTHistTH1C.h TH1C_SetFillColor" c_th1c_setfillcolor -  :: (Ptr RawTH1C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_ResetAttMarker"+               c_th1c_resetattmarker :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetFillStyle" c_th1c_setfillstyle -  :: (Ptr RawTH1C) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH1C.h TH1C_SetMarkerAttributes"+               c_th1c_setmarkerattributes :: Ptr RawTH1C -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_GetMarkerColor" c_th1c_getmarkercolor -  :: (Ptr RawTH1C) -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetMarkerColor"+               c_th1c_setmarkercolor :: Ptr RawTH1C -> CInt -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_GetMarkerStyle" c_th1c_getmarkerstyle -  :: (Ptr RawTH1C) -> IO CInt+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetMarkerStyle"+               c_th1c_setmarkerstyle :: Ptr RawTH1C -> CInt -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_GetMarkerSize" c_th1c_getmarkersize -  :: (Ptr RawTH1C) -> IO CDouble+foreign import ccall safe "HROOTHistTH1C.h TH1C_SetMarkerSize"+               c_th1c_setmarkersize :: Ptr RawTH1C -> CInt -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_ResetAttMarker" c_th1c_resetattmarker -  :: (Ptr RawTH1C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_Draw" c_th1c_draw+               :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_SetMarkerAttributes" c_th1c_setmarkerattributes -  :: (Ptr RawTH1C) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_FindObject"+               c_th1c_findobject :: Ptr RawTH1C -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH1C.h TH1C_SetMarkerColor" c_th1c_setmarkercolor -  :: (Ptr RawTH1C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_GetName"+               c_th1c_getname :: Ptr RawTH1C -> IO CString -foreign import ccall "HROOTHistTH1C.h TH1C_SetMarkerStyle" c_th1c_setmarkerstyle -  :: (Ptr RawTH1C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_IsA" c_th1c_isa ::+               Ptr RawTH1C -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH1C.h TH1C_SetMarkerSize" c_th1c_setmarkersize -  :: (Ptr RawTH1C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_Paint" c_th1c_paint+               :: Ptr RawTH1C -> CString -> IO () -foreign import ccall "HROOTHistTH1C.h TH1C_delete" c_th1c_delete -  :: (Ptr RawTH1C) -> IO ()+foreign import ccall safe "HROOTHistTH1C.h TH1C_printObj"+               c_th1c_printobj :: Ptr RawTH1C -> CString -> IO () +foreign import ccall safe "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 safe "HROOTHistTH1C.h TH1C_delete"+               c_th1c_delete :: Ptr RawTH1C -> IO ()
src/HROOT/Hist/TH1C/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1C.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH1C.RawType import HROOT.Hist.TH1C.FFI import HROOT.Hist.TH1C.Interface@@ -32,9 +33,9 @@ import HROOT.Core.TArrayC.RawType import HROOT.Core.TArrayC.Cast import HROOT.Core.TArrayC.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -44,6 +45,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -51,358 +55,183 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH1C TH1C -instance ITH1C 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-  drawNormalized = xform2 c_th1c_drawnormalized-  drawPanelTH1 = xform0 c_th1c_drawpanelth1-  bufferEmpty = xform1 c_th1c_bufferempty-  evalF = xform2 c_th1c_evalf-  fFT = xform2 c_th1c_fft-  fill1 = xform1 c_th1c_fill1-  fill1w = xform2 c_th1c_fill1w-  fillN1 = xform4 c_th1c_filln1-  fillRandom = xform2 c_th1c_fillrandom-  findBin = xform3 c_th1c_findbin-  findFixBin = xform3 c_th1c_findfixbin-  findFirstBinAbove = xform2 c_th1c_findfirstbinabove-  findLastBinAbove = xform2 c_th1c_findlastbinabove-  fitPanelTH1 = xform0 c_th1c_fitpanelth1-  getNdivisionA = xform1 c_th1c_getndivisiona-  getAxisColorA = xform1 c_th1c_getaxiscolora-  getLabelColorA = xform1 c_th1c_getlabelcolora-  getLabelFontA = xform1 c_th1c_getlabelfonta-  getLabelOffsetA = xform1 c_th1c_getlabeloffseta-  getLabelSizeA = xform1 c_th1c_getlabelsizea-  getTitleFontA = xform1 c_th1c_gettitlefonta-  getTitleOffsetA = xform1 c_th1c_gettitleoffseta-  getTitleSizeA = xform1 c_th1c_gettitlesizea-  getTickLengthA = xform1 c_th1c_getticklengtha-  getBarOffset = xform0 c_th1c_getbaroffset-  getBarWidth = xform0 c_th1c_getbarwidth-  getContour = xform1 c_th1c_getcontour-  getContourLevel = xform1 c_th1c_getcontourlevel-  getContourLevelPad = xform1 c_th1c_getcontourlevelpad-  getBin = xform3 c_th1c_getbin-  getBinCenter = xform1 c_th1c_getbincenter-  getBinContent1 = xform1 c_th1c_getbincontent1-  getBinContent2 = xform2 c_th1c_getbincontent2-  getBinContent3 = xform3 c_th1c_getbincontent3-  getBinError1 = xform1 c_th1c_getbinerror1-  getBinError2 = xform2 c_th1c_getbinerror2-  getBinError3 = xform3 c_th1c_getbinerror3-  getBinLowEdge = xform1 c_th1c_getbinlowedge-  getBinWidth = xform1 c_th1c_getbinwidth-  getCellContent = xform2 c_th1c_getcellcontent-  getCellError = xform2 c_th1c_getcellerror-  getEntries = xform0 c_th1c_getentries-  getEffectiveEntries = xform0 c_th1c_geteffectiveentries-  getFunction = xform1 c_th1c_getfunction-  getDimension = xform0 c_th1c_getdimension-  getKurtosis = xform1 c_th1c_getkurtosis-  getLowEdge = xform1 c_th1c_getlowedge-  getMaximumTH1 = xform1 c_th1c_getmaximumth1-  getMaximumBin = xform0 c_th1c_getmaximumbin-  getMaximumStored = xform0 c_th1c_getmaximumstored-  getMinimumTH1 = xform1 c_th1c_getminimumth1-  getMinimumBin = xform0 c_th1c_getminimumbin-  getMinimumStored = xform0 c_th1c_getminimumstored-  getMean = xform1 c_th1c_getmean-  getMeanError = xform1 c_th1c_getmeanerror-  getNbinsX = xform0 c_th1c_getnbinsx-  getNbinsY = xform0 c_th1c_getnbinsy-  getNbinsZ = xform0 c_th1c_getnbinsz-  getQuantilesTH1 = xform3 c_th1c_getquantilesth1-  getRandom = xform0 c_th1c_getrandom-  getStats = xform1 c_th1c_getstats-  getSumOfWeights = xform0 c_th1c_getsumofweights-  getSumw2 = xform0 c_th1c_getsumw2-  getSumw2N = xform0 c_th1c_getsumw2n-  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-  labelsInflate = xform1 c_th1c_labelsinflate-  labelsOption = xform2 c_th1c_labelsoption-  multiflyF = xform2 c_th1c_multiflyf-  multiply = xform5 c_th1c_multiply-  putStats = xform1 c_th1c_putstats-  rebin = xform3 c_th1c_rebin-  rebinAxis = xform2 c_th1c_rebinaxis-  rebuild = xform1 c_th1c_rebuild-  recursiveRemove = xform1 c_th1c_recursiveremove-  reset = xform1 c_th1c_reset-  resetStats = xform0 c_th1c_resetstats-  scale = xform2 c_th1c_scale-  setAxisColorA = xform2 c_th1c_setaxiscolora-  setAxisRange = xform3 c_th1c_setaxisrange-  setBarOffset = xform1 c_th1c_setbaroffset-  setBarWidth = xform1 c_th1c_setbarwidth-  setBinContent1 = xform2 c_th1c_setbincontent1-  setBinContent2 = xform3 c_th1c_setbincontent2-  setBinContent3 = xform4 c_th1c_setbincontent3-  setBinError1 = xform2 c_th1c_setbinerror1-  setBinError2 = xform3 c_th1c_setbinerror2-  setBinError3 = xform4 c_th1c_setbinerror3-  setBins1 = xform2 c_th1c_setbins1-  setBins2 = xform4 c_th1c_setbins2-  setBins3 = xform6 c_th1c_setbins3-  setBinsLength = xform1 c_th1c_setbinslength-  setBuffer = xform2 c_th1c_setbuffer-  setCellContent = xform3 c_th1c_setcellcontent-  setContent = xform1 c_th1c_setcontent-  setContour = xform2 c_th1c_setcontour-  setContourLevel = xform2 c_th1c_setcontourlevel-  setDirectory = xform1 c_th1c_setdirectory-  setEntries = xform1 c_th1c_setentries-  setError = xform1 c_th1c_seterror-  setLabelColorA = xform2 c_th1c_setlabelcolora-  setLabelSizeA = xform2 c_th1c_setlabelsizea-  setLabelFontA = xform2 c_th1c_setlabelfonta-  setLabelOffsetA = xform2 c_th1c_setlabeloffseta-  setMaximum = xform1 c_th1c_setmaximum-  setMinimum = xform1 c_th1c_setminimum-  setNormFactor = xform1 c_th1c_setnormfactor-  setStats = xform1 c_th1c_setstats-  setOption = xform1 c_th1c_setoption-  setXTitle = xform1 c_th1c_setxtitle-  setYTitle = xform1 c_th1c_setytitle-  setZTitle = xform1 c_th1c_setztitle-  showBackground = xform2 c_th1c_showbackground-  showPeaks = xform3 c_th1c_showpeaks-  smooth = xform2 c_th1c_smooth-  sumw2 = xform0 c_th1c_sumw2-instance ITArrayC TH1C where-instance ITObject TH1C where-  draw = xform1 c_th1c_draw-  findObject = xform1 c_th1c_findobject-  getName = xform0 c_th1c_getname-  isA = xform0 c_th1c_isa-  paint = xform1 c_th1c_paint-  printObj = xform1 c_th1c_printobj-  saveAs = xform2 c_th1c_saveas-  write = xform3 c_th1c_write-instance ITAttLine TH1C where-  getLineColor = xform0 c_th1c_getlinecolor-  getLineStyle = xform0 c_th1c_getlinestyle-  getLineWidth = xform0 c_th1c_getlinewidth-  resetAttLine = xform1 c_th1c_resetattline-  setLineAttributes = xform0 c_th1c_setlineattributes-  setLineColor = xform1 c_th1c_setlinecolor-  setLineStyle = xform1 c_th1c_setlinestyle-  setLineWidth = xform1 c_th1c_setlinewidth-instance ITAttFill TH1C where-  setFillColor = xform1 c_th1c_setfillcolor-  setFillStyle = xform1 c_th1c_setfillstyle-instance ITAttMarker TH1C where-  getMarkerColor = xform0 c_th1c_getmarkercolor-  getMarkerStyle = xform0 c_th1c_getmarkerstyle-  getMarkerSize = xform0 c_th1c_getmarkersize-  resetAttMarker = xform1 c_th1c_resetattmarker-  setMarkerAttributes = xform0 c_th1c_setmarkerattributes-  setMarkerColor = xform1 c_th1c_setmarkercolor-  setMarkerStyle = xform1 c_th1c_setmarkerstyle-  setMarkerSize = xform1 c_th1c_setmarkersize-instance IDeletable TH1C where-  delete = xform0 c_th1c_delete-instance ITArray TH1C where--instance ITH1C (Exist TH1C) where--instance ITH1 (Exist TH1C) where-  add (ETH1C x) = add x-  addBinContent (ETH1C x) = addBinContent x-  chi2Test (ETH1C x) = chi2Test x-  computeIntegral (ETH1C x) = computeIntegral x-  directoryAutoAdd (ETH1C x) = directoryAutoAdd x-  divide (ETH1C x) = divide x-  drawCopyTH1 (ETH1C x) a1 = return . ETH1C =<< drawCopyTH1 x a1-  drawNormalized (ETH1C x) = drawNormalized x-  drawPanelTH1 (ETH1C x) = drawPanelTH1 x-  bufferEmpty (ETH1C x) = bufferEmpty x-  evalF (ETH1C x) = evalF x-  fFT (ETH1C x) = fFT x-  fill1 (ETH1C x) = fill1 x-  fill1w (ETH1C x) = fill1w x-  fillN1 (ETH1C x) = fillN1 x-  fillRandom (ETH1C x) = fillRandom x-  findBin (ETH1C x) = findBin x-  findFixBin (ETH1C x) = findFixBin x-  findFirstBinAbove (ETH1C x) = findFirstBinAbove x-  findLastBinAbove (ETH1C x) = findLastBinAbove x-  fitPanelTH1 (ETH1C x) = fitPanelTH1 x-  getNdivisionA (ETH1C x) = getNdivisionA x-  getAxisColorA (ETH1C x) = getAxisColorA x-  getLabelColorA (ETH1C x) = getLabelColorA x-  getLabelFontA (ETH1C x) = getLabelFontA x-  getLabelOffsetA (ETH1C x) = getLabelOffsetA x-  getLabelSizeA (ETH1C x) = getLabelSizeA x-  getTitleFontA (ETH1C x) = getTitleFontA x-  getTitleOffsetA (ETH1C x) = getTitleOffsetA x-  getTitleSizeA (ETH1C x) = getTitleSizeA x-  getTickLengthA (ETH1C x) = getTickLengthA x-  getBarOffset (ETH1C x) = getBarOffset x-  getBarWidth (ETH1C x) = getBarWidth x-  getContour (ETH1C x) = getContour x-  getContourLevel (ETH1C x) = getContourLevel x-  getContourLevelPad (ETH1C x) = getContourLevelPad x-  getBin (ETH1C x) = getBin x-  getBinCenter (ETH1C x) = getBinCenter x-  getBinContent1 (ETH1C x) = getBinContent1 x-  getBinContent2 (ETH1C x) = getBinContent2 x-  getBinContent3 (ETH1C x) = getBinContent3 x-  getBinError1 (ETH1C x) = getBinError1 x-  getBinError2 (ETH1C x) = getBinError2 x-  getBinError3 (ETH1C x) = getBinError3 x-  getBinLowEdge (ETH1C x) = getBinLowEdge x-  getBinWidth (ETH1C x) = getBinWidth x-  getCellContent (ETH1C x) = getCellContent x-  getCellError (ETH1C x) = getCellError x-  getEntries (ETH1C x) = getEntries x-  getEffectiveEntries (ETH1C x) = getEffectiveEntries x-  getFunction (ETH1C x) = getFunction x-  getDimension (ETH1C x) = getDimension x-  getKurtosis (ETH1C x) = getKurtosis x-  getLowEdge (ETH1C x) = getLowEdge x-  getMaximumTH1 (ETH1C x) = getMaximumTH1 x-  getMaximumBin (ETH1C x) = getMaximumBin x-  getMaximumStored (ETH1C x) = getMaximumStored x-  getMinimumTH1 (ETH1C x) = getMinimumTH1 x-  getMinimumBin (ETH1C x) = getMinimumBin x-  getMinimumStored (ETH1C x) = getMinimumStored x-  getMean (ETH1C x) = getMean x-  getMeanError (ETH1C x) = getMeanError x-  getNbinsX (ETH1C x) = getNbinsX x-  getNbinsY (ETH1C x) = getNbinsY x-  getNbinsZ (ETH1C x) = getNbinsZ x-  getQuantilesTH1 (ETH1C x) = getQuantilesTH1 x-  getRandom (ETH1C x) = getRandom x-  getStats (ETH1C x) = getStats x-  getSumOfWeights (ETH1C x) = getSumOfWeights x-  getSumw2 (ETH1C x) = getSumw2 x-  getSumw2N (ETH1C x) = getSumw2N x-  getRMS (ETH1C x) = getRMS x-  getRMSError (ETH1C x) = getRMSError x-  getSkewness (ETH1C x) = getSkewness x-  integral1 (ETH1C x) = integral1 x-  interpolate1 (ETH1C x) = interpolate1 x-  interpolate2 (ETH1C x) = interpolate2 x-  interpolate3 (ETH1C x) = interpolate3 x-  kolmogorovTest (ETH1C x) = kolmogorovTest x-  labelsDeflate (ETH1C x) = labelsDeflate x-  labelsInflate (ETH1C x) = labelsInflate x-  labelsOption (ETH1C x) = labelsOption x-  multiflyF (ETH1C x) = multiflyF x-  multiply (ETH1C x) = multiply x-  putStats (ETH1C x) = putStats x-  rebin (ETH1C x) = rebin x-  rebinAxis (ETH1C x) = rebinAxis x-  rebuild (ETH1C x) = rebuild x-  recursiveRemove (ETH1C x) = recursiveRemove x-  reset (ETH1C x) = reset x-  resetStats (ETH1C x) = resetStats x-  scale (ETH1C x) = scale x-  setAxisColorA (ETH1C x) = setAxisColorA x-  setAxisRange (ETH1C x) = setAxisRange x-  setBarOffset (ETH1C x) = setBarOffset x-  setBarWidth (ETH1C x) = setBarWidth x-  setBinContent1 (ETH1C x) = setBinContent1 x-  setBinContent2 (ETH1C x) = setBinContent2 x-  setBinContent3 (ETH1C x) = setBinContent3 x-  setBinError1 (ETH1C x) = setBinError1 x-  setBinError2 (ETH1C x) = setBinError2 x-  setBinError3 (ETH1C x) = setBinError3 x-  setBins1 (ETH1C x) = setBins1 x-  setBins2 (ETH1C x) = setBins2 x-  setBins3 (ETH1C x) = setBins3 x-  setBinsLength (ETH1C x) = setBinsLength x-  setBuffer (ETH1C x) = setBuffer x-  setCellContent (ETH1C x) = setCellContent x-  setContent (ETH1C x) = setContent x-  setContour (ETH1C x) = setContour x-  setContourLevel (ETH1C x) = setContourLevel x-  setDirectory (ETH1C x) = setDirectory x-  setEntries (ETH1C x) = setEntries x-  setError (ETH1C x) = setError x-  setLabelColorA (ETH1C x) = setLabelColorA x-  setLabelSizeA (ETH1C x) = setLabelSizeA x-  setLabelFontA (ETH1C x) = setLabelFontA x-  setLabelOffsetA (ETH1C x) = setLabelOffsetA x-  setMaximum (ETH1C x) = setMaximum x-  setMinimum (ETH1C x) = setMinimum x-  setNormFactor (ETH1C x) = setNormFactor x-  setStats (ETH1C x) = setStats x-  setOption (ETH1C x) = setOption x-  setXTitle (ETH1C x) = setXTitle x-  setYTitle (ETH1C x) = setYTitle x-  setZTitle (ETH1C x) = setZTitle x-  showBackground (ETH1C x) = showBackground x-  showPeaks (ETH1C x) = showPeaks x-  smooth (ETH1C x) = smooth x-  sumw2 (ETH1C x) = sumw2 x-instance ITArrayC (Exist TH1C) where--instance ITObject (Exist TH1C) where-  draw (ETH1C x) = draw x-  findObject (ETH1C x) = findObject x-  getName (ETH1C x) = getName x-  isA (ETH1C x) = isA x-  paint (ETH1C x) = paint x-  printObj (ETH1C x) = printObj x-  saveAs (ETH1C x) = saveAs x-  write (ETH1C x) = write x-instance ITAttLine (Exist TH1C) where-  getLineColor (ETH1C x) = getLineColor x-  getLineStyle (ETH1C x) = getLineStyle x-  getLineWidth (ETH1C x) = getLineWidth x-  resetAttLine (ETH1C x) = resetAttLine x-  setLineAttributes (ETH1C x) = setLineAttributes x-  setLineColor (ETH1C x) = setLineColor x-  setLineStyle (ETH1C x) = setLineStyle x-  setLineWidth (ETH1C x) = setLineWidth x-instance ITAttFill (Exist TH1C) where-  setFillColor (ETH1C x) = setFillColor x-  setFillStyle (ETH1C x) = setFillStyle x-instance ITAttMarker (Exist TH1C) where-  getMarkerColor (ETH1C x) = getMarkerColor x-  getMarkerStyle (ETH1C x) = getMarkerStyle x-  getMarkerSize (ETH1C x) = getMarkerSize x-  resetAttMarker (ETH1C x) = resetAttMarker x-  setMarkerAttributes (ETH1C x) = setMarkerAttributes x-  setMarkerColor (ETH1C x) = setMarkerColor x-  setMarkerStyle (ETH1C x) = setMarkerStyle x-  setMarkerSize (ETH1C x) = setMarkerSize x-instance IDeletable (Exist TH1C) where-  delete (ETH1C x) = delete x-instance ITArray (Exist 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+        drawNormalized = xform2 c_th1c_drawnormalized+        drawPanelTH1 = xform0 c_th1c_drawpanelth1+        bufferEmpty = xform1 c_th1c_bufferempty+        evalF = xform2 c_th1c_evalf+        fFT = xform2 c_th1c_fft+        fill1 = xform1 c_th1c_fill1+        fill1w = xform2 c_th1c_fill1w+        fillN1 = xform4 c_th1c_filln1+        fillRandom = xform2 c_th1c_fillrandom+        findBin = xform3 c_th1c_findbin+        findFixBin = xform3 c_th1c_findfixbin+        findFirstBinAbove = xform2 c_th1c_findfirstbinabove+        findLastBinAbove = xform2 c_th1c_findlastbinabove+        fit = xform5 c_th1c_fit+        fitPanelTH1 = xform0 c_th1c_fitpanelth1+        getNdivisionA = xform1 c_th1c_getndivisiona+        getAxisColorA = xform1 c_th1c_getaxiscolora+        getLabelColorA = xform1 c_th1c_getlabelcolora+        getLabelFontA = xform1 c_th1c_getlabelfonta+        getLabelOffsetA = xform1 c_th1c_getlabeloffseta+        getLabelSizeA = xform1 c_th1c_getlabelsizea+        getTitleFontA = xform1 c_th1c_gettitlefonta+        getTitleOffsetA = xform1 c_th1c_gettitleoffseta+        getTitleSizeA = xform1 c_th1c_gettitlesizea+        getTickLengthA = xform1 c_th1c_getticklengtha+        getBarOffset = xform0 c_th1c_getbaroffset+        getBarWidth = xform0 c_th1c_getbarwidth+        getContour = xform1 c_th1c_getcontour+        getContourLevel = xform1 c_th1c_getcontourlevel+        getContourLevelPad = xform1 c_th1c_getcontourlevelpad+        getBin = xform3 c_th1c_getbin+        getBinCenter = xform1 c_th1c_getbincenter+        getBinContent1 = xform1 c_th1c_getbincontent1+        getBinContent2 = xform2 c_th1c_getbincontent2+        getBinContent3 = xform3 c_th1c_getbincontent3+        getBinError1 = xform1 c_th1c_getbinerror1+        getBinError2 = xform2 c_th1c_getbinerror2+        getBinError3 = xform3 c_th1c_getbinerror3+        getBinLowEdge = xform1 c_th1c_getbinlowedge+        getBinWidth = xform1 c_th1c_getbinwidth+        getCellContent = xform2 c_th1c_getcellcontent+        getCellError = xform2 c_th1c_getcellerror+        getEntries = xform0 c_th1c_getentries+        getEffectiveEntries = xform0 c_th1c_geteffectiveentries+        getFunction = xform1 c_th1c_getfunction+        getDimension = xform0 c_th1c_getdimension+        getKurtosis = xform1 c_th1c_getkurtosis+        getLowEdge = xform1 c_th1c_getlowedge+        getMaximumTH1 = xform1 c_th1c_getmaximumth1+        getMaximumBin = xform0 c_th1c_getmaximumbin+        getMaximumStored = xform0 c_th1c_getmaximumstored+        getMinimumTH1 = xform1 c_th1c_getminimumth1+        getMinimumBin = xform0 c_th1c_getminimumbin+        getMinimumStored = xform0 c_th1c_getminimumstored+        getMean = xform1 c_th1c_getmean+        getMeanError = xform1 c_th1c_getmeanerror+        getNbinsX = xform0 c_th1c_getnbinsx+        getNbinsY = xform0 c_th1c_getnbinsy+        getNbinsZ = xform0 c_th1c_getnbinsz+        getQuantilesTH1 = xform3 c_th1c_getquantilesth1+        getRandom = xform0 c_th1c_getrandom+        getStats = xform1 c_th1c_getstats+        getSumOfWeights = xform0 c_th1c_getsumofweights+        getSumw2 = xform0 c_th1c_getsumw2+        getSumw2N = xform0 c_th1c_getsumw2n+        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+        labelsInflate = xform1 c_th1c_labelsinflate+        labelsOption = xform2 c_th1c_labelsoption+        multiflyF = xform2 c_th1c_multiflyf+        multiply = xform5 c_th1c_multiply+        putStats = xform1 c_th1c_putstats+        rebin = xform3 c_th1c_rebin+        rebinAxis = xform2 c_th1c_rebinaxis+        rebuild = xform1 c_th1c_rebuild+        recursiveRemove = xform1 c_th1c_recursiveremove+        reset = xform1 c_th1c_reset+        resetStats = xform0 c_th1c_resetstats+        scale = xform2 c_th1c_scale+        setAxisColorA = xform2 c_th1c_setaxiscolora+        setAxisRange = xform3 c_th1c_setaxisrange+        setBarOffset = xform1 c_th1c_setbaroffset+        setBarWidth = xform1 c_th1c_setbarwidth+        setBinContent1 = xform2 c_th1c_setbincontent1+        setBinContent2 = xform3 c_th1c_setbincontent2+        setBinContent3 = xform4 c_th1c_setbincontent3+        setBinError1 = xform2 c_th1c_setbinerror1+        setBinError2 = xform3 c_th1c_setbinerror2+        setBinError3 = xform4 c_th1c_setbinerror3+        setBins1 = xform2 c_th1c_setbins1+        setBins2 = xform4 c_th1c_setbins2+        setBins3 = xform6 c_th1c_setbins3+        setBinsLength = xform1 c_th1c_setbinslength+        setBuffer = xform2 c_th1c_setbuffer+        setCellContent = xform3 c_th1c_setcellcontent+        setContent = xform1 c_th1c_setcontent+        setContour = xform2 c_th1c_setcontour+        setContourLevel = xform2 c_th1c_setcontourlevel+        setDirectory = xform1 c_th1c_setdirectory+        setEntries = xform1 c_th1c_setentries+        setError = xform1 c_th1c_seterror+        setLabelColorA = xform2 c_th1c_setlabelcolora+        setLabelSizeA = xform2 c_th1c_setlabelsizea+        setLabelFontA = xform2 c_th1c_setlabelfonta+        setLabelOffsetA = xform2 c_th1c_setlabeloffseta+        setMaximum = xform1 c_th1c_setmaximum+        setMinimum = xform1 c_th1c_setminimum+        setNormFactor = xform1 c_th1c_setnormfactor+        setStats = xform1 c_th1c_setstats+        setOption = xform1 c_th1c_setoption+        setXTitle = xform1 c_th1c_setxtitle+        setYTitle = xform1 c_th1c_setytitle+        setZTitle = xform1 c_th1c_setztitle+        showBackground = xform2 c_th1c_showbackground+        showPeaks = xform3 c_th1c_showpeaks+        smooth = xform2 c_th1c_smooth+        sumw2 = xform0 c_th1c_sumw2 +instance ITArrayC TH1C +instance ITNamed TH1C where+        setName = xform1 c_th1c_setname+        setNameTitle = xform2 c_th1c_setnametitle+        setTitle = xform1 c_th1c_settitle +instance ITAttLine TH1C where+        getLineColor = xform0 c_th1c_getlinecolor+        getLineStyle = xform0 c_th1c_getlinestyle+        getLineWidth = xform0 c_th1c_getlinewidth+        resetAttLine = xform1 c_th1c_resetattline+        setLineAttributes = xform0 c_th1c_setlineattributes+        setLineColor = xform1 c_th1c_setlinecolor+        setLineStyle = xform1 c_th1c_setlinestyle+        setLineWidth = xform1 c_th1c_setlinewidth +instance ITAttFill TH1C where+        setFillColor = xform1 c_th1c_setfillcolor+        setFillStyle = xform1 c_th1c_setfillstyle +instance ITAttMarker TH1C where+        getMarkerColor = xform0 c_th1c_getmarkercolor+        getMarkerStyle = xform0 c_th1c_getmarkerstyle+        getMarkerSize = xform0 c_th1c_getmarkersize+        resetAttMarker = xform1 c_th1c_resetattmarker+        setMarkerAttributes = xform0 c_th1c_setmarkerattributes+        setMarkerColor = xform1 c_th1c_setmarkercolor+        setMarkerStyle = xform1 c_th1c_setmarkerstyle+        setMarkerSize = xform1 c_th1c_setmarkersize +instance ITObject TH1C where+        draw = xform1 c_th1c_draw+        findObject = xform1 c_th1c_findobject+        getName = xform0 c_th1c_getname+        isA = xform0 c_th1c_isa+        paint = xform1 c_th1c_paint+        printObj = xform1 c_th1c_printobj+        saveAs = xform2 c_th1c_saveas+        write = xform3 c_th1c_write +instance IDeletable TH1C where+        delete = xform0 c_th1c_delete -instance FPtr (Exist TH1C) where-  type Raw (Exist TH1C) = RawTH1C-  get_fptr (ETH1C obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH1C (cast_fptr_to_obj (fptr :: ForeignPtr RawTH1C) :: TH1C)+instance ITArray TH1C
src/HROOT/Hist/TH1C/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1C.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH1C.RawType- import HROOT.Hist.TH1.Interface import HROOT.Core.TArrayC.Interface----- ============ ---- ---class (ITH1 a,ITArrayC a) => ITH1C a where--instance Existable TH1C where-  data Exist TH1C = forall a. (FPtr a, ITH1C a) => ETH1C a+class (ITH1 a, ITArrayC a) => ITH1C a -upcastTH1C :: (FPtr a, ITH1C a) => a -> TH1C-upcastTH1C h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH1C = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH1C :: forall a . (FPtr a, ITH1C a) => a -> TH1C+upcastTH1C h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH1C = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH1C :: (FPtr a, ITH1C a) => TH1C -> a -downcastTH1C h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH1C :: forall a . (FPtr a, ITH1C a) => TH1C -> a+downcastTH1C h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH1C/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH1C.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH1C -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH1C = TH1C (Ptr RawTH1C)+             deriving (Eq, Ord, Show) -data RawTH1C-newtype TH1C = TH1C (ForeignPtr RawTH1C) deriving (Eq, Ord, Show) instance FPtr TH1C where-   type Raw TH1C = RawTH1C-   get_fptr (TH1C fptr) = fptr-   cast_fptr_to_obj = TH1C+        type Raw TH1C = RawTH1C+        get_fptr (TH1C ptr) = ptr+        cast_fptr_to_obj = TH1C
src/HROOT/Hist/TH1D.hs view
@@ -1,15 +1,5 @@ module HROOT.Hist.TH1D-  (-    TH1D(..)-  , ITH1D-  , upcastTH1D-  , downcastTH1D-  , newTH1D- -  ) where-+       (TH1D(..), ITH1D, upcastTH1D, downcastTH1D, newTH1D) where import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Interface import HROOT.Hist.TH1D.Implementation--
src/HROOT/Hist/TH1D/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH1D.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.Interface  instance (ITH1D a, FPtr a) => Castable a (Ptr RawTH1D) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH1D (Ptr RawTH1D) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH1D.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType@@ -21,479 +11,529 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH1D.h"+foreign import ccall safe "HROOTHistTH1D.h TH1D_Add" c_th1d_add ::+               Ptr RawTH1D -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "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 "HROOTHistTH1D.h TH1D_AddBinContent" c_th1d_addbincontent -  :: (Ptr RawTH1D) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_Chi2Test"+               c_th1d_chi2test ::+               Ptr RawTH1D -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH1D.h TH1D_ComputeIntegral" c_th1d_computeintegral -  :: (Ptr RawTH1D) -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_DirectoryAutoAdd"+               c_th1d_directoryautoadd ::+               Ptr RawTH1D -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_DirectoryAutoAdd" c_th1d_directoryautoadd -  :: (Ptr RawTH1D) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_Divide"+               c_th1d_divide ::+               Ptr RawTH1D ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH1D.h TH1D_drawCopyTH1" c_th1d_drawcopyth1 -  :: (Ptr RawTH1D) -> CString -> IO (Ptr RawTH1D)+foreign import ccall safe "HROOTHistTH1D.h TH1D_DrawNormalized"+               c_th1d_drawnormalized ::+               Ptr RawTH1D -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH1D.h TH1D_evalF" c_th1d_evalf -  :: (Ptr RawTH1D) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_FFT" c_th1d_fft ::+               Ptr RawTH1D -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH1D.h TH1D_fill1" c_th1d_fill1 -  :: (Ptr RawTH1D) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_fill1w"+               c_th1d_fill1w :: Ptr RawTH1D -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_fill1w" c_th1d_fill1w -  :: (Ptr RawTH1D) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_fillN1"+               c_th1d_filln1 ::+               Ptr RawTH1D ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_fillN1" c_th1d_filln1 -  :: (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 "HROOTHistTH1D.h TH1D_FillRandom" c_th1d_fillrandom -  :: (Ptr RawTH1D) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_FindBin"+               c_th1d_findbin ::+               Ptr RawTH1D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH1D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH1D.h TH1D_FindFirstBinAbove" c_th1d_findfirstbinabove -  :: (Ptr RawTH1D) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_FindLastBinAbove"+               c_th1d_findlastbinabove ::+               Ptr RawTH1D -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_FindLastBinAbove" c_th1d_findlastbinabove -  :: (Ptr RawTH1D) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_Fit" c_th1d_fit ::+               Ptr RawTH1D ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_FitPanelTH1" c_th1d_fitpanelth1 -  :: (Ptr RawTH1D) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_FitPanelTH1"+               c_th1d_fitpanelth1 :: Ptr RawTH1D -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_getNdivisionA" c_th1d_getndivisiona -  :: (Ptr RawTH1D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_getNdivisionA"+               c_th1d_getndivisiona :: Ptr RawTH1D -> CString -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_getAxisColorA" c_th1d_getaxiscolora -  :: (Ptr RawTH1D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_getAxisColorA"+               c_th1d_getaxiscolora :: Ptr RawTH1D -> CString -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_getLabelColorA" c_th1d_getlabelcolora -  :: (Ptr RawTH1D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_getLabelColorA"+               c_th1d_getlabelcolora :: Ptr RawTH1D -> CString -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_getLabelFontA" c_th1d_getlabelfonta -  :: (Ptr RawTH1D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_getLabelFontA"+               c_th1d_getlabelfonta :: Ptr RawTH1D -> CString -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_getLabelOffsetA" c_th1d_getlabeloffseta -  :: (Ptr RawTH1D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_getLabelOffsetA"+               c_th1d_getlabeloffseta :: Ptr RawTH1D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_getLabelSizeA" c_th1d_getlabelsizea -  :: (Ptr RawTH1D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_getLabelSizeA"+               c_th1d_getlabelsizea :: Ptr RawTH1D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_getTitleFontA" c_th1d_gettitlefonta -  :: (Ptr RawTH1D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_getTitleFontA"+               c_th1d_gettitlefonta :: Ptr RawTH1D -> CString -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_getTitleOffsetA" c_th1d_gettitleoffseta -  :: (Ptr RawTH1D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_getTitleOffsetA"+               c_th1d_gettitleoffseta :: Ptr RawTH1D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_getTitleSizeA" c_th1d_gettitlesizea -  :: (Ptr RawTH1D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_getTitleSizeA"+               c_th1d_gettitlesizea :: Ptr RawTH1D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_getTickLengthA" c_th1d_getticklengtha -  :: (Ptr RawTH1D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_getTickLengthA"+               c_th1d_getticklengtha :: Ptr RawTH1D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetBarOffset" c_th1d_getbaroffset -  :: (Ptr RawTH1D) -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBarOffset"+               c_th1d_getbaroffset :: Ptr RawTH1D -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetBarWidth" c_th1d_getbarwidth -  :: (Ptr RawTH1D) -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBarWidth"+               c_th1d_getbarwidth :: Ptr RawTH1D -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetContour" c_th1d_getcontour -  :: (Ptr RawTH1D) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetContour"+               c_th1d_getcontour :: Ptr RawTH1D -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_GetContourLevel" c_th1d_getcontourlevel -  :: (Ptr RawTH1D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetContourLevel"+               c_th1d_getcontourlevel :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetContourLevelPad" c_th1d_getcontourlevelpad -  :: (Ptr RawTH1D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetContourLevelPad"+               c_th1d_getcontourlevelpad :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetBin" c_th1d_getbin -  :: (Ptr RawTH1D) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBin"+               c_th1d_getbin :: Ptr RawTH1D -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_GetBinCenter" c_th1d_getbincenter -  :: (Ptr RawTH1D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinCenter"+               c_th1d_getbincenter :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetBinContent1" c_th1d_getbincontent1 -  :: (Ptr RawTH1D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinContent1"+               c_th1d_getbincontent1 :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetBinContent2" c_th1d_getbincontent2 -  :: (Ptr RawTH1D) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinContent2"+               c_th1d_getbincontent2 :: Ptr RawTH1D -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetBinContent3" c_th1d_getbincontent3 -  :: (Ptr RawTH1D) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinContent3"+               c_th1d_getbincontent3 ::+               Ptr RawTH1D -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetBinError1" c_th1d_getbinerror1 -  :: (Ptr RawTH1D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinError1"+               c_th1d_getbinerror1 :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetBinError2" c_th1d_getbinerror2 -  :: (Ptr RawTH1D) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinError2"+               c_th1d_getbinerror2 :: Ptr RawTH1D -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetBinError3" c_th1d_getbinerror3 -  :: (Ptr RawTH1D) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinError3"+               c_th1d_getbinerror3 ::+               Ptr RawTH1D -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetBinLowEdge" c_th1d_getbinlowedge -  :: (Ptr RawTH1D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinLowEdge"+               c_th1d_getbinlowedge :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetBinWidth" c_th1d_getbinwidth -  :: (Ptr RawTH1D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetBinWidth"+               c_th1d_getbinwidth :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetCellContent" c_th1d_getcellcontent -  :: (Ptr RawTH1D) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetCellContent"+               c_th1d_getcellcontent :: Ptr RawTH1D -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetCellError" c_th1d_getcellerror -  :: (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 "HROOTHistTH1D.h TH1D_GetEntries" c_th1d_getentries -  :: (Ptr RawTH1D) -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetEntries"+               c_th1d_getentries :: Ptr RawTH1D -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetEffectiveEntries" c_th1d_geteffectiveentries -  :: (Ptr RawTH1D) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH1D.h TH1D_GetEffectiveEntries"+               c_th1d_geteffectiveentries :: Ptr RawTH1D -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetFunction" c_th1d_getfunction -  :: (Ptr RawTH1D) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetFunction"+               c_th1d_getfunction :: Ptr RawTH1D -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH1D.h TH1D_GetDimension" c_th1d_getdimension -  :: (Ptr RawTH1D) -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetDimension"+               c_th1d_getdimension :: Ptr RawTH1D -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_GetKurtosis" c_th1d_getkurtosis -  :: (Ptr RawTH1D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetKurtosis"+               c_th1d_getkurtosis :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetLowEdge" c_th1d_getlowedge -  :: (Ptr RawTH1D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetLowEdge"+               c_th1d_getlowedge :: Ptr RawTH1D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_getMaximumTH1" c_th1d_getmaximumth1 -  :: (Ptr RawTH1D) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_getMaximumTH1"+               c_th1d_getmaximumth1 :: Ptr RawTH1D -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetMaximumBin" c_th1d_getmaximumbin -  :: (Ptr RawTH1D) -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMaximumBin"+               c_th1d_getmaximumbin :: Ptr RawTH1D -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_GetMaximumStored" c_th1d_getmaximumstored -  :: (Ptr RawTH1D) -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMaximumStored"+               c_th1d_getmaximumstored :: Ptr RawTH1D -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_getMinimumTH1" c_th1d_getminimumth1 -  :: (Ptr RawTH1D) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_getMinimumTH1"+               c_th1d_getminimumth1 :: Ptr RawTH1D -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetMinimumBin" c_th1d_getminimumbin -  :: (Ptr RawTH1D) -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMinimumBin"+               c_th1d_getminimumbin :: Ptr RawTH1D -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_GetMinimumStored" c_th1d_getminimumstored -  :: (Ptr RawTH1D) -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMinimumStored"+               c_th1d_getminimumstored :: Ptr RawTH1D -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetMean" c_th1d_getmean -  :: (Ptr RawTH1D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMean"+               c_th1d_getmean :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetMeanError" c_th1d_getmeanerror -  :: (Ptr RawTH1D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMeanError"+               c_th1d_getmeanerror :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetNbinsX" c_th1d_getnbinsx -  :: (Ptr RawTH1D) -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetNbinsX"+               c_th1d_getnbinsx :: Ptr RawTH1D -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetNbinsY" c_th1d_getnbinsy -  :: (Ptr RawTH1D) -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetNbinsY"+               c_th1d_getnbinsy :: Ptr RawTH1D -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetNbinsZ" c_th1d_getnbinsz -  :: (Ptr RawTH1D) -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetNbinsZ"+               c_th1d_getnbinsz :: Ptr RawTH1D -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_getQuantilesTH1" c_th1d_getquantilesth1 -  :: (Ptr RawTH1D) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_getQuantilesTH1"+               c_th1d_getquantilesth1 ::+               Ptr RawTH1D -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_GetRandom" c_th1d_getrandom -  :: (Ptr RawTH1D) -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetRandom"+               c_th1d_getrandom :: Ptr RawTH1D -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetStats" c_th1d_getstats -  :: (Ptr RawTH1D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetStats"+               c_th1d_getstats :: Ptr RawTH1D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_GetSumOfWeights" c_th1d_getsumofweights -  :: (Ptr RawTH1D) -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetSumOfWeights"+               c_th1d_getsumofweights :: Ptr RawTH1D -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetSumw2" c_th1d_getsumw2 -  :: (Ptr RawTH1D) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetSumw2"+               c_th1d_getsumw2 :: Ptr RawTH1D -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH1D.h TH1D_GetSumw2N" c_th1d_getsumw2n -  :: (Ptr RawTH1D) -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetSumw2N"+               c_th1d_getsumw2n :: Ptr RawTH1D -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_GetRMS" c_th1d_getrms -  :: (Ptr RawTH1D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetRMS"+               c_th1d_getrms :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetRMSError" c_th1d_getrmserror -  :: (Ptr RawTH1D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetRMSError"+               c_th1d_getrmserror :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_GetSkewness" c_th1d_getskewness -  :: (Ptr RawTH1D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetSkewness"+               c_th1d_getskewness :: Ptr RawTH1D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_integral1" c_th1d_integral1 -  :: (Ptr RawTH1D) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_integral1"+               c_th1d_integral1 ::+               Ptr RawTH1D -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_interpolate1" c_th1d_interpolate1 -  :: (Ptr RawTH1D) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_interpolate1"+               c_th1d_interpolate1 :: Ptr RawTH1D -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_interpolate2" c_th1d_interpolate2 -  :: (Ptr RawTH1D) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_interpolate2"+               c_th1d_interpolate2 ::+               Ptr RawTH1D -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_interpolate3" c_th1d_interpolate3 -  :: (Ptr RawTH1D) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_interpolate3"+               c_th1d_interpolate3 ::+               Ptr RawTH1D -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_KolmogorovTest" c_th1d_kolmogorovtest -  :: (Ptr RawTH1D) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_KolmogorovTest"+               c_th1d_kolmogorovtest ::+               Ptr RawTH1D -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_LabelsDeflate" c_th1d_labelsdeflate -  :: (Ptr RawTH1D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_LabelsDeflate"+               c_th1d_labelsdeflate :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_LabelsInflate" c_th1d_labelsinflate -  :: (Ptr RawTH1D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_LabelsInflate"+               c_th1d_labelsinflate :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_LabelsOption" c_th1d_labelsoption -  :: (Ptr RawTH1D) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_LabelsOption"+               c_th1d_labelsoption :: Ptr RawTH1D -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_multiflyF" c_th1d_multiflyf -  :: (Ptr RawTH1D) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_multiflyF"+               c_th1d_multiflyf :: Ptr RawTH1D -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_Multiply" c_th1d_multiply -  :: (Ptr RawTH1D) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_Multiply"+               c_th1d_multiply ::+               Ptr RawTH1D ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_PutStats" c_th1d_putstats -  :: (Ptr RawTH1D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_PutStats"+               c_th1d_putstats :: Ptr RawTH1D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_Rebin" c_th1d_rebin -  :: (Ptr RawTH1D) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1D.h TH1D_Rebin" c_th1d_rebin+               ::+               Ptr RawTH1D -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1D.h TH1D_RebinAxis" c_th1d_rebinaxis -  :: (Ptr RawTH1D) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_RebinAxis"+               c_th1d_rebinaxis :: Ptr RawTH1D -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_Rebuild" c_th1d_rebuild -  :: (Ptr RawTH1D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_Rebuild"+               c_th1d_rebuild :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_RecursiveRemove" c_th1d_recursiveremove -  :: (Ptr RawTH1D) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_RecursiveRemove"+               c_th1d_recursiveremove :: Ptr RawTH1D -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_Reset" c_th1d_reset -  :: (Ptr RawTH1D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_Reset" c_th1d_reset+               :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_ResetStats" c_th1d_resetstats -  :: (Ptr RawTH1D) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_ResetStats"+               c_th1d_resetstats :: Ptr RawTH1D -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_Scale" c_th1d_scale -  :: (Ptr RawTH1D) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_Scale" c_th1d_scale+               :: Ptr RawTH1D -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setAxisColorA" c_th1d_setaxiscolora -  :: (Ptr RawTH1D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setAxisColorA"+               c_th1d_setaxiscolora :: Ptr RawTH1D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetAxisRange" c_th1d_setaxisrange -  :: (Ptr RawTH1D) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetAxisRange"+               c_th1d_setaxisrange ::+               Ptr RawTH1D -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetBarOffset" c_th1d_setbaroffset -  :: (Ptr RawTH1D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetBarOffset"+               c_th1d_setbaroffset :: Ptr RawTH1D -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetBarWidth" c_th1d_setbarwidth -  :: (Ptr RawTH1D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetBarWidth"+               c_th1d_setbarwidth :: Ptr RawTH1D -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setBinContent1" c_th1d_setbincontent1 -  :: (Ptr RawTH1D) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setBinContent1"+               c_th1d_setbincontent1 :: Ptr RawTH1D -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setBinContent2" c_th1d_setbincontent2 -  :: (Ptr RawTH1D) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setBinContent2"+               c_th1d_setbincontent2 ::+               Ptr RawTH1D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setBinContent3" c_th1d_setbincontent3 -  :: (Ptr RawTH1D) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setBinContent3"+               c_th1d_setbincontent3 ::+               Ptr RawTH1D -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setBinError1" c_th1d_setbinerror1 -  :: (Ptr RawTH1D) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setBinError1"+               c_th1d_setbinerror1 :: Ptr RawTH1D -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setBinError2" c_th1d_setbinerror2 -  :: (Ptr RawTH1D) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setBinError2"+               c_th1d_setbinerror2 ::+               Ptr RawTH1D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setBinError3" c_th1d_setbinerror3 -  :: (Ptr RawTH1D) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setBinError3"+               c_th1d_setbinerror3 ::+               Ptr RawTH1D -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setBins1" c_th1d_setbins1 -  :: (Ptr RawTH1D) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setBins1"+               c_th1d_setbins1 :: Ptr RawTH1D -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setBins2" c_th1d_setbins2 -  :: (Ptr RawTH1D) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setBins2"+               c_th1d_setbins2 ::+               Ptr RawTH1D ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setBins3" c_th1d_setbins3 -  :: (Ptr RawTH1D) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setBins3"+               c_th1d_setbins3 ::+               Ptr RawTH1D ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetBinsLength" c_th1d_setbinslength -  :: (Ptr RawTH1D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetBinsLength"+               c_th1d_setbinslength :: Ptr RawTH1D -> CInt -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetBuffer" c_th1d_setbuffer -  :: (Ptr RawTH1D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetBuffer"+               c_th1d_setbuffer :: Ptr RawTH1D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetCellContent" c_th1d_setcellcontent -  :: (Ptr RawTH1D) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetCellContent"+               c_th1d_setcellcontent ::+               Ptr RawTH1D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetContent" c_th1d_setcontent -  :: (Ptr RawTH1D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetContent"+               c_th1d_setcontent :: Ptr RawTH1D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetContour" c_th1d_setcontour -  :: (Ptr RawTH1D) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetContour"+               c_th1d_setcontour :: Ptr RawTH1D -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetContourLevel" c_th1d_setcontourlevel -  :: (Ptr RawTH1D) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetContourLevel"+               c_th1d_setcontourlevel :: Ptr RawTH1D -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetDirectory" c_th1d_setdirectory -  :: (Ptr RawTH1D) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetDirectory"+               c_th1d_setdirectory :: Ptr RawTH1D -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetEntries" c_th1d_setentries -  :: (Ptr RawTH1D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetEntries"+               c_th1d_setentries :: Ptr RawTH1D -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetError" c_th1d_seterror -  :: (Ptr RawTH1D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetError"+               c_th1d_seterror :: Ptr RawTH1D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setLabelColorA" c_th1d_setlabelcolora -  :: (Ptr RawTH1D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setLabelColorA"+               c_th1d_setlabelcolora :: Ptr RawTH1D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setLabelSizeA" c_th1d_setlabelsizea -  :: (Ptr RawTH1D) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setLabelSizeA"+               c_th1d_setlabelsizea :: Ptr RawTH1D -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setLabelFontA" c_th1d_setlabelfonta -  :: (Ptr RawTH1D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setLabelFontA"+               c_th1d_setlabelfonta :: Ptr RawTH1D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_setLabelOffsetA" c_th1d_setlabeloffseta -  :: (Ptr RawTH1D) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_setLabelOffsetA"+               c_th1d_setlabeloffseta ::+               Ptr RawTH1D -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetMaximum" c_th1d_setmaximum -  :: (Ptr RawTH1D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetMaximum"+               c_th1d_setmaximum :: Ptr RawTH1D -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetMinimum" c_th1d_setminimum -  :: (Ptr RawTH1D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetMinimum"+               c_th1d_setminimum :: Ptr RawTH1D -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetNormFactor" c_th1d_setnormfactor -  :: (Ptr RawTH1D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetNormFactor"+               c_th1d_setnormfactor :: Ptr RawTH1D -> CDouble -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetStats" c_th1d_setstats -  :: (Ptr RawTH1D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetStats"+               c_th1d_setstats :: Ptr RawTH1D -> CInt -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetOption" c_th1d_setoption -  :: (Ptr RawTH1D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetOption"+               c_th1d_setoption :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetXTitle" c_th1d_setxtitle -  :: (Ptr RawTH1D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetXTitle"+               c_th1d_setxtitle :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetYTitle" c_th1d_setytitle -  :: (Ptr RawTH1D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetYTitle"+               c_th1d_setytitle :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetZTitle" c_th1d_setztitle -  :: (Ptr RawTH1D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetZTitle"+               c_th1d_setztitle :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_ShowBackground" c_th1d_showbackground -  :: (Ptr RawTH1D) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1D.h TH1D_ShowBackground"+               c_th1d_showbackground ::+               Ptr RawTH1D -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1D.h TH1D_ShowPeaks" c_th1d_showpeaks -  :: (Ptr RawTH1D) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_ShowPeaks"+               c_th1d_showpeaks ::+               Ptr RawTH1D -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_Smooth" c_th1d_smooth -  :: (Ptr RawTH1D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_Smooth"+               c_th1d_smooth :: Ptr RawTH1D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_Sumw2" c_th1d_sumw2 -  :: (Ptr RawTH1D) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_Sumw2" c_th1d_sumw2+               :: Ptr RawTH1D -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_Draw" c_th1d_draw -  :: (Ptr RawTH1D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetName"+               c_th1d_setname :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_FindObject" c_th1d_findobject -  :: (Ptr RawTH1D) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetNameTitle"+               c_th1d_setnametitle :: Ptr RawTH1D -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_GetName" c_th1d_getname -  :: (Ptr RawTH1D) -> IO CString+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetTitle"+               c_th1d_settitle :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_IsA" c_th1d_isa -  :: (Ptr RawTH1D) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetLineColor"+               c_th1d_getlinecolor :: Ptr RawTH1D -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_Paint" c_th1d_paint -  :: (Ptr RawTH1D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetLineStyle"+               c_th1d_getlinestyle :: Ptr RawTH1D -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_printObj" c_th1d_printobj -  :: (Ptr RawTH1D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetLineWidth"+               c_th1d_getlinewidth :: Ptr RawTH1D -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_SaveAs" c_th1d_saveas -  :: (Ptr RawTH1D) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_ResetAttLine"+               c_th1d_resetattline :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_Write" c_th1d_write -  :: (Ptr RawTH1D) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetLineAttributes"+               c_th1d_setlineattributes :: Ptr RawTH1D -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_GetLineColor" c_th1d_getlinecolor -  :: (Ptr RawTH1D) -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetLineColor"+               c_th1d_setlinecolor :: Ptr RawTH1D -> CInt -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_GetLineStyle" c_th1d_getlinestyle -  :: (Ptr RawTH1D) -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetLineStyle"+               c_th1d_setlinestyle :: Ptr RawTH1D -> CInt -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_GetLineWidth" c_th1d_getlinewidth -  :: (Ptr RawTH1D) -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetLineWidth"+               c_th1d_setlinewidth :: Ptr RawTH1D -> CInt -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_ResetAttLine" c_th1d_resetattline -  :: (Ptr RawTH1D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetFillColor"+               c_th1d_setfillcolor :: Ptr RawTH1D -> CInt -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetLineAttributes" c_th1d_setlineattributes -  :: (Ptr RawTH1D) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetFillStyle"+               c_th1d_setfillstyle :: Ptr RawTH1D -> CInt -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetLineColor" c_th1d_setlinecolor -  :: (Ptr RawTH1D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMarkerColor"+               c_th1d_getmarkercolor :: Ptr RawTH1D -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_SetLineStyle" c_th1d_setlinestyle -  :: (Ptr RawTH1D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMarkerStyle"+               c_th1d_getmarkerstyle :: Ptr RawTH1D -> IO CInt -foreign import ccall "HROOTHistTH1D.h TH1D_SetLineWidth" c_th1d_setlinewidth -  :: (Ptr RawTH1D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetMarkerSize"+               c_th1d_getmarkersize :: Ptr RawTH1D -> IO CDouble -foreign import ccall "HROOTHistTH1D.h TH1D_SetFillColor" c_th1d_setfillcolor -  :: (Ptr RawTH1D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_ResetAttMarker"+               c_th1d_resetattmarker :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetFillStyle" c_th1d_setfillstyle -  :: (Ptr RawTH1D) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH1D.h TH1D_SetMarkerAttributes"+               c_th1d_setmarkerattributes :: Ptr RawTH1D -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_GetMarkerColor" c_th1d_getmarkercolor -  :: (Ptr RawTH1D) -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetMarkerColor"+               c_th1d_setmarkercolor :: Ptr RawTH1D -> CInt -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_GetMarkerStyle" c_th1d_getmarkerstyle -  :: (Ptr RawTH1D) -> IO CInt+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetMarkerStyle"+               c_th1d_setmarkerstyle :: Ptr RawTH1D -> CInt -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_GetMarkerSize" c_th1d_getmarkersize -  :: (Ptr RawTH1D) -> IO CDouble+foreign import ccall safe "HROOTHistTH1D.h TH1D_SetMarkerSize"+               c_th1d_setmarkersize :: Ptr RawTH1D -> CInt -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_ResetAttMarker" c_th1d_resetattmarker -  :: (Ptr RawTH1D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_Draw" c_th1d_draw+               :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_SetMarkerAttributes" c_th1d_setmarkerattributes -  :: (Ptr RawTH1D) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_FindObject"+               c_th1d_findobject :: Ptr RawTH1D -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH1D.h TH1D_SetMarkerColor" c_th1d_setmarkercolor -  :: (Ptr RawTH1D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_GetName"+               c_th1d_getname :: Ptr RawTH1D -> IO CString -foreign import ccall "HROOTHistTH1D.h TH1D_SetMarkerStyle" c_th1d_setmarkerstyle -  :: (Ptr RawTH1D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_IsA" c_th1d_isa ::+               Ptr RawTH1D -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH1D.h TH1D_SetMarkerSize" c_th1d_setmarkersize -  :: (Ptr RawTH1D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_Paint" c_th1d_paint+               :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_delete" c_th1d_delete -  :: (Ptr RawTH1D) -> IO ()+foreign import ccall safe "HROOTHistTH1D.h TH1D_printObj"+               c_th1d_printobj :: Ptr RawTH1D -> CString -> IO () -foreign import ccall "HROOTHistTH1D.h TH1D_newTH1D" c_th1d_newth1d -  :: CString -> CString -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH1D)+foreign import ccall safe "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 safe "HROOTHistTH1D.h TH1D_delete"+               c_th1d_delete :: Ptr RawTH1D -> IO ()++foreign import ccall safe "HROOTHistTH1D.h TH1D_newTH1D"+               c_th1d_newth1d ::+               CString ->+                 CString -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH1D)
src/HROOT/Hist/TH1D/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1D.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1D.FFI import HROOT.Hist.TH1D.Interface@@ -29,9 +30,9 @@ import HROOT.Core.TArrayD.RawType import HROOT.Core.TArrayD.Cast import HROOT.Core.TArrayD.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -41,6 +42,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -48,360 +52,188 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH1D TH1D -instance ITH1D 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-  drawNormalized = xform2 c_th1d_drawnormalized-  drawPanelTH1 = xform0 c_th1d_drawpanelth1-  bufferEmpty = xform1 c_th1d_bufferempty-  evalF = xform2 c_th1d_evalf-  fFT = xform2 c_th1d_fft-  fill1 = xform1 c_th1d_fill1-  fill1w = xform2 c_th1d_fill1w-  fillN1 = xform4 c_th1d_filln1-  fillRandom = xform2 c_th1d_fillrandom-  findBin = xform3 c_th1d_findbin-  findFixBin = xform3 c_th1d_findfixbin-  findFirstBinAbove = xform2 c_th1d_findfirstbinabove-  findLastBinAbove = xform2 c_th1d_findlastbinabove-  fitPanelTH1 = xform0 c_th1d_fitpanelth1-  getNdivisionA = xform1 c_th1d_getndivisiona-  getAxisColorA = xform1 c_th1d_getaxiscolora-  getLabelColorA = xform1 c_th1d_getlabelcolora-  getLabelFontA = xform1 c_th1d_getlabelfonta-  getLabelOffsetA = xform1 c_th1d_getlabeloffseta-  getLabelSizeA = xform1 c_th1d_getlabelsizea-  getTitleFontA = xform1 c_th1d_gettitlefonta-  getTitleOffsetA = xform1 c_th1d_gettitleoffseta-  getTitleSizeA = xform1 c_th1d_gettitlesizea-  getTickLengthA = xform1 c_th1d_getticklengtha-  getBarOffset = xform0 c_th1d_getbaroffset-  getBarWidth = xform0 c_th1d_getbarwidth-  getContour = xform1 c_th1d_getcontour-  getContourLevel = xform1 c_th1d_getcontourlevel-  getContourLevelPad = xform1 c_th1d_getcontourlevelpad-  getBin = xform3 c_th1d_getbin-  getBinCenter = xform1 c_th1d_getbincenter-  getBinContent1 = xform1 c_th1d_getbincontent1-  getBinContent2 = xform2 c_th1d_getbincontent2-  getBinContent3 = xform3 c_th1d_getbincontent3-  getBinError1 = xform1 c_th1d_getbinerror1-  getBinError2 = xform2 c_th1d_getbinerror2-  getBinError3 = xform3 c_th1d_getbinerror3-  getBinLowEdge = xform1 c_th1d_getbinlowedge-  getBinWidth = xform1 c_th1d_getbinwidth-  getCellContent = xform2 c_th1d_getcellcontent-  getCellError = xform2 c_th1d_getcellerror-  getEntries = xform0 c_th1d_getentries-  getEffectiveEntries = xform0 c_th1d_geteffectiveentries-  getFunction = xform1 c_th1d_getfunction-  getDimension = xform0 c_th1d_getdimension-  getKurtosis = xform1 c_th1d_getkurtosis-  getLowEdge = xform1 c_th1d_getlowedge-  getMaximumTH1 = xform1 c_th1d_getmaximumth1-  getMaximumBin = xform0 c_th1d_getmaximumbin-  getMaximumStored = xform0 c_th1d_getmaximumstored-  getMinimumTH1 = xform1 c_th1d_getminimumth1-  getMinimumBin = xform0 c_th1d_getminimumbin-  getMinimumStored = xform0 c_th1d_getminimumstored-  getMean = xform1 c_th1d_getmean-  getMeanError = xform1 c_th1d_getmeanerror-  getNbinsX = xform0 c_th1d_getnbinsx-  getNbinsY = xform0 c_th1d_getnbinsy-  getNbinsZ = xform0 c_th1d_getnbinsz-  getQuantilesTH1 = xform3 c_th1d_getquantilesth1-  getRandom = xform0 c_th1d_getrandom-  getStats = xform1 c_th1d_getstats-  getSumOfWeights = xform0 c_th1d_getsumofweights-  getSumw2 = xform0 c_th1d_getsumw2-  getSumw2N = xform0 c_th1d_getsumw2n-  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-  labelsInflate = xform1 c_th1d_labelsinflate-  labelsOption = xform2 c_th1d_labelsoption-  multiflyF = xform2 c_th1d_multiflyf-  multiply = xform5 c_th1d_multiply-  putStats = xform1 c_th1d_putstats-  rebin = xform3 c_th1d_rebin-  rebinAxis = xform2 c_th1d_rebinaxis-  rebuild = xform1 c_th1d_rebuild-  recursiveRemove = xform1 c_th1d_recursiveremove-  reset = xform1 c_th1d_reset-  resetStats = xform0 c_th1d_resetstats-  scale = xform2 c_th1d_scale-  setAxisColorA = xform2 c_th1d_setaxiscolora-  setAxisRange = xform3 c_th1d_setaxisrange-  setBarOffset = xform1 c_th1d_setbaroffset-  setBarWidth = xform1 c_th1d_setbarwidth-  setBinContent1 = xform2 c_th1d_setbincontent1-  setBinContent2 = xform3 c_th1d_setbincontent2-  setBinContent3 = xform4 c_th1d_setbincontent3-  setBinError1 = xform2 c_th1d_setbinerror1-  setBinError2 = xform3 c_th1d_setbinerror2-  setBinError3 = xform4 c_th1d_setbinerror3-  setBins1 = xform2 c_th1d_setbins1-  setBins2 = xform4 c_th1d_setbins2-  setBins3 = xform6 c_th1d_setbins3-  setBinsLength = xform1 c_th1d_setbinslength-  setBuffer = xform2 c_th1d_setbuffer-  setCellContent = xform3 c_th1d_setcellcontent-  setContent = xform1 c_th1d_setcontent-  setContour = xform2 c_th1d_setcontour-  setContourLevel = xform2 c_th1d_setcontourlevel-  setDirectory = xform1 c_th1d_setdirectory-  setEntries = xform1 c_th1d_setentries-  setError = xform1 c_th1d_seterror-  setLabelColorA = xform2 c_th1d_setlabelcolora-  setLabelSizeA = xform2 c_th1d_setlabelsizea-  setLabelFontA = xform2 c_th1d_setlabelfonta-  setLabelOffsetA = xform2 c_th1d_setlabeloffseta-  setMaximum = xform1 c_th1d_setmaximum-  setMinimum = xform1 c_th1d_setminimum-  setNormFactor = xform1 c_th1d_setnormfactor-  setStats = xform1 c_th1d_setstats-  setOption = xform1 c_th1d_setoption-  setXTitle = xform1 c_th1d_setxtitle-  setYTitle = xform1 c_th1d_setytitle-  setZTitle = xform1 c_th1d_setztitle-  showBackground = xform2 c_th1d_showbackground-  showPeaks = xform3 c_th1d_showpeaks-  smooth = xform2 c_th1d_smooth-  sumw2 = xform0 c_th1d_sumw2-instance ITArrayD TH1D where-instance ITObject TH1D where-  draw = xform1 c_th1d_draw-  findObject = xform1 c_th1d_findobject-  getName = xform0 c_th1d_getname-  isA = xform0 c_th1d_isa-  paint = xform1 c_th1d_paint-  printObj = xform1 c_th1d_printobj-  saveAs = xform2 c_th1d_saveas-  write = xform3 c_th1d_write-instance ITAttLine TH1D where-  getLineColor = xform0 c_th1d_getlinecolor-  getLineStyle = xform0 c_th1d_getlinestyle-  getLineWidth = xform0 c_th1d_getlinewidth-  resetAttLine = xform1 c_th1d_resetattline-  setLineAttributes = xform0 c_th1d_setlineattributes-  setLineColor = xform1 c_th1d_setlinecolor-  setLineStyle = xform1 c_th1d_setlinestyle-  setLineWidth = xform1 c_th1d_setlinewidth-instance ITAttFill TH1D where-  setFillColor = xform1 c_th1d_setfillcolor-  setFillStyle = xform1 c_th1d_setfillstyle-instance ITAttMarker TH1D where-  getMarkerColor = xform0 c_th1d_getmarkercolor-  getMarkerStyle = xform0 c_th1d_getmarkerstyle-  getMarkerSize = xform0 c_th1d_getmarkersize-  resetAttMarker = xform1 c_th1d_resetattmarker-  setMarkerAttributes = xform0 c_th1d_setmarkerattributes-  setMarkerColor = xform1 c_th1d_setmarkercolor-  setMarkerStyle = xform1 c_th1d_setmarkerstyle-  setMarkerSize = xform1 c_th1d_setmarkersize-instance IDeletable TH1D where-  delete = xform0 c_th1d_delete-instance ITArray TH1D where--instance ITH1D (Exist TH1D) where--instance ITH1 (Exist TH1D) where-  add (ETH1D x) = add x-  addBinContent (ETH1D x) = addBinContent x-  chi2Test (ETH1D x) = chi2Test x-  computeIntegral (ETH1D x) = computeIntegral x-  directoryAutoAdd (ETH1D x) = directoryAutoAdd x-  divide (ETH1D x) = divide x-  drawCopyTH1 (ETH1D x) a1 = return . ETH1D =<< drawCopyTH1 x a1-  drawNormalized (ETH1D x) = drawNormalized x-  drawPanelTH1 (ETH1D x) = drawPanelTH1 x-  bufferEmpty (ETH1D x) = bufferEmpty x-  evalF (ETH1D x) = evalF x-  fFT (ETH1D x) = fFT x-  fill1 (ETH1D x) = fill1 x-  fill1w (ETH1D x) = fill1w x-  fillN1 (ETH1D x) = fillN1 x-  fillRandom (ETH1D x) = fillRandom x-  findBin (ETH1D x) = findBin x-  findFixBin (ETH1D x) = findFixBin x-  findFirstBinAbove (ETH1D x) = findFirstBinAbove x-  findLastBinAbove (ETH1D x) = findLastBinAbove x-  fitPanelTH1 (ETH1D x) = fitPanelTH1 x-  getNdivisionA (ETH1D x) = getNdivisionA x-  getAxisColorA (ETH1D x) = getAxisColorA x-  getLabelColorA (ETH1D x) = getLabelColorA x-  getLabelFontA (ETH1D x) = getLabelFontA x-  getLabelOffsetA (ETH1D x) = getLabelOffsetA x-  getLabelSizeA (ETH1D x) = getLabelSizeA x-  getTitleFontA (ETH1D x) = getTitleFontA x-  getTitleOffsetA (ETH1D x) = getTitleOffsetA x-  getTitleSizeA (ETH1D x) = getTitleSizeA x-  getTickLengthA (ETH1D x) = getTickLengthA x-  getBarOffset (ETH1D x) = getBarOffset x-  getBarWidth (ETH1D x) = getBarWidth x-  getContour (ETH1D x) = getContour x-  getContourLevel (ETH1D x) = getContourLevel x-  getContourLevelPad (ETH1D x) = getContourLevelPad x-  getBin (ETH1D x) = getBin x-  getBinCenter (ETH1D x) = getBinCenter x-  getBinContent1 (ETH1D x) = getBinContent1 x-  getBinContent2 (ETH1D x) = getBinContent2 x-  getBinContent3 (ETH1D x) = getBinContent3 x-  getBinError1 (ETH1D x) = getBinError1 x-  getBinError2 (ETH1D x) = getBinError2 x-  getBinError3 (ETH1D x) = getBinError3 x-  getBinLowEdge (ETH1D x) = getBinLowEdge x-  getBinWidth (ETH1D x) = getBinWidth x-  getCellContent (ETH1D x) = getCellContent x-  getCellError (ETH1D x) = getCellError x-  getEntries (ETH1D x) = getEntries x-  getEffectiveEntries (ETH1D x) = getEffectiveEntries x-  getFunction (ETH1D x) = getFunction x-  getDimension (ETH1D x) = getDimension x-  getKurtosis (ETH1D x) = getKurtosis x-  getLowEdge (ETH1D x) = getLowEdge x-  getMaximumTH1 (ETH1D x) = getMaximumTH1 x-  getMaximumBin (ETH1D x) = getMaximumBin x-  getMaximumStored (ETH1D x) = getMaximumStored x-  getMinimumTH1 (ETH1D x) = getMinimumTH1 x-  getMinimumBin (ETH1D x) = getMinimumBin x-  getMinimumStored (ETH1D x) = getMinimumStored x-  getMean (ETH1D x) = getMean x-  getMeanError (ETH1D x) = getMeanError x-  getNbinsX (ETH1D x) = getNbinsX x-  getNbinsY (ETH1D x) = getNbinsY x-  getNbinsZ (ETH1D x) = getNbinsZ x-  getQuantilesTH1 (ETH1D x) = getQuantilesTH1 x-  getRandom (ETH1D x) = getRandom x-  getStats (ETH1D x) = getStats x-  getSumOfWeights (ETH1D x) = getSumOfWeights x-  getSumw2 (ETH1D x) = getSumw2 x-  getSumw2N (ETH1D x) = getSumw2N x-  getRMS (ETH1D x) = getRMS x-  getRMSError (ETH1D x) = getRMSError x-  getSkewness (ETH1D x) = getSkewness x-  integral1 (ETH1D x) = integral1 x-  interpolate1 (ETH1D x) = interpolate1 x-  interpolate2 (ETH1D x) = interpolate2 x-  interpolate3 (ETH1D x) = interpolate3 x-  kolmogorovTest (ETH1D x) = kolmogorovTest x-  labelsDeflate (ETH1D x) = labelsDeflate x-  labelsInflate (ETH1D x) = labelsInflate x-  labelsOption (ETH1D x) = labelsOption x-  multiflyF (ETH1D x) = multiflyF x-  multiply (ETH1D x) = multiply x-  putStats (ETH1D x) = putStats x-  rebin (ETH1D x) = rebin x-  rebinAxis (ETH1D x) = rebinAxis x-  rebuild (ETH1D x) = rebuild x-  recursiveRemove (ETH1D x) = recursiveRemove x-  reset (ETH1D x) = reset x-  resetStats (ETH1D x) = resetStats x-  scale (ETH1D x) = scale x-  setAxisColorA (ETH1D x) = setAxisColorA x-  setAxisRange (ETH1D x) = setAxisRange x-  setBarOffset (ETH1D x) = setBarOffset x-  setBarWidth (ETH1D x) = setBarWidth x-  setBinContent1 (ETH1D x) = setBinContent1 x-  setBinContent2 (ETH1D x) = setBinContent2 x-  setBinContent3 (ETH1D x) = setBinContent3 x-  setBinError1 (ETH1D x) = setBinError1 x-  setBinError2 (ETH1D x) = setBinError2 x-  setBinError3 (ETH1D x) = setBinError3 x-  setBins1 (ETH1D x) = setBins1 x-  setBins2 (ETH1D x) = setBins2 x-  setBins3 (ETH1D x) = setBins3 x-  setBinsLength (ETH1D x) = setBinsLength x-  setBuffer (ETH1D x) = setBuffer x-  setCellContent (ETH1D x) = setCellContent x-  setContent (ETH1D x) = setContent x-  setContour (ETH1D x) = setContour x-  setContourLevel (ETH1D x) = setContourLevel x-  setDirectory (ETH1D x) = setDirectory x-  setEntries (ETH1D x) = setEntries x-  setError (ETH1D x) = setError x-  setLabelColorA (ETH1D x) = setLabelColorA x-  setLabelSizeA (ETH1D x) = setLabelSizeA x-  setLabelFontA (ETH1D x) = setLabelFontA x-  setLabelOffsetA (ETH1D x) = setLabelOffsetA x-  setMaximum (ETH1D x) = setMaximum x-  setMinimum (ETH1D x) = setMinimum x-  setNormFactor (ETH1D x) = setNormFactor x-  setStats (ETH1D x) = setStats x-  setOption (ETH1D x) = setOption x-  setXTitle (ETH1D x) = setXTitle x-  setYTitle (ETH1D x) = setYTitle x-  setZTitle (ETH1D x) = setZTitle x-  showBackground (ETH1D x) = showBackground x-  showPeaks (ETH1D x) = showPeaks x-  smooth (ETH1D x) = smooth x-  sumw2 (ETH1D x) = sumw2 x-instance ITArrayD (Exist 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+        drawNormalized = xform2 c_th1d_drawnormalized+        drawPanelTH1 = xform0 c_th1d_drawpanelth1+        bufferEmpty = xform1 c_th1d_bufferempty+        evalF = xform2 c_th1d_evalf+        fFT = xform2 c_th1d_fft+        fill1 = xform1 c_th1d_fill1+        fill1w = xform2 c_th1d_fill1w+        fillN1 = xform4 c_th1d_filln1+        fillRandom = xform2 c_th1d_fillrandom+        findBin = xform3 c_th1d_findbin+        findFixBin = xform3 c_th1d_findfixbin+        findFirstBinAbove = xform2 c_th1d_findfirstbinabove+        findLastBinAbove = xform2 c_th1d_findlastbinabove+        fit = xform5 c_th1d_fit+        fitPanelTH1 = xform0 c_th1d_fitpanelth1+        getNdivisionA = xform1 c_th1d_getndivisiona+        getAxisColorA = xform1 c_th1d_getaxiscolora+        getLabelColorA = xform1 c_th1d_getlabelcolora+        getLabelFontA = xform1 c_th1d_getlabelfonta+        getLabelOffsetA = xform1 c_th1d_getlabeloffseta+        getLabelSizeA = xform1 c_th1d_getlabelsizea+        getTitleFontA = xform1 c_th1d_gettitlefonta+        getTitleOffsetA = xform1 c_th1d_gettitleoffseta+        getTitleSizeA = xform1 c_th1d_gettitlesizea+        getTickLengthA = xform1 c_th1d_getticklengtha+        getBarOffset = xform0 c_th1d_getbaroffset+        getBarWidth = xform0 c_th1d_getbarwidth+        getContour = xform1 c_th1d_getcontour+        getContourLevel = xform1 c_th1d_getcontourlevel+        getContourLevelPad = xform1 c_th1d_getcontourlevelpad+        getBin = xform3 c_th1d_getbin+        getBinCenter = xform1 c_th1d_getbincenter+        getBinContent1 = xform1 c_th1d_getbincontent1+        getBinContent2 = xform2 c_th1d_getbincontent2+        getBinContent3 = xform3 c_th1d_getbincontent3+        getBinError1 = xform1 c_th1d_getbinerror1+        getBinError2 = xform2 c_th1d_getbinerror2+        getBinError3 = xform3 c_th1d_getbinerror3+        getBinLowEdge = xform1 c_th1d_getbinlowedge+        getBinWidth = xform1 c_th1d_getbinwidth+        getCellContent = xform2 c_th1d_getcellcontent+        getCellError = xform2 c_th1d_getcellerror+        getEntries = xform0 c_th1d_getentries+        getEffectiveEntries = xform0 c_th1d_geteffectiveentries+        getFunction = xform1 c_th1d_getfunction+        getDimension = xform0 c_th1d_getdimension+        getKurtosis = xform1 c_th1d_getkurtosis+        getLowEdge = xform1 c_th1d_getlowedge+        getMaximumTH1 = xform1 c_th1d_getmaximumth1+        getMaximumBin = xform0 c_th1d_getmaximumbin+        getMaximumStored = xform0 c_th1d_getmaximumstored+        getMinimumTH1 = xform1 c_th1d_getminimumth1+        getMinimumBin = xform0 c_th1d_getminimumbin+        getMinimumStored = xform0 c_th1d_getminimumstored+        getMean = xform1 c_th1d_getmean+        getMeanError = xform1 c_th1d_getmeanerror+        getNbinsX = xform0 c_th1d_getnbinsx+        getNbinsY = xform0 c_th1d_getnbinsy+        getNbinsZ = xform0 c_th1d_getnbinsz+        getQuantilesTH1 = xform3 c_th1d_getquantilesth1+        getRandom = xform0 c_th1d_getrandom+        getStats = xform1 c_th1d_getstats+        getSumOfWeights = xform0 c_th1d_getsumofweights+        getSumw2 = xform0 c_th1d_getsumw2+        getSumw2N = xform0 c_th1d_getsumw2n+        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+        labelsInflate = xform1 c_th1d_labelsinflate+        labelsOption = xform2 c_th1d_labelsoption+        multiflyF = xform2 c_th1d_multiflyf+        multiply = xform5 c_th1d_multiply+        putStats = xform1 c_th1d_putstats+        rebin = xform3 c_th1d_rebin+        rebinAxis = xform2 c_th1d_rebinaxis+        rebuild = xform1 c_th1d_rebuild+        recursiveRemove = xform1 c_th1d_recursiveremove+        reset = xform1 c_th1d_reset+        resetStats = xform0 c_th1d_resetstats+        scale = xform2 c_th1d_scale+        setAxisColorA = xform2 c_th1d_setaxiscolora+        setAxisRange = xform3 c_th1d_setaxisrange+        setBarOffset = xform1 c_th1d_setbaroffset+        setBarWidth = xform1 c_th1d_setbarwidth+        setBinContent1 = xform2 c_th1d_setbincontent1+        setBinContent2 = xform3 c_th1d_setbincontent2+        setBinContent3 = xform4 c_th1d_setbincontent3+        setBinError1 = xform2 c_th1d_setbinerror1+        setBinError2 = xform3 c_th1d_setbinerror2+        setBinError3 = xform4 c_th1d_setbinerror3+        setBins1 = xform2 c_th1d_setbins1+        setBins2 = xform4 c_th1d_setbins2+        setBins3 = xform6 c_th1d_setbins3+        setBinsLength = xform1 c_th1d_setbinslength+        setBuffer = xform2 c_th1d_setbuffer+        setCellContent = xform3 c_th1d_setcellcontent+        setContent = xform1 c_th1d_setcontent+        setContour = xform2 c_th1d_setcontour+        setContourLevel = xform2 c_th1d_setcontourlevel+        setDirectory = xform1 c_th1d_setdirectory+        setEntries = xform1 c_th1d_setentries+        setError = xform1 c_th1d_seterror+        setLabelColorA = xform2 c_th1d_setlabelcolora+        setLabelSizeA = xform2 c_th1d_setlabelsizea+        setLabelFontA = xform2 c_th1d_setlabelfonta+        setLabelOffsetA = xform2 c_th1d_setlabeloffseta+        setMaximum = xform1 c_th1d_setmaximum+        setMinimum = xform1 c_th1d_setminimum+        setNormFactor = xform1 c_th1d_setnormfactor+        setStats = xform1 c_th1d_setstats+        setOption = xform1 c_th1d_setoption+        setXTitle = xform1 c_th1d_setxtitle+        setYTitle = xform1 c_th1d_setytitle+        setZTitle = xform1 c_th1d_setztitle+        showBackground = xform2 c_th1d_showbackground+        showPeaks = xform3 c_th1d_showpeaks+        smooth = xform2 c_th1d_smooth+        sumw2 = xform0 c_th1d_sumw2 -instance ITObject (Exist TH1D) where-  draw (ETH1D x) = draw x-  findObject (ETH1D x) = findObject x-  getName (ETH1D x) = getName x-  isA (ETH1D x) = isA x-  paint (ETH1D x) = paint x-  printObj (ETH1D x) = printObj x-  saveAs (ETH1D x) = saveAs x-  write (ETH1D x) = write x-instance ITAttLine (Exist TH1D) where-  getLineColor (ETH1D x) = getLineColor x-  getLineStyle (ETH1D x) = getLineStyle x-  getLineWidth (ETH1D x) = getLineWidth x-  resetAttLine (ETH1D x) = resetAttLine x-  setLineAttributes (ETH1D x) = setLineAttributes x-  setLineColor (ETH1D x) = setLineColor x-  setLineStyle (ETH1D x) = setLineStyle x-  setLineWidth (ETH1D x) = setLineWidth x-instance ITAttFill (Exist TH1D) where-  setFillColor (ETH1D x) = setFillColor x-  setFillStyle (ETH1D x) = setFillStyle x-instance ITAttMarker (Exist TH1D) where-  getMarkerColor (ETH1D x) = getMarkerColor x-  getMarkerStyle (ETH1D x) = getMarkerStyle x-  getMarkerSize (ETH1D x) = getMarkerSize x-  resetAttMarker (ETH1D x) = resetAttMarker x-  setMarkerAttributes (ETH1D x) = setMarkerAttributes x-  setMarkerColor (ETH1D x) = setMarkerColor x-  setMarkerStyle (ETH1D x) = setMarkerStyle x-  setMarkerSize (ETH1D x) = setMarkerSize x-instance IDeletable (Exist TH1D) where-  delete (ETH1D x) = delete x-instance ITArray (Exist TH1D) where+instance ITArrayD TH1D +instance ITNamed TH1D where+        setName = xform1 c_th1d_setname+        setNameTitle = xform2 c_th1d_setnametitle+        setTitle = xform1 c_th1d_settitle +instance ITAttLine TH1D where+        getLineColor = xform0 c_th1d_getlinecolor+        getLineStyle = xform0 c_th1d_getlinestyle+        getLineWidth = xform0 c_th1d_getlinewidth+        resetAttLine = xform1 c_th1d_resetattline+        setLineAttributes = xform0 c_th1d_setlineattributes+        setLineColor = xform1 c_th1d_setlinecolor+        setLineStyle = xform1 c_th1d_setlinestyle+        setLineWidth = xform1 c_th1d_setlinewidth -newTH1D :: CString -> CString -> CInt -> CDouble -> CDouble -> IO TH1D-newTH1D = xform4 c_th1d_newth1d+instance ITAttFill TH1D where+        setFillColor = xform1 c_th1d_setfillcolor+        setFillStyle = xform1 c_th1d_setfillstyle +instance ITAttMarker TH1D where+        getMarkerColor = xform0 c_th1d_getmarkercolor+        getMarkerStyle = xform0 c_th1d_getmarkerstyle+        getMarkerSize = xform0 c_th1d_getmarkersize+        resetAttMarker = xform1 c_th1d_resetattmarker+        setMarkerAttributes = xform0 c_th1d_setmarkerattributes+        setMarkerColor = xform1 c_th1d_setmarkercolor+        setMarkerStyle = xform1 c_th1d_setmarkerstyle+        setMarkerSize = xform1 c_th1d_setmarkersize +instance ITObject TH1D where+        draw = xform1 c_th1d_draw+        findObject = xform1 c_th1d_findobject+        getName = xform0 c_th1d_getname+        isA = xform0 c_th1d_isa+        paint = xform1 c_th1d_paint+        printObj = xform1 c_th1d_printobj+        saveAs = xform2 c_th1d_saveas+        write = xform3 c_th1d_write +instance IDeletable TH1D where+        delete = xform0 c_th1d_delete +instance ITArray TH1D -instance FPtr (Exist TH1D) where-  type Raw (Exist TH1D) = RawTH1D-  get_fptr (ETH1D obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH1D (cast_fptr_to_obj (fptr :: ForeignPtr RawTH1D) :: TH1D)+newTH1D ::+          (Castable c1 CString, Castable c0 CString) =>+          c0 -> c1 -> CInt -> CDouble -> CDouble -> IO TH1D+newTH1D = xform4 c_th1d_newth1d
src/HROOT/Hist/TH1D/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1D.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH1D.RawType- import HROOT.Hist.TH1.Interface import HROOT.Core.TArrayD.Interface----- ============ ---- ---class (ITH1 a,ITArrayD a) => ITH1D a where--instance Existable TH1D where-  data Exist TH1D = forall a. (FPtr a, ITH1D a) => ETH1D a+class (ITH1 a, ITArrayD a) => ITH1D a -upcastTH1D :: (FPtr a, ITH1D a) => a -> TH1D-upcastTH1D h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH1D = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH1D :: forall a . (FPtr a, ITH1D a) => a -> TH1D+upcastTH1D h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH1D = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH1D :: (FPtr a, ITH1D a) => TH1D -> a -downcastTH1D h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH1D :: forall a . (FPtr a, ITH1D a) => TH1D -> a+downcastTH1D h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH1D/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH1D.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH1D -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH1D = TH1D (Ptr RawTH1D)+             deriving (Eq, Ord, Show) -data RawTH1D-newtype TH1D = TH1D (ForeignPtr RawTH1D) deriving (Eq, Ord, Show) instance FPtr TH1D where-   type Raw TH1D = RawTH1D-   get_fptr (TH1D fptr) = fptr-   cast_fptr_to_obj = TH1D+        type Raw TH1D = RawTH1D+        get_fptr (TH1D ptr) = ptr+        cast_fptr_to_obj = TH1D
src/HROOT/Hist/TH1F.hs view
@@ -1,15 +1,5 @@ module HROOT.Hist.TH1F-  (-    TH1F(..)-  , ITH1F-  , upcastTH1F-  , downcastTH1F-  , newTH1F- -  ) where-+       (TH1F(..), ITH1F, upcastTH1F, downcastTH1F, newTH1F) where import HROOT.Hist.TH1F.RawType import HROOT.Hist.TH1F.Interface import HROOT.Hist.TH1F.Implementation--
src/HROOT/Hist/TH1F/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH1F.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH1F.RawType import HROOT.Hist.TH1F.Interface  instance (ITH1F a, FPtr a) => Castable a (Ptr RawTH1F) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH1F (Ptr RawTH1F) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH1F.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH1F.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType@@ -21,479 +11,529 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH1F.h"+foreign import ccall safe "HROOTHistTH1F.h TH1F_Add" c_th1f_add ::+               Ptr RawTH1F -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "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 "HROOTHistTH1F.h TH1F_AddBinContent" c_th1f_addbincontent -  :: (Ptr RawTH1F) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_Chi2Test"+               c_th1f_chi2test ::+               Ptr RawTH1F -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH1F.h TH1F_ComputeIntegral" c_th1f_computeintegral -  :: (Ptr RawTH1F) -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_DirectoryAutoAdd"+               c_th1f_directoryautoadd ::+               Ptr RawTH1F -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_DirectoryAutoAdd" c_th1f_directoryautoadd -  :: (Ptr RawTH1F) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_Divide"+               c_th1f_divide ::+               Ptr RawTH1F ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH1F.h TH1F_drawCopyTH1" c_th1f_drawcopyth1 -  :: (Ptr RawTH1F) -> CString -> IO (Ptr RawTH1F)+foreign import ccall safe "HROOTHistTH1F.h TH1F_DrawNormalized"+               c_th1f_drawnormalized ::+               Ptr RawTH1F -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH1F.h TH1F_evalF" c_th1f_evalf -  :: (Ptr RawTH1F) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_FFT" c_th1f_fft ::+               Ptr RawTH1F -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH1F.h TH1F_fill1" c_th1f_fill1 -  :: (Ptr RawTH1F) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_fill1w"+               c_th1f_fill1w :: Ptr RawTH1F -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_fill1w" c_th1f_fill1w -  :: (Ptr RawTH1F) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_fillN1"+               c_th1f_filln1 ::+               Ptr RawTH1F ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_fillN1" c_th1f_filln1 -  :: (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 "HROOTHistTH1F.h TH1F_FillRandom" c_th1f_fillrandom -  :: (Ptr RawTH1F) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_FindBin"+               c_th1f_findbin ::+               Ptr RawTH1F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH1F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH1F.h TH1F_FindFirstBinAbove" c_th1f_findfirstbinabove -  :: (Ptr RawTH1F) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_FindLastBinAbove"+               c_th1f_findlastbinabove ::+               Ptr RawTH1F -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_FindLastBinAbove" c_th1f_findlastbinabove -  :: (Ptr RawTH1F) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_Fit" c_th1f_fit ::+               Ptr RawTH1F ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_FitPanelTH1" c_th1f_fitpanelth1 -  :: (Ptr RawTH1F) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_FitPanelTH1"+               c_th1f_fitpanelth1 :: Ptr RawTH1F -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_getNdivisionA" c_th1f_getndivisiona -  :: (Ptr RawTH1F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_getNdivisionA"+               c_th1f_getndivisiona :: Ptr RawTH1F -> CString -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_getAxisColorA" c_th1f_getaxiscolora -  :: (Ptr RawTH1F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_getAxisColorA"+               c_th1f_getaxiscolora :: Ptr RawTH1F -> CString -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_getLabelColorA" c_th1f_getlabelcolora -  :: (Ptr RawTH1F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_getLabelColorA"+               c_th1f_getlabelcolora :: Ptr RawTH1F -> CString -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_getLabelFontA" c_th1f_getlabelfonta -  :: (Ptr RawTH1F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_getLabelFontA"+               c_th1f_getlabelfonta :: Ptr RawTH1F -> CString -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_getLabelOffsetA" c_th1f_getlabeloffseta -  :: (Ptr RawTH1F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_getLabelOffsetA"+               c_th1f_getlabeloffseta :: Ptr RawTH1F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_getLabelSizeA" c_th1f_getlabelsizea -  :: (Ptr RawTH1F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_getLabelSizeA"+               c_th1f_getlabelsizea :: Ptr RawTH1F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_getTitleFontA" c_th1f_gettitlefonta -  :: (Ptr RawTH1F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_getTitleFontA"+               c_th1f_gettitlefonta :: Ptr RawTH1F -> CString -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_getTitleOffsetA" c_th1f_gettitleoffseta -  :: (Ptr RawTH1F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_getTitleOffsetA"+               c_th1f_gettitleoffseta :: Ptr RawTH1F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_getTitleSizeA" c_th1f_gettitlesizea -  :: (Ptr RawTH1F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_getTitleSizeA"+               c_th1f_gettitlesizea :: Ptr RawTH1F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_getTickLengthA" c_th1f_getticklengtha -  :: (Ptr RawTH1F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_getTickLengthA"+               c_th1f_getticklengtha :: Ptr RawTH1F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetBarOffset" c_th1f_getbaroffset -  :: (Ptr RawTH1F) -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBarOffset"+               c_th1f_getbaroffset :: Ptr RawTH1F -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetBarWidth" c_th1f_getbarwidth -  :: (Ptr RawTH1F) -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBarWidth"+               c_th1f_getbarwidth :: Ptr RawTH1F -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetContour" c_th1f_getcontour -  :: (Ptr RawTH1F) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetContour"+               c_th1f_getcontour :: Ptr RawTH1F -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_GetContourLevel" c_th1f_getcontourlevel -  :: (Ptr RawTH1F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetContourLevel"+               c_th1f_getcontourlevel :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetContourLevelPad" c_th1f_getcontourlevelpad -  :: (Ptr RawTH1F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetContourLevelPad"+               c_th1f_getcontourlevelpad :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetBin" c_th1f_getbin -  :: (Ptr RawTH1F) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBin"+               c_th1f_getbin :: Ptr RawTH1F -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_GetBinCenter" c_th1f_getbincenter -  :: (Ptr RawTH1F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinCenter"+               c_th1f_getbincenter :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetBinContent1" c_th1f_getbincontent1 -  :: (Ptr RawTH1F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinContent1"+               c_th1f_getbincontent1 :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetBinContent2" c_th1f_getbincontent2 -  :: (Ptr RawTH1F) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinContent2"+               c_th1f_getbincontent2 :: Ptr RawTH1F -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetBinContent3" c_th1f_getbincontent3 -  :: (Ptr RawTH1F) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinContent3"+               c_th1f_getbincontent3 ::+               Ptr RawTH1F -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetBinError1" c_th1f_getbinerror1 -  :: (Ptr RawTH1F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinError1"+               c_th1f_getbinerror1 :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetBinError2" c_th1f_getbinerror2 -  :: (Ptr RawTH1F) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinError2"+               c_th1f_getbinerror2 :: Ptr RawTH1F -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetBinError3" c_th1f_getbinerror3 -  :: (Ptr RawTH1F) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinError3"+               c_th1f_getbinerror3 ::+               Ptr RawTH1F -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetBinLowEdge" c_th1f_getbinlowedge -  :: (Ptr RawTH1F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinLowEdge"+               c_th1f_getbinlowedge :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetBinWidth" c_th1f_getbinwidth -  :: (Ptr RawTH1F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetBinWidth"+               c_th1f_getbinwidth :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetCellContent" c_th1f_getcellcontent -  :: (Ptr RawTH1F) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetCellContent"+               c_th1f_getcellcontent :: Ptr RawTH1F -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetCellError" c_th1f_getcellerror -  :: (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 "HROOTHistTH1F.h TH1F_GetEntries" c_th1f_getentries -  :: (Ptr RawTH1F) -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetEntries"+               c_th1f_getentries :: Ptr RawTH1F -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetEffectiveEntries" c_th1f_geteffectiveentries -  :: (Ptr RawTH1F) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH1F.h TH1F_GetEffectiveEntries"+               c_th1f_geteffectiveentries :: Ptr RawTH1F -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetFunction" c_th1f_getfunction -  :: (Ptr RawTH1F) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetFunction"+               c_th1f_getfunction :: Ptr RawTH1F -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH1F.h TH1F_GetDimension" c_th1f_getdimension -  :: (Ptr RawTH1F) -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetDimension"+               c_th1f_getdimension :: Ptr RawTH1F -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_GetKurtosis" c_th1f_getkurtosis -  :: (Ptr RawTH1F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetKurtosis"+               c_th1f_getkurtosis :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetLowEdge" c_th1f_getlowedge -  :: (Ptr RawTH1F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetLowEdge"+               c_th1f_getlowedge :: Ptr RawTH1F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_getMaximumTH1" c_th1f_getmaximumth1 -  :: (Ptr RawTH1F) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_getMaximumTH1"+               c_th1f_getmaximumth1 :: Ptr RawTH1F -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetMaximumBin" c_th1f_getmaximumbin -  :: (Ptr RawTH1F) -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMaximumBin"+               c_th1f_getmaximumbin :: Ptr RawTH1F -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_GetMaximumStored" c_th1f_getmaximumstored -  :: (Ptr RawTH1F) -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMaximumStored"+               c_th1f_getmaximumstored :: Ptr RawTH1F -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_getMinimumTH1" c_th1f_getminimumth1 -  :: (Ptr RawTH1F) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_getMinimumTH1"+               c_th1f_getminimumth1 :: Ptr RawTH1F -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetMinimumBin" c_th1f_getminimumbin -  :: (Ptr RawTH1F) -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMinimumBin"+               c_th1f_getminimumbin :: Ptr RawTH1F -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_GetMinimumStored" c_th1f_getminimumstored -  :: (Ptr RawTH1F) -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMinimumStored"+               c_th1f_getminimumstored :: Ptr RawTH1F -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetMean" c_th1f_getmean -  :: (Ptr RawTH1F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMean"+               c_th1f_getmean :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetMeanError" c_th1f_getmeanerror -  :: (Ptr RawTH1F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMeanError"+               c_th1f_getmeanerror :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetNbinsX" c_th1f_getnbinsx -  :: (Ptr RawTH1F) -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetNbinsX"+               c_th1f_getnbinsx :: Ptr RawTH1F -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetNbinsY" c_th1f_getnbinsy -  :: (Ptr RawTH1F) -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetNbinsY"+               c_th1f_getnbinsy :: Ptr RawTH1F -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetNbinsZ" c_th1f_getnbinsz -  :: (Ptr RawTH1F) -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetNbinsZ"+               c_th1f_getnbinsz :: Ptr RawTH1F -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_getQuantilesTH1" c_th1f_getquantilesth1 -  :: (Ptr RawTH1F) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_getQuantilesTH1"+               c_th1f_getquantilesth1 ::+               Ptr RawTH1F -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_GetRandom" c_th1f_getrandom -  :: (Ptr RawTH1F) -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetRandom"+               c_th1f_getrandom :: Ptr RawTH1F -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetStats" c_th1f_getstats -  :: (Ptr RawTH1F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetStats"+               c_th1f_getstats :: Ptr RawTH1F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_GetSumOfWeights" c_th1f_getsumofweights -  :: (Ptr RawTH1F) -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetSumOfWeights"+               c_th1f_getsumofweights :: Ptr RawTH1F -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetSumw2" c_th1f_getsumw2 -  :: (Ptr RawTH1F) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetSumw2"+               c_th1f_getsumw2 :: Ptr RawTH1F -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH1F.h TH1F_GetSumw2N" c_th1f_getsumw2n -  :: (Ptr RawTH1F) -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetSumw2N"+               c_th1f_getsumw2n :: Ptr RawTH1F -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_GetRMS" c_th1f_getrms -  :: (Ptr RawTH1F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetRMS"+               c_th1f_getrms :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetRMSError" c_th1f_getrmserror -  :: (Ptr RawTH1F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetRMSError"+               c_th1f_getrmserror :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_GetSkewness" c_th1f_getskewness -  :: (Ptr RawTH1F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetSkewness"+               c_th1f_getskewness :: Ptr RawTH1F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_integral1" c_th1f_integral1 -  :: (Ptr RawTH1F) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_integral1"+               c_th1f_integral1 ::+               Ptr RawTH1F -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_interpolate1" c_th1f_interpolate1 -  :: (Ptr RawTH1F) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_interpolate1"+               c_th1f_interpolate1 :: Ptr RawTH1F -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_interpolate2" c_th1f_interpolate2 -  :: (Ptr RawTH1F) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_interpolate2"+               c_th1f_interpolate2 ::+               Ptr RawTH1F -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_interpolate3" c_th1f_interpolate3 -  :: (Ptr RawTH1F) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_interpolate3"+               c_th1f_interpolate3 ::+               Ptr RawTH1F -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_KolmogorovTest" c_th1f_kolmogorovtest -  :: (Ptr RawTH1F) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_KolmogorovTest"+               c_th1f_kolmogorovtest ::+               Ptr RawTH1F -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_LabelsDeflate" c_th1f_labelsdeflate -  :: (Ptr RawTH1F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_LabelsDeflate"+               c_th1f_labelsdeflate :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_LabelsInflate" c_th1f_labelsinflate -  :: (Ptr RawTH1F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_LabelsInflate"+               c_th1f_labelsinflate :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_LabelsOption" c_th1f_labelsoption -  :: (Ptr RawTH1F) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_LabelsOption"+               c_th1f_labelsoption :: Ptr RawTH1F -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_multiflyF" c_th1f_multiflyf -  :: (Ptr RawTH1F) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_multiflyF"+               c_th1f_multiflyf :: Ptr RawTH1F -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_Multiply" c_th1f_multiply -  :: (Ptr RawTH1F) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_Multiply"+               c_th1f_multiply ::+               Ptr RawTH1F ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_PutStats" c_th1f_putstats -  :: (Ptr RawTH1F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_PutStats"+               c_th1f_putstats :: Ptr RawTH1F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_Rebin" c_th1f_rebin -  :: (Ptr RawTH1F) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1F.h TH1F_Rebin" c_th1f_rebin+               ::+               Ptr RawTH1F -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1F.h TH1F_RebinAxis" c_th1f_rebinaxis -  :: (Ptr RawTH1F) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_RebinAxis"+               c_th1f_rebinaxis :: Ptr RawTH1F -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_Rebuild" c_th1f_rebuild -  :: (Ptr RawTH1F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_Rebuild"+               c_th1f_rebuild :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_RecursiveRemove" c_th1f_recursiveremove -  :: (Ptr RawTH1F) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_RecursiveRemove"+               c_th1f_recursiveremove :: Ptr RawTH1F -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_Reset" c_th1f_reset -  :: (Ptr RawTH1F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_Reset" c_th1f_reset+               :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_ResetStats" c_th1f_resetstats -  :: (Ptr RawTH1F) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_ResetStats"+               c_th1f_resetstats :: Ptr RawTH1F -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_Scale" c_th1f_scale -  :: (Ptr RawTH1F) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_Scale" c_th1f_scale+               :: Ptr RawTH1F -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setAxisColorA" c_th1f_setaxiscolora -  :: (Ptr RawTH1F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setAxisColorA"+               c_th1f_setaxiscolora :: Ptr RawTH1F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetAxisRange" c_th1f_setaxisrange -  :: (Ptr RawTH1F) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetAxisRange"+               c_th1f_setaxisrange ::+               Ptr RawTH1F -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetBarOffset" c_th1f_setbaroffset -  :: (Ptr RawTH1F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetBarOffset"+               c_th1f_setbaroffset :: Ptr RawTH1F -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetBarWidth" c_th1f_setbarwidth -  :: (Ptr RawTH1F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetBarWidth"+               c_th1f_setbarwidth :: Ptr RawTH1F -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setBinContent1" c_th1f_setbincontent1 -  :: (Ptr RawTH1F) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setBinContent1"+               c_th1f_setbincontent1 :: Ptr RawTH1F -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setBinContent2" c_th1f_setbincontent2 -  :: (Ptr RawTH1F) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setBinContent2"+               c_th1f_setbincontent2 ::+               Ptr RawTH1F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setBinContent3" c_th1f_setbincontent3 -  :: (Ptr RawTH1F) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setBinContent3"+               c_th1f_setbincontent3 ::+               Ptr RawTH1F -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setBinError1" c_th1f_setbinerror1 -  :: (Ptr RawTH1F) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setBinError1"+               c_th1f_setbinerror1 :: Ptr RawTH1F -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setBinError2" c_th1f_setbinerror2 -  :: (Ptr RawTH1F) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setBinError2"+               c_th1f_setbinerror2 ::+               Ptr RawTH1F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setBinError3" c_th1f_setbinerror3 -  :: (Ptr RawTH1F) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setBinError3"+               c_th1f_setbinerror3 ::+               Ptr RawTH1F -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setBins1" c_th1f_setbins1 -  :: (Ptr RawTH1F) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setBins1"+               c_th1f_setbins1 :: Ptr RawTH1F -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setBins2" c_th1f_setbins2 -  :: (Ptr RawTH1F) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setBins2"+               c_th1f_setbins2 ::+               Ptr RawTH1F ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setBins3" c_th1f_setbins3 -  :: (Ptr RawTH1F) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setBins3"+               c_th1f_setbins3 ::+               Ptr RawTH1F ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetBinsLength" c_th1f_setbinslength -  :: (Ptr RawTH1F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetBinsLength"+               c_th1f_setbinslength :: Ptr RawTH1F -> CInt -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetBuffer" c_th1f_setbuffer -  :: (Ptr RawTH1F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetBuffer"+               c_th1f_setbuffer :: Ptr RawTH1F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetCellContent" c_th1f_setcellcontent -  :: (Ptr RawTH1F) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetCellContent"+               c_th1f_setcellcontent ::+               Ptr RawTH1F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetContent" c_th1f_setcontent -  :: (Ptr RawTH1F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetContent"+               c_th1f_setcontent :: Ptr RawTH1F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetContour" c_th1f_setcontour -  :: (Ptr RawTH1F) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetContour"+               c_th1f_setcontour :: Ptr RawTH1F -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetContourLevel" c_th1f_setcontourlevel -  :: (Ptr RawTH1F) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetContourLevel"+               c_th1f_setcontourlevel :: Ptr RawTH1F -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetDirectory" c_th1f_setdirectory -  :: (Ptr RawTH1F) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetDirectory"+               c_th1f_setdirectory :: Ptr RawTH1F -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetEntries" c_th1f_setentries -  :: (Ptr RawTH1F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetEntries"+               c_th1f_setentries :: Ptr RawTH1F -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetError" c_th1f_seterror -  :: (Ptr RawTH1F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetError"+               c_th1f_seterror :: Ptr RawTH1F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setLabelColorA" c_th1f_setlabelcolora -  :: (Ptr RawTH1F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setLabelColorA"+               c_th1f_setlabelcolora :: Ptr RawTH1F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setLabelSizeA" c_th1f_setlabelsizea -  :: (Ptr RawTH1F) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setLabelSizeA"+               c_th1f_setlabelsizea :: Ptr RawTH1F -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setLabelFontA" c_th1f_setlabelfonta -  :: (Ptr RawTH1F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setLabelFontA"+               c_th1f_setlabelfonta :: Ptr RawTH1F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_setLabelOffsetA" c_th1f_setlabeloffseta -  :: (Ptr RawTH1F) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_setLabelOffsetA"+               c_th1f_setlabeloffseta ::+               Ptr RawTH1F -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetMaximum" c_th1f_setmaximum -  :: (Ptr RawTH1F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetMaximum"+               c_th1f_setmaximum :: Ptr RawTH1F -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetMinimum" c_th1f_setminimum -  :: (Ptr RawTH1F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetMinimum"+               c_th1f_setminimum :: Ptr RawTH1F -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetNormFactor" c_th1f_setnormfactor -  :: (Ptr RawTH1F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetNormFactor"+               c_th1f_setnormfactor :: Ptr RawTH1F -> CDouble -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetStats" c_th1f_setstats -  :: (Ptr RawTH1F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetStats"+               c_th1f_setstats :: Ptr RawTH1F -> CInt -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetOption" c_th1f_setoption -  :: (Ptr RawTH1F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetOption"+               c_th1f_setoption :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetXTitle" c_th1f_setxtitle -  :: (Ptr RawTH1F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetXTitle"+               c_th1f_setxtitle :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetYTitle" c_th1f_setytitle -  :: (Ptr RawTH1F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetYTitle"+               c_th1f_setytitle :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetZTitle" c_th1f_setztitle -  :: (Ptr RawTH1F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetZTitle"+               c_th1f_setztitle :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_ShowBackground" c_th1f_showbackground -  :: (Ptr RawTH1F) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1F.h TH1F_ShowBackground"+               c_th1f_showbackground ::+               Ptr RawTH1F -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1F.h TH1F_ShowPeaks" c_th1f_showpeaks -  :: (Ptr RawTH1F) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_ShowPeaks"+               c_th1f_showpeaks ::+               Ptr RawTH1F -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_Smooth" c_th1f_smooth -  :: (Ptr RawTH1F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_Smooth"+               c_th1f_smooth :: Ptr RawTH1F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_Sumw2" c_th1f_sumw2 -  :: (Ptr RawTH1F) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_Sumw2" c_th1f_sumw2+               :: Ptr RawTH1F -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_Draw" c_th1f_draw -  :: (Ptr RawTH1F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetName"+               c_th1f_setname :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_FindObject" c_th1f_findobject -  :: (Ptr RawTH1F) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetNameTitle"+               c_th1f_setnametitle :: Ptr RawTH1F -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_GetName" c_th1f_getname -  :: (Ptr RawTH1F) -> IO CString+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetTitle"+               c_th1f_settitle :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_IsA" c_th1f_isa -  :: (Ptr RawTH1F) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetLineColor"+               c_th1f_getlinecolor :: Ptr RawTH1F -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_Paint" c_th1f_paint -  :: (Ptr RawTH1F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetLineStyle"+               c_th1f_getlinestyle :: Ptr RawTH1F -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_printObj" c_th1f_printobj -  :: (Ptr RawTH1F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetLineWidth"+               c_th1f_getlinewidth :: Ptr RawTH1F -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_SaveAs" c_th1f_saveas -  :: (Ptr RawTH1F) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_ResetAttLine"+               c_th1f_resetattline :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_Write" c_th1f_write -  :: (Ptr RawTH1F) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetLineAttributes"+               c_th1f_setlineattributes :: Ptr RawTH1F -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_GetLineColor" c_th1f_getlinecolor -  :: (Ptr RawTH1F) -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetLineColor"+               c_th1f_setlinecolor :: Ptr RawTH1F -> CInt -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_GetLineStyle" c_th1f_getlinestyle -  :: (Ptr RawTH1F) -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetLineStyle"+               c_th1f_setlinestyle :: Ptr RawTH1F -> CInt -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_GetLineWidth" c_th1f_getlinewidth -  :: (Ptr RawTH1F) -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetLineWidth"+               c_th1f_setlinewidth :: Ptr RawTH1F -> CInt -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_ResetAttLine" c_th1f_resetattline -  :: (Ptr RawTH1F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetFillColor"+               c_th1f_setfillcolor :: Ptr RawTH1F -> CInt -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetLineAttributes" c_th1f_setlineattributes -  :: (Ptr RawTH1F) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetFillStyle"+               c_th1f_setfillstyle :: Ptr RawTH1F -> CInt -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetLineColor" c_th1f_setlinecolor -  :: (Ptr RawTH1F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMarkerColor"+               c_th1f_getmarkercolor :: Ptr RawTH1F -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_SetLineStyle" c_th1f_setlinestyle -  :: (Ptr RawTH1F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMarkerStyle"+               c_th1f_getmarkerstyle :: Ptr RawTH1F -> IO CInt -foreign import ccall "HROOTHistTH1F.h TH1F_SetLineWidth" c_th1f_setlinewidth -  :: (Ptr RawTH1F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetMarkerSize"+               c_th1f_getmarkersize :: Ptr RawTH1F -> IO CDouble -foreign import ccall "HROOTHistTH1F.h TH1F_SetFillColor" c_th1f_setfillcolor -  :: (Ptr RawTH1F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_ResetAttMarker"+               c_th1f_resetattmarker :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetFillStyle" c_th1f_setfillstyle -  :: (Ptr RawTH1F) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH1F.h TH1F_SetMarkerAttributes"+               c_th1f_setmarkerattributes :: Ptr RawTH1F -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_GetMarkerColor" c_th1f_getmarkercolor -  :: (Ptr RawTH1F) -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetMarkerColor"+               c_th1f_setmarkercolor :: Ptr RawTH1F -> CInt -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_GetMarkerStyle" c_th1f_getmarkerstyle -  :: (Ptr RawTH1F) -> IO CInt+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetMarkerStyle"+               c_th1f_setmarkerstyle :: Ptr RawTH1F -> CInt -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_GetMarkerSize" c_th1f_getmarkersize -  :: (Ptr RawTH1F) -> IO CDouble+foreign import ccall safe "HROOTHistTH1F.h TH1F_SetMarkerSize"+               c_th1f_setmarkersize :: Ptr RawTH1F -> CInt -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_ResetAttMarker" c_th1f_resetattmarker -  :: (Ptr RawTH1F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_Draw" c_th1f_draw+               :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_SetMarkerAttributes" c_th1f_setmarkerattributes -  :: (Ptr RawTH1F) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_FindObject"+               c_th1f_findobject :: Ptr RawTH1F -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH1F.h TH1F_SetMarkerColor" c_th1f_setmarkercolor -  :: (Ptr RawTH1F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_GetName"+               c_th1f_getname :: Ptr RawTH1F -> IO CString -foreign import ccall "HROOTHistTH1F.h TH1F_SetMarkerStyle" c_th1f_setmarkerstyle -  :: (Ptr RawTH1F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_IsA" c_th1f_isa ::+               Ptr RawTH1F -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH1F.h TH1F_SetMarkerSize" c_th1f_setmarkersize -  :: (Ptr RawTH1F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_Paint" c_th1f_paint+               :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_delete" c_th1f_delete -  :: (Ptr RawTH1F) -> IO ()+foreign import ccall safe "HROOTHistTH1F.h TH1F_printObj"+               c_th1f_printobj :: Ptr RawTH1F -> CString -> IO () -foreign import ccall "HROOTHistTH1F.h TH1F_newTH1F" c_th1f_newth1f -  :: CString -> CString -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH1F)+foreign import ccall safe "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 safe "HROOTHistTH1F.h TH1F_delete"+               c_th1f_delete :: Ptr RawTH1F -> IO ()++foreign import ccall safe "HROOTHistTH1F.h TH1F_newTH1F"+               c_th1f_newth1f ::+               CString ->+                 CString -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH1F)
src/HROOT/Hist/TH1F/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1F.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH1F.RawType import HROOT.Hist.TH1F.FFI import HROOT.Hist.TH1F.Interface@@ -32,9 +33,9 @@ import HROOT.Core.TArrayF.RawType import HROOT.Core.TArrayF.Cast import HROOT.Core.TArrayF.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -44,6 +45,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -51,360 +55,188 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH1F TH1F -instance ITH1F 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-  drawNormalized = xform2 c_th1f_drawnormalized-  drawPanelTH1 = xform0 c_th1f_drawpanelth1-  bufferEmpty = xform1 c_th1f_bufferempty-  evalF = xform2 c_th1f_evalf-  fFT = xform2 c_th1f_fft-  fill1 = xform1 c_th1f_fill1-  fill1w = xform2 c_th1f_fill1w-  fillN1 = xform4 c_th1f_filln1-  fillRandom = xform2 c_th1f_fillrandom-  findBin = xform3 c_th1f_findbin-  findFixBin = xform3 c_th1f_findfixbin-  findFirstBinAbove = xform2 c_th1f_findfirstbinabove-  findLastBinAbove = xform2 c_th1f_findlastbinabove-  fitPanelTH1 = xform0 c_th1f_fitpanelth1-  getNdivisionA = xform1 c_th1f_getndivisiona-  getAxisColorA = xform1 c_th1f_getaxiscolora-  getLabelColorA = xform1 c_th1f_getlabelcolora-  getLabelFontA = xform1 c_th1f_getlabelfonta-  getLabelOffsetA = xform1 c_th1f_getlabeloffseta-  getLabelSizeA = xform1 c_th1f_getlabelsizea-  getTitleFontA = xform1 c_th1f_gettitlefonta-  getTitleOffsetA = xform1 c_th1f_gettitleoffseta-  getTitleSizeA = xform1 c_th1f_gettitlesizea-  getTickLengthA = xform1 c_th1f_getticklengtha-  getBarOffset = xform0 c_th1f_getbaroffset-  getBarWidth = xform0 c_th1f_getbarwidth-  getContour = xform1 c_th1f_getcontour-  getContourLevel = xform1 c_th1f_getcontourlevel-  getContourLevelPad = xform1 c_th1f_getcontourlevelpad-  getBin = xform3 c_th1f_getbin-  getBinCenter = xform1 c_th1f_getbincenter-  getBinContent1 = xform1 c_th1f_getbincontent1-  getBinContent2 = xform2 c_th1f_getbincontent2-  getBinContent3 = xform3 c_th1f_getbincontent3-  getBinError1 = xform1 c_th1f_getbinerror1-  getBinError2 = xform2 c_th1f_getbinerror2-  getBinError3 = xform3 c_th1f_getbinerror3-  getBinLowEdge = xform1 c_th1f_getbinlowedge-  getBinWidth = xform1 c_th1f_getbinwidth-  getCellContent = xform2 c_th1f_getcellcontent-  getCellError = xform2 c_th1f_getcellerror-  getEntries = xform0 c_th1f_getentries-  getEffectiveEntries = xform0 c_th1f_geteffectiveentries-  getFunction = xform1 c_th1f_getfunction-  getDimension = xform0 c_th1f_getdimension-  getKurtosis = xform1 c_th1f_getkurtosis-  getLowEdge = xform1 c_th1f_getlowedge-  getMaximumTH1 = xform1 c_th1f_getmaximumth1-  getMaximumBin = xform0 c_th1f_getmaximumbin-  getMaximumStored = xform0 c_th1f_getmaximumstored-  getMinimumTH1 = xform1 c_th1f_getminimumth1-  getMinimumBin = xform0 c_th1f_getminimumbin-  getMinimumStored = xform0 c_th1f_getminimumstored-  getMean = xform1 c_th1f_getmean-  getMeanError = xform1 c_th1f_getmeanerror-  getNbinsX = xform0 c_th1f_getnbinsx-  getNbinsY = xform0 c_th1f_getnbinsy-  getNbinsZ = xform0 c_th1f_getnbinsz-  getQuantilesTH1 = xform3 c_th1f_getquantilesth1-  getRandom = xform0 c_th1f_getrandom-  getStats = xform1 c_th1f_getstats-  getSumOfWeights = xform0 c_th1f_getsumofweights-  getSumw2 = xform0 c_th1f_getsumw2-  getSumw2N = xform0 c_th1f_getsumw2n-  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-  labelsInflate = xform1 c_th1f_labelsinflate-  labelsOption = xform2 c_th1f_labelsoption-  multiflyF = xform2 c_th1f_multiflyf-  multiply = xform5 c_th1f_multiply-  putStats = xform1 c_th1f_putstats-  rebin = xform3 c_th1f_rebin-  rebinAxis = xform2 c_th1f_rebinaxis-  rebuild = xform1 c_th1f_rebuild-  recursiveRemove = xform1 c_th1f_recursiveremove-  reset = xform1 c_th1f_reset-  resetStats = xform0 c_th1f_resetstats-  scale = xform2 c_th1f_scale-  setAxisColorA = xform2 c_th1f_setaxiscolora-  setAxisRange = xform3 c_th1f_setaxisrange-  setBarOffset = xform1 c_th1f_setbaroffset-  setBarWidth = xform1 c_th1f_setbarwidth-  setBinContent1 = xform2 c_th1f_setbincontent1-  setBinContent2 = xform3 c_th1f_setbincontent2-  setBinContent3 = xform4 c_th1f_setbincontent3-  setBinError1 = xform2 c_th1f_setbinerror1-  setBinError2 = xform3 c_th1f_setbinerror2-  setBinError3 = xform4 c_th1f_setbinerror3-  setBins1 = xform2 c_th1f_setbins1-  setBins2 = xform4 c_th1f_setbins2-  setBins3 = xform6 c_th1f_setbins3-  setBinsLength = xform1 c_th1f_setbinslength-  setBuffer = xform2 c_th1f_setbuffer-  setCellContent = xform3 c_th1f_setcellcontent-  setContent = xform1 c_th1f_setcontent-  setContour = xform2 c_th1f_setcontour-  setContourLevel = xform2 c_th1f_setcontourlevel-  setDirectory = xform1 c_th1f_setdirectory-  setEntries = xform1 c_th1f_setentries-  setError = xform1 c_th1f_seterror-  setLabelColorA = xform2 c_th1f_setlabelcolora-  setLabelSizeA = xform2 c_th1f_setlabelsizea-  setLabelFontA = xform2 c_th1f_setlabelfonta-  setLabelOffsetA = xform2 c_th1f_setlabeloffseta-  setMaximum = xform1 c_th1f_setmaximum-  setMinimum = xform1 c_th1f_setminimum-  setNormFactor = xform1 c_th1f_setnormfactor-  setStats = xform1 c_th1f_setstats-  setOption = xform1 c_th1f_setoption-  setXTitle = xform1 c_th1f_setxtitle-  setYTitle = xform1 c_th1f_setytitle-  setZTitle = xform1 c_th1f_setztitle-  showBackground = xform2 c_th1f_showbackground-  showPeaks = xform3 c_th1f_showpeaks-  smooth = xform2 c_th1f_smooth-  sumw2 = xform0 c_th1f_sumw2-instance ITArrayF TH1F where-instance ITObject TH1F where-  draw = xform1 c_th1f_draw-  findObject = xform1 c_th1f_findobject-  getName = xform0 c_th1f_getname-  isA = xform0 c_th1f_isa-  paint = xform1 c_th1f_paint-  printObj = xform1 c_th1f_printobj-  saveAs = xform2 c_th1f_saveas-  write = xform3 c_th1f_write-instance ITAttLine TH1F where-  getLineColor = xform0 c_th1f_getlinecolor-  getLineStyle = xform0 c_th1f_getlinestyle-  getLineWidth = xform0 c_th1f_getlinewidth-  resetAttLine = xform1 c_th1f_resetattline-  setLineAttributes = xform0 c_th1f_setlineattributes-  setLineColor = xform1 c_th1f_setlinecolor-  setLineStyle = xform1 c_th1f_setlinestyle-  setLineWidth = xform1 c_th1f_setlinewidth-instance ITAttFill TH1F where-  setFillColor = xform1 c_th1f_setfillcolor-  setFillStyle = xform1 c_th1f_setfillstyle-instance ITAttMarker TH1F where-  getMarkerColor = xform0 c_th1f_getmarkercolor-  getMarkerStyle = xform0 c_th1f_getmarkerstyle-  getMarkerSize = xform0 c_th1f_getmarkersize-  resetAttMarker = xform1 c_th1f_resetattmarker-  setMarkerAttributes = xform0 c_th1f_setmarkerattributes-  setMarkerColor = xform1 c_th1f_setmarkercolor-  setMarkerStyle = xform1 c_th1f_setmarkerstyle-  setMarkerSize = xform1 c_th1f_setmarkersize-instance IDeletable TH1F where-  delete = xform0 c_th1f_delete-instance ITArray TH1F where--instance ITH1F (Exist TH1F) where--instance ITH1 (Exist TH1F) where-  add (ETH1F x) = add x-  addBinContent (ETH1F x) = addBinContent x-  chi2Test (ETH1F x) = chi2Test x-  computeIntegral (ETH1F x) = computeIntegral x-  directoryAutoAdd (ETH1F x) = directoryAutoAdd x-  divide (ETH1F x) = divide x-  drawCopyTH1 (ETH1F x) a1 = return . ETH1F =<< drawCopyTH1 x a1-  drawNormalized (ETH1F x) = drawNormalized x-  drawPanelTH1 (ETH1F x) = drawPanelTH1 x-  bufferEmpty (ETH1F x) = bufferEmpty x-  evalF (ETH1F x) = evalF x-  fFT (ETH1F x) = fFT x-  fill1 (ETH1F x) = fill1 x-  fill1w (ETH1F x) = fill1w x-  fillN1 (ETH1F x) = fillN1 x-  fillRandom (ETH1F x) = fillRandom x-  findBin (ETH1F x) = findBin x-  findFixBin (ETH1F x) = findFixBin x-  findFirstBinAbove (ETH1F x) = findFirstBinAbove x-  findLastBinAbove (ETH1F x) = findLastBinAbove x-  fitPanelTH1 (ETH1F x) = fitPanelTH1 x-  getNdivisionA (ETH1F x) = getNdivisionA x-  getAxisColorA (ETH1F x) = getAxisColorA x-  getLabelColorA (ETH1F x) = getLabelColorA x-  getLabelFontA (ETH1F x) = getLabelFontA x-  getLabelOffsetA (ETH1F x) = getLabelOffsetA x-  getLabelSizeA (ETH1F x) = getLabelSizeA x-  getTitleFontA (ETH1F x) = getTitleFontA x-  getTitleOffsetA (ETH1F x) = getTitleOffsetA x-  getTitleSizeA (ETH1F x) = getTitleSizeA x-  getTickLengthA (ETH1F x) = getTickLengthA x-  getBarOffset (ETH1F x) = getBarOffset x-  getBarWidth (ETH1F x) = getBarWidth x-  getContour (ETH1F x) = getContour x-  getContourLevel (ETH1F x) = getContourLevel x-  getContourLevelPad (ETH1F x) = getContourLevelPad x-  getBin (ETH1F x) = getBin x-  getBinCenter (ETH1F x) = getBinCenter x-  getBinContent1 (ETH1F x) = getBinContent1 x-  getBinContent2 (ETH1F x) = getBinContent2 x-  getBinContent3 (ETH1F x) = getBinContent3 x-  getBinError1 (ETH1F x) = getBinError1 x-  getBinError2 (ETH1F x) = getBinError2 x-  getBinError3 (ETH1F x) = getBinError3 x-  getBinLowEdge (ETH1F x) = getBinLowEdge x-  getBinWidth (ETH1F x) = getBinWidth x-  getCellContent (ETH1F x) = getCellContent x-  getCellError (ETH1F x) = getCellError x-  getEntries (ETH1F x) = getEntries x-  getEffectiveEntries (ETH1F x) = getEffectiveEntries x-  getFunction (ETH1F x) = getFunction x-  getDimension (ETH1F x) = getDimension x-  getKurtosis (ETH1F x) = getKurtosis x-  getLowEdge (ETH1F x) = getLowEdge x-  getMaximumTH1 (ETH1F x) = getMaximumTH1 x-  getMaximumBin (ETH1F x) = getMaximumBin x-  getMaximumStored (ETH1F x) = getMaximumStored x-  getMinimumTH1 (ETH1F x) = getMinimumTH1 x-  getMinimumBin (ETH1F x) = getMinimumBin x-  getMinimumStored (ETH1F x) = getMinimumStored x-  getMean (ETH1F x) = getMean x-  getMeanError (ETH1F x) = getMeanError x-  getNbinsX (ETH1F x) = getNbinsX x-  getNbinsY (ETH1F x) = getNbinsY x-  getNbinsZ (ETH1F x) = getNbinsZ x-  getQuantilesTH1 (ETH1F x) = getQuantilesTH1 x-  getRandom (ETH1F x) = getRandom x-  getStats (ETH1F x) = getStats x-  getSumOfWeights (ETH1F x) = getSumOfWeights x-  getSumw2 (ETH1F x) = getSumw2 x-  getSumw2N (ETH1F x) = getSumw2N x-  getRMS (ETH1F x) = getRMS x-  getRMSError (ETH1F x) = getRMSError x-  getSkewness (ETH1F x) = getSkewness x-  integral1 (ETH1F x) = integral1 x-  interpolate1 (ETH1F x) = interpolate1 x-  interpolate2 (ETH1F x) = interpolate2 x-  interpolate3 (ETH1F x) = interpolate3 x-  kolmogorovTest (ETH1F x) = kolmogorovTest x-  labelsDeflate (ETH1F x) = labelsDeflate x-  labelsInflate (ETH1F x) = labelsInflate x-  labelsOption (ETH1F x) = labelsOption x-  multiflyF (ETH1F x) = multiflyF x-  multiply (ETH1F x) = multiply x-  putStats (ETH1F x) = putStats x-  rebin (ETH1F x) = rebin x-  rebinAxis (ETH1F x) = rebinAxis x-  rebuild (ETH1F x) = rebuild x-  recursiveRemove (ETH1F x) = recursiveRemove x-  reset (ETH1F x) = reset x-  resetStats (ETH1F x) = resetStats x-  scale (ETH1F x) = scale x-  setAxisColorA (ETH1F x) = setAxisColorA x-  setAxisRange (ETH1F x) = setAxisRange x-  setBarOffset (ETH1F x) = setBarOffset x-  setBarWidth (ETH1F x) = setBarWidth x-  setBinContent1 (ETH1F x) = setBinContent1 x-  setBinContent2 (ETH1F x) = setBinContent2 x-  setBinContent3 (ETH1F x) = setBinContent3 x-  setBinError1 (ETH1F x) = setBinError1 x-  setBinError2 (ETH1F x) = setBinError2 x-  setBinError3 (ETH1F x) = setBinError3 x-  setBins1 (ETH1F x) = setBins1 x-  setBins2 (ETH1F x) = setBins2 x-  setBins3 (ETH1F x) = setBins3 x-  setBinsLength (ETH1F x) = setBinsLength x-  setBuffer (ETH1F x) = setBuffer x-  setCellContent (ETH1F x) = setCellContent x-  setContent (ETH1F x) = setContent x-  setContour (ETH1F x) = setContour x-  setContourLevel (ETH1F x) = setContourLevel x-  setDirectory (ETH1F x) = setDirectory x-  setEntries (ETH1F x) = setEntries x-  setError (ETH1F x) = setError x-  setLabelColorA (ETH1F x) = setLabelColorA x-  setLabelSizeA (ETH1F x) = setLabelSizeA x-  setLabelFontA (ETH1F x) = setLabelFontA x-  setLabelOffsetA (ETH1F x) = setLabelOffsetA x-  setMaximum (ETH1F x) = setMaximum x-  setMinimum (ETH1F x) = setMinimum x-  setNormFactor (ETH1F x) = setNormFactor x-  setStats (ETH1F x) = setStats x-  setOption (ETH1F x) = setOption x-  setXTitle (ETH1F x) = setXTitle x-  setYTitle (ETH1F x) = setYTitle x-  setZTitle (ETH1F x) = setZTitle x-  showBackground (ETH1F x) = showBackground x-  showPeaks (ETH1F x) = showPeaks x-  smooth (ETH1F x) = smooth x-  sumw2 (ETH1F x) = sumw2 x-instance ITArrayF (Exist 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+        drawNormalized = xform2 c_th1f_drawnormalized+        drawPanelTH1 = xform0 c_th1f_drawpanelth1+        bufferEmpty = xform1 c_th1f_bufferempty+        evalF = xform2 c_th1f_evalf+        fFT = xform2 c_th1f_fft+        fill1 = xform1 c_th1f_fill1+        fill1w = xform2 c_th1f_fill1w+        fillN1 = xform4 c_th1f_filln1+        fillRandom = xform2 c_th1f_fillrandom+        findBin = xform3 c_th1f_findbin+        findFixBin = xform3 c_th1f_findfixbin+        findFirstBinAbove = xform2 c_th1f_findfirstbinabove+        findLastBinAbove = xform2 c_th1f_findlastbinabove+        fit = xform5 c_th1f_fit+        fitPanelTH1 = xform0 c_th1f_fitpanelth1+        getNdivisionA = xform1 c_th1f_getndivisiona+        getAxisColorA = xform1 c_th1f_getaxiscolora+        getLabelColorA = xform1 c_th1f_getlabelcolora+        getLabelFontA = xform1 c_th1f_getlabelfonta+        getLabelOffsetA = xform1 c_th1f_getlabeloffseta+        getLabelSizeA = xform1 c_th1f_getlabelsizea+        getTitleFontA = xform1 c_th1f_gettitlefonta+        getTitleOffsetA = xform1 c_th1f_gettitleoffseta+        getTitleSizeA = xform1 c_th1f_gettitlesizea+        getTickLengthA = xform1 c_th1f_getticklengtha+        getBarOffset = xform0 c_th1f_getbaroffset+        getBarWidth = xform0 c_th1f_getbarwidth+        getContour = xform1 c_th1f_getcontour+        getContourLevel = xform1 c_th1f_getcontourlevel+        getContourLevelPad = xform1 c_th1f_getcontourlevelpad+        getBin = xform3 c_th1f_getbin+        getBinCenter = xform1 c_th1f_getbincenter+        getBinContent1 = xform1 c_th1f_getbincontent1+        getBinContent2 = xform2 c_th1f_getbincontent2+        getBinContent3 = xform3 c_th1f_getbincontent3+        getBinError1 = xform1 c_th1f_getbinerror1+        getBinError2 = xform2 c_th1f_getbinerror2+        getBinError3 = xform3 c_th1f_getbinerror3+        getBinLowEdge = xform1 c_th1f_getbinlowedge+        getBinWidth = xform1 c_th1f_getbinwidth+        getCellContent = xform2 c_th1f_getcellcontent+        getCellError = xform2 c_th1f_getcellerror+        getEntries = xform0 c_th1f_getentries+        getEffectiveEntries = xform0 c_th1f_geteffectiveentries+        getFunction = xform1 c_th1f_getfunction+        getDimension = xform0 c_th1f_getdimension+        getKurtosis = xform1 c_th1f_getkurtosis+        getLowEdge = xform1 c_th1f_getlowedge+        getMaximumTH1 = xform1 c_th1f_getmaximumth1+        getMaximumBin = xform0 c_th1f_getmaximumbin+        getMaximumStored = xform0 c_th1f_getmaximumstored+        getMinimumTH1 = xform1 c_th1f_getminimumth1+        getMinimumBin = xform0 c_th1f_getminimumbin+        getMinimumStored = xform0 c_th1f_getminimumstored+        getMean = xform1 c_th1f_getmean+        getMeanError = xform1 c_th1f_getmeanerror+        getNbinsX = xform0 c_th1f_getnbinsx+        getNbinsY = xform0 c_th1f_getnbinsy+        getNbinsZ = xform0 c_th1f_getnbinsz+        getQuantilesTH1 = xform3 c_th1f_getquantilesth1+        getRandom = xform0 c_th1f_getrandom+        getStats = xform1 c_th1f_getstats+        getSumOfWeights = xform0 c_th1f_getsumofweights+        getSumw2 = xform0 c_th1f_getsumw2+        getSumw2N = xform0 c_th1f_getsumw2n+        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+        labelsInflate = xform1 c_th1f_labelsinflate+        labelsOption = xform2 c_th1f_labelsoption+        multiflyF = xform2 c_th1f_multiflyf+        multiply = xform5 c_th1f_multiply+        putStats = xform1 c_th1f_putstats+        rebin = xform3 c_th1f_rebin+        rebinAxis = xform2 c_th1f_rebinaxis+        rebuild = xform1 c_th1f_rebuild+        recursiveRemove = xform1 c_th1f_recursiveremove+        reset = xform1 c_th1f_reset+        resetStats = xform0 c_th1f_resetstats+        scale = xform2 c_th1f_scale+        setAxisColorA = xform2 c_th1f_setaxiscolora+        setAxisRange = xform3 c_th1f_setaxisrange+        setBarOffset = xform1 c_th1f_setbaroffset+        setBarWidth = xform1 c_th1f_setbarwidth+        setBinContent1 = xform2 c_th1f_setbincontent1+        setBinContent2 = xform3 c_th1f_setbincontent2+        setBinContent3 = xform4 c_th1f_setbincontent3+        setBinError1 = xform2 c_th1f_setbinerror1+        setBinError2 = xform3 c_th1f_setbinerror2+        setBinError3 = xform4 c_th1f_setbinerror3+        setBins1 = xform2 c_th1f_setbins1+        setBins2 = xform4 c_th1f_setbins2+        setBins3 = xform6 c_th1f_setbins3+        setBinsLength = xform1 c_th1f_setbinslength+        setBuffer = xform2 c_th1f_setbuffer+        setCellContent = xform3 c_th1f_setcellcontent+        setContent = xform1 c_th1f_setcontent+        setContour = xform2 c_th1f_setcontour+        setContourLevel = xform2 c_th1f_setcontourlevel+        setDirectory = xform1 c_th1f_setdirectory+        setEntries = xform1 c_th1f_setentries+        setError = xform1 c_th1f_seterror+        setLabelColorA = xform2 c_th1f_setlabelcolora+        setLabelSizeA = xform2 c_th1f_setlabelsizea+        setLabelFontA = xform2 c_th1f_setlabelfonta+        setLabelOffsetA = xform2 c_th1f_setlabeloffseta+        setMaximum = xform1 c_th1f_setmaximum+        setMinimum = xform1 c_th1f_setminimum+        setNormFactor = xform1 c_th1f_setnormfactor+        setStats = xform1 c_th1f_setstats+        setOption = xform1 c_th1f_setoption+        setXTitle = xform1 c_th1f_setxtitle+        setYTitle = xform1 c_th1f_setytitle+        setZTitle = xform1 c_th1f_setztitle+        showBackground = xform2 c_th1f_showbackground+        showPeaks = xform3 c_th1f_showpeaks+        smooth = xform2 c_th1f_smooth+        sumw2 = xform0 c_th1f_sumw2 -instance ITObject (Exist TH1F) where-  draw (ETH1F x) = draw x-  findObject (ETH1F x) = findObject x-  getName (ETH1F x) = getName x-  isA (ETH1F x) = isA x-  paint (ETH1F x) = paint x-  printObj (ETH1F x) = printObj x-  saveAs (ETH1F x) = saveAs x-  write (ETH1F x) = write x-instance ITAttLine (Exist TH1F) where-  getLineColor (ETH1F x) = getLineColor x-  getLineStyle (ETH1F x) = getLineStyle x-  getLineWidth (ETH1F x) = getLineWidth x-  resetAttLine (ETH1F x) = resetAttLine x-  setLineAttributes (ETH1F x) = setLineAttributes x-  setLineColor (ETH1F x) = setLineColor x-  setLineStyle (ETH1F x) = setLineStyle x-  setLineWidth (ETH1F x) = setLineWidth x-instance ITAttFill (Exist TH1F) where-  setFillColor (ETH1F x) = setFillColor x-  setFillStyle (ETH1F x) = setFillStyle x-instance ITAttMarker (Exist TH1F) where-  getMarkerColor (ETH1F x) = getMarkerColor x-  getMarkerStyle (ETH1F x) = getMarkerStyle x-  getMarkerSize (ETH1F x) = getMarkerSize x-  resetAttMarker (ETH1F x) = resetAttMarker x-  setMarkerAttributes (ETH1F x) = setMarkerAttributes x-  setMarkerColor (ETH1F x) = setMarkerColor x-  setMarkerStyle (ETH1F x) = setMarkerStyle x-  setMarkerSize (ETH1F x) = setMarkerSize x-instance IDeletable (Exist TH1F) where-  delete (ETH1F x) = delete x-instance ITArray (Exist TH1F) where+instance ITArrayF TH1F +instance ITNamed TH1F where+        setName = xform1 c_th1f_setname+        setNameTitle = xform2 c_th1f_setnametitle+        setTitle = xform1 c_th1f_settitle +instance ITAttLine TH1F where+        getLineColor = xform0 c_th1f_getlinecolor+        getLineStyle = xform0 c_th1f_getlinestyle+        getLineWidth = xform0 c_th1f_getlinewidth+        resetAttLine = xform1 c_th1f_resetattline+        setLineAttributes = xform0 c_th1f_setlineattributes+        setLineColor = xform1 c_th1f_setlinecolor+        setLineStyle = xform1 c_th1f_setlinestyle+        setLineWidth = xform1 c_th1f_setlinewidth -newTH1F :: CString -> CString -> CInt -> CDouble -> CDouble -> IO TH1F-newTH1F = xform4 c_th1f_newth1f+instance ITAttFill TH1F where+        setFillColor = xform1 c_th1f_setfillcolor+        setFillStyle = xform1 c_th1f_setfillstyle +instance ITAttMarker TH1F where+        getMarkerColor = xform0 c_th1f_getmarkercolor+        getMarkerStyle = xform0 c_th1f_getmarkerstyle+        getMarkerSize = xform0 c_th1f_getmarkersize+        resetAttMarker = xform1 c_th1f_resetattmarker+        setMarkerAttributes = xform0 c_th1f_setmarkerattributes+        setMarkerColor = xform1 c_th1f_setmarkercolor+        setMarkerStyle = xform1 c_th1f_setmarkerstyle+        setMarkerSize = xform1 c_th1f_setmarkersize +instance ITObject TH1F where+        draw = xform1 c_th1f_draw+        findObject = xform1 c_th1f_findobject+        getName = xform0 c_th1f_getname+        isA = xform0 c_th1f_isa+        paint = xform1 c_th1f_paint+        printObj = xform1 c_th1f_printobj+        saveAs = xform2 c_th1f_saveas+        write = xform3 c_th1f_write +instance IDeletable TH1F where+        delete = xform0 c_th1f_delete +instance ITArray TH1F -instance FPtr (Exist TH1F) where-  type Raw (Exist TH1F) = RawTH1F-  get_fptr (ETH1F obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH1F (cast_fptr_to_obj (fptr :: ForeignPtr RawTH1F) :: TH1F)+newTH1F ::+          (Castable c1 CString, Castable c0 CString) =>+          c0 -> c1 -> CInt -> CDouble -> CDouble -> IO TH1F+newTH1F = xform4 c_th1f_newth1f
src/HROOT/Hist/TH1F/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1F.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH1F.RawType- import HROOT.Hist.TH1.Interface import HROOT.Core.TArrayF.Interface----- ============ ---- ---class (ITH1 a,ITArrayF a) => ITH1F a where--instance Existable TH1F where-  data Exist TH1F = forall a. (FPtr a, ITH1F a) => ETH1F a+class (ITH1 a, ITArrayF a) => ITH1F a -upcastTH1F :: (FPtr a, ITH1F a) => a -> TH1F-upcastTH1F h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH1F = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH1F :: forall a . (FPtr a, ITH1F a) => a -> TH1F+upcastTH1F h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH1F = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH1F :: (FPtr a, ITH1F a) => TH1F -> a -downcastTH1F h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH1F :: forall a . (FPtr a, ITH1F a) => TH1F -> a+downcastTH1F h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH1F/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH1F.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH1F -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH1F = TH1F (Ptr RawTH1F)+             deriving (Eq, Ord, Show) -data RawTH1F-newtype TH1F = TH1F (ForeignPtr RawTH1F) deriving (Eq, Ord, Show) instance FPtr TH1F where-   type Raw TH1F = RawTH1F-   get_fptr (TH1F fptr) = fptr-   cast_fptr_to_obj = TH1F+        type Raw TH1F = RawTH1F+        get_fptr (TH1F ptr) = ptr+        cast_fptr_to_obj = TH1F
src/HROOT/Hist/TH1I.hs view
@@ -1,15 +1,5 @@-module HROOT.Hist.TH1I-  (-    TH1I(..)-  , ITH1I-  , upcastTH1I-  , downcastTH1I-- -  ) where-+module HROOT.Hist.TH1I (TH1I(..), ITH1I, upcastTH1I, downcastTH1I)+       where import HROOT.Hist.TH1I.RawType import HROOT.Hist.TH1I.Interface import HROOT.Hist.TH1I.Implementation--
src/HROOT/Hist/TH1I/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH1I.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH1I.RawType import HROOT.Hist.TH1I.Interface  instance (ITH1I a, FPtr a) => Castable a (Ptr RawTH1I) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH1I (Ptr RawTH1I) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH1I.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH1I.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType@@ -21,476 +11,524 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH1I.h"+foreign import ccall safe "HROOTHistTH1I.h TH1I_Add" c_th1i_add ::+               Ptr RawTH1I -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "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 "HROOTHistTH1I.h TH1I_AddBinContent" c_th1i_addbincontent -  :: (Ptr RawTH1I) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_Chi2Test"+               c_th1i_chi2test ::+               Ptr RawTH1I -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH1I.h TH1I_ComputeIntegral" c_th1i_computeintegral -  :: (Ptr RawTH1I) -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_DirectoryAutoAdd"+               c_th1i_directoryautoadd ::+               Ptr RawTH1I -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_DirectoryAutoAdd" c_th1i_directoryautoadd -  :: (Ptr RawTH1I) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_Divide"+               c_th1i_divide ::+               Ptr RawTH1I ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH1I.h TH1I_drawCopyTH1" c_th1i_drawcopyth1 -  :: (Ptr RawTH1I) -> CString -> IO (Ptr RawTH1I)+foreign import ccall safe "HROOTHistTH1I.h TH1I_DrawNormalized"+               c_th1i_drawnormalized ::+               Ptr RawTH1I -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH1I.h TH1I_evalF" c_th1i_evalf -  :: (Ptr RawTH1I) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_FFT" c_th1i_fft ::+               Ptr RawTH1I -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH1I.h TH1I_fill1" c_th1i_fill1 -  :: (Ptr RawTH1I) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_fill1w"+               c_th1i_fill1w :: Ptr RawTH1I -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_fill1w" c_th1i_fill1w -  :: (Ptr RawTH1I) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_fillN1"+               c_th1i_filln1 ::+               Ptr RawTH1I ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_fillN1" c_th1i_filln1 -  :: (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 "HROOTHistTH1I.h TH1I_FillRandom" c_th1i_fillrandom -  :: (Ptr RawTH1I) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_FindBin"+               c_th1i_findbin ::+               Ptr RawTH1I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH1I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH1I.h TH1I_FindFirstBinAbove" c_th1i_findfirstbinabove -  :: (Ptr RawTH1I) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_FindLastBinAbove"+               c_th1i_findlastbinabove ::+               Ptr RawTH1I -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_FindLastBinAbove" c_th1i_findlastbinabove -  :: (Ptr RawTH1I) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_Fit" c_th1i_fit ::+               Ptr RawTH1I ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_FitPanelTH1" c_th1i_fitpanelth1 -  :: (Ptr RawTH1I) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_FitPanelTH1"+               c_th1i_fitpanelth1 :: Ptr RawTH1I -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_getNdivisionA" c_th1i_getndivisiona -  :: (Ptr RawTH1I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_getNdivisionA"+               c_th1i_getndivisiona :: Ptr RawTH1I -> CString -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_getAxisColorA" c_th1i_getaxiscolora -  :: (Ptr RawTH1I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_getAxisColorA"+               c_th1i_getaxiscolora :: Ptr RawTH1I -> CString -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_getLabelColorA" c_th1i_getlabelcolora -  :: (Ptr RawTH1I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_getLabelColorA"+               c_th1i_getlabelcolora :: Ptr RawTH1I -> CString -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_getLabelFontA" c_th1i_getlabelfonta -  :: (Ptr RawTH1I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_getLabelFontA"+               c_th1i_getlabelfonta :: Ptr RawTH1I -> CString -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_getLabelOffsetA" c_th1i_getlabeloffseta -  :: (Ptr RawTH1I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_getLabelOffsetA"+               c_th1i_getlabeloffseta :: Ptr RawTH1I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_getLabelSizeA" c_th1i_getlabelsizea -  :: (Ptr RawTH1I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_getLabelSizeA"+               c_th1i_getlabelsizea :: Ptr RawTH1I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_getTitleFontA" c_th1i_gettitlefonta -  :: (Ptr RawTH1I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_getTitleFontA"+               c_th1i_gettitlefonta :: Ptr RawTH1I -> CString -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_getTitleOffsetA" c_th1i_gettitleoffseta -  :: (Ptr RawTH1I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_getTitleOffsetA"+               c_th1i_gettitleoffseta :: Ptr RawTH1I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_getTitleSizeA" c_th1i_gettitlesizea -  :: (Ptr RawTH1I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_getTitleSizeA"+               c_th1i_gettitlesizea :: Ptr RawTH1I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_getTickLengthA" c_th1i_getticklengtha -  :: (Ptr RawTH1I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_getTickLengthA"+               c_th1i_getticklengtha :: Ptr RawTH1I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetBarOffset" c_th1i_getbaroffset -  :: (Ptr RawTH1I) -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBarOffset"+               c_th1i_getbaroffset :: Ptr RawTH1I -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetBarWidth" c_th1i_getbarwidth -  :: (Ptr RawTH1I) -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBarWidth"+               c_th1i_getbarwidth :: Ptr RawTH1I -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetContour" c_th1i_getcontour -  :: (Ptr RawTH1I) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetContour"+               c_th1i_getcontour :: Ptr RawTH1I -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_GetContourLevel" c_th1i_getcontourlevel -  :: (Ptr RawTH1I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetContourLevel"+               c_th1i_getcontourlevel :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetContourLevelPad" c_th1i_getcontourlevelpad -  :: (Ptr RawTH1I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetContourLevelPad"+               c_th1i_getcontourlevelpad :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetBin" c_th1i_getbin -  :: (Ptr RawTH1I) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBin"+               c_th1i_getbin :: Ptr RawTH1I -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_GetBinCenter" c_th1i_getbincenter -  :: (Ptr RawTH1I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinCenter"+               c_th1i_getbincenter :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetBinContent1" c_th1i_getbincontent1 -  :: (Ptr RawTH1I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinContent1"+               c_th1i_getbincontent1 :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetBinContent2" c_th1i_getbincontent2 -  :: (Ptr RawTH1I) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinContent2"+               c_th1i_getbincontent2 :: Ptr RawTH1I -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetBinContent3" c_th1i_getbincontent3 -  :: (Ptr RawTH1I) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinContent3"+               c_th1i_getbincontent3 ::+               Ptr RawTH1I -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetBinError1" c_th1i_getbinerror1 -  :: (Ptr RawTH1I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinError1"+               c_th1i_getbinerror1 :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetBinError2" c_th1i_getbinerror2 -  :: (Ptr RawTH1I) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinError2"+               c_th1i_getbinerror2 :: Ptr RawTH1I -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetBinError3" c_th1i_getbinerror3 -  :: (Ptr RawTH1I) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinError3"+               c_th1i_getbinerror3 ::+               Ptr RawTH1I -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetBinLowEdge" c_th1i_getbinlowedge -  :: (Ptr RawTH1I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinLowEdge"+               c_th1i_getbinlowedge :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetBinWidth" c_th1i_getbinwidth -  :: (Ptr RawTH1I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetBinWidth"+               c_th1i_getbinwidth :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetCellContent" c_th1i_getcellcontent -  :: (Ptr RawTH1I) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetCellContent"+               c_th1i_getcellcontent :: Ptr RawTH1I -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetCellError" c_th1i_getcellerror -  :: (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 "HROOTHistTH1I.h TH1I_GetEntries" c_th1i_getentries -  :: (Ptr RawTH1I) -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetEntries"+               c_th1i_getentries :: Ptr RawTH1I -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetEffectiveEntries" c_th1i_geteffectiveentries -  :: (Ptr RawTH1I) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH1I.h TH1I_GetEffectiveEntries"+               c_th1i_geteffectiveentries :: Ptr RawTH1I -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetFunction" c_th1i_getfunction -  :: (Ptr RawTH1I) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetFunction"+               c_th1i_getfunction :: Ptr RawTH1I -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH1I.h TH1I_GetDimension" c_th1i_getdimension -  :: (Ptr RawTH1I) -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetDimension"+               c_th1i_getdimension :: Ptr RawTH1I -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_GetKurtosis" c_th1i_getkurtosis -  :: (Ptr RawTH1I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetKurtosis"+               c_th1i_getkurtosis :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetLowEdge" c_th1i_getlowedge -  :: (Ptr RawTH1I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetLowEdge"+               c_th1i_getlowedge :: Ptr RawTH1I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_getMaximumTH1" c_th1i_getmaximumth1 -  :: (Ptr RawTH1I) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_getMaximumTH1"+               c_th1i_getmaximumth1 :: Ptr RawTH1I -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetMaximumBin" c_th1i_getmaximumbin -  :: (Ptr RawTH1I) -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMaximumBin"+               c_th1i_getmaximumbin :: Ptr RawTH1I -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_GetMaximumStored" c_th1i_getmaximumstored -  :: (Ptr RawTH1I) -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMaximumStored"+               c_th1i_getmaximumstored :: Ptr RawTH1I -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_getMinimumTH1" c_th1i_getminimumth1 -  :: (Ptr RawTH1I) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_getMinimumTH1"+               c_th1i_getminimumth1 :: Ptr RawTH1I -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetMinimumBin" c_th1i_getminimumbin -  :: (Ptr RawTH1I) -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMinimumBin"+               c_th1i_getminimumbin :: Ptr RawTH1I -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_GetMinimumStored" c_th1i_getminimumstored -  :: (Ptr RawTH1I) -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMinimumStored"+               c_th1i_getminimumstored :: Ptr RawTH1I -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetMean" c_th1i_getmean -  :: (Ptr RawTH1I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMean"+               c_th1i_getmean :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetMeanError" c_th1i_getmeanerror -  :: (Ptr RawTH1I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMeanError"+               c_th1i_getmeanerror :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetNbinsX" c_th1i_getnbinsx -  :: (Ptr RawTH1I) -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetNbinsX"+               c_th1i_getnbinsx :: Ptr RawTH1I -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetNbinsY" c_th1i_getnbinsy -  :: (Ptr RawTH1I) -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetNbinsY"+               c_th1i_getnbinsy :: Ptr RawTH1I -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetNbinsZ" c_th1i_getnbinsz -  :: (Ptr RawTH1I) -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetNbinsZ"+               c_th1i_getnbinsz :: Ptr RawTH1I -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_getQuantilesTH1" c_th1i_getquantilesth1 -  :: (Ptr RawTH1I) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_getQuantilesTH1"+               c_th1i_getquantilesth1 ::+               Ptr RawTH1I -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_GetRandom" c_th1i_getrandom -  :: (Ptr RawTH1I) -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetRandom"+               c_th1i_getrandom :: Ptr RawTH1I -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetStats" c_th1i_getstats -  :: (Ptr RawTH1I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetStats"+               c_th1i_getstats :: Ptr RawTH1I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_GetSumOfWeights" c_th1i_getsumofweights -  :: (Ptr RawTH1I) -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetSumOfWeights"+               c_th1i_getsumofweights :: Ptr RawTH1I -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetSumw2" c_th1i_getsumw2 -  :: (Ptr RawTH1I) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetSumw2"+               c_th1i_getsumw2 :: Ptr RawTH1I -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH1I.h TH1I_GetSumw2N" c_th1i_getsumw2n -  :: (Ptr RawTH1I) -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetSumw2N"+               c_th1i_getsumw2n :: Ptr RawTH1I -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_GetRMS" c_th1i_getrms -  :: (Ptr RawTH1I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetRMS"+               c_th1i_getrms :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetRMSError" c_th1i_getrmserror -  :: (Ptr RawTH1I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetRMSError"+               c_th1i_getrmserror :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_GetSkewness" c_th1i_getskewness -  :: (Ptr RawTH1I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetSkewness"+               c_th1i_getskewness :: Ptr RawTH1I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_integral1" c_th1i_integral1 -  :: (Ptr RawTH1I) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_integral1"+               c_th1i_integral1 ::+               Ptr RawTH1I -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_interpolate1" c_th1i_interpolate1 -  :: (Ptr RawTH1I) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_interpolate1"+               c_th1i_interpolate1 :: Ptr RawTH1I -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_interpolate2" c_th1i_interpolate2 -  :: (Ptr RawTH1I) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_interpolate2"+               c_th1i_interpolate2 ::+               Ptr RawTH1I -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_interpolate3" c_th1i_interpolate3 -  :: (Ptr RawTH1I) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_interpolate3"+               c_th1i_interpolate3 ::+               Ptr RawTH1I -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_KolmogorovTest" c_th1i_kolmogorovtest -  :: (Ptr RawTH1I) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_KolmogorovTest"+               c_th1i_kolmogorovtest ::+               Ptr RawTH1I -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_LabelsDeflate" c_th1i_labelsdeflate -  :: (Ptr RawTH1I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_LabelsDeflate"+               c_th1i_labelsdeflate :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_LabelsInflate" c_th1i_labelsinflate -  :: (Ptr RawTH1I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_LabelsInflate"+               c_th1i_labelsinflate :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_LabelsOption" c_th1i_labelsoption -  :: (Ptr RawTH1I) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_LabelsOption"+               c_th1i_labelsoption :: Ptr RawTH1I -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_multiflyF" c_th1i_multiflyf -  :: (Ptr RawTH1I) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_multiflyF"+               c_th1i_multiflyf :: Ptr RawTH1I -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_Multiply" c_th1i_multiply -  :: (Ptr RawTH1I) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_Multiply"+               c_th1i_multiply ::+               Ptr RawTH1I ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_PutStats" c_th1i_putstats -  :: (Ptr RawTH1I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_PutStats"+               c_th1i_putstats :: Ptr RawTH1I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_Rebin" c_th1i_rebin -  :: (Ptr RawTH1I) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1I.h TH1I_Rebin" c_th1i_rebin+               ::+               Ptr RawTH1I -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1I.h TH1I_RebinAxis" c_th1i_rebinaxis -  :: (Ptr RawTH1I) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_RebinAxis"+               c_th1i_rebinaxis :: Ptr RawTH1I -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_Rebuild" c_th1i_rebuild -  :: (Ptr RawTH1I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_Rebuild"+               c_th1i_rebuild :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_RecursiveRemove" c_th1i_recursiveremove -  :: (Ptr RawTH1I) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_RecursiveRemove"+               c_th1i_recursiveremove :: Ptr RawTH1I -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_Reset" c_th1i_reset -  :: (Ptr RawTH1I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_Reset" c_th1i_reset+               :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_ResetStats" c_th1i_resetstats -  :: (Ptr RawTH1I) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_ResetStats"+               c_th1i_resetstats :: Ptr RawTH1I -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_Scale" c_th1i_scale -  :: (Ptr RawTH1I) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_Scale" c_th1i_scale+               :: Ptr RawTH1I -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setAxisColorA" c_th1i_setaxiscolora -  :: (Ptr RawTH1I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setAxisColorA"+               c_th1i_setaxiscolora :: Ptr RawTH1I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetAxisRange" c_th1i_setaxisrange -  :: (Ptr RawTH1I) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetAxisRange"+               c_th1i_setaxisrange ::+               Ptr RawTH1I -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetBarOffset" c_th1i_setbaroffset -  :: (Ptr RawTH1I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetBarOffset"+               c_th1i_setbaroffset :: Ptr RawTH1I -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetBarWidth" c_th1i_setbarwidth -  :: (Ptr RawTH1I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetBarWidth"+               c_th1i_setbarwidth :: Ptr RawTH1I -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setBinContent1" c_th1i_setbincontent1 -  :: (Ptr RawTH1I) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setBinContent1"+               c_th1i_setbincontent1 :: Ptr RawTH1I -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setBinContent2" c_th1i_setbincontent2 -  :: (Ptr RawTH1I) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setBinContent2"+               c_th1i_setbincontent2 ::+               Ptr RawTH1I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setBinContent3" c_th1i_setbincontent3 -  :: (Ptr RawTH1I) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setBinContent3"+               c_th1i_setbincontent3 ::+               Ptr RawTH1I -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setBinError1" c_th1i_setbinerror1 -  :: (Ptr RawTH1I) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setBinError1"+               c_th1i_setbinerror1 :: Ptr RawTH1I -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setBinError2" c_th1i_setbinerror2 -  :: (Ptr RawTH1I) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setBinError2"+               c_th1i_setbinerror2 ::+               Ptr RawTH1I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setBinError3" c_th1i_setbinerror3 -  :: (Ptr RawTH1I) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setBinError3"+               c_th1i_setbinerror3 ::+               Ptr RawTH1I -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setBins1" c_th1i_setbins1 -  :: (Ptr RawTH1I) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setBins1"+               c_th1i_setbins1 :: Ptr RawTH1I -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setBins2" c_th1i_setbins2 -  :: (Ptr RawTH1I) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setBins2"+               c_th1i_setbins2 ::+               Ptr RawTH1I ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setBins3" c_th1i_setbins3 -  :: (Ptr RawTH1I) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setBins3"+               c_th1i_setbins3 ::+               Ptr RawTH1I ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetBinsLength" c_th1i_setbinslength -  :: (Ptr RawTH1I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetBinsLength"+               c_th1i_setbinslength :: Ptr RawTH1I -> CInt -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetBuffer" c_th1i_setbuffer -  :: (Ptr RawTH1I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetBuffer"+               c_th1i_setbuffer :: Ptr RawTH1I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetCellContent" c_th1i_setcellcontent -  :: (Ptr RawTH1I) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetCellContent"+               c_th1i_setcellcontent ::+               Ptr RawTH1I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetContent" c_th1i_setcontent -  :: (Ptr RawTH1I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetContent"+               c_th1i_setcontent :: Ptr RawTH1I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetContour" c_th1i_setcontour -  :: (Ptr RawTH1I) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetContour"+               c_th1i_setcontour :: Ptr RawTH1I -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetContourLevel" c_th1i_setcontourlevel -  :: (Ptr RawTH1I) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetContourLevel"+               c_th1i_setcontourlevel :: Ptr RawTH1I -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetDirectory" c_th1i_setdirectory -  :: (Ptr RawTH1I) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetDirectory"+               c_th1i_setdirectory :: Ptr RawTH1I -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetEntries" c_th1i_setentries -  :: (Ptr RawTH1I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetEntries"+               c_th1i_setentries :: Ptr RawTH1I -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetError" c_th1i_seterror -  :: (Ptr RawTH1I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetError"+               c_th1i_seterror :: Ptr RawTH1I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setLabelColorA" c_th1i_setlabelcolora -  :: (Ptr RawTH1I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setLabelColorA"+               c_th1i_setlabelcolora :: Ptr RawTH1I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setLabelSizeA" c_th1i_setlabelsizea -  :: (Ptr RawTH1I) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setLabelSizeA"+               c_th1i_setlabelsizea :: Ptr RawTH1I -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setLabelFontA" c_th1i_setlabelfonta -  :: (Ptr RawTH1I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setLabelFontA"+               c_th1i_setlabelfonta :: Ptr RawTH1I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_setLabelOffsetA" c_th1i_setlabeloffseta -  :: (Ptr RawTH1I) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_setLabelOffsetA"+               c_th1i_setlabeloffseta ::+               Ptr RawTH1I -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetMaximum" c_th1i_setmaximum -  :: (Ptr RawTH1I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetMaximum"+               c_th1i_setmaximum :: Ptr RawTH1I -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetMinimum" c_th1i_setminimum -  :: (Ptr RawTH1I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetMinimum"+               c_th1i_setminimum :: Ptr RawTH1I -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetNormFactor" c_th1i_setnormfactor -  :: (Ptr RawTH1I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetNormFactor"+               c_th1i_setnormfactor :: Ptr RawTH1I -> CDouble -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetStats" c_th1i_setstats -  :: (Ptr RawTH1I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetStats"+               c_th1i_setstats :: Ptr RawTH1I -> CInt -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetOption" c_th1i_setoption -  :: (Ptr RawTH1I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetOption"+               c_th1i_setoption :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetXTitle" c_th1i_setxtitle -  :: (Ptr RawTH1I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetXTitle"+               c_th1i_setxtitle :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetYTitle" c_th1i_setytitle -  :: (Ptr RawTH1I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetYTitle"+               c_th1i_setytitle :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetZTitle" c_th1i_setztitle -  :: (Ptr RawTH1I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetZTitle"+               c_th1i_setztitle :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_ShowBackground" c_th1i_showbackground -  :: (Ptr RawTH1I) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1I.h TH1I_ShowBackground"+               c_th1i_showbackground ::+               Ptr RawTH1I -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1I.h TH1I_ShowPeaks" c_th1i_showpeaks -  :: (Ptr RawTH1I) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_ShowPeaks"+               c_th1i_showpeaks ::+               Ptr RawTH1I -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_Smooth" c_th1i_smooth -  :: (Ptr RawTH1I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_Smooth"+               c_th1i_smooth :: Ptr RawTH1I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_Sumw2" c_th1i_sumw2 -  :: (Ptr RawTH1I) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_Sumw2" c_th1i_sumw2+               :: Ptr RawTH1I -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_Draw" c_th1i_draw -  :: (Ptr RawTH1I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetName"+               c_th1i_setname :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_FindObject" c_th1i_findobject -  :: (Ptr RawTH1I) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetNameTitle"+               c_th1i_setnametitle :: Ptr RawTH1I -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_GetName" c_th1i_getname -  :: (Ptr RawTH1I) -> IO CString+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetTitle"+               c_th1i_settitle :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_IsA" c_th1i_isa -  :: (Ptr RawTH1I) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetLineColor"+               c_th1i_getlinecolor :: Ptr RawTH1I -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_Paint" c_th1i_paint -  :: (Ptr RawTH1I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetLineStyle"+               c_th1i_getlinestyle :: Ptr RawTH1I -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_printObj" c_th1i_printobj -  :: (Ptr RawTH1I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetLineWidth"+               c_th1i_getlinewidth :: Ptr RawTH1I -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_SaveAs" c_th1i_saveas -  :: (Ptr RawTH1I) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_ResetAttLine"+               c_th1i_resetattline :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_Write" c_th1i_write -  :: (Ptr RawTH1I) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetLineAttributes"+               c_th1i_setlineattributes :: Ptr RawTH1I -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_GetLineColor" c_th1i_getlinecolor -  :: (Ptr RawTH1I) -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetLineColor"+               c_th1i_setlinecolor :: Ptr RawTH1I -> CInt -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_GetLineStyle" c_th1i_getlinestyle -  :: (Ptr RawTH1I) -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetLineStyle"+               c_th1i_setlinestyle :: Ptr RawTH1I -> CInt -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_GetLineWidth" c_th1i_getlinewidth -  :: (Ptr RawTH1I) -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetLineWidth"+               c_th1i_setlinewidth :: Ptr RawTH1I -> CInt -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_ResetAttLine" c_th1i_resetattline -  :: (Ptr RawTH1I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetFillColor"+               c_th1i_setfillcolor :: Ptr RawTH1I -> CInt -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetLineAttributes" c_th1i_setlineattributes -  :: (Ptr RawTH1I) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetFillStyle"+               c_th1i_setfillstyle :: Ptr RawTH1I -> CInt -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetLineColor" c_th1i_setlinecolor -  :: (Ptr RawTH1I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMarkerColor"+               c_th1i_getmarkercolor :: Ptr RawTH1I -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_SetLineStyle" c_th1i_setlinestyle -  :: (Ptr RawTH1I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMarkerStyle"+               c_th1i_getmarkerstyle :: Ptr RawTH1I -> IO CInt -foreign import ccall "HROOTHistTH1I.h TH1I_SetLineWidth" c_th1i_setlinewidth -  :: (Ptr RawTH1I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetMarkerSize"+               c_th1i_getmarkersize :: Ptr RawTH1I -> IO CDouble -foreign import ccall "HROOTHistTH1I.h TH1I_SetFillColor" c_th1i_setfillcolor -  :: (Ptr RawTH1I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_ResetAttMarker"+               c_th1i_resetattmarker :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetFillStyle" c_th1i_setfillstyle -  :: (Ptr RawTH1I) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH1I.h TH1I_SetMarkerAttributes"+               c_th1i_setmarkerattributes :: Ptr RawTH1I -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_GetMarkerColor" c_th1i_getmarkercolor -  :: (Ptr RawTH1I) -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetMarkerColor"+               c_th1i_setmarkercolor :: Ptr RawTH1I -> CInt -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_GetMarkerStyle" c_th1i_getmarkerstyle -  :: (Ptr RawTH1I) -> IO CInt+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetMarkerStyle"+               c_th1i_setmarkerstyle :: Ptr RawTH1I -> CInt -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_GetMarkerSize" c_th1i_getmarkersize -  :: (Ptr RawTH1I) -> IO CDouble+foreign import ccall safe "HROOTHistTH1I.h TH1I_SetMarkerSize"+               c_th1i_setmarkersize :: Ptr RawTH1I -> CInt -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_ResetAttMarker" c_th1i_resetattmarker -  :: (Ptr RawTH1I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_Draw" c_th1i_draw+               :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_SetMarkerAttributes" c_th1i_setmarkerattributes -  :: (Ptr RawTH1I) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_FindObject"+               c_th1i_findobject :: Ptr RawTH1I -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH1I.h TH1I_SetMarkerColor" c_th1i_setmarkercolor -  :: (Ptr RawTH1I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_GetName"+               c_th1i_getname :: Ptr RawTH1I -> IO CString -foreign import ccall "HROOTHistTH1I.h TH1I_SetMarkerStyle" c_th1i_setmarkerstyle -  :: (Ptr RawTH1I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_IsA" c_th1i_isa ::+               Ptr RawTH1I -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH1I.h TH1I_SetMarkerSize" c_th1i_setmarkersize -  :: (Ptr RawTH1I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_Paint" c_th1i_paint+               :: Ptr RawTH1I -> CString -> IO () -foreign import ccall "HROOTHistTH1I.h TH1I_delete" c_th1i_delete -  :: (Ptr RawTH1I) -> IO ()+foreign import ccall safe "HROOTHistTH1I.h TH1I_printObj"+               c_th1i_printobj :: Ptr RawTH1I -> CString -> IO () +foreign import ccall safe "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 safe "HROOTHistTH1I.h TH1I_delete"+               c_th1i_delete :: Ptr RawTH1I -> IO ()
src/HROOT/Hist/TH1I/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1I.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH1I.RawType import HROOT.Hist.TH1I.FFI import HROOT.Hist.TH1I.Interface@@ -32,9 +33,9 @@ import HROOT.Core.TArrayI.RawType import HROOT.Core.TArrayI.Cast import HROOT.Core.TArrayI.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -44,6 +45,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -51,358 +55,183 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH1I TH1I -instance ITH1I 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-  drawNormalized = xform2 c_th1i_drawnormalized-  drawPanelTH1 = xform0 c_th1i_drawpanelth1-  bufferEmpty = xform1 c_th1i_bufferempty-  evalF = xform2 c_th1i_evalf-  fFT = xform2 c_th1i_fft-  fill1 = xform1 c_th1i_fill1-  fill1w = xform2 c_th1i_fill1w-  fillN1 = xform4 c_th1i_filln1-  fillRandom = xform2 c_th1i_fillrandom-  findBin = xform3 c_th1i_findbin-  findFixBin = xform3 c_th1i_findfixbin-  findFirstBinAbove = xform2 c_th1i_findfirstbinabove-  findLastBinAbove = xform2 c_th1i_findlastbinabove-  fitPanelTH1 = xform0 c_th1i_fitpanelth1-  getNdivisionA = xform1 c_th1i_getndivisiona-  getAxisColorA = xform1 c_th1i_getaxiscolora-  getLabelColorA = xform1 c_th1i_getlabelcolora-  getLabelFontA = xform1 c_th1i_getlabelfonta-  getLabelOffsetA = xform1 c_th1i_getlabeloffseta-  getLabelSizeA = xform1 c_th1i_getlabelsizea-  getTitleFontA = xform1 c_th1i_gettitlefonta-  getTitleOffsetA = xform1 c_th1i_gettitleoffseta-  getTitleSizeA = xform1 c_th1i_gettitlesizea-  getTickLengthA = xform1 c_th1i_getticklengtha-  getBarOffset = xform0 c_th1i_getbaroffset-  getBarWidth = xform0 c_th1i_getbarwidth-  getContour = xform1 c_th1i_getcontour-  getContourLevel = xform1 c_th1i_getcontourlevel-  getContourLevelPad = xform1 c_th1i_getcontourlevelpad-  getBin = xform3 c_th1i_getbin-  getBinCenter = xform1 c_th1i_getbincenter-  getBinContent1 = xform1 c_th1i_getbincontent1-  getBinContent2 = xform2 c_th1i_getbincontent2-  getBinContent3 = xform3 c_th1i_getbincontent3-  getBinError1 = xform1 c_th1i_getbinerror1-  getBinError2 = xform2 c_th1i_getbinerror2-  getBinError3 = xform3 c_th1i_getbinerror3-  getBinLowEdge = xform1 c_th1i_getbinlowedge-  getBinWidth = xform1 c_th1i_getbinwidth-  getCellContent = xform2 c_th1i_getcellcontent-  getCellError = xform2 c_th1i_getcellerror-  getEntries = xform0 c_th1i_getentries-  getEffectiveEntries = xform0 c_th1i_geteffectiveentries-  getFunction = xform1 c_th1i_getfunction-  getDimension = xform0 c_th1i_getdimension-  getKurtosis = xform1 c_th1i_getkurtosis-  getLowEdge = xform1 c_th1i_getlowedge-  getMaximumTH1 = xform1 c_th1i_getmaximumth1-  getMaximumBin = xform0 c_th1i_getmaximumbin-  getMaximumStored = xform0 c_th1i_getmaximumstored-  getMinimumTH1 = xform1 c_th1i_getminimumth1-  getMinimumBin = xform0 c_th1i_getminimumbin-  getMinimumStored = xform0 c_th1i_getminimumstored-  getMean = xform1 c_th1i_getmean-  getMeanError = xform1 c_th1i_getmeanerror-  getNbinsX = xform0 c_th1i_getnbinsx-  getNbinsY = xform0 c_th1i_getnbinsy-  getNbinsZ = xform0 c_th1i_getnbinsz-  getQuantilesTH1 = xform3 c_th1i_getquantilesth1-  getRandom = xform0 c_th1i_getrandom-  getStats = xform1 c_th1i_getstats-  getSumOfWeights = xform0 c_th1i_getsumofweights-  getSumw2 = xform0 c_th1i_getsumw2-  getSumw2N = xform0 c_th1i_getsumw2n-  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-  labelsInflate = xform1 c_th1i_labelsinflate-  labelsOption = xform2 c_th1i_labelsoption-  multiflyF = xform2 c_th1i_multiflyf-  multiply = xform5 c_th1i_multiply-  putStats = xform1 c_th1i_putstats-  rebin = xform3 c_th1i_rebin-  rebinAxis = xform2 c_th1i_rebinaxis-  rebuild = xform1 c_th1i_rebuild-  recursiveRemove = xform1 c_th1i_recursiveremove-  reset = xform1 c_th1i_reset-  resetStats = xform0 c_th1i_resetstats-  scale = xform2 c_th1i_scale-  setAxisColorA = xform2 c_th1i_setaxiscolora-  setAxisRange = xform3 c_th1i_setaxisrange-  setBarOffset = xform1 c_th1i_setbaroffset-  setBarWidth = xform1 c_th1i_setbarwidth-  setBinContent1 = xform2 c_th1i_setbincontent1-  setBinContent2 = xform3 c_th1i_setbincontent2-  setBinContent3 = xform4 c_th1i_setbincontent3-  setBinError1 = xform2 c_th1i_setbinerror1-  setBinError2 = xform3 c_th1i_setbinerror2-  setBinError3 = xform4 c_th1i_setbinerror3-  setBins1 = xform2 c_th1i_setbins1-  setBins2 = xform4 c_th1i_setbins2-  setBins3 = xform6 c_th1i_setbins3-  setBinsLength = xform1 c_th1i_setbinslength-  setBuffer = xform2 c_th1i_setbuffer-  setCellContent = xform3 c_th1i_setcellcontent-  setContent = xform1 c_th1i_setcontent-  setContour = xform2 c_th1i_setcontour-  setContourLevel = xform2 c_th1i_setcontourlevel-  setDirectory = xform1 c_th1i_setdirectory-  setEntries = xform1 c_th1i_setentries-  setError = xform1 c_th1i_seterror-  setLabelColorA = xform2 c_th1i_setlabelcolora-  setLabelSizeA = xform2 c_th1i_setlabelsizea-  setLabelFontA = xform2 c_th1i_setlabelfonta-  setLabelOffsetA = xform2 c_th1i_setlabeloffseta-  setMaximum = xform1 c_th1i_setmaximum-  setMinimum = xform1 c_th1i_setminimum-  setNormFactor = xform1 c_th1i_setnormfactor-  setStats = xform1 c_th1i_setstats-  setOption = xform1 c_th1i_setoption-  setXTitle = xform1 c_th1i_setxtitle-  setYTitle = xform1 c_th1i_setytitle-  setZTitle = xform1 c_th1i_setztitle-  showBackground = xform2 c_th1i_showbackground-  showPeaks = xform3 c_th1i_showpeaks-  smooth = xform2 c_th1i_smooth-  sumw2 = xform0 c_th1i_sumw2-instance ITArrayI TH1I where-instance ITObject TH1I where-  draw = xform1 c_th1i_draw-  findObject = xform1 c_th1i_findobject-  getName = xform0 c_th1i_getname-  isA = xform0 c_th1i_isa-  paint = xform1 c_th1i_paint-  printObj = xform1 c_th1i_printobj-  saveAs = xform2 c_th1i_saveas-  write = xform3 c_th1i_write-instance ITAttLine TH1I where-  getLineColor = xform0 c_th1i_getlinecolor-  getLineStyle = xform0 c_th1i_getlinestyle-  getLineWidth = xform0 c_th1i_getlinewidth-  resetAttLine = xform1 c_th1i_resetattline-  setLineAttributes = xform0 c_th1i_setlineattributes-  setLineColor = xform1 c_th1i_setlinecolor-  setLineStyle = xform1 c_th1i_setlinestyle-  setLineWidth = xform1 c_th1i_setlinewidth-instance ITAttFill TH1I where-  setFillColor = xform1 c_th1i_setfillcolor-  setFillStyle = xform1 c_th1i_setfillstyle-instance ITAttMarker TH1I where-  getMarkerColor = xform0 c_th1i_getmarkercolor-  getMarkerStyle = xform0 c_th1i_getmarkerstyle-  getMarkerSize = xform0 c_th1i_getmarkersize-  resetAttMarker = xform1 c_th1i_resetattmarker-  setMarkerAttributes = xform0 c_th1i_setmarkerattributes-  setMarkerColor = xform1 c_th1i_setmarkercolor-  setMarkerStyle = xform1 c_th1i_setmarkerstyle-  setMarkerSize = xform1 c_th1i_setmarkersize-instance IDeletable TH1I where-  delete = xform0 c_th1i_delete-instance ITArray TH1I where--instance ITH1I (Exist TH1I) where--instance ITH1 (Exist TH1I) where-  add (ETH1I x) = add x-  addBinContent (ETH1I x) = addBinContent x-  chi2Test (ETH1I x) = chi2Test x-  computeIntegral (ETH1I x) = computeIntegral x-  directoryAutoAdd (ETH1I x) = directoryAutoAdd x-  divide (ETH1I x) = divide x-  drawCopyTH1 (ETH1I x) a1 = return . ETH1I =<< drawCopyTH1 x a1-  drawNormalized (ETH1I x) = drawNormalized x-  drawPanelTH1 (ETH1I x) = drawPanelTH1 x-  bufferEmpty (ETH1I x) = bufferEmpty x-  evalF (ETH1I x) = evalF x-  fFT (ETH1I x) = fFT x-  fill1 (ETH1I x) = fill1 x-  fill1w (ETH1I x) = fill1w x-  fillN1 (ETH1I x) = fillN1 x-  fillRandom (ETH1I x) = fillRandom x-  findBin (ETH1I x) = findBin x-  findFixBin (ETH1I x) = findFixBin x-  findFirstBinAbove (ETH1I x) = findFirstBinAbove x-  findLastBinAbove (ETH1I x) = findLastBinAbove x-  fitPanelTH1 (ETH1I x) = fitPanelTH1 x-  getNdivisionA (ETH1I x) = getNdivisionA x-  getAxisColorA (ETH1I x) = getAxisColorA x-  getLabelColorA (ETH1I x) = getLabelColorA x-  getLabelFontA (ETH1I x) = getLabelFontA x-  getLabelOffsetA (ETH1I x) = getLabelOffsetA x-  getLabelSizeA (ETH1I x) = getLabelSizeA x-  getTitleFontA (ETH1I x) = getTitleFontA x-  getTitleOffsetA (ETH1I x) = getTitleOffsetA x-  getTitleSizeA (ETH1I x) = getTitleSizeA x-  getTickLengthA (ETH1I x) = getTickLengthA x-  getBarOffset (ETH1I x) = getBarOffset x-  getBarWidth (ETH1I x) = getBarWidth x-  getContour (ETH1I x) = getContour x-  getContourLevel (ETH1I x) = getContourLevel x-  getContourLevelPad (ETH1I x) = getContourLevelPad x-  getBin (ETH1I x) = getBin x-  getBinCenter (ETH1I x) = getBinCenter x-  getBinContent1 (ETH1I x) = getBinContent1 x-  getBinContent2 (ETH1I x) = getBinContent2 x-  getBinContent3 (ETH1I x) = getBinContent3 x-  getBinError1 (ETH1I x) = getBinError1 x-  getBinError2 (ETH1I x) = getBinError2 x-  getBinError3 (ETH1I x) = getBinError3 x-  getBinLowEdge (ETH1I x) = getBinLowEdge x-  getBinWidth (ETH1I x) = getBinWidth x-  getCellContent (ETH1I x) = getCellContent x-  getCellError (ETH1I x) = getCellError x-  getEntries (ETH1I x) = getEntries x-  getEffectiveEntries (ETH1I x) = getEffectiveEntries x-  getFunction (ETH1I x) = getFunction x-  getDimension (ETH1I x) = getDimension x-  getKurtosis (ETH1I x) = getKurtosis x-  getLowEdge (ETH1I x) = getLowEdge x-  getMaximumTH1 (ETH1I x) = getMaximumTH1 x-  getMaximumBin (ETH1I x) = getMaximumBin x-  getMaximumStored (ETH1I x) = getMaximumStored x-  getMinimumTH1 (ETH1I x) = getMinimumTH1 x-  getMinimumBin (ETH1I x) = getMinimumBin x-  getMinimumStored (ETH1I x) = getMinimumStored x-  getMean (ETH1I x) = getMean x-  getMeanError (ETH1I x) = getMeanError x-  getNbinsX (ETH1I x) = getNbinsX x-  getNbinsY (ETH1I x) = getNbinsY x-  getNbinsZ (ETH1I x) = getNbinsZ x-  getQuantilesTH1 (ETH1I x) = getQuantilesTH1 x-  getRandom (ETH1I x) = getRandom x-  getStats (ETH1I x) = getStats x-  getSumOfWeights (ETH1I x) = getSumOfWeights x-  getSumw2 (ETH1I x) = getSumw2 x-  getSumw2N (ETH1I x) = getSumw2N x-  getRMS (ETH1I x) = getRMS x-  getRMSError (ETH1I x) = getRMSError x-  getSkewness (ETH1I x) = getSkewness x-  integral1 (ETH1I x) = integral1 x-  interpolate1 (ETH1I x) = interpolate1 x-  interpolate2 (ETH1I x) = interpolate2 x-  interpolate3 (ETH1I x) = interpolate3 x-  kolmogorovTest (ETH1I x) = kolmogorovTest x-  labelsDeflate (ETH1I x) = labelsDeflate x-  labelsInflate (ETH1I x) = labelsInflate x-  labelsOption (ETH1I x) = labelsOption x-  multiflyF (ETH1I x) = multiflyF x-  multiply (ETH1I x) = multiply x-  putStats (ETH1I x) = putStats x-  rebin (ETH1I x) = rebin x-  rebinAxis (ETH1I x) = rebinAxis x-  rebuild (ETH1I x) = rebuild x-  recursiveRemove (ETH1I x) = recursiveRemove x-  reset (ETH1I x) = reset x-  resetStats (ETH1I x) = resetStats x-  scale (ETH1I x) = scale x-  setAxisColorA (ETH1I x) = setAxisColorA x-  setAxisRange (ETH1I x) = setAxisRange x-  setBarOffset (ETH1I x) = setBarOffset x-  setBarWidth (ETH1I x) = setBarWidth x-  setBinContent1 (ETH1I x) = setBinContent1 x-  setBinContent2 (ETH1I x) = setBinContent2 x-  setBinContent3 (ETH1I x) = setBinContent3 x-  setBinError1 (ETH1I x) = setBinError1 x-  setBinError2 (ETH1I x) = setBinError2 x-  setBinError3 (ETH1I x) = setBinError3 x-  setBins1 (ETH1I x) = setBins1 x-  setBins2 (ETH1I x) = setBins2 x-  setBins3 (ETH1I x) = setBins3 x-  setBinsLength (ETH1I x) = setBinsLength x-  setBuffer (ETH1I x) = setBuffer x-  setCellContent (ETH1I x) = setCellContent x-  setContent (ETH1I x) = setContent x-  setContour (ETH1I x) = setContour x-  setContourLevel (ETH1I x) = setContourLevel x-  setDirectory (ETH1I x) = setDirectory x-  setEntries (ETH1I x) = setEntries x-  setError (ETH1I x) = setError x-  setLabelColorA (ETH1I x) = setLabelColorA x-  setLabelSizeA (ETH1I x) = setLabelSizeA x-  setLabelFontA (ETH1I x) = setLabelFontA x-  setLabelOffsetA (ETH1I x) = setLabelOffsetA x-  setMaximum (ETH1I x) = setMaximum x-  setMinimum (ETH1I x) = setMinimum x-  setNormFactor (ETH1I x) = setNormFactor x-  setStats (ETH1I x) = setStats x-  setOption (ETH1I x) = setOption x-  setXTitle (ETH1I x) = setXTitle x-  setYTitle (ETH1I x) = setYTitle x-  setZTitle (ETH1I x) = setZTitle x-  showBackground (ETH1I x) = showBackground x-  showPeaks (ETH1I x) = showPeaks x-  smooth (ETH1I x) = smooth x-  sumw2 (ETH1I x) = sumw2 x-instance ITArrayI (Exist TH1I) where--instance ITObject (Exist TH1I) where-  draw (ETH1I x) = draw x-  findObject (ETH1I x) = findObject x-  getName (ETH1I x) = getName x-  isA (ETH1I x) = isA x-  paint (ETH1I x) = paint x-  printObj (ETH1I x) = printObj x-  saveAs (ETH1I x) = saveAs x-  write (ETH1I x) = write x-instance ITAttLine (Exist TH1I) where-  getLineColor (ETH1I x) = getLineColor x-  getLineStyle (ETH1I x) = getLineStyle x-  getLineWidth (ETH1I x) = getLineWidth x-  resetAttLine (ETH1I x) = resetAttLine x-  setLineAttributes (ETH1I x) = setLineAttributes x-  setLineColor (ETH1I x) = setLineColor x-  setLineStyle (ETH1I x) = setLineStyle x-  setLineWidth (ETH1I x) = setLineWidth x-instance ITAttFill (Exist TH1I) where-  setFillColor (ETH1I x) = setFillColor x-  setFillStyle (ETH1I x) = setFillStyle x-instance ITAttMarker (Exist TH1I) where-  getMarkerColor (ETH1I x) = getMarkerColor x-  getMarkerStyle (ETH1I x) = getMarkerStyle x-  getMarkerSize (ETH1I x) = getMarkerSize x-  resetAttMarker (ETH1I x) = resetAttMarker x-  setMarkerAttributes (ETH1I x) = setMarkerAttributes x-  setMarkerColor (ETH1I x) = setMarkerColor x-  setMarkerStyle (ETH1I x) = setMarkerStyle x-  setMarkerSize (ETH1I x) = setMarkerSize x-instance IDeletable (Exist TH1I) where-  delete (ETH1I x) = delete x-instance ITArray (Exist 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+        drawNormalized = xform2 c_th1i_drawnormalized+        drawPanelTH1 = xform0 c_th1i_drawpanelth1+        bufferEmpty = xform1 c_th1i_bufferempty+        evalF = xform2 c_th1i_evalf+        fFT = xform2 c_th1i_fft+        fill1 = xform1 c_th1i_fill1+        fill1w = xform2 c_th1i_fill1w+        fillN1 = xform4 c_th1i_filln1+        fillRandom = xform2 c_th1i_fillrandom+        findBin = xform3 c_th1i_findbin+        findFixBin = xform3 c_th1i_findfixbin+        findFirstBinAbove = xform2 c_th1i_findfirstbinabove+        findLastBinAbove = xform2 c_th1i_findlastbinabove+        fit = xform5 c_th1i_fit+        fitPanelTH1 = xform0 c_th1i_fitpanelth1+        getNdivisionA = xform1 c_th1i_getndivisiona+        getAxisColorA = xform1 c_th1i_getaxiscolora+        getLabelColorA = xform1 c_th1i_getlabelcolora+        getLabelFontA = xform1 c_th1i_getlabelfonta+        getLabelOffsetA = xform1 c_th1i_getlabeloffseta+        getLabelSizeA = xform1 c_th1i_getlabelsizea+        getTitleFontA = xform1 c_th1i_gettitlefonta+        getTitleOffsetA = xform1 c_th1i_gettitleoffseta+        getTitleSizeA = xform1 c_th1i_gettitlesizea+        getTickLengthA = xform1 c_th1i_getticklengtha+        getBarOffset = xform0 c_th1i_getbaroffset+        getBarWidth = xform0 c_th1i_getbarwidth+        getContour = xform1 c_th1i_getcontour+        getContourLevel = xform1 c_th1i_getcontourlevel+        getContourLevelPad = xform1 c_th1i_getcontourlevelpad+        getBin = xform3 c_th1i_getbin+        getBinCenter = xform1 c_th1i_getbincenter+        getBinContent1 = xform1 c_th1i_getbincontent1+        getBinContent2 = xform2 c_th1i_getbincontent2+        getBinContent3 = xform3 c_th1i_getbincontent3+        getBinError1 = xform1 c_th1i_getbinerror1+        getBinError2 = xform2 c_th1i_getbinerror2+        getBinError3 = xform3 c_th1i_getbinerror3+        getBinLowEdge = xform1 c_th1i_getbinlowedge+        getBinWidth = xform1 c_th1i_getbinwidth+        getCellContent = xform2 c_th1i_getcellcontent+        getCellError = xform2 c_th1i_getcellerror+        getEntries = xform0 c_th1i_getentries+        getEffectiveEntries = xform0 c_th1i_geteffectiveentries+        getFunction = xform1 c_th1i_getfunction+        getDimension = xform0 c_th1i_getdimension+        getKurtosis = xform1 c_th1i_getkurtosis+        getLowEdge = xform1 c_th1i_getlowedge+        getMaximumTH1 = xform1 c_th1i_getmaximumth1+        getMaximumBin = xform0 c_th1i_getmaximumbin+        getMaximumStored = xform0 c_th1i_getmaximumstored+        getMinimumTH1 = xform1 c_th1i_getminimumth1+        getMinimumBin = xform0 c_th1i_getminimumbin+        getMinimumStored = xform0 c_th1i_getminimumstored+        getMean = xform1 c_th1i_getmean+        getMeanError = xform1 c_th1i_getmeanerror+        getNbinsX = xform0 c_th1i_getnbinsx+        getNbinsY = xform0 c_th1i_getnbinsy+        getNbinsZ = xform0 c_th1i_getnbinsz+        getQuantilesTH1 = xform3 c_th1i_getquantilesth1+        getRandom = xform0 c_th1i_getrandom+        getStats = xform1 c_th1i_getstats+        getSumOfWeights = xform0 c_th1i_getsumofweights+        getSumw2 = xform0 c_th1i_getsumw2+        getSumw2N = xform0 c_th1i_getsumw2n+        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+        labelsInflate = xform1 c_th1i_labelsinflate+        labelsOption = xform2 c_th1i_labelsoption+        multiflyF = xform2 c_th1i_multiflyf+        multiply = xform5 c_th1i_multiply+        putStats = xform1 c_th1i_putstats+        rebin = xform3 c_th1i_rebin+        rebinAxis = xform2 c_th1i_rebinaxis+        rebuild = xform1 c_th1i_rebuild+        recursiveRemove = xform1 c_th1i_recursiveremove+        reset = xform1 c_th1i_reset+        resetStats = xform0 c_th1i_resetstats+        scale = xform2 c_th1i_scale+        setAxisColorA = xform2 c_th1i_setaxiscolora+        setAxisRange = xform3 c_th1i_setaxisrange+        setBarOffset = xform1 c_th1i_setbaroffset+        setBarWidth = xform1 c_th1i_setbarwidth+        setBinContent1 = xform2 c_th1i_setbincontent1+        setBinContent2 = xform3 c_th1i_setbincontent2+        setBinContent3 = xform4 c_th1i_setbincontent3+        setBinError1 = xform2 c_th1i_setbinerror1+        setBinError2 = xform3 c_th1i_setbinerror2+        setBinError3 = xform4 c_th1i_setbinerror3+        setBins1 = xform2 c_th1i_setbins1+        setBins2 = xform4 c_th1i_setbins2+        setBins3 = xform6 c_th1i_setbins3+        setBinsLength = xform1 c_th1i_setbinslength+        setBuffer = xform2 c_th1i_setbuffer+        setCellContent = xform3 c_th1i_setcellcontent+        setContent = xform1 c_th1i_setcontent+        setContour = xform2 c_th1i_setcontour+        setContourLevel = xform2 c_th1i_setcontourlevel+        setDirectory = xform1 c_th1i_setdirectory+        setEntries = xform1 c_th1i_setentries+        setError = xform1 c_th1i_seterror+        setLabelColorA = xform2 c_th1i_setlabelcolora+        setLabelSizeA = xform2 c_th1i_setlabelsizea+        setLabelFontA = xform2 c_th1i_setlabelfonta+        setLabelOffsetA = xform2 c_th1i_setlabeloffseta+        setMaximum = xform1 c_th1i_setmaximum+        setMinimum = xform1 c_th1i_setminimum+        setNormFactor = xform1 c_th1i_setnormfactor+        setStats = xform1 c_th1i_setstats+        setOption = xform1 c_th1i_setoption+        setXTitle = xform1 c_th1i_setxtitle+        setYTitle = xform1 c_th1i_setytitle+        setZTitle = xform1 c_th1i_setztitle+        showBackground = xform2 c_th1i_showbackground+        showPeaks = xform3 c_th1i_showpeaks+        smooth = xform2 c_th1i_smooth+        sumw2 = xform0 c_th1i_sumw2 +instance ITArrayI TH1I +instance ITNamed TH1I where+        setName = xform1 c_th1i_setname+        setNameTitle = xform2 c_th1i_setnametitle+        setTitle = xform1 c_th1i_settitle +instance ITAttLine TH1I where+        getLineColor = xform0 c_th1i_getlinecolor+        getLineStyle = xform0 c_th1i_getlinestyle+        getLineWidth = xform0 c_th1i_getlinewidth+        resetAttLine = xform1 c_th1i_resetattline+        setLineAttributes = xform0 c_th1i_setlineattributes+        setLineColor = xform1 c_th1i_setlinecolor+        setLineStyle = xform1 c_th1i_setlinestyle+        setLineWidth = xform1 c_th1i_setlinewidth +instance ITAttFill TH1I where+        setFillColor = xform1 c_th1i_setfillcolor+        setFillStyle = xform1 c_th1i_setfillstyle +instance ITAttMarker TH1I where+        getMarkerColor = xform0 c_th1i_getmarkercolor+        getMarkerStyle = xform0 c_th1i_getmarkerstyle+        getMarkerSize = xform0 c_th1i_getmarkersize+        resetAttMarker = xform1 c_th1i_resetattmarker+        setMarkerAttributes = xform0 c_th1i_setmarkerattributes+        setMarkerColor = xform1 c_th1i_setmarkercolor+        setMarkerStyle = xform1 c_th1i_setmarkerstyle+        setMarkerSize = xform1 c_th1i_setmarkersize +instance ITObject TH1I where+        draw = xform1 c_th1i_draw+        findObject = xform1 c_th1i_findobject+        getName = xform0 c_th1i_getname+        isA = xform0 c_th1i_isa+        paint = xform1 c_th1i_paint+        printObj = xform1 c_th1i_printobj+        saveAs = xform2 c_th1i_saveas+        write = xform3 c_th1i_write +instance IDeletable TH1I where+        delete = xform0 c_th1i_delete -instance FPtr (Exist TH1I) where-  type Raw (Exist TH1I) = RawTH1I-  get_fptr (ETH1I obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH1I (cast_fptr_to_obj (fptr :: ForeignPtr RawTH1I) :: TH1I)+instance ITArray TH1I
src/HROOT/Hist/TH1I/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1I.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH1I.RawType- import HROOT.Hist.TH1.Interface import HROOT.Core.TArrayI.Interface----- ============ ---- ---class (ITH1 a,ITArrayI a) => ITH1I a where--instance Existable TH1I where-  data Exist TH1I = forall a. (FPtr a, ITH1I a) => ETH1I a+class (ITH1 a, ITArrayI a) => ITH1I a -upcastTH1I :: (FPtr a, ITH1I a) => a -> TH1I-upcastTH1I h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH1I = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH1I :: forall a . (FPtr a, ITH1I a) => a -> TH1I+upcastTH1I h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH1I = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH1I :: (FPtr a, ITH1I a) => TH1I -> a -downcastTH1I h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH1I :: forall a . (FPtr a, ITH1I a) => TH1I -> a+downcastTH1I h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH1I/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH1I.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH1I -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH1I = TH1I (Ptr RawTH1I)+             deriving (Eq, Ord, Show) -data RawTH1I-newtype TH1I = TH1I (ForeignPtr RawTH1I) deriving (Eq, Ord, Show) instance FPtr TH1I where-   type Raw TH1I = RawTH1I-   get_fptr (TH1I fptr) = fptr-   cast_fptr_to_obj = TH1I+        type Raw TH1I = RawTH1I+        get_fptr (TH1I ptr) = ptr+        cast_fptr_to_obj = TH1I
src/HROOT/Hist/TH1K.hs view
@@ -1,15 +1,5 @@-module HROOT.Hist.TH1K-  (-    TH1K(..)-  , ITH1K-  , upcastTH1K-  , downcastTH1K-- -  ) where-+module HROOT.Hist.TH1K (TH1K(..), ITH1K, upcastTH1K, downcastTH1K)+       where import HROOT.Hist.TH1K.RawType import HROOT.Hist.TH1K.Interface import HROOT.Hist.TH1K.Implementation--
src/HROOT/Hist/TH1K/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH1K.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH1K.RawType import HROOT.Hist.TH1K.Interface  instance (ITH1K a, FPtr a) => Castable a (Ptr RawTH1K) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH1K (Ptr RawTH1K) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH1K.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH1K.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType@@ -21,476 +11,524 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH1K.h"+foreign import ccall safe "HROOTHistTH1K.h TH1K_Add" c_th1k_add ::+               Ptr RawTH1K -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "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 "HROOTHistTH1K.h TH1K_AddBinContent" c_th1k_addbincontent -  :: (Ptr RawTH1K) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_Chi2Test"+               c_th1k_chi2test ::+               Ptr RawTH1K -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH1K.h TH1K_ComputeIntegral" c_th1k_computeintegral -  :: (Ptr RawTH1K) -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_DirectoryAutoAdd"+               c_th1k_directoryautoadd ::+               Ptr RawTH1K -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_DirectoryAutoAdd" c_th1k_directoryautoadd -  :: (Ptr RawTH1K) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_Divide"+               c_th1k_divide ::+               Ptr RawTH1K ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH1K.h TH1K_drawCopyTH1" c_th1k_drawcopyth1 -  :: (Ptr RawTH1K) -> CString -> IO (Ptr RawTH1K)+foreign import ccall safe "HROOTHistTH1K.h TH1K_DrawNormalized"+               c_th1k_drawnormalized ::+               Ptr RawTH1K -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH1K.h TH1K_evalF" c_th1k_evalf -  :: (Ptr RawTH1K) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_FFT" c_th1k_fft ::+               Ptr RawTH1K -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH1K.h TH1K_fill1" c_th1k_fill1 -  :: (Ptr RawTH1K) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_fill1w"+               c_th1k_fill1w :: Ptr RawTH1K -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_fill1w" c_th1k_fill1w -  :: (Ptr RawTH1K) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_fillN1"+               c_th1k_filln1 ::+               Ptr RawTH1K ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_fillN1" c_th1k_filln1 -  :: (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 "HROOTHistTH1K.h TH1K_FillRandom" c_th1k_fillrandom -  :: (Ptr RawTH1K) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_FindBin"+               c_th1k_findbin ::+               Ptr RawTH1K -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH1K -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH1K.h TH1K_FindFirstBinAbove" c_th1k_findfirstbinabove -  :: (Ptr RawTH1K) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_FindLastBinAbove"+               c_th1k_findlastbinabove ::+               Ptr RawTH1K -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_FindLastBinAbove" c_th1k_findlastbinabove -  :: (Ptr RawTH1K) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_Fit" c_th1k_fit ::+               Ptr RawTH1K ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_FitPanelTH1" c_th1k_fitpanelth1 -  :: (Ptr RawTH1K) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_FitPanelTH1"+               c_th1k_fitpanelth1 :: Ptr RawTH1K -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_getNdivisionA" c_th1k_getndivisiona -  :: (Ptr RawTH1K) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_getNdivisionA"+               c_th1k_getndivisiona :: Ptr RawTH1K -> CString -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_getAxisColorA" c_th1k_getaxiscolora -  :: (Ptr RawTH1K) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_getAxisColorA"+               c_th1k_getaxiscolora :: Ptr RawTH1K -> CString -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_getLabelColorA" c_th1k_getlabelcolora -  :: (Ptr RawTH1K) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_getLabelColorA"+               c_th1k_getlabelcolora :: Ptr RawTH1K -> CString -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_getLabelFontA" c_th1k_getlabelfonta -  :: (Ptr RawTH1K) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_getLabelFontA"+               c_th1k_getlabelfonta :: Ptr RawTH1K -> CString -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_getLabelOffsetA" c_th1k_getlabeloffseta -  :: (Ptr RawTH1K) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_getLabelOffsetA"+               c_th1k_getlabeloffseta :: Ptr RawTH1K -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_getLabelSizeA" c_th1k_getlabelsizea -  :: (Ptr RawTH1K) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_getLabelSizeA"+               c_th1k_getlabelsizea :: Ptr RawTH1K -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_getTitleFontA" c_th1k_gettitlefonta -  :: (Ptr RawTH1K) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_getTitleFontA"+               c_th1k_gettitlefonta :: Ptr RawTH1K -> CString -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_getTitleOffsetA" c_th1k_gettitleoffseta -  :: (Ptr RawTH1K) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_getTitleOffsetA"+               c_th1k_gettitleoffseta :: Ptr RawTH1K -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_getTitleSizeA" c_th1k_gettitlesizea -  :: (Ptr RawTH1K) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_getTitleSizeA"+               c_th1k_gettitlesizea :: Ptr RawTH1K -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_getTickLengthA" c_th1k_getticklengtha -  :: (Ptr RawTH1K) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_getTickLengthA"+               c_th1k_getticklengtha :: Ptr RawTH1K -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetBarOffset" c_th1k_getbaroffset -  :: (Ptr RawTH1K) -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBarOffset"+               c_th1k_getbaroffset :: Ptr RawTH1K -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetBarWidth" c_th1k_getbarwidth -  :: (Ptr RawTH1K) -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBarWidth"+               c_th1k_getbarwidth :: Ptr RawTH1K -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetContour" c_th1k_getcontour -  :: (Ptr RawTH1K) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetContour"+               c_th1k_getcontour :: Ptr RawTH1K -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_GetContourLevel" c_th1k_getcontourlevel -  :: (Ptr RawTH1K) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetContourLevel"+               c_th1k_getcontourlevel :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetContourLevelPad" c_th1k_getcontourlevelpad -  :: (Ptr RawTH1K) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetContourLevelPad"+               c_th1k_getcontourlevelpad :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetBin" c_th1k_getbin -  :: (Ptr RawTH1K) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBin"+               c_th1k_getbin :: Ptr RawTH1K -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_GetBinCenter" c_th1k_getbincenter -  :: (Ptr RawTH1K) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinCenter"+               c_th1k_getbincenter :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetBinContent1" c_th1k_getbincontent1 -  :: (Ptr RawTH1K) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinContent1"+               c_th1k_getbincontent1 :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetBinContent2" c_th1k_getbincontent2 -  :: (Ptr RawTH1K) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinContent2"+               c_th1k_getbincontent2 :: Ptr RawTH1K -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetBinContent3" c_th1k_getbincontent3 -  :: (Ptr RawTH1K) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinContent3"+               c_th1k_getbincontent3 ::+               Ptr RawTH1K -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetBinError1" c_th1k_getbinerror1 -  :: (Ptr RawTH1K) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinError1"+               c_th1k_getbinerror1 :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetBinError2" c_th1k_getbinerror2 -  :: (Ptr RawTH1K) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinError2"+               c_th1k_getbinerror2 :: Ptr RawTH1K -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetBinError3" c_th1k_getbinerror3 -  :: (Ptr RawTH1K) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinError3"+               c_th1k_getbinerror3 ::+               Ptr RawTH1K -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetBinLowEdge" c_th1k_getbinlowedge -  :: (Ptr RawTH1K) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinLowEdge"+               c_th1k_getbinlowedge :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetBinWidth" c_th1k_getbinwidth -  :: (Ptr RawTH1K) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetBinWidth"+               c_th1k_getbinwidth :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetCellContent" c_th1k_getcellcontent -  :: (Ptr RawTH1K) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetCellContent"+               c_th1k_getcellcontent :: Ptr RawTH1K -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetCellError" c_th1k_getcellerror -  :: (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 "HROOTHistTH1K.h TH1K_GetEntries" c_th1k_getentries -  :: (Ptr RawTH1K) -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetEntries"+               c_th1k_getentries :: Ptr RawTH1K -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetEffectiveEntries" c_th1k_geteffectiveentries -  :: (Ptr RawTH1K) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH1K.h TH1K_GetEffectiveEntries"+               c_th1k_geteffectiveentries :: Ptr RawTH1K -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetFunction" c_th1k_getfunction -  :: (Ptr RawTH1K) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetFunction"+               c_th1k_getfunction :: Ptr RawTH1K -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH1K.h TH1K_GetDimension" c_th1k_getdimension -  :: (Ptr RawTH1K) -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetDimension"+               c_th1k_getdimension :: Ptr RawTH1K -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_GetKurtosis" c_th1k_getkurtosis -  :: (Ptr RawTH1K) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetKurtosis"+               c_th1k_getkurtosis :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetLowEdge" c_th1k_getlowedge -  :: (Ptr RawTH1K) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetLowEdge"+               c_th1k_getlowedge :: Ptr RawTH1K -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_getMaximumTH1" c_th1k_getmaximumth1 -  :: (Ptr RawTH1K) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_getMaximumTH1"+               c_th1k_getmaximumth1 :: Ptr RawTH1K -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetMaximumBin" c_th1k_getmaximumbin -  :: (Ptr RawTH1K) -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMaximumBin"+               c_th1k_getmaximumbin :: Ptr RawTH1K -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_GetMaximumStored" c_th1k_getmaximumstored -  :: (Ptr RawTH1K) -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMaximumStored"+               c_th1k_getmaximumstored :: Ptr RawTH1K -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_getMinimumTH1" c_th1k_getminimumth1 -  :: (Ptr RawTH1K) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_getMinimumTH1"+               c_th1k_getminimumth1 :: Ptr RawTH1K -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetMinimumBin" c_th1k_getminimumbin -  :: (Ptr RawTH1K) -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMinimumBin"+               c_th1k_getminimumbin :: Ptr RawTH1K -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_GetMinimumStored" c_th1k_getminimumstored -  :: (Ptr RawTH1K) -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMinimumStored"+               c_th1k_getminimumstored :: Ptr RawTH1K -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetMean" c_th1k_getmean -  :: (Ptr RawTH1K) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMean"+               c_th1k_getmean :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetMeanError" c_th1k_getmeanerror -  :: (Ptr RawTH1K) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMeanError"+               c_th1k_getmeanerror :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetNbinsX" c_th1k_getnbinsx -  :: (Ptr RawTH1K) -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetNbinsX"+               c_th1k_getnbinsx :: Ptr RawTH1K -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetNbinsY" c_th1k_getnbinsy -  :: (Ptr RawTH1K) -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetNbinsY"+               c_th1k_getnbinsy :: Ptr RawTH1K -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetNbinsZ" c_th1k_getnbinsz -  :: (Ptr RawTH1K) -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetNbinsZ"+               c_th1k_getnbinsz :: Ptr RawTH1K -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_getQuantilesTH1" c_th1k_getquantilesth1 -  :: (Ptr RawTH1K) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_getQuantilesTH1"+               c_th1k_getquantilesth1 ::+               Ptr RawTH1K -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_GetRandom" c_th1k_getrandom -  :: (Ptr RawTH1K) -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetRandom"+               c_th1k_getrandom :: Ptr RawTH1K -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetStats" c_th1k_getstats -  :: (Ptr RawTH1K) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetStats"+               c_th1k_getstats :: Ptr RawTH1K -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_GetSumOfWeights" c_th1k_getsumofweights -  :: (Ptr RawTH1K) -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetSumOfWeights"+               c_th1k_getsumofweights :: Ptr RawTH1K -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetSumw2" c_th1k_getsumw2 -  :: (Ptr RawTH1K) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetSumw2"+               c_th1k_getsumw2 :: Ptr RawTH1K -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH1K.h TH1K_GetSumw2N" c_th1k_getsumw2n -  :: (Ptr RawTH1K) -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetSumw2N"+               c_th1k_getsumw2n :: Ptr RawTH1K -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_GetRMS" c_th1k_getrms -  :: (Ptr RawTH1K) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetRMS"+               c_th1k_getrms :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetRMSError" c_th1k_getrmserror -  :: (Ptr RawTH1K) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetRMSError"+               c_th1k_getrmserror :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_GetSkewness" c_th1k_getskewness -  :: (Ptr RawTH1K) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetSkewness"+               c_th1k_getskewness :: Ptr RawTH1K -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_integral1" c_th1k_integral1 -  :: (Ptr RawTH1K) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_integral1"+               c_th1k_integral1 ::+               Ptr RawTH1K -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_interpolate1" c_th1k_interpolate1 -  :: (Ptr RawTH1K) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_interpolate1"+               c_th1k_interpolate1 :: Ptr RawTH1K -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_interpolate2" c_th1k_interpolate2 -  :: (Ptr RawTH1K) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_interpolate2"+               c_th1k_interpolate2 ::+               Ptr RawTH1K -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_interpolate3" c_th1k_interpolate3 -  :: (Ptr RawTH1K) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_interpolate3"+               c_th1k_interpolate3 ::+               Ptr RawTH1K -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_KolmogorovTest" c_th1k_kolmogorovtest -  :: (Ptr RawTH1K) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_KolmogorovTest"+               c_th1k_kolmogorovtest ::+               Ptr RawTH1K -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_LabelsDeflate" c_th1k_labelsdeflate -  :: (Ptr RawTH1K) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_LabelsDeflate"+               c_th1k_labelsdeflate :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_LabelsInflate" c_th1k_labelsinflate -  :: (Ptr RawTH1K) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_LabelsInflate"+               c_th1k_labelsinflate :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_LabelsOption" c_th1k_labelsoption -  :: (Ptr RawTH1K) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_LabelsOption"+               c_th1k_labelsoption :: Ptr RawTH1K -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_multiflyF" c_th1k_multiflyf -  :: (Ptr RawTH1K) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_multiflyF"+               c_th1k_multiflyf :: Ptr RawTH1K -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_Multiply" c_th1k_multiply -  :: (Ptr RawTH1K) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_Multiply"+               c_th1k_multiply ::+               Ptr RawTH1K ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_PutStats" c_th1k_putstats -  :: (Ptr RawTH1K) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_PutStats"+               c_th1k_putstats :: Ptr RawTH1K -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_Rebin" c_th1k_rebin -  :: (Ptr RawTH1K) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1K.h TH1K_Rebin" c_th1k_rebin+               ::+               Ptr RawTH1K -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1K.h TH1K_RebinAxis" c_th1k_rebinaxis -  :: (Ptr RawTH1K) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_RebinAxis"+               c_th1k_rebinaxis :: Ptr RawTH1K -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_Rebuild" c_th1k_rebuild -  :: (Ptr RawTH1K) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_Rebuild"+               c_th1k_rebuild :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_RecursiveRemove" c_th1k_recursiveremove -  :: (Ptr RawTH1K) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_RecursiveRemove"+               c_th1k_recursiveremove :: Ptr RawTH1K -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_Reset" c_th1k_reset -  :: (Ptr RawTH1K) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_Reset" c_th1k_reset+               :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_ResetStats" c_th1k_resetstats -  :: (Ptr RawTH1K) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_ResetStats"+               c_th1k_resetstats :: Ptr RawTH1K -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_Scale" c_th1k_scale -  :: (Ptr RawTH1K) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_Scale" c_th1k_scale+               :: Ptr RawTH1K -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setAxisColorA" c_th1k_setaxiscolora -  :: (Ptr RawTH1K) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setAxisColorA"+               c_th1k_setaxiscolora :: Ptr RawTH1K -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetAxisRange" c_th1k_setaxisrange -  :: (Ptr RawTH1K) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetAxisRange"+               c_th1k_setaxisrange ::+               Ptr RawTH1K -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetBarOffset" c_th1k_setbaroffset -  :: (Ptr RawTH1K) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetBarOffset"+               c_th1k_setbaroffset :: Ptr RawTH1K -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetBarWidth" c_th1k_setbarwidth -  :: (Ptr RawTH1K) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetBarWidth"+               c_th1k_setbarwidth :: Ptr RawTH1K -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setBinContent1" c_th1k_setbincontent1 -  :: (Ptr RawTH1K) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setBinContent1"+               c_th1k_setbincontent1 :: Ptr RawTH1K -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setBinContent2" c_th1k_setbincontent2 -  :: (Ptr RawTH1K) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setBinContent2"+               c_th1k_setbincontent2 ::+               Ptr RawTH1K -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setBinContent3" c_th1k_setbincontent3 -  :: (Ptr RawTH1K) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setBinContent3"+               c_th1k_setbincontent3 ::+               Ptr RawTH1K -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setBinError1" c_th1k_setbinerror1 -  :: (Ptr RawTH1K) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setBinError1"+               c_th1k_setbinerror1 :: Ptr RawTH1K -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setBinError2" c_th1k_setbinerror2 -  :: (Ptr RawTH1K) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setBinError2"+               c_th1k_setbinerror2 ::+               Ptr RawTH1K -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setBinError3" c_th1k_setbinerror3 -  :: (Ptr RawTH1K) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setBinError3"+               c_th1k_setbinerror3 ::+               Ptr RawTH1K -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setBins1" c_th1k_setbins1 -  :: (Ptr RawTH1K) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setBins1"+               c_th1k_setbins1 :: Ptr RawTH1K -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setBins2" c_th1k_setbins2 -  :: (Ptr RawTH1K) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setBins2"+               c_th1k_setbins2 ::+               Ptr RawTH1K ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setBins3" c_th1k_setbins3 -  :: (Ptr RawTH1K) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setBins3"+               c_th1k_setbins3 ::+               Ptr RawTH1K ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetBinsLength" c_th1k_setbinslength -  :: (Ptr RawTH1K) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetBinsLength"+               c_th1k_setbinslength :: Ptr RawTH1K -> CInt -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetBuffer" c_th1k_setbuffer -  :: (Ptr RawTH1K) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetBuffer"+               c_th1k_setbuffer :: Ptr RawTH1K -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetCellContent" c_th1k_setcellcontent -  :: (Ptr RawTH1K) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetCellContent"+               c_th1k_setcellcontent ::+               Ptr RawTH1K -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetContent" c_th1k_setcontent -  :: (Ptr RawTH1K) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetContent"+               c_th1k_setcontent :: Ptr RawTH1K -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetContour" c_th1k_setcontour -  :: (Ptr RawTH1K) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetContour"+               c_th1k_setcontour :: Ptr RawTH1K -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetContourLevel" c_th1k_setcontourlevel -  :: (Ptr RawTH1K) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetContourLevel"+               c_th1k_setcontourlevel :: Ptr RawTH1K -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetDirectory" c_th1k_setdirectory -  :: (Ptr RawTH1K) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetDirectory"+               c_th1k_setdirectory :: Ptr RawTH1K -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetEntries" c_th1k_setentries -  :: (Ptr RawTH1K) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetEntries"+               c_th1k_setentries :: Ptr RawTH1K -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetError" c_th1k_seterror -  :: (Ptr RawTH1K) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetError"+               c_th1k_seterror :: Ptr RawTH1K -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setLabelColorA" c_th1k_setlabelcolora -  :: (Ptr RawTH1K) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setLabelColorA"+               c_th1k_setlabelcolora :: Ptr RawTH1K -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setLabelSizeA" c_th1k_setlabelsizea -  :: (Ptr RawTH1K) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setLabelSizeA"+               c_th1k_setlabelsizea :: Ptr RawTH1K -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setLabelFontA" c_th1k_setlabelfonta -  :: (Ptr RawTH1K) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setLabelFontA"+               c_th1k_setlabelfonta :: Ptr RawTH1K -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_setLabelOffsetA" c_th1k_setlabeloffseta -  :: (Ptr RawTH1K) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_setLabelOffsetA"+               c_th1k_setlabeloffseta ::+               Ptr RawTH1K -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetMaximum" c_th1k_setmaximum -  :: (Ptr RawTH1K) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetMaximum"+               c_th1k_setmaximum :: Ptr RawTH1K -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetMinimum" c_th1k_setminimum -  :: (Ptr RawTH1K) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetMinimum"+               c_th1k_setminimum :: Ptr RawTH1K -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetNormFactor" c_th1k_setnormfactor -  :: (Ptr RawTH1K) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetNormFactor"+               c_th1k_setnormfactor :: Ptr RawTH1K -> CDouble -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetStats" c_th1k_setstats -  :: (Ptr RawTH1K) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetStats"+               c_th1k_setstats :: Ptr RawTH1K -> CInt -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetOption" c_th1k_setoption -  :: (Ptr RawTH1K) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetOption"+               c_th1k_setoption :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetXTitle" c_th1k_setxtitle -  :: (Ptr RawTH1K) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetXTitle"+               c_th1k_setxtitle :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetYTitle" c_th1k_setytitle -  :: (Ptr RawTH1K) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetYTitle"+               c_th1k_setytitle :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetZTitle" c_th1k_setztitle -  :: (Ptr RawTH1K) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetZTitle"+               c_th1k_setztitle :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_ShowBackground" c_th1k_showbackground -  :: (Ptr RawTH1K) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1K.h TH1K_ShowBackground"+               c_th1k_showbackground ::+               Ptr RawTH1K -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1K.h TH1K_ShowPeaks" c_th1k_showpeaks -  :: (Ptr RawTH1K) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_ShowPeaks"+               c_th1k_showpeaks ::+               Ptr RawTH1K -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_Smooth" c_th1k_smooth -  :: (Ptr RawTH1K) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_Smooth"+               c_th1k_smooth :: Ptr RawTH1K -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_Sumw2" c_th1k_sumw2 -  :: (Ptr RawTH1K) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_Sumw2" c_th1k_sumw2+               :: Ptr RawTH1K -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_Draw" c_th1k_draw -  :: (Ptr RawTH1K) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetName"+               c_th1k_setname :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_FindObject" c_th1k_findobject -  :: (Ptr RawTH1K) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetNameTitle"+               c_th1k_setnametitle :: Ptr RawTH1K -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_GetName" c_th1k_getname -  :: (Ptr RawTH1K) -> IO CString+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetTitle"+               c_th1k_settitle :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_IsA" c_th1k_isa -  :: (Ptr RawTH1K) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetLineColor"+               c_th1k_getlinecolor :: Ptr RawTH1K -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_Paint" c_th1k_paint -  :: (Ptr RawTH1K) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetLineStyle"+               c_th1k_getlinestyle :: Ptr RawTH1K -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_printObj" c_th1k_printobj -  :: (Ptr RawTH1K) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetLineWidth"+               c_th1k_getlinewidth :: Ptr RawTH1K -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_SaveAs" c_th1k_saveas -  :: (Ptr RawTH1K) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_ResetAttLine"+               c_th1k_resetattline :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_Write" c_th1k_write -  :: (Ptr RawTH1K) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetLineAttributes"+               c_th1k_setlineattributes :: Ptr RawTH1K -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_GetLineColor" c_th1k_getlinecolor -  :: (Ptr RawTH1K) -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetLineColor"+               c_th1k_setlinecolor :: Ptr RawTH1K -> CInt -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_GetLineStyle" c_th1k_getlinestyle -  :: (Ptr RawTH1K) -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetLineStyle"+               c_th1k_setlinestyle :: Ptr RawTH1K -> CInt -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_GetLineWidth" c_th1k_getlinewidth -  :: (Ptr RawTH1K) -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetLineWidth"+               c_th1k_setlinewidth :: Ptr RawTH1K -> CInt -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_ResetAttLine" c_th1k_resetattline -  :: (Ptr RawTH1K) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetFillColor"+               c_th1k_setfillcolor :: Ptr RawTH1K -> CInt -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetLineAttributes" c_th1k_setlineattributes -  :: (Ptr RawTH1K) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetFillStyle"+               c_th1k_setfillstyle :: Ptr RawTH1K -> CInt -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetLineColor" c_th1k_setlinecolor -  :: (Ptr RawTH1K) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMarkerColor"+               c_th1k_getmarkercolor :: Ptr RawTH1K -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_SetLineStyle" c_th1k_setlinestyle -  :: (Ptr RawTH1K) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMarkerStyle"+               c_th1k_getmarkerstyle :: Ptr RawTH1K -> IO CInt -foreign import ccall "HROOTHistTH1K.h TH1K_SetLineWidth" c_th1k_setlinewidth -  :: (Ptr RawTH1K) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetMarkerSize"+               c_th1k_getmarkersize :: Ptr RawTH1K -> IO CDouble -foreign import ccall "HROOTHistTH1K.h TH1K_SetFillColor" c_th1k_setfillcolor -  :: (Ptr RawTH1K) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_ResetAttMarker"+               c_th1k_resetattmarker :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetFillStyle" c_th1k_setfillstyle -  :: (Ptr RawTH1K) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH1K.h TH1K_SetMarkerAttributes"+               c_th1k_setmarkerattributes :: Ptr RawTH1K -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_GetMarkerColor" c_th1k_getmarkercolor -  :: (Ptr RawTH1K) -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetMarkerColor"+               c_th1k_setmarkercolor :: Ptr RawTH1K -> CInt -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_GetMarkerStyle" c_th1k_getmarkerstyle -  :: (Ptr RawTH1K) -> IO CInt+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetMarkerStyle"+               c_th1k_setmarkerstyle :: Ptr RawTH1K -> CInt -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_GetMarkerSize" c_th1k_getmarkersize -  :: (Ptr RawTH1K) -> IO CDouble+foreign import ccall safe "HROOTHistTH1K.h TH1K_SetMarkerSize"+               c_th1k_setmarkersize :: Ptr RawTH1K -> CInt -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_ResetAttMarker" c_th1k_resetattmarker -  :: (Ptr RawTH1K) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_Draw" c_th1k_draw+               :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_SetMarkerAttributes" c_th1k_setmarkerattributes -  :: (Ptr RawTH1K) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_FindObject"+               c_th1k_findobject :: Ptr RawTH1K -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH1K.h TH1K_SetMarkerColor" c_th1k_setmarkercolor -  :: (Ptr RawTH1K) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_GetName"+               c_th1k_getname :: Ptr RawTH1K -> IO CString -foreign import ccall "HROOTHistTH1K.h TH1K_SetMarkerStyle" c_th1k_setmarkerstyle -  :: (Ptr RawTH1K) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_IsA" c_th1k_isa ::+               Ptr RawTH1K -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH1K.h TH1K_SetMarkerSize" c_th1k_setmarkersize -  :: (Ptr RawTH1K) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_Paint" c_th1k_paint+               :: Ptr RawTH1K -> CString -> IO () -foreign import ccall "HROOTHistTH1K.h TH1K_delete" c_th1k_delete -  :: (Ptr RawTH1K) -> IO ()+foreign import ccall safe "HROOTHistTH1K.h TH1K_printObj"+               c_th1k_printobj :: Ptr RawTH1K -> CString -> IO () +foreign import ccall safe "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 safe "HROOTHistTH1K.h TH1K_delete"+               c_th1k_delete :: Ptr RawTH1K -> IO ()
src/HROOT/Hist/TH1K/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1K.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH1K.RawType import HROOT.Hist.TH1K.FFI import HROOT.Hist.TH1K.Interface@@ -32,9 +33,9 @@ import HROOT.Core.TArrayF.RawType import HROOT.Core.TArrayF.Cast import HROOT.Core.TArrayF.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -44,6 +45,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -51,358 +55,183 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH1K TH1K -instance ITH1K 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-  drawNormalized = xform2 c_th1k_drawnormalized-  drawPanelTH1 = xform0 c_th1k_drawpanelth1-  bufferEmpty = xform1 c_th1k_bufferempty-  evalF = xform2 c_th1k_evalf-  fFT = xform2 c_th1k_fft-  fill1 = xform1 c_th1k_fill1-  fill1w = xform2 c_th1k_fill1w-  fillN1 = xform4 c_th1k_filln1-  fillRandom = xform2 c_th1k_fillrandom-  findBin = xform3 c_th1k_findbin-  findFixBin = xform3 c_th1k_findfixbin-  findFirstBinAbove = xform2 c_th1k_findfirstbinabove-  findLastBinAbove = xform2 c_th1k_findlastbinabove-  fitPanelTH1 = xform0 c_th1k_fitpanelth1-  getNdivisionA = xform1 c_th1k_getndivisiona-  getAxisColorA = xform1 c_th1k_getaxiscolora-  getLabelColorA = xform1 c_th1k_getlabelcolora-  getLabelFontA = xform1 c_th1k_getlabelfonta-  getLabelOffsetA = xform1 c_th1k_getlabeloffseta-  getLabelSizeA = xform1 c_th1k_getlabelsizea-  getTitleFontA = xform1 c_th1k_gettitlefonta-  getTitleOffsetA = xform1 c_th1k_gettitleoffseta-  getTitleSizeA = xform1 c_th1k_gettitlesizea-  getTickLengthA = xform1 c_th1k_getticklengtha-  getBarOffset = xform0 c_th1k_getbaroffset-  getBarWidth = xform0 c_th1k_getbarwidth-  getContour = xform1 c_th1k_getcontour-  getContourLevel = xform1 c_th1k_getcontourlevel-  getContourLevelPad = xform1 c_th1k_getcontourlevelpad-  getBin = xform3 c_th1k_getbin-  getBinCenter = xform1 c_th1k_getbincenter-  getBinContent1 = xform1 c_th1k_getbincontent1-  getBinContent2 = xform2 c_th1k_getbincontent2-  getBinContent3 = xform3 c_th1k_getbincontent3-  getBinError1 = xform1 c_th1k_getbinerror1-  getBinError2 = xform2 c_th1k_getbinerror2-  getBinError3 = xform3 c_th1k_getbinerror3-  getBinLowEdge = xform1 c_th1k_getbinlowedge-  getBinWidth = xform1 c_th1k_getbinwidth-  getCellContent = xform2 c_th1k_getcellcontent-  getCellError = xform2 c_th1k_getcellerror-  getEntries = xform0 c_th1k_getentries-  getEffectiveEntries = xform0 c_th1k_geteffectiveentries-  getFunction = xform1 c_th1k_getfunction-  getDimension = xform0 c_th1k_getdimension-  getKurtosis = xform1 c_th1k_getkurtosis-  getLowEdge = xform1 c_th1k_getlowedge-  getMaximumTH1 = xform1 c_th1k_getmaximumth1-  getMaximumBin = xform0 c_th1k_getmaximumbin-  getMaximumStored = xform0 c_th1k_getmaximumstored-  getMinimumTH1 = xform1 c_th1k_getminimumth1-  getMinimumBin = xform0 c_th1k_getminimumbin-  getMinimumStored = xform0 c_th1k_getminimumstored-  getMean = xform1 c_th1k_getmean-  getMeanError = xform1 c_th1k_getmeanerror-  getNbinsX = xform0 c_th1k_getnbinsx-  getNbinsY = xform0 c_th1k_getnbinsy-  getNbinsZ = xform0 c_th1k_getnbinsz-  getQuantilesTH1 = xform3 c_th1k_getquantilesth1-  getRandom = xform0 c_th1k_getrandom-  getStats = xform1 c_th1k_getstats-  getSumOfWeights = xform0 c_th1k_getsumofweights-  getSumw2 = xform0 c_th1k_getsumw2-  getSumw2N = xform0 c_th1k_getsumw2n-  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-  labelsInflate = xform1 c_th1k_labelsinflate-  labelsOption = xform2 c_th1k_labelsoption-  multiflyF = xform2 c_th1k_multiflyf-  multiply = xform5 c_th1k_multiply-  putStats = xform1 c_th1k_putstats-  rebin = xform3 c_th1k_rebin-  rebinAxis = xform2 c_th1k_rebinaxis-  rebuild = xform1 c_th1k_rebuild-  recursiveRemove = xform1 c_th1k_recursiveremove-  reset = xform1 c_th1k_reset-  resetStats = xform0 c_th1k_resetstats-  scale = xform2 c_th1k_scale-  setAxisColorA = xform2 c_th1k_setaxiscolora-  setAxisRange = xform3 c_th1k_setaxisrange-  setBarOffset = xform1 c_th1k_setbaroffset-  setBarWidth = xform1 c_th1k_setbarwidth-  setBinContent1 = xform2 c_th1k_setbincontent1-  setBinContent2 = xform3 c_th1k_setbincontent2-  setBinContent3 = xform4 c_th1k_setbincontent3-  setBinError1 = xform2 c_th1k_setbinerror1-  setBinError2 = xform3 c_th1k_setbinerror2-  setBinError3 = xform4 c_th1k_setbinerror3-  setBins1 = xform2 c_th1k_setbins1-  setBins2 = xform4 c_th1k_setbins2-  setBins3 = xform6 c_th1k_setbins3-  setBinsLength = xform1 c_th1k_setbinslength-  setBuffer = xform2 c_th1k_setbuffer-  setCellContent = xform3 c_th1k_setcellcontent-  setContent = xform1 c_th1k_setcontent-  setContour = xform2 c_th1k_setcontour-  setContourLevel = xform2 c_th1k_setcontourlevel-  setDirectory = xform1 c_th1k_setdirectory-  setEntries = xform1 c_th1k_setentries-  setError = xform1 c_th1k_seterror-  setLabelColorA = xform2 c_th1k_setlabelcolora-  setLabelSizeA = xform2 c_th1k_setlabelsizea-  setLabelFontA = xform2 c_th1k_setlabelfonta-  setLabelOffsetA = xform2 c_th1k_setlabeloffseta-  setMaximum = xform1 c_th1k_setmaximum-  setMinimum = xform1 c_th1k_setminimum-  setNormFactor = xform1 c_th1k_setnormfactor-  setStats = xform1 c_th1k_setstats-  setOption = xform1 c_th1k_setoption-  setXTitle = xform1 c_th1k_setxtitle-  setYTitle = xform1 c_th1k_setytitle-  setZTitle = xform1 c_th1k_setztitle-  showBackground = xform2 c_th1k_showbackground-  showPeaks = xform3 c_th1k_showpeaks-  smooth = xform2 c_th1k_smooth-  sumw2 = xform0 c_th1k_sumw2-instance ITArrayF TH1K where-instance ITObject TH1K where-  draw = xform1 c_th1k_draw-  findObject = xform1 c_th1k_findobject-  getName = xform0 c_th1k_getname-  isA = xform0 c_th1k_isa-  paint = xform1 c_th1k_paint-  printObj = xform1 c_th1k_printobj-  saveAs = xform2 c_th1k_saveas-  write = xform3 c_th1k_write-instance ITAttLine TH1K where-  getLineColor = xform0 c_th1k_getlinecolor-  getLineStyle = xform0 c_th1k_getlinestyle-  getLineWidth = xform0 c_th1k_getlinewidth-  resetAttLine = xform1 c_th1k_resetattline-  setLineAttributes = xform0 c_th1k_setlineattributes-  setLineColor = xform1 c_th1k_setlinecolor-  setLineStyle = xform1 c_th1k_setlinestyle-  setLineWidth = xform1 c_th1k_setlinewidth-instance ITAttFill TH1K where-  setFillColor = xform1 c_th1k_setfillcolor-  setFillStyle = xform1 c_th1k_setfillstyle-instance ITAttMarker TH1K where-  getMarkerColor = xform0 c_th1k_getmarkercolor-  getMarkerStyle = xform0 c_th1k_getmarkerstyle-  getMarkerSize = xform0 c_th1k_getmarkersize-  resetAttMarker = xform1 c_th1k_resetattmarker-  setMarkerAttributes = xform0 c_th1k_setmarkerattributes-  setMarkerColor = xform1 c_th1k_setmarkercolor-  setMarkerStyle = xform1 c_th1k_setmarkerstyle-  setMarkerSize = xform1 c_th1k_setmarkersize-instance IDeletable TH1K where-  delete = xform0 c_th1k_delete-instance ITArray TH1K where--instance ITH1K (Exist TH1K) where--instance ITH1 (Exist TH1K) where-  add (ETH1K x) = add x-  addBinContent (ETH1K x) = addBinContent x-  chi2Test (ETH1K x) = chi2Test x-  computeIntegral (ETH1K x) = computeIntegral x-  directoryAutoAdd (ETH1K x) = directoryAutoAdd x-  divide (ETH1K x) = divide x-  drawCopyTH1 (ETH1K x) a1 = return . ETH1K =<< drawCopyTH1 x a1-  drawNormalized (ETH1K x) = drawNormalized x-  drawPanelTH1 (ETH1K x) = drawPanelTH1 x-  bufferEmpty (ETH1K x) = bufferEmpty x-  evalF (ETH1K x) = evalF x-  fFT (ETH1K x) = fFT x-  fill1 (ETH1K x) = fill1 x-  fill1w (ETH1K x) = fill1w x-  fillN1 (ETH1K x) = fillN1 x-  fillRandom (ETH1K x) = fillRandom x-  findBin (ETH1K x) = findBin x-  findFixBin (ETH1K x) = findFixBin x-  findFirstBinAbove (ETH1K x) = findFirstBinAbove x-  findLastBinAbove (ETH1K x) = findLastBinAbove x-  fitPanelTH1 (ETH1K x) = fitPanelTH1 x-  getNdivisionA (ETH1K x) = getNdivisionA x-  getAxisColorA (ETH1K x) = getAxisColorA x-  getLabelColorA (ETH1K x) = getLabelColorA x-  getLabelFontA (ETH1K x) = getLabelFontA x-  getLabelOffsetA (ETH1K x) = getLabelOffsetA x-  getLabelSizeA (ETH1K x) = getLabelSizeA x-  getTitleFontA (ETH1K x) = getTitleFontA x-  getTitleOffsetA (ETH1K x) = getTitleOffsetA x-  getTitleSizeA (ETH1K x) = getTitleSizeA x-  getTickLengthA (ETH1K x) = getTickLengthA x-  getBarOffset (ETH1K x) = getBarOffset x-  getBarWidth (ETH1K x) = getBarWidth x-  getContour (ETH1K x) = getContour x-  getContourLevel (ETH1K x) = getContourLevel x-  getContourLevelPad (ETH1K x) = getContourLevelPad x-  getBin (ETH1K x) = getBin x-  getBinCenter (ETH1K x) = getBinCenter x-  getBinContent1 (ETH1K x) = getBinContent1 x-  getBinContent2 (ETH1K x) = getBinContent2 x-  getBinContent3 (ETH1K x) = getBinContent3 x-  getBinError1 (ETH1K x) = getBinError1 x-  getBinError2 (ETH1K x) = getBinError2 x-  getBinError3 (ETH1K x) = getBinError3 x-  getBinLowEdge (ETH1K x) = getBinLowEdge x-  getBinWidth (ETH1K x) = getBinWidth x-  getCellContent (ETH1K x) = getCellContent x-  getCellError (ETH1K x) = getCellError x-  getEntries (ETH1K x) = getEntries x-  getEffectiveEntries (ETH1K x) = getEffectiveEntries x-  getFunction (ETH1K x) = getFunction x-  getDimension (ETH1K x) = getDimension x-  getKurtosis (ETH1K x) = getKurtosis x-  getLowEdge (ETH1K x) = getLowEdge x-  getMaximumTH1 (ETH1K x) = getMaximumTH1 x-  getMaximumBin (ETH1K x) = getMaximumBin x-  getMaximumStored (ETH1K x) = getMaximumStored x-  getMinimumTH1 (ETH1K x) = getMinimumTH1 x-  getMinimumBin (ETH1K x) = getMinimumBin x-  getMinimumStored (ETH1K x) = getMinimumStored x-  getMean (ETH1K x) = getMean x-  getMeanError (ETH1K x) = getMeanError x-  getNbinsX (ETH1K x) = getNbinsX x-  getNbinsY (ETH1K x) = getNbinsY x-  getNbinsZ (ETH1K x) = getNbinsZ x-  getQuantilesTH1 (ETH1K x) = getQuantilesTH1 x-  getRandom (ETH1K x) = getRandom x-  getStats (ETH1K x) = getStats x-  getSumOfWeights (ETH1K x) = getSumOfWeights x-  getSumw2 (ETH1K x) = getSumw2 x-  getSumw2N (ETH1K x) = getSumw2N x-  getRMS (ETH1K x) = getRMS x-  getRMSError (ETH1K x) = getRMSError x-  getSkewness (ETH1K x) = getSkewness x-  integral1 (ETH1K x) = integral1 x-  interpolate1 (ETH1K x) = interpolate1 x-  interpolate2 (ETH1K x) = interpolate2 x-  interpolate3 (ETH1K x) = interpolate3 x-  kolmogorovTest (ETH1K x) = kolmogorovTest x-  labelsDeflate (ETH1K x) = labelsDeflate x-  labelsInflate (ETH1K x) = labelsInflate x-  labelsOption (ETH1K x) = labelsOption x-  multiflyF (ETH1K x) = multiflyF x-  multiply (ETH1K x) = multiply x-  putStats (ETH1K x) = putStats x-  rebin (ETH1K x) = rebin x-  rebinAxis (ETH1K x) = rebinAxis x-  rebuild (ETH1K x) = rebuild x-  recursiveRemove (ETH1K x) = recursiveRemove x-  reset (ETH1K x) = reset x-  resetStats (ETH1K x) = resetStats x-  scale (ETH1K x) = scale x-  setAxisColorA (ETH1K x) = setAxisColorA x-  setAxisRange (ETH1K x) = setAxisRange x-  setBarOffset (ETH1K x) = setBarOffset x-  setBarWidth (ETH1K x) = setBarWidth x-  setBinContent1 (ETH1K x) = setBinContent1 x-  setBinContent2 (ETH1K x) = setBinContent2 x-  setBinContent3 (ETH1K x) = setBinContent3 x-  setBinError1 (ETH1K x) = setBinError1 x-  setBinError2 (ETH1K x) = setBinError2 x-  setBinError3 (ETH1K x) = setBinError3 x-  setBins1 (ETH1K x) = setBins1 x-  setBins2 (ETH1K x) = setBins2 x-  setBins3 (ETH1K x) = setBins3 x-  setBinsLength (ETH1K x) = setBinsLength x-  setBuffer (ETH1K x) = setBuffer x-  setCellContent (ETH1K x) = setCellContent x-  setContent (ETH1K x) = setContent x-  setContour (ETH1K x) = setContour x-  setContourLevel (ETH1K x) = setContourLevel x-  setDirectory (ETH1K x) = setDirectory x-  setEntries (ETH1K x) = setEntries x-  setError (ETH1K x) = setError x-  setLabelColorA (ETH1K x) = setLabelColorA x-  setLabelSizeA (ETH1K x) = setLabelSizeA x-  setLabelFontA (ETH1K x) = setLabelFontA x-  setLabelOffsetA (ETH1K x) = setLabelOffsetA x-  setMaximum (ETH1K x) = setMaximum x-  setMinimum (ETH1K x) = setMinimum x-  setNormFactor (ETH1K x) = setNormFactor x-  setStats (ETH1K x) = setStats x-  setOption (ETH1K x) = setOption x-  setXTitle (ETH1K x) = setXTitle x-  setYTitle (ETH1K x) = setYTitle x-  setZTitle (ETH1K x) = setZTitle x-  showBackground (ETH1K x) = showBackground x-  showPeaks (ETH1K x) = showPeaks x-  smooth (ETH1K x) = smooth x-  sumw2 (ETH1K x) = sumw2 x-instance ITArrayF (Exist TH1K) where--instance ITObject (Exist TH1K) where-  draw (ETH1K x) = draw x-  findObject (ETH1K x) = findObject x-  getName (ETH1K x) = getName x-  isA (ETH1K x) = isA x-  paint (ETH1K x) = paint x-  printObj (ETH1K x) = printObj x-  saveAs (ETH1K x) = saveAs x-  write (ETH1K x) = write x-instance ITAttLine (Exist TH1K) where-  getLineColor (ETH1K x) = getLineColor x-  getLineStyle (ETH1K x) = getLineStyle x-  getLineWidth (ETH1K x) = getLineWidth x-  resetAttLine (ETH1K x) = resetAttLine x-  setLineAttributes (ETH1K x) = setLineAttributes x-  setLineColor (ETH1K x) = setLineColor x-  setLineStyle (ETH1K x) = setLineStyle x-  setLineWidth (ETH1K x) = setLineWidth x-instance ITAttFill (Exist TH1K) where-  setFillColor (ETH1K x) = setFillColor x-  setFillStyle (ETH1K x) = setFillStyle x-instance ITAttMarker (Exist TH1K) where-  getMarkerColor (ETH1K x) = getMarkerColor x-  getMarkerStyle (ETH1K x) = getMarkerStyle x-  getMarkerSize (ETH1K x) = getMarkerSize x-  resetAttMarker (ETH1K x) = resetAttMarker x-  setMarkerAttributes (ETH1K x) = setMarkerAttributes x-  setMarkerColor (ETH1K x) = setMarkerColor x-  setMarkerStyle (ETH1K x) = setMarkerStyle x-  setMarkerSize (ETH1K x) = setMarkerSize x-instance IDeletable (Exist TH1K) where-  delete (ETH1K x) = delete x-instance ITArray (Exist 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+        drawNormalized = xform2 c_th1k_drawnormalized+        drawPanelTH1 = xform0 c_th1k_drawpanelth1+        bufferEmpty = xform1 c_th1k_bufferempty+        evalF = xform2 c_th1k_evalf+        fFT = xform2 c_th1k_fft+        fill1 = xform1 c_th1k_fill1+        fill1w = xform2 c_th1k_fill1w+        fillN1 = xform4 c_th1k_filln1+        fillRandom = xform2 c_th1k_fillrandom+        findBin = xform3 c_th1k_findbin+        findFixBin = xform3 c_th1k_findfixbin+        findFirstBinAbove = xform2 c_th1k_findfirstbinabove+        findLastBinAbove = xform2 c_th1k_findlastbinabove+        fit = xform5 c_th1k_fit+        fitPanelTH1 = xform0 c_th1k_fitpanelth1+        getNdivisionA = xform1 c_th1k_getndivisiona+        getAxisColorA = xform1 c_th1k_getaxiscolora+        getLabelColorA = xform1 c_th1k_getlabelcolora+        getLabelFontA = xform1 c_th1k_getlabelfonta+        getLabelOffsetA = xform1 c_th1k_getlabeloffseta+        getLabelSizeA = xform1 c_th1k_getlabelsizea+        getTitleFontA = xform1 c_th1k_gettitlefonta+        getTitleOffsetA = xform1 c_th1k_gettitleoffseta+        getTitleSizeA = xform1 c_th1k_gettitlesizea+        getTickLengthA = xform1 c_th1k_getticklengtha+        getBarOffset = xform0 c_th1k_getbaroffset+        getBarWidth = xform0 c_th1k_getbarwidth+        getContour = xform1 c_th1k_getcontour+        getContourLevel = xform1 c_th1k_getcontourlevel+        getContourLevelPad = xform1 c_th1k_getcontourlevelpad+        getBin = xform3 c_th1k_getbin+        getBinCenter = xform1 c_th1k_getbincenter+        getBinContent1 = xform1 c_th1k_getbincontent1+        getBinContent2 = xform2 c_th1k_getbincontent2+        getBinContent3 = xform3 c_th1k_getbincontent3+        getBinError1 = xform1 c_th1k_getbinerror1+        getBinError2 = xform2 c_th1k_getbinerror2+        getBinError3 = xform3 c_th1k_getbinerror3+        getBinLowEdge = xform1 c_th1k_getbinlowedge+        getBinWidth = xform1 c_th1k_getbinwidth+        getCellContent = xform2 c_th1k_getcellcontent+        getCellError = xform2 c_th1k_getcellerror+        getEntries = xform0 c_th1k_getentries+        getEffectiveEntries = xform0 c_th1k_geteffectiveentries+        getFunction = xform1 c_th1k_getfunction+        getDimension = xform0 c_th1k_getdimension+        getKurtosis = xform1 c_th1k_getkurtosis+        getLowEdge = xform1 c_th1k_getlowedge+        getMaximumTH1 = xform1 c_th1k_getmaximumth1+        getMaximumBin = xform0 c_th1k_getmaximumbin+        getMaximumStored = xform0 c_th1k_getmaximumstored+        getMinimumTH1 = xform1 c_th1k_getminimumth1+        getMinimumBin = xform0 c_th1k_getminimumbin+        getMinimumStored = xform0 c_th1k_getminimumstored+        getMean = xform1 c_th1k_getmean+        getMeanError = xform1 c_th1k_getmeanerror+        getNbinsX = xform0 c_th1k_getnbinsx+        getNbinsY = xform0 c_th1k_getnbinsy+        getNbinsZ = xform0 c_th1k_getnbinsz+        getQuantilesTH1 = xform3 c_th1k_getquantilesth1+        getRandom = xform0 c_th1k_getrandom+        getStats = xform1 c_th1k_getstats+        getSumOfWeights = xform0 c_th1k_getsumofweights+        getSumw2 = xform0 c_th1k_getsumw2+        getSumw2N = xform0 c_th1k_getsumw2n+        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+        labelsInflate = xform1 c_th1k_labelsinflate+        labelsOption = xform2 c_th1k_labelsoption+        multiflyF = xform2 c_th1k_multiflyf+        multiply = xform5 c_th1k_multiply+        putStats = xform1 c_th1k_putstats+        rebin = xform3 c_th1k_rebin+        rebinAxis = xform2 c_th1k_rebinaxis+        rebuild = xform1 c_th1k_rebuild+        recursiveRemove = xform1 c_th1k_recursiveremove+        reset = xform1 c_th1k_reset+        resetStats = xform0 c_th1k_resetstats+        scale = xform2 c_th1k_scale+        setAxisColorA = xform2 c_th1k_setaxiscolora+        setAxisRange = xform3 c_th1k_setaxisrange+        setBarOffset = xform1 c_th1k_setbaroffset+        setBarWidth = xform1 c_th1k_setbarwidth+        setBinContent1 = xform2 c_th1k_setbincontent1+        setBinContent2 = xform3 c_th1k_setbincontent2+        setBinContent3 = xform4 c_th1k_setbincontent3+        setBinError1 = xform2 c_th1k_setbinerror1+        setBinError2 = xform3 c_th1k_setbinerror2+        setBinError3 = xform4 c_th1k_setbinerror3+        setBins1 = xform2 c_th1k_setbins1+        setBins2 = xform4 c_th1k_setbins2+        setBins3 = xform6 c_th1k_setbins3+        setBinsLength = xform1 c_th1k_setbinslength+        setBuffer = xform2 c_th1k_setbuffer+        setCellContent = xform3 c_th1k_setcellcontent+        setContent = xform1 c_th1k_setcontent+        setContour = xform2 c_th1k_setcontour+        setContourLevel = xform2 c_th1k_setcontourlevel+        setDirectory = xform1 c_th1k_setdirectory+        setEntries = xform1 c_th1k_setentries+        setError = xform1 c_th1k_seterror+        setLabelColorA = xform2 c_th1k_setlabelcolora+        setLabelSizeA = xform2 c_th1k_setlabelsizea+        setLabelFontA = xform2 c_th1k_setlabelfonta+        setLabelOffsetA = xform2 c_th1k_setlabeloffseta+        setMaximum = xform1 c_th1k_setmaximum+        setMinimum = xform1 c_th1k_setminimum+        setNormFactor = xform1 c_th1k_setnormfactor+        setStats = xform1 c_th1k_setstats+        setOption = xform1 c_th1k_setoption+        setXTitle = xform1 c_th1k_setxtitle+        setYTitle = xform1 c_th1k_setytitle+        setZTitle = xform1 c_th1k_setztitle+        showBackground = xform2 c_th1k_showbackground+        showPeaks = xform3 c_th1k_showpeaks+        smooth = xform2 c_th1k_smooth+        sumw2 = xform0 c_th1k_sumw2 +instance ITArrayF TH1K +instance ITNamed TH1K where+        setName = xform1 c_th1k_setname+        setNameTitle = xform2 c_th1k_setnametitle+        setTitle = xform1 c_th1k_settitle +instance ITAttLine TH1K where+        getLineColor = xform0 c_th1k_getlinecolor+        getLineStyle = xform0 c_th1k_getlinestyle+        getLineWidth = xform0 c_th1k_getlinewidth+        resetAttLine = xform1 c_th1k_resetattline+        setLineAttributes = xform0 c_th1k_setlineattributes+        setLineColor = xform1 c_th1k_setlinecolor+        setLineStyle = xform1 c_th1k_setlinestyle+        setLineWidth = xform1 c_th1k_setlinewidth +instance ITAttFill TH1K where+        setFillColor = xform1 c_th1k_setfillcolor+        setFillStyle = xform1 c_th1k_setfillstyle +instance ITAttMarker TH1K where+        getMarkerColor = xform0 c_th1k_getmarkercolor+        getMarkerStyle = xform0 c_th1k_getmarkerstyle+        getMarkerSize = xform0 c_th1k_getmarkersize+        resetAttMarker = xform1 c_th1k_resetattmarker+        setMarkerAttributes = xform0 c_th1k_setmarkerattributes+        setMarkerColor = xform1 c_th1k_setmarkercolor+        setMarkerStyle = xform1 c_th1k_setmarkerstyle+        setMarkerSize = xform1 c_th1k_setmarkersize +instance ITObject TH1K where+        draw = xform1 c_th1k_draw+        findObject = xform1 c_th1k_findobject+        getName = xform0 c_th1k_getname+        isA = xform0 c_th1k_isa+        paint = xform1 c_th1k_paint+        printObj = xform1 c_th1k_printobj+        saveAs = xform2 c_th1k_saveas+        write = xform3 c_th1k_write +instance IDeletable TH1K where+        delete = xform0 c_th1k_delete -instance FPtr (Exist TH1K) where-  type Raw (Exist TH1K) = RawTH1K-  get_fptr (ETH1K obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH1K (cast_fptr_to_obj (fptr :: ForeignPtr RawTH1K) :: TH1K)+instance ITArray TH1K
src/HROOT/Hist/TH1K/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1K.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH1K.RawType- import HROOT.Hist.TH1.Interface import HROOT.Core.TArrayF.Interface----- ============ ---- ---class (ITH1 a,ITArrayF a) => ITH1K a where--instance Existable TH1K where-  data Exist TH1K = forall a. (FPtr a, ITH1K a) => ETH1K a+class (ITH1 a, ITArrayF a) => ITH1K a -upcastTH1K :: (FPtr a, ITH1K a) => a -> TH1K-upcastTH1K h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH1K = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH1K :: forall a . (FPtr a, ITH1K a) => a -> TH1K+upcastTH1K h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH1K = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH1K :: (FPtr a, ITH1K a) => TH1K -> a -downcastTH1K h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH1K :: forall a . (FPtr a, ITH1K a) => TH1K -> a+downcastTH1K h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH1K/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH1K.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH1K -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH1K = TH1K (Ptr RawTH1K)+             deriving (Eq, Ord, Show) -data RawTH1K-newtype TH1K = TH1K (ForeignPtr RawTH1K) deriving (Eq, Ord, Show) instance FPtr TH1K where-   type Raw TH1K = RawTH1K-   get_fptr (TH1K fptr) = fptr-   cast_fptr_to_obj = TH1K+        type Raw TH1K = RawTH1K+        get_fptr (TH1K ptr) = ptr+        cast_fptr_to_obj = TH1K
src/HROOT/Hist/TH1S.hs view
@@ -1,15 +1,5 @@-module HROOT.Hist.TH1S-  (-    TH1S(..)-  , ITH1S-  , upcastTH1S-  , downcastTH1S-- -  ) where-+module HROOT.Hist.TH1S (TH1S(..), ITH1S, upcastTH1S, downcastTH1S)+       where import HROOT.Hist.TH1S.RawType import HROOT.Hist.TH1S.Interface import HROOT.Hist.TH1S.Implementation--
src/HROOT/Hist/TH1S/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH1S.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH1S.RawType import HROOT.Hist.TH1S.Interface  instance (ITH1S a, FPtr a) => Castable a (Ptr RawTH1S) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH1S (Ptr RawTH1S) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH1S.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH1S.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType@@ -21,476 +11,524 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH1S.h"+foreign import ccall safe "HROOTHistTH1S.h TH1S_Add" c_th1s_add ::+               Ptr RawTH1S -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "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 "HROOTHistTH1S.h TH1S_AddBinContent" c_th1s_addbincontent -  :: (Ptr RawTH1S) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_Chi2Test"+               c_th1s_chi2test ::+               Ptr RawTH1S -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH1S.h TH1S_ComputeIntegral" c_th1s_computeintegral -  :: (Ptr RawTH1S) -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_DirectoryAutoAdd"+               c_th1s_directoryautoadd ::+               Ptr RawTH1S -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_DirectoryAutoAdd" c_th1s_directoryautoadd -  :: (Ptr RawTH1S) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_Divide"+               c_th1s_divide ::+               Ptr RawTH1S ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH1S.h TH1S_drawCopyTH1" c_th1s_drawcopyth1 -  :: (Ptr RawTH1S) -> CString -> IO (Ptr RawTH1S)+foreign import ccall safe "HROOTHistTH1S.h TH1S_DrawNormalized"+               c_th1s_drawnormalized ::+               Ptr RawTH1S -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH1S.h TH1S_evalF" c_th1s_evalf -  :: (Ptr RawTH1S) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_FFT" c_th1s_fft ::+               Ptr RawTH1S -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH1S.h TH1S_fill1" c_th1s_fill1 -  :: (Ptr RawTH1S) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_fill1w"+               c_th1s_fill1w :: Ptr RawTH1S -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_fill1w" c_th1s_fill1w -  :: (Ptr RawTH1S) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_fillN1"+               c_th1s_filln1 ::+               Ptr RawTH1S ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_fillN1" c_th1s_filln1 -  :: (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 "HROOTHistTH1S.h TH1S_FillRandom" c_th1s_fillrandom -  :: (Ptr RawTH1S) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_FindBin"+               c_th1s_findbin ::+               Ptr RawTH1S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH1S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH1S.h TH1S_FindFirstBinAbove" c_th1s_findfirstbinabove -  :: (Ptr RawTH1S) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_FindLastBinAbove"+               c_th1s_findlastbinabove ::+               Ptr RawTH1S -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_FindLastBinAbove" c_th1s_findlastbinabove -  :: (Ptr RawTH1S) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_Fit" c_th1s_fit ::+               Ptr RawTH1S ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_FitPanelTH1" c_th1s_fitpanelth1 -  :: (Ptr RawTH1S) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_FitPanelTH1"+               c_th1s_fitpanelth1 :: Ptr RawTH1S -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_getNdivisionA" c_th1s_getndivisiona -  :: (Ptr RawTH1S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_getNdivisionA"+               c_th1s_getndivisiona :: Ptr RawTH1S -> CString -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_getAxisColorA" c_th1s_getaxiscolora -  :: (Ptr RawTH1S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_getAxisColorA"+               c_th1s_getaxiscolora :: Ptr RawTH1S -> CString -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_getLabelColorA" c_th1s_getlabelcolora -  :: (Ptr RawTH1S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_getLabelColorA"+               c_th1s_getlabelcolora :: Ptr RawTH1S -> CString -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_getLabelFontA" c_th1s_getlabelfonta -  :: (Ptr RawTH1S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_getLabelFontA"+               c_th1s_getlabelfonta :: Ptr RawTH1S -> CString -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_getLabelOffsetA" c_th1s_getlabeloffseta -  :: (Ptr RawTH1S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_getLabelOffsetA"+               c_th1s_getlabeloffseta :: Ptr RawTH1S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_getLabelSizeA" c_th1s_getlabelsizea -  :: (Ptr RawTH1S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_getLabelSizeA"+               c_th1s_getlabelsizea :: Ptr RawTH1S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_getTitleFontA" c_th1s_gettitlefonta -  :: (Ptr RawTH1S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_getTitleFontA"+               c_th1s_gettitlefonta :: Ptr RawTH1S -> CString -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_getTitleOffsetA" c_th1s_gettitleoffseta -  :: (Ptr RawTH1S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_getTitleOffsetA"+               c_th1s_gettitleoffseta :: Ptr RawTH1S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_getTitleSizeA" c_th1s_gettitlesizea -  :: (Ptr RawTH1S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_getTitleSizeA"+               c_th1s_gettitlesizea :: Ptr RawTH1S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_getTickLengthA" c_th1s_getticklengtha -  :: (Ptr RawTH1S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_getTickLengthA"+               c_th1s_getticklengtha :: Ptr RawTH1S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetBarOffset" c_th1s_getbaroffset -  :: (Ptr RawTH1S) -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBarOffset"+               c_th1s_getbaroffset :: Ptr RawTH1S -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetBarWidth" c_th1s_getbarwidth -  :: (Ptr RawTH1S) -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBarWidth"+               c_th1s_getbarwidth :: Ptr RawTH1S -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetContour" c_th1s_getcontour -  :: (Ptr RawTH1S) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetContour"+               c_th1s_getcontour :: Ptr RawTH1S -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_GetContourLevel" c_th1s_getcontourlevel -  :: (Ptr RawTH1S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetContourLevel"+               c_th1s_getcontourlevel :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetContourLevelPad" c_th1s_getcontourlevelpad -  :: (Ptr RawTH1S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetContourLevelPad"+               c_th1s_getcontourlevelpad :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetBin" c_th1s_getbin -  :: (Ptr RawTH1S) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBin"+               c_th1s_getbin :: Ptr RawTH1S -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_GetBinCenter" c_th1s_getbincenter -  :: (Ptr RawTH1S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinCenter"+               c_th1s_getbincenter :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetBinContent1" c_th1s_getbincontent1 -  :: (Ptr RawTH1S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinContent1"+               c_th1s_getbincontent1 :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetBinContent2" c_th1s_getbincontent2 -  :: (Ptr RawTH1S) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinContent2"+               c_th1s_getbincontent2 :: Ptr RawTH1S -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetBinContent3" c_th1s_getbincontent3 -  :: (Ptr RawTH1S) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinContent3"+               c_th1s_getbincontent3 ::+               Ptr RawTH1S -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetBinError1" c_th1s_getbinerror1 -  :: (Ptr RawTH1S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinError1"+               c_th1s_getbinerror1 :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetBinError2" c_th1s_getbinerror2 -  :: (Ptr RawTH1S) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinError2"+               c_th1s_getbinerror2 :: Ptr RawTH1S -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetBinError3" c_th1s_getbinerror3 -  :: (Ptr RawTH1S) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinError3"+               c_th1s_getbinerror3 ::+               Ptr RawTH1S -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetBinLowEdge" c_th1s_getbinlowedge -  :: (Ptr RawTH1S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinLowEdge"+               c_th1s_getbinlowedge :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetBinWidth" c_th1s_getbinwidth -  :: (Ptr RawTH1S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetBinWidth"+               c_th1s_getbinwidth :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetCellContent" c_th1s_getcellcontent -  :: (Ptr RawTH1S) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetCellContent"+               c_th1s_getcellcontent :: Ptr RawTH1S -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetCellError" c_th1s_getcellerror -  :: (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 "HROOTHistTH1S.h TH1S_GetEntries" c_th1s_getentries -  :: (Ptr RawTH1S) -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetEntries"+               c_th1s_getentries :: Ptr RawTH1S -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetEffectiveEntries" c_th1s_geteffectiveentries -  :: (Ptr RawTH1S) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH1S.h TH1S_GetEffectiveEntries"+               c_th1s_geteffectiveentries :: Ptr RawTH1S -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetFunction" c_th1s_getfunction -  :: (Ptr RawTH1S) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetFunction"+               c_th1s_getfunction :: Ptr RawTH1S -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH1S.h TH1S_GetDimension" c_th1s_getdimension -  :: (Ptr RawTH1S) -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetDimension"+               c_th1s_getdimension :: Ptr RawTH1S -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_GetKurtosis" c_th1s_getkurtosis -  :: (Ptr RawTH1S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetKurtosis"+               c_th1s_getkurtosis :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetLowEdge" c_th1s_getlowedge -  :: (Ptr RawTH1S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetLowEdge"+               c_th1s_getlowedge :: Ptr RawTH1S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_getMaximumTH1" c_th1s_getmaximumth1 -  :: (Ptr RawTH1S) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_getMaximumTH1"+               c_th1s_getmaximumth1 :: Ptr RawTH1S -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetMaximumBin" c_th1s_getmaximumbin -  :: (Ptr RawTH1S) -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMaximumBin"+               c_th1s_getmaximumbin :: Ptr RawTH1S -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_GetMaximumStored" c_th1s_getmaximumstored -  :: (Ptr RawTH1S) -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMaximumStored"+               c_th1s_getmaximumstored :: Ptr RawTH1S -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_getMinimumTH1" c_th1s_getminimumth1 -  :: (Ptr RawTH1S) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_getMinimumTH1"+               c_th1s_getminimumth1 :: Ptr RawTH1S -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetMinimumBin" c_th1s_getminimumbin -  :: (Ptr RawTH1S) -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMinimumBin"+               c_th1s_getminimumbin :: Ptr RawTH1S -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_GetMinimumStored" c_th1s_getminimumstored -  :: (Ptr RawTH1S) -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMinimumStored"+               c_th1s_getminimumstored :: Ptr RawTH1S -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetMean" c_th1s_getmean -  :: (Ptr RawTH1S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMean"+               c_th1s_getmean :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetMeanError" c_th1s_getmeanerror -  :: (Ptr RawTH1S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMeanError"+               c_th1s_getmeanerror :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetNbinsX" c_th1s_getnbinsx -  :: (Ptr RawTH1S) -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetNbinsX"+               c_th1s_getnbinsx :: Ptr RawTH1S -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetNbinsY" c_th1s_getnbinsy -  :: (Ptr RawTH1S) -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetNbinsY"+               c_th1s_getnbinsy :: Ptr RawTH1S -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetNbinsZ" c_th1s_getnbinsz -  :: (Ptr RawTH1S) -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetNbinsZ"+               c_th1s_getnbinsz :: Ptr RawTH1S -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_getQuantilesTH1" c_th1s_getquantilesth1 -  :: (Ptr RawTH1S) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_getQuantilesTH1"+               c_th1s_getquantilesth1 ::+               Ptr RawTH1S -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_GetRandom" c_th1s_getrandom -  :: (Ptr RawTH1S) -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetRandom"+               c_th1s_getrandom :: Ptr RawTH1S -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetStats" c_th1s_getstats -  :: (Ptr RawTH1S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetStats"+               c_th1s_getstats :: Ptr RawTH1S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_GetSumOfWeights" c_th1s_getsumofweights -  :: (Ptr RawTH1S) -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetSumOfWeights"+               c_th1s_getsumofweights :: Ptr RawTH1S -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetSumw2" c_th1s_getsumw2 -  :: (Ptr RawTH1S) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetSumw2"+               c_th1s_getsumw2 :: Ptr RawTH1S -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH1S.h TH1S_GetSumw2N" c_th1s_getsumw2n -  :: (Ptr RawTH1S) -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetSumw2N"+               c_th1s_getsumw2n :: Ptr RawTH1S -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_GetRMS" c_th1s_getrms -  :: (Ptr RawTH1S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetRMS"+               c_th1s_getrms :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetRMSError" c_th1s_getrmserror -  :: (Ptr RawTH1S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetRMSError"+               c_th1s_getrmserror :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_GetSkewness" c_th1s_getskewness -  :: (Ptr RawTH1S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetSkewness"+               c_th1s_getskewness :: Ptr RawTH1S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_integral1" c_th1s_integral1 -  :: (Ptr RawTH1S) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_integral1"+               c_th1s_integral1 ::+               Ptr RawTH1S -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_interpolate1" c_th1s_interpolate1 -  :: (Ptr RawTH1S) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_interpolate1"+               c_th1s_interpolate1 :: Ptr RawTH1S -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_interpolate2" c_th1s_interpolate2 -  :: (Ptr RawTH1S) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_interpolate2"+               c_th1s_interpolate2 ::+               Ptr RawTH1S -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_interpolate3" c_th1s_interpolate3 -  :: (Ptr RawTH1S) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_interpolate3"+               c_th1s_interpolate3 ::+               Ptr RawTH1S -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_KolmogorovTest" c_th1s_kolmogorovtest -  :: (Ptr RawTH1S) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_KolmogorovTest"+               c_th1s_kolmogorovtest ::+               Ptr RawTH1S -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_LabelsDeflate" c_th1s_labelsdeflate -  :: (Ptr RawTH1S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_LabelsDeflate"+               c_th1s_labelsdeflate :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_LabelsInflate" c_th1s_labelsinflate -  :: (Ptr RawTH1S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_LabelsInflate"+               c_th1s_labelsinflate :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_LabelsOption" c_th1s_labelsoption -  :: (Ptr RawTH1S) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_LabelsOption"+               c_th1s_labelsoption :: Ptr RawTH1S -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_multiflyF" c_th1s_multiflyf -  :: (Ptr RawTH1S) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_multiflyF"+               c_th1s_multiflyf :: Ptr RawTH1S -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_Multiply" c_th1s_multiply -  :: (Ptr RawTH1S) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_Multiply"+               c_th1s_multiply ::+               Ptr RawTH1S ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_PutStats" c_th1s_putstats -  :: (Ptr RawTH1S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_PutStats"+               c_th1s_putstats :: Ptr RawTH1S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_Rebin" c_th1s_rebin -  :: (Ptr RawTH1S) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1S.h TH1S_Rebin" c_th1s_rebin+               ::+               Ptr RawTH1S -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1S.h TH1S_RebinAxis" c_th1s_rebinaxis -  :: (Ptr RawTH1S) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_RebinAxis"+               c_th1s_rebinaxis :: Ptr RawTH1S -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_Rebuild" c_th1s_rebuild -  :: (Ptr RawTH1S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_Rebuild"+               c_th1s_rebuild :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_RecursiveRemove" c_th1s_recursiveremove -  :: (Ptr RawTH1S) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_RecursiveRemove"+               c_th1s_recursiveremove :: Ptr RawTH1S -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_Reset" c_th1s_reset -  :: (Ptr RawTH1S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_Reset" c_th1s_reset+               :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_ResetStats" c_th1s_resetstats -  :: (Ptr RawTH1S) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_ResetStats"+               c_th1s_resetstats :: Ptr RawTH1S -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_Scale" c_th1s_scale -  :: (Ptr RawTH1S) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_Scale" c_th1s_scale+               :: Ptr RawTH1S -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setAxisColorA" c_th1s_setaxiscolora -  :: (Ptr RawTH1S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setAxisColorA"+               c_th1s_setaxiscolora :: Ptr RawTH1S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetAxisRange" c_th1s_setaxisrange -  :: (Ptr RawTH1S) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetAxisRange"+               c_th1s_setaxisrange ::+               Ptr RawTH1S -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetBarOffset" c_th1s_setbaroffset -  :: (Ptr RawTH1S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetBarOffset"+               c_th1s_setbaroffset :: Ptr RawTH1S -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetBarWidth" c_th1s_setbarwidth -  :: (Ptr RawTH1S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetBarWidth"+               c_th1s_setbarwidth :: Ptr RawTH1S -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setBinContent1" c_th1s_setbincontent1 -  :: (Ptr RawTH1S) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setBinContent1"+               c_th1s_setbincontent1 :: Ptr RawTH1S -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setBinContent2" c_th1s_setbincontent2 -  :: (Ptr RawTH1S) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setBinContent2"+               c_th1s_setbincontent2 ::+               Ptr RawTH1S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setBinContent3" c_th1s_setbincontent3 -  :: (Ptr RawTH1S) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setBinContent3"+               c_th1s_setbincontent3 ::+               Ptr RawTH1S -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setBinError1" c_th1s_setbinerror1 -  :: (Ptr RawTH1S) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setBinError1"+               c_th1s_setbinerror1 :: Ptr RawTH1S -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setBinError2" c_th1s_setbinerror2 -  :: (Ptr RawTH1S) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setBinError2"+               c_th1s_setbinerror2 ::+               Ptr RawTH1S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setBinError3" c_th1s_setbinerror3 -  :: (Ptr RawTH1S) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setBinError3"+               c_th1s_setbinerror3 ::+               Ptr RawTH1S -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setBins1" c_th1s_setbins1 -  :: (Ptr RawTH1S) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setBins1"+               c_th1s_setbins1 :: Ptr RawTH1S -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setBins2" c_th1s_setbins2 -  :: (Ptr RawTH1S) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setBins2"+               c_th1s_setbins2 ::+               Ptr RawTH1S ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setBins3" c_th1s_setbins3 -  :: (Ptr RawTH1S) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setBins3"+               c_th1s_setbins3 ::+               Ptr RawTH1S ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetBinsLength" c_th1s_setbinslength -  :: (Ptr RawTH1S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetBinsLength"+               c_th1s_setbinslength :: Ptr RawTH1S -> CInt -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetBuffer" c_th1s_setbuffer -  :: (Ptr RawTH1S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetBuffer"+               c_th1s_setbuffer :: Ptr RawTH1S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetCellContent" c_th1s_setcellcontent -  :: (Ptr RawTH1S) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetCellContent"+               c_th1s_setcellcontent ::+               Ptr RawTH1S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetContent" c_th1s_setcontent -  :: (Ptr RawTH1S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetContent"+               c_th1s_setcontent :: Ptr RawTH1S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetContour" c_th1s_setcontour -  :: (Ptr RawTH1S) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetContour"+               c_th1s_setcontour :: Ptr RawTH1S -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetContourLevel" c_th1s_setcontourlevel -  :: (Ptr RawTH1S) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetContourLevel"+               c_th1s_setcontourlevel :: Ptr RawTH1S -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetDirectory" c_th1s_setdirectory -  :: (Ptr RawTH1S) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetDirectory"+               c_th1s_setdirectory :: Ptr RawTH1S -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetEntries" c_th1s_setentries -  :: (Ptr RawTH1S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetEntries"+               c_th1s_setentries :: Ptr RawTH1S -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetError" c_th1s_seterror -  :: (Ptr RawTH1S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetError"+               c_th1s_seterror :: Ptr RawTH1S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setLabelColorA" c_th1s_setlabelcolora -  :: (Ptr RawTH1S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setLabelColorA"+               c_th1s_setlabelcolora :: Ptr RawTH1S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setLabelSizeA" c_th1s_setlabelsizea -  :: (Ptr RawTH1S) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setLabelSizeA"+               c_th1s_setlabelsizea :: Ptr RawTH1S -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setLabelFontA" c_th1s_setlabelfonta -  :: (Ptr RawTH1S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setLabelFontA"+               c_th1s_setlabelfonta :: Ptr RawTH1S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_setLabelOffsetA" c_th1s_setlabeloffseta -  :: (Ptr RawTH1S) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_setLabelOffsetA"+               c_th1s_setlabeloffseta ::+               Ptr RawTH1S -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetMaximum" c_th1s_setmaximum -  :: (Ptr RawTH1S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetMaximum"+               c_th1s_setmaximum :: Ptr RawTH1S -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetMinimum" c_th1s_setminimum -  :: (Ptr RawTH1S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetMinimum"+               c_th1s_setminimum :: Ptr RawTH1S -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetNormFactor" c_th1s_setnormfactor -  :: (Ptr RawTH1S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetNormFactor"+               c_th1s_setnormfactor :: Ptr RawTH1S -> CDouble -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetStats" c_th1s_setstats -  :: (Ptr RawTH1S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetStats"+               c_th1s_setstats :: Ptr RawTH1S -> CInt -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetOption" c_th1s_setoption -  :: (Ptr RawTH1S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetOption"+               c_th1s_setoption :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetXTitle" c_th1s_setxtitle -  :: (Ptr RawTH1S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetXTitle"+               c_th1s_setxtitle :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetYTitle" c_th1s_setytitle -  :: (Ptr RawTH1S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetYTitle"+               c_th1s_setytitle :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetZTitle" c_th1s_setztitle -  :: (Ptr RawTH1S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetZTitle"+               c_th1s_setztitle :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_ShowBackground" c_th1s_showbackground -  :: (Ptr RawTH1S) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH1S.h TH1S_ShowBackground"+               c_th1s_showbackground ::+               Ptr RawTH1S -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH1S.h TH1S_ShowPeaks" c_th1s_showpeaks -  :: (Ptr RawTH1S) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_ShowPeaks"+               c_th1s_showpeaks ::+               Ptr RawTH1S -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_Smooth" c_th1s_smooth -  :: (Ptr RawTH1S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_Smooth"+               c_th1s_smooth :: Ptr RawTH1S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_Sumw2" c_th1s_sumw2 -  :: (Ptr RawTH1S) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_Sumw2" c_th1s_sumw2+               :: Ptr RawTH1S -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_Draw" c_th1s_draw -  :: (Ptr RawTH1S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetName"+               c_th1s_setname :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_FindObject" c_th1s_findobject -  :: (Ptr RawTH1S) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetNameTitle"+               c_th1s_setnametitle :: Ptr RawTH1S -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_GetName" c_th1s_getname -  :: (Ptr RawTH1S) -> IO CString+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetTitle"+               c_th1s_settitle :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_IsA" c_th1s_isa -  :: (Ptr RawTH1S) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetLineColor"+               c_th1s_getlinecolor :: Ptr RawTH1S -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_Paint" c_th1s_paint -  :: (Ptr RawTH1S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetLineStyle"+               c_th1s_getlinestyle :: Ptr RawTH1S -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_printObj" c_th1s_printobj -  :: (Ptr RawTH1S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetLineWidth"+               c_th1s_getlinewidth :: Ptr RawTH1S -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_SaveAs" c_th1s_saveas -  :: (Ptr RawTH1S) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_ResetAttLine"+               c_th1s_resetattline :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_Write" c_th1s_write -  :: (Ptr RawTH1S) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetLineAttributes"+               c_th1s_setlineattributes :: Ptr RawTH1S -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_GetLineColor" c_th1s_getlinecolor -  :: (Ptr RawTH1S) -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetLineColor"+               c_th1s_setlinecolor :: Ptr RawTH1S -> CInt -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_GetLineStyle" c_th1s_getlinestyle -  :: (Ptr RawTH1S) -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetLineStyle"+               c_th1s_setlinestyle :: Ptr RawTH1S -> CInt -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_GetLineWidth" c_th1s_getlinewidth -  :: (Ptr RawTH1S) -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetLineWidth"+               c_th1s_setlinewidth :: Ptr RawTH1S -> CInt -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_ResetAttLine" c_th1s_resetattline -  :: (Ptr RawTH1S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetFillColor"+               c_th1s_setfillcolor :: Ptr RawTH1S -> CInt -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetLineAttributes" c_th1s_setlineattributes -  :: (Ptr RawTH1S) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetFillStyle"+               c_th1s_setfillstyle :: Ptr RawTH1S -> CInt -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetLineColor" c_th1s_setlinecolor -  :: (Ptr RawTH1S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMarkerColor"+               c_th1s_getmarkercolor :: Ptr RawTH1S -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_SetLineStyle" c_th1s_setlinestyle -  :: (Ptr RawTH1S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMarkerStyle"+               c_th1s_getmarkerstyle :: Ptr RawTH1S -> IO CInt -foreign import ccall "HROOTHistTH1S.h TH1S_SetLineWidth" c_th1s_setlinewidth -  :: (Ptr RawTH1S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetMarkerSize"+               c_th1s_getmarkersize :: Ptr RawTH1S -> IO CDouble -foreign import ccall "HROOTHistTH1S.h TH1S_SetFillColor" c_th1s_setfillcolor -  :: (Ptr RawTH1S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_ResetAttMarker"+               c_th1s_resetattmarker :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetFillStyle" c_th1s_setfillstyle -  :: (Ptr RawTH1S) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH1S.h TH1S_SetMarkerAttributes"+               c_th1s_setmarkerattributes :: Ptr RawTH1S -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_GetMarkerColor" c_th1s_getmarkercolor -  :: (Ptr RawTH1S) -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetMarkerColor"+               c_th1s_setmarkercolor :: Ptr RawTH1S -> CInt -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_GetMarkerStyle" c_th1s_getmarkerstyle -  :: (Ptr RawTH1S) -> IO CInt+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetMarkerStyle"+               c_th1s_setmarkerstyle :: Ptr RawTH1S -> CInt -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_GetMarkerSize" c_th1s_getmarkersize -  :: (Ptr RawTH1S) -> IO CDouble+foreign import ccall safe "HROOTHistTH1S.h TH1S_SetMarkerSize"+               c_th1s_setmarkersize :: Ptr RawTH1S -> CInt -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_ResetAttMarker" c_th1s_resetattmarker -  :: (Ptr RawTH1S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_Draw" c_th1s_draw+               :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_SetMarkerAttributes" c_th1s_setmarkerattributes -  :: (Ptr RawTH1S) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_FindObject"+               c_th1s_findobject :: Ptr RawTH1S -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH1S.h TH1S_SetMarkerColor" c_th1s_setmarkercolor -  :: (Ptr RawTH1S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_GetName"+               c_th1s_getname :: Ptr RawTH1S -> IO CString -foreign import ccall "HROOTHistTH1S.h TH1S_SetMarkerStyle" c_th1s_setmarkerstyle -  :: (Ptr RawTH1S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_IsA" c_th1s_isa ::+               Ptr RawTH1S -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH1S.h TH1S_SetMarkerSize" c_th1s_setmarkersize -  :: (Ptr RawTH1S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_Paint" c_th1s_paint+               :: Ptr RawTH1S -> CString -> IO () -foreign import ccall "HROOTHistTH1S.h TH1S_delete" c_th1s_delete -  :: (Ptr RawTH1S) -> IO ()+foreign import ccall safe "HROOTHistTH1S.h TH1S_printObj"+               c_th1s_printobj :: Ptr RawTH1S -> CString -> IO () +foreign import ccall safe "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 safe "HROOTHistTH1S.h TH1S_delete"+               c_th1s_delete :: Ptr RawTH1S -> IO ()
src/HROOT/Hist/TH1S/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1S.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH1S.RawType import HROOT.Hist.TH1S.FFI import HROOT.Hist.TH1S.Interface@@ -32,9 +33,9 @@ import HROOT.Core.TArrayS.RawType import HROOT.Core.TArrayS.Cast import HROOT.Core.TArrayS.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -44,6 +45,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -51,358 +55,183 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH1S TH1S -instance ITH1S 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-  drawNormalized = xform2 c_th1s_drawnormalized-  drawPanelTH1 = xform0 c_th1s_drawpanelth1-  bufferEmpty = xform1 c_th1s_bufferempty-  evalF = xform2 c_th1s_evalf-  fFT = xform2 c_th1s_fft-  fill1 = xform1 c_th1s_fill1-  fill1w = xform2 c_th1s_fill1w-  fillN1 = xform4 c_th1s_filln1-  fillRandom = xform2 c_th1s_fillrandom-  findBin = xform3 c_th1s_findbin-  findFixBin = xform3 c_th1s_findfixbin-  findFirstBinAbove = xform2 c_th1s_findfirstbinabove-  findLastBinAbove = xform2 c_th1s_findlastbinabove-  fitPanelTH1 = xform0 c_th1s_fitpanelth1-  getNdivisionA = xform1 c_th1s_getndivisiona-  getAxisColorA = xform1 c_th1s_getaxiscolora-  getLabelColorA = xform1 c_th1s_getlabelcolora-  getLabelFontA = xform1 c_th1s_getlabelfonta-  getLabelOffsetA = xform1 c_th1s_getlabeloffseta-  getLabelSizeA = xform1 c_th1s_getlabelsizea-  getTitleFontA = xform1 c_th1s_gettitlefonta-  getTitleOffsetA = xform1 c_th1s_gettitleoffseta-  getTitleSizeA = xform1 c_th1s_gettitlesizea-  getTickLengthA = xform1 c_th1s_getticklengtha-  getBarOffset = xform0 c_th1s_getbaroffset-  getBarWidth = xform0 c_th1s_getbarwidth-  getContour = xform1 c_th1s_getcontour-  getContourLevel = xform1 c_th1s_getcontourlevel-  getContourLevelPad = xform1 c_th1s_getcontourlevelpad-  getBin = xform3 c_th1s_getbin-  getBinCenter = xform1 c_th1s_getbincenter-  getBinContent1 = xform1 c_th1s_getbincontent1-  getBinContent2 = xform2 c_th1s_getbincontent2-  getBinContent3 = xform3 c_th1s_getbincontent3-  getBinError1 = xform1 c_th1s_getbinerror1-  getBinError2 = xform2 c_th1s_getbinerror2-  getBinError3 = xform3 c_th1s_getbinerror3-  getBinLowEdge = xform1 c_th1s_getbinlowedge-  getBinWidth = xform1 c_th1s_getbinwidth-  getCellContent = xform2 c_th1s_getcellcontent-  getCellError = xform2 c_th1s_getcellerror-  getEntries = xform0 c_th1s_getentries-  getEffectiveEntries = xform0 c_th1s_geteffectiveentries-  getFunction = xform1 c_th1s_getfunction-  getDimension = xform0 c_th1s_getdimension-  getKurtosis = xform1 c_th1s_getkurtosis-  getLowEdge = xform1 c_th1s_getlowedge-  getMaximumTH1 = xform1 c_th1s_getmaximumth1-  getMaximumBin = xform0 c_th1s_getmaximumbin-  getMaximumStored = xform0 c_th1s_getmaximumstored-  getMinimumTH1 = xform1 c_th1s_getminimumth1-  getMinimumBin = xform0 c_th1s_getminimumbin-  getMinimumStored = xform0 c_th1s_getminimumstored-  getMean = xform1 c_th1s_getmean-  getMeanError = xform1 c_th1s_getmeanerror-  getNbinsX = xform0 c_th1s_getnbinsx-  getNbinsY = xform0 c_th1s_getnbinsy-  getNbinsZ = xform0 c_th1s_getnbinsz-  getQuantilesTH1 = xform3 c_th1s_getquantilesth1-  getRandom = xform0 c_th1s_getrandom-  getStats = xform1 c_th1s_getstats-  getSumOfWeights = xform0 c_th1s_getsumofweights-  getSumw2 = xform0 c_th1s_getsumw2-  getSumw2N = xform0 c_th1s_getsumw2n-  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-  labelsInflate = xform1 c_th1s_labelsinflate-  labelsOption = xform2 c_th1s_labelsoption-  multiflyF = xform2 c_th1s_multiflyf-  multiply = xform5 c_th1s_multiply-  putStats = xform1 c_th1s_putstats-  rebin = xform3 c_th1s_rebin-  rebinAxis = xform2 c_th1s_rebinaxis-  rebuild = xform1 c_th1s_rebuild-  recursiveRemove = xform1 c_th1s_recursiveremove-  reset = xform1 c_th1s_reset-  resetStats = xform0 c_th1s_resetstats-  scale = xform2 c_th1s_scale-  setAxisColorA = xform2 c_th1s_setaxiscolora-  setAxisRange = xform3 c_th1s_setaxisrange-  setBarOffset = xform1 c_th1s_setbaroffset-  setBarWidth = xform1 c_th1s_setbarwidth-  setBinContent1 = xform2 c_th1s_setbincontent1-  setBinContent2 = xform3 c_th1s_setbincontent2-  setBinContent3 = xform4 c_th1s_setbincontent3-  setBinError1 = xform2 c_th1s_setbinerror1-  setBinError2 = xform3 c_th1s_setbinerror2-  setBinError3 = xform4 c_th1s_setbinerror3-  setBins1 = xform2 c_th1s_setbins1-  setBins2 = xform4 c_th1s_setbins2-  setBins3 = xform6 c_th1s_setbins3-  setBinsLength = xform1 c_th1s_setbinslength-  setBuffer = xform2 c_th1s_setbuffer-  setCellContent = xform3 c_th1s_setcellcontent-  setContent = xform1 c_th1s_setcontent-  setContour = xform2 c_th1s_setcontour-  setContourLevel = xform2 c_th1s_setcontourlevel-  setDirectory = xform1 c_th1s_setdirectory-  setEntries = xform1 c_th1s_setentries-  setError = xform1 c_th1s_seterror-  setLabelColorA = xform2 c_th1s_setlabelcolora-  setLabelSizeA = xform2 c_th1s_setlabelsizea-  setLabelFontA = xform2 c_th1s_setlabelfonta-  setLabelOffsetA = xform2 c_th1s_setlabeloffseta-  setMaximum = xform1 c_th1s_setmaximum-  setMinimum = xform1 c_th1s_setminimum-  setNormFactor = xform1 c_th1s_setnormfactor-  setStats = xform1 c_th1s_setstats-  setOption = xform1 c_th1s_setoption-  setXTitle = xform1 c_th1s_setxtitle-  setYTitle = xform1 c_th1s_setytitle-  setZTitle = xform1 c_th1s_setztitle-  showBackground = xform2 c_th1s_showbackground-  showPeaks = xform3 c_th1s_showpeaks-  smooth = xform2 c_th1s_smooth-  sumw2 = xform0 c_th1s_sumw2-instance ITArrayS TH1S where-instance ITObject TH1S where-  draw = xform1 c_th1s_draw-  findObject = xform1 c_th1s_findobject-  getName = xform0 c_th1s_getname-  isA = xform0 c_th1s_isa-  paint = xform1 c_th1s_paint-  printObj = xform1 c_th1s_printobj-  saveAs = xform2 c_th1s_saveas-  write = xform3 c_th1s_write-instance ITAttLine TH1S where-  getLineColor = xform0 c_th1s_getlinecolor-  getLineStyle = xform0 c_th1s_getlinestyle-  getLineWidth = xform0 c_th1s_getlinewidth-  resetAttLine = xform1 c_th1s_resetattline-  setLineAttributes = xform0 c_th1s_setlineattributes-  setLineColor = xform1 c_th1s_setlinecolor-  setLineStyle = xform1 c_th1s_setlinestyle-  setLineWidth = xform1 c_th1s_setlinewidth-instance ITAttFill TH1S where-  setFillColor = xform1 c_th1s_setfillcolor-  setFillStyle = xform1 c_th1s_setfillstyle-instance ITAttMarker TH1S where-  getMarkerColor = xform0 c_th1s_getmarkercolor-  getMarkerStyle = xform0 c_th1s_getmarkerstyle-  getMarkerSize = xform0 c_th1s_getmarkersize-  resetAttMarker = xform1 c_th1s_resetattmarker-  setMarkerAttributes = xform0 c_th1s_setmarkerattributes-  setMarkerColor = xform1 c_th1s_setmarkercolor-  setMarkerStyle = xform1 c_th1s_setmarkerstyle-  setMarkerSize = xform1 c_th1s_setmarkersize-instance IDeletable TH1S where-  delete = xform0 c_th1s_delete-instance ITArray TH1S where--instance ITH1S (Exist TH1S) where--instance ITH1 (Exist TH1S) where-  add (ETH1S x) = add x-  addBinContent (ETH1S x) = addBinContent x-  chi2Test (ETH1S x) = chi2Test x-  computeIntegral (ETH1S x) = computeIntegral x-  directoryAutoAdd (ETH1S x) = directoryAutoAdd x-  divide (ETH1S x) = divide x-  drawCopyTH1 (ETH1S x) a1 = return . ETH1S =<< drawCopyTH1 x a1-  drawNormalized (ETH1S x) = drawNormalized x-  drawPanelTH1 (ETH1S x) = drawPanelTH1 x-  bufferEmpty (ETH1S x) = bufferEmpty x-  evalF (ETH1S x) = evalF x-  fFT (ETH1S x) = fFT x-  fill1 (ETH1S x) = fill1 x-  fill1w (ETH1S x) = fill1w x-  fillN1 (ETH1S x) = fillN1 x-  fillRandom (ETH1S x) = fillRandom x-  findBin (ETH1S x) = findBin x-  findFixBin (ETH1S x) = findFixBin x-  findFirstBinAbove (ETH1S x) = findFirstBinAbove x-  findLastBinAbove (ETH1S x) = findLastBinAbove x-  fitPanelTH1 (ETH1S x) = fitPanelTH1 x-  getNdivisionA (ETH1S x) = getNdivisionA x-  getAxisColorA (ETH1S x) = getAxisColorA x-  getLabelColorA (ETH1S x) = getLabelColorA x-  getLabelFontA (ETH1S x) = getLabelFontA x-  getLabelOffsetA (ETH1S x) = getLabelOffsetA x-  getLabelSizeA (ETH1S x) = getLabelSizeA x-  getTitleFontA (ETH1S x) = getTitleFontA x-  getTitleOffsetA (ETH1S x) = getTitleOffsetA x-  getTitleSizeA (ETH1S x) = getTitleSizeA x-  getTickLengthA (ETH1S x) = getTickLengthA x-  getBarOffset (ETH1S x) = getBarOffset x-  getBarWidth (ETH1S x) = getBarWidth x-  getContour (ETH1S x) = getContour x-  getContourLevel (ETH1S x) = getContourLevel x-  getContourLevelPad (ETH1S x) = getContourLevelPad x-  getBin (ETH1S x) = getBin x-  getBinCenter (ETH1S x) = getBinCenter x-  getBinContent1 (ETH1S x) = getBinContent1 x-  getBinContent2 (ETH1S x) = getBinContent2 x-  getBinContent3 (ETH1S x) = getBinContent3 x-  getBinError1 (ETH1S x) = getBinError1 x-  getBinError2 (ETH1S x) = getBinError2 x-  getBinError3 (ETH1S x) = getBinError3 x-  getBinLowEdge (ETH1S x) = getBinLowEdge x-  getBinWidth (ETH1S x) = getBinWidth x-  getCellContent (ETH1S x) = getCellContent x-  getCellError (ETH1S x) = getCellError x-  getEntries (ETH1S x) = getEntries x-  getEffectiveEntries (ETH1S x) = getEffectiveEntries x-  getFunction (ETH1S x) = getFunction x-  getDimension (ETH1S x) = getDimension x-  getKurtosis (ETH1S x) = getKurtosis x-  getLowEdge (ETH1S x) = getLowEdge x-  getMaximumTH1 (ETH1S x) = getMaximumTH1 x-  getMaximumBin (ETH1S x) = getMaximumBin x-  getMaximumStored (ETH1S x) = getMaximumStored x-  getMinimumTH1 (ETH1S x) = getMinimumTH1 x-  getMinimumBin (ETH1S x) = getMinimumBin x-  getMinimumStored (ETH1S x) = getMinimumStored x-  getMean (ETH1S x) = getMean x-  getMeanError (ETH1S x) = getMeanError x-  getNbinsX (ETH1S x) = getNbinsX x-  getNbinsY (ETH1S x) = getNbinsY x-  getNbinsZ (ETH1S x) = getNbinsZ x-  getQuantilesTH1 (ETH1S x) = getQuantilesTH1 x-  getRandom (ETH1S x) = getRandom x-  getStats (ETH1S x) = getStats x-  getSumOfWeights (ETH1S x) = getSumOfWeights x-  getSumw2 (ETH1S x) = getSumw2 x-  getSumw2N (ETH1S x) = getSumw2N x-  getRMS (ETH1S x) = getRMS x-  getRMSError (ETH1S x) = getRMSError x-  getSkewness (ETH1S x) = getSkewness x-  integral1 (ETH1S x) = integral1 x-  interpolate1 (ETH1S x) = interpolate1 x-  interpolate2 (ETH1S x) = interpolate2 x-  interpolate3 (ETH1S x) = interpolate3 x-  kolmogorovTest (ETH1S x) = kolmogorovTest x-  labelsDeflate (ETH1S x) = labelsDeflate x-  labelsInflate (ETH1S x) = labelsInflate x-  labelsOption (ETH1S x) = labelsOption x-  multiflyF (ETH1S x) = multiflyF x-  multiply (ETH1S x) = multiply x-  putStats (ETH1S x) = putStats x-  rebin (ETH1S x) = rebin x-  rebinAxis (ETH1S x) = rebinAxis x-  rebuild (ETH1S x) = rebuild x-  recursiveRemove (ETH1S x) = recursiveRemove x-  reset (ETH1S x) = reset x-  resetStats (ETH1S x) = resetStats x-  scale (ETH1S x) = scale x-  setAxisColorA (ETH1S x) = setAxisColorA x-  setAxisRange (ETH1S x) = setAxisRange x-  setBarOffset (ETH1S x) = setBarOffset x-  setBarWidth (ETH1S x) = setBarWidth x-  setBinContent1 (ETH1S x) = setBinContent1 x-  setBinContent2 (ETH1S x) = setBinContent2 x-  setBinContent3 (ETH1S x) = setBinContent3 x-  setBinError1 (ETH1S x) = setBinError1 x-  setBinError2 (ETH1S x) = setBinError2 x-  setBinError3 (ETH1S x) = setBinError3 x-  setBins1 (ETH1S x) = setBins1 x-  setBins2 (ETH1S x) = setBins2 x-  setBins3 (ETH1S x) = setBins3 x-  setBinsLength (ETH1S x) = setBinsLength x-  setBuffer (ETH1S x) = setBuffer x-  setCellContent (ETH1S x) = setCellContent x-  setContent (ETH1S x) = setContent x-  setContour (ETH1S x) = setContour x-  setContourLevel (ETH1S x) = setContourLevel x-  setDirectory (ETH1S x) = setDirectory x-  setEntries (ETH1S x) = setEntries x-  setError (ETH1S x) = setError x-  setLabelColorA (ETH1S x) = setLabelColorA x-  setLabelSizeA (ETH1S x) = setLabelSizeA x-  setLabelFontA (ETH1S x) = setLabelFontA x-  setLabelOffsetA (ETH1S x) = setLabelOffsetA x-  setMaximum (ETH1S x) = setMaximum x-  setMinimum (ETH1S x) = setMinimum x-  setNormFactor (ETH1S x) = setNormFactor x-  setStats (ETH1S x) = setStats x-  setOption (ETH1S x) = setOption x-  setXTitle (ETH1S x) = setXTitle x-  setYTitle (ETH1S x) = setYTitle x-  setZTitle (ETH1S x) = setZTitle x-  showBackground (ETH1S x) = showBackground x-  showPeaks (ETH1S x) = showPeaks x-  smooth (ETH1S x) = smooth x-  sumw2 (ETH1S x) = sumw2 x-instance ITArrayS (Exist TH1S) where--instance ITObject (Exist TH1S) where-  draw (ETH1S x) = draw x-  findObject (ETH1S x) = findObject x-  getName (ETH1S x) = getName x-  isA (ETH1S x) = isA x-  paint (ETH1S x) = paint x-  printObj (ETH1S x) = printObj x-  saveAs (ETH1S x) = saveAs x-  write (ETH1S x) = write x-instance ITAttLine (Exist TH1S) where-  getLineColor (ETH1S x) = getLineColor x-  getLineStyle (ETH1S x) = getLineStyle x-  getLineWidth (ETH1S x) = getLineWidth x-  resetAttLine (ETH1S x) = resetAttLine x-  setLineAttributes (ETH1S x) = setLineAttributes x-  setLineColor (ETH1S x) = setLineColor x-  setLineStyle (ETH1S x) = setLineStyle x-  setLineWidth (ETH1S x) = setLineWidth x-instance ITAttFill (Exist TH1S) where-  setFillColor (ETH1S x) = setFillColor x-  setFillStyle (ETH1S x) = setFillStyle x-instance ITAttMarker (Exist TH1S) where-  getMarkerColor (ETH1S x) = getMarkerColor x-  getMarkerStyle (ETH1S x) = getMarkerStyle x-  getMarkerSize (ETH1S x) = getMarkerSize x-  resetAttMarker (ETH1S x) = resetAttMarker x-  setMarkerAttributes (ETH1S x) = setMarkerAttributes x-  setMarkerColor (ETH1S x) = setMarkerColor x-  setMarkerStyle (ETH1S x) = setMarkerStyle x-  setMarkerSize (ETH1S x) = setMarkerSize x-instance IDeletable (Exist TH1S) where-  delete (ETH1S x) = delete x-instance ITArray (Exist 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+        drawNormalized = xform2 c_th1s_drawnormalized+        drawPanelTH1 = xform0 c_th1s_drawpanelth1+        bufferEmpty = xform1 c_th1s_bufferempty+        evalF = xform2 c_th1s_evalf+        fFT = xform2 c_th1s_fft+        fill1 = xform1 c_th1s_fill1+        fill1w = xform2 c_th1s_fill1w+        fillN1 = xform4 c_th1s_filln1+        fillRandom = xform2 c_th1s_fillrandom+        findBin = xform3 c_th1s_findbin+        findFixBin = xform3 c_th1s_findfixbin+        findFirstBinAbove = xform2 c_th1s_findfirstbinabove+        findLastBinAbove = xform2 c_th1s_findlastbinabove+        fit = xform5 c_th1s_fit+        fitPanelTH1 = xform0 c_th1s_fitpanelth1+        getNdivisionA = xform1 c_th1s_getndivisiona+        getAxisColorA = xform1 c_th1s_getaxiscolora+        getLabelColorA = xform1 c_th1s_getlabelcolora+        getLabelFontA = xform1 c_th1s_getlabelfonta+        getLabelOffsetA = xform1 c_th1s_getlabeloffseta+        getLabelSizeA = xform1 c_th1s_getlabelsizea+        getTitleFontA = xform1 c_th1s_gettitlefonta+        getTitleOffsetA = xform1 c_th1s_gettitleoffseta+        getTitleSizeA = xform1 c_th1s_gettitlesizea+        getTickLengthA = xform1 c_th1s_getticklengtha+        getBarOffset = xform0 c_th1s_getbaroffset+        getBarWidth = xform0 c_th1s_getbarwidth+        getContour = xform1 c_th1s_getcontour+        getContourLevel = xform1 c_th1s_getcontourlevel+        getContourLevelPad = xform1 c_th1s_getcontourlevelpad+        getBin = xform3 c_th1s_getbin+        getBinCenter = xform1 c_th1s_getbincenter+        getBinContent1 = xform1 c_th1s_getbincontent1+        getBinContent2 = xform2 c_th1s_getbincontent2+        getBinContent3 = xform3 c_th1s_getbincontent3+        getBinError1 = xform1 c_th1s_getbinerror1+        getBinError2 = xform2 c_th1s_getbinerror2+        getBinError3 = xform3 c_th1s_getbinerror3+        getBinLowEdge = xform1 c_th1s_getbinlowedge+        getBinWidth = xform1 c_th1s_getbinwidth+        getCellContent = xform2 c_th1s_getcellcontent+        getCellError = xform2 c_th1s_getcellerror+        getEntries = xform0 c_th1s_getentries+        getEffectiveEntries = xform0 c_th1s_geteffectiveentries+        getFunction = xform1 c_th1s_getfunction+        getDimension = xform0 c_th1s_getdimension+        getKurtosis = xform1 c_th1s_getkurtosis+        getLowEdge = xform1 c_th1s_getlowedge+        getMaximumTH1 = xform1 c_th1s_getmaximumth1+        getMaximumBin = xform0 c_th1s_getmaximumbin+        getMaximumStored = xform0 c_th1s_getmaximumstored+        getMinimumTH1 = xform1 c_th1s_getminimumth1+        getMinimumBin = xform0 c_th1s_getminimumbin+        getMinimumStored = xform0 c_th1s_getminimumstored+        getMean = xform1 c_th1s_getmean+        getMeanError = xform1 c_th1s_getmeanerror+        getNbinsX = xform0 c_th1s_getnbinsx+        getNbinsY = xform0 c_th1s_getnbinsy+        getNbinsZ = xform0 c_th1s_getnbinsz+        getQuantilesTH1 = xform3 c_th1s_getquantilesth1+        getRandom = xform0 c_th1s_getrandom+        getStats = xform1 c_th1s_getstats+        getSumOfWeights = xform0 c_th1s_getsumofweights+        getSumw2 = xform0 c_th1s_getsumw2+        getSumw2N = xform0 c_th1s_getsumw2n+        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+        labelsInflate = xform1 c_th1s_labelsinflate+        labelsOption = xform2 c_th1s_labelsoption+        multiflyF = xform2 c_th1s_multiflyf+        multiply = xform5 c_th1s_multiply+        putStats = xform1 c_th1s_putstats+        rebin = xform3 c_th1s_rebin+        rebinAxis = xform2 c_th1s_rebinaxis+        rebuild = xform1 c_th1s_rebuild+        recursiveRemove = xform1 c_th1s_recursiveremove+        reset = xform1 c_th1s_reset+        resetStats = xform0 c_th1s_resetstats+        scale = xform2 c_th1s_scale+        setAxisColorA = xform2 c_th1s_setaxiscolora+        setAxisRange = xform3 c_th1s_setaxisrange+        setBarOffset = xform1 c_th1s_setbaroffset+        setBarWidth = xform1 c_th1s_setbarwidth+        setBinContent1 = xform2 c_th1s_setbincontent1+        setBinContent2 = xform3 c_th1s_setbincontent2+        setBinContent3 = xform4 c_th1s_setbincontent3+        setBinError1 = xform2 c_th1s_setbinerror1+        setBinError2 = xform3 c_th1s_setbinerror2+        setBinError3 = xform4 c_th1s_setbinerror3+        setBins1 = xform2 c_th1s_setbins1+        setBins2 = xform4 c_th1s_setbins2+        setBins3 = xform6 c_th1s_setbins3+        setBinsLength = xform1 c_th1s_setbinslength+        setBuffer = xform2 c_th1s_setbuffer+        setCellContent = xform3 c_th1s_setcellcontent+        setContent = xform1 c_th1s_setcontent+        setContour = xform2 c_th1s_setcontour+        setContourLevel = xform2 c_th1s_setcontourlevel+        setDirectory = xform1 c_th1s_setdirectory+        setEntries = xform1 c_th1s_setentries+        setError = xform1 c_th1s_seterror+        setLabelColorA = xform2 c_th1s_setlabelcolora+        setLabelSizeA = xform2 c_th1s_setlabelsizea+        setLabelFontA = xform2 c_th1s_setlabelfonta+        setLabelOffsetA = xform2 c_th1s_setlabeloffseta+        setMaximum = xform1 c_th1s_setmaximum+        setMinimum = xform1 c_th1s_setminimum+        setNormFactor = xform1 c_th1s_setnormfactor+        setStats = xform1 c_th1s_setstats+        setOption = xform1 c_th1s_setoption+        setXTitle = xform1 c_th1s_setxtitle+        setYTitle = xform1 c_th1s_setytitle+        setZTitle = xform1 c_th1s_setztitle+        showBackground = xform2 c_th1s_showbackground+        showPeaks = xform3 c_th1s_showpeaks+        smooth = xform2 c_th1s_smooth+        sumw2 = xform0 c_th1s_sumw2 +instance ITArrayS TH1S +instance ITNamed TH1S where+        setName = xform1 c_th1s_setname+        setNameTitle = xform2 c_th1s_setnametitle+        setTitle = xform1 c_th1s_settitle +instance ITAttLine TH1S where+        getLineColor = xform0 c_th1s_getlinecolor+        getLineStyle = xform0 c_th1s_getlinestyle+        getLineWidth = xform0 c_th1s_getlinewidth+        resetAttLine = xform1 c_th1s_resetattline+        setLineAttributes = xform0 c_th1s_setlineattributes+        setLineColor = xform1 c_th1s_setlinecolor+        setLineStyle = xform1 c_th1s_setlinestyle+        setLineWidth = xform1 c_th1s_setlinewidth +instance ITAttFill TH1S where+        setFillColor = xform1 c_th1s_setfillcolor+        setFillStyle = xform1 c_th1s_setfillstyle +instance ITAttMarker TH1S where+        getMarkerColor = xform0 c_th1s_getmarkercolor+        getMarkerStyle = xform0 c_th1s_getmarkerstyle+        getMarkerSize = xform0 c_th1s_getmarkersize+        resetAttMarker = xform1 c_th1s_resetattmarker+        setMarkerAttributes = xform0 c_th1s_setmarkerattributes+        setMarkerColor = xform1 c_th1s_setmarkercolor+        setMarkerStyle = xform1 c_th1s_setmarkerstyle+        setMarkerSize = xform1 c_th1s_setmarkersize +instance ITObject TH1S where+        draw = xform1 c_th1s_draw+        findObject = xform1 c_th1s_findobject+        getName = xform0 c_th1s_getname+        isA = xform0 c_th1s_isa+        paint = xform1 c_th1s_paint+        printObj = xform1 c_th1s_printobj+        saveAs = xform2 c_th1s_saveas+        write = xform3 c_th1s_write +instance IDeletable TH1S where+        delete = xform0 c_th1s_delete -instance FPtr (Exist TH1S) where-  type Raw (Exist TH1S) = RawTH1S-  get_fptr (ETH1S obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH1S (cast_fptr_to_obj (fptr :: ForeignPtr RawTH1S) :: TH1S)+instance ITArray TH1S
src/HROOT/Hist/TH1S/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH1S.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH1S.RawType- import HROOT.Hist.TH1.Interface import HROOT.Core.TArrayS.Interface----- ============ ---- ---class (ITH1 a,ITArrayS a) => ITH1S a where--instance Existable TH1S where-  data Exist TH1S = forall a. (FPtr a, ITH1S a) => ETH1S a+class (ITH1 a, ITArrayS a) => ITH1S a -upcastTH1S :: (FPtr a, ITH1S a) => a -> TH1S-upcastTH1S h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH1S = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH1S :: forall a . (FPtr a, ITH1S a) => a -> TH1S+upcastTH1S h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH1S = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH1S :: (FPtr a, ITH1S a) => TH1S -> a -downcastTH1S h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH1S :: forall a . (FPtr a, ITH1S a) => TH1S -> a+downcastTH1S h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH1S/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH1S.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH1S -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH1S = TH1S (Ptr RawTH1S)+             deriving (Eq, Ord, Show) -data RawTH1S-newtype TH1S = TH1S (ForeignPtr RawTH1S) deriving (Eq, Ord, Show) instance FPtr TH1S where-   type Raw TH1S = RawTH1S-   get_fptr (TH1S fptr) = fptr-   cast_fptr_to_obj = TH1S+        type Raw TH1S = RawTH1S+        get_fptr (TH1S ptr) = ptr+        cast_fptr_to_obj = TH1S
src/HROOT/Hist/TH2.hs view
@@ -1,16 +1,7 @@ module HROOT.Hist.TH2-  (-    TH2(..)-  , ITH2(..)-  , upcastTH2-  , downcastTH2-  , tH2ProjectionX-  , tH2ProjectionY- -  ) where-+       (TH2(..), ITH2(..), upcastTH2, downcastTH2, tH2ProjectionX,+        tH2ProjectionY)+       where import HROOT.Hist.TH2.RawType import HROOT.Hist.TH2.Interface import HROOT.Hist.TH2.Implementation--
src/HROOT/Hist/TH2/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH2.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH2.RawType import HROOT.Hist.TH2.Interface  instance (ITH2 a, FPtr a) => Castable a (Ptr RawTH2) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH2 (Ptr RawTH2) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH2.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH2.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType@@ -23,530 +13,589 @@ import HROOT.Hist.TH1D.RawType import HROOT.Core.TObjArray.RawType -#include "HROOTHistTH2.h"+foreign import ccall safe "HROOTHistTH2.h TH2_Add" c_th2_add ::+               Ptr RawTH2 -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "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 "HROOTHistTH2.h TH2_AddBinContent" c_th2_addbincontent -  :: (Ptr RawTH2) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_Chi2Test"+               c_th2_chi2test ::+               Ptr RawTH2 -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH2.h TH2_ComputeIntegral" c_th2_computeintegral -  :: (Ptr RawTH2) -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_DirectoryAutoAdd"+               c_th2_directoryautoadd :: Ptr RawTH2 -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2.h TH2_DirectoryAutoAdd" c_th2_directoryautoadd -  :: (Ptr RawTH2) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_Divide" c_th2_divide+               ::+               Ptr RawTH2 ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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"+               c_th2_drawcopyth1 :: Ptr RawTH2 -> CString -> IO (Ptr RawTH2) -foreign import ccall "HROOTHistTH2.h TH2_drawCopyTH1" c_th2_drawcopyth1 -  :: (Ptr RawTH2) -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2.h TH2_DrawNormalized"+               c_th2_drawnormalized ::+               Ptr RawTH2 -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH2.h TH2_drawPanelTH1" c_th2_drawpanelth1 -  :: (Ptr RawTH2) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_BufferEmpty"+               c_th2_bufferempty :: Ptr RawTH2 -> CInt -> IO CInt -foreign import ccall "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 "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 "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 "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 "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 "HROOTHistTH2.h TH2_fillN1" c_th2_filln1 -  :: (Ptr RawTH2) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_FillRandom"+               c_th2_fillrandom :: Ptr RawTH2 -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH2.h TH2_FillRandom" c_th2_fillrandom -  :: (Ptr RawTH2) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_FindBin"+               c_th2_findbin ::+               Ptr RawTH2 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_FindBin" c_th2_findbin -  :: (Ptr RawTH2) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_FindFixBin"+               c_th2_findfixbin ::+               Ptr RawTH2 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "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 "HROOTHistTH2.h TH2_FindLastBinAbove" c_th2_findlastbinabove -  :: (Ptr RawTH2) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_Fit" c_th2_fit ::+               Ptr RawTH2 ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_FitPanelTH1" c_th2_fitpanelth1 -  :: (Ptr RawTH2) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_FitPanelTH1"+               c_th2_fitpanelth1 :: Ptr RawTH2 -> IO () -foreign import ccall "HROOTHistTH2.h TH2_getNdivisionA" c_th2_getndivisiona -  :: (Ptr RawTH2) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_getNdivisionA"+               c_th2_getndivisiona :: Ptr RawTH2 -> CString -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_getAxisColorA" c_th2_getaxiscolora -  :: (Ptr RawTH2) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_getAxisColorA"+               c_th2_getaxiscolora :: Ptr RawTH2 -> CString -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_getLabelColorA" c_th2_getlabelcolora -  :: (Ptr RawTH2) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_getLabelColorA"+               c_th2_getlabelcolora :: Ptr RawTH2 -> CString -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_getLabelFontA" c_th2_getlabelfonta -  :: (Ptr RawTH2) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_getLabelFontA"+               c_th2_getlabelfonta :: Ptr RawTH2 -> CString -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_getLabelOffsetA" c_th2_getlabeloffseta -  :: (Ptr RawTH2) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_getLabelOffsetA"+               c_th2_getlabeloffseta :: Ptr RawTH2 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_getLabelSizeA" c_th2_getlabelsizea -  :: (Ptr RawTH2) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_getLabelSizeA"+               c_th2_getlabelsizea :: Ptr RawTH2 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_getTitleFontA" c_th2_gettitlefonta -  :: (Ptr RawTH2) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_getTitleFontA"+               c_th2_gettitlefonta :: Ptr RawTH2 -> CString -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_getTitleOffsetA" c_th2_gettitleoffseta -  :: (Ptr RawTH2) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_getTitleOffsetA"+               c_th2_gettitleoffseta :: Ptr RawTH2 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_getTitleSizeA" c_th2_gettitlesizea -  :: (Ptr RawTH2) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_getTitleSizeA"+               c_th2_gettitlesizea :: Ptr RawTH2 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_getTickLengthA" c_th2_getticklengtha -  :: (Ptr RawTH2) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_getTickLengthA"+               c_th2_getticklengtha :: Ptr RawTH2 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetBarOffset" c_th2_getbaroffset -  :: (Ptr RawTH2) -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetBarOffset"+               c_th2_getbaroffset :: Ptr RawTH2 -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetBarWidth" c_th2_getbarwidth -  :: (Ptr RawTH2) -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetBarWidth"+               c_th2_getbarwidth :: Ptr RawTH2 -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetContour" c_th2_getcontour -  :: (Ptr RawTH2) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_GetContour"+               c_th2_getcontour :: Ptr RawTH2 -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_GetContourLevel" c_th2_getcontourlevel -  :: (Ptr RawTH2) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetContourLevel"+               c_th2_getcontourlevel :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetContourLevelPad" c_th2_getcontourlevelpad -  :: (Ptr RawTH2) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetContourLevelPad"+               c_th2_getcontourlevelpad :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetBin" c_th2_getbin -  :: (Ptr RawTH2) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_GetBin" c_th2_getbin+               :: Ptr RawTH2 -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_GetBinCenter" c_th2_getbincenter -  :: (Ptr RawTH2) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetBinCenter"+               c_th2_getbincenter :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetBinContent1" c_th2_getbincontent1 -  :: (Ptr RawTH2) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetBinContent1"+               c_th2_getbincontent1 :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetBinContent2" c_th2_getbincontent2 -  :: (Ptr RawTH2) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetBinContent2"+               c_th2_getbincontent2 :: Ptr RawTH2 -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetBinContent3" c_th2_getbincontent3 -  :: (Ptr RawTH2) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetBinContent3"+               c_th2_getbincontent3 ::+               Ptr RawTH2 -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetBinError1" c_th2_getbinerror1 -  :: (Ptr RawTH2) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetBinError1"+               c_th2_getbinerror1 :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetBinError2" c_th2_getbinerror2 -  :: (Ptr RawTH2) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetBinError2"+               c_th2_getbinerror2 :: Ptr RawTH2 -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetBinError3" c_th2_getbinerror3 -  :: (Ptr RawTH2) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetBinError3"+               c_th2_getbinerror3 ::+               Ptr RawTH2 -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetBinLowEdge" c_th2_getbinlowedge -  :: (Ptr RawTH2) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetBinLowEdge"+               c_th2_getbinlowedge :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetBinWidth" c_th2_getbinwidth -  :: (Ptr RawTH2) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetBinWidth"+               c_th2_getbinwidth :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetCellContent" c_th2_getcellcontent -  :: (Ptr RawTH2) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetCellContent"+               c_th2_getcellcontent :: Ptr RawTH2 -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetCellError" c_th2_getcellerror -  :: (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 "HROOTHistTH2.h TH2_GetEntries" c_th2_getentries -  :: (Ptr RawTH2) -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetEntries"+               c_th2_getentries :: Ptr RawTH2 -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetEffectiveEntries" c_th2_geteffectiveentries -  :: (Ptr RawTH2) -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetEffectiveEntries"+               c_th2_geteffectiveentries :: Ptr RawTH2 -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetFunction" c_th2_getfunction -  :: (Ptr RawTH2) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH2.h TH2_GetFunction"+               c_th2_getfunction :: Ptr RawTH2 -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH2.h TH2_GetDimension" c_th2_getdimension -  :: (Ptr RawTH2) -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_GetDimension"+               c_th2_getdimension :: Ptr RawTH2 -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_GetKurtosis" c_th2_getkurtosis -  :: (Ptr RawTH2) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetKurtosis"+               c_th2_getkurtosis :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetLowEdge" c_th2_getlowedge -  :: (Ptr RawTH2) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_GetLowEdge"+               c_th2_getlowedge :: Ptr RawTH2 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2.h TH2_getMaximumTH1" c_th2_getmaximumth1 -  :: (Ptr RawTH2) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_getMaximumTH1"+               c_th2_getmaximumth1 :: Ptr RawTH2 -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetMaximumBin" c_th2_getmaximumbin -  :: (Ptr RawTH2) -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_GetMaximumBin"+               c_th2_getmaximumbin :: Ptr RawTH2 -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_GetMaximumStored" c_th2_getmaximumstored -  :: (Ptr RawTH2) -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetMaximumStored"+               c_th2_getmaximumstored :: Ptr RawTH2 -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_getMinimumTH1" c_th2_getminimumth1 -  :: (Ptr RawTH2) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_getMinimumTH1"+               c_th2_getminimumth1 :: Ptr RawTH2 -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetMinimumBin" c_th2_getminimumbin -  :: (Ptr RawTH2) -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_GetMinimumBin"+               c_th2_getminimumbin :: Ptr RawTH2 -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_GetMinimumStored" c_th2_getminimumstored -  :: (Ptr RawTH2) -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetMinimumStored"+               c_th2_getminimumstored :: Ptr RawTH2 -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetMean" c_th2_getmean -  :: (Ptr RawTH2) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetMean"+               c_th2_getmean :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetMeanError" c_th2_getmeanerror -  :: (Ptr RawTH2) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetMeanError"+               c_th2_getmeanerror :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetNbinsX" c_th2_getnbinsx -  :: (Ptr RawTH2) -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetNbinsX"+               c_th2_getnbinsx :: Ptr RawTH2 -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetNbinsY" c_th2_getnbinsy -  :: (Ptr RawTH2) -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetNbinsY"+               c_th2_getnbinsy :: Ptr RawTH2 -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetNbinsZ" c_th2_getnbinsz -  :: (Ptr RawTH2) -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetNbinsZ"+               c_th2_getnbinsz :: Ptr RawTH2 -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_getQuantilesTH1" c_th2_getquantilesth1 -  :: (Ptr RawTH2) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_getQuantilesTH1"+               c_th2_getquantilesth1 ::+               Ptr RawTH2 -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_GetRandom" c_th2_getrandom -  :: (Ptr RawTH2) -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetRandom"+               c_th2_getrandom :: Ptr RawTH2 -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetStats" c_th2_getstats -  :: (Ptr RawTH2) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_GetStats"+               c_th2_getstats :: Ptr RawTH2 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2.h TH2_GetSumOfWeights" c_th2_getsumofweights -  :: (Ptr RawTH2) -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetSumOfWeights"+               c_th2_getsumofweights :: Ptr RawTH2 -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetSumw2" c_th2_getsumw2 -  :: (Ptr RawTH2) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH2.h TH2_GetSumw2"+               c_th2_getsumw2 :: Ptr RawTH2 -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH2.h TH2_GetSumw2N" c_th2_getsumw2n -  :: (Ptr RawTH2) -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_GetSumw2N"+               c_th2_getsumw2n :: Ptr RawTH2 -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_GetRMS" c_th2_getrms -  :: (Ptr RawTH2) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetRMS" c_th2_getrms+               :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetRMSError" c_th2_getrmserror -  :: (Ptr RawTH2) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetRMSError"+               c_th2_getrmserror :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_GetSkewness" c_th2_getskewness -  :: (Ptr RawTH2) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_GetSkewness"+               c_th2_getskewness :: Ptr RawTH2 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_integral1" c_th2_integral1 -  :: (Ptr RawTH2) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_integral1"+               c_th2_integral1 ::+               Ptr RawTH2 -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_interpolate1" c_th2_interpolate1 -  :: (Ptr RawTH2) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_interpolate1"+               c_th2_interpolate1 :: Ptr RawTH2 -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_interpolate2" c_th2_interpolate2 -  :: (Ptr RawTH2) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_interpolate2"+               c_th2_interpolate2 ::+               Ptr RawTH2 -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_interpolate3" c_th2_interpolate3 -  :: (Ptr RawTH2) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_interpolate3"+               c_th2_interpolate3 ::+               Ptr RawTH2 -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_KolmogorovTest" c_th2_kolmogorovtest -  :: (Ptr RawTH2) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_KolmogorovTest"+               c_th2_kolmogorovtest ::+               Ptr RawTH2 -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_LabelsDeflate" c_th2_labelsdeflate -  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_LabelsDeflate"+               c_th2_labelsdeflate :: Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_LabelsInflate" c_th2_labelsinflate -  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_LabelsInflate"+               c_th2_labelsinflate :: Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_LabelsOption" c_th2_labelsoption -  :: (Ptr RawTH2) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_LabelsOption"+               c_th2_labelsoption :: Ptr RawTH2 -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_multiflyF" c_th2_multiflyf -  :: (Ptr RawTH2) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_multiflyF"+               c_th2_multiflyf :: Ptr RawTH2 -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_Multiply" c_th2_multiply -  :: (Ptr RawTH2) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_Multiply"+               c_th2_multiply ::+               Ptr RawTH2 ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_PutStats" c_th2_putstats -  :: (Ptr RawTH2) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_PutStats"+               c_th2_putstats :: Ptr RawTH2 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2.h TH2_Rebin" c_th2_rebin -  :: (Ptr RawTH2) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH2.h TH2_Rebin" c_th2_rebin ::+               Ptr RawTH2 -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2.h TH2_RebinAxis" c_th2_rebinaxis -  :: (Ptr RawTH2) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_RebinAxis"+               c_th2_rebinaxis :: Ptr RawTH2 -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH2.h TH2_Rebuild" c_th2_rebuild -  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_Rebuild"+               c_th2_rebuild :: Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_RecursiveRemove" c_th2_recursiveremove -  :: (Ptr RawTH2) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_RecursiveRemove"+               c_th2_recursiveremove :: Ptr RawTH2 -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH2.h TH2_Reset" c_th2_reset -  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_Reset" c_th2_reset ::+               Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_ResetStats" c_th2_resetstats -  :: (Ptr RawTH2) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_ResetStats"+               c_th2_resetstats :: Ptr RawTH2 -> IO () -foreign import ccall "HROOTHistTH2.h TH2_Scale" c_th2_scale -  :: (Ptr RawTH2) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_Scale" c_th2_scale ::+               Ptr RawTH2 -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setAxisColorA" c_th2_setaxiscolora -  :: (Ptr RawTH2) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setAxisColorA"+               c_th2_setaxiscolora :: Ptr RawTH2 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetAxisRange" c_th2_setaxisrange -  :: (Ptr RawTH2) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetAxisRange"+               c_th2_setaxisrange ::+               Ptr RawTH2 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetBarOffset" c_th2_setbaroffset -  :: (Ptr RawTH2) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetBarOffset"+               c_th2_setbaroffset :: Ptr RawTH2 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetBarWidth" c_th2_setbarwidth -  :: (Ptr RawTH2) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetBarWidth"+               c_th2_setbarwidth :: Ptr RawTH2 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setBinContent1" c_th2_setbincontent1 -  :: (Ptr RawTH2) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setBinContent1"+               c_th2_setbincontent1 :: Ptr RawTH2 -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setBinContent2" c_th2_setbincontent2 -  :: (Ptr RawTH2) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setBinContent2"+               c_th2_setbincontent2 ::+               Ptr RawTH2 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setBinContent3" c_th2_setbincontent3 -  :: (Ptr RawTH2) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setBinContent3"+               c_th2_setbincontent3 ::+               Ptr RawTH2 -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setBinError1" c_th2_setbinerror1 -  :: (Ptr RawTH2) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setBinError1"+               c_th2_setbinerror1 :: Ptr RawTH2 -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setBinError2" c_th2_setbinerror2 -  :: (Ptr RawTH2) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setBinError2"+               c_th2_setbinerror2 ::+               Ptr RawTH2 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setBinError3" c_th2_setbinerror3 -  :: (Ptr RawTH2) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setBinError3"+               c_th2_setbinerror3 ::+               Ptr RawTH2 -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setBins1" c_th2_setbins1 -  :: (Ptr RawTH2) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setBins1"+               c_th2_setbins1 :: Ptr RawTH2 -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setBins2" c_th2_setbins2 -  :: (Ptr RawTH2) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setBins2"+               c_th2_setbins2 ::+               Ptr RawTH2 ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setBins3" c_th2_setbins3 -  :: (Ptr RawTH2) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setBins3"+               c_th2_setbins3 ::+               Ptr RawTH2 ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetBinsLength" c_th2_setbinslength -  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetBinsLength"+               c_th2_setbinslength :: Ptr RawTH2 -> CInt -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetBuffer" c_th2_setbuffer -  :: (Ptr RawTH2) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetBuffer"+               c_th2_setbuffer :: Ptr RawTH2 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetCellContent" c_th2_setcellcontent -  :: (Ptr RawTH2) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetCellContent"+               c_th2_setcellcontent ::+               Ptr RawTH2 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetContent" c_th2_setcontent -  :: (Ptr RawTH2) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetContent"+               c_th2_setcontent :: Ptr RawTH2 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetContour" c_th2_setcontour -  :: (Ptr RawTH2) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetContour"+               c_th2_setcontour :: Ptr RawTH2 -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetContourLevel" c_th2_setcontourlevel -  :: (Ptr RawTH2) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetContourLevel"+               c_th2_setcontourlevel :: Ptr RawTH2 -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetDirectory" c_th2_setdirectory -  :: (Ptr RawTH2) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetDirectory"+               c_th2_setdirectory :: Ptr RawTH2 -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetEntries" c_th2_setentries -  :: (Ptr RawTH2) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetEntries"+               c_th2_setentries :: Ptr RawTH2 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetError" c_th2_seterror -  :: (Ptr RawTH2) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetError"+               c_th2_seterror :: Ptr RawTH2 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setLabelColorA" c_th2_setlabelcolora -  :: (Ptr RawTH2) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setLabelColorA"+               c_th2_setlabelcolora :: Ptr RawTH2 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setLabelSizeA" c_th2_setlabelsizea -  :: (Ptr RawTH2) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setLabelSizeA"+               c_th2_setlabelsizea :: Ptr RawTH2 -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setLabelFontA" c_th2_setlabelfonta -  :: (Ptr RawTH2) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setLabelFontA"+               c_th2_setlabelfonta :: Ptr RawTH2 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_setLabelOffsetA" c_th2_setlabeloffseta -  :: (Ptr RawTH2) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_setLabelOffsetA"+               c_th2_setlabeloffseta :: Ptr RawTH2 -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetMaximum" c_th2_setmaximum -  :: (Ptr RawTH2) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetMaximum"+               c_th2_setmaximum :: Ptr RawTH2 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetMinimum" c_th2_setminimum -  :: (Ptr RawTH2) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetMinimum"+               c_th2_setminimum :: Ptr RawTH2 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetNormFactor" c_th2_setnormfactor -  :: (Ptr RawTH2) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetNormFactor"+               c_th2_setnormfactor :: Ptr RawTH2 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetStats" c_th2_setstats -  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetStats"+               c_th2_setstats :: Ptr RawTH2 -> CInt -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetOption" c_th2_setoption -  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetOption"+               c_th2_setoption :: Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetXTitle" c_th2_setxtitle -  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetXTitle"+               c_th2_setxtitle :: Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetYTitle" c_th2_setytitle -  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetYTitle"+               c_th2_setytitle :: Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetZTitle" c_th2_setztitle -  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetZTitle"+               c_th2_setztitle :: Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_ShowBackground" c_th2_showbackground -  :: (Ptr RawTH2) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH2.h TH2_ShowBackground"+               c_th2_showbackground ::+               Ptr RawTH2 -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2.h TH2_ShowPeaks" c_th2_showpeaks -  :: (Ptr RawTH2) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_ShowPeaks"+               c_th2_showpeaks ::+               Ptr RawTH2 -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_Smooth" c_th2_smooth -  :: (Ptr RawTH2) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_Smooth" c_th2_smooth+               :: Ptr RawTH2 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_Sumw2" c_th2_sumw2 -  :: (Ptr RawTH2) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_Sumw2" c_th2_sumw2 ::+               Ptr RawTH2 -> IO () -foreign import ccall "HROOTHistTH2.h TH2_Draw" c_th2_draw -  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetName"+               c_th2_setname :: Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_FindObject" c_th2_findobject -  :: (Ptr RawTH2) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH2.h TH2_SetNameTitle"+               c_th2_setnametitle :: Ptr RawTH2 -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_GetName" c_th2_getname -  :: (Ptr RawTH2) -> IO CString+foreign import ccall safe "HROOTHistTH2.h TH2_SetTitle"+               c_th2_settitle :: Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_IsA" c_th2_isa -  :: (Ptr RawTH2) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH2.h TH2_GetLineColor"+               c_th2_getlinecolor :: Ptr RawTH2 -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_Paint" c_th2_paint -  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_GetLineStyle"+               c_th2_getlinestyle :: Ptr RawTH2 -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_printObj" c_th2_printobj -  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_GetLineWidth"+               c_th2_getlinewidth :: Ptr RawTH2 -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_SaveAs" c_th2_saveas -  :: (Ptr RawTH2) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_ResetAttLine"+               c_th2_resetattline :: Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_Write" c_th2_write -  :: (Ptr RawTH2) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_SetLineAttributes"+               c_th2_setlineattributes :: Ptr RawTH2 -> IO () -foreign import ccall "HROOTHistTH2.h TH2_GetLineColor" c_th2_getlinecolor -  :: (Ptr RawTH2) -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_SetLineColor"+               c_th2_setlinecolor :: Ptr RawTH2 -> CInt -> IO () -foreign import ccall "HROOTHistTH2.h TH2_GetLineStyle" c_th2_getlinestyle -  :: (Ptr RawTH2) -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_SetLineStyle"+               c_th2_setlinestyle :: Ptr RawTH2 -> CInt -> IO () -foreign import ccall "HROOTHistTH2.h TH2_GetLineWidth" c_th2_getlinewidth -  :: (Ptr RawTH2) -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_SetLineWidth"+               c_th2_setlinewidth :: Ptr RawTH2 -> CInt -> IO () -foreign import ccall "HROOTHistTH2.h TH2_ResetAttLine" c_th2_resetattline -  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetFillColor"+               c_th2_setfillcolor :: Ptr RawTH2 -> CInt -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetLineAttributes" c_th2_setlineattributes -  :: (Ptr RawTH2) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetFillStyle"+               c_th2_setfillstyle :: Ptr RawTH2 -> CInt -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetLineColor" c_th2_setlinecolor -  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_GetMarkerColor"+               c_th2_getmarkercolor :: Ptr RawTH2 -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_SetLineStyle" c_th2_setlinestyle -  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_GetMarkerStyle"+               c_th2_getmarkerstyle :: Ptr RawTH2 -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_SetLineWidth" c_th2_setlinewidth -  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_GetMarkerSize"+               c_th2_getmarkersize :: Ptr RawTH2 -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_SetFillColor" c_th2_setfillcolor -  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_ResetAttMarker"+               c_th2_resetattmarker :: Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetFillStyle" c_th2_setfillstyle -  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_SetMarkerAttributes"+               c_th2_setmarkerattributes :: Ptr RawTH2 -> IO () -foreign import ccall "HROOTHistTH2.h TH2_GetMarkerColor" c_th2_getmarkercolor -  :: (Ptr RawTH2) -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_SetMarkerColor"+               c_th2_setmarkercolor :: Ptr RawTH2 -> CInt -> IO () -foreign import ccall "HROOTHistTH2.h TH2_GetMarkerStyle" c_th2_getmarkerstyle -  :: (Ptr RawTH2) -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_SetMarkerStyle"+               c_th2_setmarkerstyle :: Ptr RawTH2 -> CInt -> IO () -foreign import ccall "HROOTHistTH2.h TH2_GetMarkerSize" c_th2_getmarkersize -  :: (Ptr RawTH2) -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_SetMarkerSize"+               c_th2_setmarkersize :: Ptr RawTH2 -> CInt -> IO () -foreign import ccall "HROOTHistTH2.h TH2_ResetAttMarker" c_th2_resetattmarker -  :: (Ptr RawTH2) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_Draw" c_th2_draw ::+               Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_SetMarkerAttributes" c_th2_setmarkerattributes -  :: (Ptr RawTH2) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_FindObject"+               c_th2_findobject :: Ptr RawTH2 -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH2.h TH2_SetMarkerColor" c_th2_setmarkercolor -  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_GetName"+               c_th2_getname :: Ptr RawTH2 -> IO CString -foreign import ccall "HROOTHistTH2.h TH2_SetMarkerStyle" c_th2_setmarkerstyle -  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_IsA" c_th2_isa ::+               Ptr RawTH2 -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH2.h TH2_SetMarkerSize" c_th2_setmarkersize -  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_Paint" c_th2_paint ::+               Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_delete" c_th2_delete -  :: (Ptr RawTH2) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_printObj"+               c_th2_printobj :: Ptr RawTH2 -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_fill2" c_th2_fill2 -  :: (Ptr RawTH2) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_SaveAs" c_th2_saveas+               :: Ptr RawTH2 -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2.h TH2_fill2w" c_th2_fill2w -  :: (Ptr RawTH2) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_Write" c_th2_write ::+               Ptr RawTH2 -> CString -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_fillN2" c_th2_filln2 -  :: (Ptr RawTH2) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_delete" c_th2_delete+               :: Ptr RawTH2 -> IO () -foreign import ccall "HROOTHistTH2.h TH2_fillRandom2" c_th2_fillrandom2 -  :: (Ptr RawTH2) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_fill2" c_th2_fill2 ::+               Ptr RawTH2 -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_findFirstBinAbove2" c_th2_findfirstbinabove2 -  :: (Ptr RawTH2) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_fill2w" c_th2_fill2w+               :: Ptr RawTH2 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_findLastBinAbove2" c_th2_findlastbinabove2 -  :: (Ptr RawTH2) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2.h TH2_fillN2" c_th2_filln2+               ::+               Ptr RawTH2 ->+                 CInt ->+                   (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "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_fillRandom2"+               c_th2_fillrandom2 :: Ptr RawTH2 -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH2.h TH2_FitSlicesY" c_th2_fitslicesy -  :: (Ptr RawTH2) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_findFirstBinAbove2"+               c_th2_findfirstbinabove2 ::+               Ptr RawTH2 -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_getCorrelationFactor2" c_th2_getcorrelationfactor2 -  :: (Ptr RawTH2) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_findLastBinAbove2"+               c_th2_findlastbinabove2 :: Ptr RawTH2 -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2.h TH2_getCovariance2" c_th2_getcovariance2 -  :: (Ptr RawTH2) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_FitSlicesX"+               c_th2_fitslicesx ::+               Ptr RawTH2 ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "HROOTHistTH2.h TH2_integral2" c_th2_integral2 -  :: (Ptr RawTH2) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2.h TH2_FitSlicesY"+               c_th2_fitslicesy ::+               Ptr RawTH2 ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "HROOTHistTH2.h TH2_tH2ProjectionX" c_th2_th2projectionx -  :: (Ptr RawTH2) -> CString -> CInt -> CInt -> CString -> IO (Ptr RawTH1D)+foreign import ccall safe+               "HROOTHistTH2.h TH2_getCorrelationFactor2"+               c_th2_getcorrelationfactor2 ::+               Ptr RawTH2 -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_tH2ProjectionY" c_th2_th2projectiony -  :: (Ptr RawTH2) -> CString -> CInt -> CInt -> CString -> IO (Ptr RawTH1D)+foreign import ccall safe "HROOTHistTH2.h TH2_getCovariance2"+               c_th2_getcovariance2 :: Ptr RawTH2 -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_rebinX2" c_th2_rebinx2 -  :: (Ptr RawTH2) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2.h TH2_integral2"+               c_th2_integral2 ::+               Ptr RawTH2 -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2.h TH2_rebinY2" c_th2_rebiny2 -  :: (Ptr RawTH2) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2.h TH2_tH2ProjectionX"+               c_th2_th2projectionx ::+               Ptr RawTH2 ->+                 CString -> CInt -> CInt -> CString -> IO (Ptr RawTH1D) -foreign import ccall "HROOTHistTH2.h TH2_Rebin2D" c_th2_rebin2d -  :: (Ptr RawTH2) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2.h TH2_tH2ProjectionY"+               c_th2_th2projectiony ::+               Ptr RawTH2 ->+                 CString -> CInt -> CInt -> CString -> IO (Ptr RawTH1D) -foreign import ccall "HROOTHistTH2.h TH2_SetShowProjectionX" c_th2_setshowprojectionx -  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_rebinX2"+               c_th2_rebinx2 :: Ptr RawTH2 -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "HROOTHistTH2.h TH2_SetShowProjectionY" c_th2_setshowprojectiony -  :: (Ptr RawTH2) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2.h TH2_rebinY2"+               c_th2_rebiny2 :: Ptr RawTH2 -> CInt -> CString -> IO (Ptr RawTH2) +foreign import ccall safe "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 safe "HROOTHistTH2.h TH2_SetShowProjectionY"+               c_th2_setshowprojectiony :: Ptr RawTH2 -> CInt -> IO ()
src/HROOT/Hist/TH2/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH2.RawType import HROOT.Hist.TH2.FFI import HROOT.Hist.TH2.Interface@@ -35,9 +36,9 @@ import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.Cast import HROOT.Hist.TH1.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -47,391 +48,212 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr+instance ITH2 TH2 where+        fill2 = xform2 c_th2_fill2+        fill2w = xform3 c_th2_fill2w+        fillN2 = xform5 c_th2_filln2+        fillRandom2 = xform2 c_th2_fillrandom2+        findFirstBinAbove2 = xform2 c_th2_findfirstbinabove2+        findLastBinAbove2 = xform2 c_th2_findlastbinabove2+        fitSlicesX = xform6 c_th2_fitslicesx+        fitSlicesY = xform6 c_th2_fitslicesy+        getCorrelationFactor2 = xform2 c_th2_getcorrelationfactor2+        getCovariance2 = xform2 c_th2_getcovariance2+        integral2 = xform5 c_th2_integral2+        rebinX2 = xform2 c_th2_rebinx2+        rebinY2 = xform2 c_th2_rebiny2+        rebin2D = xform3 c_th2_rebin2d+        setShowProjectionX = xform1 c_th2_setshowprojectionx+        setShowProjectionY = xform1 c_th2_setshowprojectiony -import System.IO.Unsafe+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+        drawNormalized = xform2 c_th2_drawnormalized+        drawPanelTH1 = xform0 c_th2_drawpanelth1+        bufferEmpty = xform1 c_th2_bufferempty+        evalF = xform2 c_th2_evalf+        fFT = xform2 c_th2_fft+        fill1 = xform1 c_th2_fill1+        fill1w = xform2 c_th2_fill1w+        fillN1 = xform4 c_th2_filln1+        fillRandom = xform2 c_th2_fillrandom+        findBin = xform3 c_th2_findbin+        findFixBin = xform3 c_th2_findfixbin+        findFirstBinAbove = xform2 c_th2_findfirstbinabove+        findLastBinAbove = xform2 c_th2_findlastbinabove+        fit = xform5 c_th2_fit+        fitPanelTH1 = xform0 c_th2_fitpanelth1+        getNdivisionA = xform1 c_th2_getndivisiona+        getAxisColorA = xform1 c_th2_getaxiscolora+        getLabelColorA = xform1 c_th2_getlabelcolora+        getLabelFontA = xform1 c_th2_getlabelfonta+        getLabelOffsetA = xform1 c_th2_getlabeloffseta+        getLabelSizeA = xform1 c_th2_getlabelsizea+        getTitleFontA = xform1 c_th2_gettitlefonta+        getTitleOffsetA = xform1 c_th2_gettitleoffseta+        getTitleSizeA = xform1 c_th2_gettitlesizea+        getTickLengthA = xform1 c_th2_getticklengtha+        getBarOffset = xform0 c_th2_getbaroffset+        getBarWidth = xform0 c_th2_getbarwidth+        getContour = xform1 c_th2_getcontour+        getContourLevel = xform1 c_th2_getcontourlevel+        getContourLevelPad = xform1 c_th2_getcontourlevelpad+        getBin = xform3 c_th2_getbin+        getBinCenter = xform1 c_th2_getbincenter+        getBinContent1 = xform1 c_th2_getbincontent1+        getBinContent2 = xform2 c_th2_getbincontent2+        getBinContent3 = xform3 c_th2_getbincontent3+        getBinError1 = xform1 c_th2_getbinerror1+        getBinError2 = xform2 c_th2_getbinerror2+        getBinError3 = xform3 c_th2_getbinerror3+        getBinLowEdge = xform1 c_th2_getbinlowedge+        getBinWidth = xform1 c_th2_getbinwidth+        getCellContent = xform2 c_th2_getcellcontent+        getCellError = xform2 c_th2_getcellerror+        getEntries = xform0 c_th2_getentries+        getEffectiveEntries = xform0 c_th2_geteffectiveentries+        getFunction = xform1 c_th2_getfunction+        getDimension = xform0 c_th2_getdimension+        getKurtosis = xform1 c_th2_getkurtosis+        getLowEdge = xform1 c_th2_getlowedge+        getMaximumTH1 = xform1 c_th2_getmaximumth1+        getMaximumBin = xform0 c_th2_getmaximumbin+        getMaximumStored = xform0 c_th2_getmaximumstored+        getMinimumTH1 = xform1 c_th2_getminimumth1+        getMinimumBin = xform0 c_th2_getminimumbin+        getMinimumStored = xform0 c_th2_getminimumstored+        getMean = xform1 c_th2_getmean+        getMeanError = xform1 c_th2_getmeanerror+        getNbinsX = xform0 c_th2_getnbinsx+        getNbinsY = xform0 c_th2_getnbinsy+        getNbinsZ = xform0 c_th2_getnbinsz+        getQuantilesTH1 = xform3 c_th2_getquantilesth1+        getRandom = xform0 c_th2_getrandom+        getStats = xform1 c_th2_getstats+        getSumOfWeights = xform0 c_th2_getsumofweights+        getSumw2 = xform0 c_th2_getsumw2+        getSumw2N = xform0 c_th2_getsumw2n+        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+        labelsInflate = xform1 c_th2_labelsinflate+        labelsOption = xform2 c_th2_labelsoption+        multiflyF = xform2 c_th2_multiflyf+        multiply = xform5 c_th2_multiply+        putStats = xform1 c_th2_putstats+        rebin = xform3 c_th2_rebin+        rebinAxis = xform2 c_th2_rebinaxis+        rebuild = xform1 c_th2_rebuild+        recursiveRemove = xform1 c_th2_recursiveremove+        reset = xform1 c_th2_reset+        resetStats = xform0 c_th2_resetstats+        scale = xform2 c_th2_scale+        setAxisColorA = xform2 c_th2_setaxiscolora+        setAxisRange = xform3 c_th2_setaxisrange+        setBarOffset = xform1 c_th2_setbaroffset+        setBarWidth = xform1 c_th2_setbarwidth+        setBinContent1 = xform2 c_th2_setbincontent1+        setBinContent2 = xform3 c_th2_setbincontent2+        setBinContent3 = xform4 c_th2_setbincontent3+        setBinError1 = xform2 c_th2_setbinerror1+        setBinError2 = xform3 c_th2_setbinerror2+        setBinError3 = xform4 c_th2_setbinerror3+        setBins1 = xform2 c_th2_setbins1+        setBins2 = xform4 c_th2_setbins2+        setBins3 = xform6 c_th2_setbins3+        setBinsLength = xform1 c_th2_setbinslength+        setBuffer = xform2 c_th2_setbuffer+        setCellContent = xform3 c_th2_setcellcontent+        setContent = xform1 c_th2_setcontent+        setContour = xform2 c_th2_setcontour+        setContourLevel = xform2 c_th2_setcontourlevel+        setDirectory = xform1 c_th2_setdirectory+        setEntries = xform1 c_th2_setentries+        setError = xform1 c_th2_seterror+        setLabelColorA = xform2 c_th2_setlabelcolora+        setLabelSizeA = xform2 c_th2_setlabelsizea+        setLabelFontA = xform2 c_th2_setlabelfonta+        setLabelOffsetA = xform2 c_th2_setlabeloffseta+        setMaximum = xform1 c_th2_setmaximum+        setMinimum = xform1 c_th2_setminimum+        setNormFactor = xform1 c_th2_setnormfactor+        setStats = xform1 c_th2_setstats+        setOption = xform1 c_th2_setoption+        setXTitle = xform1 c_th2_setxtitle+        setYTitle = xform1 c_th2_setytitle+        setZTitle = xform1 c_th2_setztitle+        showBackground = xform2 c_th2_showbackground+        showPeaks = xform3 c_th2_showpeaks+        smooth = xform2 c_th2_smooth+        sumw2 = xform0 c_th2_sumw2 +instance ITNamed TH2 where+        setName = xform1 c_th2_setname+        setNameTitle = xform2 c_th2_setnametitle+        setTitle = xform1 c_th2_settitle -instance ITH2 TH2 where-  fill2 = xform2 c_th2_fill2-  fill2w = xform3 c_th2_fill2w-  fillN2 = xform5 c_th2_filln2-  fillRandom2 = xform2 c_th2_fillrandom2-  findFirstBinAbove2 = xform2 c_th2_findfirstbinabove2-  findLastBinAbove2 = xform2 c_th2_findlastbinabove2-  fitSlicesX = xform6 c_th2_fitslicesx-  fitSlicesY = xform6 c_th2_fitslicesy-  getCorrelationFactor2 = xform2 c_th2_getcorrelationfactor2-  getCovariance2 = xform2 c_th2_getcovariance2-  integral2 = xform5 c_th2_integral2-  rebinX2 = xform2 c_th2_rebinx2-  rebinY2 = xform2 c_th2_rebiny2-  rebin2D = xform3 c_th2_rebin2d-  setShowProjectionX = xform1 c_th2_setshowprojectionx-  setShowProjectionY = xform1 c_th2_setshowprojectiony-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-  drawNormalized = xform2 c_th2_drawnormalized-  drawPanelTH1 = xform0 c_th2_drawpanelth1-  bufferEmpty = xform1 c_th2_bufferempty-  evalF = xform2 c_th2_evalf-  fFT = xform2 c_th2_fft-  fill1 = xform1 c_th2_fill1-  fill1w = xform2 c_th2_fill1w-  fillN1 = xform4 c_th2_filln1-  fillRandom = xform2 c_th2_fillrandom-  findBin = xform3 c_th2_findbin-  findFixBin = xform3 c_th2_findfixbin-  findFirstBinAbove = xform2 c_th2_findfirstbinabove-  findLastBinAbove = xform2 c_th2_findlastbinabove-  fitPanelTH1 = xform0 c_th2_fitpanelth1-  getNdivisionA = xform1 c_th2_getndivisiona-  getAxisColorA = xform1 c_th2_getaxiscolora-  getLabelColorA = xform1 c_th2_getlabelcolora-  getLabelFontA = xform1 c_th2_getlabelfonta-  getLabelOffsetA = xform1 c_th2_getlabeloffseta-  getLabelSizeA = xform1 c_th2_getlabelsizea-  getTitleFontA = xform1 c_th2_gettitlefonta-  getTitleOffsetA = xform1 c_th2_gettitleoffseta-  getTitleSizeA = xform1 c_th2_gettitlesizea-  getTickLengthA = xform1 c_th2_getticklengtha-  getBarOffset = xform0 c_th2_getbaroffset-  getBarWidth = xform0 c_th2_getbarwidth-  getContour = xform1 c_th2_getcontour-  getContourLevel = xform1 c_th2_getcontourlevel-  getContourLevelPad = xform1 c_th2_getcontourlevelpad-  getBin = xform3 c_th2_getbin-  getBinCenter = xform1 c_th2_getbincenter-  getBinContent1 = xform1 c_th2_getbincontent1-  getBinContent2 = xform2 c_th2_getbincontent2-  getBinContent3 = xform3 c_th2_getbincontent3-  getBinError1 = xform1 c_th2_getbinerror1-  getBinError2 = xform2 c_th2_getbinerror2-  getBinError3 = xform3 c_th2_getbinerror3-  getBinLowEdge = xform1 c_th2_getbinlowedge-  getBinWidth = xform1 c_th2_getbinwidth-  getCellContent = xform2 c_th2_getcellcontent-  getCellError = xform2 c_th2_getcellerror-  getEntries = xform0 c_th2_getentries-  getEffectiveEntries = xform0 c_th2_geteffectiveentries-  getFunction = xform1 c_th2_getfunction-  getDimension = xform0 c_th2_getdimension-  getKurtosis = xform1 c_th2_getkurtosis-  getLowEdge = xform1 c_th2_getlowedge-  getMaximumTH1 = xform1 c_th2_getmaximumth1-  getMaximumBin = xform0 c_th2_getmaximumbin-  getMaximumStored = xform0 c_th2_getmaximumstored-  getMinimumTH1 = xform1 c_th2_getminimumth1-  getMinimumBin = xform0 c_th2_getminimumbin-  getMinimumStored = xform0 c_th2_getminimumstored-  getMean = xform1 c_th2_getmean-  getMeanError = xform1 c_th2_getmeanerror-  getNbinsX = xform0 c_th2_getnbinsx-  getNbinsY = xform0 c_th2_getnbinsy-  getNbinsZ = xform0 c_th2_getnbinsz-  getQuantilesTH1 = xform3 c_th2_getquantilesth1-  getRandom = xform0 c_th2_getrandom-  getStats = xform1 c_th2_getstats-  getSumOfWeights = xform0 c_th2_getsumofweights-  getSumw2 = xform0 c_th2_getsumw2-  getSumw2N = xform0 c_th2_getsumw2n-  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-  labelsInflate = xform1 c_th2_labelsinflate-  labelsOption = xform2 c_th2_labelsoption-  multiflyF = xform2 c_th2_multiflyf-  multiply = xform5 c_th2_multiply-  putStats = xform1 c_th2_putstats-  rebin = xform3 c_th2_rebin-  rebinAxis = xform2 c_th2_rebinaxis-  rebuild = xform1 c_th2_rebuild-  recursiveRemove = xform1 c_th2_recursiveremove-  reset = xform1 c_th2_reset-  resetStats = xform0 c_th2_resetstats-  scale = xform2 c_th2_scale-  setAxisColorA = xform2 c_th2_setaxiscolora-  setAxisRange = xform3 c_th2_setaxisrange-  setBarOffset = xform1 c_th2_setbaroffset-  setBarWidth = xform1 c_th2_setbarwidth-  setBinContent1 = xform2 c_th2_setbincontent1-  setBinContent2 = xform3 c_th2_setbincontent2-  setBinContent3 = xform4 c_th2_setbincontent3-  setBinError1 = xform2 c_th2_setbinerror1-  setBinError2 = xform3 c_th2_setbinerror2-  setBinError3 = xform4 c_th2_setbinerror3-  setBins1 = xform2 c_th2_setbins1-  setBins2 = xform4 c_th2_setbins2-  setBins3 = xform6 c_th2_setbins3-  setBinsLength = xform1 c_th2_setbinslength-  setBuffer = xform2 c_th2_setbuffer-  setCellContent = xform3 c_th2_setcellcontent-  setContent = xform1 c_th2_setcontent-  setContour = xform2 c_th2_setcontour-  setContourLevel = xform2 c_th2_setcontourlevel-  setDirectory = xform1 c_th2_setdirectory-  setEntries = xform1 c_th2_setentries-  setError = xform1 c_th2_seterror-  setLabelColorA = xform2 c_th2_setlabelcolora-  setLabelSizeA = xform2 c_th2_setlabelsizea-  setLabelFontA = xform2 c_th2_setlabelfonta-  setLabelOffsetA = xform2 c_th2_setlabeloffseta-  setMaximum = xform1 c_th2_setmaximum-  setMinimum = xform1 c_th2_setminimum-  setNormFactor = xform1 c_th2_setnormfactor-  setStats = xform1 c_th2_setstats-  setOption = xform1 c_th2_setoption-  setXTitle = xform1 c_th2_setxtitle-  setYTitle = xform1 c_th2_setytitle-  setZTitle = xform1 c_th2_setztitle-  showBackground = xform2 c_th2_showbackground-  showPeaks = xform3 c_th2_showpeaks-  smooth = xform2 c_th2_smooth-  sumw2 = xform0 c_th2_sumw2-instance ITObject TH2 where-  draw = xform1 c_th2_draw-  findObject = xform1 c_th2_findobject-  getName = xform0 c_th2_getname-  isA = xform0 c_th2_isa-  paint = xform1 c_th2_paint-  printObj = xform1 c_th2_printobj-  saveAs = xform2 c_th2_saveas-  write = xform3 c_th2_write instance ITAttLine TH2 where-  getLineColor = xform0 c_th2_getlinecolor-  getLineStyle = xform0 c_th2_getlinestyle-  getLineWidth = xform0 c_th2_getlinewidth-  resetAttLine = xform1 c_th2_resetattline-  setLineAttributes = xform0 c_th2_setlineattributes-  setLineColor = xform1 c_th2_setlinecolor-  setLineStyle = xform1 c_th2_setlinestyle-  setLineWidth = xform1 c_th2_setlinewidth+        getLineColor = xform0 c_th2_getlinecolor+        getLineStyle = xform0 c_th2_getlinestyle+        getLineWidth = xform0 c_th2_getlinewidth+        resetAttLine = xform1 c_th2_resetattline+        setLineAttributes = xform0 c_th2_setlineattributes+        setLineColor = xform1 c_th2_setlinecolor+        setLineStyle = xform1 c_th2_setlinestyle+        setLineWidth = xform1 c_th2_setlinewidth+ instance ITAttFill TH2 where-  setFillColor = xform1 c_th2_setfillcolor-  setFillStyle = xform1 c_th2_setfillstyle-instance ITAttMarker TH2 where-  getMarkerColor = xform0 c_th2_getmarkercolor-  getMarkerStyle = xform0 c_th2_getmarkerstyle-  getMarkerSize = xform0 c_th2_getmarkersize-  resetAttMarker = xform1 c_th2_resetattmarker-  setMarkerAttributes = xform0 c_th2_setmarkerattributes-  setMarkerColor = xform1 c_th2_setmarkercolor-  setMarkerStyle = xform1 c_th2_setmarkerstyle-  setMarkerSize = xform1 c_th2_setmarkersize-instance IDeletable TH2 where-  delete = xform0 c_th2_delete+        setFillColor = xform1 c_th2_setfillcolor+        setFillStyle = xform1 c_th2_setfillstyle -instance ITH2 (Exist TH2) where-  fill2 (ETH2 x) = fill2 x-  fill2w (ETH2 x) = fill2w x-  fillN2 (ETH2 x) = fillN2 x-  fillRandom2 (ETH2 x) = fillRandom2 x-  findFirstBinAbove2 (ETH2 x) = findFirstBinAbove2 x-  findLastBinAbove2 (ETH2 x) = findLastBinAbove2 x-  fitSlicesX (ETH2 x) = fitSlicesX x-  fitSlicesY (ETH2 x) = fitSlicesY x-  getCorrelationFactor2 (ETH2 x) = getCorrelationFactor2 x-  getCovariance2 (ETH2 x) = getCovariance2 x-  integral2 (ETH2 x) = integral2 x-  rebinX2 (ETH2 x) = rebinX2 x-  rebinY2 (ETH2 x) = rebinY2 x-  rebin2D (ETH2 x) = rebin2D x-  setShowProjectionX (ETH2 x) = setShowProjectionX x-  setShowProjectionY (ETH2 x) = setShowProjectionY x-instance ITH1 (Exist TH2) where-  add (ETH2 x) = add x-  addBinContent (ETH2 x) = addBinContent x-  chi2Test (ETH2 x) = chi2Test x-  computeIntegral (ETH2 x) = computeIntegral x-  directoryAutoAdd (ETH2 x) = directoryAutoAdd x-  divide (ETH2 x) = divide x-  drawCopyTH1 (ETH2 x) a1 = return . ETH2 =<< drawCopyTH1 x a1-  drawNormalized (ETH2 x) = drawNormalized x-  drawPanelTH1 (ETH2 x) = drawPanelTH1 x-  bufferEmpty (ETH2 x) = bufferEmpty x-  evalF (ETH2 x) = evalF x-  fFT (ETH2 x) = fFT x-  fill1 (ETH2 x) = fill1 x-  fill1w (ETH2 x) = fill1w x-  fillN1 (ETH2 x) = fillN1 x-  fillRandom (ETH2 x) = fillRandom x-  findBin (ETH2 x) = findBin x-  findFixBin (ETH2 x) = findFixBin x-  findFirstBinAbove (ETH2 x) = findFirstBinAbove x-  findLastBinAbove (ETH2 x) = findLastBinAbove x-  fitPanelTH1 (ETH2 x) = fitPanelTH1 x-  getNdivisionA (ETH2 x) = getNdivisionA x-  getAxisColorA (ETH2 x) = getAxisColorA x-  getLabelColorA (ETH2 x) = getLabelColorA x-  getLabelFontA (ETH2 x) = getLabelFontA x-  getLabelOffsetA (ETH2 x) = getLabelOffsetA x-  getLabelSizeA (ETH2 x) = getLabelSizeA x-  getTitleFontA (ETH2 x) = getTitleFontA x-  getTitleOffsetA (ETH2 x) = getTitleOffsetA x-  getTitleSizeA (ETH2 x) = getTitleSizeA x-  getTickLengthA (ETH2 x) = getTickLengthA x-  getBarOffset (ETH2 x) = getBarOffset x-  getBarWidth (ETH2 x) = getBarWidth x-  getContour (ETH2 x) = getContour x-  getContourLevel (ETH2 x) = getContourLevel x-  getContourLevelPad (ETH2 x) = getContourLevelPad x-  getBin (ETH2 x) = getBin x-  getBinCenter (ETH2 x) = getBinCenter x-  getBinContent1 (ETH2 x) = getBinContent1 x-  getBinContent2 (ETH2 x) = getBinContent2 x-  getBinContent3 (ETH2 x) = getBinContent3 x-  getBinError1 (ETH2 x) = getBinError1 x-  getBinError2 (ETH2 x) = getBinError2 x-  getBinError3 (ETH2 x) = getBinError3 x-  getBinLowEdge (ETH2 x) = getBinLowEdge x-  getBinWidth (ETH2 x) = getBinWidth x-  getCellContent (ETH2 x) = getCellContent x-  getCellError (ETH2 x) = getCellError x-  getEntries (ETH2 x) = getEntries x-  getEffectiveEntries (ETH2 x) = getEffectiveEntries x-  getFunction (ETH2 x) = getFunction x-  getDimension (ETH2 x) = getDimension x-  getKurtosis (ETH2 x) = getKurtosis x-  getLowEdge (ETH2 x) = getLowEdge x-  getMaximumTH1 (ETH2 x) = getMaximumTH1 x-  getMaximumBin (ETH2 x) = getMaximumBin x-  getMaximumStored (ETH2 x) = getMaximumStored x-  getMinimumTH1 (ETH2 x) = getMinimumTH1 x-  getMinimumBin (ETH2 x) = getMinimumBin x-  getMinimumStored (ETH2 x) = getMinimumStored x-  getMean (ETH2 x) = getMean x-  getMeanError (ETH2 x) = getMeanError x-  getNbinsX (ETH2 x) = getNbinsX x-  getNbinsY (ETH2 x) = getNbinsY x-  getNbinsZ (ETH2 x) = getNbinsZ x-  getQuantilesTH1 (ETH2 x) = getQuantilesTH1 x-  getRandom (ETH2 x) = getRandom x-  getStats (ETH2 x) = getStats x-  getSumOfWeights (ETH2 x) = getSumOfWeights x-  getSumw2 (ETH2 x) = getSumw2 x-  getSumw2N (ETH2 x) = getSumw2N x-  getRMS (ETH2 x) = getRMS x-  getRMSError (ETH2 x) = getRMSError x-  getSkewness (ETH2 x) = getSkewness x-  integral1 (ETH2 x) = integral1 x-  interpolate1 (ETH2 x) = interpolate1 x-  interpolate2 (ETH2 x) = interpolate2 x-  interpolate3 (ETH2 x) = interpolate3 x-  kolmogorovTest (ETH2 x) = kolmogorovTest x-  labelsDeflate (ETH2 x) = labelsDeflate x-  labelsInflate (ETH2 x) = labelsInflate x-  labelsOption (ETH2 x) = labelsOption x-  multiflyF (ETH2 x) = multiflyF x-  multiply (ETH2 x) = multiply x-  putStats (ETH2 x) = putStats x-  rebin (ETH2 x) = rebin x-  rebinAxis (ETH2 x) = rebinAxis x-  rebuild (ETH2 x) = rebuild x-  recursiveRemove (ETH2 x) = recursiveRemove x-  reset (ETH2 x) = reset x-  resetStats (ETH2 x) = resetStats x-  scale (ETH2 x) = scale x-  setAxisColorA (ETH2 x) = setAxisColorA x-  setAxisRange (ETH2 x) = setAxisRange x-  setBarOffset (ETH2 x) = setBarOffset x-  setBarWidth (ETH2 x) = setBarWidth x-  setBinContent1 (ETH2 x) = setBinContent1 x-  setBinContent2 (ETH2 x) = setBinContent2 x-  setBinContent3 (ETH2 x) = setBinContent3 x-  setBinError1 (ETH2 x) = setBinError1 x-  setBinError2 (ETH2 x) = setBinError2 x-  setBinError3 (ETH2 x) = setBinError3 x-  setBins1 (ETH2 x) = setBins1 x-  setBins2 (ETH2 x) = setBins2 x-  setBins3 (ETH2 x) = setBins3 x-  setBinsLength (ETH2 x) = setBinsLength x-  setBuffer (ETH2 x) = setBuffer x-  setCellContent (ETH2 x) = setCellContent x-  setContent (ETH2 x) = setContent x-  setContour (ETH2 x) = setContour x-  setContourLevel (ETH2 x) = setContourLevel x-  setDirectory (ETH2 x) = setDirectory x-  setEntries (ETH2 x) = setEntries x-  setError (ETH2 x) = setError x-  setLabelColorA (ETH2 x) = setLabelColorA x-  setLabelSizeA (ETH2 x) = setLabelSizeA x-  setLabelFontA (ETH2 x) = setLabelFontA x-  setLabelOffsetA (ETH2 x) = setLabelOffsetA x-  setMaximum (ETH2 x) = setMaximum x-  setMinimum (ETH2 x) = setMinimum x-  setNormFactor (ETH2 x) = setNormFactor x-  setStats (ETH2 x) = setStats x-  setOption (ETH2 x) = setOption x-  setXTitle (ETH2 x) = setXTitle x-  setYTitle (ETH2 x) = setYTitle x-  setZTitle (ETH2 x) = setZTitle x-  showBackground (ETH2 x) = showBackground x-  showPeaks (ETH2 x) = showPeaks x-  smooth (ETH2 x) = smooth x-  sumw2 (ETH2 x) = sumw2 x-instance ITObject (Exist TH2) where-  draw (ETH2 x) = draw x-  findObject (ETH2 x) = findObject x-  getName (ETH2 x) = getName x-  isA (ETH2 x) = isA x-  paint (ETH2 x) = paint x-  printObj (ETH2 x) = printObj x-  saveAs (ETH2 x) = saveAs x-  write (ETH2 x) = write x-instance ITAttLine (Exist TH2) where-  getLineColor (ETH2 x) = getLineColor x-  getLineStyle (ETH2 x) = getLineStyle x-  getLineWidth (ETH2 x) = getLineWidth x-  resetAttLine (ETH2 x) = resetAttLine x-  setLineAttributes (ETH2 x) = setLineAttributes x-  setLineColor (ETH2 x) = setLineColor x-  setLineStyle (ETH2 x) = setLineStyle x-  setLineWidth (ETH2 x) = setLineWidth x-instance ITAttFill (Exist TH2) where-  setFillColor (ETH2 x) = setFillColor x-  setFillStyle (ETH2 x) = setFillStyle x-instance ITAttMarker (Exist TH2) where-  getMarkerColor (ETH2 x) = getMarkerColor x-  getMarkerStyle (ETH2 x) = getMarkerStyle x-  getMarkerSize (ETH2 x) = getMarkerSize x-  resetAttMarker (ETH2 x) = resetAttMarker x-  setMarkerAttributes (ETH2 x) = setMarkerAttributes x-  setMarkerColor (ETH2 x) = setMarkerColor x-  setMarkerStyle (ETH2 x) = setMarkerStyle x-  setMarkerSize (ETH2 x) = setMarkerSize x-instance IDeletable (Exist TH2) where-  delete (ETH2 x) = delete x+instance ITAttMarker TH2 where+        getMarkerColor = xform0 c_th2_getmarkercolor+        getMarkerStyle = xform0 c_th2_getmarkerstyle+        getMarkerSize = xform0 c_th2_getmarkersize+        resetAttMarker = xform1 c_th2_resetattmarker+        setMarkerAttributes = xform0 c_th2_setmarkerattributes+        setMarkerColor = xform1 c_th2_setmarkercolor+        setMarkerStyle = xform1 c_th2_setmarkerstyle+        setMarkerSize = xform1 c_th2_setmarkersize +instance ITObject TH2 where+        draw = xform1 c_th2_draw+        findObject = xform1 c_th2_findobject+        getName = xform0 c_th2_getname+        isA = xform0 c_th2_isa+        paint = xform1 c_th2_paint+        printObj = xform1 c_th2_printobj+        saveAs = xform2 c_th2_saveas+        write = xform3 c_th2_write +instance IDeletable TH2 where+        delete = xform0 c_th2_delete -tH2ProjectionX :: TH2 -> CString -> CInt -> CInt -> CString -> IO TH1D+tH2ProjectionX ::+                 (Castable c1 CString, Castable c0 CString) =>+                 TH2 -> c0 -> CInt -> CInt -> c1 -> IO TH1D tH2ProjectionX = xform4 c_th2_th2projectionx -tH2ProjectionY :: TH2 -> CString -> CInt -> CInt -> CString -> IO TH1D+tH2ProjectionY ::+                 (Castable c1 CString, Castable c0 CString) =>+                 TH2 -> c0 -> CInt -> CInt -> c1 -> IO TH1D tH2ProjectionY = xform4 c_th2_th2projectiony----instance FPtr (Exist TH2) where-  type Raw (Exist TH2) = RawTH2-  get_fptr (ETH2 obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH2 (cast_fptr_to_obj (fptr :: ForeignPtr RawTH2) :: TH2)
src/HROOT/Hist/TH2/Interface.hs view
@@ -1,95 +1,68 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr 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 --class (ITH1 a) => ITH2 a where-    -- | -    --   > Int_t    Fill(Double_t x, Double_t y);--    fill2 :: a -> CDouble -> CDouble -> IO CInt --    fill2w :: a -> CDouble -> CDouble -> CDouble -> IO CInt --    fillN2 :: a -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -    -- | -    --   > void     FillRandom(TH1 *h, Int_t ntimes=5000);-    --   --    fillRandom2 :: (ITH1 c0, FPtr c0) => a -> c0 -> CInt -> IO () -    -- | -    --   > Int_t    FindFirstBinAbove(Double_t threshold=0, Int_t axis=1) const;-    --   --    findFirstBinAbove2 :: a -> CDouble -> CInt -> IO CInt -    -- | -    --   > Int_t    FindLastBinAbove (Double_t threshold=0, Int_t axis=1) const;-    --   --    findLastBinAbove2 :: a -> CDouble -> CInt -> IO CInt -    -- | -    --   > void     FitSlicesX(TF1 *f1=0,Int_t firstybin=0, Int_t lastybin=-1, Int_t cut=0, Option_t *option="QNR", TObjArray* arr = 0); // *MENU*-    --   --    fitSlicesX :: (ITObjArray c1, FPtr c1, ITF1 c0, FPtr c0) => a -> c0 -> CInt -> CInt -> CInt -> CString -> c1 -> IO () -    -- | -    --   > void     FitSlicesY(TF1 *f1=0,Int_t firstxbin=0, Int_t lastxbin=-1, Int_t cut=0, Option_t *option="QNR", TObjArray* arr = 0); // *MENU*-    --   --    fitSlicesY :: (ITObjArray c1, FPtr c1, ITF1 c0, FPtr c0) => a -> c0 -> CInt -> CInt -> CInt -> CString -> c1 -> IO () --    getCorrelationFactor2 :: a -> CInt -> CInt -> IO CDouble --    getCovariance2 :: a -> CInt -> CInt -> IO CDouble --    integral2 :: a -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble --    rebinX2 :: a -> CInt -> CString -> IO TH2 --    rebinY2 :: a -> CInt -> CString -> IO TH2 -    -- | -    --   > TH2     *Rebin2D(Int_t nxgroup=2, Int_t nygroup=2, const char *newname="");     -    --   --    rebin2D :: a -> CInt -> CInt -> CString -> IO TH2 -    -- | -    --   > void     SetShowProjectionX(Int_t nbins);  // *MENU*-    --   --    setShowProjectionX :: a -> CInt -> IO () -    -- | -    --   > void     SetShowProjectionY(Int_t nbins);  // *MENU*-    --   --    setShowProjectionY :: a -> CInt -> IO () --instance Existable TH2 where-  data Exist TH2 = forall a. (FPtr a, ITH2 a) => ETH2 a+class ITH1 a => ITH2 a where+        fill2 :: a -> CDouble -> CDouble -> IO CInt+        +        fill2w :: a -> CDouble -> CDouble -> CDouble -> IO CInt+        +        fillN2 ::+                 a ->+                   CInt ->+                     (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+        +        fillRandom2 :: (ITH1 c0, FPtr c0) => a -> c0 -> CInt -> IO ()+        +        findFirstBinAbove2 :: a -> CDouble -> CInt -> IO CInt+        +        findLastBinAbove2 :: a -> CDouble -> CInt -> IO CInt+        +        fitSlicesX ::+                     (ITObjArray c2, FPtr c2, Castable c1 CString, ITF1 c0, FPtr c0) =>+                     a -> c0 -> CInt -> CInt -> CInt -> c1 -> c2 -> IO ()+        +        fitSlicesY ::+                     (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+        +        getCovariance2 :: a -> CInt -> CInt -> IO CDouble+        +        integral2 ::+                    Castable c0 CString =>+                    a -> CInt -> CInt -> CInt -> CInt -> c0 -> IO CDouble+        +        rebinX2 :: 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+        +        setShowProjectionX :: a -> CInt -> IO ()+        +        setShowProjectionY :: a -> CInt -> IO () -upcastTH2 :: (FPtr a, ITH2 a) => a -> TH2-upcastTH2 h = let fh = get_fptr h-                  fh2 :: ForeignPtr RawTH2 = castForeignPtr fh-              in cast_fptr_to_obj fh2+upcastTH2 :: forall a . (FPtr a, ITH2 a) => a -> TH2+upcastTH2 h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH2 = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH2 :: (FPtr a, ITH2 a) => TH2 -> a -downcastTH2 h = let fh = get_fptr h-                    fh2 = castForeignPtr fh-                in cast_fptr_to_obj fh2+downcastTH2 :: forall a . (FPtr a, ITH2 a) => TH2 -> a+downcastTH2 h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH2/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH2.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH2 -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH2 = TH2 (Ptr RawTH2)+            deriving (Eq, Ord, Show) -data RawTH2-newtype TH2 = TH2 (ForeignPtr RawTH2) deriving (Eq, Ord, Show) instance FPtr TH2 where-   type Raw TH2 = RawTH2-   get_fptr (TH2 fptr) = fptr-   cast_fptr_to_obj = TH2+        type Raw TH2 = RawTH2+        get_fptr (TH2 ptr) = ptr+        cast_fptr_to_obj = TH2
src/HROOT/Hist/TH2C.hs view
@@ -1,15 +1,5 @@-module HROOT.Hist.TH2C-  (-    TH2C(..)-  , ITH2C-  , upcastTH2C-  , downcastTH2C-- -  ) where-+module HROOT.Hist.TH2C (TH2C(..), ITH2C, upcastTH2C, downcastTH2C)+       where import HROOT.Hist.TH2C.RawType import HROOT.Hist.TH2C.Interface import HROOT.Hist.TH2C.Implementation--
src/HROOT/Hist/TH2C/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH2C.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH2C.RawType import HROOT.Hist.TH2C.Interface  instance (ITH2C a, FPtr a) => Castable a (Ptr RawTH2C) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH2C (Ptr RawTH2C) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH2C.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH2C.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH2.RawType@@ -24,524 +14,589 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH2C.h"+foreign import ccall safe "HROOTHistTH2C.h TH2C_fill2" c_th2c_fill2+               :: Ptr RawTH2C -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_fill2" c_th2c_fill2 -  :: (Ptr RawTH2C) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_fill2w"+               c_th2c_fill2w ::+               Ptr RawTH2C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_fill2w" c_th2c_fill2w -  :: (Ptr RawTH2C) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_fillN2"+               c_th2c_filln2 ::+               Ptr RawTH2C ->+                 CInt ->+                   (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_fillN2" c_th2c_filln2 -  :: (Ptr RawTH2C) -> 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 "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 "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 "HROOTHistTH2C.h TH2C_findLastBinAbove2" c_th2c_findlastbinabove2 -  :: (Ptr RawTH2C) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_FitSlicesX"+               c_th2c_fitslicesx ::+               Ptr RawTH2C ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "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 ::+               Ptr RawTH2C ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_FitSlicesY" c_th2c_fitslicesy -  :: (Ptr RawTH2C) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall safe+               "HROOTHistTH2C.h TH2C_getCorrelationFactor2"+               c_th2c_getcorrelationfactor2 ::+               Ptr RawTH2C -> CInt -> CInt -> IO CDouble -foreign import ccall "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 "HROOTHistTH2C.h TH2C_getCovariance2" c_th2c_getcovariance2 -  :: (Ptr RawTH2C) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_integral2"+               c_th2c_integral2 ::+               Ptr RawTH2C ->+                 CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_integral2" c_th2c_integral2 -  :: (Ptr RawTH2C) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_rebinX2"+               c_th2c_rebinx2 :: Ptr RawTH2C -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "HROOTHistTH2C.h TH2C_rebinX2" c_th2c_rebinx2 -  :: (Ptr RawTH2C) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2C.h TH2C_rebinY2"+               c_th2c_rebiny2 :: Ptr RawTH2C -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "HROOTHistTH2C.h TH2C_rebinY2" c_th2c_rebiny2 -  :: (Ptr RawTH2C) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2C.h TH2C_Rebin2D"+               c_th2c_rebin2d ::+               Ptr RawTH2C -> CInt -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "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 "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 "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 "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 "HROOTHistTH2C.h TH2C_AddBinContent" c_th2c_addbincontent -  :: (Ptr RawTH2C) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_Chi2Test"+               c_th2c_chi2test ::+               Ptr RawTH2C -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH2C.h TH2C_ComputeIntegral" c_th2c_computeintegral -  :: (Ptr RawTH2C) -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_DirectoryAutoAdd"+               c_th2c_directoryautoadd ::+               Ptr RawTH2C -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_DirectoryAutoAdd" c_th2c_directoryautoadd -  :: (Ptr RawTH2C) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_Divide"+               c_th2c_divide ::+               Ptr RawTH2C ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH2C.h TH2C_drawCopyTH1" c_th2c_drawcopyth1 -  :: (Ptr RawTH2C) -> CString -> IO (Ptr RawTH2C)+foreign import ccall safe "HROOTHistTH2C.h TH2C_DrawNormalized"+               c_th2c_drawnormalized ::+               Ptr RawTH2C -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH2C.h TH2C_evalF" c_th2c_evalf -  :: (Ptr RawTH2C) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_FFT" c_th2c_fft ::+               Ptr RawTH2C -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH2C.h TH2C_fill1" c_th2c_fill1 -  :: (Ptr RawTH2C) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_fill1w"+               c_th2c_fill1w :: Ptr RawTH2C -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_fill1w" c_th2c_fill1w -  :: (Ptr RawTH2C) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_fillN1"+               c_th2c_filln1 ::+               Ptr RawTH2C ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_fillN1" c_th2c_filln1 -  :: (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 "HROOTHistTH2C.h TH2C_FillRandom" c_th2c_fillrandom -  :: (Ptr RawTH2C) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_FindBin"+               c_th2c_findbin ::+               Ptr RawTH2C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH2C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH2C.h TH2C_FindFirstBinAbove" c_th2c_findfirstbinabove -  :: (Ptr RawTH2C) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_FindLastBinAbove"+               c_th2c_findlastbinabove ::+               Ptr RawTH2C -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_FindLastBinAbove" c_th2c_findlastbinabove -  :: (Ptr RawTH2C) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_Fit" c_th2c_fit ::+               Ptr RawTH2C ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_FitPanelTH1" c_th2c_fitpanelth1 -  :: (Ptr RawTH2C) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_FitPanelTH1"+               c_th2c_fitpanelth1 :: Ptr RawTH2C -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_getNdivisionA" c_th2c_getndivisiona -  :: (Ptr RawTH2C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_getNdivisionA"+               c_th2c_getndivisiona :: Ptr RawTH2C -> CString -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_getAxisColorA" c_th2c_getaxiscolora -  :: (Ptr RawTH2C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_getAxisColorA"+               c_th2c_getaxiscolora :: Ptr RawTH2C -> CString -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_getLabelColorA" c_th2c_getlabelcolora -  :: (Ptr RawTH2C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_getLabelColorA"+               c_th2c_getlabelcolora :: Ptr RawTH2C -> CString -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_getLabelFontA" c_th2c_getlabelfonta -  :: (Ptr RawTH2C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_getLabelFontA"+               c_th2c_getlabelfonta :: Ptr RawTH2C -> CString -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_getLabelOffsetA" c_th2c_getlabeloffseta -  :: (Ptr RawTH2C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_getLabelOffsetA"+               c_th2c_getlabeloffseta :: Ptr RawTH2C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_getLabelSizeA" c_th2c_getlabelsizea -  :: (Ptr RawTH2C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_getLabelSizeA"+               c_th2c_getlabelsizea :: Ptr RawTH2C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_getTitleFontA" c_th2c_gettitlefonta -  :: (Ptr RawTH2C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_getTitleFontA"+               c_th2c_gettitlefonta :: Ptr RawTH2C -> CString -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_getTitleOffsetA" c_th2c_gettitleoffseta -  :: (Ptr RawTH2C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_getTitleOffsetA"+               c_th2c_gettitleoffseta :: Ptr RawTH2C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_getTitleSizeA" c_th2c_gettitlesizea -  :: (Ptr RawTH2C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_getTitleSizeA"+               c_th2c_gettitlesizea :: Ptr RawTH2C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_getTickLengthA" c_th2c_getticklengtha -  :: (Ptr RawTH2C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_getTickLengthA"+               c_th2c_getticklengtha :: Ptr RawTH2C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetBarOffset" c_th2c_getbaroffset -  :: (Ptr RawTH2C) -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBarOffset"+               c_th2c_getbaroffset :: Ptr RawTH2C -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetBarWidth" c_th2c_getbarwidth -  :: (Ptr RawTH2C) -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBarWidth"+               c_th2c_getbarwidth :: Ptr RawTH2C -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetContour" c_th2c_getcontour -  :: (Ptr RawTH2C) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetContour"+               c_th2c_getcontour :: Ptr RawTH2C -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_GetContourLevel" c_th2c_getcontourlevel -  :: (Ptr RawTH2C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetContourLevel"+               c_th2c_getcontourlevel :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetContourLevelPad" c_th2c_getcontourlevelpad -  :: (Ptr RawTH2C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetContourLevelPad"+               c_th2c_getcontourlevelpad :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetBin" c_th2c_getbin -  :: (Ptr RawTH2C) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBin"+               c_th2c_getbin :: Ptr RawTH2C -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_GetBinCenter" c_th2c_getbincenter -  :: (Ptr RawTH2C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinCenter"+               c_th2c_getbincenter :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetBinContent1" c_th2c_getbincontent1 -  :: (Ptr RawTH2C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinContent1"+               c_th2c_getbincontent1 :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetBinContent2" c_th2c_getbincontent2 -  :: (Ptr RawTH2C) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinContent2"+               c_th2c_getbincontent2 :: Ptr RawTH2C -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetBinContent3" c_th2c_getbincontent3 -  :: (Ptr RawTH2C) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinContent3"+               c_th2c_getbincontent3 ::+               Ptr RawTH2C -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetBinError1" c_th2c_getbinerror1 -  :: (Ptr RawTH2C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinError1"+               c_th2c_getbinerror1 :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetBinError2" c_th2c_getbinerror2 -  :: (Ptr RawTH2C) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinError2"+               c_th2c_getbinerror2 :: Ptr RawTH2C -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetBinError3" c_th2c_getbinerror3 -  :: (Ptr RawTH2C) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinError3"+               c_th2c_getbinerror3 ::+               Ptr RawTH2C -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetBinLowEdge" c_th2c_getbinlowedge -  :: (Ptr RawTH2C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinLowEdge"+               c_th2c_getbinlowedge :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetBinWidth" c_th2c_getbinwidth -  :: (Ptr RawTH2C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetBinWidth"+               c_th2c_getbinwidth :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetCellContent" c_th2c_getcellcontent -  :: (Ptr RawTH2C) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetCellContent"+               c_th2c_getcellcontent :: Ptr RawTH2C -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetCellError" c_th2c_getcellerror -  :: (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 "HROOTHistTH2C.h TH2C_GetEntries" c_th2c_getentries -  :: (Ptr RawTH2C) -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetEntries"+               c_th2c_getentries :: Ptr RawTH2C -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetEffectiveEntries" c_th2c_geteffectiveentries -  :: (Ptr RawTH2C) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2C.h TH2C_GetEffectiveEntries"+               c_th2c_geteffectiveentries :: Ptr RawTH2C -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetFunction" c_th2c_getfunction -  :: (Ptr RawTH2C) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetFunction"+               c_th2c_getfunction :: Ptr RawTH2C -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH2C.h TH2C_GetDimension" c_th2c_getdimension -  :: (Ptr RawTH2C) -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetDimension"+               c_th2c_getdimension :: Ptr RawTH2C -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_GetKurtosis" c_th2c_getkurtosis -  :: (Ptr RawTH2C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetKurtosis"+               c_th2c_getkurtosis :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetLowEdge" c_th2c_getlowedge -  :: (Ptr RawTH2C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetLowEdge"+               c_th2c_getlowedge :: Ptr RawTH2C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_getMaximumTH1" c_th2c_getmaximumth1 -  :: (Ptr RawTH2C) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_getMaximumTH1"+               c_th2c_getmaximumth1 :: Ptr RawTH2C -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetMaximumBin" c_th2c_getmaximumbin -  :: (Ptr RawTH2C) -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMaximumBin"+               c_th2c_getmaximumbin :: Ptr RawTH2C -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_GetMaximumStored" c_th2c_getmaximumstored -  :: (Ptr RawTH2C) -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMaximumStored"+               c_th2c_getmaximumstored :: Ptr RawTH2C -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_getMinimumTH1" c_th2c_getminimumth1 -  :: (Ptr RawTH2C) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_getMinimumTH1"+               c_th2c_getminimumth1 :: Ptr RawTH2C -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetMinimumBin" c_th2c_getminimumbin -  :: (Ptr RawTH2C) -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMinimumBin"+               c_th2c_getminimumbin :: Ptr RawTH2C -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_GetMinimumStored" c_th2c_getminimumstored -  :: (Ptr RawTH2C) -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMinimumStored"+               c_th2c_getminimumstored :: Ptr RawTH2C -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetMean" c_th2c_getmean -  :: (Ptr RawTH2C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMean"+               c_th2c_getmean :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetMeanError" c_th2c_getmeanerror -  :: (Ptr RawTH2C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMeanError"+               c_th2c_getmeanerror :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetNbinsX" c_th2c_getnbinsx -  :: (Ptr RawTH2C) -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetNbinsX"+               c_th2c_getnbinsx :: Ptr RawTH2C -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetNbinsY" c_th2c_getnbinsy -  :: (Ptr RawTH2C) -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetNbinsY"+               c_th2c_getnbinsy :: Ptr RawTH2C -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetNbinsZ" c_th2c_getnbinsz -  :: (Ptr RawTH2C) -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetNbinsZ"+               c_th2c_getnbinsz :: Ptr RawTH2C -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_getQuantilesTH1" c_th2c_getquantilesth1 -  :: (Ptr RawTH2C) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_getQuantilesTH1"+               c_th2c_getquantilesth1 ::+               Ptr RawTH2C -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_GetRandom" c_th2c_getrandom -  :: (Ptr RawTH2C) -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetRandom"+               c_th2c_getrandom :: Ptr RawTH2C -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetStats" c_th2c_getstats -  :: (Ptr RawTH2C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetStats"+               c_th2c_getstats :: Ptr RawTH2C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_GetSumOfWeights" c_th2c_getsumofweights -  :: (Ptr RawTH2C) -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetSumOfWeights"+               c_th2c_getsumofweights :: Ptr RawTH2C -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetSumw2" c_th2c_getsumw2 -  :: (Ptr RawTH2C) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetSumw2"+               c_th2c_getsumw2 :: Ptr RawTH2C -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH2C.h TH2C_GetSumw2N" c_th2c_getsumw2n -  :: (Ptr RawTH2C) -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetSumw2N"+               c_th2c_getsumw2n :: Ptr RawTH2C -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_GetRMS" c_th2c_getrms -  :: (Ptr RawTH2C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetRMS"+               c_th2c_getrms :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetRMSError" c_th2c_getrmserror -  :: (Ptr RawTH2C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetRMSError"+               c_th2c_getrmserror :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_GetSkewness" c_th2c_getskewness -  :: (Ptr RawTH2C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetSkewness"+               c_th2c_getskewness :: Ptr RawTH2C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_integral1" c_th2c_integral1 -  :: (Ptr RawTH2C) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_integral1"+               c_th2c_integral1 ::+               Ptr RawTH2C -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_interpolate1" c_th2c_interpolate1 -  :: (Ptr RawTH2C) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_interpolate1"+               c_th2c_interpolate1 :: Ptr RawTH2C -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_interpolate2" c_th2c_interpolate2 -  :: (Ptr RawTH2C) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_interpolate2"+               c_th2c_interpolate2 ::+               Ptr RawTH2C -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_interpolate3" c_th2c_interpolate3 -  :: (Ptr RawTH2C) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_interpolate3"+               c_th2c_interpolate3 ::+               Ptr RawTH2C -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_KolmogorovTest" c_th2c_kolmogorovtest -  :: (Ptr RawTH2C) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_KolmogorovTest"+               c_th2c_kolmogorovtest ::+               Ptr RawTH2C -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_LabelsDeflate" c_th2c_labelsdeflate -  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_LabelsDeflate"+               c_th2c_labelsdeflate :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_LabelsInflate" c_th2c_labelsinflate -  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_LabelsInflate"+               c_th2c_labelsinflate :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_LabelsOption" c_th2c_labelsoption -  :: (Ptr RawTH2C) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_LabelsOption"+               c_th2c_labelsoption :: Ptr RawTH2C -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_multiflyF" c_th2c_multiflyf -  :: (Ptr RawTH2C) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_multiflyF"+               c_th2c_multiflyf :: Ptr RawTH2C -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_Multiply" c_th2c_multiply -  :: (Ptr RawTH2C) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_Multiply"+               c_th2c_multiply ::+               Ptr RawTH2C ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_PutStats" c_th2c_putstats -  :: (Ptr RawTH2C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_PutStats"+               c_th2c_putstats :: Ptr RawTH2C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_Rebin" c_th2c_rebin -  :: (Ptr RawTH2C) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH2C.h TH2C_Rebin" c_th2c_rebin+               ::+               Ptr RawTH2C -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2C.h TH2C_RebinAxis" c_th2c_rebinaxis -  :: (Ptr RawTH2C) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_RebinAxis"+               c_th2c_rebinaxis :: Ptr RawTH2C -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_Rebuild" c_th2c_rebuild -  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_Rebuild"+               c_th2c_rebuild :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_RecursiveRemove" c_th2c_recursiveremove -  :: (Ptr RawTH2C) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_RecursiveRemove"+               c_th2c_recursiveremove :: Ptr RawTH2C -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_Reset" c_th2c_reset -  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_Reset" c_th2c_reset+               :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_ResetStats" c_th2c_resetstats -  :: (Ptr RawTH2C) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_ResetStats"+               c_th2c_resetstats :: Ptr RawTH2C -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_Scale" c_th2c_scale -  :: (Ptr RawTH2C) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_Scale" c_th2c_scale+               :: Ptr RawTH2C -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setAxisColorA" c_th2c_setaxiscolora -  :: (Ptr RawTH2C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setAxisColorA"+               c_th2c_setaxiscolora :: Ptr RawTH2C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetAxisRange" c_th2c_setaxisrange -  :: (Ptr RawTH2C) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetAxisRange"+               c_th2c_setaxisrange ::+               Ptr RawTH2C -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetBarOffset" c_th2c_setbaroffset -  :: (Ptr RawTH2C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetBarOffset"+               c_th2c_setbaroffset :: Ptr RawTH2C -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetBarWidth" c_th2c_setbarwidth -  :: (Ptr RawTH2C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetBarWidth"+               c_th2c_setbarwidth :: Ptr RawTH2C -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setBinContent1" c_th2c_setbincontent1 -  :: (Ptr RawTH2C) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setBinContent1"+               c_th2c_setbincontent1 :: Ptr RawTH2C -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setBinContent2" c_th2c_setbincontent2 -  :: (Ptr RawTH2C) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setBinContent2"+               c_th2c_setbincontent2 ::+               Ptr RawTH2C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setBinContent3" c_th2c_setbincontent3 -  :: (Ptr RawTH2C) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setBinContent3"+               c_th2c_setbincontent3 ::+               Ptr RawTH2C -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setBinError1" c_th2c_setbinerror1 -  :: (Ptr RawTH2C) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setBinError1"+               c_th2c_setbinerror1 :: Ptr RawTH2C -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setBinError2" c_th2c_setbinerror2 -  :: (Ptr RawTH2C) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setBinError2"+               c_th2c_setbinerror2 ::+               Ptr RawTH2C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setBinError3" c_th2c_setbinerror3 -  :: (Ptr RawTH2C) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setBinError3"+               c_th2c_setbinerror3 ::+               Ptr RawTH2C -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setBins1" c_th2c_setbins1 -  :: (Ptr RawTH2C) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setBins1"+               c_th2c_setbins1 :: Ptr RawTH2C -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setBins2" c_th2c_setbins2 -  :: (Ptr RawTH2C) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setBins2"+               c_th2c_setbins2 ::+               Ptr RawTH2C ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setBins3" c_th2c_setbins3 -  :: (Ptr RawTH2C) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setBins3"+               c_th2c_setbins3 ::+               Ptr RawTH2C ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetBinsLength" c_th2c_setbinslength -  :: (Ptr RawTH2C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetBinsLength"+               c_th2c_setbinslength :: Ptr RawTH2C -> CInt -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetBuffer" c_th2c_setbuffer -  :: (Ptr RawTH2C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetBuffer"+               c_th2c_setbuffer :: Ptr RawTH2C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetCellContent" c_th2c_setcellcontent -  :: (Ptr RawTH2C) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetCellContent"+               c_th2c_setcellcontent ::+               Ptr RawTH2C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetContent" c_th2c_setcontent -  :: (Ptr RawTH2C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetContent"+               c_th2c_setcontent :: Ptr RawTH2C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetContour" c_th2c_setcontour -  :: (Ptr RawTH2C) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetContour"+               c_th2c_setcontour :: Ptr RawTH2C -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetContourLevel" c_th2c_setcontourlevel -  :: (Ptr RawTH2C) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetContourLevel"+               c_th2c_setcontourlevel :: Ptr RawTH2C -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetDirectory" c_th2c_setdirectory -  :: (Ptr RawTH2C) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetDirectory"+               c_th2c_setdirectory :: Ptr RawTH2C -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetEntries" c_th2c_setentries -  :: (Ptr RawTH2C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetEntries"+               c_th2c_setentries :: Ptr RawTH2C -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetError" c_th2c_seterror -  :: (Ptr RawTH2C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetError"+               c_th2c_seterror :: Ptr RawTH2C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setLabelColorA" c_th2c_setlabelcolora -  :: (Ptr RawTH2C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setLabelColorA"+               c_th2c_setlabelcolora :: Ptr RawTH2C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setLabelSizeA" c_th2c_setlabelsizea -  :: (Ptr RawTH2C) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setLabelSizeA"+               c_th2c_setlabelsizea :: Ptr RawTH2C -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setLabelFontA" c_th2c_setlabelfonta -  :: (Ptr RawTH2C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setLabelFontA"+               c_th2c_setlabelfonta :: Ptr RawTH2C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_setLabelOffsetA" c_th2c_setlabeloffseta -  :: (Ptr RawTH2C) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_setLabelOffsetA"+               c_th2c_setlabeloffseta ::+               Ptr RawTH2C -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetMaximum" c_th2c_setmaximum -  :: (Ptr RawTH2C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetMaximum"+               c_th2c_setmaximum :: Ptr RawTH2C -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetMinimum" c_th2c_setminimum -  :: (Ptr RawTH2C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetMinimum"+               c_th2c_setminimum :: Ptr RawTH2C -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetNormFactor" c_th2c_setnormfactor -  :: (Ptr RawTH2C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetNormFactor"+               c_th2c_setnormfactor :: Ptr RawTH2C -> CDouble -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetStats" c_th2c_setstats -  :: (Ptr RawTH2C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetStats"+               c_th2c_setstats :: Ptr RawTH2C -> CInt -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetOption" c_th2c_setoption -  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetOption"+               c_th2c_setoption :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetXTitle" c_th2c_setxtitle -  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetXTitle"+               c_th2c_setxtitle :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetYTitle" c_th2c_setytitle -  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetYTitle"+               c_th2c_setytitle :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetZTitle" c_th2c_setztitle -  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetZTitle"+               c_th2c_setztitle :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_ShowBackground" c_th2c_showbackground -  :: (Ptr RawTH2C) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH2C.h TH2C_ShowBackground"+               c_th2c_showbackground ::+               Ptr RawTH2C -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2C.h TH2C_ShowPeaks" c_th2c_showpeaks -  :: (Ptr RawTH2C) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_ShowPeaks"+               c_th2c_showpeaks ::+               Ptr RawTH2C -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_Smooth" c_th2c_smooth -  :: (Ptr RawTH2C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_Smooth"+               c_th2c_smooth :: Ptr RawTH2C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_Sumw2" c_th2c_sumw2 -  :: (Ptr RawTH2C) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_Sumw2" c_th2c_sumw2+               :: Ptr RawTH2C -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_Draw" c_th2c_draw -  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetName"+               c_th2c_setname :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_FindObject" c_th2c_findobject -  :: (Ptr RawTH2C) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetNameTitle"+               c_th2c_setnametitle :: Ptr RawTH2C -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_GetName" c_th2c_getname -  :: (Ptr RawTH2C) -> IO CString+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetTitle"+               c_th2c_settitle :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_IsA" c_th2c_isa -  :: (Ptr RawTH2C) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetLineColor"+               c_th2c_getlinecolor :: Ptr RawTH2C -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_Paint" c_th2c_paint -  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetLineStyle"+               c_th2c_getlinestyle :: Ptr RawTH2C -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_printObj" c_th2c_printobj -  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetLineWidth"+               c_th2c_getlinewidth :: Ptr RawTH2C -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_SaveAs" c_th2c_saveas -  :: (Ptr RawTH2C) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_ResetAttLine"+               c_th2c_resetattline :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_Write" c_th2c_write -  :: (Ptr RawTH2C) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetLineAttributes"+               c_th2c_setlineattributes :: Ptr RawTH2C -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_GetLineColor" c_th2c_getlinecolor -  :: (Ptr RawTH2C) -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetLineColor"+               c_th2c_setlinecolor :: Ptr RawTH2C -> CInt -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_GetLineStyle" c_th2c_getlinestyle -  :: (Ptr RawTH2C) -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetLineStyle"+               c_th2c_setlinestyle :: Ptr RawTH2C -> CInt -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_GetLineWidth" c_th2c_getlinewidth -  :: (Ptr RawTH2C) -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetLineWidth"+               c_th2c_setlinewidth :: Ptr RawTH2C -> CInt -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_ResetAttLine" c_th2c_resetattline -  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetFillColor"+               c_th2c_setfillcolor :: Ptr RawTH2C -> CInt -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetLineAttributes" c_th2c_setlineattributes -  :: (Ptr RawTH2C) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetFillStyle"+               c_th2c_setfillstyle :: Ptr RawTH2C -> CInt -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetLineColor" c_th2c_setlinecolor -  :: (Ptr RawTH2C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMarkerColor"+               c_th2c_getmarkercolor :: Ptr RawTH2C -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_SetLineStyle" c_th2c_setlinestyle -  :: (Ptr RawTH2C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMarkerStyle"+               c_th2c_getmarkerstyle :: Ptr RawTH2C -> IO CInt -foreign import ccall "HROOTHistTH2C.h TH2C_SetLineWidth" c_th2c_setlinewidth -  :: (Ptr RawTH2C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetMarkerSize"+               c_th2c_getmarkersize :: Ptr RawTH2C -> IO CDouble -foreign import ccall "HROOTHistTH2C.h TH2C_SetFillColor" c_th2c_setfillcolor -  :: (Ptr RawTH2C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_ResetAttMarker"+               c_th2c_resetattmarker :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetFillStyle" c_th2c_setfillstyle -  :: (Ptr RawTH2C) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH2C.h TH2C_SetMarkerAttributes"+               c_th2c_setmarkerattributes :: Ptr RawTH2C -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_GetMarkerColor" c_th2c_getmarkercolor -  :: (Ptr RawTH2C) -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetMarkerColor"+               c_th2c_setmarkercolor :: Ptr RawTH2C -> CInt -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_GetMarkerStyle" c_th2c_getmarkerstyle -  :: (Ptr RawTH2C) -> IO CInt+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetMarkerStyle"+               c_th2c_setmarkerstyle :: Ptr RawTH2C -> CInt -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_GetMarkerSize" c_th2c_getmarkersize -  :: (Ptr RawTH2C) -> IO CDouble+foreign import ccall safe "HROOTHistTH2C.h TH2C_SetMarkerSize"+               c_th2c_setmarkersize :: Ptr RawTH2C -> CInt -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_ResetAttMarker" c_th2c_resetattmarker -  :: (Ptr RawTH2C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_Draw" c_th2c_draw+               :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_SetMarkerAttributes" c_th2c_setmarkerattributes -  :: (Ptr RawTH2C) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_FindObject"+               c_th2c_findobject :: Ptr RawTH2C -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH2C.h TH2C_SetMarkerColor" c_th2c_setmarkercolor -  :: (Ptr RawTH2C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_GetName"+               c_th2c_getname :: Ptr RawTH2C -> IO CString -foreign import ccall "HROOTHistTH2C.h TH2C_SetMarkerStyle" c_th2c_setmarkerstyle -  :: (Ptr RawTH2C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_IsA" c_th2c_isa ::+               Ptr RawTH2C -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH2C.h TH2C_SetMarkerSize" c_th2c_setmarkersize -  :: (Ptr RawTH2C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_Paint" c_th2c_paint+               :: Ptr RawTH2C -> CString -> IO () -foreign import ccall "HROOTHistTH2C.h TH2C_delete" c_th2c_delete -  :: (Ptr RawTH2C) -> IO ()+foreign import ccall safe "HROOTHistTH2C.h TH2C_printObj"+               c_th2c_printobj :: Ptr RawTH2C -> CString -> IO () +foreign import ccall safe "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 safe "HROOTHistTH2C.h TH2C_delete"+               c_th2c_delete :: Ptr RawTH2C -> IO ()
src/HROOT/Hist/TH2C/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2C.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH2C.RawType import HROOT.Hist.TH2C.FFI import HROOT.Hist.TH2C.Interface@@ -41,9 +42,9 @@ import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.Cast import HROOT.Hist.TH1.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -53,6 +54,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -60,392 +64,201 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH2C TH2C -instance ITH2C TH2C where instance ITH2 TH2C where-  fill2 = xform2 c_th2c_fill2-  fill2w = xform3 c_th2c_fill2w-  fillN2 = xform5 c_th2c_filln2-  fillRandom2 = xform2 c_th2c_fillrandom2-  findFirstBinAbove2 = xform2 c_th2c_findfirstbinabove2-  findLastBinAbove2 = xform2 c_th2c_findlastbinabove2-  fitSlicesX = xform6 c_th2c_fitslicesx-  fitSlicesY = xform6 c_th2c_fitslicesy-  getCorrelationFactor2 = xform2 c_th2c_getcorrelationfactor2-  getCovariance2 = xform2 c_th2c_getcovariance2-  integral2 = xform5 c_th2c_integral2-  rebinX2 = xform2 c_th2c_rebinx2-  rebinY2 = xform2 c_th2c_rebiny2-  rebin2D = xform3 c_th2c_rebin2d-  setShowProjectionX = xform1 c_th2c_setshowprojectionx-  setShowProjectionY = xform1 c_th2c_setshowprojectiony-instance ITArrayC 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-  drawNormalized = xform2 c_th2c_drawnormalized-  drawPanelTH1 = xform0 c_th2c_drawpanelth1-  bufferEmpty = xform1 c_th2c_bufferempty-  evalF = xform2 c_th2c_evalf-  fFT = xform2 c_th2c_fft-  fill1 = xform1 c_th2c_fill1-  fill1w = xform2 c_th2c_fill1w-  fillN1 = xform4 c_th2c_filln1-  fillRandom = xform2 c_th2c_fillrandom-  findBin = xform3 c_th2c_findbin-  findFixBin = xform3 c_th2c_findfixbin-  findFirstBinAbove = xform2 c_th2c_findfirstbinabove-  findLastBinAbove = xform2 c_th2c_findlastbinabove-  fitPanelTH1 = xform0 c_th2c_fitpanelth1-  getNdivisionA = xform1 c_th2c_getndivisiona-  getAxisColorA = xform1 c_th2c_getaxiscolora-  getLabelColorA = xform1 c_th2c_getlabelcolora-  getLabelFontA = xform1 c_th2c_getlabelfonta-  getLabelOffsetA = xform1 c_th2c_getlabeloffseta-  getLabelSizeA = xform1 c_th2c_getlabelsizea-  getTitleFontA = xform1 c_th2c_gettitlefonta-  getTitleOffsetA = xform1 c_th2c_gettitleoffseta-  getTitleSizeA = xform1 c_th2c_gettitlesizea-  getTickLengthA = xform1 c_th2c_getticklengtha-  getBarOffset = xform0 c_th2c_getbaroffset-  getBarWidth = xform0 c_th2c_getbarwidth-  getContour = xform1 c_th2c_getcontour-  getContourLevel = xform1 c_th2c_getcontourlevel-  getContourLevelPad = xform1 c_th2c_getcontourlevelpad-  getBin = xform3 c_th2c_getbin-  getBinCenter = xform1 c_th2c_getbincenter-  getBinContent1 = xform1 c_th2c_getbincontent1-  getBinContent2 = xform2 c_th2c_getbincontent2-  getBinContent3 = xform3 c_th2c_getbincontent3-  getBinError1 = xform1 c_th2c_getbinerror1-  getBinError2 = xform2 c_th2c_getbinerror2-  getBinError3 = xform3 c_th2c_getbinerror3-  getBinLowEdge = xform1 c_th2c_getbinlowedge-  getBinWidth = xform1 c_th2c_getbinwidth-  getCellContent = xform2 c_th2c_getcellcontent-  getCellError = xform2 c_th2c_getcellerror-  getEntries = xform0 c_th2c_getentries-  getEffectiveEntries = xform0 c_th2c_geteffectiveentries-  getFunction = xform1 c_th2c_getfunction-  getDimension = xform0 c_th2c_getdimension-  getKurtosis = xform1 c_th2c_getkurtosis-  getLowEdge = xform1 c_th2c_getlowedge-  getMaximumTH1 = xform1 c_th2c_getmaximumth1-  getMaximumBin = xform0 c_th2c_getmaximumbin-  getMaximumStored = xform0 c_th2c_getmaximumstored-  getMinimumTH1 = xform1 c_th2c_getminimumth1-  getMinimumBin = xform0 c_th2c_getminimumbin-  getMinimumStored = xform0 c_th2c_getminimumstored-  getMean = xform1 c_th2c_getmean-  getMeanError = xform1 c_th2c_getmeanerror-  getNbinsX = xform0 c_th2c_getnbinsx-  getNbinsY = xform0 c_th2c_getnbinsy-  getNbinsZ = xform0 c_th2c_getnbinsz-  getQuantilesTH1 = xform3 c_th2c_getquantilesth1-  getRandom = xform0 c_th2c_getrandom-  getStats = xform1 c_th2c_getstats-  getSumOfWeights = xform0 c_th2c_getsumofweights-  getSumw2 = xform0 c_th2c_getsumw2-  getSumw2N = xform0 c_th2c_getsumw2n-  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-  labelsInflate = xform1 c_th2c_labelsinflate-  labelsOption = xform2 c_th2c_labelsoption-  multiflyF = xform2 c_th2c_multiflyf-  multiply = xform5 c_th2c_multiply-  putStats = xform1 c_th2c_putstats-  rebin = xform3 c_th2c_rebin-  rebinAxis = xform2 c_th2c_rebinaxis-  rebuild = xform1 c_th2c_rebuild-  recursiveRemove = xform1 c_th2c_recursiveremove-  reset = xform1 c_th2c_reset-  resetStats = xform0 c_th2c_resetstats-  scale = xform2 c_th2c_scale-  setAxisColorA = xform2 c_th2c_setaxiscolora-  setAxisRange = xform3 c_th2c_setaxisrange-  setBarOffset = xform1 c_th2c_setbaroffset-  setBarWidth = xform1 c_th2c_setbarwidth-  setBinContent1 = xform2 c_th2c_setbincontent1-  setBinContent2 = xform3 c_th2c_setbincontent2-  setBinContent3 = xform4 c_th2c_setbincontent3-  setBinError1 = xform2 c_th2c_setbinerror1-  setBinError2 = xform3 c_th2c_setbinerror2-  setBinError3 = xform4 c_th2c_setbinerror3-  setBins1 = xform2 c_th2c_setbins1-  setBins2 = xform4 c_th2c_setbins2-  setBins3 = xform6 c_th2c_setbins3-  setBinsLength = xform1 c_th2c_setbinslength-  setBuffer = xform2 c_th2c_setbuffer-  setCellContent = xform3 c_th2c_setcellcontent-  setContent = xform1 c_th2c_setcontent-  setContour = xform2 c_th2c_setcontour-  setContourLevel = xform2 c_th2c_setcontourlevel-  setDirectory = xform1 c_th2c_setdirectory-  setEntries = xform1 c_th2c_setentries-  setError = xform1 c_th2c_seterror-  setLabelColorA = xform2 c_th2c_setlabelcolora-  setLabelSizeA = xform2 c_th2c_setlabelsizea-  setLabelFontA = xform2 c_th2c_setlabelfonta-  setLabelOffsetA = xform2 c_th2c_setlabeloffseta-  setMaximum = xform1 c_th2c_setmaximum-  setMinimum = xform1 c_th2c_setminimum-  setNormFactor = xform1 c_th2c_setnormfactor-  setStats = xform1 c_th2c_setstats-  setOption = xform1 c_th2c_setoption-  setXTitle = xform1 c_th2c_setxtitle-  setYTitle = xform1 c_th2c_setytitle-  setZTitle = xform1 c_th2c_setztitle-  showBackground = xform2 c_th2c_showbackground-  showPeaks = xform3 c_th2c_showpeaks-  smooth = xform2 c_th2c_smooth-  sumw2 = xform0 c_th2c_sumw2-instance ITObject TH2C where-  draw = xform1 c_th2c_draw-  findObject = xform1 c_th2c_findobject-  getName = xform0 c_th2c_getname-  isA = xform0 c_th2c_isa-  paint = xform1 c_th2c_paint-  printObj = xform1 c_th2c_printobj-  saveAs = xform2 c_th2c_saveas-  write = xform3 c_th2c_write-instance ITAttLine TH2C where-  getLineColor = xform0 c_th2c_getlinecolor-  getLineStyle = xform0 c_th2c_getlinestyle-  getLineWidth = xform0 c_th2c_getlinewidth-  resetAttLine = xform1 c_th2c_resetattline-  setLineAttributes = xform0 c_th2c_setlineattributes-  setLineColor = xform1 c_th2c_setlinecolor-  setLineStyle = xform1 c_th2c_setlinestyle-  setLineWidth = xform1 c_th2c_setlinewidth-instance ITAttFill TH2C where-  setFillColor = xform1 c_th2c_setfillcolor-  setFillStyle = xform1 c_th2c_setfillstyle-instance ITAttMarker TH2C where-  getMarkerColor = xform0 c_th2c_getmarkercolor-  getMarkerStyle = xform0 c_th2c_getmarkerstyle-  getMarkerSize = xform0 c_th2c_getmarkersize-  resetAttMarker = xform1 c_th2c_resetattmarker-  setMarkerAttributes = xform0 c_th2c_setmarkerattributes-  setMarkerColor = xform1 c_th2c_setmarkercolor-  setMarkerStyle = xform1 c_th2c_setmarkerstyle-  setMarkerSize = xform1 c_th2c_setmarkersize-instance IDeletable TH2C where-  delete = xform0 c_th2c_delete-instance ITArray TH2C where--instance ITH2C (Exist TH2C) where--instance ITH2 (Exist TH2C) where-  fill2 (ETH2C x) = fill2 x-  fill2w (ETH2C x) = fill2w x-  fillN2 (ETH2C x) = fillN2 x-  fillRandom2 (ETH2C x) = fillRandom2 x-  findFirstBinAbove2 (ETH2C x) = findFirstBinAbove2 x-  findLastBinAbove2 (ETH2C x) = findLastBinAbove2 x-  fitSlicesX (ETH2C x) = fitSlicesX x-  fitSlicesY (ETH2C x) = fitSlicesY x-  getCorrelationFactor2 (ETH2C x) = getCorrelationFactor2 x-  getCovariance2 (ETH2C x) = getCovariance2 x-  integral2 (ETH2C x) = integral2 x-  rebinX2 (ETH2C x) = rebinX2 x-  rebinY2 (ETH2C x) = rebinY2 x-  rebin2D (ETH2C x) = rebin2D x-  setShowProjectionX (ETH2C x) = setShowProjectionX x-  setShowProjectionY (ETH2C x) = setShowProjectionY x-instance ITArrayC (Exist TH2C) where+        fill2 = xform2 c_th2c_fill2+        fill2w = xform3 c_th2c_fill2w+        fillN2 = xform5 c_th2c_filln2+        fillRandom2 = xform2 c_th2c_fillrandom2+        findFirstBinAbove2 = xform2 c_th2c_findfirstbinabove2+        findLastBinAbove2 = xform2 c_th2c_findlastbinabove2+        fitSlicesX = xform6 c_th2c_fitslicesx+        fitSlicesY = xform6 c_th2c_fitslicesy+        getCorrelationFactor2 = xform2 c_th2c_getcorrelationfactor2+        getCovariance2 = xform2 c_th2c_getcovariance2+        integral2 = xform5 c_th2c_integral2+        rebinX2 = xform2 c_th2c_rebinx2+        rebinY2 = xform2 c_th2c_rebiny2+        rebin2D = xform3 c_th2c_rebin2d+        setShowProjectionX = xform1 c_th2c_setshowprojectionx+        setShowProjectionY = xform1 c_th2c_setshowprojectiony -instance ITH1 (Exist TH2C) where-  add (ETH2C x) = add x-  addBinContent (ETH2C x) = addBinContent x-  chi2Test (ETH2C x) = chi2Test x-  computeIntegral (ETH2C x) = computeIntegral x-  directoryAutoAdd (ETH2C x) = directoryAutoAdd x-  divide (ETH2C x) = divide x-  drawCopyTH1 (ETH2C x) a1 = return . ETH2C =<< drawCopyTH1 x a1-  drawNormalized (ETH2C x) = drawNormalized x-  drawPanelTH1 (ETH2C x) = drawPanelTH1 x-  bufferEmpty (ETH2C x) = bufferEmpty x-  evalF (ETH2C x) = evalF x-  fFT (ETH2C x) = fFT x-  fill1 (ETH2C x) = fill1 x-  fill1w (ETH2C x) = fill1w x-  fillN1 (ETH2C x) = fillN1 x-  fillRandom (ETH2C x) = fillRandom x-  findBin (ETH2C x) = findBin x-  findFixBin (ETH2C x) = findFixBin x-  findFirstBinAbove (ETH2C x) = findFirstBinAbove x-  findLastBinAbove (ETH2C x) = findLastBinAbove x-  fitPanelTH1 (ETH2C x) = fitPanelTH1 x-  getNdivisionA (ETH2C x) = getNdivisionA x-  getAxisColorA (ETH2C x) = getAxisColorA x-  getLabelColorA (ETH2C x) = getLabelColorA x-  getLabelFontA (ETH2C x) = getLabelFontA x-  getLabelOffsetA (ETH2C x) = getLabelOffsetA x-  getLabelSizeA (ETH2C x) = getLabelSizeA x-  getTitleFontA (ETH2C x) = getTitleFontA x-  getTitleOffsetA (ETH2C x) = getTitleOffsetA x-  getTitleSizeA (ETH2C x) = getTitleSizeA x-  getTickLengthA (ETH2C x) = getTickLengthA x-  getBarOffset (ETH2C x) = getBarOffset x-  getBarWidth (ETH2C x) = getBarWidth x-  getContour (ETH2C x) = getContour x-  getContourLevel (ETH2C x) = getContourLevel x-  getContourLevelPad (ETH2C x) = getContourLevelPad x-  getBin (ETH2C x) = getBin x-  getBinCenter (ETH2C x) = getBinCenter x-  getBinContent1 (ETH2C x) = getBinContent1 x-  getBinContent2 (ETH2C x) = getBinContent2 x-  getBinContent3 (ETH2C x) = getBinContent3 x-  getBinError1 (ETH2C x) = getBinError1 x-  getBinError2 (ETH2C x) = getBinError2 x-  getBinError3 (ETH2C x) = getBinError3 x-  getBinLowEdge (ETH2C x) = getBinLowEdge x-  getBinWidth (ETH2C x) = getBinWidth x-  getCellContent (ETH2C x) = getCellContent x-  getCellError (ETH2C x) = getCellError x-  getEntries (ETH2C x) = getEntries x-  getEffectiveEntries (ETH2C x) = getEffectiveEntries x-  getFunction (ETH2C x) = getFunction x-  getDimension (ETH2C x) = getDimension x-  getKurtosis (ETH2C x) = getKurtosis x-  getLowEdge (ETH2C x) = getLowEdge x-  getMaximumTH1 (ETH2C x) = getMaximumTH1 x-  getMaximumBin (ETH2C x) = getMaximumBin x-  getMaximumStored (ETH2C x) = getMaximumStored x-  getMinimumTH1 (ETH2C x) = getMinimumTH1 x-  getMinimumBin (ETH2C x) = getMinimumBin x-  getMinimumStored (ETH2C x) = getMinimumStored x-  getMean (ETH2C x) = getMean x-  getMeanError (ETH2C x) = getMeanError x-  getNbinsX (ETH2C x) = getNbinsX x-  getNbinsY (ETH2C x) = getNbinsY x-  getNbinsZ (ETH2C x) = getNbinsZ x-  getQuantilesTH1 (ETH2C x) = getQuantilesTH1 x-  getRandom (ETH2C x) = getRandom x-  getStats (ETH2C x) = getStats x-  getSumOfWeights (ETH2C x) = getSumOfWeights x-  getSumw2 (ETH2C x) = getSumw2 x-  getSumw2N (ETH2C x) = getSumw2N x-  getRMS (ETH2C x) = getRMS x-  getRMSError (ETH2C x) = getRMSError x-  getSkewness (ETH2C x) = getSkewness x-  integral1 (ETH2C x) = integral1 x-  interpolate1 (ETH2C x) = interpolate1 x-  interpolate2 (ETH2C x) = interpolate2 x-  interpolate3 (ETH2C x) = interpolate3 x-  kolmogorovTest (ETH2C x) = kolmogorovTest x-  labelsDeflate (ETH2C x) = labelsDeflate x-  labelsInflate (ETH2C x) = labelsInflate x-  labelsOption (ETH2C x) = labelsOption x-  multiflyF (ETH2C x) = multiflyF x-  multiply (ETH2C x) = multiply x-  putStats (ETH2C x) = putStats x-  rebin (ETH2C x) = rebin x-  rebinAxis (ETH2C x) = rebinAxis x-  rebuild (ETH2C x) = rebuild x-  recursiveRemove (ETH2C x) = recursiveRemove x-  reset (ETH2C x) = reset x-  resetStats (ETH2C x) = resetStats x-  scale (ETH2C x) = scale x-  setAxisColorA (ETH2C x) = setAxisColorA x-  setAxisRange (ETH2C x) = setAxisRange x-  setBarOffset (ETH2C x) = setBarOffset x-  setBarWidth (ETH2C x) = setBarWidth x-  setBinContent1 (ETH2C x) = setBinContent1 x-  setBinContent2 (ETH2C x) = setBinContent2 x-  setBinContent3 (ETH2C x) = setBinContent3 x-  setBinError1 (ETH2C x) = setBinError1 x-  setBinError2 (ETH2C x) = setBinError2 x-  setBinError3 (ETH2C x) = setBinError3 x-  setBins1 (ETH2C x) = setBins1 x-  setBins2 (ETH2C x) = setBins2 x-  setBins3 (ETH2C x) = setBins3 x-  setBinsLength (ETH2C x) = setBinsLength x-  setBuffer (ETH2C x) = setBuffer x-  setCellContent (ETH2C x) = setCellContent x-  setContent (ETH2C x) = setContent x-  setContour (ETH2C x) = setContour x-  setContourLevel (ETH2C x) = setContourLevel x-  setDirectory (ETH2C x) = setDirectory x-  setEntries (ETH2C x) = setEntries x-  setError (ETH2C x) = setError x-  setLabelColorA (ETH2C x) = setLabelColorA x-  setLabelSizeA (ETH2C x) = setLabelSizeA x-  setLabelFontA (ETH2C x) = setLabelFontA x-  setLabelOffsetA (ETH2C x) = setLabelOffsetA x-  setMaximum (ETH2C x) = setMaximum x-  setMinimum (ETH2C x) = setMinimum x-  setNormFactor (ETH2C x) = setNormFactor x-  setStats (ETH2C x) = setStats x-  setOption (ETH2C x) = setOption x-  setXTitle (ETH2C x) = setXTitle x-  setYTitle (ETH2C x) = setYTitle x-  setZTitle (ETH2C x) = setZTitle x-  showBackground (ETH2C x) = showBackground x-  showPeaks (ETH2C x) = showPeaks x-  smooth (ETH2C x) = smooth x-  sumw2 (ETH2C x) = sumw2 x-instance ITObject (Exist TH2C) where-  draw (ETH2C x) = draw x-  findObject (ETH2C x) = findObject x-  getName (ETH2C x) = getName x-  isA (ETH2C x) = isA x-  paint (ETH2C x) = paint x-  printObj (ETH2C x) = printObj x-  saveAs (ETH2C x) = saveAs x-  write (ETH2C x) = write x-instance ITAttLine (Exist TH2C) where-  getLineColor (ETH2C x) = getLineColor x-  getLineStyle (ETH2C x) = getLineStyle x-  getLineWidth (ETH2C x) = getLineWidth x-  resetAttLine (ETH2C x) = resetAttLine x-  setLineAttributes (ETH2C x) = setLineAttributes x-  setLineColor (ETH2C x) = setLineColor x-  setLineStyle (ETH2C x) = setLineStyle x-  setLineWidth (ETH2C x) = setLineWidth x-instance ITAttFill (Exist TH2C) where-  setFillColor (ETH2C x) = setFillColor x-  setFillStyle (ETH2C x) = setFillStyle x-instance ITAttMarker (Exist TH2C) where-  getMarkerColor (ETH2C x) = getMarkerColor x-  getMarkerStyle (ETH2C x) = getMarkerStyle x-  getMarkerSize (ETH2C x) = getMarkerSize x-  resetAttMarker (ETH2C x) = resetAttMarker x-  setMarkerAttributes (ETH2C x) = setMarkerAttributes x-  setMarkerColor (ETH2C x) = setMarkerColor x-  setMarkerStyle (ETH2C x) = setMarkerStyle x-  setMarkerSize (ETH2C x) = setMarkerSize x-instance IDeletable (Exist TH2C) where-  delete (ETH2C x) = delete x-instance ITArray (Exist TH2C) where+instance ITArrayC TH2C +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+        drawNormalized = xform2 c_th2c_drawnormalized+        drawPanelTH1 = xform0 c_th2c_drawpanelth1+        bufferEmpty = xform1 c_th2c_bufferempty+        evalF = xform2 c_th2c_evalf+        fFT = xform2 c_th2c_fft+        fill1 = xform1 c_th2c_fill1+        fill1w = xform2 c_th2c_fill1w+        fillN1 = xform4 c_th2c_filln1+        fillRandom = xform2 c_th2c_fillrandom+        findBin = xform3 c_th2c_findbin+        findFixBin = xform3 c_th2c_findfixbin+        findFirstBinAbove = xform2 c_th2c_findfirstbinabove+        findLastBinAbove = xform2 c_th2c_findlastbinabove+        fit = xform5 c_th2c_fit+        fitPanelTH1 = xform0 c_th2c_fitpanelth1+        getNdivisionA = xform1 c_th2c_getndivisiona+        getAxisColorA = xform1 c_th2c_getaxiscolora+        getLabelColorA = xform1 c_th2c_getlabelcolora+        getLabelFontA = xform1 c_th2c_getlabelfonta+        getLabelOffsetA = xform1 c_th2c_getlabeloffseta+        getLabelSizeA = xform1 c_th2c_getlabelsizea+        getTitleFontA = xform1 c_th2c_gettitlefonta+        getTitleOffsetA = xform1 c_th2c_gettitleoffseta+        getTitleSizeA = xform1 c_th2c_gettitlesizea+        getTickLengthA = xform1 c_th2c_getticklengtha+        getBarOffset = xform0 c_th2c_getbaroffset+        getBarWidth = xform0 c_th2c_getbarwidth+        getContour = xform1 c_th2c_getcontour+        getContourLevel = xform1 c_th2c_getcontourlevel+        getContourLevelPad = xform1 c_th2c_getcontourlevelpad+        getBin = xform3 c_th2c_getbin+        getBinCenter = xform1 c_th2c_getbincenter+        getBinContent1 = xform1 c_th2c_getbincontent1+        getBinContent2 = xform2 c_th2c_getbincontent2+        getBinContent3 = xform3 c_th2c_getbincontent3+        getBinError1 = xform1 c_th2c_getbinerror1+        getBinError2 = xform2 c_th2c_getbinerror2+        getBinError3 = xform3 c_th2c_getbinerror3+        getBinLowEdge = xform1 c_th2c_getbinlowedge+        getBinWidth = xform1 c_th2c_getbinwidth+        getCellContent = xform2 c_th2c_getcellcontent+        getCellError = xform2 c_th2c_getcellerror+        getEntries = xform0 c_th2c_getentries+        getEffectiveEntries = xform0 c_th2c_geteffectiveentries+        getFunction = xform1 c_th2c_getfunction+        getDimension = xform0 c_th2c_getdimension+        getKurtosis = xform1 c_th2c_getkurtosis+        getLowEdge = xform1 c_th2c_getlowedge+        getMaximumTH1 = xform1 c_th2c_getmaximumth1+        getMaximumBin = xform0 c_th2c_getmaximumbin+        getMaximumStored = xform0 c_th2c_getmaximumstored+        getMinimumTH1 = xform1 c_th2c_getminimumth1+        getMinimumBin = xform0 c_th2c_getminimumbin+        getMinimumStored = xform0 c_th2c_getminimumstored+        getMean = xform1 c_th2c_getmean+        getMeanError = xform1 c_th2c_getmeanerror+        getNbinsX = xform0 c_th2c_getnbinsx+        getNbinsY = xform0 c_th2c_getnbinsy+        getNbinsZ = xform0 c_th2c_getnbinsz+        getQuantilesTH1 = xform3 c_th2c_getquantilesth1+        getRandom = xform0 c_th2c_getrandom+        getStats = xform1 c_th2c_getstats+        getSumOfWeights = xform0 c_th2c_getsumofweights+        getSumw2 = xform0 c_th2c_getsumw2+        getSumw2N = xform0 c_th2c_getsumw2n+        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+        labelsInflate = xform1 c_th2c_labelsinflate+        labelsOption = xform2 c_th2c_labelsoption+        multiflyF = xform2 c_th2c_multiflyf+        multiply = xform5 c_th2c_multiply+        putStats = xform1 c_th2c_putstats+        rebin = xform3 c_th2c_rebin+        rebinAxis = xform2 c_th2c_rebinaxis+        rebuild = xform1 c_th2c_rebuild+        recursiveRemove = xform1 c_th2c_recursiveremove+        reset = xform1 c_th2c_reset+        resetStats = xform0 c_th2c_resetstats+        scale = xform2 c_th2c_scale+        setAxisColorA = xform2 c_th2c_setaxiscolora+        setAxisRange = xform3 c_th2c_setaxisrange+        setBarOffset = xform1 c_th2c_setbaroffset+        setBarWidth = xform1 c_th2c_setbarwidth+        setBinContent1 = xform2 c_th2c_setbincontent1+        setBinContent2 = xform3 c_th2c_setbincontent2+        setBinContent3 = xform4 c_th2c_setbincontent3+        setBinError1 = xform2 c_th2c_setbinerror1+        setBinError2 = xform3 c_th2c_setbinerror2+        setBinError3 = xform4 c_th2c_setbinerror3+        setBins1 = xform2 c_th2c_setbins1+        setBins2 = xform4 c_th2c_setbins2+        setBins3 = xform6 c_th2c_setbins3+        setBinsLength = xform1 c_th2c_setbinslength+        setBuffer = xform2 c_th2c_setbuffer+        setCellContent = xform3 c_th2c_setcellcontent+        setContent = xform1 c_th2c_setcontent+        setContour = xform2 c_th2c_setcontour+        setContourLevel = xform2 c_th2c_setcontourlevel+        setDirectory = xform1 c_th2c_setdirectory+        setEntries = xform1 c_th2c_setentries+        setError = xform1 c_th2c_seterror+        setLabelColorA = xform2 c_th2c_setlabelcolora+        setLabelSizeA = xform2 c_th2c_setlabelsizea+        setLabelFontA = xform2 c_th2c_setlabelfonta+        setLabelOffsetA = xform2 c_th2c_setlabeloffseta+        setMaximum = xform1 c_th2c_setmaximum+        setMinimum = xform1 c_th2c_setminimum+        setNormFactor = xform1 c_th2c_setnormfactor+        setStats = xform1 c_th2c_setstats+        setOption = xform1 c_th2c_setoption+        setXTitle = xform1 c_th2c_setxtitle+        setYTitle = xform1 c_th2c_setytitle+        setZTitle = xform1 c_th2c_setztitle+        showBackground = xform2 c_th2c_showbackground+        showPeaks = xform3 c_th2c_showpeaks+        smooth = xform2 c_th2c_smooth+        sumw2 = xform0 c_th2c_sumw2 +instance ITNamed TH2C where+        setName = xform1 c_th2c_setname+        setNameTitle = xform2 c_th2c_setnametitle+        setTitle = xform1 c_th2c_settitle +instance ITAttLine TH2C where+        getLineColor = xform0 c_th2c_getlinecolor+        getLineStyle = xform0 c_th2c_getlinestyle+        getLineWidth = xform0 c_th2c_getlinewidth+        resetAttLine = xform1 c_th2c_resetattline+        setLineAttributes = xform0 c_th2c_setlineattributes+        setLineColor = xform1 c_th2c_setlinecolor+        setLineStyle = xform1 c_th2c_setlinestyle+        setLineWidth = xform1 c_th2c_setlinewidth +instance ITAttFill TH2C where+        setFillColor = xform1 c_th2c_setfillcolor+        setFillStyle = xform1 c_th2c_setfillstyle +instance ITAttMarker TH2C where+        getMarkerColor = xform0 c_th2c_getmarkercolor+        getMarkerStyle = xform0 c_th2c_getmarkerstyle+        getMarkerSize = xform0 c_th2c_getmarkersize+        resetAttMarker = xform1 c_th2c_resetattmarker+        setMarkerAttributes = xform0 c_th2c_setmarkerattributes+        setMarkerColor = xform1 c_th2c_setmarkercolor+        setMarkerStyle = xform1 c_th2c_setmarkerstyle+        setMarkerSize = xform1 c_th2c_setmarkersize +instance ITObject TH2C where+        draw = xform1 c_th2c_draw+        findObject = xform1 c_th2c_findobject+        getName = xform0 c_th2c_getname+        isA = xform0 c_th2c_isa+        paint = xform1 c_th2c_paint+        printObj = xform1 c_th2c_printobj+        saveAs = xform2 c_th2c_saveas+        write = xform3 c_th2c_write +instance IDeletable TH2C where+        delete = xform0 c_th2c_delete -instance FPtr (Exist TH2C) where-  type Raw (Exist TH2C) = RawTH2C-  get_fptr (ETH2C obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH2C (cast_fptr_to_obj (fptr :: ForeignPtr RawTH2C) :: TH2C)+instance ITArray TH2C
src/HROOT/Hist/TH2C/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2C.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH2C.RawType- import HROOT.Hist.TH2.Interface import HROOT.Core.TArrayC.Interface----- ============ ---- ---class (ITH2 a,ITArrayC a) => ITH2C a where--instance Existable TH2C where-  data Exist TH2C = forall a. (FPtr a, ITH2C a) => ETH2C a+class (ITH2 a, ITArrayC a) => ITH2C a -upcastTH2C :: (FPtr a, ITH2C a) => a -> TH2C-upcastTH2C h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH2C = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH2C :: forall a . (FPtr a, ITH2C a) => a -> TH2C+upcastTH2C h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH2C = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH2C :: (FPtr a, ITH2C a) => TH2C -> a -downcastTH2C h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH2C :: forall a . (FPtr a, ITH2C a) => TH2C -> a+downcastTH2C h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH2C/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH2C.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH2C -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH2C = TH2C (Ptr RawTH2C)+             deriving (Eq, Ord, Show) -data RawTH2C-newtype TH2C = TH2C (ForeignPtr RawTH2C) deriving (Eq, Ord, Show) instance FPtr TH2C where-   type Raw TH2C = RawTH2C-   get_fptr (TH2C fptr) = fptr-   cast_fptr_to_obj = TH2C+        type Raw TH2C = RawTH2C+        get_fptr (TH2C ptr) = ptr+        cast_fptr_to_obj = TH2C
src/HROOT/Hist/TH2D.hs view
@@ -1,15 +1,5 @@ module HROOT.Hist.TH2D-  (-    TH2D(..)-  , ITH2D-  , upcastTH2D-  , downcastTH2D-  , newTH2D- -  ) where-+       (TH2D(..), ITH2D, upcastTH2D, downcastTH2D, newTH2D) where import HROOT.Hist.TH2D.RawType import HROOT.Hist.TH2D.Interface import HROOT.Hist.TH2D.Implementation--
src/HROOT/Hist/TH2D/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH2D.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH2D.RawType import HROOT.Hist.TH2D.Interface  instance (ITH2D a, FPtr a) => Castable a (Ptr RawTH2D) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH2D (Ptr RawTH2D) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH2D.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH2D.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH2.RawType@@ -24,527 +14,597 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH2D.h"+foreign import ccall safe "HROOTHistTH2D.h TH2D_fill2" c_th2d_fill2+               :: Ptr RawTH2D -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_fill2" c_th2d_fill2 -  :: (Ptr RawTH2D) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_fill2w"+               c_th2d_fill2w ::+               Ptr RawTH2D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_fill2w" c_th2d_fill2w -  :: (Ptr RawTH2D) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_fillN2"+               c_th2d_filln2 ::+               Ptr RawTH2D ->+                 CInt ->+                   (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_fillN2" c_th2d_filln2 -  :: (Ptr RawTH2D) -> 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 "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 "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 "HROOTHistTH2D.h TH2D_findLastBinAbove2" c_th2d_findlastbinabove2 -  :: (Ptr RawTH2D) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_FitSlicesX"+               c_th2d_fitslicesx ::+               Ptr RawTH2D ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "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 ::+               Ptr RawTH2D ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_FitSlicesY" c_th2d_fitslicesy -  :: (Ptr RawTH2D) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall safe+               "HROOTHistTH2D.h TH2D_getCorrelationFactor2"+               c_th2d_getcorrelationfactor2 ::+               Ptr RawTH2D -> CInt -> CInt -> IO CDouble -foreign import ccall "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 "HROOTHistTH2D.h TH2D_getCovariance2" c_th2d_getcovariance2 -  :: (Ptr RawTH2D) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_integral2"+               c_th2d_integral2 ::+               Ptr RawTH2D ->+                 CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_integral2" c_th2d_integral2 -  :: (Ptr RawTH2D) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_rebinX2"+               c_th2d_rebinx2 :: Ptr RawTH2D -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "HROOTHistTH2D.h TH2D_rebinX2" c_th2d_rebinx2 -  :: (Ptr RawTH2D) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2D.h TH2D_rebinY2"+               c_th2d_rebiny2 :: Ptr RawTH2D -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "HROOTHistTH2D.h TH2D_rebinY2" c_th2d_rebiny2 -  :: (Ptr RawTH2D) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2D.h TH2D_Rebin2D"+               c_th2d_rebin2d ::+               Ptr RawTH2D -> CInt -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "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 "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 "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 "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 "HROOTHistTH2D.h TH2D_AddBinContent" c_th2d_addbincontent -  :: (Ptr RawTH2D) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_Chi2Test"+               c_th2d_chi2test ::+               Ptr RawTH2D -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH2D.h TH2D_ComputeIntegral" c_th2d_computeintegral -  :: (Ptr RawTH2D) -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_DirectoryAutoAdd"+               c_th2d_directoryautoadd ::+               Ptr RawTH2D -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_DirectoryAutoAdd" c_th2d_directoryautoadd -  :: (Ptr RawTH2D) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_Divide"+               c_th2d_divide ::+               Ptr RawTH2D ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH2D.h TH2D_drawCopyTH1" c_th2d_drawcopyth1 -  :: (Ptr RawTH2D) -> CString -> IO (Ptr RawTH2D)+foreign import ccall safe "HROOTHistTH2D.h TH2D_DrawNormalized"+               c_th2d_drawnormalized ::+               Ptr RawTH2D -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH2D.h TH2D_evalF" c_th2d_evalf -  :: (Ptr RawTH2D) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_FFT" c_th2d_fft ::+               Ptr RawTH2D -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH2D.h TH2D_fill1" c_th2d_fill1 -  :: (Ptr RawTH2D) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_fill1w"+               c_th2d_fill1w :: Ptr RawTH2D -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_fill1w" c_th2d_fill1w -  :: (Ptr RawTH2D) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_fillN1"+               c_th2d_filln1 ::+               Ptr RawTH2D ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_fillN1" c_th2d_filln1 -  :: (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 "HROOTHistTH2D.h TH2D_FillRandom" c_th2d_fillrandom -  :: (Ptr RawTH2D) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_FindBin"+               c_th2d_findbin ::+               Ptr RawTH2D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH2D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH2D.h TH2D_FindFirstBinAbove" c_th2d_findfirstbinabove -  :: (Ptr RawTH2D) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_FindLastBinAbove"+               c_th2d_findlastbinabove ::+               Ptr RawTH2D -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_FindLastBinAbove" c_th2d_findlastbinabove -  :: (Ptr RawTH2D) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_Fit" c_th2d_fit ::+               Ptr RawTH2D ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_FitPanelTH1" c_th2d_fitpanelth1 -  :: (Ptr RawTH2D) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_FitPanelTH1"+               c_th2d_fitpanelth1 :: Ptr RawTH2D -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_getNdivisionA" c_th2d_getndivisiona -  :: (Ptr RawTH2D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_getNdivisionA"+               c_th2d_getndivisiona :: Ptr RawTH2D -> CString -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_getAxisColorA" c_th2d_getaxiscolora -  :: (Ptr RawTH2D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_getAxisColorA"+               c_th2d_getaxiscolora :: Ptr RawTH2D -> CString -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_getLabelColorA" c_th2d_getlabelcolora -  :: (Ptr RawTH2D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_getLabelColorA"+               c_th2d_getlabelcolora :: Ptr RawTH2D -> CString -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_getLabelFontA" c_th2d_getlabelfonta -  :: (Ptr RawTH2D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_getLabelFontA"+               c_th2d_getlabelfonta :: Ptr RawTH2D -> CString -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_getLabelOffsetA" c_th2d_getlabeloffseta -  :: (Ptr RawTH2D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_getLabelOffsetA"+               c_th2d_getlabeloffseta :: Ptr RawTH2D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_getLabelSizeA" c_th2d_getlabelsizea -  :: (Ptr RawTH2D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_getLabelSizeA"+               c_th2d_getlabelsizea :: Ptr RawTH2D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_getTitleFontA" c_th2d_gettitlefonta -  :: (Ptr RawTH2D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_getTitleFontA"+               c_th2d_gettitlefonta :: Ptr RawTH2D -> CString -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_getTitleOffsetA" c_th2d_gettitleoffseta -  :: (Ptr RawTH2D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_getTitleOffsetA"+               c_th2d_gettitleoffseta :: Ptr RawTH2D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_getTitleSizeA" c_th2d_gettitlesizea -  :: (Ptr RawTH2D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_getTitleSizeA"+               c_th2d_gettitlesizea :: Ptr RawTH2D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_getTickLengthA" c_th2d_getticklengtha -  :: (Ptr RawTH2D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_getTickLengthA"+               c_th2d_getticklengtha :: Ptr RawTH2D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetBarOffset" c_th2d_getbaroffset -  :: (Ptr RawTH2D) -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBarOffset"+               c_th2d_getbaroffset :: Ptr RawTH2D -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetBarWidth" c_th2d_getbarwidth -  :: (Ptr RawTH2D) -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBarWidth"+               c_th2d_getbarwidth :: Ptr RawTH2D -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetContour" c_th2d_getcontour -  :: (Ptr RawTH2D) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetContour"+               c_th2d_getcontour :: Ptr RawTH2D -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_GetContourLevel" c_th2d_getcontourlevel -  :: (Ptr RawTH2D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetContourLevel"+               c_th2d_getcontourlevel :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetContourLevelPad" c_th2d_getcontourlevelpad -  :: (Ptr RawTH2D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetContourLevelPad"+               c_th2d_getcontourlevelpad :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetBin" c_th2d_getbin -  :: (Ptr RawTH2D) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBin"+               c_th2d_getbin :: Ptr RawTH2D -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_GetBinCenter" c_th2d_getbincenter -  :: (Ptr RawTH2D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinCenter"+               c_th2d_getbincenter :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetBinContent1" c_th2d_getbincontent1 -  :: (Ptr RawTH2D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinContent1"+               c_th2d_getbincontent1 :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetBinContent2" c_th2d_getbincontent2 -  :: (Ptr RawTH2D) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinContent2"+               c_th2d_getbincontent2 :: Ptr RawTH2D -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetBinContent3" c_th2d_getbincontent3 -  :: (Ptr RawTH2D) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinContent3"+               c_th2d_getbincontent3 ::+               Ptr RawTH2D -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetBinError1" c_th2d_getbinerror1 -  :: (Ptr RawTH2D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinError1"+               c_th2d_getbinerror1 :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetBinError2" c_th2d_getbinerror2 -  :: (Ptr RawTH2D) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinError2"+               c_th2d_getbinerror2 :: Ptr RawTH2D -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetBinError3" c_th2d_getbinerror3 -  :: (Ptr RawTH2D) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinError3"+               c_th2d_getbinerror3 ::+               Ptr RawTH2D -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetBinLowEdge" c_th2d_getbinlowedge -  :: (Ptr RawTH2D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinLowEdge"+               c_th2d_getbinlowedge :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetBinWidth" c_th2d_getbinwidth -  :: (Ptr RawTH2D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetBinWidth"+               c_th2d_getbinwidth :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetCellContent" c_th2d_getcellcontent -  :: (Ptr RawTH2D) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetCellContent"+               c_th2d_getcellcontent :: Ptr RawTH2D -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetCellError" c_th2d_getcellerror -  :: (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 "HROOTHistTH2D.h TH2D_GetEntries" c_th2d_getentries -  :: (Ptr RawTH2D) -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetEntries"+               c_th2d_getentries :: Ptr RawTH2D -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetEffectiveEntries" c_th2d_geteffectiveentries -  :: (Ptr RawTH2D) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2D.h TH2D_GetEffectiveEntries"+               c_th2d_geteffectiveentries :: Ptr RawTH2D -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetFunction" c_th2d_getfunction -  :: (Ptr RawTH2D) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetFunction"+               c_th2d_getfunction :: Ptr RawTH2D -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH2D.h TH2D_GetDimension" c_th2d_getdimension -  :: (Ptr RawTH2D) -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetDimension"+               c_th2d_getdimension :: Ptr RawTH2D -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_GetKurtosis" c_th2d_getkurtosis -  :: (Ptr RawTH2D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetKurtosis"+               c_th2d_getkurtosis :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetLowEdge" c_th2d_getlowedge -  :: (Ptr RawTH2D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetLowEdge"+               c_th2d_getlowedge :: Ptr RawTH2D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_getMaximumTH1" c_th2d_getmaximumth1 -  :: (Ptr RawTH2D) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_getMaximumTH1"+               c_th2d_getmaximumth1 :: Ptr RawTH2D -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetMaximumBin" c_th2d_getmaximumbin -  :: (Ptr RawTH2D) -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMaximumBin"+               c_th2d_getmaximumbin :: Ptr RawTH2D -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_GetMaximumStored" c_th2d_getmaximumstored -  :: (Ptr RawTH2D) -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMaximumStored"+               c_th2d_getmaximumstored :: Ptr RawTH2D -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_getMinimumTH1" c_th2d_getminimumth1 -  :: (Ptr RawTH2D) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_getMinimumTH1"+               c_th2d_getminimumth1 :: Ptr RawTH2D -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetMinimumBin" c_th2d_getminimumbin -  :: (Ptr RawTH2D) -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMinimumBin"+               c_th2d_getminimumbin :: Ptr RawTH2D -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_GetMinimumStored" c_th2d_getminimumstored -  :: (Ptr RawTH2D) -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMinimumStored"+               c_th2d_getminimumstored :: Ptr RawTH2D -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetMean" c_th2d_getmean -  :: (Ptr RawTH2D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMean"+               c_th2d_getmean :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetMeanError" c_th2d_getmeanerror -  :: (Ptr RawTH2D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMeanError"+               c_th2d_getmeanerror :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetNbinsX" c_th2d_getnbinsx -  :: (Ptr RawTH2D) -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetNbinsX"+               c_th2d_getnbinsx :: Ptr RawTH2D -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetNbinsY" c_th2d_getnbinsy -  :: (Ptr RawTH2D) -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetNbinsY"+               c_th2d_getnbinsy :: Ptr RawTH2D -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetNbinsZ" c_th2d_getnbinsz -  :: (Ptr RawTH2D) -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetNbinsZ"+               c_th2d_getnbinsz :: Ptr RawTH2D -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_getQuantilesTH1" c_th2d_getquantilesth1 -  :: (Ptr RawTH2D) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_getQuantilesTH1"+               c_th2d_getquantilesth1 ::+               Ptr RawTH2D -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_GetRandom" c_th2d_getrandom -  :: (Ptr RawTH2D) -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetRandom"+               c_th2d_getrandom :: Ptr RawTH2D -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetStats" c_th2d_getstats -  :: (Ptr RawTH2D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetStats"+               c_th2d_getstats :: Ptr RawTH2D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_GetSumOfWeights" c_th2d_getsumofweights -  :: (Ptr RawTH2D) -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetSumOfWeights"+               c_th2d_getsumofweights :: Ptr RawTH2D -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetSumw2" c_th2d_getsumw2 -  :: (Ptr RawTH2D) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetSumw2"+               c_th2d_getsumw2 :: Ptr RawTH2D -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH2D.h TH2D_GetSumw2N" c_th2d_getsumw2n -  :: (Ptr RawTH2D) -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetSumw2N"+               c_th2d_getsumw2n :: Ptr RawTH2D -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_GetRMS" c_th2d_getrms -  :: (Ptr RawTH2D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetRMS"+               c_th2d_getrms :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetRMSError" c_th2d_getrmserror -  :: (Ptr RawTH2D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetRMSError"+               c_th2d_getrmserror :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_GetSkewness" c_th2d_getskewness -  :: (Ptr RawTH2D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetSkewness"+               c_th2d_getskewness :: Ptr RawTH2D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_integral1" c_th2d_integral1 -  :: (Ptr RawTH2D) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_integral1"+               c_th2d_integral1 ::+               Ptr RawTH2D -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_interpolate1" c_th2d_interpolate1 -  :: (Ptr RawTH2D) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_interpolate1"+               c_th2d_interpolate1 :: Ptr RawTH2D -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_interpolate2" c_th2d_interpolate2 -  :: (Ptr RawTH2D) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_interpolate2"+               c_th2d_interpolate2 ::+               Ptr RawTH2D -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_interpolate3" c_th2d_interpolate3 -  :: (Ptr RawTH2D) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_interpolate3"+               c_th2d_interpolate3 ::+               Ptr RawTH2D -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_KolmogorovTest" c_th2d_kolmogorovtest -  :: (Ptr RawTH2D) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_KolmogorovTest"+               c_th2d_kolmogorovtest ::+               Ptr RawTH2D -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_LabelsDeflate" c_th2d_labelsdeflate -  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_LabelsDeflate"+               c_th2d_labelsdeflate :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_LabelsInflate" c_th2d_labelsinflate -  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_LabelsInflate"+               c_th2d_labelsinflate :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_LabelsOption" c_th2d_labelsoption -  :: (Ptr RawTH2D) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_LabelsOption"+               c_th2d_labelsoption :: Ptr RawTH2D -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_multiflyF" c_th2d_multiflyf -  :: (Ptr RawTH2D) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_multiflyF"+               c_th2d_multiflyf :: Ptr RawTH2D -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_Multiply" c_th2d_multiply -  :: (Ptr RawTH2D) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_Multiply"+               c_th2d_multiply ::+               Ptr RawTH2D ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_PutStats" c_th2d_putstats -  :: (Ptr RawTH2D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_PutStats"+               c_th2d_putstats :: Ptr RawTH2D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_Rebin" c_th2d_rebin -  :: (Ptr RawTH2D) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH2D.h TH2D_Rebin" c_th2d_rebin+               ::+               Ptr RawTH2D -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2D.h TH2D_RebinAxis" c_th2d_rebinaxis -  :: (Ptr RawTH2D) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_RebinAxis"+               c_th2d_rebinaxis :: Ptr RawTH2D -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_Rebuild" c_th2d_rebuild -  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_Rebuild"+               c_th2d_rebuild :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_RecursiveRemove" c_th2d_recursiveremove -  :: (Ptr RawTH2D) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_RecursiveRemove"+               c_th2d_recursiveremove :: Ptr RawTH2D -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_Reset" c_th2d_reset -  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_Reset" c_th2d_reset+               :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_ResetStats" c_th2d_resetstats -  :: (Ptr RawTH2D) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_ResetStats"+               c_th2d_resetstats :: Ptr RawTH2D -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_Scale" c_th2d_scale -  :: (Ptr RawTH2D) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_Scale" c_th2d_scale+               :: Ptr RawTH2D -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setAxisColorA" c_th2d_setaxiscolora -  :: (Ptr RawTH2D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setAxisColorA"+               c_th2d_setaxiscolora :: Ptr RawTH2D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetAxisRange" c_th2d_setaxisrange -  :: (Ptr RawTH2D) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetAxisRange"+               c_th2d_setaxisrange ::+               Ptr RawTH2D -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetBarOffset" c_th2d_setbaroffset -  :: (Ptr RawTH2D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetBarOffset"+               c_th2d_setbaroffset :: Ptr RawTH2D -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetBarWidth" c_th2d_setbarwidth -  :: (Ptr RawTH2D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetBarWidth"+               c_th2d_setbarwidth :: Ptr RawTH2D -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setBinContent1" c_th2d_setbincontent1 -  :: (Ptr RawTH2D) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setBinContent1"+               c_th2d_setbincontent1 :: Ptr RawTH2D -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setBinContent2" c_th2d_setbincontent2 -  :: (Ptr RawTH2D) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setBinContent2"+               c_th2d_setbincontent2 ::+               Ptr RawTH2D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setBinContent3" c_th2d_setbincontent3 -  :: (Ptr RawTH2D) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setBinContent3"+               c_th2d_setbincontent3 ::+               Ptr RawTH2D -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setBinError1" c_th2d_setbinerror1 -  :: (Ptr RawTH2D) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setBinError1"+               c_th2d_setbinerror1 :: Ptr RawTH2D -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setBinError2" c_th2d_setbinerror2 -  :: (Ptr RawTH2D) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setBinError2"+               c_th2d_setbinerror2 ::+               Ptr RawTH2D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setBinError3" c_th2d_setbinerror3 -  :: (Ptr RawTH2D) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setBinError3"+               c_th2d_setbinerror3 ::+               Ptr RawTH2D -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setBins1" c_th2d_setbins1 -  :: (Ptr RawTH2D) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setBins1"+               c_th2d_setbins1 :: Ptr RawTH2D -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setBins2" c_th2d_setbins2 -  :: (Ptr RawTH2D) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setBins2"+               c_th2d_setbins2 ::+               Ptr RawTH2D ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setBins3" c_th2d_setbins3 -  :: (Ptr RawTH2D) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setBins3"+               c_th2d_setbins3 ::+               Ptr RawTH2D ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetBinsLength" c_th2d_setbinslength -  :: (Ptr RawTH2D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetBinsLength"+               c_th2d_setbinslength :: Ptr RawTH2D -> CInt -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetBuffer" c_th2d_setbuffer -  :: (Ptr RawTH2D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetBuffer"+               c_th2d_setbuffer :: Ptr RawTH2D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetCellContent" c_th2d_setcellcontent -  :: (Ptr RawTH2D) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetCellContent"+               c_th2d_setcellcontent ::+               Ptr RawTH2D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetContent" c_th2d_setcontent -  :: (Ptr RawTH2D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetContent"+               c_th2d_setcontent :: Ptr RawTH2D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetContour" c_th2d_setcontour -  :: (Ptr RawTH2D) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetContour"+               c_th2d_setcontour :: Ptr RawTH2D -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetContourLevel" c_th2d_setcontourlevel -  :: (Ptr RawTH2D) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetContourLevel"+               c_th2d_setcontourlevel :: Ptr RawTH2D -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetDirectory" c_th2d_setdirectory -  :: (Ptr RawTH2D) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetDirectory"+               c_th2d_setdirectory :: Ptr RawTH2D -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetEntries" c_th2d_setentries -  :: (Ptr RawTH2D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetEntries"+               c_th2d_setentries :: Ptr RawTH2D -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetError" c_th2d_seterror -  :: (Ptr RawTH2D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetError"+               c_th2d_seterror :: Ptr RawTH2D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setLabelColorA" c_th2d_setlabelcolora -  :: (Ptr RawTH2D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setLabelColorA"+               c_th2d_setlabelcolora :: Ptr RawTH2D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setLabelSizeA" c_th2d_setlabelsizea -  :: (Ptr RawTH2D) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setLabelSizeA"+               c_th2d_setlabelsizea :: Ptr RawTH2D -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setLabelFontA" c_th2d_setlabelfonta -  :: (Ptr RawTH2D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setLabelFontA"+               c_th2d_setlabelfonta :: Ptr RawTH2D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_setLabelOffsetA" c_th2d_setlabeloffseta -  :: (Ptr RawTH2D) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_setLabelOffsetA"+               c_th2d_setlabeloffseta ::+               Ptr RawTH2D -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetMaximum" c_th2d_setmaximum -  :: (Ptr RawTH2D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetMaximum"+               c_th2d_setmaximum :: Ptr RawTH2D -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetMinimum" c_th2d_setminimum -  :: (Ptr RawTH2D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetMinimum"+               c_th2d_setminimum :: Ptr RawTH2D -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetNormFactor" c_th2d_setnormfactor -  :: (Ptr RawTH2D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetNormFactor"+               c_th2d_setnormfactor :: Ptr RawTH2D -> CDouble -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetStats" c_th2d_setstats -  :: (Ptr RawTH2D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetStats"+               c_th2d_setstats :: Ptr RawTH2D -> CInt -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetOption" c_th2d_setoption -  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetOption"+               c_th2d_setoption :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetXTitle" c_th2d_setxtitle -  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetXTitle"+               c_th2d_setxtitle :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetYTitle" c_th2d_setytitle -  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetYTitle"+               c_th2d_setytitle :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetZTitle" c_th2d_setztitle -  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetZTitle"+               c_th2d_setztitle :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_ShowBackground" c_th2d_showbackground -  :: (Ptr RawTH2D) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH2D.h TH2D_ShowBackground"+               c_th2d_showbackground ::+               Ptr RawTH2D -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2D.h TH2D_ShowPeaks" c_th2d_showpeaks -  :: (Ptr RawTH2D) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_ShowPeaks"+               c_th2d_showpeaks ::+               Ptr RawTH2D -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_Smooth" c_th2d_smooth -  :: (Ptr RawTH2D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_Smooth"+               c_th2d_smooth :: Ptr RawTH2D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_Sumw2" c_th2d_sumw2 -  :: (Ptr RawTH2D) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_Sumw2" c_th2d_sumw2+               :: Ptr RawTH2D -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_Draw" c_th2d_draw -  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetName"+               c_th2d_setname :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_FindObject" c_th2d_findobject -  :: (Ptr RawTH2D) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetNameTitle"+               c_th2d_setnametitle :: Ptr RawTH2D -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_GetName" c_th2d_getname -  :: (Ptr RawTH2D) -> IO CString+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetTitle"+               c_th2d_settitle :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_IsA" c_th2d_isa -  :: (Ptr RawTH2D) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetLineColor"+               c_th2d_getlinecolor :: Ptr RawTH2D -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_Paint" c_th2d_paint -  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetLineStyle"+               c_th2d_getlinestyle :: Ptr RawTH2D -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_printObj" c_th2d_printobj -  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetLineWidth"+               c_th2d_getlinewidth :: Ptr RawTH2D -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_SaveAs" c_th2d_saveas -  :: (Ptr RawTH2D) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_ResetAttLine"+               c_th2d_resetattline :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_Write" c_th2d_write -  :: (Ptr RawTH2D) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetLineAttributes"+               c_th2d_setlineattributes :: Ptr RawTH2D -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_GetLineColor" c_th2d_getlinecolor -  :: (Ptr RawTH2D) -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetLineColor"+               c_th2d_setlinecolor :: Ptr RawTH2D -> CInt -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_GetLineStyle" c_th2d_getlinestyle -  :: (Ptr RawTH2D) -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetLineStyle"+               c_th2d_setlinestyle :: Ptr RawTH2D -> CInt -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_GetLineWidth" c_th2d_getlinewidth -  :: (Ptr RawTH2D) -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetLineWidth"+               c_th2d_setlinewidth :: Ptr RawTH2D -> CInt -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_ResetAttLine" c_th2d_resetattline -  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetFillColor"+               c_th2d_setfillcolor :: Ptr RawTH2D -> CInt -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetLineAttributes" c_th2d_setlineattributes -  :: (Ptr RawTH2D) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetFillStyle"+               c_th2d_setfillstyle :: Ptr RawTH2D -> CInt -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetLineColor" c_th2d_setlinecolor -  :: (Ptr RawTH2D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMarkerColor"+               c_th2d_getmarkercolor :: Ptr RawTH2D -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_SetLineStyle" c_th2d_setlinestyle -  :: (Ptr RawTH2D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMarkerStyle"+               c_th2d_getmarkerstyle :: Ptr RawTH2D -> IO CInt -foreign import ccall "HROOTHistTH2D.h TH2D_SetLineWidth" c_th2d_setlinewidth -  :: (Ptr RawTH2D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetMarkerSize"+               c_th2d_getmarkersize :: Ptr RawTH2D -> IO CDouble -foreign import ccall "HROOTHistTH2D.h TH2D_SetFillColor" c_th2d_setfillcolor -  :: (Ptr RawTH2D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_ResetAttMarker"+               c_th2d_resetattmarker :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetFillStyle" c_th2d_setfillstyle -  :: (Ptr RawTH2D) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH2D.h TH2D_SetMarkerAttributes"+               c_th2d_setmarkerattributes :: Ptr RawTH2D -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_GetMarkerColor" c_th2d_getmarkercolor -  :: (Ptr RawTH2D) -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetMarkerColor"+               c_th2d_setmarkercolor :: Ptr RawTH2D -> CInt -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_GetMarkerStyle" c_th2d_getmarkerstyle -  :: (Ptr RawTH2D) -> IO CInt+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetMarkerStyle"+               c_th2d_setmarkerstyle :: Ptr RawTH2D -> CInt -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_GetMarkerSize" c_th2d_getmarkersize -  :: (Ptr RawTH2D) -> IO CDouble+foreign import ccall safe "HROOTHistTH2D.h TH2D_SetMarkerSize"+               c_th2d_setmarkersize :: Ptr RawTH2D -> CInt -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_ResetAttMarker" c_th2d_resetattmarker -  :: (Ptr RawTH2D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_Draw" c_th2d_draw+               :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_SetMarkerAttributes" c_th2d_setmarkerattributes -  :: (Ptr RawTH2D) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_FindObject"+               c_th2d_findobject :: Ptr RawTH2D -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH2D.h TH2D_SetMarkerColor" c_th2d_setmarkercolor -  :: (Ptr RawTH2D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_GetName"+               c_th2d_getname :: Ptr RawTH2D -> IO CString -foreign import ccall "HROOTHistTH2D.h TH2D_SetMarkerStyle" c_th2d_setmarkerstyle -  :: (Ptr RawTH2D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_IsA" c_th2d_isa ::+               Ptr RawTH2D -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH2D.h TH2D_SetMarkerSize" c_th2d_setmarkersize -  :: (Ptr RawTH2D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_Paint" c_th2d_paint+               :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_delete" c_th2d_delete -  :: (Ptr RawTH2D) -> IO ()+foreign import ccall safe "HROOTHistTH2D.h TH2D_printObj"+               c_th2d_printobj :: Ptr RawTH2D -> CString -> IO () -foreign import ccall "HROOTHistTH2D.h TH2D_newTH2D" c_th2d_newth2d -  :: CString -> CString -> CInt -> CDouble -> CDouble -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH2D)+foreign import ccall safe "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 safe "HROOTHistTH2D.h TH2D_delete"+               c_th2d_delete :: Ptr RawTH2D -> IO ()++foreign import ccall safe "HROOTHistTH2D.h TH2D_newTH2D"+               c_th2d_newth2d ::+               CString ->+                 CString ->+                   CInt ->+                     CDouble ->+                       CDouble -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH2D)
src/HROOT/Hist/TH2D/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2D.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH2D.RawType import HROOT.Hist.TH2D.FFI import HROOT.Hist.TH2D.Interface@@ -38,9 +39,9 @@ import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.Cast import HROOT.Hist.TH1.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -50,6 +51,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -57,394 +61,208 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH2D TH2D -instance ITH2D TH2D where instance ITH2 TH2D where-  fill2 = xform2 c_th2d_fill2-  fill2w = xform3 c_th2d_fill2w-  fillN2 = xform5 c_th2d_filln2-  fillRandom2 = xform2 c_th2d_fillrandom2-  findFirstBinAbove2 = xform2 c_th2d_findfirstbinabove2-  findLastBinAbove2 = xform2 c_th2d_findlastbinabove2-  fitSlicesX = xform6 c_th2d_fitslicesx-  fitSlicesY = xform6 c_th2d_fitslicesy-  getCorrelationFactor2 = xform2 c_th2d_getcorrelationfactor2-  getCovariance2 = xform2 c_th2d_getcovariance2-  integral2 = xform5 c_th2d_integral2-  rebinX2 = xform2 c_th2d_rebinx2-  rebinY2 = xform2 c_th2d_rebiny2-  rebin2D = xform3 c_th2d_rebin2d-  setShowProjectionX = xform1 c_th2d_setshowprojectionx-  setShowProjectionY = xform1 c_th2d_setshowprojectiony-instance ITArrayD 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-  drawNormalized = xform2 c_th2d_drawnormalized-  drawPanelTH1 = xform0 c_th2d_drawpanelth1-  bufferEmpty = xform1 c_th2d_bufferempty-  evalF = xform2 c_th2d_evalf-  fFT = xform2 c_th2d_fft-  fill1 = xform1 c_th2d_fill1-  fill1w = xform2 c_th2d_fill1w-  fillN1 = xform4 c_th2d_filln1-  fillRandom = xform2 c_th2d_fillrandom-  findBin = xform3 c_th2d_findbin-  findFixBin = xform3 c_th2d_findfixbin-  findFirstBinAbove = xform2 c_th2d_findfirstbinabove-  findLastBinAbove = xform2 c_th2d_findlastbinabove-  fitPanelTH1 = xform0 c_th2d_fitpanelth1-  getNdivisionA = xform1 c_th2d_getndivisiona-  getAxisColorA = xform1 c_th2d_getaxiscolora-  getLabelColorA = xform1 c_th2d_getlabelcolora-  getLabelFontA = xform1 c_th2d_getlabelfonta-  getLabelOffsetA = xform1 c_th2d_getlabeloffseta-  getLabelSizeA = xform1 c_th2d_getlabelsizea-  getTitleFontA = xform1 c_th2d_gettitlefonta-  getTitleOffsetA = xform1 c_th2d_gettitleoffseta-  getTitleSizeA = xform1 c_th2d_gettitlesizea-  getTickLengthA = xform1 c_th2d_getticklengtha-  getBarOffset = xform0 c_th2d_getbaroffset-  getBarWidth = xform0 c_th2d_getbarwidth-  getContour = xform1 c_th2d_getcontour-  getContourLevel = xform1 c_th2d_getcontourlevel-  getContourLevelPad = xform1 c_th2d_getcontourlevelpad-  getBin = xform3 c_th2d_getbin-  getBinCenter = xform1 c_th2d_getbincenter-  getBinContent1 = xform1 c_th2d_getbincontent1-  getBinContent2 = xform2 c_th2d_getbincontent2-  getBinContent3 = xform3 c_th2d_getbincontent3-  getBinError1 = xform1 c_th2d_getbinerror1-  getBinError2 = xform2 c_th2d_getbinerror2-  getBinError3 = xform3 c_th2d_getbinerror3-  getBinLowEdge = xform1 c_th2d_getbinlowedge-  getBinWidth = xform1 c_th2d_getbinwidth-  getCellContent = xform2 c_th2d_getcellcontent-  getCellError = xform2 c_th2d_getcellerror-  getEntries = xform0 c_th2d_getentries-  getEffectiveEntries = xform0 c_th2d_geteffectiveentries-  getFunction = xform1 c_th2d_getfunction-  getDimension = xform0 c_th2d_getdimension-  getKurtosis = xform1 c_th2d_getkurtosis-  getLowEdge = xform1 c_th2d_getlowedge-  getMaximumTH1 = xform1 c_th2d_getmaximumth1-  getMaximumBin = xform0 c_th2d_getmaximumbin-  getMaximumStored = xform0 c_th2d_getmaximumstored-  getMinimumTH1 = xform1 c_th2d_getminimumth1-  getMinimumBin = xform0 c_th2d_getminimumbin-  getMinimumStored = xform0 c_th2d_getminimumstored-  getMean = xform1 c_th2d_getmean-  getMeanError = xform1 c_th2d_getmeanerror-  getNbinsX = xform0 c_th2d_getnbinsx-  getNbinsY = xform0 c_th2d_getnbinsy-  getNbinsZ = xform0 c_th2d_getnbinsz-  getQuantilesTH1 = xform3 c_th2d_getquantilesth1-  getRandom = xform0 c_th2d_getrandom-  getStats = xform1 c_th2d_getstats-  getSumOfWeights = xform0 c_th2d_getsumofweights-  getSumw2 = xform0 c_th2d_getsumw2-  getSumw2N = xform0 c_th2d_getsumw2n-  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-  labelsInflate = xform1 c_th2d_labelsinflate-  labelsOption = xform2 c_th2d_labelsoption-  multiflyF = xform2 c_th2d_multiflyf-  multiply = xform5 c_th2d_multiply-  putStats = xform1 c_th2d_putstats-  rebin = xform3 c_th2d_rebin-  rebinAxis = xform2 c_th2d_rebinaxis-  rebuild = xform1 c_th2d_rebuild-  recursiveRemove = xform1 c_th2d_recursiveremove-  reset = xform1 c_th2d_reset-  resetStats = xform0 c_th2d_resetstats-  scale = xform2 c_th2d_scale-  setAxisColorA = xform2 c_th2d_setaxiscolora-  setAxisRange = xform3 c_th2d_setaxisrange-  setBarOffset = xform1 c_th2d_setbaroffset-  setBarWidth = xform1 c_th2d_setbarwidth-  setBinContent1 = xform2 c_th2d_setbincontent1-  setBinContent2 = xform3 c_th2d_setbincontent2-  setBinContent3 = xform4 c_th2d_setbincontent3-  setBinError1 = xform2 c_th2d_setbinerror1-  setBinError2 = xform3 c_th2d_setbinerror2-  setBinError3 = xform4 c_th2d_setbinerror3-  setBins1 = xform2 c_th2d_setbins1-  setBins2 = xform4 c_th2d_setbins2-  setBins3 = xform6 c_th2d_setbins3-  setBinsLength = xform1 c_th2d_setbinslength-  setBuffer = xform2 c_th2d_setbuffer-  setCellContent = xform3 c_th2d_setcellcontent-  setContent = xform1 c_th2d_setcontent-  setContour = xform2 c_th2d_setcontour-  setContourLevel = xform2 c_th2d_setcontourlevel-  setDirectory = xform1 c_th2d_setdirectory-  setEntries = xform1 c_th2d_setentries-  setError = xform1 c_th2d_seterror-  setLabelColorA = xform2 c_th2d_setlabelcolora-  setLabelSizeA = xform2 c_th2d_setlabelsizea-  setLabelFontA = xform2 c_th2d_setlabelfonta-  setLabelOffsetA = xform2 c_th2d_setlabeloffseta-  setMaximum = xform1 c_th2d_setmaximum-  setMinimum = xform1 c_th2d_setminimum-  setNormFactor = xform1 c_th2d_setnormfactor-  setStats = xform1 c_th2d_setstats-  setOption = xform1 c_th2d_setoption-  setXTitle = xform1 c_th2d_setxtitle-  setYTitle = xform1 c_th2d_setytitle-  setZTitle = xform1 c_th2d_setztitle-  showBackground = xform2 c_th2d_showbackground-  showPeaks = xform3 c_th2d_showpeaks-  smooth = xform2 c_th2d_smooth-  sumw2 = xform0 c_th2d_sumw2-instance ITObject TH2D where-  draw = xform1 c_th2d_draw-  findObject = xform1 c_th2d_findobject-  getName = xform0 c_th2d_getname-  isA = xform0 c_th2d_isa-  paint = xform1 c_th2d_paint-  printObj = xform1 c_th2d_printobj-  saveAs = xform2 c_th2d_saveas-  write = xform3 c_th2d_write-instance ITAttLine TH2D where-  getLineColor = xform0 c_th2d_getlinecolor-  getLineStyle = xform0 c_th2d_getlinestyle-  getLineWidth = xform0 c_th2d_getlinewidth-  resetAttLine = xform1 c_th2d_resetattline-  setLineAttributes = xform0 c_th2d_setlineattributes-  setLineColor = xform1 c_th2d_setlinecolor-  setLineStyle = xform1 c_th2d_setlinestyle-  setLineWidth = xform1 c_th2d_setlinewidth-instance ITAttFill TH2D where-  setFillColor = xform1 c_th2d_setfillcolor-  setFillStyle = xform1 c_th2d_setfillstyle-instance ITAttMarker TH2D where-  getMarkerColor = xform0 c_th2d_getmarkercolor-  getMarkerStyle = xform0 c_th2d_getmarkerstyle-  getMarkerSize = xform0 c_th2d_getmarkersize-  resetAttMarker = xform1 c_th2d_resetattmarker-  setMarkerAttributes = xform0 c_th2d_setmarkerattributes-  setMarkerColor = xform1 c_th2d_setmarkercolor-  setMarkerStyle = xform1 c_th2d_setmarkerstyle-  setMarkerSize = xform1 c_th2d_setmarkersize-instance IDeletable TH2D where-  delete = xform0 c_th2d_delete-instance ITArray TH2D where--instance ITH2D (Exist TH2D) where+        fill2 = xform2 c_th2d_fill2+        fill2w = xform3 c_th2d_fill2w+        fillN2 = xform5 c_th2d_filln2+        fillRandom2 = xform2 c_th2d_fillrandom2+        findFirstBinAbove2 = xform2 c_th2d_findfirstbinabove2+        findLastBinAbove2 = xform2 c_th2d_findlastbinabove2+        fitSlicesX = xform6 c_th2d_fitslicesx+        fitSlicesY = xform6 c_th2d_fitslicesy+        getCorrelationFactor2 = xform2 c_th2d_getcorrelationfactor2+        getCovariance2 = xform2 c_th2d_getcovariance2+        integral2 = xform5 c_th2d_integral2+        rebinX2 = xform2 c_th2d_rebinx2+        rebinY2 = xform2 c_th2d_rebiny2+        rebin2D = xform3 c_th2d_rebin2d+        setShowProjectionX = xform1 c_th2d_setshowprojectionx+        setShowProjectionY = xform1 c_th2d_setshowprojectiony -instance ITH2 (Exist TH2D) where-  fill2 (ETH2D x) = fill2 x-  fill2w (ETH2D x) = fill2w x-  fillN2 (ETH2D x) = fillN2 x-  fillRandom2 (ETH2D x) = fillRandom2 x-  findFirstBinAbove2 (ETH2D x) = findFirstBinAbove2 x-  findLastBinAbove2 (ETH2D x) = findLastBinAbove2 x-  fitSlicesX (ETH2D x) = fitSlicesX x-  fitSlicesY (ETH2D x) = fitSlicesY x-  getCorrelationFactor2 (ETH2D x) = getCorrelationFactor2 x-  getCovariance2 (ETH2D x) = getCovariance2 x-  integral2 (ETH2D x) = integral2 x-  rebinX2 (ETH2D x) = rebinX2 x-  rebinY2 (ETH2D x) = rebinY2 x-  rebin2D (ETH2D x) = rebin2D x-  setShowProjectionX (ETH2D x) = setShowProjectionX x-  setShowProjectionY (ETH2D x) = setShowProjectionY x-instance ITArrayD (Exist TH2D) where+instance ITArrayD TH2D -instance ITH1 (Exist TH2D) where-  add (ETH2D x) = add x-  addBinContent (ETH2D x) = addBinContent x-  chi2Test (ETH2D x) = chi2Test x-  computeIntegral (ETH2D x) = computeIntegral x-  directoryAutoAdd (ETH2D x) = directoryAutoAdd x-  divide (ETH2D x) = divide x-  drawCopyTH1 (ETH2D x) a1 = return . ETH2D =<< drawCopyTH1 x a1-  drawNormalized (ETH2D x) = drawNormalized x-  drawPanelTH1 (ETH2D x) = drawPanelTH1 x-  bufferEmpty (ETH2D x) = bufferEmpty x-  evalF (ETH2D x) = evalF x-  fFT (ETH2D x) = fFT x-  fill1 (ETH2D x) = fill1 x-  fill1w (ETH2D x) = fill1w x-  fillN1 (ETH2D x) = fillN1 x-  fillRandom (ETH2D x) = fillRandom x-  findBin (ETH2D x) = findBin x-  findFixBin (ETH2D x) = findFixBin x-  findFirstBinAbove (ETH2D x) = findFirstBinAbove x-  findLastBinAbove (ETH2D x) = findLastBinAbove x-  fitPanelTH1 (ETH2D x) = fitPanelTH1 x-  getNdivisionA (ETH2D x) = getNdivisionA x-  getAxisColorA (ETH2D x) = getAxisColorA x-  getLabelColorA (ETH2D x) = getLabelColorA x-  getLabelFontA (ETH2D x) = getLabelFontA x-  getLabelOffsetA (ETH2D x) = getLabelOffsetA x-  getLabelSizeA (ETH2D x) = getLabelSizeA x-  getTitleFontA (ETH2D x) = getTitleFontA x-  getTitleOffsetA (ETH2D x) = getTitleOffsetA x-  getTitleSizeA (ETH2D x) = getTitleSizeA x-  getTickLengthA (ETH2D x) = getTickLengthA x-  getBarOffset (ETH2D x) = getBarOffset x-  getBarWidth (ETH2D x) = getBarWidth x-  getContour (ETH2D x) = getContour x-  getContourLevel (ETH2D x) = getContourLevel x-  getContourLevelPad (ETH2D x) = getContourLevelPad x-  getBin (ETH2D x) = getBin x-  getBinCenter (ETH2D x) = getBinCenter x-  getBinContent1 (ETH2D x) = getBinContent1 x-  getBinContent2 (ETH2D x) = getBinContent2 x-  getBinContent3 (ETH2D x) = getBinContent3 x-  getBinError1 (ETH2D x) = getBinError1 x-  getBinError2 (ETH2D x) = getBinError2 x-  getBinError3 (ETH2D x) = getBinError3 x-  getBinLowEdge (ETH2D x) = getBinLowEdge x-  getBinWidth (ETH2D x) = getBinWidth x-  getCellContent (ETH2D x) = getCellContent x-  getCellError (ETH2D x) = getCellError x-  getEntries (ETH2D x) = getEntries x-  getEffectiveEntries (ETH2D x) = getEffectiveEntries x-  getFunction (ETH2D x) = getFunction x-  getDimension (ETH2D x) = getDimension x-  getKurtosis (ETH2D x) = getKurtosis x-  getLowEdge (ETH2D x) = getLowEdge x-  getMaximumTH1 (ETH2D x) = getMaximumTH1 x-  getMaximumBin (ETH2D x) = getMaximumBin x-  getMaximumStored (ETH2D x) = getMaximumStored x-  getMinimumTH1 (ETH2D x) = getMinimumTH1 x-  getMinimumBin (ETH2D x) = getMinimumBin x-  getMinimumStored (ETH2D x) = getMinimumStored x-  getMean (ETH2D x) = getMean x-  getMeanError (ETH2D x) = getMeanError x-  getNbinsX (ETH2D x) = getNbinsX x-  getNbinsY (ETH2D x) = getNbinsY x-  getNbinsZ (ETH2D x) = getNbinsZ x-  getQuantilesTH1 (ETH2D x) = getQuantilesTH1 x-  getRandom (ETH2D x) = getRandom x-  getStats (ETH2D x) = getStats x-  getSumOfWeights (ETH2D x) = getSumOfWeights x-  getSumw2 (ETH2D x) = getSumw2 x-  getSumw2N (ETH2D x) = getSumw2N x-  getRMS (ETH2D x) = getRMS x-  getRMSError (ETH2D x) = getRMSError x-  getSkewness (ETH2D x) = getSkewness x-  integral1 (ETH2D x) = integral1 x-  interpolate1 (ETH2D x) = interpolate1 x-  interpolate2 (ETH2D x) = interpolate2 x-  interpolate3 (ETH2D x) = interpolate3 x-  kolmogorovTest (ETH2D x) = kolmogorovTest x-  labelsDeflate (ETH2D x) = labelsDeflate x-  labelsInflate (ETH2D x) = labelsInflate x-  labelsOption (ETH2D x) = labelsOption x-  multiflyF (ETH2D x) = multiflyF x-  multiply (ETH2D x) = multiply x-  putStats (ETH2D x) = putStats x-  rebin (ETH2D x) = rebin x-  rebinAxis (ETH2D x) = rebinAxis x-  rebuild (ETH2D x) = rebuild x-  recursiveRemove (ETH2D x) = recursiveRemove x-  reset (ETH2D x) = reset x-  resetStats (ETH2D x) = resetStats x-  scale (ETH2D x) = scale x-  setAxisColorA (ETH2D x) = setAxisColorA x-  setAxisRange (ETH2D x) = setAxisRange x-  setBarOffset (ETH2D x) = setBarOffset x-  setBarWidth (ETH2D x) = setBarWidth x-  setBinContent1 (ETH2D x) = setBinContent1 x-  setBinContent2 (ETH2D x) = setBinContent2 x-  setBinContent3 (ETH2D x) = setBinContent3 x-  setBinError1 (ETH2D x) = setBinError1 x-  setBinError2 (ETH2D x) = setBinError2 x-  setBinError3 (ETH2D x) = setBinError3 x-  setBins1 (ETH2D x) = setBins1 x-  setBins2 (ETH2D x) = setBins2 x-  setBins3 (ETH2D x) = setBins3 x-  setBinsLength (ETH2D x) = setBinsLength x-  setBuffer (ETH2D x) = setBuffer x-  setCellContent (ETH2D x) = setCellContent x-  setContent (ETH2D x) = setContent x-  setContour (ETH2D x) = setContour x-  setContourLevel (ETH2D x) = setContourLevel x-  setDirectory (ETH2D x) = setDirectory x-  setEntries (ETH2D x) = setEntries x-  setError (ETH2D x) = setError x-  setLabelColorA (ETH2D x) = setLabelColorA x-  setLabelSizeA (ETH2D x) = setLabelSizeA x-  setLabelFontA (ETH2D x) = setLabelFontA x-  setLabelOffsetA (ETH2D x) = setLabelOffsetA x-  setMaximum (ETH2D x) = setMaximum x-  setMinimum (ETH2D x) = setMinimum x-  setNormFactor (ETH2D x) = setNormFactor x-  setStats (ETH2D x) = setStats x-  setOption (ETH2D x) = setOption x-  setXTitle (ETH2D x) = setXTitle x-  setYTitle (ETH2D x) = setYTitle x-  setZTitle (ETH2D x) = setZTitle x-  showBackground (ETH2D x) = showBackground x-  showPeaks (ETH2D x) = showPeaks x-  smooth (ETH2D x) = smooth x-  sumw2 (ETH2D x) = sumw2 x-instance ITObject (Exist TH2D) where-  draw (ETH2D x) = draw x-  findObject (ETH2D x) = findObject x-  getName (ETH2D x) = getName x-  isA (ETH2D x) = isA x-  paint (ETH2D x) = paint x-  printObj (ETH2D x) = printObj x-  saveAs (ETH2D x) = saveAs x-  write (ETH2D x) = write x-instance ITAttLine (Exist TH2D) where-  getLineColor (ETH2D x) = getLineColor x-  getLineStyle (ETH2D x) = getLineStyle x-  getLineWidth (ETH2D x) = getLineWidth x-  resetAttLine (ETH2D x) = resetAttLine x-  setLineAttributes (ETH2D x) = setLineAttributes x-  setLineColor (ETH2D x) = setLineColor x-  setLineStyle (ETH2D x) = setLineStyle x-  setLineWidth (ETH2D x) = setLineWidth x-instance ITAttFill (Exist TH2D) where-  setFillColor (ETH2D x) = setFillColor x-  setFillStyle (ETH2D x) = setFillStyle x-instance ITAttMarker (Exist TH2D) where-  getMarkerColor (ETH2D x) = getMarkerColor x-  getMarkerStyle (ETH2D x) = getMarkerStyle x-  getMarkerSize (ETH2D x) = getMarkerSize x-  resetAttMarker (ETH2D x) = resetAttMarker x-  setMarkerAttributes (ETH2D x) = setMarkerAttributes x-  setMarkerColor (ETH2D x) = setMarkerColor x-  setMarkerStyle (ETH2D x) = setMarkerStyle x-  setMarkerSize (ETH2D x) = setMarkerSize x-instance IDeletable (Exist TH2D) where-  delete (ETH2D x) = delete x-instance ITArray (Exist 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+        drawNormalized = xform2 c_th2d_drawnormalized+        drawPanelTH1 = xform0 c_th2d_drawpanelth1+        bufferEmpty = xform1 c_th2d_bufferempty+        evalF = xform2 c_th2d_evalf+        fFT = xform2 c_th2d_fft+        fill1 = xform1 c_th2d_fill1+        fill1w = xform2 c_th2d_fill1w+        fillN1 = xform4 c_th2d_filln1+        fillRandom = xform2 c_th2d_fillrandom+        findBin = xform3 c_th2d_findbin+        findFixBin = xform3 c_th2d_findfixbin+        findFirstBinAbove = xform2 c_th2d_findfirstbinabove+        findLastBinAbove = xform2 c_th2d_findlastbinabove+        fit = xform5 c_th2d_fit+        fitPanelTH1 = xform0 c_th2d_fitpanelth1+        getNdivisionA = xform1 c_th2d_getndivisiona+        getAxisColorA = xform1 c_th2d_getaxiscolora+        getLabelColorA = xform1 c_th2d_getlabelcolora+        getLabelFontA = xform1 c_th2d_getlabelfonta+        getLabelOffsetA = xform1 c_th2d_getlabeloffseta+        getLabelSizeA = xform1 c_th2d_getlabelsizea+        getTitleFontA = xform1 c_th2d_gettitlefonta+        getTitleOffsetA = xform1 c_th2d_gettitleoffseta+        getTitleSizeA = xform1 c_th2d_gettitlesizea+        getTickLengthA = xform1 c_th2d_getticklengtha+        getBarOffset = xform0 c_th2d_getbaroffset+        getBarWidth = xform0 c_th2d_getbarwidth+        getContour = xform1 c_th2d_getcontour+        getContourLevel = xform1 c_th2d_getcontourlevel+        getContourLevelPad = xform1 c_th2d_getcontourlevelpad+        getBin = xform3 c_th2d_getbin+        getBinCenter = xform1 c_th2d_getbincenter+        getBinContent1 = xform1 c_th2d_getbincontent1+        getBinContent2 = xform2 c_th2d_getbincontent2+        getBinContent3 = xform3 c_th2d_getbincontent3+        getBinError1 = xform1 c_th2d_getbinerror1+        getBinError2 = xform2 c_th2d_getbinerror2+        getBinError3 = xform3 c_th2d_getbinerror3+        getBinLowEdge = xform1 c_th2d_getbinlowedge+        getBinWidth = xform1 c_th2d_getbinwidth+        getCellContent = xform2 c_th2d_getcellcontent+        getCellError = xform2 c_th2d_getcellerror+        getEntries = xform0 c_th2d_getentries+        getEffectiveEntries = xform0 c_th2d_geteffectiveentries+        getFunction = xform1 c_th2d_getfunction+        getDimension = xform0 c_th2d_getdimension+        getKurtosis = xform1 c_th2d_getkurtosis+        getLowEdge = xform1 c_th2d_getlowedge+        getMaximumTH1 = xform1 c_th2d_getmaximumth1+        getMaximumBin = xform0 c_th2d_getmaximumbin+        getMaximumStored = xform0 c_th2d_getmaximumstored+        getMinimumTH1 = xform1 c_th2d_getminimumth1+        getMinimumBin = xform0 c_th2d_getminimumbin+        getMinimumStored = xform0 c_th2d_getminimumstored+        getMean = xform1 c_th2d_getmean+        getMeanError = xform1 c_th2d_getmeanerror+        getNbinsX = xform0 c_th2d_getnbinsx+        getNbinsY = xform0 c_th2d_getnbinsy+        getNbinsZ = xform0 c_th2d_getnbinsz+        getQuantilesTH1 = xform3 c_th2d_getquantilesth1+        getRandom = xform0 c_th2d_getrandom+        getStats = xform1 c_th2d_getstats+        getSumOfWeights = xform0 c_th2d_getsumofweights+        getSumw2 = xform0 c_th2d_getsumw2+        getSumw2N = xform0 c_th2d_getsumw2n+        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+        labelsInflate = xform1 c_th2d_labelsinflate+        labelsOption = xform2 c_th2d_labelsoption+        multiflyF = xform2 c_th2d_multiflyf+        multiply = xform5 c_th2d_multiply+        putStats = xform1 c_th2d_putstats+        rebin = xform3 c_th2d_rebin+        rebinAxis = xform2 c_th2d_rebinaxis+        rebuild = xform1 c_th2d_rebuild+        recursiveRemove = xform1 c_th2d_recursiveremove+        reset = xform1 c_th2d_reset+        resetStats = xform0 c_th2d_resetstats+        scale = xform2 c_th2d_scale+        setAxisColorA = xform2 c_th2d_setaxiscolora+        setAxisRange = xform3 c_th2d_setaxisrange+        setBarOffset = xform1 c_th2d_setbaroffset+        setBarWidth = xform1 c_th2d_setbarwidth+        setBinContent1 = xform2 c_th2d_setbincontent1+        setBinContent2 = xform3 c_th2d_setbincontent2+        setBinContent3 = xform4 c_th2d_setbincontent3+        setBinError1 = xform2 c_th2d_setbinerror1+        setBinError2 = xform3 c_th2d_setbinerror2+        setBinError3 = xform4 c_th2d_setbinerror3+        setBins1 = xform2 c_th2d_setbins1+        setBins2 = xform4 c_th2d_setbins2+        setBins3 = xform6 c_th2d_setbins3+        setBinsLength = xform1 c_th2d_setbinslength+        setBuffer = xform2 c_th2d_setbuffer+        setCellContent = xform3 c_th2d_setcellcontent+        setContent = xform1 c_th2d_setcontent+        setContour = xform2 c_th2d_setcontour+        setContourLevel = xform2 c_th2d_setcontourlevel+        setDirectory = xform1 c_th2d_setdirectory+        setEntries = xform1 c_th2d_setentries+        setError = xform1 c_th2d_seterror+        setLabelColorA = xform2 c_th2d_setlabelcolora+        setLabelSizeA = xform2 c_th2d_setlabelsizea+        setLabelFontA = xform2 c_th2d_setlabelfonta+        setLabelOffsetA = xform2 c_th2d_setlabeloffseta+        setMaximum = xform1 c_th2d_setmaximum+        setMinimum = xform1 c_th2d_setminimum+        setNormFactor = xform1 c_th2d_setnormfactor+        setStats = xform1 c_th2d_setstats+        setOption = xform1 c_th2d_setoption+        setXTitle = xform1 c_th2d_setxtitle+        setYTitle = xform1 c_th2d_setytitle+        setZTitle = xform1 c_th2d_setztitle+        showBackground = xform2 c_th2d_showbackground+        showPeaks = xform3 c_th2d_showpeaks+        smooth = xform2 c_th2d_smooth+        sumw2 = xform0 c_th2d_sumw2 +instance ITNamed TH2D where+        setName = xform1 c_th2d_setname+        setNameTitle = xform2 c_th2d_setnametitle+        setTitle = xform1 c_th2d_settitle +instance ITAttLine TH2D where+        getLineColor = xform0 c_th2d_getlinecolor+        getLineStyle = xform0 c_th2d_getlinestyle+        getLineWidth = xform0 c_th2d_getlinewidth+        resetAttLine = xform1 c_th2d_resetattline+        setLineAttributes = xform0 c_th2d_setlineattributes+        setLineColor = xform1 c_th2d_setlinecolor+        setLineStyle = xform1 c_th2d_setlinestyle+        setLineWidth = xform1 c_th2d_setlinewidth -newTH2D :: CString -> CString -> CInt -> CDouble -> CDouble -> CInt -> CDouble -> CDouble -> IO TH2D-newTH2D = xform7 c_th2d_newth2d+instance ITAttFill TH2D where+        setFillColor = xform1 c_th2d_setfillcolor+        setFillStyle = xform1 c_th2d_setfillstyle +instance ITAttMarker TH2D where+        getMarkerColor = xform0 c_th2d_getmarkercolor+        getMarkerStyle = xform0 c_th2d_getmarkerstyle+        getMarkerSize = xform0 c_th2d_getmarkersize+        resetAttMarker = xform1 c_th2d_resetattmarker+        setMarkerAttributes = xform0 c_th2d_setmarkerattributes+        setMarkerColor = xform1 c_th2d_setmarkercolor+        setMarkerStyle = xform1 c_th2d_setmarkerstyle+        setMarkerSize = xform1 c_th2d_setmarkersize +instance ITObject TH2D where+        draw = xform1 c_th2d_draw+        findObject = xform1 c_th2d_findobject+        getName = xform0 c_th2d_getname+        isA = xform0 c_th2d_isa+        paint = xform1 c_th2d_paint+        printObj = xform1 c_th2d_printobj+        saveAs = xform2 c_th2d_saveas+        write = xform3 c_th2d_write +instance IDeletable TH2D where+        delete = xform0 c_th2d_delete +instance ITArray TH2D -instance FPtr (Exist TH2D) where-  type Raw (Exist TH2D) = RawTH2D-  get_fptr (ETH2D obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH2D (cast_fptr_to_obj (fptr :: ForeignPtr RawTH2D) :: TH2D)+newTH2D ::+          (Castable c1 CString, Castable c0 CString) =>+          c0 ->+            c1 ->+              CInt -> CDouble -> CDouble -> CInt -> CDouble -> CDouble -> IO TH2D+newTH2D = xform7 c_th2d_newth2d
src/HROOT/Hist/TH2D/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2D.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH2D.RawType- import HROOT.Hist.TH2.Interface import HROOT.Core.TArrayD.Interface----- ============ ---- ---class (ITH2 a,ITArrayD a) => ITH2D a where--instance Existable TH2D where-  data Exist TH2D = forall a. (FPtr a, ITH2D a) => ETH2D a+class (ITH2 a, ITArrayD a) => ITH2D a -upcastTH2D :: (FPtr a, ITH2D a) => a -> TH2D-upcastTH2D h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH2D = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH2D :: forall a . (FPtr a, ITH2D a) => a -> TH2D+upcastTH2D h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH2D = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH2D :: (FPtr a, ITH2D a) => TH2D -> a -downcastTH2D h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH2D :: forall a . (FPtr a, ITH2D a) => TH2D -> a+downcastTH2D h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH2D/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH2D.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH2D -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH2D = TH2D (Ptr RawTH2D)+             deriving (Eq, Ord, Show) -data RawTH2D-newtype TH2D = TH2D (ForeignPtr RawTH2D) deriving (Eq, Ord, Show) instance FPtr TH2D where-   type Raw TH2D = RawTH2D-   get_fptr (TH2D fptr) = fptr-   cast_fptr_to_obj = TH2D+        type Raw TH2D = RawTH2D+        get_fptr (TH2D ptr) = ptr+        cast_fptr_to_obj = TH2D
src/HROOT/Hist/TH2F.hs view
@@ -1,15 +1,5 @@ module HROOT.Hist.TH2F-  (-    TH2F(..)-  , ITH2F-  , upcastTH2F-  , downcastTH2F-  , newTH2F- -  ) where-+       (TH2F(..), ITH2F, upcastTH2F, downcastTH2F, newTH2F) where import HROOT.Hist.TH2F.RawType import HROOT.Hist.TH2F.Interface import HROOT.Hist.TH2F.Implementation--
src/HROOT/Hist/TH2F/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH2F.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH2F.RawType import HROOT.Hist.TH2F.Interface  instance (ITH2F a, FPtr a) => Castable a (Ptr RawTH2F) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH2F (Ptr RawTH2F) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH2F.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH2F.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH2.RawType@@ -24,527 +14,597 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH2F.h"+foreign import ccall safe "HROOTHistTH2F.h TH2F_fill2" c_th2f_fill2+               :: Ptr RawTH2F -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_fill2" c_th2f_fill2 -  :: (Ptr RawTH2F) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_fill2w"+               c_th2f_fill2w ::+               Ptr RawTH2F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_fill2w" c_th2f_fill2w -  :: (Ptr RawTH2F) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_fillN2"+               c_th2f_filln2 ::+               Ptr RawTH2F ->+                 CInt ->+                   (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_fillN2" c_th2f_filln2 -  :: (Ptr RawTH2F) -> 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 "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 "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 "HROOTHistTH2F.h TH2F_findLastBinAbove2" c_th2f_findlastbinabove2 -  :: (Ptr RawTH2F) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_FitSlicesX"+               c_th2f_fitslicesx ::+               Ptr RawTH2F ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "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 ::+               Ptr RawTH2F ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_FitSlicesY" c_th2f_fitslicesy -  :: (Ptr RawTH2F) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall safe+               "HROOTHistTH2F.h TH2F_getCorrelationFactor2"+               c_th2f_getcorrelationfactor2 ::+               Ptr RawTH2F -> CInt -> CInt -> IO CDouble -foreign import ccall "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 "HROOTHistTH2F.h TH2F_getCovariance2" c_th2f_getcovariance2 -  :: (Ptr RawTH2F) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_integral2"+               c_th2f_integral2 ::+               Ptr RawTH2F ->+                 CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_integral2" c_th2f_integral2 -  :: (Ptr RawTH2F) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_rebinX2"+               c_th2f_rebinx2 :: Ptr RawTH2F -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "HROOTHistTH2F.h TH2F_rebinX2" c_th2f_rebinx2 -  :: (Ptr RawTH2F) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2F.h TH2F_rebinY2"+               c_th2f_rebiny2 :: Ptr RawTH2F -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "HROOTHistTH2F.h TH2F_rebinY2" c_th2f_rebiny2 -  :: (Ptr RawTH2F) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2F.h TH2F_Rebin2D"+               c_th2f_rebin2d ::+               Ptr RawTH2F -> CInt -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "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 "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 "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 "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 "HROOTHistTH2F.h TH2F_AddBinContent" c_th2f_addbincontent -  :: (Ptr RawTH2F) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_Chi2Test"+               c_th2f_chi2test ::+               Ptr RawTH2F -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH2F.h TH2F_ComputeIntegral" c_th2f_computeintegral -  :: (Ptr RawTH2F) -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_DirectoryAutoAdd"+               c_th2f_directoryautoadd ::+               Ptr RawTH2F -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_DirectoryAutoAdd" c_th2f_directoryautoadd -  :: (Ptr RawTH2F) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_Divide"+               c_th2f_divide ::+               Ptr RawTH2F ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH2F.h TH2F_drawCopyTH1" c_th2f_drawcopyth1 -  :: (Ptr RawTH2F) -> CString -> IO (Ptr RawTH2F)+foreign import ccall safe "HROOTHistTH2F.h TH2F_DrawNormalized"+               c_th2f_drawnormalized ::+               Ptr RawTH2F -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH2F.h TH2F_evalF" c_th2f_evalf -  :: (Ptr RawTH2F) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_FFT" c_th2f_fft ::+               Ptr RawTH2F -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH2F.h TH2F_fill1" c_th2f_fill1 -  :: (Ptr RawTH2F) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_fill1w"+               c_th2f_fill1w :: Ptr RawTH2F -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_fill1w" c_th2f_fill1w -  :: (Ptr RawTH2F) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_fillN1"+               c_th2f_filln1 ::+               Ptr RawTH2F ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_fillN1" c_th2f_filln1 -  :: (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 "HROOTHistTH2F.h TH2F_FillRandom" c_th2f_fillrandom -  :: (Ptr RawTH2F) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_FindBin"+               c_th2f_findbin ::+               Ptr RawTH2F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH2F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH2F.h TH2F_FindFirstBinAbove" c_th2f_findfirstbinabove -  :: (Ptr RawTH2F) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_FindLastBinAbove"+               c_th2f_findlastbinabove ::+               Ptr RawTH2F -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_FindLastBinAbove" c_th2f_findlastbinabove -  :: (Ptr RawTH2F) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_Fit" c_th2f_fit ::+               Ptr RawTH2F ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_FitPanelTH1" c_th2f_fitpanelth1 -  :: (Ptr RawTH2F) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_FitPanelTH1"+               c_th2f_fitpanelth1 :: Ptr RawTH2F -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_getNdivisionA" c_th2f_getndivisiona -  :: (Ptr RawTH2F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_getNdivisionA"+               c_th2f_getndivisiona :: Ptr RawTH2F -> CString -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_getAxisColorA" c_th2f_getaxiscolora -  :: (Ptr RawTH2F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_getAxisColorA"+               c_th2f_getaxiscolora :: Ptr RawTH2F -> CString -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_getLabelColorA" c_th2f_getlabelcolora -  :: (Ptr RawTH2F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_getLabelColorA"+               c_th2f_getlabelcolora :: Ptr RawTH2F -> CString -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_getLabelFontA" c_th2f_getlabelfonta -  :: (Ptr RawTH2F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_getLabelFontA"+               c_th2f_getlabelfonta :: Ptr RawTH2F -> CString -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_getLabelOffsetA" c_th2f_getlabeloffseta -  :: (Ptr RawTH2F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_getLabelOffsetA"+               c_th2f_getlabeloffseta :: Ptr RawTH2F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_getLabelSizeA" c_th2f_getlabelsizea -  :: (Ptr RawTH2F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_getLabelSizeA"+               c_th2f_getlabelsizea :: Ptr RawTH2F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_getTitleFontA" c_th2f_gettitlefonta -  :: (Ptr RawTH2F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_getTitleFontA"+               c_th2f_gettitlefonta :: Ptr RawTH2F -> CString -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_getTitleOffsetA" c_th2f_gettitleoffseta -  :: (Ptr RawTH2F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_getTitleOffsetA"+               c_th2f_gettitleoffseta :: Ptr RawTH2F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_getTitleSizeA" c_th2f_gettitlesizea -  :: (Ptr RawTH2F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_getTitleSizeA"+               c_th2f_gettitlesizea :: Ptr RawTH2F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_getTickLengthA" c_th2f_getticklengtha -  :: (Ptr RawTH2F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_getTickLengthA"+               c_th2f_getticklengtha :: Ptr RawTH2F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetBarOffset" c_th2f_getbaroffset -  :: (Ptr RawTH2F) -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBarOffset"+               c_th2f_getbaroffset :: Ptr RawTH2F -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetBarWidth" c_th2f_getbarwidth -  :: (Ptr RawTH2F) -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBarWidth"+               c_th2f_getbarwidth :: Ptr RawTH2F -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetContour" c_th2f_getcontour -  :: (Ptr RawTH2F) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetContour"+               c_th2f_getcontour :: Ptr RawTH2F -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_GetContourLevel" c_th2f_getcontourlevel -  :: (Ptr RawTH2F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetContourLevel"+               c_th2f_getcontourlevel :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetContourLevelPad" c_th2f_getcontourlevelpad -  :: (Ptr RawTH2F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetContourLevelPad"+               c_th2f_getcontourlevelpad :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetBin" c_th2f_getbin -  :: (Ptr RawTH2F) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBin"+               c_th2f_getbin :: Ptr RawTH2F -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_GetBinCenter" c_th2f_getbincenter -  :: (Ptr RawTH2F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinCenter"+               c_th2f_getbincenter :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetBinContent1" c_th2f_getbincontent1 -  :: (Ptr RawTH2F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinContent1"+               c_th2f_getbincontent1 :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetBinContent2" c_th2f_getbincontent2 -  :: (Ptr RawTH2F) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinContent2"+               c_th2f_getbincontent2 :: Ptr RawTH2F -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetBinContent3" c_th2f_getbincontent3 -  :: (Ptr RawTH2F) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinContent3"+               c_th2f_getbincontent3 ::+               Ptr RawTH2F -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetBinError1" c_th2f_getbinerror1 -  :: (Ptr RawTH2F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinError1"+               c_th2f_getbinerror1 :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetBinError2" c_th2f_getbinerror2 -  :: (Ptr RawTH2F) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinError2"+               c_th2f_getbinerror2 :: Ptr RawTH2F -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetBinError3" c_th2f_getbinerror3 -  :: (Ptr RawTH2F) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinError3"+               c_th2f_getbinerror3 ::+               Ptr RawTH2F -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetBinLowEdge" c_th2f_getbinlowedge -  :: (Ptr RawTH2F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinLowEdge"+               c_th2f_getbinlowedge :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetBinWidth" c_th2f_getbinwidth -  :: (Ptr RawTH2F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetBinWidth"+               c_th2f_getbinwidth :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetCellContent" c_th2f_getcellcontent -  :: (Ptr RawTH2F) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetCellContent"+               c_th2f_getcellcontent :: Ptr RawTH2F -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetCellError" c_th2f_getcellerror -  :: (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 "HROOTHistTH2F.h TH2F_GetEntries" c_th2f_getentries -  :: (Ptr RawTH2F) -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetEntries"+               c_th2f_getentries :: Ptr RawTH2F -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetEffectiveEntries" c_th2f_geteffectiveentries -  :: (Ptr RawTH2F) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2F.h TH2F_GetEffectiveEntries"+               c_th2f_geteffectiveentries :: Ptr RawTH2F -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetFunction" c_th2f_getfunction -  :: (Ptr RawTH2F) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetFunction"+               c_th2f_getfunction :: Ptr RawTH2F -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH2F.h TH2F_GetDimension" c_th2f_getdimension -  :: (Ptr RawTH2F) -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetDimension"+               c_th2f_getdimension :: Ptr RawTH2F -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_GetKurtosis" c_th2f_getkurtosis -  :: (Ptr RawTH2F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetKurtosis"+               c_th2f_getkurtosis :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetLowEdge" c_th2f_getlowedge -  :: (Ptr RawTH2F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetLowEdge"+               c_th2f_getlowedge :: Ptr RawTH2F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_getMaximumTH1" c_th2f_getmaximumth1 -  :: (Ptr RawTH2F) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_getMaximumTH1"+               c_th2f_getmaximumth1 :: Ptr RawTH2F -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetMaximumBin" c_th2f_getmaximumbin -  :: (Ptr RawTH2F) -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMaximumBin"+               c_th2f_getmaximumbin :: Ptr RawTH2F -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_GetMaximumStored" c_th2f_getmaximumstored -  :: (Ptr RawTH2F) -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMaximumStored"+               c_th2f_getmaximumstored :: Ptr RawTH2F -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_getMinimumTH1" c_th2f_getminimumth1 -  :: (Ptr RawTH2F) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_getMinimumTH1"+               c_th2f_getminimumth1 :: Ptr RawTH2F -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetMinimumBin" c_th2f_getminimumbin -  :: (Ptr RawTH2F) -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMinimumBin"+               c_th2f_getminimumbin :: Ptr RawTH2F -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_GetMinimumStored" c_th2f_getminimumstored -  :: (Ptr RawTH2F) -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMinimumStored"+               c_th2f_getminimumstored :: Ptr RawTH2F -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetMean" c_th2f_getmean -  :: (Ptr RawTH2F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMean"+               c_th2f_getmean :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetMeanError" c_th2f_getmeanerror -  :: (Ptr RawTH2F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMeanError"+               c_th2f_getmeanerror :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetNbinsX" c_th2f_getnbinsx -  :: (Ptr RawTH2F) -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetNbinsX"+               c_th2f_getnbinsx :: Ptr RawTH2F -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetNbinsY" c_th2f_getnbinsy -  :: (Ptr RawTH2F) -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetNbinsY"+               c_th2f_getnbinsy :: Ptr RawTH2F -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetNbinsZ" c_th2f_getnbinsz -  :: (Ptr RawTH2F) -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetNbinsZ"+               c_th2f_getnbinsz :: Ptr RawTH2F -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_getQuantilesTH1" c_th2f_getquantilesth1 -  :: (Ptr RawTH2F) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_getQuantilesTH1"+               c_th2f_getquantilesth1 ::+               Ptr RawTH2F -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_GetRandom" c_th2f_getrandom -  :: (Ptr RawTH2F) -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetRandom"+               c_th2f_getrandom :: Ptr RawTH2F -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetStats" c_th2f_getstats -  :: (Ptr RawTH2F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetStats"+               c_th2f_getstats :: Ptr RawTH2F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_GetSumOfWeights" c_th2f_getsumofweights -  :: (Ptr RawTH2F) -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetSumOfWeights"+               c_th2f_getsumofweights :: Ptr RawTH2F -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetSumw2" c_th2f_getsumw2 -  :: (Ptr RawTH2F) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetSumw2"+               c_th2f_getsumw2 :: Ptr RawTH2F -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH2F.h TH2F_GetSumw2N" c_th2f_getsumw2n -  :: (Ptr RawTH2F) -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetSumw2N"+               c_th2f_getsumw2n :: Ptr RawTH2F -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_GetRMS" c_th2f_getrms -  :: (Ptr RawTH2F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetRMS"+               c_th2f_getrms :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetRMSError" c_th2f_getrmserror -  :: (Ptr RawTH2F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetRMSError"+               c_th2f_getrmserror :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_GetSkewness" c_th2f_getskewness -  :: (Ptr RawTH2F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetSkewness"+               c_th2f_getskewness :: Ptr RawTH2F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_integral1" c_th2f_integral1 -  :: (Ptr RawTH2F) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_integral1"+               c_th2f_integral1 ::+               Ptr RawTH2F -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_interpolate1" c_th2f_interpolate1 -  :: (Ptr RawTH2F) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_interpolate1"+               c_th2f_interpolate1 :: Ptr RawTH2F -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_interpolate2" c_th2f_interpolate2 -  :: (Ptr RawTH2F) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_interpolate2"+               c_th2f_interpolate2 ::+               Ptr RawTH2F -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_interpolate3" c_th2f_interpolate3 -  :: (Ptr RawTH2F) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_interpolate3"+               c_th2f_interpolate3 ::+               Ptr RawTH2F -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_KolmogorovTest" c_th2f_kolmogorovtest -  :: (Ptr RawTH2F) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_KolmogorovTest"+               c_th2f_kolmogorovtest ::+               Ptr RawTH2F -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_LabelsDeflate" c_th2f_labelsdeflate -  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_LabelsDeflate"+               c_th2f_labelsdeflate :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_LabelsInflate" c_th2f_labelsinflate -  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_LabelsInflate"+               c_th2f_labelsinflate :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_LabelsOption" c_th2f_labelsoption -  :: (Ptr RawTH2F) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_LabelsOption"+               c_th2f_labelsoption :: Ptr RawTH2F -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_multiflyF" c_th2f_multiflyf -  :: (Ptr RawTH2F) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_multiflyF"+               c_th2f_multiflyf :: Ptr RawTH2F -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_Multiply" c_th2f_multiply -  :: (Ptr RawTH2F) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_Multiply"+               c_th2f_multiply ::+               Ptr RawTH2F ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_PutStats" c_th2f_putstats -  :: (Ptr RawTH2F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_PutStats"+               c_th2f_putstats :: Ptr RawTH2F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_Rebin" c_th2f_rebin -  :: (Ptr RawTH2F) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH2F.h TH2F_Rebin" c_th2f_rebin+               ::+               Ptr RawTH2F -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2F.h TH2F_RebinAxis" c_th2f_rebinaxis -  :: (Ptr RawTH2F) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_RebinAxis"+               c_th2f_rebinaxis :: Ptr RawTH2F -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_Rebuild" c_th2f_rebuild -  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_Rebuild"+               c_th2f_rebuild :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_RecursiveRemove" c_th2f_recursiveremove -  :: (Ptr RawTH2F) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_RecursiveRemove"+               c_th2f_recursiveremove :: Ptr RawTH2F -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_Reset" c_th2f_reset -  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_Reset" c_th2f_reset+               :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_ResetStats" c_th2f_resetstats -  :: (Ptr RawTH2F) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_ResetStats"+               c_th2f_resetstats :: Ptr RawTH2F -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_Scale" c_th2f_scale -  :: (Ptr RawTH2F) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_Scale" c_th2f_scale+               :: Ptr RawTH2F -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setAxisColorA" c_th2f_setaxiscolora -  :: (Ptr RawTH2F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setAxisColorA"+               c_th2f_setaxiscolora :: Ptr RawTH2F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetAxisRange" c_th2f_setaxisrange -  :: (Ptr RawTH2F) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetAxisRange"+               c_th2f_setaxisrange ::+               Ptr RawTH2F -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetBarOffset" c_th2f_setbaroffset -  :: (Ptr RawTH2F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetBarOffset"+               c_th2f_setbaroffset :: Ptr RawTH2F -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetBarWidth" c_th2f_setbarwidth -  :: (Ptr RawTH2F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetBarWidth"+               c_th2f_setbarwidth :: Ptr RawTH2F -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setBinContent1" c_th2f_setbincontent1 -  :: (Ptr RawTH2F) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setBinContent1"+               c_th2f_setbincontent1 :: Ptr RawTH2F -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setBinContent2" c_th2f_setbincontent2 -  :: (Ptr RawTH2F) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setBinContent2"+               c_th2f_setbincontent2 ::+               Ptr RawTH2F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setBinContent3" c_th2f_setbincontent3 -  :: (Ptr RawTH2F) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setBinContent3"+               c_th2f_setbincontent3 ::+               Ptr RawTH2F -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setBinError1" c_th2f_setbinerror1 -  :: (Ptr RawTH2F) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setBinError1"+               c_th2f_setbinerror1 :: Ptr RawTH2F -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setBinError2" c_th2f_setbinerror2 -  :: (Ptr RawTH2F) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setBinError2"+               c_th2f_setbinerror2 ::+               Ptr RawTH2F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setBinError3" c_th2f_setbinerror3 -  :: (Ptr RawTH2F) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setBinError3"+               c_th2f_setbinerror3 ::+               Ptr RawTH2F -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setBins1" c_th2f_setbins1 -  :: (Ptr RawTH2F) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setBins1"+               c_th2f_setbins1 :: Ptr RawTH2F -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setBins2" c_th2f_setbins2 -  :: (Ptr RawTH2F) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setBins2"+               c_th2f_setbins2 ::+               Ptr RawTH2F ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setBins3" c_th2f_setbins3 -  :: (Ptr RawTH2F) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setBins3"+               c_th2f_setbins3 ::+               Ptr RawTH2F ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetBinsLength" c_th2f_setbinslength -  :: (Ptr RawTH2F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetBinsLength"+               c_th2f_setbinslength :: Ptr RawTH2F -> CInt -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetBuffer" c_th2f_setbuffer -  :: (Ptr RawTH2F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetBuffer"+               c_th2f_setbuffer :: Ptr RawTH2F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetCellContent" c_th2f_setcellcontent -  :: (Ptr RawTH2F) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetCellContent"+               c_th2f_setcellcontent ::+               Ptr RawTH2F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetContent" c_th2f_setcontent -  :: (Ptr RawTH2F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetContent"+               c_th2f_setcontent :: Ptr RawTH2F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetContour" c_th2f_setcontour -  :: (Ptr RawTH2F) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetContour"+               c_th2f_setcontour :: Ptr RawTH2F -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetContourLevel" c_th2f_setcontourlevel -  :: (Ptr RawTH2F) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetContourLevel"+               c_th2f_setcontourlevel :: Ptr RawTH2F -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetDirectory" c_th2f_setdirectory -  :: (Ptr RawTH2F) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetDirectory"+               c_th2f_setdirectory :: Ptr RawTH2F -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetEntries" c_th2f_setentries -  :: (Ptr RawTH2F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetEntries"+               c_th2f_setentries :: Ptr RawTH2F -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetError" c_th2f_seterror -  :: (Ptr RawTH2F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetError"+               c_th2f_seterror :: Ptr RawTH2F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setLabelColorA" c_th2f_setlabelcolora -  :: (Ptr RawTH2F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setLabelColorA"+               c_th2f_setlabelcolora :: Ptr RawTH2F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setLabelSizeA" c_th2f_setlabelsizea -  :: (Ptr RawTH2F) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setLabelSizeA"+               c_th2f_setlabelsizea :: Ptr RawTH2F -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setLabelFontA" c_th2f_setlabelfonta -  :: (Ptr RawTH2F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setLabelFontA"+               c_th2f_setlabelfonta :: Ptr RawTH2F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_setLabelOffsetA" c_th2f_setlabeloffseta -  :: (Ptr RawTH2F) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_setLabelOffsetA"+               c_th2f_setlabeloffseta ::+               Ptr RawTH2F -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetMaximum" c_th2f_setmaximum -  :: (Ptr RawTH2F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetMaximum"+               c_th2f_setmaximum :: Ptr RawTH2F -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetMinimum" c_th2f_setminimum -  :: (Ptr RawTH2F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetMinimum"+               c_th2f_setminimum :: Ptr RawTH2F -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetNormFactor" c_th2f_setnormfactor -  :: (Ptr RawTH2F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetNormFactor"+               c_th2f_setnormfactor :: Ptr RawTH2F -> CDouble -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetStats" c_th2f_setstats -  :: (Ptr RawTH2F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetStats"+               c_th2f_setstats :: Ptr RawTH2F -> CInt -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetOption" c_th2f_setoption -  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetOption"+               c_th2f_setoption :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetXTitle" c_th2f_setxtitle -  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetXTitle"+               c_th2f_setxtitle :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetYTitle" c_th2f_setytitle -  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetYTitle"+               c_th2f_setytitle :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetZTitle" c_th2f_setztitle -  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetZTitle"+               c_th2f_setztitle :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_ShowBackground" c_th2f_showbackground -  :: (Ptr RawTH2F) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH2F.h TH2F_ShowBackground"+               c_th2f_showbackground ::+               Ptr RawTH2F -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2F.h TH2F_ShowPeaks" c_th2f_showpeaks -  :: (Ptr RawTH2F) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_ShowPeaks"+               c_th2f_showpeaks ::+               Ptr RawTH2F -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_Smooth" c_th2f_smooth -  :: (Ptr RawTH2F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_Smooth"+               c_th2f_smooth :: Ptr RawTH2F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_Sumw2" c_th2f_sumw2 -  :: (Ptr RawTH2F) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_Sumw2" c_th2f_sumw2+               :: Ptr RawTH2F -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_Draw" c_th2f_draw -  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetName"+               c_th2f_setname :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_FindObject" c_th2f_findobject -  :: (Ptr RawTH2F) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetNameTitle"+               c_th2f_setnametitle :: Ptr RawTH2F -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_GetName" c_th2f_getname -  :: (Ptr RawTH2F) -> IO CString+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetTitle"+               c_th2f_settitle :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_IsA" c_th2f_isa -  :: (Ptr RawTH2F) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetLineColor"+               c_th2f_getlinecolor :: Ptr RawTH2F -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_Paint" c_th2f_paint -  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetLineStyle"+               c_th2f_getlinestyle :: Ptr RawTH2F -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_printObj" c_th2f_printobj -  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetLineWidth"+               c_th2f_getlinewidth :: Ptr RawTH2F -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_SaveAs" c_th2f_saveas -  :: (Ptr RawTH2F) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_ResetAttLine"+               c_th2f_resetattline :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_Write" c_th2f_write -  :: (Ptr RawTH2F) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetLineAttributes"+               c_th2f_setlineattributes :: Ptr RawTH2F -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_GetLineColor" c_th2f_getlinecolor -  :: (Ptr RawTH2F) -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetLineColor"+               c_th2f_setlinecolor :: Ptr RawTH2F -> CInt -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_GetLineStyle" c_th2f_getlinestyle -  :: (Ptr RawTH2F) -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetLineStyle"+               c_th2f_setlinestyle :: Ptr RawTH2F -> CInt -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_GetLineWidth" c_th2f_getlinewidth -  :: (Ptr RawTH2F) -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetLineWidth"+               c_th2f_setlinewidth :: Ptr RawTH2F -> CInt -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_ResetAttLine" c_th2f_resetattline -  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetFillColor"+               c_th2f_setfillcolor :: Ptr RawTH2F -> CInt -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetLineAttributes" c_th2f_setlineattributes -  :: (Ptr RawTH2F) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetFillStyle"+               c_th2f_setfillstyle :: Ptr RawTH2F -> CInt -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetLineColor" c_th2f_setlinecolor -  :: (Ptr RawTH2F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMarkerColor"+               c_th2f_getmarkercolor :: Ptr RawTH2F -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_SetLineStyle" c_th2f_setlinestyle -  :: (Ptr RawTH2F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMarkerStyle"+               c_th2f_getmarkerstyle :: Ptr RawTH2F -> IO CInt -foreign import ccall "HROOTHistTH2F.h TH2F_SetLineWidth" c_th2f_setlinewidth -  :: (Ptr RawTH2F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetMarkerSize"+               c_th2f_getmarkersize :: Ptr RawTH2F -> IO CDouble -foreign import ccall "HROOTHistTH2F.h TH2F_SetFillColor" c_th2f_setfillcolor -  :: (Ptr RawTH2F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_ResetAttMarker"+               c_th2f_resetattmarker :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetFillStyle" c_th2f_setfillstyle -  :: (Ptr RawTH2F) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH2F.h TH2F_SetMarkerAttributes"+               c_th2f_setmarkerattributes :: Ptr RawTH2F -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_GetMarkerColor" c_th2f_getmarkercolor -  :: (Ptr RawTH2F) -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetMarkerColor"+               c_th2f_setmarkercolor :: Ptr RawTH2F -> CInt -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_GetMarkerStyle" c_th2f_getmarkerstyle -  :: (Ptr RawTH2F) -> IO CInt+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetMarkerStyle"+               c_th2f_setmarkerstyle :: Ptr RawTH2F -> CInt -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_GetMarkerSize" c_th2f_getmarkersize -  :: (Ptr RawTH2F) -> IO CDouble+foreign import ccall safe "HROOTHistTH2F.h TH2F_SetMarkerSize"+               c_th2f_setmarkersize :: Ptr RawTH2F -> CInt -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_ResetAttMarker" c_th2f_resetattmarker -  :: (Ptr RawTH2F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_Draw" c_th2f_draw+               :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_SetMarkerAttributes" c_th2f_setmarkerattributes -  :: (Ptr RawTH2F) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_FindObject"+               c_th2f_findobject :: Ptr RawTH2F -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH2F.h TH2F_SetMarkerColor" c_th2f_setmarkercolor -  :: (Ptr RawTH2F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_GetName"+               c_th2f_getname :: Ptr RawTH2F -> IO CString -foreign import ccall "HROOTHistTH2F.h TH2F_SetMarkerStyle" c_th2f_setmarkerstyle -  :: (Ptr RawTH2F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_IsA" c_th2f_isa ::+               Ptr RawTH2F -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH2F.h TH2F_SetMarkerSize" c_th2f_setmarkersize -  :: (Ptr RawTH2F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_Paint" c_th2f_paint+               :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_delete" c_th2f_delete -  :: (Ptr RawTH2F) -> IO ()+foreign import ccall safe "HROOTHistTH2F.h TH2F_printObj"+               c_th2f_printobj :: Ptr RawTH2F -> CString -> IO () -foreign import ccall "HROOTHistTH2F.h TH2F_newTH2F" c_th2f_newth2f -  :: CString -> CString -> CInt -> CDouble -> CDouble -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH2F)+foreign import ccall safe "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 safe "HROOTHistTH2F.h TH2F_delete"+               c_th2f_delete :: Ptr RawTH2F -> IO ()++foreign import ccall safe "HROOTHistTH2F.h TH2F_newTH2F"+               c_th2f_newth2f ::+               CString ->+                 CString ->+                   CInt ->+                     CDouble ->+                       CDouble -> CInt -> CDouble -> CDouble -> IO (Ptr RawTH2F)
src/HROOT/Hist/TH2F/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2F.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH2F.RawType import HROOT.Hist.TH2F.FFI import HROOT.Hist.TH2F.Interface@@ -41,9 +42,9 @@ import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.Cast import HROOT.Hist.TH1.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -53,6 +54,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -60,394 +64,208 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH2F TH2F -instance ITH2F TH2F where instance ITH2 TH2F where-  fill2 = xform2 c_th2f_fill2-  fill2w = xform3 c_th2f_fill2w-  fillN2 = xform5 c_th2f_filln2-  fillRandom2 = xform2 c_th2f_fillrandom2-  findFirstBinAbove2 = xform2 c_th2f_findfirstbinabove2-  findLastBinAbove2 = xform2 c_th2f_findlastbinabove2-  fitSlicesX = xform6 c_th2f_fitslicesx-  fitSlicesY = xform6 c_th2f_fitslicesy-  getCorrelationFactor2 = xform2 c_th2f_getcorrelationfactor2-  getCovariance2 = xform2 c_th2f_getcovariance2-  integral2 = xform5 c_th2f_integral2-  rebinX2 = xform2 c_th2f_rebinx2-  rebinY2 = xform2 c_th2f_rebiny2-  rebin2D = xform3 c_th2f_rebin2d-  setShowProjectionX = xform1 c_th2f_setshowprojectionx-  setShowProjectionY = xform1 c_th2f_setshowprojectiony-instance ITArrayF 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-  drawNormalized = xform2 c_th2f_drawnormalized-  drawPanelTH1 = xform0 c_th2f_drawpanelth1-  bufferEmpty = xform1 c_th2f_bufferempty-  evalF = xform2 c_th2f_evalf-  fFT = xform2 c_th2f_fft-  fill1 = xform1 c_th2f_fill1-  fill1w = xform2 c_th2f_fill1w-  fillN1 = xform4 c_th2f_filln1-  fillRandom = xform2 c_th2f_fillrandom-  findBin = xform3 c_th2f_findbin-  findFixBin = xform3 c_th2f_findfixbin-  findFirstBinAbove = xform2 c_th2f_findfirstbinabove-  findLastBinAbove = xform2 c_th2f_findlastbinabove-  fitPanelTH1 = xform0 c_th2f_fitpanelth1-  getNdivisionA = xform1 c_th2f_getndivisiona-  getAxisColorA = xform1 c_th2f_getaxiscolora-  getLabelColorA = xform1 c_th2f_getlabelcolora-  getLabelFontA = xform1 c_th2f_getlabelfonta-  getLabelOffsetA = xform1 c_th2f_getlabeloffseta-  getLabelSizeA = xform1 c_th2f_getlabelsizea-  getTitleFontA = xform1 c_th2f_gettitlefonta-  getTitleOffsetA = xform1 c_th2f_gettitleoffseta-  getTitleSizeA = xform1 c_th2f_gettitlesizea-  getTickLengthA = xform1 c_th2f_getticklengtha-  getBarOffset = xform0 c_th2f_getbaroffset-  getBarWidth = xform0 c_th2f_getbarwidth-  getContour = xform1 c_th2f_getcontour-  getContourLevel = xform1 c_th2f_getcontourlevel-  getContourLevelPad = xform1 c_th2f_getcontourlevelpad-  getBin = xform3 c_th2f_getbin-  getBinCenter = xform1 c_th2f_getbincenter-  getBinContent1 = xform1 c_th2f_getbincontent1-  getBinContent2 = xform2 c_th2f_getbincontent2-  getBinContent3 = xform3 c_th2f_getbincontent3-  getBinError1 = xform1 c_th2f_getbinerror1-  getBinError2 = xform2 c_th2f_getbinerror2-  getBinError3 = xform3 c_th2f_getbinerror3-  getBinLowEdge = xform1 c_th2f_getbinlowedge-  getBinWidth = xform1 c_th2f_getbinwidth-  getCellContent = xform2 c_th2f_getcellcontent-  getCellError = xform2 c_th2f_getcellerror-  getEntries = xform0 c_th2f_getentries-  getEffectiveEntries = xform0 c_th2f_geteffectiveentries-  getFunction = xform1 c_th2f_getfunction-  getDimension = xform0 c_th2f_getdimension-  getKurtosis = xform1 c_th2f_getkurtosis-  getLowEdge = xform1 c_th2f_getlowedge-  getMaximumTH1 = xform1 c_th2f_getmaximumth1-  getMaximumBin = xform0 c_th2f_getmaximumbin-  getMaximumStored = xform0 c_th2f_getmaximumstored-  getMinimumTH1 = xform1 c_th2f_getminimumth1-  getMinimumBin = xform0 c_th2f_getminimumbin-  getMinimumStored = xform0 c_th2f_getminimumstored-  getMean = xform1 c_th2f_getmean-  getMeanError = xform1 c_th2f_getmeanerror-  getNbinsX = xform0 c_th2f_getnbinsx-  getNbinsY = xform0 c_th2f_getnbinsy-  getNbinsZ = xform0 c_th2f_getnbinsz-  getQuantilesTH1 = xform3 c_th2f_getquantilesth1-  getRandom = xform0 c_th2f_getrandom-  getStats = xform1 c_th2f_getstats-  getSumOfWeights = xform0 c_th2f_getsumofweights-  getSumw2 = xform0 c_th2f_getsumw2-  getSumw2N = xform0 c_th2f_getsumw2n-  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-  labelsInflate = xform1 c_th2f_labelsinflate-  labelsOption = xform2 c_th2f_labelsoption-  multiflyF = xform2 c_th2f_multiflyf-  multiply = xform5 c_th2f_multiply-  putStats = xform1 c_th2f_putstats-  rebin = xform3 c_th2f_rebin-  rebinAxis = xform2 c_th2f_rebinaxis-  rebuild = xform1 c_th2f_rebuild-  recursiveRemove = xform1 c_th2f_recursiveremove-  reset = xform1 c_th2f_reset-  resetStats = xform0 c_th2f_resetstats-  scale = xform2 c_th2f_scale-  setAxisColorA = xform2 c_th2f_setaxiscolora-  setAxisRange = xform3 c_th2f_setaxisrange-  setBarOffset = xform1 c_th2f_setbaroffset-  setBarWidth = xform1 c_th2f_setbarwidth-  setBinContent1 = xform2 c_th2f_setbincontent1-  setBinContent2 = xform3 c_th2f_setbincontent2-  setBinContent3 = xform4 c_th2f_setbincontent3-  setBinError1 = xform2 c_th2f_setbinerror1-  setBinError2 = xform3 c_th2f_setbinerror2-  setBinError3 = xform4 c_th2f_setbinerror3-  setBins1 = xform2 c_th2f_setbins1-  setBins2 = xform4 c_th2f_setbins2-  setBins3 = xform6 c_th2f_setbins3-  setBinsLength = xform1 c_th2f_setbinslength-  setBuffer = xform2 c_th2f_setbuffer-  setCellContent = xform3 c_th2f_setcellcontent-  setContent = xform1 c_th2f_setcontent-  setContour = xform2 c_th2f_setcontour-  setContourLevel = xform2 c_th2f_setcontourlevel-  setDirectory = xform1 c_th2f_setdirectory-  setEntries = xform1 c_th2f_setentries-  setError = xform1 c_th2f_seterror-  setLabelColorA = xform2 c_th2f_setlabelcolora-  setLabelSizeA = xform2 c_th2f_setlabelsizea-  setLabelFontA = xform2 c_th2f_setlabelfonta-  setLabelOffsetA = xform2 c_th2f_setlabeloffseta-  setMaximum = xform1 c_th2f_setmaximum-  setMinimum = xform1 c_th2f_setminimum-  setNormFactor = xform1 c_th2f_setnormfactor-  setStats = xform1 c_th2f_setstats-  setOption = xform1 c_th2f_setoption-  setXTitle = xform1 c_th2f_setxtitle-  setYTitle = xform1 c_th2f_setytitle-  setZTitle = xform1 c_th2f_setztitle-  showBackground = xform2 c_th2f_showbackground-  showPeaks = xform3 c_th2f_showpeaks-  smooth = xform2 c_th2f_smooth-  sumw2 = xform0 c_th2f_sumw2-instance ITObject TH2F where-  draw = xform1 c_th2f_draw-  findObject = xform1 c_th2f_findobject-  getName = xform0 c_th2f_getname-  isA = xform0 c_th2f_isa-  paint = xform1 c_th2f_paint-  printObj = xform1 c_th2f_printobj-  saveAs = xform2 c_th2f_saveas-  write = xform3 c_th2f_write-instance ITAttLine TH2F where-  getLineColor = xform0 c_th2f_getlinecolor-  getLineStyle = xform0 c_th2f_getlinestyle-  getLineWidth = xform0 c_th2f_getlinewidth-  resetAttLine = xform1 c_th2f_resetattline-  setLineAttributes = xform0 c_th2f_setlineattributes-  setLineColor = xform1 c_th2f_setlinecolor-  setLineStyle = xform1 c_th2f_setlinestyle-  setLineWidth = xform1 c_th2f_setlinewidth-instance ITAttFill TH2F where-  setFillColor = xform1 c_th2f_setfillcolor-  setFillStyle = xform1 c_th2f_setfillstyle-instance ITAttMarker TH2F where-  getMarkerColor = xform0 c_th2f_getmarkercolor-  getMarkerStyle = xform0 c_th2f_getmarkerstyle-  getMarkerSize = xform0 c_th2f_getmarkersize-  resetAttMarker = xform1 c_th2f_resetattmarker-  setMarkerAttributes = xform0 c_th2f_setmarkerattributes-  setMarkerColor = xform1 c_th2f_setmarkercolor-  setMarkerStyle = xform1 c_th2f_setmarkerstyle-  setMarkerSize = xform1 c_th2f_setmarkersize-instance IDeletable TH2F where-  delete = xform0 c_th2f_delete-instance ITArray TH2F where--instance ITH2F (Exist TH2F) where+        fill2 = xform2 c_th2f_fill2+        fill2w = xform3 c_th2f_fill2w+        fillN2 = xform5 c_th2f_filln2+        fillRandom2 = xform2 c_th2f_fillrandom2+        findFirstBinAbove2 = xform2 c_th2f_findfirstbinabove2+        findLastBinAbove2 = xform2 c_th2f_findlastbinabove2+        fitSlicesX = xform6 c_th2f_fitslicesx+        fitSlicesY = xform6 c_th2f_fitslicesy+        getCorrelationFactor2 = xform2 c_th2f_getcorrelationfactor2+        getCovariance2 = xform2 c_th2f_getcovariance2+        integral2 = xform5 c_th2f_integral2+        rebinX2 = xform2 c_th2f_rebinx2+        rebinY2 = xform2 c_th2f_rebiny2+        rebin2D = xform3 c_th2f_rebin2d+        setShowProjectionX = xform1 c_th2f_setshowprojectionx+        setShowProjectionY = xform1 c_th2f_setshowprojectiony -instance ITH2 (Exist TH2F) where-  fill2 (ETH2F x) = fill2 x-  fill2w (ETH2F x) = fill2w x-  fillN2 (ETH2F x) = fillN2 x-  fillRandom2 (ETH2F x) = fillRandom2 x-  findFirstBinAbove2 (ETH2F x) = findFirstBinAbove2 x-  findLastBinAbove2 (ETH2F x) = findLastBinAbove2 x-  fitSlicesX (ETH2F x) = fitSlicesX x-  fitSlicesY (ETH2F x) = fitSlicesY x-  getCorrelationFactor2 (ETH2F x) = getCorrelationFactor2 x-  getCovariance2 (ETH2F x) = getCovariance2 x-  integral2 (ETH2F x) = integral2 x-  rebinX2 (ETH2F x) = rebinX2 x-  rebinY2 (ETH2F x) = rebinY2 x-  rebin2D (ETH2F x) = rebin2D x-  setShowProjectionX (ETH2F x) = setShowProjectionX x-  setShowProjectionY (ETH2F x) = setShowProjectionY x-instance ITArrayF (Exist TH2F) where+instance ITArrayF TH2F -instance ITH1 (Exist TH2F) where-  add (ETH2F x) = add x-  addBinContent (ETH2F x) = addBinContent x-  chi2Test (ETH2F x) = chi2Test x-  computeIntegral (ETH2F x) = computeIntegral x-  directoryAutoAdd (ETH2F x) = directoryAutoAdd x-  divide (ETH2F x) = divide x-  drawCopyTH1 (ETH2F x) a1 = return . ETH2F =<< drawCopyTH1 x a1-  drawNormalized (ETH2F x) = drawNormalized x-  drawPanelTH1 (ETH2F x) = drawPanelTH1 x-  bufferEmpty (ETH2F x) = bufferEmpty x-  evalF (ETH2F x) = evalF x-  fFT (ETH2F x) = fFT x-  fill1 (ETH2F x) = fill1 x-  fill1w (ETH2F x) = fill1w x-  fillN1 (ETH2F x) = fillN1 x-  fillRandom (ETH2F x) = fillRandom x-  findBin (ETH2F x) = findBin x-  findFixBin (ETH2F x) = findFixBin x-  findFirstBinAbove (ETH2F x) = findFirstBinAbove x-  findLastBinAbove (ETH2F x) = findLastBinAbove x-  fitPanelTH1 (ETH2F x) = fitPanelTH1 x-  getNdivisionA (ETH2F x) = getNdivisionA x-  getAxisColorA (ETH2F x) = getAxisColorA x-  getLabelColorA (ETH2F x) = getLabelColorA x-  getLabelFontA (ETH2F x) = getLabelFontA x-  getLabelOffsetA (ETH2F x) = getLabelOffsetA x-  getLabelSizeA (ETH2F x) = getLabelSizeA x-  getTitleFontA (ETH2F x) = getTitleFontA x-  getTitleOffsetA (ETH2F x) = getTitleOffsetA x-  getTitleSizeA (ETH2F x) = getTitleSizeA x-  getTickLengthA (ETH2F x) = getTickLengthA x-  getBarOffset (ETH2F x) = getBarOffset x-  getBarWidth (ETH2F x) = getBarWidth x-  getContour (ETH2F x) = getContour x-  getContourLevel (ETH2F x) = getContourLevel x-  getContourLevelPad (ETH2F x) = getContourLevelPad x-  getBin (ETH2F x) = getBin x-  getBinCenter (ETH2F x) = getBinCenter x-  getBinContent1 (ETH2F x) = getBinContent1 x-  getBinContent2 (ETH2F x) = getBinContent2 x-  getBinContent3 (ETH2F x) = getBinContent3 x-  getBinError1 (ETH2F x) = getBinError1 x-  getBinError2 (ETH2F x) = getBinError2 x-  getBinError3 (ETH2F x) = getBinError3 x-  getBinLowEdge (ETH2F x) = getBinLowEdge x-  getBinWidth (ETH2F x) = getBinWidth x-  getCellContent (ETH2F x) = getCellContent x-  getCellError (ETH2F x) = getCellError x-  getEntries (ETH2F x) = getEntries x-  getEffectiveEntries (ETH2F x) = getEffectiveEntries x-  getFunction (ETH2F x) = getFunction x-  getDimension (ETH2F x) = getDimension x-  getKurtosis (ETH2F x) = getKurtosis x-  getLowEdge (ETH2F x) = getLowEdge x-  getMaximumTH1 (ETH2F x) = getMaximumTH1 x-  getMaximumBin (ETH2F x) = getMaximumBin x-  getMaximumStored (ETH2F x) = getMaximumStored x-  getMinimumTH1 (ETH2F x) = getMinimumTH1 x-  getMinimumBin (ETH2F x) = getMinimumBin x-  getMinimumStored (ETH2F x) = getMinimumStored x-  getMean (ETH2F x) = getMean x-  getMeanError (ETH2F x) = getMeanError x-  getNbinsX (ETH2F x) = getNbinsX x-  getNbinsY (ETH2F x) = getNbinsY x-  getNbinsZ (ETH2F x) = getNbinsZ x-  getQuantilesTH1 (ETH2F x) = getQuantilesTH1 x-  getRandom (ETH2F x) = getRandom x-  getStats (ETH2F x) = getStats x-  getSumOfWeights (ETH2F x) = getSumOfWeights x-  getSumw2 (ETH2F x) = getSumw2 x-  getSumw2N (ETH2F x) = getSumw2N x-  getRMS (ETH2F x) = getRMS x-  getRMSError (ETH2F x) = getRMSError x-  getSkewness (ETH2F x) = getSkewness x-  integral1 (ETH2F x) = integral1 x-  interpolate1 (ETH2F x) = interpolate1 x-  interpolate2 (ETH2F x) = interpolate2 x-  interpolate3 (ETH2F x) = interpolate3 x-  kolmogorovTest (ETH2F x) = kolmogorovTest x-  labelsDeflate (ETH2F x) = labelsDeflate x-  labelsInflate (ETH2F x) = labelsInflate x-  labelsOption (ETH2F x) = labelsOption x-  multiflyF (ETH2F x) = multiflyF x-  multiply (ETH2F x) = multiply x-  putStats (ETH2F x) = putStats x-  rebin (ETH2F x) = rebin x-  rebinAxis (ETH2F x) = rebinAxis x-  rebuild (ETH2F x) = rebuild x-  recursiveRemove (ETH2F x) = recursiveRemove x-  reset (ETH2F x) = reset x-  resetStats (ETH2F x) = resetStats x-  scale (ETH2F x) = scale x-  setAxisColorA (ETH2F x) = setAxisColorA x-  setAxisRange (ETH2F x) = setAxisRange x-  setBarOffset (ETH2F x) = setBarOffset x-  setBarWidth (ETH2F x) = setBarWidth x-  setBinContent1 (ETH2F x) = setBinContent1 x-  setBinContent2 (ETH2F x) = setBinContent2 x-  setBinContent3 (ETH2F x) = setBinContent3 x-  setBinError1 (ETH2F x) = setBinError1 x-  setBinError2 (ETH2F x) = setBinError2 x-  setBinError3 (ETH2F x) = setBinError3 x-  setBins1 (ETH2F x) = setBins1 x-  setBins2 (ETH2F x) = setBins2 x-  setBins3 (ETH2F x) = setBins3 x-  setBinsLength (ETH2F x) = setBinsLength x-  setBuffer (ETH2F x) = setBuffer x-  setCellContent (ETH2F x) = setCellContent x-  setContent (ETH2F x) = setContent x-  setContour (ETH2F x) = setContour x-  setContourLevel (ETH2F x) = setContourLevel x-  setDirectory (ETH2F x) = setDirectory x-  setEntries (ETH2F x) = setEntries x-  setError (ETH2F x) = setError x-  setLabelColorA (ETH2F x) = setLabelColorA x-  setLabelSizeA (ETH2F x) = setLabelSizeA x-  setLabelFontA (ETH2F x) = setLabelFontA x-  setLabelOffsetA (ETH2F x) = setLabelOffsetA x-  setMaximum (ETH2F x) = setMaximum x-  setMinimum (ETH2F x) = setMinimum x-  setNormFactor (ETH2F x) = setNormFactor x-  setStats (ETH2F x) = setStats x-  setOption (ETH2F x) = setOption x-  setXTitle (ETH2F x) = setXTitle x-  setYTitle (ETH2F x) = setYTitle x-  setZTitle (ETH2F x) = setZTitle x-  showBackground (ETH2F x) = showBackground x-  showPeaks (ETH2F x) = showPeaks x-  smooth (ETH2F x) = smooth x-  sumw2 (ETH2F x) = sumw2 x-instance ITObject (Exist TH2F) where-  draw (ETH2F x) = draw x-  findObject (ETH2F x) = findObject x-  getName (ETH2F x) = getName x-  isA (ETH2F x) = isA x-  paint (ETH2F x) = paint x-  printObj (ETH2F x) = printObj x-  saveAs (ETH2F x) = saveAs x-  write (ETH2F x) = write x-instance ITAttLine (Exist TH2F) where-  getLineColor (ETH2F x) = getLineColor x-  getLineStyle (ETH2F x) = getLineStyle x-  getLineWidth (ETH2F x) = getLineWidth x-  resetAttLine (ETH2F x) = resetAttLine x-  setLineAttributes (ETH2F x) = setLineAttributes x-  setLineColor (ETH2F x) = setLineColor x-  setLineStyle (ETH2F x) = setLineStyle x-  setLineWidth (ETH2F x) = setLineWidth x-instance ITAttFill (Exist TH2F) where-  setFillColor (ETH2F x) = setFillColor x-  setFillStyle (ETH2F x) = setFillStyle x-instance ITAttMarker (Exist TH2F) where-  getMarkerColor (ETH2F x) = getMarkerColor x-  getMarkerStyle (ETH2F x) = getMarkerStyle x-  getMarkerSize (ETH2F x) = getMarkerSize x-  resetAttMarker (ETH2F x) = resetAttMarker x-  setMarkerAttributes (ETH2F x) = setMarkerAttributes x-  setMarkerColor (ETH2F x) = setMarkerColor x-  setMarkerStyle (ETH2F x) = setMarkerStyle x-  setMarkerSize (ETH2F x) = setMarkerSize x-instance IDeletable (Exist TH2F) where-  delete (ETH2F x) = delete x-instance ITArray (Exist 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+        drawNormalized = xform2 c_th2f_drawnormalized+        drawPanelTH1 = xform0 c_th2f_drawpanelth1+        bufferEmpty = xform1 c_th2f_bufferempty+        evalF = xform2 c_th2f_evalf+        fFT = xform2 c_th2f_fft+        fill1 = xform1 c_th2f_fill1+        fill1w = xform2 c_th2f_fill1w+        fillN1 = xform4 c_th2f_filln1+        fillRandom = xform2 c_th2f_fillrandom+        findBin = xform3 c_th2f_findbin+        findFixBin = xform3 c_th2f_findfixbin+        findFirstBinAbove = xform2 c_th2f_findfirstbinabove+        findLastBinAbove = xform2 c_th2f_findlastbinabove+        fit = xform5 c_th2f_fit+        fitPanelTH1 = xform0 c_th2f_fitpanelth1+        getNdivisionA = xform1 c_th2f_getndivisiona+        getAxisColorA = xform1 c_th2f_getaxiscolora+        getLabelColorA = xform1 c_th2f_getlabelcolora+        getLabelFontA = xform1 c_th2f_getlabelfonta+        getLabelOffsetA = xform1 c_th2f_getlabeloffseta+        getLabelSizeA = xform1 c_th2f_getlabelsizea+        getTitleFontA = xform1 c_th2f_gettitlefonta+        getTitleOffsetA = xform1 c_th2f_gettitleoffseta+        getTitleSizeA = xform1 c_th2f_gettitlesizea+        getTickLengthA = xform1 c_th2f_getticklengtha+        getBarOffset = xform0 c_th2f_getbaroffset+        getBarWidth = xform0 c_th2f_getbarwidth+        getContour = xform1 c_th2f_getcontour+        getContourLevel = xform1 c_th2f_getcontourlevel+        getContourLevelPad = xform1 c_th2f_getcontourlevelpad+        getBin = xform3 c_th2f_getbin+        getBinCenter = xform1 c_th2f_getbincenter+        getBinContent1 = xform1 c_th2f_getbincontent1+        getBinContent2 = xform2 c_th2f_getbincontent2+        getBinContent3 = xform3 c_th2f_getbincontent3+        getBinError1 = xform1 c_th2f_getbinerror1+        getBinError2 = xform2 c_th2f_getbinerror2+        getBinError3 = xform3 c_th2f_getbinerror3+        getBinLowEdge = xform1 c_th2f_getbinlowedge+        getBinWidth = xform1 c_th2f_getbinwidth+        getCellContent = xform2 c_th2f_getcellcontent+        getCellError = xform2 c_th2f_getcellerror+        getEntries = xform0 c_th2f_getentries+        getEffectiveEntries = xform0 c_th2f_geteffectiveentries+        getFunction = xform1 c_th2f_getfunction+        getDimension = xform0 c_th2f_getdimension+        getKurtosis = xform1 c_th2f_getkurtosis+        getLowEdge = xform1 c_th2f_getlowedge+        getMaximumTH1 = xform1 c_th2f_getmaximumth1+        getMaximumBin = xform0 c_th2f_getmaximumbin+        getMaximumStored = xform0 c_th2f_getmaximumstored+        getMinimumTH1 = xform1 c_th2f_getminimumth1+        getMinimumBin = xform0 c_th2f_getminimumbin+        getMinimumStored = xform0 c_th2f_getminimumstored+        getMean = xform1 c_th2f_getmean+        getMeanError = xform1 c_th2f_getmeanerror+        getNbinsX = xform0 c_th2f_getnbinsx+        getNbinsY = xform0 c_th2f_getnbinsy+        getNbinsZ = xform0 c_th2f_getnbinsz+        getQuantilesTH1 = xform3 c_th2f_getquantilesth1+        getRandom = xform0 c_th2f_getrandom+        getStats = xform1 c_th2f_getstats+        getSumOfWeights = xform0 c_th2f_getsumofweights+        getSumw2 = xform0 c_th2f_getsumw2+        getSumw2N = xform0 c_th2f_getsumw2n+        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+        labelsInflate = xform1 c_th2f_labelsinflate+        labelsOption = xform2 c_th2f_labelsoption+        multiflyF = xform2 c_th2f_multiflyf+        multiply = xform5 c_th2f_multiply+        putStats = xform1 c_th2f_putstats+        rebin = xform3 c_th2f_rebin+        rebinAxis = xform2 c_th2f_rebinaxis+        rebuild = xform1 c_th2f_rebuild+        recursiveRemove = xform1 c_th2f_recursiveremove+        reset = xform1 c_th2f_reset+        resetStats = xform0 c_th2f_resetstats+        scale = xform2 c_th2f_scale+        setAxisColorA = xform2 c_th2f_setaxiscolora+        setAxisRange = xform3 c_th2f_setaxisrange+        setBarOffset = xform1 c_th2f_setbaroffset+        setBarWidth = xform1 c_th2f_setbarwidth+        setBinContent1 = xform2 c_th2f_setbincontent1+        setBinContent2 = xform3 c_th2f_setbincontent2+        setBinContent3 = xform4 c_th2f_setbincontent3+        setBinError1 = xform2 c_th2f_setbinerror1+        setBinError2 = xform3 c_th2f_setbinerror2+        setBinError3 = xform4 c_th2f_setbinerror3+        setBins1 = xform2 c_th2f_setbins1+        setBins2 = xform4 c_th2f_setbins2+        setBins3 = xform6 c_th2f_setbins3+        setBinsLength = xform1 c_th2f_setbinslength+        setBuffer = xform2 c_th2f_setbuffer+        setCellContent = xform3 c_th2f_setcellcontent+        setContent = xform1 c_th2f_setcontent+        setContour = xform2 c_th2f_setcontour+        setContourLevel = xform2 c_th2f_setcontourlevel+        setDirectory = xform1 c_th2f_setdirectory+        setEntries = xform1 c_th2f_setentries+        setError = xform1 c_th2f_seterror+        setLabelColorA = xform2 c_th2f_setlabelcolora+        setLabelSizeA = xform2 c_th2f_setlabelsizea+        setLabelFontA = xform2 c_th2f_setlabelfonta+        setLabelOffsetA = xform2 c_th2f_setlabeloffseta+        setMaximum = xform1 c_th2f_setmaximum+        setMinimum = xform1 c_th2f_setminimum+        setNormFactor = xform1 c_th2f_setnormfactor+        setStats = xform1 c_th2f_setstats+        setOption = xform1 c_th2f_setoption+        setXTitle = xform1 c_th2f_setxtitle+        setYTitle = xform1 c_th2f_setytitle+        setZTitle = xform1 c_th2f_setztitle+        showBackground = xform2 c_th2f_showbackground+        showPeaks = xform3 c_th2f_showpeaks+        smooth = xform2 c_th2f_smooth+        sumw2 = xform0 c_th2f_sumw2 +instance ITNamed TH2F where+        setName = xform1 c_th2f_setname+        setNameTitle = xform2 c_th2f_setnametitle+        setTitle = xform1 c_th2f_settitle +instance ITAttLine TH2F where+        getLineColor = xform0 c_th2f_getlinecolor+        getLineStyle = xform0 c_th2f_getlinestyle+        getLineWidth = xform0 c_th2f_getlinewidth+        resetAttLine = xform1 c_th2f_resetattline+        setLineAttributes = xform0 c_th2f_setlineattributes+        setLineColor = xform1 c_th2f_setlinecolor+        setLineStyle = xform1 c_th2f_setlinestyle+        setLineWidth = xform1 c_th2f_setlinewidth -newTH2F :: CString -> CString -> CInt -> CDouble -> CDouble -> CInt -> CDouble -> CDouble -> IO TH2F-newTH2F = xform7 c_th2f_newth2f+instance ITAttFill TH2F where+        setFillColor = xform1 c_th2f_setfillcolor+        setFillStyle = xform1 c_th2f_setfillstyle +instance ITAttMarker TH2F where+        getMarkerColor = xform0 c_th2f_getmarkercolor+        getMarkerStyle = xform0 c_th2f_getmarkerstyle+        getMarkerSize = xform0 c_th2f_getmarkersize+        resetAttMarker = xform1 c_th2f_resetattmarker+        setMarkerAttributes = xform0 c_th2f_setmarkerattributes+        setMarkerColor = xform1 c_th2f_setmarkercolor+        setMarkerStyle = xform1 c_th2f_setmarkerstyle+        setMarkerSize = xform1 c_th2f_setmarkersize +instance ITObject TH2F where+        draw = xform1 c_th2f_draw+        findObject = xform1 c_th2f_findobject+        getName = xform0 c_th2f_getname+        isA = xform0 c_th2f_isa+        paint = xform1 c_th2f_paint+        printObj = xform1 c_th2f_printobj+        saveAs = xform2 c_th2f_saveas+        write = xform3 c_th2f_write +instance IDeletable TH2F where+        delete = xform0 c_th2f_delete +instance ITArray TH2F -instance FPtr (Exist TH2F) where-  type Raw (Exist TH2F) = RawTH2F-  get_fptr (ETH2F obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH2F (cast_fptr_to_obj (fptr :: ForeignPtr RawTH2F) :: TH2F)+newTH2F ::+          (Castable c1 CString, Castable c0 CString) =>+          c0 ->+            c1 ->+              CInt -> CDouble -> CDouble -> CInt -> CDouble -> CDouble -> IO TH2F+newTH2F = xform7 c_th2f_newth2f
src/HROOT/Hist/TH2F/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2F.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH2F.RawType- import HROOT.Hist.TH2.Interface import HROOT.Core.TArrayF.Interface----- ============ ---- ---class (ITH2 a,ITArrayF a) => ITH2F a where--instance Existable TH2F where-  data Exist TH2F = forall a. (FPtr a, ITH2F a) => ETH2F a+class (ITH2 a, ITArrayF a) => ITH2F a -upcastTH2F :: (FPtr a, ITH2F a) => a -> TH2F-upcastTH2F h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH2F = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH2F :: forall a . (FPtr a, ITH2F a) => a -> TH2F+upcastTH2F h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH2F = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH2F :: (FPtr a, ITH2F a) => TH2F -> a -downcastTH2F h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH2F :: forall a . (FPtr a, ITH2F a) => TH2F -> a+downcastTH2F h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH2F/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH2F.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH2F -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH2F = TH2F (Ptr RawTH2F)+             deriving (Eq, Ord, Show) -data RawTH2F-newtype TH2F = TH2F (ForeignPtr RawTH2F) deriving (Eq, Ord, Show) instance FPtr TH2F where-   type Raw TH2F = RawTH2F-   get_fptr (TH2F fptr) = fptr-   cast_fptr_to_obj = TH2F+        type Raw TH2F = RawTH2F+        get_fptr (TH2F ptr) = ptr+        cast_fptr_to_obj = TH2F
src/HROOT/Hist/TH2I.hs view
@@ -1,15 +1,5 @@-module HROOT.Hist.TH2I-  (-    TH2I(..)-  , ITH2I-  , upcastTH2I-  , downcastTH2I-- -  ) where-+module HROOT.Hist.TH2I (TH2I(..), ITH2I, upcastTH2I, downcastTH2I)+       where import HROOT.Hist.TH2I.RawType import HROOT.Hist.TH2I.Interface import HROOT.Hist.TH2I.Implementation--
src/HROOT/Hist/TH2I/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH2I.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH2I.RawType import HROOT.Hist.TH2I.Interface  instance (ITH2I a, FPtr a) => Castable a (Ptr RawTH2I) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH2I (Ptr RawTH2I) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH2I.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH2I.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH2.RawType@@ -24,524 +14,589 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH2I.h"+foreign import ccall safe "HROOTHistTH2I.h TH2I_fill2" c_th2i_fill2+               :: Ptr RawTH2I -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_fill2" c_th2i_fill2 -  :: (Ptr RawTH2I) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_fill2w"+               c_th2i_fill2w ::+               Ptr RawTH2I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_fill2w" c_th2i_fill2w -  :: (Ptr RawTH2I) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_fillN2"+               c_th2i_filln2 ::+               Ptr RawTH2I ->+                 CInt ->+                   (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_fillN2" c_th2i_filln2 -  :: (Ptr RawTH2I) -> 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 "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 "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 "HROOTHistTH2I.h TH2I_findLastBinAbove2" c_th2i_findlastbinabove2 -  :: (Ptr RawTH2I) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_FitSlicesX"+               c_th2i_fitslicesx ::+               Ptr RawTH2I ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "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 ::+               Ptr RawTH2I ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_FitSlicesY" c_th2i_fitslicesy -  :: (Ptr RawTH2I) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall safe+               "HROOTHistTH2I.h TH2I_getCorrelationFactor2"+               c_th2i_getcorrelationfactor2 ::+               Ptr RawTH2I -> CInt -> CInt -> IO CDouble -foreign import ccall "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 "HROOTHistTH2I.h TH2I_getCovariance2" c_th2i_getcovariance2 -  :: (Ptr RawTH2I) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_integral2"+               c_th2i_integral2 ::+               Ptr RawTH2I ->+                 CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_integral2" c_th2i_integral2 -  :: (Ptr RawTH2I) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_rebinX2"+               c_th2i_rebinx2 :: Ptr RawTH2I -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "HROOTHistTH2I.h TH2I_rebinX2" c_th2i_rebinx2 -  :: (Ptr RawTH2I) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2I.h TH2I_rebinY2"+               c_th2i_rebiny2 :: Ptr RawTH2I -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "HROOTHistTH2I.h TH2I_rebinY2" c_th2i_rebiny2 -  :: (Ptr RawTH2I) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2I.h TH2I_Rebin2D"+               c_th2i_rebin2d ::+               Ptr RawTH2I -> CInt -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "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 "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 "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 "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 "HROOTHistTH2I.h TH2I_AddBinContent" c_th2i_addbincontent -  :: (Ptr RawTH2I) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_Chi2Test"+               c_th2i_chi2test ::+               Ptr RawTH2I -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH2I.h TH2I_ComputeIntegral" c_th2i_computeintegral -  :: (Ptr RawTH2I) -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_DirectoryAutoAdd"+               c_th2i_directoryautoadd ::+               Ptr RawTH2I -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_DirectoryAutoAdd" c_th2i_directoryautoadd -  :: (Ptr RawTH2I) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_Divide"+               c_th2i_divide ::+               Ptr RawTH2I ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH2I.h TH2I_drawCopyTH1" c_th2i_drawcopyth1 -  :: (Ptr RawTH2I) -> CString -> IO (Ptr RawTH2I)+foreign import ccall safe "HROOTHistTH2I.h TH2I_DrawNormalized"+               c_th2i_drawnormalized ::+               Ptr RawTH2I -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH2I.h TH2I_evalF" c_th2i_evalf -  :: (Ptr RawTH2I) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_FFT" c_th2i_fft ::+               Ptr RawTH2I -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH2I.h TH2I_fill1" c_th2i_fill1 -  :: (Ptr RawTH2I) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_fill1w"+               c_th2i_fill1w :: Ptr RawTH2I -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_fill1w" c_th2i_fill1w -  :: (Ptr RawTH2I) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_fillN1"+               c_th2i_filln1 ::+               Ptr RawTH2I ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_fillN1" c_th2i_filln1 -  :: (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 "HROOTHistTH2I.h TH2I_FillRandom" c_th2i_fillrandom -  :: (Ptr RawTH2I) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_FindBin"+               c_th2i_findbin ::+               Ptr RawTH2I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH2I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH2I.h TH2I_FindFirstBinAbove" c_th2i_findfirstbinabove -  :: (Ptr RawTH2I) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_FindLastBinAbove"+               c_th2i_findlastbinabove ::+               Ptr RawTH2I -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_FindLastBinAbove" c_th2i_findlastbinabove -  :: (Ptr RawTH2I) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_Fit" c_th2i_fit ::+               Ptr RawTH2I ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_FitPanelTH1" c_th2i_fitpanelth1 -  :: (Ptr RawTH2I) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_FitPanelTH1"+               c_th2i_fitpanelth1 :: Ptr RawTH2I -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_getNdivisionA" c_th2i_getndivisiona -  :: (Ptr RawTH2I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_getNdivisionA"+               c_th2i_getndivisiona :: Ptr RawTH2I -> CString -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_getAxisColorA" c_th2i_getaxiscolora -  :: (Ptr RawTH2I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_getAxisColorA"+               c_th2i_getaxiscolora :: Ptr RawTH2I -> CString -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_getLabelColorA" c_th2i_getlabelcolora -  :: (Ptr RawTH2I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_getLabelColorA"+               c_th2i_getlabelcolora :: Ptr RawTH2I -> CString -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_getLabelFontA" c_th2i_getlabelfonta -  :: (Ptr RawTH2I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_getLabelFontA"+               c_th2i_getlabelfonta :: Ptr RawTH2I -> CString -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_getLabelOffsetA" c_th2i_getlabeloffseta -  :: (Ptr RawTH2I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_getLabelOffsetA"+               c_th2i_getlabeloffseta :: Ptr RawTH2I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_getLabelSizeA" c_th2i_getlabelsizea -  :: (Ptr RawTH2I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_getLabelSizeA"+               c_th2i_getlabelsizea :: Ptr RawTH2I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_getTitleFontA" c_th2i_gettitlefonta -  :: (Ptr RawTH2I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_getTitleFontA"+               c_th2i_gettitlefonta :: Ptr RawTH2I -> CString -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_getTitleOffsetA" c_th2i_gettitleoffseta -  :: (Ptr RawTH2I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_getTitleOffsetA"+               c_th2i_gettitleoffseta :: Ptr RawTH2I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_getTitleSizeA" c_th2i_gettitlesizea -  :: (Ptr RawTH2I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_getTitleSizeA"+               c_th2i_gettitlesizea :: Ptr RawTH2I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_getTickLengthA" c_th2i_getticklengtha -  :: (Ptr RawTH2I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_getTickLengthA"+               c_th2i_getticklengtha :: Ptr RawTH2I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetBarOffset" c_th2i_getbaroffset -  :: (Ptr RawTH2I) -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBarOffset"+               c_th2i_getbaroffset :: Ptr RawTH2I -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetBarWidth" c_th2i_getbarwidth -  :: (Ptr RawTH2I) -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBarWidth"+               c_th2i_getbarwidth :: Ptr RawTH2I -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetContour" c_th2i_getcontour -  :: (Ptr RawTH2I) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetContour"+               c_th2i_getcontour :: Ptr RawTH2I -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_GetContourLevel" c_th2i_getcontourlevel -  :: (Ptr RawTH2I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetContourLevel"+               c_th2i_getcontourlevel :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetContourLevelPad" c_th2i_getcontourlevelpad -  :: (Ptr RawTH2I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetContourLevelPad"+               c_th2i_getcontourlevelpad :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetBin" c_th2i_getbin -  :: (Ptr RawTH2I) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBin"+               c_th2i_getbin :: Ptr RawTH2I -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_GetBinCenter" c_th2i_getbincenter -  :: (Ptr RawTH2I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinCenter"+               c_th2i_getbincenter :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetBinContent1" c_th2i_getbincontent1 -  :: (Ptr RawTH2I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinContent1"+               c_th2i_getbincontent1 :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetBinContent2" c_th2i_getbincontent2 -  :: (Ptr RawTH2I) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinContent2"+               c_th2i_getbincontent2 :: Ptr RawTH2I -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetBinContent3" c_th2i_getbincontent3 -  :: (Ptr RawTH2I) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinContent3"+               c_th2i_getbincontent3 ::+               Ptr RawTH2I -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetBinError1" c_th2i_getbinerror1 -  :: (Ptr RawTH2I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinError1"+               c_th2i_getbinerror1 :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetBinError2" c_th2i_getbinerror2 -  :: (Ptr RawTH2I) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinError2"+               c_th2i_getbinerror2 :: Ptr RawTH2I -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetBinError3" c_th2i_getbinerror3 -  :: (Ptr RawTH2I) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinError3"+               c_th2i_getbinerror3 ::+               Ptr RawTH2I -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetBinLowEdge" c_th2i_getbinlowedge -  :: (Ptr RawTH2I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinLowEdge"+               c_th2i_getbinlowedge :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetBinWidth" c_th2i_getbinwidth -  :: (Ptr RawTH2I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetBinWidth"+               c_th2i_getbinwidth :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetCellContent" c_th2i_getcellcontent -  :: (Ptr RawTH2I) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetCellContent"+               c_th2i_getcellcontent :: Ptr RawTH2I -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetCellError" c_th2i_getcellerror -  :: (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 "HROOTHistTH2I.h TH2I_GetEntries" c_th2i_getentries -  :: (Ptr RawTH2I) -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetEntries"+               c_th2i_getentries :: Ptr RawTH2I -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetEffectiveEntries" c_th2i_geteffectiveentries -  :: (Ptr RawTH2I) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2I.h TH2I_GetEffectiveEntries"+               c_th2i_geteffectiveentries :: Ptr RawTH2I -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetFunction" c_th2i_getfunction -  :: (Ptr RawTH2I) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetFunction"+               c_th2i_getfunction :: Ptr RawTH2I -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH2I.h TH2I_GetDimension" c_th2i_getdimension -  :: (Ptr RawTH2I) -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetDimension"+               c_th2i_getdimension :: Ptr RawTH2I -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_GetKurtosis" c_th2i_getkurtosis -  :: (Ptr RawTH2I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetKurtosis"+               c_th2i_getkurtosis :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetLowEdge" c_th2i_getlowedge -  :: (Ptr RawTH2I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetLowEdge"+               c_th2i_getlowedge :: Ptr RawTH2I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_getMaximumTH1" c_th2i_getmaximumth1 -  :: (Ptr RawTH2I) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_getMaximumTH1"+               c_th2i_getmaximumth1 :: Ptr RawTH2I -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetMaximumBin" c_th2i_getmaximumbin -  :: (Ptr RawTH2I) -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMaximumBin"+               c_th2i_getmaximumbin :: Ptr RawTH2I -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_GetMaximumStored" c_th2i_getmaximumstored -  :: (Ptr RawTH2I) -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMaximumStored"+               c_th2i_getmaximumstored :: Ptr RawTH2I -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_getMinimumTH1" c_th2i_getminimumth1 -  :: (Ptr RawTH2I) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_getMinimumTH1"+               c_th2i_getminimumth1 :: Ptr RawTH2I -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetMinimumBin" c_th2i_getminimumbin -  :: (Ptr RawTH2I) -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMinimumBin"+               c_th2i_getminimumbin :: Ptr RawTH2I -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_GetMinimumStored" c_th2i_getminimumstored -  :: (Ptr RawTH2I) -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMinimumStored"+               c_th2i_getminimumstored :: Ptr RawTH2I -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetMean" c_th2i_getmean -  :: (Ptr RawTH2I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMean"+               c_th2i_getmean :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetMeanError" c_th2i_getmeanerror -  :: (Ptr RawTH2I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMeanError"+               c_th2i_getmeanerror :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetNbinsX" c_th2i_getnbinsx -  :: (Ptr RawTH2I) -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetNbinsX"+               c_th2i_getnbinsx :: Ptr RawTH2I -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetNbinsY" c_th2i_getnbinsy -  :: (Ptr RawTH2I) -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetNbinsY"+               c_th2i_getnbinsy :: Ptr RawTH2I -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetNbinsZ" c_th2i_getnbinsz -  :: (Ptr RawTH2I) -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetNbinsZ"+               c_th2i_getnbinsz :: Ptr RawTH2I -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_getQuantilesTH1" c_th2i_getquantilesth1 -  :: (Ptr RawTH2I) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_getQuantilesTH1"+               c_th2i_getquantilesth1 ::+               Ptr RawTH2I -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_GetRandom" c_th2i_getrandom -  :: (Ptr RawTH2I) -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetRandom"+               c_th2i_getrandom :: Ptr RawTH2I -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetStats" c_th2i_getstats -  :: (Ptr RawTH2I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetStats"+               c_th2i_getstats :: Ptr RawTH2I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_GetSumOfWeights" c_th2i_getsumofweights -  :: (Ptr RawTH2I) -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetSumOfWeights"+               c_th2i_getsumofweights :: Ptr RawTH2I -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetSumw2" c_th2i_getsumw2 -  :: (Ptr RawTH2I) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetSumw2"+               c_th2i_getsumw2 :: Ptr RawTH2I -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH2I.h TH2I_GetSumw2N" c_th2i_getsumw2n -  :: (Ptr RawTH2I) -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetSumw2N"+               c_th2i_getsumw2n :: Ptr RawTH2I -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_GetRMS" c_th2i_getrms -  :: (Ptr RawTH2I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetRMS"+               c_th2i_getrms :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetRMSError" c_th2i_getrmserror -  :: (Ptr RawTH2I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetRMSError"+               c_th2i_getrmserror :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_GetSkewness" c_th2i_getskewness -  :: (Ptr RawTH2I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetSkewness"+               c_th2i_getskewness :: Ptr RawTH2I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_integral1" c_th2i_integral1 -  :: (Ptr RawTH2I) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_integral1"+               c_th2i_integral1 ::+               Ptr RawTH2I -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_interpolate1" c_th2i_interpolate1 -  :: (Ptr RawTH2I) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_interpolate1"+               c_th2i_interpolate1 :: Ptr RawTH2I -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_interpolate2" c_th2i_interpolate2 -  :: (Ptr RawTH2I) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_interpolate2"+               c_th2i_interpolate2 ::+               Ptr RawTH2I -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_interpolate3" c_th2i_interpolate3 -  :: (Ptr RawTH2I) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_interpolate3"+               c_th2i_interpolate3 ::+               Ptr RawTH2I -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_KolmogorovTest" c_th2i_kolmogorovtest -  :: (Ptr RawTH2I) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_KolmogorovTest"+               c_th2i_kolmogorovtest ::+               Ptr RawTH2I -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_LabelsDeflate" c_th2i_labelsdeflate -  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_LabelsDeflate"+               c_th2i_labelsdeflate :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_LabelsInflate" c_th2i_labelsinflate -  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_LabelsInflate"+               c_th2i_labelsinflate :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_LabelsOption" c_th2i_labelsoption -  :: (Ptr RawTH2I) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_LabelsOption"+               c_th2i_labelsoption :: Ptr RawTH2I -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_multiflyF" c_th2i_multiflyf -  :: (Ptr RawTH2I) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_multiflyF"+               c_th2i_multiflyf :: Ptr RawTH2I -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_Multiply" c_th2i_multiply -  :: (Ptr RawTH2I) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_Multiply"+               c_th2i_multiply ::+               Ptr RawTH2I ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_PutStats" c_th2i_putstats -  :: (Ptr RawTH2I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_PutStats"+               c_th2i_putstats :: Ptr RawTH2I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_Rebin" c_th2i_rebin -  :: (Ptr RawTH2I) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH2I.h TH2I_Rebin" c_th2i_rebin+               ::+               Ptr RawTH2I -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2I.h TH2I_RebinAxis" c_th2i_rebinaxis -  :: (Ptr RawTH2I) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_RebinAxis"+               c_th2i_rebinaxis :: Ptr RawTH2I -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_Rebuild" c_th2i_rebuild -  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_Rebuild"+               c_th2i_rebuild :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_RecursiveRemove" c_th2i_recursiveremove -  :: (Ptr RawTH2I) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_RecursiveRemove"+               c_th2i_recursiveremove :: Ptr RawTH2I -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_Reset" c_th2i_reset -  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_Reset" c_th2i_reset+               :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_ResetStats" c_th2i_resetstats -  :: (Ptr RawTH2I) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_ResetStats"+               c_th2i_resetstats :: Ptr RawTH2I -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_Scale" c_th2i_scale -  :: (Ptr RawTH2I) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_Scale" c_th2i_scale+               :: Ptr RawTH2I -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setAxisColorA" c_th2i_setaxiscolora -  :: (Ptr RawTH2I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setAxisColorA"+               c_th2i_setaxiscolora :: Ptr RawTH2I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetAxisRange" c_th2i_setaxisrange -  :: (Ptr RawTH2I) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetAxisRange"+               c_th2i_setaxisrange ::+               Ptr RawTH2I -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetBarOffset" c_th2i_setbaroffset -  :: (Ptr RawTH2I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetBarOffset"+               c_th2i_setbaroffset :: Ptr RawTH2I -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetBarWidth" c_th2i_setbarwidth -  :: (Ptr RawTH2I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetBarWidth"+               c_th2i_setbarwidth :: Ptr RawTH2I -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setBinContent1" c_th2i_setbincontent1 -  :: (Ptr RawTH2I) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setBinContent1"+               c_th2i_setbincontent1 :: Ptr RawTH2I -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setBinContent2" c_th2i_setbincontent2 -  :: (Ptr RawTH2I) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setBinContent2"+               c_th2i_setbincontent2 ::+               Ptr RawTH2I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setBinContent3" c_th2i_setbincontent3 -  :: (Ptr RawTH2I) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setBinContent3"+               c_th2i_setbincontent3 ::+               Ptr RawTH2I -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setBinError1" c_th2i_setbinerror1 -  :: (Ptr RawTH2I) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setBinError1"+               c_th2i_setbinerror1 :: Ptr RawTH2I -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setBinError2" c_th2i_setbinerror2 -  :: (Ptr RawTH2I) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setBinError2"+               c_th2i_setbinerror2 ::+               Ptr RawTH2I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setBinError3" c_th2i_setbinerror3 -  :: (Ptr RawTH2I) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setBinError3"+               c_th2i_setbinerror3 ::+               Ptr RawTH2I -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setBins1" c_th2i_setbins1 -  :: (Ptr RawTH2I) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setBins1"+               c_th2i_setbins1 :: Ptr RawTH2I -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setBins2" c_th2i_setbins2 -  :: (Ptr RawTH2I) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setBins2"+               c_th2i_setbins2 ::+               Ptr RawTH2I ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setBins3" c_th2i_setbins3 -  :: (Ptr RawTH2I) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setBins3"+               c_th2i_setbins3 ::+               Ptr RawTH2I ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetBinsLength" c_th2i_setbinslength -  :: (Ptr RawTH2I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetBinsLength"+               c_th2i_setbinslength :: Ptr RawTH2I -> CInt -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetBuffer" c_th2i_setbuffer -  :: (Ptr RawTH2I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetBuffer"+               c_th2i_setbuffer :: Ptr RawTH2I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetCellContent" c_th2i_setcellcontent -  :: (Ptr RawTH2I) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetCellContent"+               c_th2i_setcellcontent ::+               Ptr RawTH2I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetContent" c_th2i_setcontent -  :: (Ptr RawTH2I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetContent"+               c_th2i_setcontent :: Ptr RawTH2I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetContour" c_th2i_setcontour -  :: (Ptr RawTH2I) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetContour"+               c_th2i_setcontour :: Ptr RawTH2I -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetContourLevel" c_th2i_setcontourlevel -  :: (Ptr RawTH2I) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetContourLevel"+               c_th2i_setcontourlevel :: Ptr RawTH2I -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetDirectory" c_th2i_setdirectory -  :: (Ptr RawTH2I) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetDirectory"+               c_th2i_setdirectory :: Ptr RawTH2I -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetEntries" c_th2i_setentries -  :: (Ptr RawTH2I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetEntries"+               c_th2i_setentries :: Ptr RawTH2I -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetError" c_th2i_seterror -  :: (Ptr RawTH2I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetError"+               c_th2i_seterror :: Ptr RawTH2I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setLabelColorA" c_th2i_setlabelcolora -  :: (Ptr RawTH2I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setLabelColorA"+               c_th2i_setlabelcolora :: Ptr RawTH2I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setLabelSizeA" c_th2i_setlabelsizea -  :: (Ptr RawTH2I) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setLabelSizeA"+               c_th2i_setlabelsizea :: Ptr RawTH2I -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setLabelFontA" c_th2i_setlabelfonta -  :: (Ptr RawTH2I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setLabelFontA"+               c_th2i_setlabelfonta :: Ptr RawTH2I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_setLabelOffsetA" c_th2i_setlabeloffseta -  :: (Ptr RawTH2I) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_setLabelOffsetA"+               c_th2i_setlabeloffseta ::+               Ptr RawTH2I -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetMaximum" c_th2i_setmaximum -  :: (Ptr RawTH2I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetMaximum"+               c_th2i_setmaximum :: Ptr RawTH2I -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetMinimum" c_th2i_setminimum -  :: (Ptr RawTH2I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetMinimum"+               c_th2i_setminimum :: Ptr RawTH2I -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetNormFactor" c_th2i_setnormfactor -  :: (Ptr RawTH2I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetNormFactor"+               c_th2i_setnormfactor :: Ptr RawTH2I -> CDouble -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetStats" c_th2i_setstats -  :: (Ptr RawTH2I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetStats"+               c_th2i_setstats :: Ptr RawTH2I -> CInt -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetOption" c_th2i_setoption -  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetOption"+               c_th2i_setoption :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetXTitle" c_th2i_setxtitle -  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetXTitle"+               c_th2i_setxtitle :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetYTitle" c_th2i_setytitle -  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetYTitle"+               c_th2i_setytitle :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetZTitle" c_th2i_setztitle -  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetZTitle"+               c_th2i_setztitle :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_ShowBackground" c_th2i_showbackground -  :: (Ptr RawTH2I) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH2I.h TH2I_ShowBackground"+               c_th2i_showbackground ::+               Ptr RawTH2I -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2I.h TH2I_ShowPeaks" c_th2i_showpeaks -  :: (Ptr RawTH2I) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_ShowPeaks"+               c_th2i_showpeaks ::+               Ptr RawTH2I -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_Smooth" c_th2i_smooth -  :: (Ptr RawTH2I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_Smooth"+               c_th2i_smooth :: Ptr RawTH2I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_Sumw2" c_th2i_sumw2 -  :: (Ptr RawTH2I) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_Sumw2" c_th2i_sumw2+               :: Ptr RawTH2I -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_Draw" c_th2i_draw -  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetName"+               c_th2i_setname :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_FindObject" c_th2i_findobject -  :: (Ptr RawTH2I) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetNameTitle"+               c_th2i_setnametitle :: Ptr RawTH2I -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_GetName" c_th2i_getname -  :: (Ptr RawTH2I) -> IO CString+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetTitle"+               c_th2i_settitle :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_IsA" c_th2i_isa -  :: (Ptr RawTH2I) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetLineColor"+               c_th2i_getlinecolor :: Ptr RawTH2I -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_Paint" c_th2i_paint -  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetLineStyle"+               c_th2i_getlinestyle :: Ptr RawTH2I -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_printObj" c_th2i_printobj -  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetLineWidth"+               c_th2i_getlinewidth :: Ptr RawTH2I -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_SaveAs" c_th2i_saveas -  :: (Ptr RawTH2I) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_ResetAttLine"+               c_th2i_resetattline :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_Write" c_th2i_write -  :: (Ptr RawTH2I) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetLineAttributes"+               c_th2i_setlineattributes :: Ptr RawTH2I -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_GetLineColor" c_th2i_getlinecolor -  :: (Ptr RawTH2I) -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetLineColor"+               c_th2i_setlinecolor :: Ptr RawTH2I -> CInt -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_GetLineStyle" c_th2i_getlinestyle -  :: (Ptr RawTH2I) -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetLineStyle"+               c_th2i_setlinestyle :: Ptr RawTH2I -> CInt -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_GetLineWidth" c_th2i_getlinewidth -  :: (Ptr RawTH2I) -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetLineWidth"+               c_th2i_setlinewidth :: Ptr RawTH2I -> CInt -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_ResetAttLine" c_th2i_resetattline -  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetFillColor"+               c_th2i_setfillcolor :: Ptr RawTH2I -> CInt -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetLineAttributes" c_th2i_setlineattributes -  :: (Ptr RawTH2I) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetFillStyle"+               c_th2i_setfillstyle :: Ptr RawTH2I -> CInt -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetLineColor" c_th2i_setlinecolor -  :: (Ptr RawTH2I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMarkerColor"+               c_th2i_getmarkercolor :: Ptr RawTH2I -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_SetLineStyle" c_th2i_setlinestyle -  :: (Ptr RawTH2I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMarkerStyle"+               c_th2i_getmarkerstyle :: Ptr RawTH2I -> IO CInt -foreign import ccall "HROOTHistTH2I.h TH2I_SetLineWidth" c_th2i_setlinewidth -  :: (Ptr RawTH2I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetMarkerSize"+               c_th2i_getmarkersize :: Ptr RawTH2I -> IO CDouble -foreign import ccall "HROOTHistTH2I.h TH2I_SetFillColor" c_th2i_setfillcolor -  :: (Ptr RawTH2I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_ResetAttMarker"+               c_th2i_resetattmarker :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetFillStyle" c_th2i_setfillstyle -  :: (Ptr RawTH2I) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH2I.h TH2I_SetMarkerAttributes"+               c_th2i_setmarkerattributes :: Ptr RawTH2I -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_GetMarkerColor" c_th2i_getmarkercolor -  :: (Ptr RawTH2I) -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetMarkerColor"+               c_th2i_setmarkercolor :: Ptr RawTH2I -> CInt -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_GetMarkerStyle" c_th2i_getmarkerstyle -  :: (Ptr RawTH2I) -> IO CInt+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetMarkerStyle"+               c_th2i_setmarkerstyle :: Ptr RawTH2I -> CInt -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_GetMarkerSize" c_th2i_getmarkersize -  :: (Ptr RawTH2I) -> IO CDouble+foreign import ccall safe "HROOTHistTH2I.h TH2I_SetMarkerSize"+               c_th2i_setmarkersize :: Ptr RawTH2I -> CInt -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_ResetAttMarker" c_th2i_resetattmarker -  :: (Ptr RawTH2I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_Draw" c_th2i_draw+               :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_SetMarkerAttributes" c_th2i_setmarkerattributes -  :: (Ptr RawTH2I) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_FindObject"+               c_th2i_findobject :: Ptr RawTH2I -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH2I.h TH2I_SetMarkerColor" c_th2i_setmarkercolor -  :: (Ptr RawTH2I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_GetName"+               c_th2i_getname :: Ptr RawTH2I -> IO CString -foreign import ccall "HROOTHistTH2I.h TH2I_SetMarkerStyle" c_th2i_setmarkerstyle -  :: (Ptr RawTH2I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_IsA" c_th2i_isa ::+               Ptr RawTH2I -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH2I.h TH2I_SetMarkerSize" c_th2i_setmarkersize -  :: (Ptr RawTH2I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_Paint" c_th2i_paint+               :: Ptr RawTH2I -> CString -> IO () -foreign import ccall "HROOTHistTH2I.h TH2I_delete" c_th2i_delete -  :: (Ptr RawTH2I) -> IO ()+foreign import ccall safe "HROOTHistTH2I.h TH2I_printObj"+               c_th2i_printobj :: Ptr RawTH2I -> CString -> IO () +foreign import ccall safe "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 safe "HROOTHistTH2I.h TH2I_delete"+               c_th2i_delete :: Ptr RawTH2I -> IO ()
src/HROOT/Hist/TH2I/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2I.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH2I.RawType import HROOT.Hist.TH2I.FFI import HROOT.Hist.TH2I.Interface@@ -41,9 +42,9 @@ import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.Cast import HROOT.Hist.TH1.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -53,6 +54,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -60,392 +64,201 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH2I TH2I -instance ITH2I TH2I where instance ITH2 TH2I where-  fill2 = xform2 c_th2i_fill2-  fill2w = xform3 c_th2i_fill2w-  fillN2 = xform5 c_th2i_filln2-  fillRandom2 = xform2 c_th2i_fillrandom2-  findFirstBinAbove2 = xform2 c_th2i_findfirstbinabove2-  findLastBinAbove2 = xform2 c_th2i_findlastbinabove2-  fitSlicesX = xform6 c_th2i_fitslicesx-  fitSlicesY = xform6 c_th2i_fitslicesy-  getCorrelationFactor2 = xform2 c_th2i_getcorrelationfactor2-  getCovariance2 = xform2 c_th2i_getcovariance2-  integral2 = xform5 c_th2i_integral2-  rebinX2 = xform2 c_th2i_rebinx2-  rebinY2 = xform2 c_th2i_rebiny2-  rebin2D = xform3 c_th2i_rebin2d-  setShowProjectionX = xform1 c_th2i_setshowprojectionx-  setShowProjectionY = xform1 c_th2i_setshowprojectiony-instance ITArrayI 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-  drawNormalized = xform2 c_th2i_drawnormalized-  drawPanelTH1 = xform0 c_th2i_drawpanelth1-  bufferEmpty = xform1 c_th2i_bufferempty-  evalF = xform2 c_th2i_evalf-  fFT = xform2 c_th2i_fft-  fill1 = xform1 c_th2i_fill1-  fill1w = xform2 c_th2i_fill1w-  fillN1 = xform4 c_th2i_filln1-  fillRandom = xform2 c_th2i_fillrandom-  findBin = xform3 c_th2i_findbin-  findFixBin = xform3 c_th2i_findfixbin-  findFirstBinAbove = xform2 c_th2i_findfirstbinabove-  findLastBinAbove = xform2 c_th2i_findlastbinabove-  fitPanelTH1 = xform0 c_th2i_fitpanelth1-  getNdivisionA = xform1 c_th2i_getndivisiona-  getAxisColorA = xform1 c_th2i_getaxiscolora-  getLabelColorA = xform1 c_th2i_getlabelcolora-  getLabelFontA = xform1 c_th2i_getlabelfonta-  getLabelOffsetA = xform1 c_th2i_getlabeloffseta-  getLabelSizeA = xform1 c_th2i_getlabelsizea-  getTitleFontA = xform1 c_th2i_gettitlefonta-  getTitleOffsetA = xform1 c_th2i_gettitleoffseta-  getTitleSizeA = xform1 c_th2i_gettitlesizea-  getTickLengthA = xform1 c_th2i_getticklengtha-  getBarOffset = xform0 c_th2i_getbaroffset-  getBarWidth = xform0 c_th2i_getbarwidth-  getContour = xform1 c_th2i_getcontour-  getContourLevel = xform1 c_th2i_getcontourlevel-  getContourLevelPad = xform1 c_th2i_getcontourlevelpad-  getBin = xform3 c_th2i_getbin-  getBinCenter = xform1 c_th2i_getbincenter-  getBinContent1 = xform1 c_th2i_getbincontent1-  getBinContent2 = xform2 c_th2i_getbincontent2-  getBinContent3 = xform3 c_th2i_getbincontent3-  getBinError1 = xform1 c_th2i_getbinerror1-  getBinError2 = xform2 c_th2i_getbinerror2-  getBinError3 = xform3 c_th2i_getbinerror3-  getBinLowEdge = xform1 c_th2i_getbinlowedge-  getBinWidth = xform1 c_th2i_getbinwidth-  getCellContent = xform2 c_th2i_getcellcontent-  getCellError = xform2 c_th2i_getcellerror-  getEntries = xform0 c_th2i_getentries-  getEffectiveEntries = xform0 c_th2i_geteffectiveentries-  getFunction = xform1 c_th2i_getfunction-  getDimension = xform0 c_th2i_getdimension-  getKurtosis = xform1 c_th2i_getkurtosis-  getLowEdge = xform1 c_th2i_getlowedge-  getMaximumTH1 = xform1 c_th2i_getmaximumth1-  getMaximumBin = xform0 c_th2i_getmaximumbin-  getMaximumStored = xform0 c_th2i_getmaximumstored-  getMinimumTH1 = xform1 c_th2i_getminimumth1-  getMinimumBin = xform0 c_th2i_getminimumbin-  getMinimumStored = xform0 c_th2i_getminimumstored-  getMean = xform1 c_th2i_getmean-  getMeanError = xform1 c_th2i_getmeanerror-  getNbinsX = xform0 c_th2i_getnbinsx-  getNbinsY = xform0 c_th2i_getnbinsy-  getNbinsZ = xform0 c_th2i_getnbinsz-  getQuantilesTH1 = xform3 c_th2i_getquantilesth1-  getRandom = xform0 c_th2i_getrandom-  getStats = xform1 c_th2i_getstats-  getSumOfWeights = xform0 c_th2i_getsumofweights-  getSumw2 = xform0 c_th2i_getsumw2-  getSumw2N = xform0 c_th2i_getsumw2n-  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-  labelsInflate = xform1 c_th2i_labelsinflate-  labelsOption = xform2 c_th2i_labelsoption-  multiflyF = xform2 c_th2i_multiflyf-  multiply = xform5 c_th2i_multiply-  putStats = xform1 c_th2i_putstats-  rebin = xform3 c_th2i_rebin-  rebinAxis = xform2 c_th2i_rebinaxis-  rebuild = xform1 c_th2i_rebuild-  recursiveRemove = xform1 c_th2i_recursiveremove-  reset = xform1 c_th2i_reset-  resetStats = xform0 c_th2i_resetstats-  scale = xform2 c_th2i_scale-  setAxisColorA = xform2 c_th2i_setaxiscolora-  setAxisRange = xform3 c_th2i_setaxisrange-  setBarOffset = xform1 c_th2i_setbaroffset-  setBarWidth = xform1 c_th2i_setbarwidth-  setBinContent1 = xform2 c_th2i_setbincontent1-  setBinContent2 = xform3 c_th2i_setbincontent2-  setBinContent3 = xform4 c_th2i_setbincontent3-  setBinError1 = xform2 c_th2i_setbinerror1-  setBinError2 = xform3 c_th2i_setbinerror2-  setBinError3 = xform4 c_th2i_setbinerror3-  setBins1 = xform2 c_th2i_setbins1-  setBins2 = xform4 c_th2i_setbins2-  setBins3 = xform6 c_th2i_setbins3-  setBinsLength = xform1 c_th2i_setbinslength-  setBuffer = xform2 c_th2i_setbuffer-  setCellContent = xform3 c_th2i_setcellcontent-  setContent = xform1 c_th2i_setcontent-  setContour = xform2 c_th2i_setcontour-  setContourLevel = xform2 c_th2i_setcontourlevel-  setDirectory = xform1 c_th2i_setdirectory-  setEntries = xform1 c_th2i_setentries-  setError = xform1 c_th2i_seterror-  setLabelColorA = xform2 c_th2i_setlabelcolora-  setLabelSizeA = xform2 c_th2i_setlabelsizea-  setLabelFontA = xform2 c_th2i_setlabelfonta-  setLabelOffsetA = xform2 c_th2i_setlabeloffseta-  setMaximum = xform1 c_th2i_setmaximum-  setMinimum = xform1 c_th2i_setminimum-  setNormFactor = xform1 c_th2i_setnormfactor-  setStats = xform1 c_th2i_setstats-  setOption = xform1 c_th2i_setoption-  setXTitle = xform1 c_th2i_setxtitle-  setYTitle = xform1 c_th2i_setytitle-  setZTitle = xform1 c_th2i_setztitle-  showBackground = xform2 c_th2i_showbackground-  showPeaks = xform3 c_th2i_showpeaks-  smooth = xform2 c_th2i_smooth-  sumw2 = xform0 c_th2i_sumw2-instance ITObject TH2I where-  draw = xform1 c_th2i_draw-  findObject = xform1 c_th2i_findobject-  getName = xform0 c_th2i_getname-  isA = xform0 c_th2i_isa-  paint = xform1 c_th2i_paint-  printObj = xform1 c_th2i_printobj-  saveAs = xform2 c_th2i_saveas-  write = xform3 c_th2i_write-instance ITAttLine TH2I where-  getLineColor = xform0 c_th2i_getlinecolor-  getLineStyle = xform0 c_th2i_getlinestyle-  getLineWidth = xform0 c_th2i_getlinewidth-  resetAttLine = xform1 c_th2i_resetattline-  setLineAttributes = xform0 c_th2i_setlineattributes-  setLineColor = xform1 c_th2i_setlinecolor-  setLineStyle = xform1 c_th2i_setlinestyle-  setLineWidth = xform1 c_th2i_setlinewidth-instance ITAttFill TH2I where-  setFillColor = xform1 c_th2i_setfillcolor-  setFillStyle = xform1 c_th2i_setfillstyle-instance ITAttMarker TH2I where-  getMarkerColor = xform0 c_th2i_getmarkercolor-  getMarkerStyle = xform0 c_th2i_getmarkerstyle-  getMarkerSize = xform0 c_th2i_getmarkersize-  resetAttMarker = xform1 c_th2i_resetattmarker-  setMarkerAttributes = xform0 c_th2i_setmarkerattributes-  setMarkerColor = xform1 c_th2i_setmarkercolor-  setMarkerStyle = xform1 c_th2i_setmarkerstyle-  setMarkerSize = xform1 c_th2i_setmarkersize-instance IDeletable TH2I where-  delete = xform0 c_th2i_delete-instance ITArray TH2I where--instance ITH2I (Exist TH2I) where--instance ITH2 (Exist TH2I) where-  fill2 (ETH2I x) = fill2 x-  fill2w (ETH2I x) = fill2w x-  fillN2 (ETH2I x) = fillN2 x-  fillRandom2 (ETH2I x) = fillRandom2 x-  findFirstBinAbove2 (ETH2I x) = findFirstBinAbove2 x-  findLastBinAbove2 (ETH2I x) = findLastBinAbove2 x-  fitSlicesX (ETH2I x) = fitSlicesX x-  fitSlicesY (ETH2I x) = fitSlicesY x-  getCorrelationFactor2 (ETH2I x) = getCorrelationFactor2 x-  getCovariance2 (ETH2I x) = getCovariance2 x-  integral2 (ETH2I x) = integral2 x-  rebinX2 (ETH2I x) = rebinX2 x-  rebinY2 (ETH2I x) = rebinY2 x-  rebin2D (ETH2I x) = rebin2D x-  setShowProjectionX (ETH2I x) = setShowProjectionX x-  setShowProjectionY (ETH2I x) = setShowProjectionY x-instance ITArrayI (Exist TH2I) where+        fill2 = xform2 c_th2i_fill2+        fill2w = xform3 c_th2i_fill2w+        fillN2 = xform5 c_th2i_filln2+        fillRandom2 = xform2 c_th2i_fillrandom2+        findFirstBinAbove2 = xform2 c_th2i_findfirstbinabove2+        findLastBinAbove2 = xform2 c_th2i_findlastbinabove2+        fitSlicesX = xform6 c_th2i_fitslicesx+        fitSlicesY = xform6 c_th2i_fitslicesy+        getCorrelationFactor2 = xform2 c_th2i_getcorrelationfactor2+        getCovariance2 = xform2 c_th2i_getcovariance2+        integral2 = xform5 c_th2i_integral2+        rebinX2 = xform2 c_th2i_rebinx2+        rebinY2 = xform2 c_th2i_rebiny2+        rebin2D = xform3 c_th2i_rebin2d+        setShowProjectionX = xform1 c_th2i_setshowprojectionx+        setShowProjectionY = xform1 c_th2i_setshowprojectiony -instance ITH1 (Exist TH2I) where-  add (ETH2I x) = add x-  addBinContent (ETH2I x) = addBinContent x-  chi2Test (ETH2I x) = chi2Test x-  computeIntegral (ETH2I x) = computeIntegral x-  directoryAutoAdd (ETH2I x) = directoryAutoAdd x-  divide (ETH2I x) = divide x-  drawCopyTH1 (ETH2I x) a1 = return . ETH2I =<< drawCopyTH1 x a1-  drawNormalized (ETH2I x) = drawNormalized x-  drawPanelTH1 (ETH2I x) = drawPanelTH1 x-  bufferEmpty (ETH2I x) = bufferEmpty x-  evalF (ETH2I x) = evalF x-  fFT (ETH2I x) = fFT x-  fill1 (ETH2I x) = fill1 x-  fill1w (ETH2I x) = fill1w x-  fillN1 (ETH2I x) = fillN1 x-  fillRandom (ETH2I x) = fillRandom x-  findBin (ETH2I x) = findBin x-  findFixBin (ETH2I x) = findFixBin x-  findFirstBinAbove (ETH2I x) = findFirstBinAbove x-  findLastBinAbove (ETH2I x) = findLastBinAbove x-  fitPanelTH1 (ETH2I x) = fitPanelTH1 x-  getNdivisionA (ETH2I x) = getNdivisionA x-  getAxisColorA (ETH2I x) = getAxisColorA x-  getLabelColorA (ETH2I x) = getLabelColorA x-  getLabelFontA (ETH2I x) = getLabelFontA x-  getLabelOffsetA (ETH2I x) = getLabelOffsetA x-  getLabelSizeA (ETH2I x) = getLabelSizeA x-  getTitleFontA (ETH2I x) = getTitleFontA x-  getTitleOffsetA (ETH2I x) = getTitleOffsetA x-  getTitleSizeA (ETH2I x) = getTitleSizeA x-  getTickLengthA (ETH2I x) = getTickLengthA x-  getBarOffset (ETH2I x) = getBarOffset x-  getBarWidth (ETH2I x) = getBarWidth x-  getContour (ETH2I x) = getContour x-  getContourLevel (ETH2I x) = getContourLevel x-  getContourLevelPad (ETH2I x) = getContourLevelPad x-  getBin (ETH2I x) = getBin x-  getBinCenter (ETH2I x) = getBinCenter x-  getBinContent1 (ETH2I x) = getBinContent1 x-  getBinContent2 (ETH2I x) = getBinContent2 x-  getBinContent3 (ETH2I x) = getBinContent3 x-  getBinError1 (ETH2I x) = getBinError1 x-  getBinError2 (ETH2I x) = getBinError2 x-  getBinError3 (ETH2I x) = getBinError3 x-  getBinLowEdge (ETH2I x) = getBinLowEdge x-  getBinWidth (ETH2I x) = getBinWidth x-  getCellContent (ETH2I x) = getCellContent x-  getCellError (ETH2I x) = getCellError x-  getEntries (ETH2I x) = getEntries x-  getEffectiveEntries (ETH2I x) = getEffectiveEntries x-  getFunction (ETH2I x) = getFunction x-  getDimension (ETH2I x) = getDimension x-  getKurtosis (ETH2I x) = getKurtosis x-  getLowEdge (ETH2I x) = getLowEdge x-  getMaximumTH1 (ETH2I x) = getMaximumTH1 x-  getMaximumBin (ETH2I x) = getMaximumBin x-  getMaximumStored (ETH2I x) = getMaximumStored x-  getMinimumTH1 (ETH2I x) = getMinimumTH1 x-  getMinimumBin (ETH2I x) = getMinimumBin x-  getMinimumStored (ETH2I x) = getMinimumStored x-  getMean (ETH2I x) = getMean x-  getMeanError (ETH2I x) = getMeanError x-  getNbinsX (ETH2I x) = getNbinsX x-  getNbinsY (ETH2I x) = getNbinsY x-  getNbinsZ (ETH2I x) = getNbinsZ x-  getQuantilesTH1 (ETH2I x) = getQuantilesTH1 x-  getRandom (ETH2I x) = getRandom x-  getStats (ETH2I x) = getStats x-  getSumOfWeights (ETH2I x) = getSumOfWeights x-  getSumw2 (ETH2I x) = getSumw2 x-  getSumw2N (ETH2I x) = getSumw2N x-  getRMS (ETH2I x) = getRMS x-  getRMSError (ETH2I x) = getRMSError x-  getSkewness (ETH2I x) = getSkewness x-  integral1 (ETH2I x) = integral1 x-  interpolate1 (ETH2I x) = interpolate1 x-  interpolate2 (ETH2I x) = interpolate2 x-  interpolate3 (ETH2I x) = interpolate3 x-  kolmogorovTest (ETH2I x) = kolmogorovTest x-  labelsDeflate (ETH2I x) = labelsDeflate x-  labelsInflate (ETH2I x) = labelsInflate x-  labelsOption (ETH2I x) = labelsOption x-  multiflyF (ETH2I x) = multiflyF x-  multiply (ETH2I x) = multiply x-  putStats (ETH2I x) = putStats x-  rebin (ETH2I x) = rebin x-  rebinAxis (ETH2I x) = rebinAxis x-  rebuild (ETH2I x) = rebuild x-  recursiveRemove (ETH2I x) = recursiveRemove x-  reset (ETH2I x) = reset x-  resetStats (ETH2I x) = resetStats x-  scale (ETH2I x) = scale x-  setAxisColorA (ETH2I x) = setAxisColorA x-  setAxisRange (ETH2I x) = setAxisRange x-  setBarOffset (ETH2I x) = setBarOffset x-  setBarWidth (ETH2I x) = setBarWidth x-  setBinContent1 (ETH2I x) = setBinContent1 x-  setBinContent2 (ETH2I x) = setBinContent2 x-  setBinContent3 (ETH2I x) = setBinContent3 x-  setBinError1 (ETH2I x) = setBinError1 x-  setBinError2 (ETH2I x) = setBinError2 x-  setBinError3 (ETH2I x) = setBinError3 x-  setBins1 (ETH2I x) = setBins1 x-  setBins2 (ETH2I x) = setBins2 x-  setBins3 (ETH2I x) = setBins3 x-  setBinsLength (ETH2I x) = setBinsLength x-  setBuffer (ETH2I x) = setBuffer x-  setCellContent (ETH2I x) = setCellContent x-  setContent (ETH2I x) = setContent x-  setContour (ETH2I x) = setContour x-  setContourLevel (ETH2I x) = setContourLevel x-  setDirectory (ETH2I x) = setDirectory x-  setEntries (ETH2I x) = setEntries x-  setError (ETH2I x) = setError x-  setLabelColorA (ETH2I x) = setLabelColorA x-  setLabelSizeA (ETH2I x) = setLabelSizeA x-  setLabelFontA (ETH2I x) = setLabelFontA x-  setLabelOffsetA (ETH2I x) = setLabelOffsetA x-  setMaximum (ETH2I x) = setMaximum x-  setMinimum (ETH2I x) = setMinimum x-  setNormFactor (ETH2I x) = setNormFactor x-  setStats (ETH2I x) = setStats x-  setOption (ETH2I x) = setOption x-  setXTitle (ETH2I x) = setXTitle x-  setYTitle (ETH2I x) = setYTitle x-  setZTitle (ETH2I x) = setZTitle x-  showBackground (ETH2I x) = showBackground x-  showPeaks (ETH2I x) = showPeaks x-  smooth (ETH2I x) = smooth x-  sumw2 (ETH2I x) = sumw2 x-instance ITObject (Exist TH2I) where-  draw (ETH2I x) = draw x-  findObject (ETH2I x) = findObject x-  getName (ETH2I x) = getName x-  isA (ETH2I x) = isA x-  paint (ETH2I x) = paint x-  printObj (ETH2I x) = printObj x-  saveAs (ETH2I x) = saveAs x-  write (ETH2I x) = write x-instance ITAttLine (Exist TH2I) where-  getLineColor (ETH2I x) = getLineColor x-  getLineStyle (ETH2I x) = getLineStyle x-  getLineWidth (ETH2I x) = getLineWidth x-  resetAttLine (ETH2I x) = resetAttLine x-  setLineAttributes (ETH2I x) = setLineAttributes x-  setLineColor (ETH2I x) = setLineColor x-  setLineStyle (ETH2I x) = setLineStyle x-  setLineWidth (ETH2I x) = setLineWidth x-instance ITAttFill (Exist TH2I) where-  setFillColor (ETH2I x) = setFillColor x-  setFillStyle (ETH2I x) = setFillStyle x-instance ITAttMarker (Exist TH2I) where-  getMarkerColor (ETH2I x) = getMarkerColor x-  getMarkerStyle (ETH2I x) = getMarkerStyle x-  getMarkerSize (ETH2I x) = getMarkerSize x-  resetAttMarker (ETH2I x) = resetAttMarker x-  setMarkerAttributes (ETH2I x) = setMarkerAttributes x-  setMarkerColor (ETH2I x) = setMarkerColor x-  setMarkerStyle (ETH2I x) = setMarkerStyle x-  setMarkerSize (ETH2I x) = setMarkerSize x-instance IDeletable (Exist TH2I) where-  delete (ETH2I x) = delete x-instance ITArray (Exist TH2I) where+instance ITArrayI TH2I +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+        drawNormalized = xform2 c_th2i_drawnormalized+        drawPanelTH1 = xform0 c_th2i_drawpanelth1+        bufferEmpty = xform1 c_th2i_bufferempty+        evalF = xform2 c_th2i_evalf+        fFT = xform2 c_th2i_fft+        fill1 = xform1 c_th2i_fill1+        fill1w = xform2 c_th2i_fill1w+        fillN1 = xform4 c_th2i_filln1+        fillRandom = xform2 c_th2i_fillrandom+        findBin = xform3 c_th2i_findbin+        findFixBin = xform3 c_th2i_findfixbin+        findFirstBinAbove = xform2 c_th2i_findfirstbinabove+        findLastBinAbove = xform2 c_th2i_findlastbinabove+        fit = xform5 c_th2i_fit+        fitPanelTH1 = xform0 c_th2i_fitpanelth1+        getNdivisionA = xform1 c_th2i_getndivisiona+        getAxisColorA = xform1 c_th2i_getaxiscolora+        getLabelColorA = xform1 c_th2i_getlabelcolora+        getLabelFontA = xform1 c_th2i_getlabelfonta+        getLabelOffsetA = xform1 c_th2i_getlabeloffseta+        getLabelSizeA = xform1 c_th2i_getlabelsizea+        getTitleFontA = xform1 c_th2i_gettitlefonta+        getTitleOffsetA = xform1 c_th2i_gettitleoffseta+        getTitleSizeA = xform1 c_th2i_gettitlesizea+        getTickLengthA = xform1 c_th2i_getticklengtha+        getBarOffset = xform0 c_th2i_getbaroffset+        getBarWidth = xform0 c_th2i_getbarwidth+        getContour = xform1 c_th2i_getcontour+        getContourLevel = xform1 c_th2i_getcontourlevel+        getContourLevelPad = xform1 c_th2i_getcontourlevelpad+        getBin = xform3 c_th2i_getbin+        getBinCenter = xform1 c_th2i_getbincenter+        getBinContent1 = xform1 c_th2i_getbincontent1+        getBinContent2 = xform2 c_th2i_getbincontent2+        getBinContent3 = xform3 c_th2i_getbincontent3+        getBinError1 = xform1 c_th2i_getbinerror1+        getBinError2 = xform2 c_th2i_getbinerror2+        getBinError3 = xform3 c_th2i_getbinerror3+        getBinLowEdge = xform1 c_th2i_getbinlowedge+        getBinWidth = xform1 c_th2i_getbinwidth+        getCellContent = xform2 c_th2i_getcellcontent+        getCellError = xform2 c_th2i_getcellerror+        getEntries = xform0 c_th2i_getentries+        getEffectiveEntries = xform0 c_th2i_geteffectiveentries+        getFunction = xform1 c_th2i_getfunction+        getDimension = xform0 c_th2i_getdimension+        getKurtosis = xform1 c_th2i_getkurtosis+        getLowEdge = xform1 c_th2i_getlowedge+        getMaximumTH1 = xform1 c_th2i_getmaximumth1+        getMaximumBin = xform0 c_th2i_getmaximumbin+        getMaximumStored = xform0 c_th2i_getmaximumstored+        getMinimumTH1 = xform1 c_th2i_getminimumth1+        getMinimumBin = xform0 c_th2i_getminimumbin+        getMinimumStored = xform0 c_th2i_getminimumstored+        getMean = xform1 c_th2i_getmean+        getMeanError = xform1 c_th2i_getmeanerror+        getNbinsX = xform0 c_th2i_getnbinsx+        getNbinsY = xform0 c_th2i_getnbinsy+        getNbinsZ = xform0 c_th2i_getnbinsz+        getQuantilesTH1 = xform3 c_th2i_getquantilesth1+        getRandom = xform0 c_th2i_getrandom+        getStats = xform1 c_th2i_getstats+        getSumOfWeights = xform0 c_th2i_getsumofweights+        getSumw2 = xform0 c_th2i_getsumw2+        getSumw2N = xform0 c_th2i_getsumw2n+        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+        labelsInflate = xform1 c_th2i_labelsinflate+        labelsOption = xform2 c_th2i_labelsoption+        multiflyF = xform2 c_th2i_multiflyf+        multiply = xform5 c_th2i_multiply+        putStats = xform1 c_th2i_putstats+        rebin = xform3 c_th2i_rebin+        rebinAxis = xform2 c_th2i_rebinaxis+        rebuild = xform1 c_th2i_rebuild+        recursiveRemove = xform1 c_th2i_recursiveremove+        reset = xform1 c_th2i_reset+        resetStats = xform0 c_th2i_resetstats+        scale = xform2 c_th2i_scale+        setAxisColorA = xform2 c_th2i_setaxiscolora+        setAxisRange = xform3 c_th2i_setaxisrange+        setBarOffset = xform1 c_th2i_setbaroffset+        setBarWidth = xform1 c_th2i_setbarwidth+        setBinContent1 = xform2 c_th2i_setbincontent1+        setBinContent2 = xform3 c_th2i_setbincontent2+        setBinContent3 = xform4 c_th2i_setbincontent3+        setBinError1 = xform2 c_th2i_setbinerror1+        setBinError2 = xform3 c_th2i_setbinerror2+        setBinError3 = xform4 c_th2i_setbinerror3+        setBins1 = xform2 c_th2i_setbins1+        setBins2 = xform4 c_th2i_setbins2+        setBins3 = xform6 c_th2i_setbins3+        setBinsLength = xform1 c_th2i_setbinslength+        setBuffer = xform2 c_th2i_setbuffer+        setCellContent = xform3 c_th2i_setcellcontent+        setContent = xform1 c_th2i_setcontent+        setContour = xform2 c_th2i_setcontour+        setContourLevel = xform2 c_th2i_setcontourlevel+        setDirectory = xform1 c_th2i_setdirectory+        setEntries = xform1 c_th2i_setentries+        setError = xform1 c_th2i_seterror+        setLabelColorA = xform2 c_th2i_setlabelcolora+        setLabelSizeA = xform2 c_th2i_setlabelsizea+        setLabelFontA = xform2 c_th2i_setlabelfonta+        setLabelOffsetA = xform2 c_th2i_setlabeloffseta+        setMaximum = xform1 c_th2i_setmaximum+        setMinimum = xform1 c_th2i_setminimum+        setNormFactor = xform1 c_th2i_setnormfactor+        setStats = xform1 c_th2i_setstats+        setOption = xform1 c_th2i_setoption+        setXTitle = xform1 c_th2i_setxtitle+        setYTitle = xform1 c_th2i_setytitle+        setZTitle = xform1 c_th2i_setztitle+        showBackground = xform2 c_th2i_showbackground+        showPeaks = xform3 c_th2i_showpeaks+        smooth = xform2 c_th2i_smooth+        sumw2 = xform0 c_th2i_sumw2 +instance ITNamed TH2I where+        setName = xform1 c_th2i_setname+        setNameTitle = xform2 c_th2i_setnametitle+        setTitle = xform1 c_th2i_settitle +instance ITAttLine TH2I where+        getLineColor = xform0 c_th2i_getlinecolor+        getLineStyle = xform0 c_th2i_getlinestyle+        getLineWidth = xform0 c_th2i_getlinewidth+        resetAttLine = xform1 c_th2i_resetattline+        setLineAttributes = xform0 c_th2i_setlineattributes+        setLineColor = xform1 c_th2i_setlinecolor+        setLineStyle = xform1 c_th2i_setlinestyle+        setLineWidth = xform1 c_th2i_setlinewidth +instance ITAttFill TH2I where+        setFillColor = xform1 c_th2i_setfillcolor+        setFillStyle = xform1 c_th2i_setfillstyle +instance ITAttMarker TH2I where+        getMarkerColor = xform0 c_th2i_getmarkercolor+        getMarkerStyle = xform0 c_th2i_getmarkerstyle+        getMarkerSize = xform0 c_th2i_getmarkersize+        resetAttMarker = xform1 c_th2i_resetattmarker+        setMarkerAttributes = xform0 c_th2i_setmarkerattributes+        setMarkerColor = xform1 c_th2i_setmarkercolor+        setMarkerStyle = xform1 c_th2i_setmarkerstyle+        setMarkerSize = xform1 c_th2i_setmarkersize +instance ITObject TH2I where+        draw = xform1 c_th2i_draw+        findObject = xform1 c_th2i_findobject+        getName = xform0 c_th2i_getname+        isA = xform0 c_th2i_isa+        paint = xform1 c_th2i_paint+        printObj = xform1 c_th2i_printobj+        saveAs = xform2 c_th2i_saveas+        write = xform3 c_th2i_write +instance IDeletable TH2I where+        delete = xform0 c_th2i_delete -instance FPtr (Exist TH2I) where-  type Raw (Exist TH2I) = RawTH2I-  get_fptr (ETH2I obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH2I (cast_fptr_to_obj (fptr :: ForeignPtr RawTH2I) :: TH2I)+instance ITArray TH2I
src/HROOT/Hist/TH2I/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2I.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH2I.RawType- import HROOT.Hist.TH2.Interface import HROOT.Core.TArrayI.Interface----- ============ ---- ---class (ITH2 a,ITArrayI a) => ITH2I a where--instance Existable TH2I where-  data Exist TH2I = forall a. (FPtr a, ITH2I a) => ETH2I a+class (ITH2 a, ITArrayI a) => ITH2I a -upcastTH2I :: (FPtr a, ITH2I a) => a -> TH2I-upcastTH2I h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH2I = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH2I :: forall a . (FPtr a, ITH2I a) => a -> TH2I+upcastTH2I h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH2I = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH2I :: (FPtr a, ITH2I a) => TH2I -> a -downcastTH2I h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH2I :: forall a . (FPtr a, ITH2I a) => TH2I -> a+downcastTH2I h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH2I/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH2I.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH2I -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH2I = TH2I (Ptr RawTH2I)+             deriving (Eq, Ord, Show) -data RawTH2I-newtype TH2I = TH2I (ForeignPtr RawTH2I) deriving (Eq, Ord, Show) instance FPtr TH2I where-   type Raw TH2I = RawTH2I-   get_fptr (TH2I fptr) = fptr-   cast_fptr_to_obj = TH2I+        type Raw TH2I = RawTH2I+        get_fptr (TH2I ptr) = ptr+        cast_fptr_to_obj = TH2I
src/HROOT/Hist/TH2Poly.hs view
@@ -1,15 +1,5 @@ module HROOT.Hist.TH2Poly-  (-    TH2Poly(..)-  , ITH2Poly-  , upcastTH2Poly-  , downcastTH2Poly-- -  ) where-+       (TH2Poly(..), ITH2Poly, upcastTH2Poly, downcastTH2Poly) where import HROOT.Hist.TH2Poly.RawType import HROOT.Hist.TH2Poly.Interface import HROOT.Hist.TH2Poly.Implementation--
src/HROOT/Hist/TH2Poly/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH2Poly.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH2Poly.RawType import HROOT.Hist.TH2Poly.Interface  instance (ITH2Poly a, FPtr a) => Castable a (Ptr RawTH2Poly) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH2Poly (Ptr RawTH2Poly) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH2Poly.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH2Poly.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH2.RawType@@ -24,524 +14,683 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH2Poly.h"+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_fill2"+               c_th2poly_fill2 :: Ptr RawTH2Poly -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_fill2" c_th2poly_fill2 -  :: (Ptr RawTH2Poly) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_fill2w"+               c_th2poly_fill2w ::+               Ptr RawTH2Poly -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH2Poly ->+                 CInt ->+                   (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_fillN2" c_th2poly_filln2 -  :: (Ptr RawTH2Poly) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_fillRandom2"+               c_th2poly_fillrandom2 ::+               Ptr RawTH2Poly -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_fillRandom2" c_th2poly_fillrandom2 -  :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_findFirstBinAbove2"+               c_th2poly_findfirstbinabove2 ::+               Ptr RawTH2Poly -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_findFirstBinAbove2" c_th2poly_findfirstbinabove2 -  :: (Ptr RawTH2Poly) -> CDouble -> CInt -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_findLastBinAbove2"+               c_th2poly_findlastbinabove2 ::+               Ptr RawTH2Poly -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_findLastBinAbove2" c_th2poly_findlastbinabove2 -  :: (Ptr RawTH2Poly) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FitSlicesX"+               c_th2poly_fitslicesx ::+               Ptr RawTH2Poly ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "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 ::+               Ptr RawTH2Poly ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_FitSlicesY" c_th2poly_fitslicesy -  :: (Ptr RawTH2Poly) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getCorrelationFactor2"+               c_th2poly_getcorrelationfactor2 ::+               Ptr RawTH2Poly -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getCorrelationFactor2" c_th2poly_getcorrelationfactor2 -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getCovariance2"+               c_th2poly_getcovariance2 ::+               Ptr RawTH2Poly -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getCovariance2" c_th2poly_getcovariance2 -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_integral2"+               c_th2poly_integral2 ::+               Ptr RawTH2Poly ->+                 CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "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 ::+               Ptr RawTH2Poly -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "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 ::+               Ptr RawTH2Poly -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "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 ::+               Ptr RawTH2Poly -> CInt -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_Rebin2D" c_th2poly_rebin2d -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_SetShowProjectionX"+               c_th2poly_setshowprojectionx :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetShowProjectionX" c_th2poly_setshowprojectionx -  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_SetShowProjectionY"+               c_th2poly_setshowprojectiony :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetShowProjectionY" c_th2poly_setshowprojectiony -  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Add"+               c_th2poly_add :: Ptr RawTH2Poly -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_Add" c_th2poly_add -  :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_AddBinContent" c_th2poly_addbincontent+               :: Ptr RawTH2Poly -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_AddBinContent" c_th2poly_addbincontent -  :: (Ptr RawTH2Poly) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Chi2Test"+               c_th2poly_chi2test ::+               Ptr RawTH2Poly ->+                 Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_ComputeIntegral" c_th2poly_computeintegral -  :: (Ptr RawTH2Poly) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_DirectoryAutoAdd"+               c_th2poly_directoryautoadd ::+               Ptr RawTH2Poly -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_DirectoryAutoAdd" c_th2poly_directoryautoadd -  :: (Ptr RawTH2Poly) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Divide"+               c_th2poly_divide ::+               Ptr RawTH2Poly ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 ::+               Ptr RawTH2Poly -> CString -> IO (Ptr RawTH2Poly) -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_drawCopyTH1" c_th2poly_drawcopyth1 -  :: (Ptr RawTH2Poly) -> CString -> IO (Ptr RawTH2Poly)+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_DrawNormalized"+               c_th2poly_drawnormalized ::+               Ptr RawTH2Poly -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH2Poly.h TH2Poly_evalF" c_th2poly_evalf -  :: (Ptr RawTH2Poly) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FFT"+               c_th2poly_fft ::+               Ptr RawTH2Poly -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "HROOTHistTH2Poly.h TH2Poly_fill1w" c_th2poly_fill1w -  :: (Ptr RawTH2Poly) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_fillN1"+               c_th2poly_filln1 ::+               Ptr RawTH2Poly ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_fillN1" c_th2poly_filln1 -  :: (Ptr RawTH2Poly) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FillRandom"+               c_th2poly_fillrandom ::+               Ptr RawTH2Poly -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_FillRandom" c_th2poly_fillrandom -  :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FindBin"+               c_th2poly_findbin ::+               Ptr RawTH2Poly -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH2Poly -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_FindFixBin" c_th2poly_findfixbin -  :: (Ptr RawTH2Poly) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_FindFirstBinAbove"+               c_th2poly_findfirstbinabove ::+               Ptr RawTH2Poly -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_FindFirstBinAbove" c_th2poly_findfirstbinabove -  :: (Ptr RawTH2Poly) -> CDouble -> CInt -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_FindLastBinAbove"+               c_th2poly_findlastbinabove ::+               Ptr RawTH2Poly -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_FindLastBinAbove" c_th2poly_findlastbinabove -  :: (Ptr RawTH2Poly) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Fit"+               c_th2poly_fit ::+               Ptr RawTH2Poly ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_FitPanelTH1" c_th2poly_fitpanelth1 -  :: (Ptr RawTH2Poly) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FitPanelTH1"+               c_th2poly_fitpanelth1 :: Ptr RawTH2Poly -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getNdivisionA" c_th2poly_getndivisiona -  :: (Ptr RawTH2Poly) -> CString -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getNdivisionA" c_th2poly_getndivisiona+               :: Ptr RawTH2Poly -> CString -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getAxisColorA" c_th2poly_getaxiscolora -  :: (Ptr RawTH2Poly) -> CString -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getAxisColorA" c_th2poly_getaxiscolora+               :: Ptr RawTH2Poly -> CString -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getLabelColorA" c_th2poly_getlabelcolora -  :: (Ptr RawTH2Poly) -> CString -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getLabelColorA"+               c_th2poly_getlabelcolora :: Ptr RawTH2Poly -> CString -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getLabelFontA" c_th2poly_getlabelfonta -  :: (Ptr RawTH2Poly) -> CString -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getLabelFontA" c_th2poly_getlabelfonta+               :: Ptr RawTH2Poly -> CString -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getLabelOffsetA" c_th2poly_getlabeloffseta -  :: (Ptr RawTH2Poly) -> CString -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getLabelOffsetA"+               c_th2poly_getlabeloffseta ::+               Ptr RawTH2Poly -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getLabelSizeA" c_th2poly_getlabelsizea -  :: (Ptr RawTH2Poly) -> CString -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getLabelSizeA" c_th2poly_getlabelsizea+               :: Ptr RawTH2Poly -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getTitleFontA" c_th2poly_gettitlefonta -  :: (Ptr RawTH2Poly) -> CString -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getTitleFontA" c_th2poly_gettitlefonta+               :: Ptr RawTH2Poly -> CString -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getTitleOffsetA" c_th2poly_gettitleoffseta -  :: (Ptr RawTH2Poly) -> CString -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getTitleOffsetA"+               c_th2poly_gettitleoffseta ::+               Ptr RawTH2Poly -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getTitleSizeA" c_th2poly_gettitlesizea -  :: (Ptr RawTH2Poly) -> CString -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getTitleSizeA" c_th2poly_gettitlesizea+               :: Ptr RawTH2Poly -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getTickLengthA" c_th2poly_getticklengtha -  :: (Ptr RawTH2Poly) -> CString -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getTickLengthA"+               c_th2poly_getticklengtha :: Ptr RawTH2Poly -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetBarOffset" c_th2poly_getbaroffset -  :: (Ptr RawTH2Poly) -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBarOffset"+               c_th2poly_getbaroffset :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetBarWidth" c_th2poly_getbarwidth -  :: (Ptr RawTH2Poly) -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBarWidth"+               c_th2poly_getbarwidth :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetContour" c_th2poly_getcontour -  :: (Ptr RawTH2Poly) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetContour"+               c_th2poly_getcontour :: Ptr RawTH2Poly -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetContourLevel" c_th2poly_getcontourlevel -  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetContourLevel"+               c_th2poly_getcontourlevel :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetContourLevelPad" c_th2poly_getcontourlevelpad -  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetContourLevelPad"+               c_th2poly_getcontourlevelpad ::+               Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetBin" c_th2poly_getbin -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBin"+               c_th2poly_getbin ::+               Ptr RawTH2Poly -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetBinCenter" c_th2poly_getbincenter -  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBinCenter"+               c_th2poly_getbincenter :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetBinContent1" c_th2poly_getbincontent1 -  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetBinContent1"+               c_th2poly_getbincontent1 :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetBinContent2" c_th2poly_getbincontent2 -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetBinContent2"+               c_th2poly_getbincontent2 ::+               Ptr RawTH2Poly -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetBinContent3" c_th2poly_getbincontent3 -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetBinContent3"+               c_th2poly_getbincontent3 ::+               Ptr RawTH2Poly -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetBinError1" c_th2poly_getbinerror1 -  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBinError1"+               c_th2poly_getbinerror1 :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetBinError2" c_th2poly_getbinerror2 -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBinError2"+               c_th2poly_getbinerror2 ::+               Ptr RawTH2Poly -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetBinError3" c_th2poly_getbinerror3 -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBinError3"+               c_th2poly_getbinerror3 ::+               Ptr RawTH2Poly -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetBinLowEdge" c_th2poly_getbinlowedge -  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetBinLowEdge" c_th2poly_getbinlowedge+               :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetBinWidth" c_th2poly_getbinwidth -  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetBinWidth"+               c_th2poly_getbinwidth :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetCellContent" c_th2poly_getcellcontent -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetCellContent"+               c_th2poly_getcellcontent ::+               Ptr RawTH2Poly -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetCellError" c_th2poly_getcellerror -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetCellError"+               c_th2poly_getcellerror ::+               Ptr RawTH2Poly -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetEntries" c_th2poly_getentries -  :: (Ptr RawTH2Poly) -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetEntries"+               c_th2poly_getentries :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetEffectiveEntries" c_th2poly_geteffectiveentries -  :: (Ptr RawTH2Poly) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetEffectiveEntries"+               c_th2poly_geteffectiveentries :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetFunction" c_th2poly_getfunction -  :: (Ptr RawTH2Poly) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetFunction"+               c_th2poly_getfunction ::+               Ptr RawTH2Poly -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetDimension" c_th2poly_getdimension -  :: (Ptr RawTH2Poly) -> IO CInt+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetDimension"+               c_th2poly_getdimension :: Ptr RawTH2Poly -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetKurtosis" c_th2poly_getkurtosis -  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetKurtosis"+               c_th2poly_getkurtosis :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetLowEdge" c_th2poly_getlowedge -  :: (Ptr RawTH2Poly) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetLowEdge"+               c_th2poly_getlowedge :: Ptr RawTH2Poly -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getMaximumTH1" c_th2poly_getmaximumth1 -  :: (Ptr RawTH2Poly) -> CDouble -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getMaximumTH1" c_th2poly_getmaximumth1+               :: Ptr RawTH2Poly -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetMaximumBin" c_th2poly_getmaximumbin -  :: (Ptr RawTH2Poly) -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetMaximumBin" c_th2poly_getmaximumbin+               :: Ptr RawTH2Poly -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetMaximumStored" c_th2poly_getmaximumstored -  :: (Ptr RawTH2Poly) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetMaximumStored"+               c_th2poly_getmaximumstored :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getMinimumTH1" c_th2poly_getminimumth1 -  :: (Ptr RawTH2Poly) -> CDouble -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getMinimumTH1" c_th2poly_getminimumth1+               :: Ptr RawTH2Poly -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetMinimumBin" c_th2poly_getminimumbin -  :: (Ptr RawTH2Poly) -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetMinimumBin" c_th2poly_getminimumbin+               :: Ptr RawTH2Poly -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetMinimumStored" c_th2poly_getminimumstored -  :: (Ptr RawTH2Poly) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetMinimumStored"+               c_th2poly_getminimumstored :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetMean" c_th2poly_getmean -  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetMean"+               c_th2poly_getmean :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetMeanError" c_th2poly_getmeanerror -  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetMeanError"+               c_th2poly_getmeanerror :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetNbinsX" c_th2poly_getnbinsx -  :: (Ptr RawTH2Poly) -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetNbinsX"+               c_th2poly_getnbinsx :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetNbinsY" c_th2poly_getnbinsy -  :: (Ptr RawTH2Poly) -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetNbinsY"+               c_th2poly_getnbinsy :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetNbinsZ" c_th2poly_getnbinsz -  :: (Ptr RawTH2Poly) -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetNbinsZ"+               c_th2poly_getnbinsz :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_getQuantilesTH1" c_th2poly_getquantilesth1 -  :: (Ptr RawTH2Poly) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_getQuantilesTH1"+               c_th2poly_getquantilesth1 ::+               Ptr RawTH2Poly -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetRandom" c_th2poly_getrandom -  :: (Ptr RawTH2Poly) -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetRandom"+               c_th2poly_getrandom :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetStats" c_th2poly_getstats -  :: (Ptr RawTH2Poly) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetStats"+               c_th2poly_getstats :: Ptr RawTH2Poly -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetSumOfWeights" c_th2poly_getsumofweights -  :: (Ptr RawTH2Poly) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetSumOfWeights"+               c_th2poly_getsumofweights :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetSumw2" c_th2poly_getsumw2 -  :: (Ptr RawTH2Poly) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetSumw2"+               c_th2poly_getsumw2 :: Ptr RawTH2Poly -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetSumw2N" c_th2poly_getsumw2n -  :: (Ptr RawTH2Poly) -> IO CInt+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetSumw2N"+               c_th2poly_getsumw2n :: Ptr RawTH2Poly -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetRMS" c_th2poly_getrms -  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetRMS"+               c_th2poly_getrms :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetRMSError" c_th2poly_getrmserror -  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetRMSError"+               c_th2poly_getrmserror :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetSkewness" c_th2poly_getskewness -  :: (Ptr RawTH2Poly) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetSkewness"+               c_th2poly_getskewness :: Ptr RawTH2Poly -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_integral1" c_th2poly_integral1 -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_integral1"+               c_th2poly_integral1 ::+               Ptr RawTH2Poly -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_interpolate1" c_th2poly_interpolate1 -  :: (Ptr RawTH2Poly) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_interpolate1"+               c_th2poly_interpolate1 :: Ptr RawTH2Poly -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_interpolate2" c_th2poly_interpolate2 -  :: (Ptr RawTH2Poly) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_interpolate2"+               c_th2poly_interpolate2 ::+               Ptr RawTH2Poly -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_interpolate3" c_th2poly_interpolate3 -  :: (Ptr RawTH2Poly) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_interpolate3"+               c_th2poly_interpolate3 ::+               Ptr RawTH2Poly -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_KolmogorovTest" c_th2poly_kolmogorovtest -  :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_KolmogorovTest"+               c_th2poly_kolmogorovtest ::+               Ptr RawTH2Poly -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_LabelsDeflate" c_th2poly_labelsdeflate -  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_LabelsDeflate" c_th2poly_labelsdeflate+               :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_LabelsInflate" c_th2poly_labelsinflate -  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_LabelsInflate" c_th2poly_labelsinflate+               :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_LabelsOption" c_th2poly_labelsoption -  :: (Ptr RawTH2Poly) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_LabelsOption"+               c_th2poly_labelsoption ::+               Ptr RawTH2Poly -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_multiflyF" c_th2poly_multiflyf -  :: (Ptr RawTH2Poly) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_multiflyF"+               c_th2poly_multiflyf ::+               Ptr RawTH2Poly -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_Multiply" c_th2poly_multiply -  :: (Ptr RawTH2Poly) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Multiply"+               c_th2poly_multiply ::+               Ptr RawTH2Poly ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_PutStats" c_th2poly_putstats -  :: (Ptr RawTH2Poly) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_PutStats"+               c_th2poly_putstats :: Ptr RawTH2Poly -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_Rebin" c_th2poly_rebin -  :: (Ptr RawTH2Poly) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Rebin"+               c_th2poly_rebin ::+               Ptr RawTH2Poly ->+                 CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_RebinAxis" c_th2poly_rebinaxis -  :: (Ptr RawTH2Poly) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_RebinAxis"+               c_th2poly_rebinaxis ::+               Ptr RawTH2Poly -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_Rebuild" c_th2poly_rebuild -  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Rebuild"+               c_th2poly_rebuild :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_RecursiveRemove" c_th2poly_recursiveremove -  :: (Ptr RawTH2Poly) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_RecursiveRemove"+               c_th2poly_recursiveremove ::+               Ptr RawTH2Poly -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_Reset" c_th2poly_reset -  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Reset"+               c_th2poly_reset :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_ResetStats" c_th2poly_resetstats -  :: (Ptr RawTH2Poly) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_ResetStats"+               c_th2poly_resetstats :: Ptr RawTH2Poly -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_Scale" c_th2poly_scale -  :: (Ptr RawTH2Poly) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Scale"+               c_th2poly_scale :: Ptr RawTH2Poly -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setAxisColorA" c_th2poly_setaxiscolora -  :: (Ptr RawTH2Poly) -> CInt -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_setAxisColorA" c_th2poly_setaxiscolora+               :: Ptr RawTH2Poly -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetAxisRange" c_th2poly_setaxisrange -  :: (Ptr RawTH2Poly) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetAxisRange"+               c_th2poly_setaxisrange ::+               Ptr RawTH2Poly -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetBarOffset" c_th2poly_setbaroffset -  :: (Ptr RawTH2Poly) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetBarOffset"+               c_th2poly_setbaroffset :: Ptr RawTH2Poly -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetBarWidth" c_th2poly_setbarwidth -  :: (Ptr RawTH2Poly) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetBarWidth"+               c_th2poly_setbarwidth :: Ptr RawTH2Poly -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setBinContent1" c_th2poly_setbincontent1 -  :: (Ptr RawTH2Poly) -> CInt -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_setBinContent1"+               c_th2poly_setbincontent1 ::+               Ptr RawTH2Poly -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setBinContent2" c_th2poly_setbincontent2 -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_setBinContent2"+               c_th2poly_setbincontent2 ::+               Ptr RawTH2Poly -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setBinContent3" c_th2poly_setbincontent3 -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_setBinContent3"+               c_th2poly_setbincontent3 ::+               Ptr RawTH2Poly -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setBinError1" c_th2poly_setbinerror1 -  :: (Ptr RawTH2Poly) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_setBinError1"+               c_th2poly_setbinerror1 ::+               Ptr RawTH2Poly -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setBinError2" c_th2poly_setbinerror2 -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_setBinError2"+               c_th2poly_setbinerror2 ::+               Ptr RawTH2Poly -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setBinError3" c_th2poly_setbinerror3 -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_setBinError3"+               c_th2poly_setbinerror3 ::+               Ptr RawTH2Poly -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setBins1" c_th2poly_setbins1 -  :: (Ptr RawTH2Poly) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_setBins1"+               c_th2poly_setbins1 ::+               Ptr RawTH2Poly -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setBins2" c_th2poly_setbins2 -  :: (Ptr RawTH2Poly) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_setBins2"+               c_th2poly_setbins2 ::+               Ptr RawTH2Poly ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setBins3" c_th2poly_setbins3 -  :: (Ptr RawTH2Poly) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_setBins3"+               c_th2poly_setbins3 ::+               Ptr RawTH2Poly ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetBinsLength" c_th2poly_setbinslength -  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_SetBinsLength" c_th2poly_setbinslength+               :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetBuffer" c_th2poly_setbuffer -  :: (Ptr RawTH2Poly) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetBuffer"+               c_th2poly_setbuffer :: Ptr RawTH2Poly -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetCellContent" c_th2poly_setcellcontent -  :: (Ptr RawTH2Poly) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_SetCellContent"+               c_th2poly_setcellcontent ::+               Ptr RawTH2Poly -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetContent" c_th2poly_setcontent -  :: (Ptr RawTH2Poly) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetContent"+               c_th2poly_setcontent :: Ptr RawTH2Poly -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetContour" c_th2poly_setcontour -  :: (Ptr RawTH2Poly) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetContour"+               c_th2poly_setcontour ::+               Ptr RawTH2Poly -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetContourLevel" c_th2poly_setcontourlevel -  :: (Ptr RawTH2Poly) -> CInt -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_SetContourLevel"+               c_th2poly_setcontourlevel ::+               Ptr RawTH2Poly -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetDirectory" c_th2poly_setdirectory -  :: (Ptr RawTH2Poly) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetDirectory"+               c_th2poly_setdirectory ::+               Ptr RawTH2Poly -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetEntries" c_th2poly_setentries -  :: (Ptr RawTH2Poly) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetEntries"+               c_th2poly_setentries :: Ptr RawTH2Poly -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetError" c_th2poly_seterror -  :: (Ptr RawTH2Poly) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetError"+               c_th2poly_seterror :: Ptr RawTH2Poly -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setLabelColorA" c_th2poly_setlabelcolora -  :: (Ptr RawTH2Poly) -> CInt -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_setLabelColorA"+               c_th2poly_setlabelcolora ::+               Ptr RawTH2Poly -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setLabelSizeA" c_th2poly_setlabelsizea -  :: (Ptr RawTH2Poly) -> CDouble -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_setLabelSizeA" c_th2poly_setlabelsizea+               :: Ptr RawTH2Poly -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setLabelFontA" c_th2poly_setlabelfonta -  :: (Ptr RawTH2Poly) -> CInt -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_setLabelFontA" c_th2poly_setlabelfonta+               :: Ptr RawTH2Poly -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_setLabelOffsetA" c_th2poly_setlabeloffseta -  :: (Ptr RawTH2Poly) -> CDouble -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_setLabelOffsetA"+               c_th2poly_setlabeloffseta ::+               Ptr RawTH2Poly -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetMaximum" c_th2poly_setmaximum -  :: (Ptr RawTH2Poly) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetMaximum"+               c_th2poly_setmaximum :: Ptr RawTH2Poly -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetMinimum" c_th2poly_setminimum -  :: (Ptr RawTH2Poly) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetMinimum"+               c_th2poly_setminimum :: Ptr RawTH2Poly -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetNormFactor" c_th2poly_setnormfactor -  :: (Ptr RawTH2Poly) -> CDouble -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_SetNormFactor" c_th2poly_setnormfactor+               :: Ptr RawTH2Poly -> CDouble -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetStats" c_th2poly_setstats -  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetStats"+               c_th2poly_setstats :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetOption" c_th2poly_setoption -  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetOption"+               c_th2poly_setoption :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetXTitle" c_th2poly_setxtitle -  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetXTitle"+               c_th2poly_setxtitle :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetYTitle" c_th2poly_setytitle -  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetYTitle"+               c_th2poly_setytitle :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetZTitle" c_th2poly_setztitle -  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetZTitle"+               c_th2poly_setztitle :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_ShowBackground" c_th2poly_showbackground -  :: (Ptr RawTH2Poly) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_ShowBackground"+               c_th2poly_showbackground ::+               Ptr RawTH2Poly -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_ShowPeaks" c_th2poly_showpeaks -  :: (Ptr RawTH2Poly) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_ShowPeaks"+               c_th2poly_showpeaks ::+               Ptr RawTH2Poly -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_Smooth" c_th2poly_smooth -  :: (Ptr RawTH2Poly) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Smooth"+               c_th2poly_smooth :: Ptr RawTH2Poly -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_Sumw2" c_th2poly_sumw2 -  :: (Ptr RawTH2Poly) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Sumw2"+               c_th2poly_sumw2 :: Ptr RawTH2Poly -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_Draw" c_th2poly_draw -  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetName"+               c_th2poly_setname :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_FindObject" c_th2poly_findobject -  :: (Ptr RawTH2Poly) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetNameTitle"+               c_th2poly_setnametitle ::+               Ptr RawTH2Poly -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetName" c_th2poly_getname -  :: (Ptr RawTH2Poly) -> IO CString+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetTitle"+               c_th2poly_settitle :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_IsA" c_th2poly_isa -  :: (Ptr RawTH2Poly) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetLineColor"+               c_th2poly_getlinecolor :: Ptr RawTH2Poly -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_Paint" c_th2poly_paint -  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetLineStyle"+               c_th2poly_getlinestyle :: Ptr RawTH2Poly -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_printObj" c_th2poly_printobj -  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetLineWidth"+               c_th2poly_getlinewidth :: Ptr RawTH2Poly -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SaveAs" c_th2poly_saveas -  :: (Ptr RawTH2Poly) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_ResetAttLine"+               c_th2poly_resetattline :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_Write" c_th2poly_write -  :: (Ptr RawTH2Poly) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_SetLineAttributes"+               c_th2poly_setlineattributes :: Ptr RawTH2Poly -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetLineColor" c_th2poly_getlinecolor -  :: (Ptr RawTH2Poly) -> IO CInt+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetLineColor"+               c_th2poly_setlinecolor :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetLineStyle" c_th2poly_getlinestyle -  :: (Ptr RawTH2Poly) -> IO CInt+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetLineStyle"+               c_th2poly_setlinestyle :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetLineWidth" c_th2poly_getlinewidth -  :: (Ptr RawTH2Poly) -> IO CInt+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetLineWidth"+               c_th2poly_setlinewidth :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_ResetAttLine" c_th2poly_resetattline -  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetFillColor"+               c_th2poly_setfillcolor :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetLineAttributes" c_th2poly_setlineattributes -  :: (Ptr RawTH2Poly) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_SetFillStyle"+               c_th2poly_setfillstyle :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetLineColor" c_th2poly_setlinecolor -  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetMarkerColor"+               c_th2poly_getmarkercolor :: Ptr RawTH2Poly -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetLineStyle" c_th2poly_setlinestyle -  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetMarkerStyle"+               c_th2poly_getmarkerstyle :: Ptr RawTH2Poly -> IO CInt -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetLineWidth" c_th2poly_setlinewidth -  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_GetMarkerSize" c_th2poly_getmarkersize+               :: Ptr RawTH2Poly -> IO CDouble -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetFillColor" c_th2poly_setfillcolor -  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_ResetAttMarker"+               c_th2poly_resetattmarker :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetFillStyle" c_th2poly_setfillstyle -  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_SetMarkerAttributes"+               c_th2poly_setmarkerattributes :: Ptr RawTH2Poly -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetMarkerColor" c_th2poly_getmarkercolor -  :: (Ptr RawTH2Poly) -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_SetMarkerColor"+               c_th2poly_setmarkercolor :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetMarkerStyle" c_th2poly_getmarkerstyle -  :: (Ptr RawTH2Poly) -> IO CInt+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_SetMarkerStyle"+               c_th2poly_setmarkerstyle :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_GetMarkerSize" c_th2poly_getmarkersize -  :: (Ptr RawTH2Poly) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2Poly.h TH2Poly_SetMarkerSize" c_th2poly_setmarkersize+               :: Ptr RawTH2Poly -> CInt -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_ResetAttMarker" c_th2poly_resetattmarker -  :: (Ptr RawTH2Poly) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Draw"+               c_th2poly_draw :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetMarkerAttributes" c_th2poly_setmarkerattributes -  :: (Ptr RawTH2Poly) -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_FindObject"+               c_th2poly_findobject ::+               Ptr RawTH2Poly -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetMarkerColor" c_th2poly_setmarkercolor -  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_GetName"+               c_th2poly_getname :: Ptr RawTH2Poly -> IO CString -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetMarkerStyle" c_th2poly_setmarkerstyle -  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_IsA"+               c_th2poly_isa :: Ptr RawTH2Poly -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_SetMarkerSize" c_th2poly_setmarkersize -  :: (Ptr RawTH2Poly) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2Poly.h TH2Poly_Paint"+               c_th2poly_paint :: Ptr RawTH2Poly -> CString -> IO () -foreign import ccall "HROOTHistTH2Poly.h TH2Poly_delete" c_th2poly_delete -  :: (Ptr RawTH2Poly) -> IO ()+foreign import ccall safe "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 safe "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 ()
src/HROOT/Hist/TH2Poly/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2Poly.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH2Poly.RawType import HROOT.Hist.TH2Poly.FFI import HROOT.Hist.TH2Poly.Interface@@ -38,9 +39,9 @@ import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.Cast import HROOT.Hist.TH1.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -50,390 +51,204 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH2Poly TH2Poly -instance ITH2Poly TH2Poly where instance ITH2 TH2Poly where-  fill2 = xform2 c_th2poly_fill2-  fill2w = xform3 c_th2poly_fill2w-  fillN2 = xform5 c_th2poly_filln2-  fillRandom2 = xform2 c_th2poly_fillrandom2-  findFirstBinAbove2 = xform2 c_th2poly_findfirstbinabove2-  findLastBinAbove2 = xform2 c_th2poly_findlastbinabove2-  fitSlicesX = xform6 c_th2poly_fitslicesx-  fitSlicesY = xform6 c_th2poly_fitslicesy-  getCorrelationFactor2 = xform2 c_th2poly_getcorrelationfactor2-  getCovariance2 = xform2 c_th2poly_getcovariance2-  integral2 = xform5 c_th2poly_integral2-  rebinX2 = xform2 c_th2poly_rebinx2-  rebinY2 = xform2 c_th2poly_rebiny2-  rebin2D = xform3 c_th2poly_rebin2d-  setShowProjectionX = xform1 c_th2poly_setshowprojectionx-  setShowProjectionY = xform1 c_th2poly_setshowprojectiony-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-  drawNormalized = xform2 c_th2poly_drawnormalized-  drawPanelTH1 = xform0 c_th2poly_drawpanelth1-  bufferEmpty = xform1 c_th2poly_bufferempty-  evalF = xform2 c_th2poly_evalf-  fFT = xform2 c_th2poly_fft-  fill1 = xform1 c_th2poly_fill1-  fill1w = xform2 c_th2poly_fill1w-  fillN1 = xform4 c_th2poly_filln1-  fillRandom = xform2 c_th2poly_fillrandom-  findBin = xform3 c_th2poly_findbin-  findFixBin = xform3 c_th2poly_findfixbin-  findFirstBinAbove = xform2 c_th2poly_findfirstbinabove-  findLastBinAbove = xform2 c_th2poly_findlastbinabove-  fitPanelTH1 = xform0 c_th2poly_fitpanelth1-  getNdivisionA = xform1 c_th2poly_getndivisiona-  getAxisColorA = xform1 c_th2poly_getaxiscolora-  getLabelColorA = xform1 c_th2poly_getlabelcolora-  getLabelFontA = xform1 c_th2poly_getlabelfonta-  getLabelOffsetA = xform1 c_th2poly_getlabeloffseta-  getLabelSizeA = xform1 c_th2poly_getlabelsizea-  getTitleFontA = xform1 c_th2poly_gettitlefonta-  getTitleOffsetA = xform1 c_th2poly_gettitleoffseta-  getTitleSizeA = xform1 c_th2poly_gettitlesizea-  getTickLengthA = xform1 c_th2poly_getticklengtha-  getBarOffset = xform0 c_th2poly_getbaroffset-  getBarWidth = xform0 c_th2poly_getbarwidth-  getContour = xform1 c_th2poly_getcontour-  getContourLevel = xform1 c_th2poly_getcontourlevel-  getContourLevelPad = xform1 c_th2poly_getcontourlevelpad-  getBin = xform3 c_th2poly_getbin-  getBinCenter = xform1 c_th2poly_getbincenter-  getBinContent1 = xform1 c_th2poly_getbincontent1-  getBinContent2 = xform2 c_th2poly_getbincontent2-  getBinContent3 = xform3 c_th2poly_getbincontent3-  getBinError1 = xform1 c_th2poly_getbinerror1-  getBinError2 = xform2 c_th2poly_getbinerror2-  getBinError3 = xform3 c_th2poly_getbinerror3-  getBinLowEdge = xform1 c_th2poly_getbinlowedge-  getBinWidth = xform1 c_th2poly_getbinwidth-  getCellContent = xform2 c_th2poly_getcellcontent-  getCellError = xform2 c_th2poly_getcellerror-  getEntries = xform0 c_th2poly_getentries-  getEffectiveEntries = xform0 c_th2poly_geteffectiveentries-  getFunction = xform1 c_th2poly_getfunction-  getDimension = xform0 c_th2poly_getdimension-  getKurtosis = xform1 c_th2poly_getkurtosis-  getLowEdge = xform1 c_th2poly_getlowedge-  getMaximumTH1 = xform1 c_th2poly_getmaximumth1-  getMaximumBin = xform0 c_th2poly_getmaximumbin-  getMaximumStored = xform0 c_th2poly_getmaximumstored-  getMinimumTH1 = xform1 c_th2poly_getminimumth1-  getMinimumBin = xform0 c_th2poly_getminimumbin-  getMinimumStored = xform0 c_th2poly_getminimumstored-  getMean = xform1 c_th2poly_getmean-  getMeanError = xform1 c_th2poly_getmeanerror-  getNbinsX = xform0 c_th2poly_getnbinsx-  getNbinsY = xform0 c_th2poly_getnbinsy-  getNbinsZ = xform0 c_th2poly_getnbinsz-  getQuantilesTH1 = xform3 c_th2poly_getquantilesth1-  getRandom = xform0 c_th2poly_getrandom-  getStats = xform1 c_th2poly_getstats-  getSumOfWeights = xform0 c_th2poly_getsumofweights-  getSumw2 = xform0 c_th2poly_getsumw2-  getSumw2N = xform0 c_th2poly_getsumw2n-  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-  labelsInflate = xform1 c_th2poly_labelsinflate-  labelsOption = xform2 c_th2poly_labelsoption-  multiflyF = xform2 c_th2poly_multiflyf-  multiply = xform5 c_th2poly_multiply-  putStats = xform1 c_th2poly_putstats-  rebin = xform3 c_th2poly_rebin-  rebinAxis = xform2 c_th2poly_rebinaxis-  rebuild = xform1 c_th2poly_rebuild-  recursiveRemove = xform1 c_th2poly_recursiveremove-  reset = xform1 c_th2poly_reset-  resetStats = xform0 c_th2poly_resetstats-  scale = xform2 c_th2poly_scale-  setAxisColorA = xform2 c_th2poly_setaxiscolora-  setAxisRange = xform3 c_th2poly_setaxisrange-  setBarOffset = xform1 c_th2poly_setbaroffset-  setBarWidth = xform1 c_th2poly_setbarwidth-  setBinContent1 = xform2 c_th2poly_setbincontent1-  setBinContent2 = xform3 c_th2poly_setbincontent2-  setBinContent3 = xform4 c_th2poly_setbincontent3-  setBinError1 = xform2 c_th2poly_setbinerror1-  setBinError2 = xform3 c_th2poly_setbinerror2-  setBinError3 = xform4 c_th2poly_setbinerror3-  setBins1 = xform2 c_th2poly_setbins1-  setBins2 = xform4 c_th2poly_setbins2-  setBins3 = xform6 c_th2poly_setbins3-  setBinsLength = xform1 c_th2poly_setbinslength-  setBuffer = xform2 c_th2poly_setbuffer-  setCellContent = xform3 c_th2poly_setcellcontent-  setContent = xform1 c_th2poly_setcontent-  setContour = xform2 c_th2poly_setcontour-  setContourLevel = xform2 c_th2poly_setcontourlevel-  setDirectory = xform1 c_th2poly_setdirectory-  setEntries = xform1 c_th2poly_setentries-  setError = xform1 c_th2poly_seterror-  setLabelColorA = xform2 c_th2poly_setlabelcolora-  setLabelSizeA = xform2 c_th2poly_setlabelsizea-  setLabelFontA = xform2 c_th2poly_setlabelfonta-  setLabelOffsetA = xform2 c_th2poly_setlabeloffseta-  setMaximum = xform1 c_th2poly_setmaximum-  setMinimum = xform1 c_th2poly_setminimum-  setNormFactor = xform1 c_th2poly_setnormfactor-  setStats = xform1 c_th2poly_setstats-  setOption = xform1 c_th2poly_setoption-  setXTitle = xform1 c_th2poly_setxtitle-  setYTitle = xform1 c_th2poly_setytitle-  setZTitle = xform1 c_th2poly_setztitle-  showBackground = xform2 c_th2poly_showbackground-  showPeaks = xform3 c_th2poly_showpeaks-  smooth = xform2 c_th2poly_smooth-  sumw2 = xform0 c_th2poly_sumw2-instance ITObject TH2Poly where-  draw = xform1 c_th2poly_draw-  findObject = xform1 c_th2poly_findobject-  getName = xform0 c_th2poly_getname-  isA = xform0 c_th2poly_isa-  paint = xform1 c_th2poly_paint-  printObj = xform1 c_th2poly_printobj-  saveAs = xform2 c_th2poly_saveas-  write = xform3 c_th2poly_write-instance ITAttLine TH2Poly where-  getLineColor = xform0 c_th2poly_getlinecolor-  getLineStyle = xform0 c_th2poly_getlinestyle-  getLineWidth = xform0 c_th2poly_getlinewidth-  resetAttLine = xform1 c_th2poly_resetattline-  setLineAttributes = xform0 c_th2poly_setlineattributes-  setLineColor = xform1 c_th2poly_setlinecolor-  setLineStyle = xform1 c_th2poly_setlinestyle-  setLineWidth = xform1 c_th2poly_setlinewidth-instance ITAttFill TH2Poly where-  setFillColor = xform1 c_th2poly_setfillcolor-  setFillStyle = xform1 c_th2poly_setfillstyle-instance ITAttMarker TH2Poly where-  getMarkerColor = xform0 c_th2poly_getmarkercolor-  getMarkerStyle = xform0 c_th2poly_getmarkerstyle-  getMarkerSize = xform0 c_th2poly_getmarkersize-  resetAttMarker = xform1 c_th2poly_resetattmarker-  setMarkerAttributes = xform0 c_th2poly_setmarkerattributes-  setMarkerColor = xform1 c_th2poly_setmarkercolor-  setMarkerStyle = xform1 c_th2poly_setmarkerstyle-  setMarkerSize = xform1 c_th2poly_setmarkersize-instance IDeletable TH2Poly where-  delete = xform0 c_th2poly_delete--instance ITH2Poly (Exist TH2Poly) where--instance ITH2 (Exist TH2Poly) where-  fill2 (ETH2Poly x) = fill2 x-  fill2w (ETH2Poly x) = fill2w x-  fillN2 (ETH2Poly x) = fillN2 x-  fillRandom2 (ETH2Poly x) = fillRandom2 x-  findFirstBinAbove2 (ETH2Poly x) = findFirstBinAbove2 x-  findLastBinAbove2 (ETH2Poly x) = findLastBinAbove2 x-  fitSlicesX (ETH2Poly x) = fitSlicesX x-  fitSlicesY (ETH2Poly x) = fitSlicesY x-  getCorrelationFactor2 (ETH2Poly x) = getCorrelationFactor2 x-  getCovariance2 (ETH2Poly x) = getCovariance2 x-  integral2 (ETH2Poly x) = integral2 x-  rebinX2 (ETH2Poly x) = rebinX2 x-  rebinY2 (ETH2Poly x) = rebinY2 x-  rebin2D (ETH2Poly x) = rebin2D x-  setShowProjectionX (ETH2Poly x) = setShowProjectionX x-  setShowProjectionY (ETH2Poly x) = setShowProjectionY x-instance ITH1 (Exist TH2Poly) where-  add (ETH2Poly x) = add x-  addBinContent (ETH2Poly x) = addBinContent x-  chi2Test (ETH2Poly x) = chi2Test x-  computeIntegral (ETH2Poly x) = computeIntegral x-  directoryAutoAdd (ETH2Poly x) = directoryAutoAdd x-  divide (ETH2Poly x) = divide x-  drawCopyTH1 (ETH2Poly x) a1 = return . ETH2Poly =<< drawCopyTH1 x a1-  drawNormalized (ETH2Poly x) = drawNormalized x-  drawPanelTH1 (ETH2Poly x) = drawPanelTH1 x-  bufferEmpty (ETH2Poly x) = bufferEmpty x-  evalF (ETH2Poly x) = evalF x-  fFT (ETH2Poly x) = fFT x-  fill1 (ETH2Poly x) = fill1 x-  fill1w (ETH2Poly x) = fill1w x-  fillN1 (ETH2Poly x) = fillN1 x-  fillRandom (ETH2Poly x) = fillRandom x-  findBin (ETH2Poly x) = findBin x-  findFixBin (ETH2Poly x) = findFixBin x-  findFirstBinAbove (ETH2Poly x) = findFirstBinAbove x-  findLastBinAbove (ETH2Poly x) = findLastBinAbove x-  fitPanelTH1 (ETH2Poly x) = fitPanelTH1 x-  getNdivisionA (ETH2Poly x) = getNdivisionA x-  getAxisColorA (ETH2Poly x) = getAxisColorA x-  getLabelColorA (ETH2Poly x) = getLabelColorA x-  getLabelFontA (ETH2Poly x) = getLabelFontA x-  getLabelOffsetA (ETH2Poly x) = getLabelOffsetA x-  getLabelSizeA (ETH2Poly x) = getLabelSizeA x-  getTitleFontA (ETH2Poly x) = getTitleFontA x-  getTitleOffsetA (ETH2Poly x) = getTitleOffsetA x-  getTitleSizeA (ETH2Poly x) = getTitleSizeA x-  getTickLengthA (ETH2Poly x) = getTickLengthA x-  getBarOffset (ETH2Poly x) = getBarOffset x-  getBarWidth (ETH2Poly x) = getBarWidth x-  getContour (ETH2Poly x) = getContour x-  getContourLevel (ETH2Poly x) = getContourLevel x-  getContourLevelPad (ETH2Poly x) = getContourLevelPad x-  getBin (ETH2Poly x) = getBin x-  getBinCenter (ETH2Poly x) = getBinCenter x-  getBinContent1 (ETH2Poly x) = getBinContent1 x-  getBinContent2 (ETH2Poly x) = getBinContent2 x-  getBinContent3 (ETH2Poly x) = getBinContent3 x-  getBinError1 (ETH2Poly x) = getBinError1 x-  getBinError2 (ETH2Poly x) = getBinError2 x-  getBinError3 (ETH2Poly x) = getBinError3 x-  getBinLowEdge (ETH2Poly x) = getBinLowEdge x-  getBinWidth (ETH2Poly x) = getBinWidth x-  getCellContent (ETH2Poly x) = getCellContent x-  getCellError (ETH2Poly x) = getCellError x-  getEntries (ETH2Poly x) = getEntries x-  getEffectiveEntries (ETH2Poly x) = getEffectiveEntries x-  getFunction (ETH2Poly x) = getFunction x-  getDimension (ETH2Poly x) = getDimension x-  getKurtosis (ETH2Poly x) = getKurtosis x-  getLowEdge (ETH2Poly x) = getLowEdge x-  getMaximumTH1 (ETH2Poly x) = getMaximumTH1 x-  getMaximumBin (ETH2Poly x) = getMaximumBin x-  getMaximumStored (ETH2Poly x) = getMaximumStored x-  getMinimumTH1 (ETH2Poly x) = getMinimumTH1 x-  getMinimumBin (ETH2Poly x) = getMinimumBin x-  getMinimumStored (ETH2Poly x) = getMinimumStored x-  getMean (ETH2Poly x) = getMean x-  getMeanError (ETH2Poly x) = getMeanError x-  getNbinsX (ETH2Poly x) = getNbinsX x-  getNbinsY (ETH2Poly x) = getNbinsY x-  getNbinsZ (ETH2Poly x) = getNbinsZ x-  getQuantilesTH1 (ETH2Poly x) = getQuantilesTH1 x-  getRandom (ETH2Poly x) = getRandom x-  getStats (ETH2Poly x) = getStats x-  getSumOfWeights (ETH2Poly x) = getSumOfWeights x-  getSumw2 (ETH2Poly x) = getSumw2 x-  getSumw2N (ETH2Poly x) = getSumw2N x-  getRMS (ETH2Poly x) = getRMS x-  getRMSError (ETH2Poly x) = getRMSError x-  getSkewness (ETH2Poly x) = getSkewness x-  integral1 (ETH2Poly x) = integral1 x-  interpolate1 (ETH2Poly x) = interpolate1 x-  interpolate2 (ETH2Poly x) = interpolate2 x-  interpolate3 (ETH2Poly x) = interpolate3 x-  kolmogorovTest (ETH2Poly x) = kolmogorovTest x-  labelsDeflate (ETH2Poly x) = labelsDeflate x-  labelsInflate (ETH2Poly x) = labelsInflate x-  labelsOption (ETH2Poly x) = labelsOption x-  multiflyF (ETH2Poly x) = multiflyF x-  multiply (ETH2Poly x) = multiply x-  putStats (ETH2Poly x) = putStats x-  rebin (ETH2Poly x) = rebin x-  rebinAxis (ETH2Poly x) = rebinAxis x-  rebuild (ETH2Poly x) = rebuild x-  recursiveRemove (ETH2Poly x) = recursiveRemove x-  reset (ETH2Poly x) = reset x-  resetStats (ETH2Poly x) = resetStats x-  scale (ETH2Poly x) = scale x-  setAxisColorA (ETH2Poly x) = setAxisColorA x-  setAxisRange (ETH2Poly x) = setAxisRange x-  setBarOffset (ETH2Poly x) = setBarOffset x-  setBarWidth (ETH2Poly x) = setBarWidth x-  setBinContent1 (ETH2Poly x) = setBinContent1 x-  setBinContent2 (ETH2Poly x) = setBinContent2 x-  setBinContent3 (ETH2Poly x) = setBinContent3 x-  setBinError1 (ETH2Poly x) = setBinError1 x-  setBinError2 (ETH2Poly x) = setBinError2 x-  setBinError3 (ETH2Poly x) = setBinError3 x-  setBins1 (ETH2Poly x) = setBins1 x-  setBins2 (ETH2Poly x) = setBins2 x-  setBins3 (ETH2Poly x) = setBins3 x-  setBinsLength (ETH2Poly x) = setBinsLength x-  setBuffer (ETH2Poly x) = setBuffer x-  setCellContent (ETH2Poly x) = setCellContent x-  setContent (ETH2Poly x) = setContent x-  setContour (ETH2Poly x) = setContour x-  setContourLevel (ETH2Poly x) = setContourLevel x-  setDirectory (ETH2Poly x) = setDirectory x-  setEntries (ETH2Poly x) = setEntries x-  setError (ETH2Poly x) = setError x-  setLabelColorA (ETH2Poly x) = setLabelColorA x-  setLabelSizeA (ETH2Poly x) = setLabelSizeA x-  setLabelFontA (ETH2Poly x) = setLabelFontA x-  setLabelOffsetA (ETH2Poly x) = setLabelOffsetA x-  setMaximum (ETH2Poly x) = setMaximum x-  setMinimum (ETH2Poly x) = setMinimum x-  setNormFactor (ETH2Poly x) = setNormFactor x-  setStats (ETH2Poly x) = setStats x-  setOption (ETH2Poly x) = setOption x-  setXTitle (ETH2Poly x) = setXTitle x-  setYTitle (ETH2Poly x) = setYTitle x-  setZTitle (ETH2Poly x) = setZTitle x-  showBackground (ETH2Poly x) = showBackground x-  showPeaks (ETH2Poly x) = showPeaks x-  smooth (ETH2Poly x) = smooth x-  sumw2 (ETH2Poly x) = sumw2 x-instance ITObject (Exist TH2Poly) where-  draw (ETH2Poly x) = draw x-  findObject (ETH2Poly x) = findObject x-  getName (ETH2Poly x) = getName x-  isA (ETH2Poly x) = isA x-  paint (ETH2Poly x) = paint x-  printObj (ETH2Poly x) = printObj x-  saveAs (ETH2Poly x) = saveAs x-  write (ETH2Poly x) = write x-instance ITAttLine (Exist TH2Poly) where-  getLineColor (ETH2Poly x) = getLineColor x-  getLineStyle (ETH2Poly x) = getLineStyle x-  getLineWidth (ETH2Poly x) = getLineWidth x-  resetAttLine (ETH2Poly x) = resetAttLine x-  setLineAttributes (ETH2Poly x) = setLineAttributes x-  setLineColor (ETH2Poly x) = setLineColor x-  setLineStyle (ETH2Poly x) = setLineStyle x-  setLineWidth (ETH2Poly x) = setLineWidth x-instance ITAttFill (Exist TH2Poly) where-  setFillColor (ETH2Poly x) = setFillColor x-  setFillStyle (ETH2Poly x) = setFillStyle x-instance ITAttMarker (Exist TH2Poly) where-  getMarkerColor (ETH2Poly x) = getMarkerColor x-  getMarkerStyle (ETH2Poly x) = getMarkerStyle x-  getMarkerSize (ETH2Poly x) = getMarkerSize x-  resetAttMarker (ETH2Poly x) = resetAttMarker x-  setMarkerAttributes (ETH2Poly x) = setMarkerAttributes x-  setMarkerColor (ETH2Poly x) = setMarkerColor x-  setMarkerStyle (ETH2Poly x) = setMarkerStyle x-  setMarkerSize (ETH2Poly x) = setMarkerSize x-instance IDeletable (Exist TH2Poly) where-  delete (ETH2Poly x) = delete x+        fill2 = xform2 c_th2poly_fill2+        fill2w = xform3 c_th2poly_fill2w+        fillN2 = xform5 c_th2poly_filln2+        fillRandom2 = xform2 c_th2poly_fillrandom2+        findFirstBinAbove2 = xform2 c_th2poly_findfirstbinabove2+        findLastBinAbove2 = xform2 c_th2poly_findlastbinabove2+        fitSlicesX = xform6 c_th2poly_fitslicesx+        fitSlicesY = xform6 c_th2poly_fitslicesy+        getCorrelationFactor2 = xform2 c_th2poly_getcorrelationfactor2+        getCovariance2 = xform2 c_th2poly_getcovariance2+        integral2 = xform5 c_th2poly_integral2+        rebinX2 = xform2 c_th2poly_rebinx2+        rebinY2 = xform2 c_th2poly_rebiny2+        rebin2D = xform3 c_th2poly_rebin2d+        setShowProjectionX = xform1 c_th2poly_setshowprojectionx+        setShowProjectionY = xform1 c_th2poly_setshowprojectiony +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+        drawNormalized = xform2 c_th2poly_drawnormalized+        drawPanelTH1 = xform0 c_th2poly_drawpanelth1+        bufferEmpty = xform1 c_th2poly_bufferempty+        evalF = xform2 c_th2poly_evalf+        fFT = xform2 c_th2poly_fft+        fill1 = xform1 c_th2poly_fill1+        fill1w = xform2 c_th2poly_fill1w+        fillN1 = xform4 c_th2poly_filln1+        fillRandom = xform2 c_th2poly_fillrandom+        findBin = xform3 c_th2poly_findbin+        findFixBin = xform3 c_th2poly_findfixbin+        findFirstBinAbove = xform2 c_th2poly_findfirstbinabove+        findLastBinAbove = xform2 c_th2poly_findlastbinabove+        fit = xform5 c_th2poly_fit+        fitPanelTH1 = xform0 c_th2poly_fitpanelth1+        getNdivisionA = xform1 c_th2poly_getndivisiona+        getAxisColorA = xform1 c_th2poly_getaxiscolora+        getLabelColorA = xform1 c_th2poly_getlabelcolora+        getLabelFontA = xform1 c_th2poly_getlabelfonta+        getLabelOffsetA = xform1 c_th2poly_getlabeloffseta+        getLabelSizeA = xform1 c_th2poly_getlabelsizea+        getTitleFontA = xform1 c_th2poly_gettitlefonta+        getTitleOffsetA = xform1 c_th2poly_gettitleoffseta+        getTitleSizeA = xform1 c_th2poly_gettitlesizea+        getTickLengthA = xform1 c_th2poly_getticklengtha+        getBarOffset = xform0 c_th2poly_getbaroffset+        getBarWidth = xform0 c_th2poly_getbarwidth+        getContour = xform1 c_th2poly_getcontour+        getContourLevel = xform1 c_th2poly_getcontourlevel+        getContourLevelPad = xform1 c_th2poly_getcontourlevelpad+        getBin = xform3 c_th2poly_getbin+        getBinCenter = xform1 c_th2poly_getbincenter+        getBinContent1 = xform1 c_th2poly_getbincontent1+        getBinContent2 = xform2 c_th2poly_getbincontent2+        getBinContent3 = xform3 c_th2poly_getbincontent3+        getBinError1 = xform1 c_th2poly_getbinerror1+        getBinError2 = xform2 c_th2poly_getbinerror2+        getBinError3 = xform3 c_th2poly_getbinerror3+        getBinLowEdge = xform1 c_th2poly_getbinlowedge+        getBinWidth = xform1 c_th2poly_getbinwidth+        getCellContent = xform2 c_th2poly_getcellcontent+        getCellError = xform2 c_th2poly_getcellerror+        getEntries = xform0 c_th2poly_getentries+        getEffectiveEntries = xform0 c_th2poly_geteffectiveentries+        getFunction = xform1 c_th2poly_getfunction+        getDimension = xform0 c_th2poly_getdimension+        getKurtosis = xform1 c_th2poly_getkurtosis+        getLowEdge = xform1 c_th2poly_getlowedge+        getMaximumTH1 = xform1 c_th2poly_getmaximumth1+        getMaximumBin = xform0 c_th2poly_getmaximumbin+        getMaximumStored = xform0 c_th2poly_getmaximumstored+        getMinimumTH1 = xform1 c_th2poly_getminimumth1+        getMinimumBin = xform0 c_th2poly_getminimumbin+        getMinimumStored = xform0 c_th2poly_getminimumstored+        getMean = xform1 c_th2poly_getmean+        getMeanError = xform1 c_th2poly_getmeanerror+        getNbinsX = xform0 c_th2poly_getnbinsx+        getNbinsY = xform0 c_th2poly_getnbinsy+        getNbinsZ = xform0 c_th2poly_getnbinsz+        getQuantilesTH1 = xform3 c_th2poly_getquantilesth1+        getRandom = xform0 c_th2poly_getrandom+        getStats = xform1 c_th2poly_getstats+        getSumOfWeights = xform0 c_th2poly_getsumofweights+        getSumw2 = xform0 c_th2poly_getsumw2+        getSumw2N = xform0 c_th2poly_getsumw2n+        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+        labelsInflate = xform1 c_th2poly_labelsinflate+        labelsOption = xform2 c_th2poly_labelsoption+        multiflyF = xform2 c_th2poly_multiflyf+        multiply = xform5 c_th2poly_multiply+        putStats = xform1 c_th2poly_putstats+        rebin = xform3 c_th2poly_rebin+        rebinAxis = xform2 c_th2poly_rebinaxis+        rebuild = xform1 c_th2poly_rebuild+        recursiveRemove = xform1 c_th2poly_recursiveremove+        reset = xform1 c_th2poly_reset+        resetStats = xform0 c_th2poly_resetstats+        scale = xform2 c_th2poly_scale+        setAxisColorA = xform2 c_th2poly_setaxiscolora+        setAxisRange = xform3 c_th2poly_setaxisrange+        setBarOffset = xform1 c_th2poly_setbaroffset+        setBarWidth = xform1 c_th2poly_setbarwidth+        setBinContent1 = xform2 c_th2poly_setbincontent1+        setBinContent2 = xform3 c_th2poly_setbincontent2+        setBinContent3 = xform4 c_th2poly_setbincontent3+        setBinError1 = xform2 c_th2poly_setbinerror1+        setBinError2 = xform3 c_th2poly_setbinerror2+        setBinError3 = xform4 c_th2poly_setbinerror3+        setBins1 = xform2 c_th2poly_setbins1+        setBins2 = xform4 c_th2poly_setbins2+        setBins3 = xform6 c_th2poly_setbins3+        setBinsLength = xform1 c_th2poly_setbinslength+        setBuffer = xform2 c_th2poly_setbuffer+        setCellContent = xform3 c_th2poly_setcellcontent+        setContent = xform1 c_th2poly_setcontent+        setContour = xform2 c_th2poly_setcontour+        setContourLevel = xform2 c_th2poly_setcontourlevel+        setDirectory = xform1 c_th2poly_setdirectory+        setEntries = xform1 c_th2poly_setentries+        setError = xform1 c_th2poly_seterror+        setLabelColorA = xform2 c_th2poly_setlabelcolora+        setLabelSizeA = xform2 c_th2poly_setlabelsizea+        setLabelFontA = xform2 c_th2poly_setlabelfonta+        setLabelOffsetA = xform2 c_th2poly_setlabeloffseta+        setMaximum = xform1 c_th2poly_setmaximum+        setMinimum = xform1 c_th2poly_setminimum+        setNormFactor = xform1 c_th2poly_setnormfactor+        setStats = xform1 c_th2poly_setstats+        setOption = xform1 c_th2poly_setoption+        setXTitle = xform1 c_th2poly_setxtitle+        setYTitle = xform1 c_th2poly_setytitle+        setZTitle = xform1 c_th2poly_setztitle+        showBackground = xform2 c_th2poly_showbackground+        showPeaks = xform3 c_th2poly_showpeaks+        smooth = xform2 c_th2poly_smooth+        sumw2 = xform0 c_th2poly_sumw2 +instance ITNamed TH2Poly where+        setName = xform1 c_th2poly_setname+        setNameTitle = xform2 c_th2poly_setnametitle+        setTitle = xform1 c_th2poly_settitle +instance ITAttLine TH2Poly where+        getLineColor = xform0 c_th2poly_getlinecolor+        getLineStyle = xform0 c_th2poly_getlinestyle+        getLineWidth = xform0 c_th2poly_getlinewidth+        resetAttLine = xform1 c_th2poly_resetattline+        setLineAttributes = xform0 c_th2poly_setlineattributes+        setLineColor = xform1 c_th2poly_setlinecolor+        setLineStyle = xform1 c_th2poly_setlinestyle+        setLineWidth = xform1 c_th2poly_setlinewidth +instance ITAttFill TH2Poly where+        setFillColor = xform1 c_th2poly_setfillcolor+        setFillStyle = xform1 c_th2poly_setfillstyle +instance ITAttMarker TH2Poly where+        getMarkerColor = xform0 c_th2poly_getmarkercolor+        getMarkerStyle = xform0 c_th2poly_getmarkerstyle+        getMarkerSize = xform0 c_th2poly_getmarkersize+        resetAttMarker = xform1 c_th2poly_resetattmarker+        setMarkerAttributes = xform0 c_th2poly_setmarkerattributes+        setMarkerColor = xform1 c_th2poly_setmarkercolor+        setMarkerStyle = xform1 c_th2poly_setmarkerstyle+        setMarkerSize = xform1 c_th2poly_setmarkersize +instance ITObject TH2Poly where+        draw = xform1 c_th2poly_draw+        findObject = xform1 c_th2poly_findobject+        getName = xform0 c_th2poly_getname+        isA = xform0 c_th2poly_isa+        paint = xform1 c_th2poly_paint+        printObj = xform1 c_th2poly_printobj+        saveAs = xform2 c_th2poly_saveas+        write = xform3 c_th2poly_write -instance FPtr (Exist TH2Poly) where-  type Raw (Exist TH2Poly) = RawTH2Poly-  get_fptr (ETH2Poly obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH2Poly (cast_fptr_to_obj (fptr :: ForeignPtr RawTH2Poly) :: TH2Poly)+instance IDeletable TH2Poly where+        delete = xform0 c_th2poly_delete
src/HROOT/Hist/TH2Poly/Interface.hs view
@@ -1,36 +1,25 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2Poly.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH2Poly.RawType- import HROOT.Hist.TH2.Interface----- ============ ---- ---class (ITH2 a) => ITH2Poly a where--instance Existable TH2Poly where-  data Exist TH2Poly = forall a. (FPtr a, ITH2Poly a) => ETH2Poly a+class ITH2 a => ITH2Poly a -upcastTH2Poly :: (FPtr a, ITH2Poly a) => a -> TH2Poly-upcastTH2Poly h = let fh = get_fptr h-                      fh2 :: ForeignPtr RawTH2Poly = castForeignPtr fh-                  in cast_fptr_to_obj fh2+upcastTH2Poly :: forall a . (FPtr a, ITH2Poly a) => a -> TH2Poly+upcastTH2Poly h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH2Poly = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH2Poly :: (FPtr a, ITH2Poly a) => TH2Poly -> a -downcastTH2Poly h = let fh = get_fptr h-                        fh2 = castForeignPtr fh-                    in cast_fptr_to_obj fh2+downcastTH2Poly :: forall a . (FPtr a, ITH2Poly a) => TH2Poly -> a+downcastTH2Poly h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH2Poly/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH2Poly.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH2Poly -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH2Poly = TH2Poly (Ptr RawTH2Poly)+                deriving (Eq, Ord, Show) -data RawTH2Poly-newtype TH2Poly = TH2Poly (ForeignPtr RawTH2Poly) deriving (Eq, Ord, Show) instance FPtr TH2Poly where-   type Raw TH2Poly = RawTH2Poly-   get_fptr (TH2Poly fptr) = fptr-   cast_fptr_to_obj = TH2Poly+        type Raw TH2Poly = RawTH2Poly+        get_fptr (TH2Poly ptr) = ptr+        cast_fptr_to_obj = TH2Poly
src/HROOT/Hist/TH2S.hs view
@@ -1,15 +1,5 @@-module HROOT.Hist.TH2S-  (-    TH2S(..)-  , ITH2S-  , upcastTH2S-  , downcastTH2S-- -  ) where-+module HROOT.Hist.TH2S (TH2S(..), ITH2S, upcastTH2S, downcastTH2S)+       where import HROOT.Hist.TH2S.RawType import HROOT.Hist.TH2S.Interface import HROOT.Hist.TH2S.Implementation--
src/HROOT/Hist/TH2S/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH2S.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH2S.RawType import HROOT.Hist.TH2S.Interface  instance (ITH2S a, FPtr a) => Castable a (Ptr RawTH2S) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH2S (Ptr RawTH2S) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH2S.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH2S.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH2.RawType@@ -24,524 +14,589 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH2S.h"+foreign import ccall safe "HROOTHistTH2S.h TH2S_fill2" c_th2s_fill2+               :: Ptr RawTH2S -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_fill2" c_th2s_fill2 -  :: (Ptr RawTH2S) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_fill2w"+               c_th2s_fill2w ::+               Ptr RawTH2S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_fill2w" c_th2s_fill2w -  :: (Ptr RawTH2S) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_fillN2"+               c_th2s_filln2 ::+               Ptr RawTH2S ->+                 CInt ->+                   (Ptr CDouble) -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_fillN2" c_th2s_filln2 -  :: (Ptr RawTH2S) -> 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 "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 "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 "HROOTHistTH2S.h TH2S_findLastBinAbove2" c_th2s_findlastbinabove2 -  :: (Ptr RawTH2S) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_FitSlicesX"+               c_th2s_fitslicesx ::+               Ptr RawTH2S ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "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 ::+               Ptr RawTH2S ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CString -> Ptr RawTObjArray -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_FitSlicesY" c_th2s_fitslicesy -  :: (Ptr RawTH2S) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CString -> (Ptr RawTObjArray) -> IO ()+foreign import ccall safe+               "HROOTHistTH2S.h TH2S_getCorrelationFactor2"+               c_th2s_getcorrelationfactor2 ::+               Ptr RawTH2S -> CInt -> CInt -> IO CDouble -foreign import ccall "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 "HROOTHistTH2S.h TH2S_getCovariance2" c_th2s_getcovariance2 -  :: (Ptr RawTH2S) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_integral2"+               c_th2s_integral2 ::+               Ptr RawTH2S ->+                 CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_integral2" c_th2s_integral2 -  :: (Ptr RawTH2S) -> CInt -> CInt -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_rebinX2"+               c_th2s_rebinx2 :: Ptr RawTH2S -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "HROOTHistTH2S.h TH2S_rebinX2" c_th2s_rebinx2 -  :: (Ptr RawTH2S) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2S.h TH2S_rebinY2"+               c_th2s_rebiny2 :: Ptr RawTH2S -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "HROOTHistTH2S.h TH2S_rebinY2" c_th2s_rebiny2 -  :: (Ptr RawTH2S) -> CInt -> CString -> IO (Ptr RawTH2)+foreign import ccall safe "HROOTHistTH2S.h TH2S_Rebin2D"+               c_th2s_rebin2d ::+               Ptr RawTH2S -> CInt -> CInt -> CString -> IO (Ptr RawTH2) -foreign import ccall "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 "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 "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 "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 "HROOTHistTH2S.h TH2S_AddBinContent" c_th2s_addbincontent -  :: (Ptr RawTH2S) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_Chi2Test"+               c_th2s_chi2test ::+               Ptr RawTH2S -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH2S.h TH2S_ComputeIntegral" c_th2s_computeintegral -  :: (Ptr RawTH2S) -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_DirectoryAutoAdd"+               c_th2s_directoryautoadd ::+               Ptr RawTH2S -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_DirectoryAutoAdd" c_th2s_directoryautoadd -  :: (Ptr RawTH2S) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_Divide"+               c_th2s_divide ::+               Ptr RawTH2S ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH2S.h TH2S_drawCopyTH1" c_th2s_drawcopyth1 -  :: (Ptr RawTH2S) -> CString -> IO (Ptr RawTH2S)+foreign import ccall safe "HROOTHistTH2S.h TH2S_DrawNormalized"+               c_th2s_drawnormalized ::+               Ptr RawTH2S -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH2S.h TH2S_evalF" c_th2s_evalf -  :: (Ptr RawTH2S) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_FFT" c_th2s_fft ::+               Ptr RawTH2S -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH2S.h TH2S_fill1" c_th2s_fill1 -  :: (Ptr RawTH2S) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_fill1w"+               c_th2s_fill1w :: Ptr RawTH2S -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_fill1w" c_th2s_fill1w -  :: (Ptr RawTH2S) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_fillN1"+               c_th2s_filln1 ::+               Ptr RawTH2S ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_fillN1" c_th2s_filln1 -  :: (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 "HROOTHistTH2S.h TH2S_FillRandom" c_th2s_fillrandom -  :: (Ptr RawTH2S) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_FindBin"+               c_th2s_findbin ::+               Ptr RawTH2S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH2S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH2S.h TH2S_FindFirstBinAbove" c_th2s_findfirstbinabove -  :: (Ptr RawTH2S) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_FindLastBinAbove"+               c_th2s_findlastbinabove ::+               Ptr RawTH2S -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_FindLastBinAbove" c_th2s_findlastbinabove -  :: (Ptr RawTH2S) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_Fit" c_th2s_fit ::+               Ptr RawTH2S ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_FitPanelTH1" c_th2s_fitpanelth1 -  :: (Ptr RawTH2S) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_FitPanelTH1"+               c_th2s_fitpanelth1 :: Ptr RawTH2S -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_getNdivisionA" c_th2s_getndivisiona -  :: (Ptr RawTH2S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_getNdivisionA"+               c_th2s_getndivisiona :: Ptr RawTH2S -> CString -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_getAxisColorA" c_th2s_getaxiscolora -  :: (Ptr RawTH2S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_getAxisColorA"+               c_th2s_getaxiscolora :: Ptr RawTH2S -> CString -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_getLabelColorA" c_th2s_getlabelcolora -  :: (Ptr RawTH2S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_getLabelColorA"+               c_th2s_getlabelcolora :: Ptr RawTH2S -> CString -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_getLabelFontA" c_th2s_getlabelfonta -  :: (Ptr RawTH2S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_getLabelFontA"+               c_th2s_getlabelfonta :: Ptr RawTH2S -> CString -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_getLabelOffsetA" c_th2s_getlabeloffseta -  :: (Ptr RawTH2S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_getLabelOffsetA"+               c_th2s_getlabeloffseta :: Ptr RawTH2S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_getLabelSizeA" c_th2s_getlabelsizea -  :: (Ptr RawTH2S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_getLabelSizeA"+               c_th2s_getlabelsizea :: Ptr RawTH2S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_getTitleFontA" c_th2s_gettitlefonta -  :: (Ptr RawTH2S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_getTitleFontA"+               c_th2s_gettitlefonta :: Ptr RawTH2S -> CString -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_getTitleOffsetA" c_th2s_gettitleoffseta -  :: (Ptr RawTH2S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_getTitleOffsetA"+               c_th2s_gettitleoffseta :: Ptr RawTH2S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_getTitleSizeA" c_th2s_gettitlesizea -  :: (Ptr RawTH2S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_getTitleSizeA"+               c_th2s_gettitlesizea :: Ptr RawTH2S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_getTickLengthA" c_th2s_getticklengtha -  :: (Ptr RawTH2S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_getTickLengthA"+               c_th2s_getticklengtha :: Ptr RawTH2S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetBarOffset" c_th2s_getbaroffset -  :: (Ptr RawTH2S) -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBarOffset"+               c_th2s_getbaroffset :: Ptr RawTH2S -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetBarWidth" c_th2s_getbarwidth -  :: (Ptr RawTH2S) -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBarWidth"+               c_th2s_getbarwidth :: Ptr RawTH2S -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetContour" c_th2s_getcontour -  :: (Ptr RawTH2S) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetContour"+               c_th2s_getcontour :: Ptr RawTH2S -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_GetContourLevel" c_th2s_getcontourlevel -  :: (Ptr RawTH2S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetContourLevel"+               c_th2s_getcontourlevel :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetContourLevelPad" c_th2s_getcontourlevelpad -  :: (Ptr RawTH2S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetContourLevelPad"+               c_th2s_getcontourlevelpad :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetBin" c_th2s_getbin -  :: (Ptr RawTH2S) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBin"+               c_th2s_getbin :: Ptr RawTH2S -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_GetBinCenter" c_th2s_getbincenter -  :: (Ptr RawTH2S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinCenter"+               c_th2s_getbincenter :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetBinContent1" c_th2s_getbincontent1 -  :: (Ptr RawTH2S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinContent1"+               c_th2s_getbincontent1 :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetBinContent2" c_th2s_getbincontent2 -  :: (Ptr RawTH2S) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinContent2"+               c_th2s_getbincontent2 :: Ptr RawTH2S -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetBinContent3" c_th2s_getbincontent3 -  :: (Ptr RawTH2S) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinContent3"+               c_th2s_getbincontent3 ::+               Ptr RawTH2S -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetBinError1" c_th2s_getbinerror1 -  :: (Ptr RawTH2S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinError1"+               c_th2s_getbinerror1 :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetBinError2" c_th2s_getbinerror2 -  :: (Ptr RawTH2S) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinError2"+               c_th2s_getbinerror2 :: Ptr RawTH2S -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetBinError3" c_th2s_getbinerror3 -  :: (Ptr RawTH2S) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinError3"+               c_th2s_getbinerror3 ::+               Ptr RawTH2S -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetBinLowEdge" c_th2s_getbinlowedge -  :: (Ptr RawTH2S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinLowEdge"+               c_th2s_getbinlowedge :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetBinWidth" c_th2s_getbinwidth -  :: (Ptr RawTH2S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetBinWidth"+               c_th2s_getbinwidth :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetCellContent" c_th2s_getcellcontent -  :: (Ptr RawTH2S) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetCellContent"+               c_th2s_getcellcontent :: Ptr RawTH2S -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetCellError" c_th2s_getcellerror -  :: (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 "HROOTHistTH2S.h TH2S_GetEntries" c_th2s_getentries -  :: (Ptr RawTH2S) -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetEntries"+               c_th2s_getentries :: Ptr RawTH2S -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetEffectiveEntries" c_th2s_geteffectiveentries -  :: (Ptr RawTH2S) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH2S.h TH2S_GetEffectiveEntries"+               c_th2s_geteffectiveentries :: Ptr RawTH2S -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetFunction" c_th2s_getfunction -  :: (Ptr RawTH2S) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetFunction"+               c_th2s_getfunction :: Ptr RawTH2S -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH2S.h TH2S_GetDimension" c_th2s_getdimension -  :: (Ptr RawTH2S) -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetDimension"+               c_th2s_getdimension :: Ptr RawTH2S -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_GetKurtosis" c_th2s_getkurtosis -  :: (Ptr RawTH2S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetKurtosis"+               c_th2s_getkurtosis :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetLowEdge" c_th2s_getlowedge -  :: (Ptr RawTH2S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetLowEdge"+               c_th2s_getlowedge :: Ptr RawTH2S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_getMaximumTH1" c_th2s_getmaximumth1 -  :: (Ptr RawTH2S) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_getMaximumTH1"+               c_th2s_getmaximumth1 :: Ptr RawTH2S -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetMaximumBin" c_th2s_getmaximumbin -  :: (Ptr RawTH2S) -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMaximumBin"+               c_th2s_getmaximumbin :: Ptr RawTH2S -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_GetMaximumStored" c_th2s_getmaximumstored -  :: (Ptr RawTH2S) -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMaximumStored"+               c_th2s_getmaximumstored :: Ptr RawTH2S -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_getMinimumTH1" c_th2s_getminimumth1 -  :: (Ptr RawTH2S) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_getMinimumTH1"+               c_th2s_getminimumth1 :: Ptr RawTH2S -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetMinimumBin" c_th2s_getminimumbin -  :: (Ptr RawTH2S) -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMinimumBin"+               c_th2s_getminimumbin :: Ptr RawTH2S -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_GetMinimumStored" c_th2s_getminimumstored -  :: (Ptr RawTH2S) -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMinimumStored"+               c_th2s_getminimumstored :: Ptr RawTH2S -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetMean" c_th2s_getmean -  :: (Ptr RawTH2S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMean"+               c_th2s_getmean :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetMeanError" c_th2s_getmeanerror -  :: (Ptr RawTH2S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMeanError"+               c_th2s_getmeanerror :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetNbinsX" c_th2s_getnbinsx -  :: (Ptr RawTH2S) -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetNbinsX"+               c_th2s_getnbinsx :: Ptr RawTH2S -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetNbinsY" c_th2s_getnbinsy -  :: (Ptr RawTH2S) -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetNbinsY"+               c_th2s_getnbinsy :: Ptr RawTH2S -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetNbinsZ" c_th2s_getnbinsz -  :: (Ptr RawTH2S) -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetNbinsZ"+               c_th2s_getnbinsz :: Ptr RawTH2S -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_getQuantilesTH1" c_th2s_getquantilesth1 -  :: (Ptr RawTH2S) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_getQuantilesTH1"+               c_th2s_getquantilesth1 ::+               Ptr RawTH2S -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_GetRandom" c_th2s_getrandom -  :: (Ptr RawTH2S) -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetRandom"+               c_th2s_getrandom :: Ptr RawTH2S -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetStats" c_th2s_getstats -  :: (Ptr RawTH2S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetStats"+               c_th2s_getstats :: Ptr RawTH2S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_GetSumOfWeights" c_th2s_getsumofweights -  :: (Ptr RawTH2S) -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetSumOfWeights"+               c_th2s_getsumofweights :: Ptr RawTH2S -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetSumw2" c_th2s_getsumw2 -  :: (Ptr RawTH2S) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetSumw2"+               c_th2s_getsumw2 :: Ptr RawTH2S -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH2S.h TH2S_GetSumw2N" c_th2s_getsumw2n -  :: (Ptr RawTH2S) -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetSumw2N"+               c_th2s_getsumw2n :: Ptr RawTH2S -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_GetRMS" c_th2s_getrms -  :: (Ptr RawTH2S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetRMS"+               c_th2s_getrms :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetRMSError" c_th2s_getrmserror -  :: (Ptr RawTH2S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetRMSError"+               c_th2s_getrmserror :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_GetSkewness" c_th2s_getskewness -  :: (Ptr RawTH2S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetSkewness"+               c_th2s_getskewness :: Ptr RawTH2S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_integral1" c_th2s_integral1 -  :: (Ptr RawTH2S) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_integral1"+               c_th2s_integral1 ::+               Ptr RawTH2S -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_interpolate1" c_th2s_interpolate1 -  :: (Ptr RawTH2S) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_interpolate1"+               c_th2s_interpolate1 :: Ptr RawTH2S -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_interpolate2" c_th2s_interpolate2 -  :: (Ptr RawTH2S) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_interpolate2"+               c_th2s_interpolate2 ::+               Ptr RawTH2S -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_interpolate3" c_th2s_interpolate3 -  :: (Ptr RawTH2S) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_interpolate3"+               c_th2s_interpolate3 ::+               Ptr RawTH2S -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_KolmogorovTest" c_th2s_kolmogorovtest -  :: (Ptr RawTH2S) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_KolmogorovTest"+               c_th2s_kolmogorovtest ::+               Ptr RawTH2S -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_LabelsDeflate" c_th2s_labelsdeflate -  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_LabelsDeflate"+               c_th2s_labelsdeflate :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_LabelsInflate" c_th2s_labelsinflate -  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_LabelsInflate"+               c_th2s_labelsinflate :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_LabelsOption" c_th2s_labelsoption -  :: (Ptr RawTH2S) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_LabelsOption"+               c_th2s_labelsoption :: Ptr RawTH2S -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_multiflyF" c_th2s_multiflyf -  :: (Ptr RawTH2S) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_multiflyF"+               c_th2s_multiflyf :: Ptr RawTH2S -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_Multiply" c_th2s_multiply -  :: (Ptr RawTH2S) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_Multiply"+               c_th2s_multiply ::+               Ptr RawTH2S ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_PutStats" c_th2s_putstats -  :: (Ptr RawTH2S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_PutStats"+               c_th2s_putstats :: Ptr RawTH2S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_Rebin" c_th2s_rebin -  :: (Ptr RawTH2S) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH2S.h TH2S_Rebin" c_th2s_rebin+               ::+               Ptr RawTH2S -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2S.h TH2S_RebinAxis" c_th2s_rebinaxis -  :: (Ptr RawTH2S) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_RebinAxis"+               c_th2s_rebinaxis :: Ptr RawTH2S -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_Rebuild" c_th2s_rebuild -  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_Rebuild"+               c_th2s_rebuild :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_RecursiveRemove" c_th2s_recursiveremove -  :: (Ptr RawTH2S) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_RecursiveRemove"+               c_th2s_recursiveremove :: Ptr RawTH2S -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_Reset" c_th2s_reset -  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_Reset" c_th2s_reset+               :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_ResetStats" c_th2s_resetstats -  :: (Ptr RawTH2S) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_ResetStats"+               c_th2s_resetstats :: Ptr RawTH2S -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_Scale" c_th2s_scale -  :: (Ptr RawTH2S) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_Scale" c_th2s_scale+               :: Ptr RawTH2S -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setAxisColorA" c_th2s_setaxiscolora -  :: (Ptr RawTH2S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setAxisColorA"+               c_th2s_setaxiscolora :: Ptr RawTH2S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetAxisRange" c_th2s_setaxisrange -  :: (Ptr RawTH2S) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetAxisRange"+               c_th2s_setaxisrange ::+               Ptr RawTH2S -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetBarOffset" c_th2s_setbaroffset -  :: (Ptr RawTH2S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetBarOffset"+               c_th2s_setbaroffset :: Ptr RawTH2S -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetBarWidth" c_th2s_setbarwidth -  :: (Ptr RawTH2S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetBarWidth"+               c_th2s_setbarwidth :: Ptr RawTH2S -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setBinContent1" c_th2s_setbincontent1 -  :: (Ptr RawTH2S) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setBinContent1"+               c_th2s_setbincontent1 :: Ptr RawTH2S -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setBinContent2" c_th2s_setbincontent2 -  :: (Ptr RawTH2S) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setBinContent2"+               c_th2s_setbincontent2 ::+               Ptr RawTH2S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setBinContent3" c_th2s_setbincontent3 -  :: (Ptr RawTH2S) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setBinContent3"+               c_th2s_setbincontent3 ::+               Ptr RawTH2S -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setBinError1" c_th2s_setbinerror1 -  :: (Ptr RawTH2S) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setBinError1"+               c_th2s_setbinerror1 :: Ptr RawTH2S -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setBinError2" c_th2s_setbinerror2 -  :: (Ptr RawTH2S) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setBinError2"+               c_th2s_setbinerror2 ::+               Ptr RawTH2S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setBinError3" c_th2s_setbinerror3 -  :: (Ptr RawTH2S) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setBinError3"+               c_th2s_setbinerror3 ::+               Ptr RawTH2S -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setBins1" c_th2s_setbins1 -  :: (Ptr RawTH2S) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setBins1"+               c_th2s_setbins1 :: Ptr RawTH2S -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setBins2" c_th2s_setbins2 -  :: (Ptr RawTH2S) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setBins2"+               c_th2s_setbins2 ::+               Ptr RawTH2S ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setBins3" c_th2s_setbins3 -  :: (Ptr RawTH2S) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setBins3"+               c_th2s_setbins3 ::+               Ptr RawTH2S ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetBinsLength" c_th2s_setbinslength -  :: (Ptr RawTH2S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetBinsLength"+               c_th2s_setbinslength :: Ptr RawTH2S -> CInt -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetBuffer" c_th2s_setbuffer -  :: (Ptr RawTH2S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetBuffer"+               c_th2s_setbuffer :: Ptr RawTH2S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetCellContent" c_th2s_setcellcontent -  :: (Ptr RawTH2S) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetCellContent"+               c_th2s_setcellcontent ::+               Ptr RawTH2S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetContent" c_th2s_setcontent -  :: (Ptr RawTH2S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetContent"+               c_th2s_setcontent :: Ptr RawTH2S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetContour" c_th2s_setcontour -  :: (Ptr RawTH2S) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetContour"+               c_th2s_setcontour :: Ptr RawTH2S -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetContourLevel" c_th2s_setcontourlevel -  :: (Ptr RawTH2S) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetContourLevel"+               c_th2s_setcontourlevel :: Ptr RawTH2S -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetDirectory" c_th2s_setdirectory -  :: (Ptr RawTH2S) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetDirectory"+               c_th2s_setdirectory :: Ptr RawTH2S -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetEntries" c_th2s_setentries -  :: (Ptr RawTH2S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetEntries"+               c_th2s_setentries :: Ptr RawTH2S -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetError" c_th2s_seterror -  :: (Ptr RawTH2S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetError"+               c_th2s_seterror :: Ptr RawTH2S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setLabelColorA" c_th2s_setlabelcolora -  :: (Ptr RawTH2S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setLabelColorA"+               c_th2s_setlabelcolora :: Ptr RawTH2S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setLabelSizeA" c_th2s_setlabelsizea -  :: (Ptr RawTH2S) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setLabelSizeA"+               c_th2s_setlabelsizea :: Ptr RawTH2S -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setLabelFontA" c_th2s_setlabelfonta -  :: (Ptr RawTH2S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setLabelFontA"+               c_th2s_setlabelfonta :: Ptr RawTH2S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_setLabelOffsetA" c_th2s_setlabeloffseta -  :: (Ptr RawTH2S) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_setLabelOffsetA"+               c_th2s_setlabeloffseta ::+               Ptr RawTH2S -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetMaximum" c_th2s_setmaximum -  :: (Ptr RawTH2S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetMaximum"+               c_th2s_setmaximum :: Ptr RawTH2S -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetMinimum" c_th2s_setminimum -  :: (Ptr RawTH2S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetMinimum"+               c_th2s_setminimum :: Ptr RawTH2S -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetNormFactor" c_th2s_setnormfactor -  :: (Ptr RawTH2S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetNormFactor"+               c_th2s_setnormfactor :: Ptr RawTH2S -> CDouble -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetStats" c_th2s_setstats -  :: (Ptr RawTH2S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetStats"+               c_th2s_setstats :: Ptr RawTH2S -> CInt -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetOption" c_th2s_setoption -  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetOption"+               c_th2s_setoption :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetXTitle" c_th2s_setxtitle -  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetXTitle"+               c_th2s_setxtitle :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetYTitle" c_th2s_setytitle -  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetYTitle"+               c_th2s_setytitle :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetZTitle" c_th2s_setztitle -  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetZTitle"+               c_th2s_setztitle :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_ShowBackground" c_th2s_showbackground -  :: (Ptr RawTH2S) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH2S.h TH2S_ShowBackground"+               c_th2s_showbackground ::+               Ptr RawTH2S -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH2S.h TH2S_ShowPeaks" c_th2s_showpeaks -  :: (Ptr RawTH2S) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_ShowPeaks"+               c_th2s_showpeaks ::+               Ptr RawTH2S -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_Smooth" c_th2s_smooth -  :: (Ptr RawTH2S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_Smooth"+               c_th2s_smooth :: Ptr RawTH2S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_Sumw2" c_th2s_sumw2 -  :: (Ptr RawTH2S) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_Sumw2" c_th2s_sumw2+               :: Ptr RawTH2S -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_Draw" c_th2s_draw -  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetName"+               c_th2s_setname :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_FindObject" c_th2s_findobject -  :: (Ptr RawTH2S) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetNameTitle"+               c_th2s_setnametitle :: Ptr RawTH2S -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_GetName" c_th2s_getname -  :: (Ptr RawTH2S) -> IO CString+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetTitle"+               c_th2s_settitle :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_IsA" c_th2s_isa -  :: (Ptr RawTH2S) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetLineColor"+               c_th2s_getlinecolor :: Ptr RawTH2S -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_Paint" c_th2s_paint -  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetLineStyle"+               c_th2s_getlinestyle :: Ptr RawTH2S -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_printObj" c_th2s_printobj -  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetLineWidth"+               c_th2s_getlinewidth :: Ptr RawTH2S -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_SaveAs" c_th2s_saveas -  :: (Ptr RawTH2S) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_ResetAttLine"+               c_th2s_resetattline :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_Write" c_th2s_write -  :: (Ptr RawTH2S) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetLineAttributes"+               c_th2s_setlineattributes :: Ptr RawTH2S -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_GetLineColor" c_th2s_getlinecolor -  :: (Ptr RawTH2S) -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetLineColor"+               c_th2s_setlinecolor :: Ptr RawTH2S -> CInt -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_GetLineStyle" c_th2s_getlinestyle -  :: (Ptr RawTH2S) -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetLineStyle"+               c_th2s_setlinestyle :: Ptr RawTH2S -> CInt -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_GetLineWidth" c_th2s_getlinewidth -  :: (Ptr RawTH2S) -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetLineWidth"+               c_th2s_setlinewidth :: Ptr RawTH2S -> CInt -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_ResetAttLine" c_th2s_resetattline -  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetFillColor"+               c_th2s_setfillcolor :: Ptr RawTH2S -> CInt -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetLineAttributes" c_th2s_setlineattributes -  :: (Ptr RawTH2S) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetFillStyle"+               c_th2s_setfillstyle :: Ptr RawTH2S -> CInt -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetLineColor" c_th2s_setlinecolor -  :: (Ptr RawTH2S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMarkerColor"+               c_th2s_getmarkercolor :: Ptr RawTH2S -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_SetLineStyle" c_th2s_setlinestyle -  :: (Ptr RawTH2S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMarkerStyle"+               c_th2s_getmarkerstyle :: Ptr RawTH2S -> IO CInt -foreign import ccall "HROOTHistTH2S.h TH2S_SetLineWidth" c_th2s_setlinewidth -  :: (Ptr RawTH2S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetMarkerSize"+               c_th2s_getmarkersize :: Ptr RawTH2S -> IO CDouble -foreign import ccall "HROOTHistTH2S.h TH2S_SetFillColor" c_th2s_setfillcolor -  :: (Ptr RawTH2S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_ResetAttMarker"+               c_th2s_resetattmarker :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetFillStyle" c_th2s_setfillstyle -  :: (Ptr RawTH2S) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH2S.h TH2S_SetMarkerAttributes"+               c_th2s_setmarkerattributes :: Ptr RawTH2S -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_GetMarkerColor" c_th2s_getmarkercolor -  :: (Ptr RawTH2S) -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetMarkerColor"+               c_th2s_setmarkercolor :: Ptr RawTH2S -> CInt -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_GetMarkerStyle" c_th2s_getmarkerstyle -  :: (Ptr RawTH2S) -> IO CInt+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetMarkerStyle"+               c_th2s_setmarkerstyle :: Ptr RawTH2S -> CInt -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_GetMarkerSize" c_th2s_getmarkersize -  :: (Ptr RawTH2S) -> IO CDouble+foreign import ccall safe "HROOTHistTH2S.h TH2S_SetMarkerSize"+               c_th2s_setmarkersize :: Ptr RawTH2S -> CInt -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_ResetAttMarker" c_th2s_resetattmarker -  :: (Ptr RawTH2S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_Draw" c_th2s_draw+               :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_SetMarkerAttributes" c_th2s_setmarkerattributes -  :: (Ptr RawTH2S) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_FindObject"+               c_th2s_findobject :: Ptr RawTH2S -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH2S.h TH2S_SetMarkerColor" c_th2s_setmarkercolor -  :: (Ptr RawTH2S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_GetName"+               c_th2s_getname :: Ptr RawTH2S -> IO CString -foreign import ccall "HROOTHistTH2S.h TH2S_SetMarkerStyle" c_th2s_setmarkerstyle -  :: (Ptr RawTH2S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_IsA" c_th2s_isa ::+               Ptr RawTH2S -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH2S.h TH2S_SetMarkerSize" c_th2s_setmarkersize -  :: (Ptr RawTH2S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_Paint" c_th2s_paint+               :: Ptr RawTH2S -> CString -> IO () -foreign import ccall "HROOTHistTH2S.h TH2S_delete" c_th2s_delete -  :: (Ptr RawTH2S) -> IO ()+foreign import ccall safe "HROOTHistTH2S.h TH2S_printObj"+               c_th2s_printobj :: Ptr RawTH2S -> CString -> IO () +foreign import ccall safe "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 safe "HROOTHistTH2S.h TH2S_delete"+               c_th2s_delete :: Ptr RawTH2S -> IO ()
src/HROOT/Hist/TH2S/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2S.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH2S.RawType import HROOT.Hist.TH2S.FFI import HROOT.Hist.TH2S.Interface@@ -41,9 +42,9 @@ import HROOT.Hist.TH1.RawType import HROOT.Hist.TH1.Cast import HROOT.Hist.TH1.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -53,6 +54,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -60,392 +64,201 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH2S TH2S -instance ITH2S TH2S where instance ITH2 TH2S where-  fill2 = xform2 c_th2s_fill2-  fill2w = xform3 c_th2s_fill2w-  fillN2 = xform5 c_th2s_filln2-  fillRandom2 = xform2 c_th2s_fillrandom2-  findFirstBinAbove2 = xform2 c_th2s_findfirstbinabove2-  findLastBinAbove2 = xform2 c_th2s_findlastbinabove2-  fitSlicesX = xform6 c_th2s_fitslicesx-  fitSlicesY = xform6 c_th2s_fitslicesy-  getCorrelationFactor2 = xform2 c_th2s_getcorrelationfactor2-  getCovariance2 = xform2 c_th2s_getcovariance2-  integral2 = xform5 c_th2s_integral2-  rebinX2 = xform2 c_th2s_rebinx2-  rebinY2 = xform2 c_th2s_rebiny2-  rebin2D = xform3 c_th2s_rebin2d-  setShowProjectionX = xform1 c_th2s_setshowprojectionx-  setShowProjectionY = xform1 c_th2s_setshowprojectiony-instance ITArrayS 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-  drawNormalized = xform2 c_th2s_drawnormalized-  drawPanelTH1 = xform0 c_th2s_drawpanelth1-  bufferEmpty = xform1 c_th2s_bufferempty-  evalF = xform2 c_th2s_evalf-  fFT = xform2 c_th2s_fft-  fill1 = xform1 c_th2s_fill1-  fill1w = xform2 c_th2s_fill1w-  fillN1 = xform4 c_th2s_filln1-  fillRandom = xform2 c_th2s_fillrandom-  findBin = xform3 c_th2s_findbin-  findFixBin = xform3 c_th2s_findfixbin-  findFirstBinAbove = xform2 c_th2s_findfirstbinabove-  findLastBinAbove = xform2 c_th2s_findlastbinabove-  fitPanelTH1 = xform0 c_th2s_fitpanelth1-  getNdivisionA = xform1 c_th2s_getndivisiona-  getAxisColorA = xform1 c_th2s_getaxiscolora-  getLabelColorA = xform1 c_th2s_getlabelcolora-  getLabelFontA = xform1 c_th2s_getlabelfonta-  getLabelOffsetA = xform1 c_th2s_getlabeloffseta-  getLabelSizeA = xform1 c_th2s_getlabelsizea-  getTitleFontA = xform1 c_th2s_gettitlefonta-  getTitleOffsetA = xform1 c_th2s_gettitleoffseta-  getTitleSizeA = xform1 c_th2s_gettitlesizea-  getTickLengthA = xform1 c_th2s_getticklengtha-  getBarOffset = xform0 c_th2s_getbaroffset-  getBarWidth = xform0 c_th2s_getbarwidth-  getContour = xform1 c_th2s_getcontour-  getContourLevel = xform1 c_th2s_getcontourlevel-  getContourLevelPad = xform1 c_th2s_getcontourlevelpad-  getBin = xform3 c_th2s_getbin-  getBinCenter = xform1 c_th2s_getbincenter-  getBinContent1 = xform1 c_th2s_getbincontent1-  getBinContent2 = xform2 c_th2s_getbincontent2-  getBinContent3 = xform3 c_th2s_getbincontent3-  getBinError1 = xform1 c_th2s_getbinerror1-  getBinError2 = xform2 c_th2s_getbinerror2-  getBinError3 = xform3 c_th2s_getbinerror3-  getBinLowEdge = xform1 c_th2s_getbinlowedge-  getBinWidth = xform1 c_th2s_getbinwidth-  getCellContent = xform2 c_th2s_getcellcontent-  getCellError = xform2 c_th2s_getcellerror-  getEntries = xform0 c_th2s_getentries-  getEffectiveEntries = xform0 c_th2s_geteffectiveentries-  getFunction = xform1 c_th2s_getfunction-  getDimension = xform0 c_th2s_getdimension-  getKurtosis = xform1 c_th2s_getkurtosis-  getLowEdge = xform1 c_th2s_getlowedge-  getMaximumTH1 = xform1 c_th2s_getmaximumth1-  getMaximumBin = xform0 c_th2s_getmaximumbin-  getMaximumStored = xform0 c_th2s_getmaximumstored-  getMinimumTH1 = xform1 c_th2s_getminimumth1-  getMinimumBin = xform0 c_th2s_getminimumbin-  getMinimumStored = xform0 c_th2s_getminimumstored-  getMean = xform1 c_th2s_getmean-  getMeanError = xform1 c_th2s_getmeanerror-  getNbinsX = xform0 c_th2s_getnbinsx-  getNbinsY = xform0 c_th2s_getnbinsy-  getNbinsZ = xform0 c_th2s_getnbinsz-  getQuantilesTH1 = xform3 c_th2s_getquantilesth1-  getRandom = xform0 c_th2s_getrandom-  getStats = xform1 c_th2s_getstats-  getSumOfWeights = xform0 c_th2s_getsumofweights-  getSumw2 = xform0 c_th2s_getsumw2-  getSumw2N = xform0 c_th2s_getsumw2n-  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-  labelsInflate = xform1 c_th2s_labelsinflate-  labelsOption = xform2 c_th2s_labelsoption-  multiflyF = xform2 c_th2s_multiflyf-  multiply = xform5 c_th2s_multiply-  putStats = xform1 c_th2s_putstats-  rebin = xform3 c_th2s_rebin-  rebinAxis = xform2 c_th2s_rebinaxis-  rebuild = xform1 c_th2s_rebuild-  recursiveRemove = xform1 c_th2s_recursiveremove-  reset = xform1 c_th2s_reset-  resetStats = xform0 c_th2s_resetstats-  scale = xform2 c_th2s_scale-  setAxisColorA = xform2 c_th2s_setaxiscolora-  setAxisRange = xform3 c_th2s_setaxisrange-  setBarOffset = xform1 c_th2s_setbaroffset-  setBarWidth = xform1 c_th2s_setbarwidth-  setBinContent1 = xform2 c_th2s_setbincontent1-  setBinContent2 = xform3 c_th2s_setbincontent2-  setBinContent3 = xform4 c_th2s_setbincontent3-  setBinError1 = xform2 c_th2s_setbinerror1-  setBinError2 = xform3 c_th2s_setbinerror2-  setBinError3 = xform4 c_th2s_setbinerror3-  setBins1 = xform2 c_th2s_setbins1-  setBins2 = xform4 c_th2s_setbins2-  setBins3 = xform6 c_th2s_setbins3-  setBinsLength = xform1 c_th2s_setbinslength-  setBuffer = xform2 c_th2s_setbuffer-  setCellContent = xform3 c_th2s_setcellcontent-  setContent = xform1 c_th2s_setcontent-  setContour = xform2 c_th2s_setcontour-  setContourLevel = xform2 c_th2s_setcontourlevel-  setDirectory = xform1 c_th2s_setdirectory-  setEntries = xform1 c_th2s_setentries-  setError = xform1 c_th2s_seterror-  setLabelColorA = xform2 c_th2s_setlabelcolora-  setLabelSizeA = xform2 c_th2s_setlabelsizea-  setLabelFontA = xform2 c_th2s_setlabelfonta-  setLabelOffsetA = xform2 c_th2s_setlabeloffseta-  setMaximum = xform1 c_th2s_setmaximum-  setMinimum = xform1 c_th2s_setminimum-  setNormFactor = xform1 c_th2s_setnormfactor-  setStats = xform1 c_th2s_setstats-  setOption = xform1 c_th2s_setoption-  setXTitle = xform1 c_th2s_setxtitle-  setYTitle = xform1 c_th2s_setytitle-  setZTitle = xform1 c_th2s_setztitle-  showBackground = xform2 c_th2s_showbackground-  showPeaks = xform3 c_th2s_showpeaks-  smooth = xform2 c_th2s_smooth-  sumw2 = xform0 c_th2s_sumw2-instance ITObject TH2S where-  draw = xform1 c_th2s_draw-  findObject = xform1 c_th2s_findobject-  getName = xform0 c_th2s_getname-  isA = xform0 c_th2s_isa-  paint = xform1 c_th2s_paint-  printObj = xform1 c_th2s_printobj-  saveAs = xform2 c_th2s_saveas-  write = xform3 c_th2s_write-instance ITAttLine TH2S where-  getLineColor = xform0 c_th2s_getlinecolor-  getLineStyle = xform0 c_th2s_getlinestyle-  getLineWidth = xform0 c_th2s_getlinewidth-  resetAttLine = xform1 c_th2s_resetattline-  setLineAttributes = xform0 c_th2s_setlineattributes-  setLineColor = xform1 c_th2s_setlinecolor-  setLineStyle = xform1 c_th2s_setlinestyle-  setLineWidth = xform1 c_th2s_setlinewidth-instance ITAttFill TH2S where-  setFillColor = xform1 c_th2s_setfillcolor-  setFillStyle = xform1 c_th2s_setfillstyle-instance ITAttMarker TH2S where-  getMarkerColor = xform0 c_th2s_getmarkercolor-  getMarkerStyle = xform0 c_th2s_getmarkerstyle-  getMarkerSize = xform0 c_th2s_getmarkersize-  resetAttMarker = xform1 c_th2s_resetattmarker-  setMarkerAttributes = xform0 c_th2s_setmarkerattributes-  setMarkerColor = xform1 c_th2s_setmarkercolor-  setMarkerStyle = xform1 c_th2s_setmarkerstyle-  setMarkerSize = xform1 c_th2s_setmarkersize-instance IDeletable TH2S where-  delete = xform0 c_th2s_delete-instance ITArray TH2S where--instance ITH2S (Exist TH2S) where--instance ITH2 (Exist TH2S) where-  fill2 (ETH2S x) = fill2 x-  fill2w (ETH2S x) = fill2w x-  fillN2 (ETH2S x) = fillN2 x-  fillRandom2 (ETH2S x) = fillRandom2 x-  findFirstBinAbove2 (ETH2S x) = findFirstBinAbove2 x-  findLastBinAbove2 (ETH2S x) = findLastBinAbove2 x-  fitSlicesX (ETH2S x) = fitSlicesX x-  fitSlicesY (ETH2S x) = fitSlicesY x-  getCorrelationFactor2 (ETH2S x) = getCorrelationFactor2 x-  getCovariance2 (ETH2S x) = getCovariance2 x-  integral2 (ETH2S x) = integral2 x-  rebinX2 (ETH2S x) = rebinX2 x-  rebinY2 (ETH2S x) = rebinY2 x-  rebin2D (ETH2S x) = rebin2D x-  setShowProjectionX (ETH2S x) = setShowProjectionX x-  setShowProjectionY (ETH2S x) = setShowProjectionY x-instance ITArrayS (Exist TH2S) where+        fill2 = xform2 c_th2s_fill2+        fill2w = xform3 c_th2s_fill2w+        fillN2 = xform5 c_th2s_filln2+        fillRandom2 = xform2 c_th2s_fillrandom2+        findFirstBinAbove2 = xform2 c_th2s_findfirstbinabove2+        findLastBinAbove2 = xform2 c_th2s_findlastbinabove2+        fitSlicesX = xform6 c_th2s_fitslicesx+        fitSlicesY = xform6 c_th2s_fitslicesy+        getCorrelationFactor2 = xform2 c_th2s_getcorrelationfactor2+        getCovariance2 = xform2 c_th2s_getcovariance2+        integral2 = xform5 c_th2s_integral2+        rebinX2 = xform2 c_th2s_rebinx2+        rebinY2 = xform2 c_th2s_rebiny2+        rebin2D = xform3 c_th2s_rebin2d+        setShowProjectionX = xform1 c_th2s_setshowprojectionx+        setShowProjectionY = xform1 c_th2s_setshowprojectiony -instance ITH1 (Exist TH2S) where-  add (ETH2S x) = add x-  addBinContent (ETH2S x) = addBinContent x-  chi2Test (ETH2S x) = chi2Test x-  computeIntegral (ETH2S x) = computeIntegral x-  directoryAutoAdd (ETH2S x) = directoryAutoAdd x-  divide (ETH2S x) = divide x-  drawCopyTH1 (ETH2S x) a1 = return . ETH2S =<< drawCopyTH1 x a1-  drawNormalized (ETH2S x) = drawNormalized x-  drawPanelTH1 (ETH2S x) = drawPanelTH1 x-  bufferEmpty (ETH2S x) = bufferEmpty x-  evalF (ETH2S x) = evalF x-  fFT (ETH2S x) = fFT x-  fill1 (ETH2S x) = fill1 x-  fill1w (ETH2S x) = fill1w x-  fillN1 (ETH2S x) = fillN1 x-  fillRandom (ETH2S x) = fillRandom x-  findBin (ETH2S x) = findBin x-  findFixBin (ETH2S x) = findFixBin x-  findFirstBinAbove (ETH2S x) = findFirstBinAbove x-  findLastBinAbove (ETH2S x) = findLastBinAbove x-  fitPanelTH1 (ETH2S x) = fitPanelTH1 x-  getNdivisionA (ETH2S x) = getNdivisionA x-  getAxisColorA (ETH2S x) = getAxisColorA x-  getLabelColorA (ETH2S x) = getLabelColorA x-  getLabelFontA (ETH2S x) = getLabelFontA x-  getLabelOffsetA (ETH2S x) = getLabelOffsetA x-  getLabelSizeA (ETH2S x) = getLabelSizeA x-  getTitleFontA (ETH2S x) = getTitleFontA x-  getTitleOffsetA (ETH2S x) = getTitleOffsetA x-  getTitleSizeA (ETH2S x) = getTitleSizeA x-  getTickLengthA (ETH2S x) = getTickLengthA x-  getBarOffset (ETH2S x) = getBarOffset x-  getBarWidth (ETH2S x) = getBarWidth x-  getContour (ETH2S x) = getContour x-  getContourLevel (ETH2S x) = getContourLevel x-  getContourLevelPad (ETH2S x) = getContourLevelPad x-  getBin (ETH2S x) = getBin x-  getBinCenter (ETH2S x) = getBinCenter x-  getBinContent1 (ETH2S x) = getBinContent1 x-  getBinContent2 (ETH2S x) = getBinContent2 x-  getBinContent3 (ETH2S x) = getBinContent3 x-  getBinError1 (ETH2S x) = getBinError1 x-  getBinError2 (ETH2S x) = getBinError2 x-  getBinError3 (ETH2S x) = getBinError3 x-  getBinLowEdge (ETH2S x) = getBinLowEdge x-  getBinWidth (ETH2S x) = getBinWidth x-  getCellContent (ETH2S x) = getCellContent x-  getCellError (ETH2S x) = getCellError x-  getEntries (ETH2S x) = getEntries x-  getEffectiveEntries (ETH2S x) = getEffectiveEntries x-  getFunction (ETH2S x) = getFunction x-  getDimension (ETH2S x) = getDimension x-  getKurtosis (ETH2S x) = getKurtosis x-  getLowEdge (ETH2S x) = getLowEdge x-  getMaximumTH1 (ETH2S x) = getMaximumTH1 x-  getMaximumBin (ETH2S x) = getMaximumBin x-  getMaximumStored (ETH2S x) = getMaximumStored x-  getMinimumTH1 (ETH2S x) = getMinimumTH1 x-  getMinimumBin (ETH2S x) = getMinimumBin x-  getMinimumStored (ETH2S x) = getMinimumStored x-  getMean (ETH2S x) = getMean x-  getMeanError (ETH2S x) = getMeanError x-  getNbinsX (ETH2S x) = getNbinsX x-  getNbinsY (ETH2S x) = getNbinsY x-  getNbinsZ (ETH2S x) = getNbinsZ x-  getQuantilesTH1 (ETH2S x) = getQuantilesTH1 x-  getRandom (ETH2S x) = getRandom x-  getStats (ETH2S x) = getStats x-  getSumOfWeights (ETH2S x) = getSumOfWeights x-  getSumw2 (ETH2S x) = getSumw2 x-  getSumw2N (ETH2S x) = getSumw2N x-  getRMS (ETH2S x) = getRMS x-  getRMSError (ETH2S x) = getRMSError x-  getSkewness (ETH2S x) = getSkewness x-  integral1 (ETH2S x) = integral1 x-  interpolate1 (ETH2S x) = interpolate1 x-  interpolate2 (ETH2S x) = interpolate2 x-  interpolate3 (ETH2S x) = interpolate3 x-  kolmogorovTest (ETH2S x) = kolmogorovTest x-  labelsDeflate (ETH2S x) = labelsDeflate x-  labelsInflate (ETH2S x) = labelsInflate x-  labelsOption (ETH2S x) = labelsOption x-  multiflyF (ETH2S x) = multiflyF x-  multiply (ETH2S x) = multiply x-  putStats (ETH2S x) = putStats x-  rebin (ETH2S x) = rebin x-  rebinAxis (ETH2S x) = rebinAxis x-  rebuild (ETH2S x) = rebuild x-  recursiveRemove (ETH2S x) = recursiveRemove x-  reset (ETH2S x) = reset x-  resetStats (ETH2S x) = resetStats x-  scale (ETH2S x) = scale x-  setAxisColorA (ETH2S x) = setAxisColorA x-  setAxisRange (ETH2S x) = setAxisRange x-  setBarOffset (ETH2S x) = setBarOffset x-  setBarWidth (ETH2S x) = setBarWidth x-  setBinContent1 (ETH2S x) = setBinContent1 x-  setBinContent2 (ETH2S x) = setBinContent2 x-  setBinContent3 (ETH2S x) = setBinContent3 x-  setBinError1 (ETH2S x) = setBinError1 x-  setBinError2 (ETH2S x) = setBinError2 x-  setBinError3 (ETH2S x) = setBinError3 x-  setBins1 (ETH2S x) = setBins1 x-  setBins2 (ETH2S x) = setBins2 x-  setBins3 (ETH2S x) = setBins3 x-  setBinsLength (ETH2S x) = setBinsLength x-  setBuffer (ETH2S x) = setBuffer x-  setCellContent (ETH2S x) = setCellContent x-  setContent (ETH2S x) = setContent x-  setContour (ETH2S x) = setContour x-  setContourLevel (ETH2S x) = setContourLevel x-  setDirectory (ETH2S x) = setDirectory x-  setEntries (ETH2S x) = setEntries x-  setError (ETH2S x) = setError x-  setLabelColorA (ETH2S x) = setLabelColorA x-  setLabelSizeA (ETH2S x) = setLabelSizeA x-  setLabelFontA (ETH2S x) = setLabelFontA x-  setLabelOffsetA (ETH2S x) = setLabelOffsetA x-  setMaximum (ETH2S x) = setMaximum x-  setMinimum (ETH2S x) = setMinimum x-  setNormFactor (ETH2S x) = setNormFactor x-  setStats (ETH2S x) = setStats x-  setOption (ETH2S x) = setOption x-  setXTitle (ETH2S x) = setXTitle x-  setYTitle (ETH2S x) = setYTitle x-  setZTitle (ETH2S x) = setZTitle x-  showBackground (ETH2S x) = showBackground x-  showPeaks (ETH2S x) = showPeaks x-  smooth (ETH2S x) = smooth x-  sumw2 (ETH2S x) = sumw2 x-instance ITObject (Exist TH2S) where-  draw (ETH2S x) = draw x-  findObject (ETH2S x) = findObject x-  getName (ETH2S x) = getName x-  isA (ETH2S x) = isA x-  paint (ETH2S x) = paint x-  printObj (ETH2S x) = printObj x-  saveAs (ETH2S x) = saveAs x-  write (ETH2S x) = write x-instance ITAttLine (Exist TH2S) where-  getLineColor (ETH2S x) = getLineColor x-  getLineStyle (ETH2S x) = getLineStyle x-  getLineWidth (ETH2S x) = getLineWidth x-  resetAttLine (ETH2S x) = resetAttLine x-  setLineAttributes (ETH2S x) = setLineAttributes x-  setLineColor (ETH2S x) = setLineColor x-  setLineStyle (ETH2S x) = setLineStyle x-  setLineWidth (ETH2S x) = setLineWidth x-instance ITAttFill (Exist TH2S) where-  setFillColor (ETH2S x) = setFillColor x-  setFillStyle (ETH2S x) = setFillStyle x-instance ITAttMarker (Exist TH2S) where-  getMarkerColor (ETH2S x) = getMarkerColor x-  getMarkerStyle (ETH2S x) = getMarkerStyle x-  getMarkerSize (ETH2S x) = getMarkerSize x-  resetAttMarker (ETH2S x) = resetAttMarker x-  setMarkerAttributes (ETH2S x) = setMarkerAttributes x-  setMarkerColor (ETH2S x) = setMarkerColor x-  setMarkerStyle (ETH2S x) = setMarkerStyle x-  setMarkerSize (ETH2S x) = setMarkerSize x-instance IDeletable (Exist TH2S) where-  delete (ETH2S x) = delete x-instance ITArray (Exist TH2S) where+instance ITArrayS TH2S +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+        drawNormalized = xform2 c_th2s_drawnormalized+        drawPanelTH1 = xform0 c_th2s_drawpanelth1+        bufferEmpty = xform1 c_th2s_bufferempty+        evalF = xform2 c_th2s_evalf+        fFT = xform2 c_th2s_fft+        fill1 = xform1 c_th2s_fill1+        fill1w = xform2 c_th2s_fill1w+        fillN1 = xform4 c_th2s_filln1+        fillRandom = xform2 c_th2s_fillrandom+        findBin = xform3 c_th2s_findbin+        findFixBin = xform3 c_th2s_findfixbin+        findFirstBinAbove = xform2 c_th2s_findfirstbinabove+        findLastBinAbove = xform2 c_th2s_findlastbinabove+        fit = xform5 c_th2s_fit+        fitPanelTH1 = xform0 c_th2s_fitpanelth1+        getNdivisionA = xform1 c_th2s_getndivisiona+        getAxisColorA = xform1 c_th2s_getaxiscolora+        getLabelColorA = xform1 c_th2s_getlabelcolora+        getLabelFontA = xform1 c_th2s_getlabelfonta+        getLabelOffsetA = xform1 c_th2s_getlabeloffseta+        getLabelSizeA = xform1 c_th2s_getlabelsizea+        getTitleFontA = xform1 c_th2s_gettitlefonta+        getTitleOffsetA = xform1 c_th2s_gettitleoffseta+        getTitleSizeA = xform1 c_th2s_gettitlesizea+        getTickLengthA = xform1 c_th2s_getticklengtha+        getBarOffset = xform0 c_th2s_getbaroffset+        getBarWidth = xform0 c_th2s_getbarwidth+        getContour = xform1 c_th2s_getcontour+        getContourLevel = xform1 c_th2s_getcontourlevel+        getContourLevelPad = xform1 c_th2s_getcontourlevelpad+        getBin = xform3 c_th2s_getbin+        getBinCenter = xform1 c_th2s_getbincenter+        getBinContent1 = xform1 c_th2s_getbincontent1+        getBinContent2 = xform2 c_th2s_getbincontent2+        getBinContent3 = xform3 c_th2s_getbincontent3+        getBinError1 = xform1 c_th2s_getbinerror1+        getBinError2 = xform2 c_th2s_getbinerror2+        getBinError3 = xform3 c_th2s_getbinerror3+        getBinLowEdge = xform1 c_th2s_getbinlowedge+        getBinWidth = xform1 c_th2s_getbinwidth+        getCellContent = xform2 c_th2s_getcellcontent+        getCellError = xform2 c_th2s_getcellerror+        getEntries = xform0 c_th2s_getentries+        getEffectiveEntries = xform0 c_th2s_geteffectiveentries+        getFunction = xform1 c_th2s_getfunction+        getDimension = xform0 c_th2s_getdimension+        getKurtosis = xform1 c_th2s_getkurtosis+        getLowEdge = xform1 c_th2s_getlowedge+        getMaximumTH1 = xform1 c_th2s_getmaximumth1+        getMaximumBin = xform0 c_th2s_getmaximumbin+        getMaximumStored = xform0 c_th2s_getmaximumstored+        getMinimumTH1 = xform1 c_th2s_getminimumth1+        getMinimumBin = xform0 c_th2s_getminimumbin+        getMinimumStored = xform0 c_th2s_getminimumstored+        getMean = xform1 c_th2s_getmean+        getMeanError = xform1 c_th2s_getmeanerror+        getNbinsX = xform0 c_th2s_getnbinsx+        getNbinsY = xform0 c_th2s_getnbinsy+        getNbinsZ = xform0 c_th2s_getnbinsz+        getQuantilesTH1 = xform3 c_th2s_getquantilesth1+        getRandom = xform0 c_th2s_getrandom+        getStats = xform1 c_th2s_getstats+        getSumOfWeights = xform0 c_th2s_getsumofweights+        getSumw2 = xform0 c_th2s_getsumw2+        getSumw2N = xform0 c_th2s_getsumw2n+        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+        labelsInflate = xform1 c_th2s_labelsinflate+        labelsOption = xform2 c_th2s_labelsoption+        multiflyF = xform2 c_th2s_multiflyf+        multiply = xform5 c_th2s_multiply+        putStats = xform1 c_th2s_putstats+        rebin = xform3 c_th2s_rebin+        rebinAxis = xform2 c_th2s_rebinaxis+        rebuild = xform1 c_th2s_rebuild+        recursiveRemove = xform1 c_th2s_recursiveremove+        reset = xform1 c_th2s_reset+        resetStats = xform0 c_th2s_resetstats+        scale = xform2 c_th2s_scale+        setAxisColorA = xform2 c_th2s_setaxiscolora+        setAxisRange = xform3 c_th2s_setaxisrange+        setBarOffset = xform1 c_th2s_setbaroffset+        setBarWidth = xform1 c_th2s_setbarwidth+        setBinContent1 = xform2 c_th2s_setbincontent1+        setBinContent2 = xform3 c_th2s_setbincontent2+        setBinContent3 = xform4 c_th2s_setbincontent3+        setBinError1 = xform2 c_th2s_setbinerror1+        setBinError2 = xform3 c_th2s_setbinerror2+        setBinError3 = xform4 c_th2s_setbinerror3+        setBins1 = xform2 c_th2s_setbins1+        setBins2 = xform4 c_th2s_setbins2+        setBins3 = xform6 c_th2s_setbins3+        setBinsLength = xform1 c_th2s_setbinslength+        setBuffer = xform2 c_th2s_setbuffer+        setCellContent = xform3 c_th2s_setcellcontent+        setContent = xform1 c_th2s_setcontent+        setContour = xform2 c_th2s_setcontour+        setContourLevel = xform2 c_th2s_setcontourlevel+        setDirectory = xform1 c_th2s_setdirectory+        setEntries = xform1 c_th2s_setentries+        setError = xform1 c_th2s_seterror+        setLabelColorA = xform2 c_th2s_setlabelcolora+        setLabelSizeA = xform2 c_th2s_setlabelsizea+        setLabelFontA = xform2 c_th2s_setlabelfonta+        setLabelOffsetA = xform2 c_th2s_setlabeloffseta+        setMaximum = xform1 c_th2s_setmaximum+        setMinimum = xform1 c_th2s_setminimum+        setNormFactor = xform1 c_th2s_setnormfactor+        setStats = xform1 c_th2s_setstats+        setOption = xform1 c_th2s_setoption+        setXTitle = xform1 c_th2s_setxtitle+        setYTitle = xform1 c_th2s_setytitle+        setZTitle = xform1 c_th2s_setztitle+        showBackground = xform2 c_th2s_showbackground+        showPeaks = xform3 c_th2s_showpeaks+        smooth = xform2 c_th2s_smooth+        sumw2 = xform0 c_th2s_sumw2 +instance ITNamed TH2S where+        setName = xform1 c_th2s_setname+        setNameTitle = xform2 c_th2s_setnametitle+        setTitle = xform1 c_th2s_settitle +instance ITAttLine TH2S where+        getLineColor = xform0 c_th2s_getlinecolor+        getLineStyle = xform0 c_th2s_getlinestyle+        getLineWidth = xform0 c_th2s_getlinewidth+        resetAttLine = xform1 c_th2s_resetattline+        setLineAttributes = xform0 c_th2s_setlineattributes+        setLineColor = xform1 c_th2s_setlinecolor+        setLineStyle = xform1 c_th2s_setlinestyle+        setLineWidth = xform1 c_th2s_setlinewidth +instance ITAttFill TH2S where+        setFillColor = xform1 c_th2s_setfillcolor+        setFillStyle = xform1 c_th2s_setfillstyle +instance ITAttMarker TH2S where+        getMarkerColor = xform0 c_th2s_getmarkercolor+        getMarkerStyle = xform0 c_th2s_getmarkerstyle+        getMarkerSize = xform0 c_th2s_getmarkersize+        resetAttMarker = xform1 c_th2s_resetattmarker+        setMarkerAttributes = xform0 c_th2s_setmarkerattributes+        setMarkerColor = xform1 c_th2s_setmarkercolor+        setMarkerStyle = xform1 c_th2s_setmarkerstyle+        setMarkerSize = xform1 c_th2s_setmarkersize +instance ITObject TH2S where+        draw = xform1 c_th2s_draw+        findObject = xform1 c_th2s_findobject+        getName = xform0 c_th2s_getname+        isA = xform0 c_th2s_isa+        paint = xform1 c_th2s_paint+        printObj = xform1 c_th2s_printobj+        saveAs = xform2 c_th2s_saveas+        write = xform3 c_th2s_write +instance IDeletable TH2S where+        delete = xform0 c_th2s_delete -instance FPtr (Exist TH2S) where-  type Raw (Exist TH2S) = RawTH2S-  get_fptr (ETH2S obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH2S (cast_fptr_to_obj (fptr :: ForeignPtr RawTH2S) :: TH2S)+instance ITArray TH2S
src/HROOT/Hist/TH2S/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH2S.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH2S.RawType- import HROOT.Hist.TH2.Interface import HROOT.Core.TArrayS.Interface----- ============ ---- ---class (ITH2 a,ITArrayS a) => ITH2S a where--instance Existable TH2S where-  data Exist TH2S = forall a. (FPtr a, ITH2S a) => ETH2S a+class (ITH2 a, ITArrayS a) => ITH2S a -upcastTH2S :: (FPtr a, ITH2S a) => a -> TH2S-upcastTH2S h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH2S = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH2S :: forall a . (FPtr a, ITH2S a) => a -> TH2S+upcastTH2S h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH2S = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH2S :: (FPtr a, ITH2S a) => TH2S -> a -downcastTH2S h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH2S :: forall a . (FPtr a, ITH2S a) => TH2S -> a+downcastTH2S h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH2S/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH2S.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH2S -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH2S = TH2S (Ptr RawTH2S)+             deriving (Eq, Ord, Show) -data RawTH2S-newtype TH2S = TH2S (ForeignPtr RawTH2S) deriving (Eq, Ord, Show) instance FPtr TH2S where-   type Raw TH2S = RawTH2S-   get_fptr (TH2S fptr) = fptr-   cast_fptr_to_obj = TH2S+        type Raw TH2S = RawTH2S+        get_fptr (TH2S ptr) = ptr+        cast_fptr_to_obj = TH2S
src/HROOT/Hist/TH3.hs view
@@ -1,18 +1,7 @@ module HROOT.Hist.TH3-  (-    TH3(..)-  , ITH3(..)-  , upcastTH3-  , downcastTH3-  , tH3ProjectionX-  , tH3ProjectionY-  , tH3ProjectionZ-  , tH3Project3D- -  ) where-+       (TH3(..), ITH3(..), upcastTH3, downcastTH3, tH3ProjectionX,+        tH3ProjectionY, tH3ProjectionZ, tH3Project3D)+       where import HROOT.Hist.TH3.RawType import HROOT.Hist.TH3.Interface import HROOT.Hist.TH3.Implementation--
src/HROOT/Hist/TH3/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH3.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH3.RawType import HROOT.Hist.TH3.Interface  instance (ITH3 a, FPtr a) => Castable a (Ptr RawTH3) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH3 (Ptr RawTH3) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH3.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH3.RawType import HROOT.Hist.TH1.RawType import HROOT.Core.TDirectory.RawType@@ -22,515 +12,572 @@ import HROOT.Core.TClass.RawType import HROOT.Hist.TH1D.RawType -#include "HROOTHistTH3.h"+foreign import ccall safe "HROOTHistTH3.h TH3_Add" c_th3_add ::+               Ptr RawTH3 -> Ptr RawTH1 -> CDouble -> IO () -foreign import ccall "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 "HROOTHistTH3.h TH3_AddBinContent" c_th3_addbincontent -  :: (Ptr RawTH3) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_Chi2Test"+               c_th3_chi2test ::+               Ptr RawTH3 -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH3.h TH3_ComputeIntegral" c_th3_computeintegral -  :: (Ptr RawTH3) -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_DirectoryAutoAdd"+               c_th3_directoryautoadd :: Ptr RawTH3 -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH3.h TH3_DirectoryAutoAdd" c_th3_directoryautoadd -  :: (Ptr RawTH3) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_Divide" c_th3_divide+               ::+               Ptr RawTH3 ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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"+               c_th3_drawcopyth1 :: Ptr RawTH3 -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3.h TH3_drawCopyTH1" c_th3_drawcopyth1 -  :: (Ptr RawTH3) -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3.h TH3_DrawNormalized"+               c_th3_drawnormalized ::+               Ptr RawTH3 -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH3.h TH3_drawPanelTH1" c_th3_drawpanelth1 -  :: (Ptr RawTH3) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_BufferEmpty"+               c_th3_bufferempty :: Ptr RawTH3 -> CInt -> IO CInt -foreign import ccall "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 "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 "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 "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 "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 "HROOTHistTH3.h TH3_fillN1" c_th3_filln1 -  :: (Ptr RawTH3) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_FillRandom"+               c_th3_fillrandom :: Ptr RawTH3 -> Ptr RawTH1 -> CInt -> IO () -foreign import ccall "HROOTHistTH3.h TH3_FillRandom" c_th3_fillrandom -  :: (Ptr RawTH3) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_FindBin"+               c_th3_findbin ::+               Ptr RawTH3 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_FindBin" c_th3_findbin -  :: (Ptr RawTH3) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_FindFixBin"+               c_th3_findfixbin ::+               Ptr RawTH3 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "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 "HROOTHistTH3.h TH3_FindLastBinAbove" c_th3_findlastbinabove -  :: (Ptr RawTH3) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_Fit" c_th3_fit ::+               Ptr RawTH3 ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_FitPanelTH1" c_th3_fitpanelth1 -  :: (Ptr RawTH3) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_FitPanelTH1"+               c_th3_fitpanelth1 :: Ptr RawTH3 -> IO () -foreign import ccall "HROOTHistTH3.h TH3_getNdivisionA" c_th3_getndivisiona -  :: (Ptr RawTH3) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_getNdivisionA"+               c_th3_getndivisiona :: Ptr RawTH3 -> CString -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_getAxisColorA" c_th3_getaxiscolora -  :: (Ptr RawTH3) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_getAxisColorA"+               c_th3_getaxiscolora :: Ptr RawTH3 -> CString -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_getLabelColorA" c_th3_getlabelcolora -  :: (Ptr RawTH3) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_getLabelColorA"+               c_th3_getlabelcolora :: Ptr RawTH3 -> CString -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_getLabelFontA" c_th3_getlabelfonta -  :: (Ptr RawTH3) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_getLabelFontA"+               c_th3_getlabelfonta :: Ptr RawTH3 -> CString -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_getLabelOffsetA" c_th3_getlabeloffseta -  :: (Ptr RawTH3) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_getLabelOffsetA"+               c_th3_getlabeloffseta :: Ptr RawTH3 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_getLabelSizeA" c_th3_getlabelsizea -  :: (Ptr RawTH3) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_getLabelSizeA"+               c_th3_getlabelsizea :: Ptr RawTH3 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_getTitleFontA" c_th3_gettitlefonta -  :: (Ptr RawTH3) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_getTitleFontA"+               c_th3_gettitlefonta :: Ptr RawTH3 -> CString -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_getTitleOffsetA" c_th3_gettitleoffseta -  :: (Ptr RawTH3) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_getTitleOffsetA"+               c_th3_gettitleoffseta :: Ptr RawTH3 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_getTitleSizeA" c_th3_gettitlesizea -  :: (Ptr RawTH3) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_getTitleSizeA"+               c_th3_gettitlesizea :: Ptr RawTH3 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_getTickLengthA" c_th3_getticklengtha -  :: (Ptr RawTH3) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_getTickLengthA"+               c_th3_getticklengtha :: Ptr RawTH3 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetBarOffset" c_th3_getbaroffset -  :: (Ptr RawTH3) -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetBarOffset"+               c_th3_getbaroffset :: Ptr RawTH3 -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetBarWidth" c_th3_getbarwidth -  :: (Ptr RawTH3) -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetBarWidth"+               c_th3_getbarwidth :: Ptr RawTH3 -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetContour" c_th3_getcontour -  :: (Ptr RawTH3) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_GetContour"+               c_th3_getcontour :: Ptr RawTH3 -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_GetContourLevel" c_th3_getcontourlevel -  :: (Ptr RawTH3) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetContourLevel"+               c_th3_getcontourlevel :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetContourLevelPad" c_th3_getcontourlevelpad -  :: (Ptr RawTH3) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetContourLevelPad"+               c_th3_getcontourlevelpad :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetBin" c_th3_getbin -  :: (Ptr RawTH3) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_GetBin" c_th3_getbin+               :: Ptr RawTH3 -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_GetBinCenter" c_th3_getbincenter -  :: (Ptr RawTH3) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetBinCenter"+               c_th3_getbincenter :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetBinContent1" c_th3_getbincontent1 -  :: (Ptr RawTH3) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetBinContent1"+               c_th3_getbincontent1 :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetBinContent2" c_th3_getbincontent2 -  :: (Ptr RawTH3) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetBinContent2"+               c_th3_getbincontent2 :: Ptr RawTH3 -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetBinContent3" c_th3_getbincontent3 -  :: (Ptr RawTH3) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetBinContent3"+               c_th3_getbincontent3 ::+               Ptr RawTH3 -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetBinError1" c_th3_getbinerror1 -  :: (Ptr RawTH3) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetBinError1"+               c_th3_getbinerror1 :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetBinError2" c_th3_getbinerror2 -  :: (Ptr RawTH3) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetBinError2"+               c_th3_getbinerror2 :: Ptr RawTH3 -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetBinError3" c_th3_getbinerror3 -  :: (Ptr RawTH3) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetBinError3"+               c_th3_getbinerror3 ::+               Ptr RawTH3 -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetBinLowEdge" c_th3_getbinlowedge -  :: (Ptr RawTH3) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetBinLowEdge"+               c_th3_getbinlowedge :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetBinWidth" c_th3_getbinwidth -  :: (Ptr RawTH3) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetBinWidth"+               c_th3_getbinwidth :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetCellContent" c_th3_getcellcontent -  :: (Ptr RawTH3) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetCellContent"+               c_th3_getcellcontent :: Ptr RawTH3 -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetCellError" c_th3_getcellerror -  :: (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 "HROOTHistTH3.h TH3_GetEntries" c_th3_getentries -  :: (Ptr RawTH3) -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetEntries"+               c_th3_getentries :: Ptr RawTH3 -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetEffectiveEntries" c_th3_geteffectiveentries -  :: (Ptr RawTH3) -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetEffectiveEntries"+               c_th3_geteffectiveentries :: Ptr RawTH3 -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetFunction" c_th3_getfunction -  :: (Ptr RawTH3) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH3.h TH3_GetFunction"+               c_th3_getfunction :: Ptr RawTH3 -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH3.h TH3_GetDimension" c_th3_getdimension -  :: (Ptr RawTH3) -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_GetDimension"+               c_th3_getdimension :: Ptr RawTH3 -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_GetKurtosis" c_th3_getkurtosis -  :: (Ptr RawTH3) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetKurtosis"+               c_th3_getkurtosis :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetLowEdge" c_th3_getlowedge -  :: (Ptr RawTH3) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_GetLowEdge"+               c_th3_getlowedge :: Ptr RawTH3 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3.h TH3_getMaximumTH1" c_th3_getmaximumth1 -  :: (Ptr RawTH3) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_getMaximumTH1"+               c_th3_getmaximumth1 :: Ptr RawTH3 -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetMaximumBin" c_th3_getmaximumbin -  :: (Ptr RawTH3) -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_GetMaximumBin"+               c_th3_getmaximumbin :: Ptr RawTH3 -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_GetMaximumStored" c_th3_getmaximumstored -  :: (Ptr RawTH3) -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetMaximumStored"+               c_th3_getmaximumstored :: Ptr RawTH3 -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_getMinimumTH1" c_th3_getminimumth1 -  :: (Ptr RawTH3) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_getMinimumTH1"+               c_th3_getminimumth1 :: Ptr RawTH3 -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetMinimumBin" c_th3_getminimumbin -  :: (Ptr RawTH3) -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_GetMinimumBin"+               c_th3_getminimumbin :: Ptr RawTH3 -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_GetMinimumStored" c_th3_getminimumstored -  :: (Ptr RawTH3) -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetMinimumStored"+               c_th3_getminimumstored :: Ptr RawTH3 -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetMean" c_th3_getmean -  :: (Ptr RawTH3) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetMean"+               c_th3_getmean :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetMeanError" c_th3_getmeanerror -  :: (Ptr RawTH3) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetMeanError"+               c_th3_getmeanerror :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetNbinsX" c_th3_getnbinsx -  :: (Ptr RawTH3) -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetNbinsX"+               c_th3_getnbinsx :: Ptr RawTH3 -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetNbinsY" c_th3_getnbinsy -  :: (Ptr RawTH3) -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetNbinsY"+               c_th3_getnbinsy :: Ptr RawTH3 -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetNbinsZ" c_th3_getnbinsz -  :: (Ptr RawTH3) -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetNbinsZ"+               c_th3_getnbinsz :: Ptr RawTH3 -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_getQuantilesTH1" c_th3_getquantilesth1 -  :: (Ptr RawTH3) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_getQuantilesTH1"+               c_th3_getquantilesth1 ::+               Ptr RawTH3 -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_GetRandom" c_th3_getrandom -  :: (Ptr RawTH3) -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetRandom"+               c_th3_getrandom :: Ptr RawTH3 -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetStats" c_th3_getstats -  :: (Ptr RawTH3) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_GetStats"+               c_th3_getstats :: Ptr RawTH3 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3.h TH3_GetSumOfWeights" c_th3_getsumofweights -  :: (Ptr RawTH3) -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetSumOfWeights"+               c_th3_getsumofweights :: Ptr RawTH3 -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetSumw2" c_th3_getsumw2 -  :: (Ptr RawTH3) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH3.h TH3_GetSumw2"+               c_th3_getsumw2 :: Ptr RawTH3 -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH3.h TH3_GetSumw2N" c_th3_getsumw2n -  :: (Ptr RawTH3) -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_GetSumw2N"+               c_th3_getsumw2n :: Ptr RawTH3 -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_GetRMS" c_th3_getrms -  :: (Ptr RawTH3) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetRMS" c_th3_getrms+               :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetRMSError" c_th3_getrmserror -  :: (Ptr RawTH3) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetRMSError"+               c_th3_getrmserror :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_GetSkewness" c_th3_getskewness -  :: (Ptr RawTH3) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_GetSkewness"+               c_th3_getskewness :: Ptr RawTH3 -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_integral1" c_th3_integral1 -  :: (Ptr RawTH3) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_integral1"+               c_th3_integral1 ::+               Ptr RawTH3 -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_interpolate1" c_th3_interpolate1 -  :: (Ptr RawTH3) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_interpolate1"+               c_th3_interpolate1 :: Ptr RawTH3 -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_interpolate2" c_th3_interpolate2 -  :: (Ptr RawTH3) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_interpolate2"+               c_th3_interpolate2 ::+               Ptr RawTH3 -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_interpolate3" c_th3_interpolate3 -  :: (Ptr RawTH3) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_interpolate3"+               c_th3_interpolate3 ::+               Ptr RawTH3 -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_KolmogorovTest" c_th3_kolmogorovtest -  :: (Ptr RawTH3) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_KolmogorovTest"+               c_th3_kolmogorovtest ::+               Ptr RawTH3 -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_LabelsDeflate" c_th3_labelsdeflate -  :: (Ptr RawTH3) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_LabelsDeflate"+               c_th3_labelsdeflate :: Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_LabelsInflate" c_th3_labelsinflate -  :: (Ptr RawTH3) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_LabelsInflate"+               c_th3_labelsinflate :: Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_LabelsOption" c_th3_labelsoption -  :: (Ptr RawTH3) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_LabelsOption"+               c_th3_labelsoption :: Ptr RawTH3 -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_multiflyF" c_th3_multiflyf -  :: (Ptr RawTH3) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_multiflyF"+               c_th3_multiflyf :: Ptr RawTH3 -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_Multiply" c_th3_multiply -  :: (Ptr RawTH3) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_Multiply"+               c_th3_multiply ::+               Ptr RawTH3 ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_PutStats" c_th3_putstats -  :: (Ptr RawTH3) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_PutStats"+               c_th3_putstats :: Ptr RawTH3 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3.h TH3_Rebin" c_th3_rebin -  :: (Ptr RawTH3) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH3.h TH3_Rebin" c_th3_rebin ::+               Ptr RawTH3 -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH3.h TH3_RebinAxis" c_th3_rebinaxis -  :: (Ptr RawTH3) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_RebinAxis"+               c_th3_rebinaxis :: Ptr RawTH3 -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH3.h TH3_Rebuild" c_th3_rebuild -  :: (Ptr RawTH3) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_Rebuild"+               c_th3_rebuild :: Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_RecursiveRemove" c_th3_recursiveremove -  :: (Ptr RawTH3) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_RecursiveRemove"+               c_th3_recursiveremove :: Ptr RawTH3 -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH3.h TH3_Reset" c_th3_reset -  :: (Ptr RawTH3) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_Reset" c_th3_reset ::+               Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_ResetStats" c_th3_resetstats -  :: (Ptr RawTH3) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_ResetStats"+               c_th3_resetstats :: Ptr RawTH3 -> IO () -foreign import ccall "HROOTHistTH3.h TH3_Scale" c_th3_scale -  :: (Ptr RawTH3) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_Scale" c_th3_scale ::+               Ptr RawTH3 -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setAxisColorA" c_th3_setaxiscolora -  :: (Ptr RawTH3) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setAxisColorA"+               c_th3_setaxiscolora :: Ptr RawTH3 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetAxisRange" c_th3_setaxisrange -  :: (Ptr RawTH3) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetAxisRange"+               c_th3_setaxisrange ::+               Ptr RawTH3 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetBarOffset" c_th3_setbaroffset -  :: (Ptr RawTH3) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetBarOffset"+               c_th3_setbaroffset :: Ptr RawTH3 -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetBarWidth" c_th3_setbarwidth -  :: (Ptr RawTH3) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetBarWidth"+               c_th3_setbarwidth :: Ptr RawTH3 -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setBinContent1" c_th3_setbincontent1 -  :: (Ptr RawTH3) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setBinContent1"+               c_th3_setbincontent1 :: Ptr RawTH3 -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setBinContent2" c_th3_setbincontent2 -  :: (Ptr RawTH3) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setBinContent2"+               c_th3_setbincontent2 ::+               Ptr RawTH3 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setBinContent3" c_th3_setbincontent3 -  :: (Ptr RawTH3) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setBinContent3"+               c_th3_setbincontent3 ::+               Ptr RawTH3 -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setBinError1" c_th3_setbinerror1 -  :: (Ptr RawTH3) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setBinError1"+               c_th3_setbinerror1 :: Ptr RawTH3 -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setBinError2" c_th3_setbinerror2 -  :: (Ptr RawTH3) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setBinError2"+               c_th3_setbinerror2 ::+               Ptr RawTH3 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setBinError3" c_th3_setbinerror3 -  :: (Ptr RawTH3) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setBinError3"+               c_th3_setbinerror3 ::+               Ptr RawTH3 -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setBins1" c_th3_setbins1 -  :: (Ptr RawTH3) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setBins1"+               c_th3_setbins1 :: Ptr RawTH3 -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setBins2" c_th3_setbins2 -  :: (Ptr RawTH3) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setBins2"+               c_th3_setbins2 ::+               Ptr RawTH3 ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setBins3" c_th3_setbins3 -  :: (Ptr RawTH3) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setBins3"+               c_th3_setbins3 ::+               Ptr RawTH3 ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetBinsLength" c_th3_setbinslength -  :: (Ptr RawTH3) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetBinsLength"+               c_th3_setbinslength :: Ptr RawTH3 -> CInt -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetBuffer" c_th3_setbuffer -  :: (Ptr RawTH3) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetBuffer"+               c_th3_setbuffer :: Ptr RawTH3 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetCellContent" c_th3_setcellcontent -  :: (Ptr RawTH3) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetCellContent"+               c_th3_setcellcontent ::+               Ptr RawTH3 -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetContent" c_th3_setcontent -  :: (Ptr RawTH3) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetContent"+               c_th3_setcontent :: Ptr RawTH3 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetContour" c_th3_setcontour -  :: (Ptr RawTH3) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetContour"+               c_th3_setcontour :: Ptr RawTH3 -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetContourLevel" c_th3_setcontourlevel -  :: (Ptr RawTH3) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetContourLevel"+               c_th3_setcontourlevel :: Ptr RawTH3 -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetDirectory" c_th3_setdirectory -  :: (Ptr RawTH3) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetDirectory"+               c_th3_setdirectory :: Ptr RawTH3 -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetEntries" c_th3_setentries -  :: (Ptr RawTH3) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetEntries"+               c_th3_setentries :: Ptr RawTH3 -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetError" c_th3_seterror -  :: (Ptr RawTH3) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetError"+               c_th3_seterror :: Ptr RawTH3 -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setLabelColorA" c_th3_setlabelcolora -  :: (Ptr RawTH3) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setLabelColorA"+               c_th3_setlabelcolora :: Ptr RawTH3 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setLabelSizeA" c_th3_setlabelsizea -  :: (Ptr RawTH3) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setLabelSizeA"+               c_th3_setlabelsizea :: Ptr RawTH3 -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setLabelFontA" c_th3_setlabelfonta -  :: (Ptr RawTH3) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setLabelFontA"+               c_th3_setlabelfonta :: Ptr RawTH3 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_setLabelOffsetA" c_th3_setlabeloffseta -  :: (Ptr RawTH3) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_setLabelOffsetA"+               c_th3_setlabeloffseta :: Ptr RawTH3 -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetMaximum" c_th3_setmaximum -  :: (Ptr RawTH3) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetMaximum"+               c_th3_setmaximum :: Ptr RawTH3 -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetMinimum" c_th3_setminimum -  :: (Ptr RawTH3) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetMinimum"+               c_th3_setminimum :: Ptr RawTH3 -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetNormFactor" c_th3_setnormfactor -  :: (Ptr RawTH3) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetNormFactor"+               c_th3_setnormfactor :: Ptr RawTH3 -> CDouble -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetStats" c_th3_setstats -  :: (Ptr RawTH3) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetStats"+               c_th3_setstats :: Ptr RawTH3 -> CInt -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetOption" c_th3_setoption -  :: (Ptr RawTH3) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetOption"+               c_th3_setoption :: Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetXTitle" c_th3_setxtitle -  :: (Ptr RawTH3) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetXTitle"+               c_th3_setxtitle :: Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetYTitle" c_th3_setytitle -  :: (Ptr RawTH3) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetYTitle"+               c_th3_setytitle :: Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetZTitle" c_th3_setztitle -  :: (Ptr RawTH3) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetZTitle"+               c_th3_setztitle :: Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_ShowBackground" c_th3_showbackground -  :: (Ptr RawTH3) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH3.h TH3_ShowBackground"+               c_th3_showbackground ::+               Ptr RawTH3 -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH3.h TH3_ShowPeaks" c_th3_showpeaks -  :: (Ptr RawTH3) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_ShowPeaks"+               c_th3_showpeaks ::+               Ptr RawTH3 -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_Smooth" c_th3_smooth -  :: (Ptr RawTH3) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_Smooth" c_th3_smooth+               :: Ptr RawTH3 -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_Sumw2" c_th3_sumw2 -  :: (Ptr RawTH3) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_Sumw2" c_th3_sumw2 ::+               Ptr RawTH3 -> IO () -foreign import ccall "HROOTHistTH3.h TH3_Draw" c_th3_draw -  :: (Ptr RawTH3) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetName"+               c_th3_setname :: Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_FindObject" c_th3_findobject -  :: (Ptr RawTH3) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH3.h TH3_SetNameTitle"+               c_th3_setnametitle :: Ptr RawTH3 -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_GetName" c_th3_getname -  :: (Ptr RawTH3) -> IO CString+foreign import ccall safe "HROOTHistTH3.h TH3_SetTitle"+               c_th3_settitle :: Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_IsA" c_th3_isa -  :: (Ptr RawTH3) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH3.h TH3_GetLineColor"+               c_th3_getlinecolor :: Ptr RawTH3 -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_Paint" c_th3_paint -  :: (Ptr RawTH3) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_GetLineStyle"+               c_th3_getlinestyle :: Ptr RawTH3 -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_printObj" c_th3_printobj -  :: (Ptr RawTH3) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_GetLineWidth"+               c_th3_getlinewidth :: Ptr RawTH3 -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_SaveAs" c_th3_saveas -  :: (Ptr RawTH3) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_ResetAttLine"+               c_th3_resetattline :: Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_Write" c_th3_write -  :: (Ptr RawTH3) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_SetLineAttributes"+               c_th3_setlineattributes :: Ptr RawTH3 -> IO () -foreign import ccall "HROOTHistTH3.h TH3_GetLineColor" c_th3_getlinecolor -  :: (Ptr RawTH3) -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_SetLineColor"+               c_th3_setlinecolor :: Ptr RawTH3 -> CInt -> IO () -foreign import ccall "HROOTHistTH3.h TH3_GetLineStyle" c_th3_getlinestyle -  :: (Ptr RawTH3) -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_SetLineStyle"+               c_th3_setlinestyle :: Ptr RawTH3 -> CInt -> IO () -foreign import ccall "HROOTHistTH3.h TH3_GetLineWidth" c_th3_getlinewidth -  :: (Ptr RawTH3) -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_SetLineWidth"+               c_th3_setlinewidth :: Ptr RawTH3 -> CInt -> IO () -foreign import ccall "HROOTHistTH3.h TH3_ResetAttLine" c_th3_resetattline -  :: (Ptr RawTH3) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetFillColor"+               c_th3_setfillcolor :: Ptr RawTH3 -> CInt -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetLineAttributes" c_th3_setlineattributes -  :: (Ptr RawTH3) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetFillStyle"+               c_th3_setfillstyle :: Ptr RawTH3 -> CInt -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetLineColor" c_th3_setlinecolor -  :: (Ptr RawTH3) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_GetMarkerColor"+               c_th3_getmarkercolor :: Ptr RawTH3 -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_SetLineStyle" c_th3_setlinestyle -  :: (Ptr RawTH3) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_GetMarkerStyle"+               c_th3_getmarkerstyle :: Ptr RawTH3 -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_SetLineWidth" c_th3_setlinewidth -  :: (Ptr RawTH3) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_GetMarkerSize"+               c_th3_getmarkersize :: Ptr RawTH3 -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_SetFillColor" c_th3_setfillcolor -  :: (Ptr RawTH3) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_ResetAttMarker"+               c_th3_resetattmarker :: Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetFillStyle" c_th3_setfillstyle -  :: (Ptr RawTH3) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_SetMarkerAttributes"+               c_th3_setmarkerattributes :: Ptr RawTH3 -> IO () -foreign import ccall "HROOTHistTH3.h TH3_GetMarkerColor" c_th3_getmarkercolor -  :: (Ptr RawTH3) -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_SetMarkerColor"+               c_th3_setmarkercolor :: Ptr RawTH3 -> CInt -> IO () -foreign import ccall "HROOTHistTH3.h TH3_GetMarkerStyle" c_th3_getmarkerstyle -  :: (Ptr RawTH3) -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_SetMarkerStyle"+               c_th3_setmarkerstyle :: Ptr RawTH3 -> CInt -> IO () -foreign import ccall "HROOTHistTH3.h TH3_GetMarkerSize" c_th3_getmarkersize -  :: (Ptr RawTH3) -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_SetMarkerSize"+               c_th3_setmarkersize :: Ptr RawTH3 -> CInt -> IO () -foreign import ccall "HROOTHistTH3.h TH3_ResetAttMarker" c_th3_resetattmarker -  :: (Ptr RawTH3) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_Draw" c_th3_draw ::+               Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_SetMarkerAttributes" c_th3_setmarkerattributes -  :: (Ptr RawTH3) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_FindObject"+               c_th3_findobject :: Ptr RawTH3 -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH3.h TH3_SetMarkerColor" c_th3_setmarkercolor -  :: (Ptr RawTH3) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_GetName"+               c_th3_getname :: Ptr RawTH3 -> IO CString -foreign import ccall "HROOTHistTH3.h TH3_SetMarkerStyle" c_th3_setmarkerstyle -  :: (Ptr RawTH3) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_IsA" c_th3_isa ::+               Ptr RawTH3 -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH3.h TH3_SetMarkerSize" c_th3_setmarkersize -  :: (Ptr RawTH3) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_Paint" c_th3_paint ::+               Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_delete" c_th3_delete -  :: (Ptr RawTH3) -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_printObj"+               c_th3_printobj :: Ptr RawTH3 -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_fill3" c_th3_fill3 -  :: (Ptr RawTH3) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_SaveAs" c_th3_saveas+               :: Ptr RawTH3 -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_fill3w" c_th3_fill3w -  :: (Ptr RawTH3) -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3.h TH3_Write" c_th3_write ::+               Ptr RawTH3 -> CString -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_FitSlicesZ" c_th3_fitslicesz -  :: (Ptr RawTH3) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3.h TH3_delete" c_th3_delete+               :: Ptr RawTH3 -> IO () -foreign import ccall "HROOTHistTH3.h TH3_getCorrelationFactor3" c_th3_getcorrelationfactor3 -  :: (Ptr RawTH3) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_fill3" c_th3_fill3 ::+               Ptr RawTH3 -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_getCovariance3" c_th3_getcovariance3 -  :: (Ptr RawTH3) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3.h TH3_fill3w" c_th3_fill3w+               ::+               Ptr RawTH3 -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3.h TH3_tH3ProjectionX" c_th3_th3projectionx -  :: (Ptr RawTH3) -> CString -> CInt -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH1D)+foreign import ccall safe "HROOTHistTH3.h TH3_FitSlicesZ"+               c_th3_fitslicesz ::+               Ptr RawTH3 ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3.h TH3_tH3ProjectionY" c_th3_th3projectiony -  :: (Ptr RawTH3) -> CString -> CInt -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH1D)+foreign import ccall safe+               "HROOTHistTH3.h TH3_getCorrelationFactor3"+               c_th3_getcorrelationfactor3 ::+               Ptr RawTH3 -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_tH3ProjectionZ" c_th3_th3projectionz -  :: (Ptr RawTH3) -> CString -> CInt -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH1D)+foreign import ccall safe "HROOTHistTH3.h TH3_getCovariance3"+               c_th3_getcovariance3 :: Ptr RawTH3 -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3.h TH3_tH3Project3D" c_th3_th3project3d -  :: (Ptr RawTH3) -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH3.h TH3_tH3ProjectionX"+               c_th3_th3projectionx ::+               Ptr RawTH3 ->+                 CString ->+                   CInt -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH1D) -foreign import ccall "HROOTHistTH3.h TH3_rebinX3" c_th3_rebinx3 -  :: (Ptr RawTH3) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3.h TH3_tH3ProjectionY"+               c_th3_th3projectiony ::+               Ptr RawTH3 ->+                 CString ->+                   CInt -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH1D) -foreign import ccall "HROOTHistTH3.h TH3_rebinY3" c_th3_rebiny3 -  :: (Ptr RawTH3) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3.h TH3_tH3ProjectionZ"+               c_th3_th3projectionz ::+               Ptr RawTH3 ->+                 CString ->+                   CInt -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH1D) -foreign import ccall "HROOTHistTH3.h TH3_rebinZ3" c_th3_rebinz3 -  :: (Ptr RawTH3) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3.h TH3_tH3Project3D"+               c_th3_th3project3d :: Ptr RawTH3 -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH3.h TH3_Rebin3D" c_th3_rebin3d -  :: (Ptr RawTH3) -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3.h TH3_rebinX3"+               c_th3_rebinx3 :: Ptr RawTH3 -> CInt -> CString -> IO (Ptr RawTH3) +foreign import ccall safe "HROOTHistTH3.h TH3_rebinY3"+               c_th3_rebiny3 :: Ptr RawTH3 -> CInt -> CString -> IO (Ptr RawTH3)++foreign import ccall safe "HROOTHistTH3.h TH3_rebinZ3"+               c_th3_rebinz3 :: Ptr RawTH3 -> CInt -> CString -> IO (Ptr RawTH3)++foreign import ccall safe "HROOTHistTH3.h TH3_Rebin3D"+               c_th3_rebin3d ::+               Ptr RawTH3 -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH3)
src/HROOT/Hist/TH3/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH3.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH3.RawType import HROOT.Hist.TH3.FFI import HROOT.Hist.TH3.Interface@@ -35,9 +36,9 @@ import HROOT.Core.TAtt3D.RawType import HROOT.Core.TAtt3D.Cast import HROOT.Core.TAtt3D.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -47,386 +48,215 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr+instance ITH3 TH3 where+        fill3 = xform3 c_th3_fill3+        fill3w = xform4 c_th3_fill3w+        fitSlicesZ = xform7 c_th3_fitslicesz+        getCorrelationFactor3 = xform2 c_th3_getcorrelationfactor3+        getCovariance3 = xform2 c_th3_getcovariance3+        rebinX3 = xform2 c_th3_rebinx3+        rebinY3 = xform2 c_th3_rebiny3+        rebinZ3 = xform2 c_th3_rebinz3+        rebin3D = xform4 c_th3_rebin3d -import System.IO.Unsafe+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+        drawNormalized = xform2 c_th3_drawnormalized+        drawPanelTH1 = xform0 c_th3_drawpanelth1+        bufferEmpty = xform1 c_th3_bufferempty+        evalF = xform2 c_th3_evalf+        fFT = xform2 c_th3_fft+        fill1 = xform1 c_th3_fill1+        fill1w = xform2 c_th3_fill1w+        fillN1 = xform4 c_th3_filln1+        fillRandom = xform2 c_th3_fillrandom+        findBin = xform3 c_th3_findbin+        findFixBin = xform3 c_th3_findfixbin+        findFirstBinAbove = xform2 c_th3_findfirstbinabove+        findLastBinAbove = xform2 c_th3_findlastbinabove+        fit = xform5 c_th3_fit+        fitPanelTH1 = xform0 c_th3_fitpanelth1+        getNdivisionA = xform1 c_th3_getndivisiona+        getAxisColorA = xform1 c_th3_getaxiscolora+        getLabelColorA = xform1 c_th3_getlabelcolora+        getLabelFontA = xform1 c_th3_getlabelfonta+        getLabelOffsetA = xform1 c_th3_getlabeloffseta+        getLabelSizeA = xform1 c_th3_getlabelsizea+        getTitleFontA = xform1 c_th3_gettitlefonta+        getTitleOffsetA = xform1 c_th3_gettitleoffseta+        getTitleSizeA = xform1 c_th3_gettitlesizea+        getTickLengthA = xform1 c_th3_getticklengtha+        getBarOffset = xform0 c_th3_getbaroffset+        getBarWidth = xform0 c_th3_getbarwidth+        getContour = xform1 c_th3_getcontour+        getContourLevel = xform1 c_th3_getcontourlevel+        getContourLevelPad = xform1 c_th3_getcontourlevelpad+        getBin = xform3 c_th3_getbin+        getBinCenter = xform1 c_th3_getbincenter+        getBinContent1 = xform1 c_th3_getbincontent1+        getBinContent2 = xform2 c_th3_getbincontent2+        getBinContent3 = xform3 c_th3_getbincontent3+        getBinError1 = xform1 c_th3_getbinerror1+        getBinError2 = xform2 c_th3_getbinerror2+        getBinError3 = xform3 c_th3_getbinerror3+        getBinLowEdge = xform1 c_th3_getbinlowedge+        getBinWidth = xform1 c_th3_getbinwidth+        getCellContent = xform2 c_th3_getcellcontent+        getCellError = xform2 c_th3_getcellerror+        getEntries = xform0 c_th3_getentries+        getEffectiveEntries = xform0 c_th3_geteffectiveentries+        getFunction = xform1 c_th3_getfunction+        getDimension = xform0 c_th3_getdimension+        getKurtosis = xform1 c_th3_getkurtosis+        getLowEdge = xform1 c_th3_getlowedge+        getMaximumTH1 = xform1 c_th3_getmaximumth1+        getMaximumBin = xform0 c_th3_getmaximumbin+        getMaximumStored = xform0 c_th3_getmaximumstored+        getMinimumTH1 = xform1 c_th3_getminimumth1+        getMinimumBin = xform0 c_th3_getminimumbin+        getMinimumStored = xform0 c_th3_getminimumstored+        getMean = xform1 c_th3_getmean+        getMeanError = xform1 c_th3_getmeanerror+        getNbinsX = xform0 c_th3_getnbinsx+        getNbinsY = xform0 c_th3_getnbinsy+        getNbinsZ = xform0 c_th3_getnbinsz+        getQuantilesTH1 = xform3 c_th3_getquantilesth1+        getRandom = xform0 c_th3_getrandom+        getStats = xform1 c_th3_getstats+        getSumOfWeights = xform0 c_th3_getsumofweights+        getSumw2 = xform0 c_th3_getsumw2+        getSumw2N = xform0 c_th3_getsumw2n+        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+        labelsInflate = xform1 c_th3_labelsinflate+        labelsOption = xform2 c_th3_labelsoption+        multiflyF = xform2 c_th3_multiflyf+        multiply = xform5 c_th3_multiply+        putStats = xform1 c_th3_putstats+        rebin = xform3 c_th3_rebin+        rebinAxis = xform2 c_th3_rebinaxis+        rebuild = xform1 c_th3_rebuild+        recursiveRemove = xform1 c_th3_recursiveremove+        reset = xform1 c_th3_reset+        resetStats = xform0 c_th3_resetstats+        scale = xform2 c_th3_scale+        setAxisColorA = xform2 c_th3_setaxiscolora+        setAxisRange = xform3 c_th3_setaxisrange+        setBarOffset = xform1 c_th3_setbaroffset+        setBarWidth = xform1 c_th3_setbarwidth+        setBinContent1 = xform2 c_th3_setbincontent1+        setBinContent2 = xform3 c_th3_setbincontent2+        setBinContent3 = xform4 c_th3_setbincontent3+        setBinError1 = xform2 c_th3_setbinerror1+        setBinError2 = xform3 c_th3_setbinerror2+        setBinError3 = xform4 c_th3_setbinerror3+        setBins1 = xform2 c_th3_setbins1+        setBins2 = xform4 c_th3_setbins2+        setBins3 = xform6 c_th3_setbins3+        setBinsLength = xform1 c_th3_setbinslength+        setBuffer = xform2 c_th3_setbuffer+        setCellContent = xform3 c_th3_setcellcontent+        setContent = xform1 c_th3_setcontent+        setContour = xform2 c_th3_setcontour+        setContourLevel = xform2 c_th3_setcontourlevel+        setDirectory = xform1 c_th3_setdirectory+        setEntries = xform1 c_th3_setentries+        setError = xform1 c_th3_seterror+        setLabelColorA = xform2 c_th3_setlabelcolora+        setLabelSizeA = xform2 c_th3_setlabelsizea+        setLabelFontA = xform2 c_th3_setlabelfonta+        setLabelOffsetA = xform2 c_th3_setlabeloffseta+        setMaximum = xform1 c_th3_setmaximum+        setMinimum = xform1 c_th3_setminimum+        setNormFactor = xform1 c_th3_setnormfactor+        setStats = xform1 c_th3_setstats+        setOption = xform1 c_th3_setoption+        setXTitle = xform1 c_th3_setxtitle+        setYTitle = xform1 c_th3_setytitle+        setZTitle = xform1 c_th3_setztitle+        showBackground = xform2 c_th3_showbackground+        showPeaks = xform3 c_th3_showpeaks+        smooth = xform2 c_th3_smooth+        sumw2 = xform0 c_th3_sumw2 +instance ITAtt3D TH3 -instance ITH3 TH3 where-  fill3 = xform3 c_th3_fill3-  fill3w = xform4 c_th3_fill3w-  fitSlicesZ = xform7 c_th3_fitslicesz-  getCorrelationFactor3 = xform2 c_th3_getcorrelationfactor3-  getCovariance3 = xform2 c_th3_getcovariance3-  rebinX3 = xform2 c_th3_rebinx3-  rebinY3 = xform2 c_th3_rebiny3-  rebinZ3 = xform2 c_th3_rebinz3-  rebin3D = xform4 c_th3_rebin3d-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-  drawNormalized = xform2 c_th3_drawnormalized-  drawPanelTH1 = xform0 c_th3_drawpanelth1-  bufferEmpty = xform1 c_th3_bufferempty-  evalF = xform2 c_th3_evalf-  fFT = xform2 c_th3_fft-  fill1 = xform1 c_th3_fill1-  fill1w = xform2 c_th3_fill1w-  fillN1 = xform4 c_th3_filln1-  fillRandom = xform2 c_th3_fillrandom-  findBin = xform3 c_th3_findbin-  findFixBin = xform3 c_th3_findfixbin-  findFirstBinAbove = xform2 c_th3_findfirstbinabove-  findLastBinAbove = xform2 c_th3_findlastbinabove-  fitPanelTH1 = xform0 c_th3_fitpanelth1-  getNdivisionA = xform1 c_th3_getndivisiona-  getAxisColorA = xform1 c_th3_getaxiscolora-  getLabelColorA = xform1 c_th3_getlabelcolora-  getLabelFontA = xform1 c_th3_getlabelfonta-  getLabelOffsetA = xform1 c_th3_getlabeloffseta-  getLabelSizeA = xform1 c_th3_getlabelsizea-  getTitleFontA = xform1 c_th3_gettitlefonta-  getTitleOffsetA = xform1 c_th3_gettitleoffseta-  getTitleSizeA = xform1 c_th3_gettitlesizea-  getTickLengthA = xform1 c_th3_getticklengtha-  getBarOffset = xform0 c_th3_getbaroffset-  getBarWidth = xform0 c_th3_getbarwidth-  getContour = xform1 c_th3_getcontour-  getContourLevel = xform1 c_th3_getcontourlevel-  getContourLevelPad = xform1 c_th3_getcontourlevelpad-  getBin = xform3 c_th3_getbin-  getBinCenter = xform1 c_th3_getbincenter-  getBinContent1 = xform1 c_th3_getbincontent1-  getBinContent2 = xform2 c_th3_getbincontent2-  getBinContent3 = xform3 c_th3_getbincontent3-  getBinError1 = xform1 c_th3_getbinerror1-  getBinError2 = xform2 c_th3_getbinerror2-  getBinError3 = xform3 c_th3_getbinerror3-  getBinLowEdge = xform1 c_th3_getbinlowedge-  getBinWidth = xform1 c_th3_getbinwidth-  getCellContent = xform2 c_th3_getcellcontent-  getCellError = xform2 c_th3_getcellerror-  getEntries = xform0 c_th3_getentries-  getEffectiveEntries = xform0 c_th3_geteffectiveentries-  getFunction = xform1 c_th3_getfunction-  getDimension = xform0 c_th3_getdimension-  getKurtosis = xform1 c_th3_getkurtosis-  getLowEdge = xform1 c_th3_getlowedge-  getMaximumTH1 = xform1 c_th3_getmaximumth1-  getMaximumBin = xform0 c_th3_getmaximumbin-  getMaximumStored = xform0 c_th3_getmaximumstored-  getMinimumTH1 = xform1 c_th3_getminimumth1-  getMinimumBin = xform0 c_th3_getminimumbin-  getMinimumStored = xform0 c_th3_getminimumstored-  getMean = xform1 c_th3_getmean-  getMeanError = xform1 c_th3_getmeanerror-  getNbinsX = xform0 c_th3_getnbinsx-  getNbinsY = xform0 c_th3_getnbinsy-  getNbinsZ = xform0 c_th3_getnbinsz-  getQuantilesTH1 = xform3 c_th3_getquantilesth1-  getRandom = xform0 c_th3_getrandom-  getStats = xform1 c_th3_getstats-  getSumOfWeights = xform0 c_th3_getsumofweights-  getSumw2 = xform0 c_th3_getsumw2-  getSumw2N = xform0 c_th3_getsumw2n-  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-  labelsInflate = xform1 c_th3_labelsinflate-  labelsOption = xform2 c_th3_labelsoption-  multiflyF = xform2 c_th3_multiflyf-  multiply = xform5 c_th3_multiply-  putStats = xform1 c_th3_putstats-  rebin = xform3 c_th3_rebin-  rebinAxis = xform2 c_th3_rebinaxis-  rebuild = xform1 c_th3_rebuild-  recursiveRemove = xform1 c_th3_recursiveremove-  reset = xform1 c_th3_reset-  resetStats = xform0 c_th3_resetstats-  scale = xform2 c_th3_scale-  setAxisColorA = xform2 c_th3_setaxiscolora-  setAxisRange = xform3 c_th3_setaxisrange-  setBarOffset = xform1 c_th3_setbaroffset-  setBarWidth = xform1 c_th3_setbarwidth-  setBinContent1 = xform2 c_th3_setbincontent1-  setBinContent2 = xform3 c_th3_setbincontent2-  setBinContent3 = xform4 c_th3_setbincontent3-  setBinError1 = xform2 c_th3_setbinerror1-  setBinError2 = xform3 c_th3_setbinerror2-  setBinError3 = xform4 c_th3_setbinerror3-  setBins1 = xform2 c_th3_setbins1-  setBins2 = xform4 c_th3_setbins2-  setBins3 = xform6 c_th3_setbins3-  setBinsLength = xform1 c_th3_setbinslength-  setBuffer = xform2 c_th3_setbuffer-  setCellContent = xform3 c_th3_setcellcontent-  setContent = xform1 c_th3_setcontent-  setContour = xform2 c_th3_setcontour-  setContourLevel = xform2 c_th3_setcontourlevel-  setDirectory = xform1 c_th3_setdirectory-  setEntries = xform1 c_th3_setentries-  setError = xform1 c_th3_seterror-  setLabelColorA = xform2 c_th3_setlabelcolora-  setLabelSizeA = xform2 c_th3_setlabelsizea-  setLabelFontA = xform2 c_th3_setlabelfonta-  setLabelOffsetA = xform2 c_th3_setlabeloffseta-  setMaximum = xform1 c_th3_setmaximum-  setMinimum = xform1 c_th3_setminimum-  setNormFactor = xform1 c_th3_setnormfactor-  setStats = xform1 c_th3_setstats-  setOption = xform1 c_th3_setoption-  setXTitle = xform1 c_th3_setxtitle-  setYTitle = xform1 c_th3_setytitle-  setZTitle = xform1 c_th3_setztitle-  showBackground = xform2 c_th3_showbackground-  showPeaks = xform3 c_th3_showpeaks-  smooth = xform2 c_th3_smooth-  sumw2 = xform0 c_th3_sumw2-instance ITAtt3D TH3 where-instance ITObject TH3 where-  draw = xform1 c_th3_draw-  findObject = xform1 c_th3_findobject-  getName = xform0 c_th3_getname-  isA = xform0 c_th3_isa-  paint = xform1 c_th3_paint-  printObj = xform1 c_th3_printobj-  saveAs = xform2 c_th3_saveas-  write = xform3 c_th3_write+instance ITNamed TH3 where+        setName = xform1 c_th3_setname+        setNameTitle = xform2 c_th3_setnametitle+        setTitle = xform1 c_th3_settitle+ instance ITAttLine TH3 where-  getLineColor = xform0 c_th3_getlinecolor-  getLineStyle = xform0 c_th3_getlinestyle-  getLineWidth = xform0 c_th3_getlinewidth-  resetAttLine = xform1 c_th3_resetattline-  setLineAttributes = xform0 c_th3_setlineattributes-  setLineColor = xform1 c_th3_setlinecolor-  setLineStyle = xform1 c_th3_setlinestyle-  setLineWidth = xform1 c_th3_setlinewidth-instance ITAttFill TH3 where-  setFillColor = xform1 c_th3_setfillcolor-  setFillStyle = xform1 c_th3_setfillstyle-instance ITAttMarker TH3 where-  getMarkerColor = xform0 c_th3_getmarkercolor-  getMarkerStyle = xform0 c_th3_getmarkerstyle-  getMarkerSize = xform0 c_th3_getmarkersize-  resetAttMarker = xform1 c_th3_resetattmarker-  setMarkerAttributes = xform0 c_th3_setmarkerattributes-  setMarkerColor = xform1 c_th3_setmarkercolor-  setMarkerStyle = xform1 c_th3_setmarkerstyle-  setMarkerSize = xform1 c_th3_setmarkersize-instance IDeletable TH3 where-  delete = xform0 c_th3_delete+        getLineColor = xform0 c_th3_getlinecolor+        getLineStyle = xform0 c_th3_getlinestyle+        getLineWidth = xform0 c_th3_getlinewidth+        resetAttLine = xform1 c_th3_resetattline+        setLineAttributes = xform0 c_th3_setlineattributes+        setLineColor = xform1 c_th3_setlinecolor+        setLineStyle = xform1 c_th3_setlinestyle+        setLineWidth = xform1 c_th3_setlinewidth -instance ITH3 (Exist TH3) where-  fill3 (ETH3 x) = fill3 x-  fill3w (ETH3 x) = fill3w x-  fitSlicesZ (ETH3 x) = fitSlicesZ x-  getCorrelationFactor3 (ETH3 x) = getCorrelationFactor3 x-  getCovariance3 (ETH3 x) = getCovariance3 x-  rebinX3 (ETH3 x) = rebinX3 x-  rebinY3 (ETH3 x) = rebinY3 x-  rebinZ3 (ETH3 x) = rebinZ3 x-  rebin3D (ETH3 x) = rebin3D x-instance ITH1 (Exist TH3) where-  add (ETH3 x) = add x-  addBinContent (ETH3 x) = addBinContent x-  chi2Test (ETH3 x) = chi2Test x-  computeIntegral (ETH3 x) = computeIntegral x-  directoryAutoAdd (ETH3 x) = directoryAutoAdd x-  divide (ETH3 x) = divide x-  drawCopyTH1 (ETH3 x) a1 = return . ETH3 =<< drawCopyTH1 x a1-  drawNormalized (ETH3 x) = drawNormalized x-  drawPanelTH1 (ETH3 x) = drawPanelTH1 x-  bufferEmpty (ETH3 x) = bufferEmpty x-  evalF (ETH3 x) = evalF x-  fFT (ETH3 x) = fFT x-  fill1 (ETH3 x) = fill1 x-  fill1w (ETH3 x) = fill1w x-  fillN1 (ETH3 x) = fillN1 x-  fillRandom (ETH3 x) = fillRandom x-  findBin (ETH3 x) = findBin x-  findFixBin (ETH3 x) = findFixBin x-  findFirstBinAbove (ETH3 x) = findFirstBinAbove x-  findLastBinAbove (ETH3 x) = findLastBinAbove x-  fitPanelTH1 (ETH3 x) = fitPanelTH1 x-  getNdivisionA (ETH3 x) = getNdivisionA x-  getAxisColorA (ETH3 x) = getAxisColorA x-  getLabelColorA (ETH3 x) = getLabelColorA x-  getLabelFontA (ETH3 x) = getLabelFontA x-  getLabelOffsetA (ETH3 x) = getLabelOffsetA x-  getLabelSizeA (ETH3 x) = getLabelSizeA x-  getTitleFontA (ETH3 x) = getTitleFontA x-  getTitleOffsetA (ETH3 x) = getTitleOffsetA x-  getTitleSizeA (ETH3 x) = getTitleSizeA x-  getTickLengthA (ETH3 x) = getTickLengthA x-  getBarOffset (ETH3 x) = getBarOffset x-  getBarWidth (ETH3 x) = getBarWidth x-  getContour (ETH3 x) = getContour x-  getContourLevel (ETH3 x) = getContourLevel x-  getContourLevelPad (ETH3 x) = getContourLevelPad x-  getBin (ETH3 x) = getBin x-  getBinCenter (ETH3 x) = getBinCenter x-  getBinContent1 (ETH3 x) = getBinContent1 x-  getBinContent2 (ETH3 x) = getBinContent2 x-  getBinContent3 (ETH3 x) = getBinContent3 x-  getBinError1 (ETH3 x) = getBinError1 x-  getBinError2 (ETH3 x) = getBinError2 x-  getBinError3 (ETH3 x) = getBinError3 x-  getBinLowEdge (ETH3 x) = getBinLowEdge x-  getBinWidth (ETH3 x) = getBinWidth x-  getCellContent (ETH3 x) = getCellContent x-  getCellError (ETH3 x) = getCellError x-  getEntries (ETH3 x) = getEntries x-  getEffectiveEntries (ETH3 x) = getEffectiveEntries x-  getFunction (ETH3 x) = getFunction x-  getDimension (ETH3 x) = getDimension x-  getKurtosis (ETH3 x) = getKurtosis x-  getLowEdge (ETH3 x) = getLowEdge x-  getMaximumTH1 (ETH3 x) = getMaximumTH1 x-  getMaximumBin (ETH3 x) = getMaximumBin x-  getMaximumStored (ETH3 x) = getMaximumStored x-  getMinimumTH1 (ETH3 x) = getMinimumTH1 x-  getMinimumBin (ETH3 x) = getMinimumBin x-  getMinimumStored (ETH3 x) = getMinimumStored x-  getMean (ETH3 x) = getMean x-  getMeanError (ETH3 x) = getMeanError x-  getNbinsX (ETH3 x) = getNbinsX x-  getNbinsY (ETH3 x) = getNbinsY x-  getNbinsZ (ETH3 x) = getNbinsZ x-  getQuantilesTH1 (ETH3 x) = getQuantilesTH1 x-  getRandom (ETH3 x) = getRandom x-  getStats (ETH3 x) = getStats x-  getSumOfWeights (ETH3 x) = getSumOfWeights x-  getSumw2 (ETH3 x) = getSumw2 x-  getSumw2N (ETH3 x) = getSumw2N x-  getRMS (ETH3 x) = getRMS x-  getRMSError (ETH3 x) = getRMSError x-  getSkewness (ETH3 x) = getSkewness x-  integral1 (ETH3 x) = integral1 x-  interpolate1 (ETH3 x) = interpolate1 x-  interpolate2 (ETH3 x) = interpolate2 x-  interpolate3 (ETH3 x) = interpolate3 x-  kolmogorovTest (ETH3 x) = kolmogorovTest x-  labelsDeflate (ETH3 x) = labelsDeflate x-  labelsInflate (ETH3 x) = labelsInflate x-  labelsOption (ETH3 x) = labelsOption x-  multiflyF (ETH3 x) = multiflyF x-  multiply (ETH3 x) = multiply x-  putStats (ETH3 x) = putStats x-  rebin (ETH3 x) = rebin x-  rebinAxis (ETH3 x) = rebinAxis x-  rebuild (ETH3 x) = rebuild x-  recursiveRemove (ETH3 x) = recursiveRemove x-  reset (ETH3 x) = reset x-  resetStats (ETH3 x) = resetStats x-  scale (ETH3 x) = scale x-  setAxisColorA (ETH3 x) = setAxisColorA x-  setAxisRange (ETH3 x) = setAxisRange x-  setBarOffset (ETH3 x) = setBarOffset x-  setBarWidth (ETH3 x) = setBarWidth x-  setBinContent1 (ETH3 x) = setBinContent1 x-  setBinContent2 (ETH3 x) = setBinContent2 x-  setBinContent3 (ETH3 x) = setBinContent3 x-  setBinError1 (ETH3 x) = setBinError1 x-  setBinError2 (ETH3 x) = setBinError2 x-  setBinError3 (ETH3 x) = setBinError3 x-  setBins1 (ETH3 x) = setBins1 x-  setBins2 (ETH3 x) = setBins2 x-  setBins3 (ETH3 x) = setBins3 x-  setBinsLength (ETH3 x) = setBinsLength x-  setBuffer (ETH3 x) = setBuffer x-  setCellContent (ETH3 x) = setCellContent x-  setContent (ETH3 x) = setContent x-  setContour (ETH3 x) = setContour x-  setContourLevel (ETH3 x) = setContourLevel x-  setDirectory (ETH3 x) = setDirectory x-  setEntries (ETH3 x) = setEntries x-  setError (ETH3 x) = setError x-  setLabelColorA (ETH3 x) = setLabelColorA x-  setLabelSizeA (ETH3 x) = setLabelSizeA x-  setLabelFontA (ETH3 x) = setLabelFontA x-  setLabelOffsetA (ETH3 x) = setLabelOffsetA x-  setMaximum (ETH3 x) = setMaximum x-  setMinimum (ETH3 x) = setMinimum x-  setNormFactor (ETH3 x) = setNormFactor x-  setStats (ETH3 x) = setStats x-  setOption (ETH3 x) = setOption x-  setXTitle (ETH3 x) = setXTitle x-  setYTitle (ETH3 x) = setYTitle x-  setZTitle (ETH3 x) = setZTitle x-  showBackground (ETH3 x) = showBackground x-  showPeaks (ETH3 x) = showPeaks x-  smooth (ETH3 x) = smooth x-  sumw2 (ETH3 x) = sumw2 x-instance ITAtt3D (Exist TH3) where+instance ITAttFill TH3 where+        setFillColor = xform1 c_th3_setfillcolor+        setFillStyle = xform1 c_th3_setfillstyle -instance ITObject (Exist TH3) where-  draw (ETH3 x) = draw x-  findObject (ETH3 x) = findObject x-  getName (ETH3 x) = getName x-  isA (ETH3 x) = isA x-  paint (ETH3 x) = paint x-  printObj (ETH3 x) = printObj x-  saveAs (ETH3 x) = saveAs x-  write (ETH3 x) = write x-instance ITAttLine (Exist TH3) where-  getLineColor (ETH3 x) = getLineColor x-  getLineStyle (ETH3 x) = getLineStyle x-  getLineWidth (ETH3 x) = getLineWidth x-  resetAttLine (ETH3 x) = resetAttLine x-  setLineAttributes (ETH3 x) = setLineAttributes x-  setLineColor (ETH3 x) = setLineColor x-  setLineStyle (ETH3 x) = setLineStyle x-  setLineWidth (ETH3 x) = setLineWidth x-instance ITAttFill (Exist TH3) where-  setFillColor (ETH3 x) = setFillColor x-  setFillStyle (ETH3 x) = setFillStyle x-instance ITAttMarker (Exist TH3) where-  getMarkerColor (ETH3 x) = getMarkerColor x-  getMarkerStyle (ETH3 x) = getMarkerStyle x-  getMarkerSize (ETH3 x) = getMarkerSize x-  resetAttMarker (ETH3 x) = resetAttMarker x-  setMarkerAttributes (ETH3 x) = setMarkerAttributes x-  setMarkerColor (ETH3 x) = setMarkerColor x-  setMarkerStyle (ETH3 x) = setMarkerStyle x-  setMarkerSize (ETH3 x) = setMarkerSize x-instance IDeletable (Exist TH3) where-  delete (ETH3 x) = delete x+instance ITAttMarker TH3 where+        getMarkerColor = xform0 c_th3_getmarkercolor+        getMarkerStyle = xform0 c_th3_getmarkerstyle+        getMarkerSize = xform0 c_th3_getmarkersize+        resetAttMarker = xform1 c_th3_resetattmarker+        setMarkerAttributes = xform0 c_th3_setmarkerattributes+        setMarkerColor = xform1 c_th3_setmarkercolor+        setMarkerStyle = xform1 c_th3_setmarkerstyle+        setMarkerSize = xform1 c_th3_setmarkersize +instance ITObject TH3 where+        draw = xform1 c_th3_draw+        findObject = xform1 c_th3_findobject+        getName = xform0 c_th3_getname+        isA = xform0 c_th3_isa+        paint = xform1 c_th3_paint+        printObj = xform1 c_th3_printobj+        saveAs = xform2 c_th3_saveas+        write = xform3 c_th3_write +instance IDeletable TH3 where+        delete = xform0 c_th3_delete -tH3ProjectionX :: TH3 -> CString -> CInt -> CInt -> CInt -> CInt -> CString -> IO TH1D+tH3ProjectionX ::+                 (Castable c1 CString, Castable c0 CString) =>+                 TH3 -> c0 -> CInt -> CInt -> CInt -> CInt -> c1 -> IO TH1D tH3ProjectionX = xform6 c_th3_th3projectionx -tH3ProjectionY :: TH3 -> CString -> CInt -> CInt -> CInt -> CInt -> CString -> IO TH1D+tH3ProjectionY ::+                 (Castable c1 CString, Castable c0 CString) =>+                 TH3 -> c0 -> CInt -> CInt -> CInt -> CInt -> c1 -> IO TH1D tH3ProjectionY = xform6 c_th3_th3projectiony -tH3ProjectionZ :: TH3 -> CString -> CInt -> CInt -> CInt -> CInt -> CString -> IO TH1D+tH3ProjectionZ ::+                 (Castable c1 CString, Castable c0 CString) =>+                 TH3 -> c0 -> CInt -> CInt -> CInt -> CInt -> c1 -> IO TH1D tH3ProjectionZ = xform6 c_th3_th3projectionz -tH3Project3D :: TH3 -> CString -> IO TH1+tH3Project3D :: Castable c0 CString => TH3 -> c0 -> IO TH1 tH3Project3D = xform1 c_th3_th3project3d----instance FPtr (Exist TH3) where-  type Raw (Exist TH3) = RawTH3-  get_fptr (ETH3 obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH3 (cast_fptr_to_obj (fptr :: ForeignPtr RawTH3) :: TH3)
src/HROOT/Hist/TH3/Interface.hs view
@@ -1,56 +1,49 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH3.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr 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 --class (ITH1 a,ITAtt3D a) => ITH3 a where--    fill3 :: a -> CDouble -> CDouble -> CDouble -> IO CInt --    fill3w :: a -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt --    fitSlicesZ :: (ITF1 c0, FPtr c0) => a -> c0 -> CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO () --    getCorrelationFactor3 :: a -> CInt -> CInt -> IO CDouble --    getCovariance3 :: a -> CInt -> CInt -> IO CDouble --    rebinX3 :: a -> CInt -> CString -> IO TH3 --    rebinY3 :: a -> CInt -> CString -> IO TH3 --    rebinZ3 :: a -> CInt -> CString -> IO TH3 --    rebin3D :: a -> CInt -> CInt -> CInt -> CString -> IO TH3 --instance Existable TH3 where-  data Exist TH3 = forall a. (FPtr a, ITH3 a) => ETH3 a+class (ITH1 a, ITAtt3D a) => ITH3 a where+        fill3 :: a -> 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+        +        getCovariance3 :: a -> CInt -> CInt -> IO CDouble+        +        rebinX3 :: 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+        +        rebin3D ::+                  Castable c0 CString => a -> CInt -> CInt -> CInt -> c0 -> IO TH3 -upcastTH3 :: (FPtr a, ITH3 a) => a -> TH3-upcastTH3 h = let fh = get_fptr h-                  fh2 :: ForeignPtr RawTH3 = castForeignPtr fh-              in cast_fptr_to_obj fh2+upcastTH3 :: forall a . (FPtr a, ITH3 a) => a -> TH3+upcastTH3 h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH3 = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH3 :: (FPtr a, ITH3 a) => TH3 -> a -downcastTH3 h = let fh = get_fptr h-                    fh2 = castForeignPtr fh-                in cast_fptr_to_obj fh2+downcastTH3 :: forall a . (FPtr a, ITH3 a) => TH3 -> a+downcastTH3 h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH3/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH3.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH3 -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH3 = TH3 (Ptr RawTH3)+            deriving (Eq, Ord, Show) -data RawTH3-newtype TH3 = TH3 (ForeignPtr RawTH3) deriving (Eq, Ord, Show) instance FPtr TH3 where-   type Raw TH3 = RawTH3-   get_fptr (TH3 fptr) = fptr-   cast_fptr_to_obj = TH3+        type Raw TH3 = RawTH3+        get_fptr (TH3 ptr) = ptr+        cast_fptr_to_obj = TH3
src/HROOT/Hist/TH3C.hs view
@@ -1,15 +1,5 @@-module HROOT.Hist.TH3C-  (-    TH3C(..)-  , ITH3C-  , upcastTH3C-  , downcastTH3C-- -  ) where-+module HROOT.Hist.TH3C (TH3C(..), ITH3C, upcastTH3C, downcastTH3C)+       where import HROOT.Hist.TH3C.RawType import HROOT.Hist.TH3C.Interface import HROOT.Hist.TH3C.Implementation--
src/HROOT/Hist/TH3C/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH3C.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH3C.RawType import HROOT.Hist.TH3C.Interface  instance (ITH3C a, FPtr a) => Castable a (Ptr RawTH3C) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH3C (Ptr RawTH3C) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH3C.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH3C.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1.RawType@@ -23,503 +13,558 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH3C.h"+foreign import ccall safe "HROOTHistTH3C.h TH3C_fill3" c_th3c_fill3+               :: Ptr RawTH3C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_fill3" c_th3c_fill3 -  :: (Ptr RawTH3C) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_fill3w"+               c_th3c_fill3w ::+               Ptr RawTH3C -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH3C ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_FitSlicesZ" c_th3c_fitslicesz -  :: (Ptr RawTH3C) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTH3C.h TH3C_getCorrelationFactor3"+               c_th3c_getcorrelationfactor3 ::+               Ptr RawTH3C -> CInt -> CInt -> IO CDouble -foreign import ccall "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 "HROOTHistTH3C.h TH3C_getCovariance3" c_th3c_getcovariance3 -  :: (Ptr RawTH3C) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_rebinX3"+               c_th3c_rebinx3 :: Ptr RawTH3C -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3C.h TH3C_rebinX3" c_th3c_rebinx3 -  :: (Ptr RawTH3C) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3C.h TH3C_rebinY3"+               c_th3c_rebiny3 :: Ptr RawTH3C -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3C.h TH3C_rebinY3" c_th3c_rebiny3 -  :: (Ptr RawTH3C) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3C.h TH3C_rebinZ3"+               c_th3c_rebinz3 :: Ptr RawTH3C -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3C.h TH3C_rebinZ3" c_th3c_rebinz3 -  :: (Ptr RawTH3C) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3C.h TH3C_Rebin3D"+               c_th3c_rebin3d ::+               Ptr RawTH3C -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "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 "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 "HROOTHistTH3C.h TH3C_AddBinContent" c_th3c_addbincontent -  :: (Ptr RawTH3C) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_Chi2Test"+               c_th3c_chi2test ::+               Ptr RawTH3C -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH3C.h TH3C_ComputeIntegral" c_th3c_computeintegral -  :: (Ptr RawTH3C) -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_DirectoryAutoAdd"+               c_th3c_directoryautoadd ::+               Ptr RawTH3C -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_DirectoryAutoAdd" c_th3c_directoryautoadd -  :: (Ptr RawTH3C) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_Divide"+               c_th3c_divide ::+               Ptr RawTH3C ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH3C.h TH3C_drawCopyTH1" c_th3c_drawcopyth1 -  :: (Ptr RawTH3C) -> CString -> IO (Ptr RawTH3C)+foreign import ccall safe "HROOTHistTH3C.h TH3C_DrawNormalized"+               c_th3c_drawnormalized ::+               Ptr RawTH3C -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH3C.h TH3C_evalF" c_th3c_evalf -  :: (Ptr RawTH3C) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_FFT" c_th3c_fft ::+               Ptr RawTH3C -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH3C.h TH3C_fill1" c_th3c_fill1 -  :: (Ptr RawTH3C) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_fill1w"+               c_th3c_fill1w :: Ptr RawTH3C -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_fill1w" c_th3c_fill1w -  :: (Ptr RawTH3C) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_fillN1"+               c_th3c_filln1 ::+               Ptr RawTH3C ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_fillN1" c_th3c_filln1 -  :: (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 "HROOTHistTH3C.h TH3C_FillRandom" c_th3c_fillrandom -  :: (Ptr RawTH3C) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_FindBin"+               c_th3c_findbin ::+               Ptr RawTH3C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH3C -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH3C.h TH3C_FindFirstBinAbove" c_th3c_findfirstbinabove -  :: (Ptr RawTH3C) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_FindLastBinAbove"+               c_th3c_findlastbinabove ::+               Ptr RawTH3C -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_FindLastBinAbove" c_th3c_findlastbinabove -  :: (Ptr RawTH3C) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_Fit" c_th3c_fit ::+               Ptr RawTH3C ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_FitPanelTH1" c_th3c_fitpanelth1 -  :: (Ptr RawTH3C) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_FitPanelTH1"+               c_th3c_fitpanelth1 :: Ptr RawTH3C -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_getNdivisionA" c_th3c_getndivisiona -  :: (Ptr RawTH3C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_getNdivisionA"+               c_th3c_getndivisiona :: Ptr RawTH3C -> CString -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_getAxisColorA" c_th3c_getaxiscolora -  :: (Ptr RawTH3C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_getAxisColorA"+               c_th3c_getaxiscolora :: Ptr RawTH3C -> CString -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_getLabelColorA" c_th3c_getlabelcolora -  :: (Ptr RawTH3C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_getLabelColorA"+               c_th3c_getlabelcolora :: Ptr RawTH3C -> CString -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_getLabelFontA" c_th3c_getlabelfonta -  :: (Ptr RawTH3C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_getLabelFontA"+               c_th3c_getlabelfonta :: Ptr RawTH3C -> CString -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_getLabelOffsetA" c_th3c_getlabeloffseta -  :: (Ptr RawTH3C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_getLabelOffsetA"+               c_th3c_getlabeloffseta :: Ptr RawTH3C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_getLabelSizeA" c_th3c_getlabelsizea -  :: (Ptr RawTH3C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_getLabelSizeA"+               c_th3c_getlabelsizea :: Ptr RawTH3C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_getTitleFontA" c_th3c_gettitlefonta -  :: (Ptr RawTH3C) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_getTitleFontA"+               c_th3c_gettitlefonta :: Ptr RawTH3C -> CString -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_getTitleOffsetA" c_th3c_gettitleoffseta -  :: (Ptr RawTH3C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_getTitleOffsetA"+               c_th3c_gettitleoffseta :: Ptr RawTH3C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_getTitleSizeA" c_th3c_gettitlesizea -  :: (Ptr RawTH3C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_getTitleSizeA"+               c_th3c_gettitlesizea :: Ptr RawTH3C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_getTickLengthA" c_th3c_getticklengtha -  :: (Ptr RawTH3C) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_getTickLengthA"+               c_th3c_getticklengtha :: Ptr RawTH3C -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetBarOffset" c_th3c_getbaroffset -  :: (Ptr RawTH3C) -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBarOffset"+               c_th3c_getbaroffset :: Ptr RawTH3C -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetBarWidth" c_th3c_getbarwidth -  :: (Ptr RawTH3C) -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBarWidth"+               c_th3c_getbarwidth :: Ptr RawTH3C -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetContour" c_th3c_getcontour -  :: (Ptr RawTH3C) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetContour"+               c_th3c_getcontour :: Ptr RawTH3C -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_GetContourLevel" c_th3c_getcontourlevel -  :: (Ptr RawTH3C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetContourLevel"+               c_th3c_getcontourlevel :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetContourLevelPad" c_th3c_getcontourlevelpad -  :: (Ptr RawTH3C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetContourLevelPad"+               c_th3c_getcontourlevelpad :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetBin" c_th3c_getbin -  :: (Ptr RawTH3C) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBin"+               c_th3c_getbin :: Ptr RawTH3C -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_GetBinCenter" c_th3c_getbincenter -  :: (Ptr RawTH3C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinCenter"+               c_th3c_getbincenter :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetBinContent1" c_th3c_getbincontent1 -  :: (Ptr RawTH3C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinContent1"+               c_th3c_getbincontent1 :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetBinContent2" c_th3c_getbincontent2 -  :: (Ptr RawTH3C) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinContent2"+               c_th3c_getbincontent2 :: Ptr RawTH3C -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetBinContent3" c_th3c_getbincontent3 -  :: (Ptr RawTH3C) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinContent3"+               c_th3c_getbincontent3 ::+               Ptr RawTH3C -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetBinError1" c_th3c_getbinerror1 -  :: (Ptr RawTH3C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinError1"+               c_th3c_getbinerror1 :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetBinError2" c_th3c_getbinerror2 -  :: (Ptr RawTH3C) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinError2"+               c_th3c_getbinerror2 :: Ptr RawTH3C -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetBinError3" c_th3c_getbinerror3 -  :: (Ptr RawTH3C) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinError3"+               c_th3c_getbinerror3 ::+               Ptr RawTH3C -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetBinLowEdge" c_th3c_getbinlowedge -  :: (Ptr RawTH3C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinLowEdge"+               c_th3c_getbinlowedge :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetBinWidth" c_th3c_getbinwidth -  :: (Ptr RawTH3C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetBinWidth"+               c_th3c_getbinwidth :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetCellContent" c_th3c_getcellcontent -  :: (Ptr RawTH3C) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetCellContent"+               c_th3c_getcellcontent :: Ptr RawTH3C -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetCellError" c_th3c_getcellerror -  :: (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 "HROOTHistTH3C.h TH3C_GetEntries" c_th3c_getentries -  :: (Ptr RawTH3C) -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetEntries"+               c_th3c_getentries :: Ptr RawTH3C -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetEffectiveEntries" c_th3c_geteffectiveentries -  :: (Ptr RawTH3C) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH3C.h TH3C_GetEffectiveEntries"+               c_th3c_geteffectiveentries :: Ptr RawTH3C -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetFunction" c_th3c_getfunction -  :: (Ptr RawTH3C) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetFunction"+               c_th3c_getfunction :: Ptr RawTH3C -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH3C.h TH3C_GetDimension" c_th3c_getdimension -  :: (Ptr RawTH3C) -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetDimension"+               c_th3c_getdimension :: Ptr RawTH3C -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_GetKurtosis" c_th3c_getkurtosis -  :: (Ptr RawTH3C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetKurtosis"+               c_th3c_getkurtosis :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetLowEdge" c_th3c_getlowedge -  :: (Ptr RawTH3C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetLowEdge"+               c_th3c_getlowedge :: Ptr RawTH3C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_getMaximumTH1" c_th3c_getmaximumth1 -  :: (Ptr RawTH3C) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_getMaximumTH1"+               c_th3c_getmaximumth1 :: Ptr RawTH3C -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetMaximumBin" c_th3c_getmaximumbin -  :: (Ptr RawTH3C) -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMaximumBin"+               c_th3c_getmaximumbin :: Ptr RawTH3C -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_GetMaximumStored" c_th3c_getmaximumstored -  :: (Ptr RawTH3C) -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMaximumStored"+               c_th3c_getmaximumstored :: Ptr RawTH3C -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_getMinimumTH1" c_th3c_getminimumth1 -  :: (Ptr RawTH3C) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_getMinimumTH1"+               c_th3c_getminimumth1 :: Ptr RawTH3C -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetMinimumBin" c_th3c_getminimumbin -  :: (Ptr RawTH3C) -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMinimumBin"+               c_th3c_getminimumbin :: Ptr RawTH3C -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_GetMinimumStored" c_th3c_getminimumstored -  :: (Ptr RawTH3C) -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMinimumStored"+               c_th3c_getminimumstored :: Ptr RawTH3C -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetMean" c_th3c_getmean -  :: (Ptr RawTH3C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMean"+               c_th3c_getmean :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetMeanError" c_th3c_getmeanerror -  :: (Ptr RawTH3C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMeanError"+               c_th3c_getmeanerror :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetNbinsX" c_th3c_getnbinsx -  :: (Ptr RawTH3C) -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetNbinsX"+               c_th3c_getnbinsx :: Ptr RawTH3C -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetNbinsY" c_th3c_getnbinsy -  :: (Ptr RawTH3C) -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetNbinsY"+               c_th3c_getnbinsy :: Ptr RawTH3C -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetNbinsZ" c_th3c_getnbinsz -  :: (Ptr RawTH3C) -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetNbinsZ"+               c_th3c_getnbinsz :: Ptr RawTH3C -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_getQuantilesTH1" c_th3c_getquantilesth1 -  :: (Ptr RawTH3C) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_getQuantilesTH1"+               c_th3c_getquantilesth1 ::+               Ptr RawTH3C -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_GetRandom" c_th3c_getrandom -  :: (Ptr RawTH3C) -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetRandom"+               c_th3c_getrandom :: Ptr RawTH3C -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetStats" c_th3c_getstats -  :: (Ptr RawTH3C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetStats"+               c_th3c_getstats :: Ptr RawTH3C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_GetSumOfWeights" c_th3c_getsumofweights -  :: (Ptr RawTH3C) -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetSumOfWeights"+               c_th3c_getsumofweights :: Ptr RawTH3C -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetSumw2" c_th3c_getsumw2 -  :: (Ptr RawTH3C) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetSumw2"+               c_th3c_getsumw2 :: Ptr RawTH3C -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH3C.h TH3C_GetSumw2N" c_th3c_getsumw2n -  :: (Ptr RawTH3C) -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetSumw2N"+               c_th3c_getsumw2n :: Ptr RawTH3C -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_GetRMS" c_th3c_getrms -  :: (Ptr RawTH3C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetRMS"+               c_th3c_getrms :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetRMSError" c_th3c_getrmserror -  :: (Ptr RawTH3C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetRMSError"+               c_th3c_getrmserror :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_GetSkewness" c_th3c_getskewness -  :: (Ptr RawTH3C) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetSkewness"+               c_th3c_getskewness :: Ptr RawTH3C -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_integral1" c_th3c_integral1 -  :: (Ptr RawTH3C) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_integral1"+               c_th3c_integral1 ::+               Ptr RawTH3C -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_interpolate1" c_th3c_interpolate1 -  :: (Ptr RawTH3C) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_interpolate1"+               c_th3c_interpolate1 :: Ptr RawTH3C -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_interpolate2" c_th3c_interpolate2 -  :: (Ptr RawTH3C) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_interpolate2"+               c_th3c_interpolate2 ::+               Ptr RawTH3C -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_interpolate3" c_th3c_interpolate3 -  :: (Ptr RawTH3C) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_interpolate3"+               c_th3c_interpolate3 ::+               Ptr RawTH3C -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_KolmogorovTest" c_th3c_kolmogorovtest -  :: (Ptr RawTH3C) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_KolmogorovTest"+               c_th3c_kolmogorovtest ::+               Ptr RawTH3C -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_LabelsDeflate" c_th3c_labelsdeflate -  :: (Ptr RawTH3C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_LabelsDeflate"+               c_th3c_labelsdeflate :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_LabelsInflate" c_th3c_labelsinflate -  :: (Ptr RawTH3C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_LabelsInflate"+               c_th3c_labelsinflate :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_LabelsOption" c_th3c_labelsoption -  :: (Ptr RawTH3C) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_LabelsOption"+               c_th3c_labelsoption :: Ptr RawTH3C -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_multiflyF" c_th3c_multiflyf -  :: (Ptr RawTH3C) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_multiflyF"+               c_th3c_multiflyf :: Ptr RawTH3C -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_Multiply" c_th3c_multiply -  :: (Ptr RawTH3C) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_Multiply"+               c_th3c_multiply ::+               Ptr RawTH3C ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_PutStats" c_th3c_putstats -  :: (Ptr RawTH3C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_PutStats"+               c_th3c_putstats :: Ptr RawTH3C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_Rebin" c_th3c_rebin -  :: (Ptr RawTH3C) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH3C.h TH3C_Rebin" c_th3c_rebin+               ::+               Ptr RawTH3C -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH3C.h TH3C_RebinAxis" c_th3c_rebinaxis -  :: (Ptr RawTH3C) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_RebinAxis"+               c_th3c_rebinaxis :: Ptr RawTH3C -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_Rebuild" c_th3c_rebuild -  :: (Ptr RawTH3C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_Rebuild"+               c_th3c_rebuild :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_RecursiveRemove" c_th3c_recursiveremove -  :: (Ptr RawTH3C) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_RecursiveRemove"+               c_th3c_recursiveremove :: Ptr RawTH3C -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_Reset" c_th3c_reset -  :: (Ptr RawTH3C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_Reset" c_th3c_reset+               :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_ResetStats" c_th3c_resetstats -  :: (Ptr RawTH3C) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_ResetStats"+               c_th3c_resetstats :: Ptr RawTH3C -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_Scale" c_th3c_scale -  :: (Ptr RawTH3C) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_Scale" c_th3c_scale+               :: Ptr RawTH3C -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setAxisColorA" c_th3c_setaxiscolora -  :: (Ptr RawTH3C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setAxisColorA"+               c_th3c_setaxiscolora :: Ptr RawTH3C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetAxisRange" c_th3c_setaxisrange -  :: (Ptr RawTH3C) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetAxisRange"+               c_th3c_setaxisrange ::+               Ptr RawTH3C -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetBarOffset" c_th3c_setbaroffset -  :: (Ptr RawTH3C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetBarOffset"+               c_th3c_setbaroffset :: Ptr RawTH3C -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetBarWidth" c_th3c_setbarwidth -  :: (Ptr RawTH3C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetBarWidth"+               c_th3c_setbarwidth :: Ptr RawTH3C -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setBinContent1" c_th3c_setbincontent1 -  :: (Ptr RawTH3C) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setBinContent1"+               c_th3c_setbincontent1 :: Ptr RawTH3C -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setBinContent2" c_th3c_setbincontent2 -  :: (Ptr RawTH3C) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setBinContent2"+               c_th3c_setbincontent2 ::+               Ptr RawTH3C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setBinContent3" c_th3c_setbincontent3 -  :: (Ptr RawTH3C) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setBinContent3"+               c_th3c_setbincontent3 ::+               Ptr RawTH3C -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setBinError1" c_th3c_setbinerror1 -  :: (Ptr RawTH3C) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setBinError1"+               c_th3c_setbinerror1 :: Ptr RawTH3C -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setBinError2" c_th3c_setbinerror2 -  :: (Ptr RawTH3C) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setBinError2"+               c_th3c_setbinerror2 ::+               Ptr RawTH3C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setBinError3" c_th3c_setbinerror3 -  :: (Ptr RawTH3C) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setBinError3"+               c_th3c_setbinerror3 ::+               Ptr RawTH3C -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setBins1" c_th3c_setbins1 -  :: (Ptr RawTH3C) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setBins1"+               c_th3c_setbins1 :: Ptr RawTH3C -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setBins2" c_th3c_setbins2 -  :: (Ptr RawTH3C) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setBins2"+               c_th3c_setbins2 ::+               Ptr RawTH3C ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setBins3" c_th3c_setbins3 -  :: (Ptr RawTH3C) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setBins3"+               c_th3c_setbins3 ::+               Ptr RawTH3C ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetBinsLength" c_th3c_setbinslength -  :: (Ptr RawTH3C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetBinsLength"+               c_th3c_setbinslength :: Ptr RawTH3C -> CInt -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetBuffer" c_th3c_setbuffer -  :: (Ptr RawTH3C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetBuffer"+               c_th3c_setbuffer :: Ptr RawTH3C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetCellContent" c_th3c_setcellcontent -  :: (Ptr RawTH3C) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetCellContent"+               c_th3c_setcellcontent ::+               Ptr RawTH3C -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetContent" c_th3c_setcontent -  :: (Ptr RawTH3C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetContent"+               c_th3c_setcontent :: Ptr RawTH3C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetContour" c_th3c_setcontour -  :: (Ptr RawTH3C) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetContour"+               c_th3c_setcontour :: Ptr RawTH3C -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetContourLevel" c_th3c_setcontourlevel -  :: (Ptr RawTH3C) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetContourLevel"+               c_th3c_setcontourlevel :: Ptr RawTH3C -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetDirectory" c_th3c_setdirectory -  :: (Ptr RawTH3C) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetDirectory"+               c_th3c_setdirectory :: Ptr RawTH3C -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetEntries" c_th3c_setentries -  :: (Ptr RawTH3C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetEntries"+               c_th3c_setentries :: Ptr RawTH3C -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetError" c_th3c_seterror -  :: (Ptr RawTH3C) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetError"+               c_th3c_seterror :: Ptr RawTH3C -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setLabelColorA" c_th3c_setlabelcolora -  :: (Ptr RawTH3C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setLabelColorA"+               c_th3c_setlabelcolora :: Ptr RawTH3C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setLabelSizeA" c_th3c_setlabelsizea -  :: (Ptr RawTH3C) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setLabelSizeA"+               c_th3c_setlabelsizea :: Ptr RawTH3C -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setLabelFontA" c_th3c_setlabelfonta -  :: (Ptr RawTH3C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setLabelFontA"+               c_th3c_setlabelfonta :: Ptr RawTH3C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_setLabelOffsetA" c_th3c_setlabeloffseta -  :: (Ptr RawTH3C) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_setLabelOffsetA"+               c_th3c_setlabeloffseta ::+               Ptr RawTH3C -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetMaximum" c_th3c_setmaximum -  :: (Ptr RawTH3C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetMaximum"+               c_th3c_setmaximum :: Ptr RawTH3C -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetMinimum" c_th3c_setminimum -  :: (Ptr RawTH3C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetMinimum"+               c_th3c_setminimum :: Ptr RawTH3C -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetNormFactor" c_th3c_setnormfactor -  :: (Ptr RawTH3C) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetNormFactor"+               c_th3c_setnormfactor :: Ptr RawTH3C -> CDouble -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetStats" c_th3c_setstats -  :: (Ptr RawTH3C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetStats"+               c_th3c_setstats :: Ptr RawTH3C -> CInt -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetOption" c_th3c_setoption -  :: (Ptr RawTH3C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetOption"+               c_th3c_setoption :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetXTitle" c_th3c_setxtitle -  :: (Ptr RawTH3C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetXTitle"+               c_th3c_setxtitle :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetYTitle" c_th3c_setytitle -  :: (Ptr RawTH3C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetYTitle"+               c_th3c_setytitle :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetZTitle" c_th3c_setztitle -  :: (Ptr RawTH3C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetZTitle"+               c_th3c_setztitle :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_ShowBackground" c_th3c_showbackground -  :: (Ptr RawTH3C) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH3C.h TH3C_ShowBackground"+               c_th3c_showbackground ::+               Ptr RawTH3C -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH3C.h TH3C_ShowPeaks" c_th3c_showpeaks -  :: (Ptr RawTH3C) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_ShowPeaks"+               c_th3c_showpeaks ::+               Ptr RawTH3C -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_Smooth" c_th3c_smooth -  :: (Ptr RawTH3C) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_Smooth"+               c_th3c_smooth :: Ptr RawTH3C -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_Sumw2" c_th3c_sumw2 -  :: (Ptr RawTH3C) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_Sumw2" c_th3c_sumw2+               :: Ptr RawTH3C -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_Draw" c_th3c_draw -  :: (Ptr RawTH3C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetName"+               c_th3c_setname :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_FindObject" c_th3c_findobject -  :: (Ptr RawTH3C) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetNameTitle"+               c_th3c_setnametitle :: Ptr RawTH3C -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_GetName" c_th3c_getname -  :: (Ptr RawTH3C) -> IO CString+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetTitle"+               c_th3c_settitle :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_IsA" c_th3c_isa -  :: (Ptr RawTH3C) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetLineColor"+               c_th3c_getlinecolor :: Ptr RawTH3C -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_Paint" c_th3c_paint -  :: (Ptr RawTH3C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetLineStyle"+               c_th3c_getlinestyle :: Ptr RawTH3C -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_printObj" c_th3c_printobj -  :: (Ptr RawTH3C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetLineWidth"+               c_th3c_getlinewidth :: Ptr RawTH3C -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_SaveAs" c_th3c_saveas -  :: (Ptr RawTH3C) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_ResetAttLine"+               c_th3c_resetattline :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_Write" c_th3c_write -  :: (Ptr RawTH3C) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetLineAttributes"+               c_th3c_setlineattributes :: Ptr RawTH3C -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_GetLineColor" c_th3c_getlinecolor -  :: (Ptr RawTH3C) -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetLineColor"+               c_th3c_setlinecolor :: Ptr RawTH3C -> CInt -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_GetLineStyle" c_th3c_getlinestyle -  :: (Ptr RawTH3C) -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetLineStyle"+               c_th3c_setlinestyle :: Ptr RawTH3C -> CInt -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_GetLineWidth" c_th3c_getlinewidth -  :: (Ptr RawTH3C) -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetLineWidth"+               c_th3c_setlinewidth :: Ptr RawTH3C -> CInt -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_ResetAttLine" c_th3c_resetattline -  :: (Ptr RawTH3C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetFillColor"+               c_th3c_setfillcolor :: Ptr RawTH3C -> CInt -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetLineAttributes" c_th3c_setlineattributes -  :: (Ptr RawTH3C) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetFillStyle"+               c_th3c_setfillstyle :: Ptr RawTH3C -> CInt -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetLineColor" c_th3c_setlinecolor -  :: (Ptr RawTH3C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMarkerColor"+               c_th3c_getmarkercolor :: Ptr RawTH3C -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_SetLineStyle" c_th3c_setlinestyle -  :: (Ptr RawTH3C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMarkerStyle"+               c_th3c_getmarkerstyle :: Ptr RawTH3C -> IO CInt -foreign import ccall "HROOTHistTH3C.h TH3C_SetLineWidth" c_th3c_setlinewidth -  :: (Ptr RawTH3C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetMarkerSize"+               c_th3c_getmarkersize :: Ptr RawTH3C -> IO CDouble -foreign import ccall "HROOTHistTH3C.h TH3C_SetFillColor" c_th3c_setfillcolor -  :: (Ptr RawTH3C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_ResetAttMarker"+               c_th3c_resetattmarker :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetFillStyle" c_th3c_setfillstyle -  :: (Ptr RawTH3C) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH3C.h TH3C_SetMarkerAttributes"+               c_th3c_setmarkerattributes :: Ptr RawTH3C -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_GetMarkerColor" c_th3c_getmarkercolor -  :: (Ptr RawTH3C) -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetMarkerColor"+               c_th3c_setmarkercolor :: Ptr RawTH3C -> CInt -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_GetMarkerStyle" c_th3c_getmarkerstyle -  :: (Ptr RawTH3C) -> IO CInt+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetMarkerStyle"+               c_th3c_setmarkerstyle :: Ptr RawTH3C -> CInt -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_GetMarkerSize" c_th3c_getmarkersize -  :: (Ptr RawTH3C) -> IO CDouble+foreign import ccall safe "HROOTHistTH3C.h TH3C_SetMarkerSize"+               c_th3c_setmarkersize :: Ptr RawTH3C -> CInt -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_ResetAttMarker" c_th3c_resetattmarker -  :: (Ptr RawTH3C) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_Draw" c_th3c_draw+               :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_SetMarkerAttributes" c_th3c_setmarkerattributes -  :: (Ptr RawTH3C) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_FindObject"+               c_th3c_findobject :: Ptr RawTH3C -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH3C.h TH3C_SetMarkerColor" c_th3c_setmarkercolor -  :: (Ptr RawTH3C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_GetName"+               c_th3c_getname :: Ptr RawTH3C -> IO CString -foreign import ccall "HROOTHistTH3C.h TH3C_SetMarkerStyle" c_th3c_setmarkerstyle -  :: (Ptr RawTH3C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_IsA" c_th3c_isa ::+               Ptr RawTH3C -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH3C.h TH3C_SetMarkerSize" c_th3c_setmarkersize -  :: (Ptr RawTH3C) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_Paint" c_th3c_paint+               :: Ptr RawTH3C -> CString -> IO () -foreign import ccall "HROOTHistTH3C.h TH3C_delete" c_th3c_delete -  :: (Ptr RawTH3C) -> IO ()+foreign import ccall safe "HROOTHistTH3C.h TH3C_printObj"+               c_th3c_printobj :: Ptr RawTH3C -> CString -> IO () +foreign import ccall safe "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 safe "HROOTHistTH3C.h TH3C_delete"+               c_th3c_delete :: Ptr RawTH3C -> IO ()
src/HROOT/Hist/TH3C/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH3C.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH3C.RawType import HROOT.Hist.TH3C.FFI import HROOT.Hist.TH3C.Interface@@ -41,9 +42,9 @@ import HROOT.Core.TAtt3D.RawType import HROOT.Core.TAtt3D.Cast import HROOT.Core.TAtt3D.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -53,6 +54,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -60,381 +64,196 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH3C TH3C -instance ITH3C TH3C where instance ITH3 TH3C where-  fill3 = xform3 c_th3c_fill3-  fill3w = xform4 c_th3c_fill3w-  fitSlicesZ = xform7 c_th3c_fitslicesz-  getCorrelationFactor3 = xform2 c_th3c_getcorrelationfactor3-  getCovariance3 = xform2 c_th3c_getcovariance3-  rebinX3 = xform2 c_th3c_rebinx3-  rebinY3 = xform2 c_th3c_rebiny3-  rebinZ3 = xform2 c_th3c_rebinz3-  rebin3D = xform4 c_th3c_rebin3d-instance ITArrayC 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-  drawNormalized = xform2 c_th3c_drawnormalized-  drawPanelTH1 = xform0 c_th3c_drawpanelth1-  bufferEmpty = xform1 c_th3c_bufferempty-  evalF = xform2 c_th3c_evalf-  fFT = xform2 c_th3c_fft-  fill1 = xform1 c_th3c_fill1-  fill1w = xform2 c_th3c_fill1w-  fillN1 = xform4 c_th3c_filln1-  fillRandom = xform2 c_th3c_fillrandom-  findBin = xform3 c_th3c_findbin-  findFixBin = xform3 c_th3c_findfixbin-  findFirstBinAbove = xform2 c_th3c_findfirstbinabove-  findLastBinAbove = xform2 c_th3c_findlastbinabove-  fitPanelTH1 = xform0 c_th3c_fitpanelth1-  getNdivisionA = xform1 c_th3c_getndivisiona-  getAxisColorA = xform1 c_th3c_getaxiscolora-  getLabelColorA = xform1 c_th3c_getlabelcolora-  getLabelFontA = xform1 c_th3c_getlabelfonta-  getLabelOffsetA = xform1 c_th3c_getlabeloffseta-  getLabelSizeA = xform1 c_th3c_getlabelsizea-  getTitleFontA = xform1 c_th3c_gettitlefonta-  getTitleOffsetA = xform1 c_th3c_gettitleoffseta-  getTitleSizeA = xform1 c_th3c_gettitlesizea-  getTickLengthA = xform1 c_th3c_getticklengtha-  getBarOffset = xform0 c_th3c_getbaroffset-  getBarWidth = xform0 c_th3c_getbarwidth-  getContour = xform1 c_th3c_getcontour-  getContourLevel = xform1 c_th3c_getcontourlevel-  getContourLevelPad = xform1 c_th3c_getcontourlevelpad-  getBin = xform3 c_th3c_getbin-  getBinCenter = xform1 c_th3c_getbincenter-  getBinContent1 = xform1 c_th3c_getbincontent1-  getBinContent2 = xform2 c_th3c_getbincontent2-  getBinContent3 = xform3 c_th3c_getbincontent3-  getBinError1 = xform1 c_th3c_getbinerror1-  getBinError2 = xform2 c_th3c_getbinerror2-  getBinError3 = xform3 c_th3c_getbinerror3-  getBinLowEdge = xform1 c_th3c_getbinlowedge-  getBinWidth = xform1 c_th3c_getbinwidth-  getCellContent = xform2 c_th3c_getcellcontent-  getCellError = xform2 c_th3c_getcellerror-  getEntries = xform0 c_th3c_getentries-  getEffectiveEntries = xform0 c_th3c_geteffectiveentries-  getFunction = xform1 c_th3c_getfunction-  getDimension = xform0 c_th3c_getdimension-  getKurtosis = xform1 c_th3c_getkurtosis-  getLowEdge = xform1 c_th3c_getlowedge-  getMaximumTH1 = xform1 c_th3c_getmaximumth1-  getMaximumBin = xform0 c_th3c_getmaximumbin-  getMaximumStored = xform0 c_th3c_getmaximumstored-  getMinimumTH1 = xform1 c_th3c_getminimumth1-  getMinimumBin = xform0 c_th3c_getminimumbin-  getMinimumStored = xform0 c_th3c_getminimumstored-  getMean = xform1 c_th3c_getmean-  getMeanError = xform1 c_th3c_getmeanerror-  getNbinsX = xform0 c_th3c_getnbinsx-  getNbinsY = xform0 c_th3c_getnbinsy-  getNbinsZ = xform0 c_th3c_getnbinsz-  getQuantilesTH1 = xform3 c_th3c_getquantilesth1-  getRandom = xform0 c_th3c_getrandom-  getStats = xform1 c_th3c_getstats-  getSumOfWeights = xform0 c_th3c_getsumofweights-  getSumw2 = xform0 c_th3c_getsumw2-  getSumw2N = xform0 c_th3c_getsumw2n-  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-  labelsInflate = xform1 c_th3c_labelsinflate-  labelsOption = xform2 c_th3c_labelsoption-  multiflyF = xform2 c_th3c_multiflyf-  multiply = xform5 c_th3c_multiply-  putStats = xform1 c_th3c_putstats-  rebin = xform3 c_th3c_rebin-  rebinAxis = xform2 c_th3c_rebinaxis-  rebuild = xform1 c_th3c_rebuild-  recursiveRemove = xform1 c_th3c_recursiveremove-  reset = xform1 c_th3c_reset-  resetStats = xform0 c_th3c_resetstats-  scale = xform2 c_th3c_scale-  setAxisColorA = xform2 c_th3c_setaxiscolora-  setAxisRange = xform3 c_th3c_setaxisrange-  setBarOffset = xform1 c_th3c_setbaroffset-  setBarWidth = xform1 c_th3c_setbarwidth-  setBinContent1 = xform2 c_th3c_setbincontent1-  setBinContent2 = xform3 c_th3c_setbincontent2-  setBinContent3 = xform4 c_th3c_setbincontent3-  setBinError1 = xform2 c_th3c_setbinerror1-  setBinError2 = xform3 c_th3c_setbinerror2-  setBinError3 = xform4 c_th3c_setbinerror3-  setBins1 = xform2 c_th3c_setbins1-  setBins2 = xform4 c_th3c_setbins2-  setBins3 = xform6 c_th3c_setbins3-  setBinsLength = xform1 c_th3c_setbinslength-  setBuffer = xform2 c_th3c_setbuffer-  setCellContent = xform3 c_th3c_setcellcontent-  setContent = xform1 c_th3c_setcontent-  setContour = xform2 c_th3c_setcontour-  setContourLevel = xform2 c_th3c_setcontourlevel-  setDirectory = xform1 c_th3c_setdirectory-  setEntries = xform1 c_th3c_setentries-  setError = xform1 c_th3c_seterror-  setLabelColorA = xform2 c_th3c_setlabelcolora-  setLabelSizeA = xform2 c_th3c_setlabelsizea-  setLabelFontA = xform2 c_th3c_setlabelfonta-  setLabelOffsetA = xform2 c_th3c_setlabeloffseta-  setMaximum = xform1 c_th3c_setmaximum-  setMinimum = xform1 c_th3c_setminimum-  setNormFactor = xform1 c_th3c_setnormfactor-  setStats = xform1 c_th3c_setstats-  setOption = xform1 c_th3c_setoption-  setXTitle = xform1 c_th3c_setxtitle-  setYTitle = xform1 c_th3c_setytitle-  setZTitle = xform1 c_th3c_setztitle-  showBackground = xform2 c_th3c_showbackground-  showPeaks = xform3 c_th3c_showpeaks-  smooth = xform2 c_th3c_smooth-  sumw2 = xform0 c_th3c_sumw2-instance ITAtt3D TH3C where-instance ITObject TH3C where-  draw = xform1 c_th3c_draw-  findObject = xform1 c_th3c_findobject-  getName = xform0 c_th3c_getname-  isA = xform0 c_th3c_isa-  paint = xform1 c_th3c_paint-  printObj = xform1 c_th3c_printobj-  saveAs = xform2 c_th3c_saveas-  write = xform3 c_th3c_write-instance ITAttLine TH3C where-  getLineColor = xform0 c_th3c_getlinecolor-  getLineStyle = xform0 c_th3c_getlinestyle-  getLineWidth = xform0 c_th3c_getlinewidth-  resetAttLine = xform1 c_th3c_resetattline-  setLineAttributes = xform0 c_th3c_setlineattributes-  setLineColor = xform1 c_th3c_setlinecolor-  setLineStyle = xform1 c_th3c_setlinestyle-  setLineWidth = xform1 c_th3c_setlinewidth-instance ITAttFill TH3C where-  setFillColor = xform1 c_th3c_setfillcolor-  setFillStyle = xform1 c_th3c_setfillstyle-instance ITAttMarker TH3C where-  getMarkerColor = xform0 c_th3c_getmarkercolor-  getMarkerStyle = xform0 c_th3c_getmarkerstyle-  getMarkerSize = xform0 c_th3c_getmarkersize-  resetAttMarker = xform1 c_th3c_resetattmarker-  setMarkerAttributes = xform0 c_th3c_setmarkerattributes-  setMarkerColor = xform1 c_th3c_setmarkercolor-  setMarkerStyle = xform1 c_th3c_setmarkerstyle-  setMarkerSize = xform1 c_th3c_setmarkersize-instance IDeletable TH3C where-  delete = xform0 c_th3c_delete-instance ITArray TH3C where--instance ITH3C (Exist TH3C) where--instance ITH3 (Exist TH3C) where-  fill3 (ETH3C x) = fill3 x-  fill3w (ETH3C x) = fill3w x-  fitSlicesZ (ETH3C x) = fitSlicesZ x-  getCorrelationFactor3 (ETH3C x) = getCorrelationFactor3 x-  getCovariance3 (ETH3C x) = getCovariance3 x-  rebinX3 (ETH3C x) = rebinX3 x-  rebinY3 (ETH3C x) = rebinY3 x-  rebinZ3 (ETH3C x) = rebinZ3 x-  rebin3D (ETH3C x) = rebin3D x-instance ITArrayC (Exist TH3C) where+        fill3 = xform3 c_th3c_fill3+        fill3w = xform4 c_th3c_fill3w+        fitSlicesZ = xform7 c_th3c_fitslicesz+        getCorrelationFactor3 = xform2 c_th3c_getcorrelationfactor3+        getCovariance3 = xform2 c_th3c_getcovariance3+        rebinX3 = xform2 c_th3c_rebinx3+        rebinY3 = xform2 c_th3c_rebiny3+        rebinZ3 = xform2 c_th3c_rebinz3+        rebin3D = xform4 c_th3c_rebin3d -instance ITH1 (Exist TH3C) where-  add (ETH3C x) = add x-  addBinContent (ETH3C x) = addBinContent x-  chi2Test (ETH3C x) = chi2Test x-  computeIntegral (ETH3C x) = computeIntegral x-  directoryAutoAdd (ETH3C x) = directoryAutoAdd x-  divide (ETH3C x) = divide x-  drawCopyTH1 (ETH3C x) a1 = return . ETH3C =<< drawCopyTH1 x a1-  drawNormalized (ETH3C x) = drawNormalized x-  drawPanelTH1 (ETH3C x) = drawPanelTH1 x-  bufferEmpty (ETH3C x) = bufferEmpty x-  evalF (ETH3C x) = evalF x-  fFT (ETH3C x) = fFT x-  fill1 (ETH3C x) = fill1 x-  fill1w (ETH3C x) = fill1w x-  fillN1 (ETH3C x) = fillN1 x-  fillRandom (ETH3C x) = fillRandom x-  findBin (ETH3C x) = findBin x-  findFixBin (ETH3C x) = findFixBin x-  findFirstBinAbove (ETH3C x) = findFirstBinAbove x-  findLastBinAbove (ETH3C x) = findLastBinAbove x-  fitPanelTH1 (ETH3C x) = fitPanelTH1 x-  getNdivisionA (ETH3C x) = getNdivisionA x-  getAxisColorA (ETH3C x) = getAxisColorA x-  getLabelColorA (ETH3C x) = getLabelColorA x-  getLabelFontA (ETH3C x) = getLabelFontA x-  getLabelOffsetA (ETH3C x) = getLabelOffsetA x-  getLabelSizeA (ETH3C x) = getLabelSizeA x-  getTitleFontA (ETH3C x) = getTitleFontA x-  getTitleOffsetA (ETH3C x) = getTitleOffsetA x-  getTitleSizeA (ETH3C x) = getTitleSizeA x-  getTickLengthA (ETH3C x) = getTickLengthA x-  getBarOffset (ETH3C x) = getBarOffset x-  getBarWidth (ETH3C x) = getBarWidth x-  getContour (ETH3C x) = getContour x-  getContourLevel (ETH3C x) = getContourLevel x-  getContourLevelPad (ETH3C x) = getContourLevelPad x-  getBin (ETH3C x) = getBin x-  getBinCenter (ETH3C x) = getBinCenter x-  getBinContent1 (ETH3C x) = getBinContent1 x-  getBinContent2 (ETH3C x) = getBinContent2 x-  getBinContent3 (ETH3C x) = getBinContent3 x-  getBinError1 (ETH3C x) = getBinError1 x-  getBinError2 (ETH3C x) = getBinError2 x-  getBinError3 (ETH3C x) = getBinError3 x-  getBinLowEdge (ETH3C x) = getBinLowEdge x-  getBinWidth (ETH3C x) = getBinWidth x-  getCellContent (ETH3C x) = getCellContent x-  getCellError (ETH3C x) = getCellError x-  getEntries (ETH3C x) = getEntries x-  getEffectiveEntries (ETH3C x) = getEffectiveEntries x-  getFunction (ETH3C x) = getFunction x-  getDimension (ETH3C x) = getDimension x-  getKurtosis (ETH3C x) = getKurtosis x-  getLowEdge (ETH3C x) = getLowEdge x-  getMaximumTH1 (ETH3C x) = getMaximumTH1 x-  getMaximumBin (ETH3C x) = getMaximumBin x-  getMaximumStored (ETH3C x) = getMaximumStored x-  getMinimumTH1 (ETH3C x) = getMinimumTH1 x-  getMinimumBin (ETH3C x) = getMinimumBin x-  getMinimumStored (ETH3C x) = getMinimumStored x-  getMean (ETH3C x) = getMean x-  getMeanError (ETH3C x) = getMeanError x-  getNbinsX (ETH3C x) = getNbinsX x-  getNbinsY (ETH3C x) = getNbinsY x-  getNbinsZ (ETH3C x) = getNbinsZ x-  getQuantilesTH1 (ETH3C x) = getQuantilesTH1 x-  getRandom (ETH3C x) = getRandom x-  getStats (ETH3C x) = getStats x-  getSumOfWeights (ETH3C x) = getSumOfWeights x-  getSumw2 (ETH3C x) = getSumw2 x-  getSumw2N (ETH3C x) = getSumw2N x-  getRMS (ETH3C x) = getRMS x-  getRMSError (ETH3C x) = getRMSError x-  getSkewness (ETH3C x) = getSkewness x-  integral1 (ETH3C x) = integral1 x-  interpolate1 (ETH3C x) = interpolate1 x-  interpolate2 (ETH3C x) = interpolate2 x-  interpolate3 (ETH3C x) = interpolate3 x-  kolmogorovTest (ETH3C x) = kolmogorovTest x-  labelsDeflate (ETH3C x) = labelsDeflate x-  labelsInflate (ETH3C x) = labelsInflate x-  labelsOption (ETH3C x) = labelsOption x-  multiflyF (ETH3C x) = multiflyF x-  multiply (ETH3C x) = multiply x-  putStats (ETH3C x) = putStats x-  rebin (ETH3C x) = rebin x-  rebinAxis (ETH3C x) = rebinAxis x-  rebuild (ETH3C x) = rebuild x-  recursiveRemove (ETH3C x) = recursiveRemove x-  reset (ETH3C x) = reset x-  resetStats (ETH3C x) = resetStats x-  scale (ETH3C x) = scale x-  setAxisColorA (ETH3C x) = setAxisColorA x-  setAxisRange (ETH3C x) = setAxisRange x-  setBarOffset (ETH3C x) = setBarOffset x-  setBarWidth (ETH3C x) = setBarWidth x-  setBinContent1 (ETH3C x) = setBinContent1 x-  setBinContent2 (ETH3C x) = setBinContent2 x-  setBinContent3 (ETH3C x) = setBinContent3 x-  setBinError1 (ETH3C x) = setBinError1 x-  setBinError2 (ETH3C x) = setBinError2 x-  setBinError3 (ETH3C x) = setBinError3 x-  setBins1 (ETH3C x) = setBins1 x-  setBins2 (ETH3C x) = setBins2 x-  setBins3 (ETH3C x) = setBins3 x-  setBinsLength (ETH3C x) = setBinsLength x-  setBuffer (ETH3C x) = setBuffer x-  setCellContent (ETH3C x) = setCellContent x-  setContent (ETH3C x) = setContent x-  setContour (ETH3C x) = setContour x-  setContourLevel (ETH3C x) = setContourLevel x-  setDirectory (ETH3C x) = setDirectory x-  setEntries (ETH3C x) = setEntries x-  setError (ETH3C x) = setError x-  setLabelColorA (ETH3C x) = setLabelColorA x-  setLabelSizeA (ETH3C x) = setLabelSizeA x-  setLabelFontA (ETH3C x) = setLabelFontA x-  setLabelOffsetA (ETH3C x) = setLabelOffsetA x-  setMaximum (ETH3C x) = setMaximum x-  setMinimum (ETH3C x) = setMinimum x-  setNormFactor (ETH3C x) = setNormFactor x-  setStats (ETH3C x) = setStats x-  setOption (ETH3C x) = setOption x-  setXTitle (ETH3C x) = setXTitle x-  setYTitle (ETH3C x) = setYTitle x-  setZTitle (ETH3C x) = setZTitle x-  showBackground (ETH3C x) = showBackground x-  showPeaks (ETH3C x) = showPeaks x-  smooth (ETH3C x) = smooth x-  sumw2 (ETH3C x) = sumw2 x-instance ITAtt3D (Exist TH3C) where+instance ITArrayC TH3C -instance ITObject (Exist TH3C) where-  draw (ETH3C x) = draw x-  findObject (ETH3C x) = findObject x-  getName (ETH3C x) = getName x-  isA (ETH3C x) = isA x-  paint (ETH3C x) = paint x-  printObj (ETH3C x) = printObj x-  saveAs (ETH3C x) = saveAs x-  write (ETH3C x) = write x-instance ITAttLine (Exist TH3C) where-  getLineColor (ETH3C x) = getLineColor x-  getLineStyle (ETH3C x) = getLineStyle x-  getLineWidth (ETH3C x) = getLineWidth x-  resetAttLine (ETH3C x) = resetAttLine x-  setLineAttributes (ETH3C x) = setLineAttributes x-  setLineColor (ETH3C x) = setLineColor x-  setLineStyle (ETH3C x) = setLineStyle x-  setLineWidth (ETH3C x) = setLineWidth x-instance ITAttFill (Exist TH3C) where-  setFillColor (ETH3C x) = setFillColor x-  setFillStyle (ETH3C x) = setFillStyle x-instance ITAttMarker (Exist TH3C) where-  getMarkerColor (ETH3C x) = getMarkerColor x-  getMarkerStyle (ETH3C x) = getMarkerStyle x-  getMarkerSize (ETH3C x) = getMarkerSize x-  resetAttMarker (ETH3C x) = resetAttMarker x-  setMarkerAttributes (ETH3C x) = setMarkerAttributes x-  setMarkerColor (ETH3C x) = setMarkerColor x-  setMarkerStyle (ETH3C x) = setMarkerStyle x-  setMarkerSize (ETH3C x) = setMarkerSize x-instance IDeletable (Exist TH3C) where-  delete (ETH3C x) = delete x-instance ITArray (Exist 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+        drawNormalized = xform2 c_th3c_drawnormalized+        drawPanelTH1 = xform0 c_th3c_drawpanelth1+        bufferEmpty = xform1 c_th3c_bufferempty+        evalF = xform2 c_th3c_evalf+        fFT = xform2 c_th3c_fft+        fill1 = xform1 c_th3c_fill1+        fill1w = xform2 c_th3c_fill1w+        fillN1 = xform4 c_th3c_filln1+        fillRandom = xform2 c_th3c_fillrandom+        findBin = xform3 c_th3c_findbin+        findFixBin = xform3 c_th3c_findfixbin+        findFirstBinAbove = xform2 c_th3c_findfirstbinabove+        findLastBinAbove = xform2 c_th3c_findlastbinabove+        fit = xform5 c_th3c_fit+        fitPanelTH1 = xform0 c_th3c_fitpanelth1+        getNdivisionA = xform1 c_th3c_getndivisiona+        getAxisColorA = xform1 c_th3c_getaxiscolora+        getLabelColorA = xform1 c_th3c_getlabelcolora+        getLabelFontA = xform1 c_th3c_getlabelfonta+        getLabelOffsetA = xform1 c_th3c_getlabeloffseta+        getLabelSizeA = xform1 c_th3c_getlabelsizea+        getTitleFontA = xform1 c_th3c_gettitlefonta+        getTitleOffsetA = xform1 c_th3c_gettitleoffseta+        getTitleSizeA = xform1 c_th3c_gettitlesizea+        getTickLengthA = xform1 c_th3c_getticklengtha+        getBarOffset = xform0 c_th3c_getbaroffset+        getBarWidth = xform0 c_th3c_getbarwidth+        getContour = xform1 c_th3c_getcontour+        getContourLevel = xform1 c_th3c_getcontourlevel+        getContourLevelPad = xform1 c_th3c_getcontourlevelpad+        getBin = xform3 c_th3c_getbin+        getBinCenter = xform1 c_th3c_getbincenter+        getBinContent1 = xform1 c_th3c_getbincontent1+        getBinContent2 = xform2 c_th3c_getbincontent2+        getBinContent3 = xform3 c_th3c_getbincontent3+        getBinError1 = xform1 c_th3c_getbinerror1+        getBinError2 = xform2 c_th3c_getbinerror2+        getBinError3 = xform3 c_th3c_getbinerror3+        getBinLowEdge = xform1 c_th3c_getbinlowedge+        getBinWidth = xform1 c_th3c_getbinwidth+        getCellContent = xform2 c_th3c_getcellcontent+        getCellError = xform2 c_th3c_getcellerror+        getEntries = xform0 c_th3c_getentries+        getEffectiveEntries = xform0 c_th3c_geteffectiveentries+        getFunction = xform1 c_th3c_getfunction+        getDimension = xform0 c_th3c_getdimension+        getKurtosis = xform1 c_th3c_getkurtosis+        getLowEdge = xform1 c_th3c_getlowedge+        getMaximumTH1 = xform1 c_th3c_getmaximumth1+        getMaximumBin = xform0 c_th3c_getmaximumbin+        getMaximumStored = xform0 c_th3c_getmaximumstored+        getMinimumTH1 = xform1 c_th3c_getminimumth1+        getMinimumBin = xform0 c_th3c_getminimumbin+        getMinimumStored = xform0 c_th3c_getminimumstored+        getMean = xform1 c_th3c_getmean+        getMeanError = xform1 c_th3c_getmeanerror+        getNbinsX = xform0 c_th3c_getnbinsx+        getNbinsY = xform0 c_th3c_getnbinsy+        getNbinsZ = xform0 c_th3c_getnbinsz+        getQuantilesTH1 = xform3 c_th3c_getquantilesth1+        getRandom = xform0 c_th3c_getrandom+        getStats = xform1 c_th3c_getstats+        getSumOfWeights = xform0 c_th3c_getsumofweights+        getSumw2 = xform0 c_th3c_getsumw2+        getSumw2N = xform0 c_th3c_getsumw2n+        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+        labelsInflate = xform1 c_th3c_labelsinflate+        labelsOption = xform2 c_th3c_labelsoption+        multiflyF = xform2 c_th3c_multiflyf+        multiply = xform5 c_th3c_multiply+        putStats = xform1 c_th3c_putstats+        rebin = xform3 c_th3c_rebin+        rebinAxis = xform2 c_th3c_rebinaxis+        rebuild = xform1 c_th3c_rebuild+        recursiveRemove = xform1 c_th3c_recursiveremove+        reset = xform1 c_th3c_reset+        resetStats = xform0 c_th3c_resetstats+        scale = xform2 c_th3c_scale+        setAxisColorA = xform2 c_th3c_setaxiscolora+        setAxisRange = xform3 c_th3c_setaxisrange+        setBarOffset = xform1 c_th3c_setbaroffset+        setBarWidth = xform1 c_th3c_setbarwidth+        setBinContent1 = xform2 c_th3c_setbincontent1+        setBinContent2 = xform3 c_th3c_setbincontent2+        setBinContent3 = xform4 c_th3c_setbincontent3+        setBinError1 = xform2 c_th3c_setbinerror1+        setBinError2 = xform3 c_th3c_setbinerror2+        setBinError3 = xform4 c_th3c_setbinerror3+        setBins1 = xform2 c_th3c_setbins1+        setBins2 = xform4 c_th3c_setbins2+        setBins3 = xform6 c_th3c_setbins3+        setBinsLength = xform1 c_th3c_setbinslength+        setBuffer = xform2 c_th3c_setbuffer+        setCellContent = xform3 c_th3c_setcellcontent+        setContent = xform1 c_th3c_setcontent+        setContour = xform2 c_th3c_setcontour+        setContourLevel = xform2 c_th3c_setcontourlevel+        setDirectory = xform1 c_th3c_setdirectory+        setEntries = xform1 c_th3c_setentries+        setError = xform1 c_th3c_seterror+        setLabelColorA = xform2 c_th3c_setlabelcolora+        setLabelSizeA = xform2 c_th3c_setlabelsizea+        setLabelFontA = xform2 c_th3c_setlabelfonta+        setLabelOffsetA = xform2 c_th3c_setlabeloffseta+        setMaximum = xform1 c_th3c_setmaximum+        setMinimum = xform1 c_th3c_setminimum+        setNormFactor = xform1 c_th3c_setnormfactor+        setStats = xform1 c_th3c_setstats+        setOption = xform1 c_th3c_setoption+        setXTitle = xform1 c_th3c_setxtitle+        setYTitle = xform1 c_th3c_setytitle+        setZTitle = xform1 c_th3c_setztitle+        showBackground = xform2 c_th3c_showbackground+        showPeaks = xform3 c_th3c_showpeaks+        smooth = xform2 c_th3c_smooth+        sumw2 = xform0 c_th3c_sumw2 +instance ITAtt3D TH3C +instance ITNamed TH3C where+        setName = xform1 c_th3c_setname+        setNameTitle = xform2 c_th3c_setnametitle+        setTitle = xform1 c_th3c_settitle +instance ITAttLine TH3C where+        getLineColor = xform0 c_th3c_getlinecolor+        getLineStyle = xform0 c_th3c_getlinestyle+        getLineWidth = xform0 c_th3c_getlinewidth+        resetAttLine = xform1 c_th3c_resetattline+        setLineAttributes = xform0 c_th3c_setlineattributes+        setLineColor = xform1 c_th3c_setlinecolor+        setLineStyle = xform1 c_th3c_setlinestyle+        setLineWidth = xform1 c_th3c_setlinewidth +instance ITAttFill TH3C where+        setFillColor = xform1 c_th3c_setfillcolor+        setFillStyle = xform1 c_th3c_setfillstyle +instance ITAttMarker TH3C where+        getMarkerColor = xform0 c_th3c_getmarkercolor+        getMarkerStyle = xform0 c_th3c_getmarkerstyle+        getMarkerSize = xform0 c_th3c_getmarkersize+        resetAttMarker = xform1 c_th3c_resetattmarker+        setMarkerAttributes = xform0 c_th3c_setmarkerattributes+        setMarkerColor = xform1 c_th3c_setmarkercolor+        setMarkerStyle = xform1 c_th3c_setmarkerstyle+        setMarkerSize = xform1 c_th3c_setmarkersize +instance ITObject TH3C where+        draw = xform1 c_th3c_draw+        findObject = xform1 c_th3c_findobject+        getName = xform0 c_th3c_getname+        isA = xform0 c_th3c_isa+        paint = xform1 c_th3c_paint+        printObj = xform1 c_th3c_printobj+        saveAs = xform2 c_th3c_saveas+        write = xform3 c_th3c_write +instance IDeletable TH3C where+        delete = xform0 c_th3c_delete -instance FPtr (Exist TH3C) where-  type Raw (Exist TH3C) = RawTH3C-  get_fptr (ETH3C obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH3C (cast_fptr_to_obj (fptr :: ForeignPtr RawTH3C) :: TH3C)+instance ITArray TH3C
src/HROOT/Hist/TH3C/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH3C.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH3C.RawType- import HROOT.Hist.TH3.Interface import HROOT.Core.TArrayC.Interface----- ============ ---- ---class (ITH3 a,ITArrayC a) => ITH3C a where--instance Existable TH3C where-  data Exist TH3C = forall a. (FPtr a, ITH3C a) => ETH3C a+class (ITH3 a, ITArrayC a) => ITH3C a -upcastTH3C :: (FPtr a, ITH3C a) => a -> TH3C-upcastTH3C h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH3C = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH3C :: forall a . (FPtr a, ITH3C a) => a -> TH3C+upcastTH3C h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH3C = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH3C :: (FPtr a, ITH3C a) => TH3C -> a -downcastTH3C h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH3C :: forall a . (FPtr a, ITH3C a) => TH3C -> a+downcastTH3C h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH3C/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH3C.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH3C -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH3C = TH3C (Ptr RawTH3C)+             deriving (Eq, Ord, Show) -data RawTH3C-newtype TH3C = TH3C (ForeignPtr RawTH3C) deriving (Eq, Ord, Show) instance FPtr TH3C where-   type Raw TH3C = RawTH3C-   get_fptr (TH3C fptr) = fptr-   cast_fptr_to_obj = TH3C+        type Raw TH3C = RawTH3C+        get_fptr (TH3C ptr) = ptr+        cast_fptr_to_obj = TH3C
src/HROOT/Hist/TH3D.hs view
@@ -1,15 +1,5 @@-module HROOT.Hist.TH3D-  (-    TH3D(..)-  , ITH3D-  , upcastTH3D-  , downcastTH3D-- -  ) where-+module HROOT.Hist.TH3D (TH3D(..), ITH3D, upcastTH3D, downcastTH3D)+       where import HROOT.Hist.TH3D.RawType import HROOT.Hist.TH3D.Interface import HROOT.Hist.TH3D.Implementation--
src/HROOT/Hist/TH3D/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH3D.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH3D.RawType import HROOT.Hist.TH3D.Interface  instance (ITH3D a, FPtr a) => Castable a (Ptr RawTH3D) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH3D (Ptr RawTH3D) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH3D.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH3D.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1.RawType@@ -23,503 +13,558 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH3D.h"+foreign import ccall safe "HROOTHistTH3D.h TH3D_fill3" c_th3d_fill3+               :: Ptr RawTH3D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_fill3" c_th3d_fill3 -  :: (Ptr RawTH3D) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_fill3w"+               c_th3d_fill3w ::+               Ptr RawTH3D -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH3D ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_FitSlicesZ" c_th3d_fitslicesz -  :: (Ptr RawTH3D) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTH3D.h TH3D_getCorrelationFactor3"+               c_th3d_getcorrelationfactor3 ::+               Ptr RawTH3D -> CInt -> CInt -> IO CDouble -foreign import ccall "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 "HROOTHistTH3D.h TH3D_getCovariance3" c_th3d_getcovariance3 -  :: (Ptr RawTH3D) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_rebinX3"+               c_th3d_rebinx3 :: Ptr RawTH3D -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3D.h TH3D_rebinX3" c_th3d_rebinx3 -  :: (Ptr RawTH3D) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3D.h TH3D_rebinY3"+               c_th3d_rebiny3 :: Ptr RawTH3D -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3D.h TH3D_rebinY3" c_th3d_rebiny3 -  :: (Ptr RawTH3D) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3D.h TH3D_rebinZ3"+               c_th3d_rebinz3 :: Ptr RawTH3D -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3D.h TH3D_rebinZ3" c_th3d_rebinz3 -  :: (Ptr RawTH3D) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3D.h TH3D_Rebin3D"+               c_th3d_rebin3d ::+               Ptr RawTH3D -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "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 "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 "HROOTHistTH3D.h TH3D_AddBinContent" c_th3d_addbincontent -  :: (Ptr RawTH3D) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_Chi2Test"+               c_th3d_chi2test ::+               Ptr RawTH3D -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH3D.h TH3D_ComputeIntegral" c_th3d_computeintegral -  :: (Ptr RawTH3D) -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_DirectoryAutoAdd"+               c_th3d_directoryautoadd ::+               Ptr RawTH3D -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_DirectoryAutoAdd" c_th3d_directoryautoadd -  :: (Ptr RawTH3D) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_Divide"+               c_th3d_divide ::+               Ptr RawTH3D ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH3D.h TH3D_drawCopyTH1" c_th3d_drawcopyth1 -  :: (Ptr RawTH3D) -> CString -> IO (Ptr RawTH3D)+foreign import ccall safe "HROOTHistTH3D.h TH3D_DrawNormalized"+               c_th3d_drawnormalized ::+               Ptr RawTH3D -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH3D.h TH3D_evalF" c_th3d_evalf -  :: (Ptr RawTH3D) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_FFT" c_th3d_fft ::+               Ptr RawTH3D -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH3D.h TH3D_fill1" c_th3d_fill1 -  :: (Ptr RawTH3D) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_fill1w"+               c_th3d_fill1w :: Ptr RawTH3D -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_fill1w" c_th3d_fill1w -  :: (Ptr RawTH3D) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_fillN1"+               c_th3d_filln1 ::+               Ptr RawTH3D ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_fillN1" c_th3d_filln1 -  :: (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 "HROOTHistTH3D.h TH3D_FillRandom" c_th3d_fillrandom -  :: (Ptr RawTH3D) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_FindBin"+               c_th3d_findbin ::+               Ptr RawTH3D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH3D -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH3D.h TH3D_FindFirstBinAbove" c_th3d_findfirstbinabove -  :: (Ptr RawTH3D) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_FindLastBinAbove"+               c_th3d_findlastbinabove ::+               Ptr RawTH3D -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_FindLastBinAbove" c_th3d_findlastbinabove -  :: (Ptr RawTH3D) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_Fit" c_th3d_fit ::+               Ptr RawTH3D ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_FitPanelTH1" c_th3d_fitpanelth1 -  :: (Ptr RawTH3D) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_FitPanelTH1"+               c_th3d_fitpanelth1 :: Ptr RawTH3D -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_getNdivisionA" c_th3d_getndivisiona -  :: (Ptr RawTH3D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_getNdivisionA"+               c_th3d_getndivisiona :: Ptr RawTH3D -> CString -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_getAxisColorA" c_th3d_getaxiscolora -  :: (Ptr RawTH3D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_getAxisColorA"+               c_th3d_getaxiscolora :: Ptr RawTH3D -> CString -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_getLabelColorA" c_th3d_getlabelcolora -  :: (Ptr RawTH3D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_getLabelColorA"+               c_th3d_getlabelcolora :: Ptr RawTH3D -> CString -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_getLabelFontA" c_th3d_getlabelfonta -  :: (Ptr RawTH3D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_getLabelFontA"+               c_th3d_getlabelfonta :: Ptr RawTH3D -> CString -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_getLabelOffsetA" c_th3d_getlabeloffseta -  :: (Ptr RawTH3D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_getLabelOffsetA"+               c_th3d_getlabeloffseta :: Ptr RawTH3D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_getLabelSizeA" c_th3d_getlabelsizea -  :: (Ptr RawTH3D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_getLabelSizeA"+               c_th3d_getlabelsizea :: Ptr RawTH3D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_getTitleFontA" c_th3d_gettitlefonta -  :: (Ptr RawTH3D) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_getTitleFontA"+               c_th3d_gettitlefonta :: Ptr RawTH3D -> CString -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_getTitleOffsetA" c_th3d_gettitleoffseta -  :: (Ptr RawTH3D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_getTitleOffsetA"+               c_th3d_gettitleoffseta :: Ptr RawTH3D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_getTitleSizeA" c_th3d_gettitlesizea -  :: (Ptr RawTH3D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_getTitleSizeA"+               c_th3d_gettitlesizea :: Ptr RawTH3D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_getTickLengthA" c_th3d_getticklengtha -  :: (Ptr RawTH3D) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_getTickLengthA"+               c_th3d_getticklengtha :: Ptr RawTH3D -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetBarOffset" c_th3d_getbaroffset -  :: (Ptr RawTH3D) -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBarOffset"+               c_th3d_getbaroffset :: Ptr RawTH3D -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetBarWidth" c_th3d_getbarwidth -  :: (Ptr RawTH3D) -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBarWidth"+               c_th3d_getbarwidth :: Ptr RawTH3D -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetContour" c_th3d_getcontour -  :: (Ptr RawTH3D) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetContour"+               c_th3d_getcontour :: Ptr RawTH3D -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_GetContourLevel" c_th3d_getcontourlevel -  :: (Ptr RawTH3D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetContourLevel"+               c_th3d_getcontourlevel :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetContourLevelPad" c_th3d_getcontourlevelpad -  :: (Ptr RawTH3D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetContourLevelPad"+               c_th3d_getcontourlevelpad :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetBin" c_th3d_getbin -  :: (Ptr RawTH3D) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBin"+               c_th3d_getbin :: Ptr RawTH3D -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_GetBinCenter" c_th3d_getbincenter -  :: (Ptr RawTH3D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinCenter"+               c_th3d_getbincenter :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetBinContent1" c_th3d_getbincontent1 -  :: (Ptr RawTH3D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinContent1"+               c_th3d_getbincontent1 :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetBinContent2" c_th3d_getbincontent2 -  :: (Ptr RawTH3D) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinContent2"+               c_th3d_getbincontent2 :: Ptr RawTH3D -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetBinContent3" c_th3d_getbincontent3 -  :: (Ptr RawTH3D) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinContent3"+               c_th3d_getbincontent3 ::+               Ptr RawTH3D -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetBinError1" c_th3d_getbinerror1 -  :: (Ptr RawTH3D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinError1"+               c_th3d_getbinerror1 :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetBinError2" c_th3d_getbinerror2 -  :: (Ptr RawTH3D) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinError2"+               c_th3d_getbinerror2 :: Ptr RawTH3D -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetBinError3" c_th3d_getbinerror3 -  :: (Ptr RawTH3D) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinError3"+               c_th3d_getbinerror3 ::+               Ptr RawTH3D -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetBinLowEdge" c_th3d_getbinlowedge -  :: (Ptr RawTH3D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinLowEdge"+               c_th3d_getbinlowedge :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetBinWidth" c_th3d_getbinwidth -  :: (Ptr RawTH3D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetBinWidth"+               c_th3d_getbinwidth :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetCellContent" c_th3d_getcellcontent -  :: (Ptr RawTH3D) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetCellContent"+               c_th3d_getcellcontent :: Ptr RawTH3D -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetCellError" c_th3d_getcellerror -  :: (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 "HROOTHistTH3D.h TH3D_GetEntries" c_th3d_getentries -  :: (Ptr RawTH3D) -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetEntries"+               c_th3d_getentries :: Ptr RawTH3D -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetEffectiveEntries" c_th3d_geteffectiveentries -  :: (Ptr RawTH3D) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH3D.h TH3D_GetEffectiveEntries"+               c_th3d_geteffectiveentries :: Ptr RawTH3D -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetFunction" c_th3d_getfunction -  :: (Ptr RawTH3D) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetFunction"+               c_th3d_getfunction :: Ptr RawTH3D -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH3D.h TH3D_GetDimension" c_th3d_getdimension -  :: (Ptr RawTH3D) -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetDimension"+               c_th3d_getdimension :: Ptr RawTH3D -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_GetKurtosis" c_th3d_getkurtosis -  :: (Ptr RawTH3D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetKurtosis"+               c_th3d_getkurtosis :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetLowEdge" c_th3d_getlowedge -  :: (Ptr RawTH3D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetLowEdge"+               c_th3d_getlowedge :: Ptr RawTH3D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_getMaximumTH1" c_th3d_getmaximumth1 -  :: (Ptr RawTH3D) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_getMaximumTH1"+               c_th3d_getmaximumth1 :: Ptr RawTH3D -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetMaximumBin" c_th3d_getmaximumbin -  :: (Ptr RawTH3D) -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMaximumBin"+               c_th3d_getmaximumbin :: Ptr RawTH3D -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_GetMaximumStored" c_th3d_getmaximumstored -  :: (Ptr RawTH3D) -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMaximumStored"+               c_th3d_getmaximumstored :: Ptr RawTH3D -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_getMinimumTH1" c_th3d_getminimumth1 -  :: (Ptr RawTH3D) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_getMinimumTH1"+               c_th3d_getminimumth1 :: Ptr RawTH3D -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetMinimumBin" c_th3d_getminimumbin -  :: (Ptr RawTH3D) -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMinimumBin"+               c_th3d_getminimumbin :: Ptr RawTH3D -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_GetMinimumStored" c_th3d_getminimumstored -  :: (Ptr RawTH3D) -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMinimumStored"+               c_th3d_getminimumstored :: Ptr RawTH3D -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetMean" c_th3d_getmean -  :: (Ptr RawTH3D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMean"+               c_th3d_getmean :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetMeanError" c_th3d_getmeanerror -  :: (Ptr RawTH3D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMeanError"+               c_th3d_getmeanerror :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetNbinsX" c_th3d_getnbinsx -  :: (Ptr RawTH3D) -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetNbinsX"+               c_th3d_getnbinsx :: Ptr RawTH3D -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetNbinsY" c_th3d_getnbinsy -  :: (Ptr RawTH3D) -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetNbinsY"+               c_th3d_getnbinsy :: Ptr RawTH3D -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetNbinsZ" c_th3d_getnbinsz -  :: (Ptr RawTH3D) -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetNbinsZ"+               c_th3d_getnbinsz :: Ptr RawTH3D -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_getQuantilesTH1" c_th3d_getquantilesth1 -  :: (Ptr RawTH3D) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_getQuantilesTH1"+               c_th3d_getquantilesth1 ::+               Ptr RawTH3D -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_GetRandom" c_th3d_getrandom -  :: (Ptr RawTH3D) -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetRandom"+               c_th3d_getrandom :: Ptr RawTH3D -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetStats" c_th3d_getstats -  :: (Ptr RawTH3D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetStats"+               c_th3d_getstats :: Ptr RawTH3D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_GetSumOfWeights" c_th3d_getsumofweights -  :: (Ptr RawTH3D) -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetSumOfWeights"+               c_th3d_getsumofweights :: Ptr RawTH3D -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetSumw2" c_th3d_getsumw2 -  :: (Ptr RawTH3D) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetSumw2"+               c_th3d_getsumw2 :: Ptr RawTH3D -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH3D.h TH3D_GetSumw2N" c_th3d_getsumw2n -  :: (Ptr RawTH3D) -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetSumw2N"+               c_th3d_getsumw2n :: Ptr RawTH3D -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_GetRMS" c_th3d_getrms -  :: (Ptr RawTH3D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetRMS"+               c_th3d_getrms :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetRMSError" c_th3d_getrmserror -  :: (Ptr RawTH3D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetRMSError"+               c_th3d_getrmserror :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_GetSkewness" c_th3d_getskewness -  :: (Ptr RawTH3D) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetSkewness"+               c_th3d_getskewness :: Ptr RawTH3D -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_integral1" c_th3d_integral1 -  :: (Ptr RawTH3D) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_integral1"+               c_th3d_integral1 ::+               Ptr RawTH3D -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_interpolate1" c_th3d_interpolate1 -  :: (Ptr RawTH3D) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_interpolate1"+               c_th3d_interpolate1 :: Ptr RawTH3D -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_interpolate2" c_th3d_interpolate2 -  :: (Ptr RawTH3D) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_interpolate2"+               c_th3d_interpolate2 ::+               Ptr RawTH3D -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_interpolate3" c_th3d_interpolate3 -  :: (Ptr RawTH3D) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_interpolate3"+               c_th3d_interpolate3 ::+               Ptr RawTH3D -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_KolmogorovTest" c_th3d_kolmogorovtest -  :: (Ptr RawTH3D) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_KolmogorovTest"+               c_th3d_kolmogorovtest ::+               Ptr RawTH3D -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_LabelsDeflate" c_th3d_labelsdeflate -  :: (Ptr RawTH3D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_LabelsDeflate"+               c_th3d_labelsdeflate :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_LabelsInflate" c_th3d_labelsinflate -  :: (Ptr RawTH3D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_LabelsInflate"+               c_th3d_labelsinflate :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_LabelsOption" c_th3d_labelsoption -  :: (Ptr RawTH3D) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_LabelsOption"+               c_th3d_labelsoption :: Ptr RawTH3D -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_multiflyF" c_th3d_multiflyf -  :: (Ptr RawTH3D) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_multiflyF"+               c_th3d_multiflyf :: Ptr RawTH3D -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_Multiply" c_th3d_multiply -  :: (Ptr RawTH3D) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_Multiply"+               c_th3d_multiply ::+               Ptr RawTH3D ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_PutStats" c_th3d_putstats -  :: (Ptr RawTH3D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_PutStats"+               c_th3d_putstats :: Ptr RawTH3D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_Rebin" c_th3d_rebin -  :: (Ptr RawTH3D) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH3D.h TH3D_Rebin" c_th3d_rebin+               ::+               Ptr RawTH3D -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH3D.h TH3D_RebinAxis" c_th3d_rebinaxis -  :: (Ptr RawTH3D) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_RebinAxis"+               c_th3d_rebinaxis :: Ptr RawTH3D -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_Rebuild" c_th3d_rebuild -  :: (Ptr RawTH3D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_Rebuild"+               c_th3d_rebuild :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_RecursiveRemove" c_th3d_recursiveremove -  :: (Ptr RawTH3D) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_RecursiveRemove"+               c_th3d_recursiveremove :: Ptr RawTH3D -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_Reset" c_th3d_reset -  :: (Ptr RawTH3D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_Reset" c_th3d_reset+               :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_ResetStats" c_th3d_resetstats -  :: (Ptr RawTH3D) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_ResetStats"+               c_th3d_resetstats :: Ptr RawTH3D -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_Scale" c_th3d_scale -  :: (Ptr RawTH3D) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_Scale" c_th3d_scale+               :: Ptr RawTH3D -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setAxisColorA" c_th3d_setaxiscolora -  :: (Ptr RawTH3D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setAxisColorA"+               c_th3d_setaxiscolora :: Ptr RawTH3D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetAxisRange" c_th3d_setaxisrange -  :: (Ptr RawTH3D) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetAxisRange"+               c_th3d_setaxisrange ::+               Ptr RawTH3D -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetBarOffset" c_th3d_setbaroffset -  :: (Ptr RawTH3D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetBarOffset"+               c_th3d_setbaroffset :: Ptr RawTH3D -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetBarWidth" c_th3d_setbarwidth -  :: (Ptr RawTH3D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetBarWidth"+               c_th3d_setbarwidth :: Ptr RawTH3D -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setBinContent1" c_th3d_setbincontent1 -  :: (Ptr RawTH3D) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setBinContent1"+               c_th3d_setbincontent1 :: Ptr RawTH3D -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setBinContent2" c_th3d_setbincontent2 -  :: (Ptr RawTH3D) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setBinContent2"+               c_th3d_setbincontent2 ::+               Ptr RawTH3D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setBinContent3" c_th3d_setbincontent3 -  :: (Ptr RawTH3D) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setBinContent3"+               c_th3d_setbincontent3 ::+               Ptr RawTH3D -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setBinError1" c_th3d_setbinerror1 -  :: (Ptr RawTH3D) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setBinError1"+               c_th3d_setbinerror1 :: Ptr RawTH3D -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setBinError2" c_th3d_setbinerror2 -  :: (Ptr RawTH3D) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setBinError2"+               c_th3d_setbinerror2 ::+               Ptr RawTH3D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setBinError3" c_th3d_setbinerror3 -  :: (Ptr RawTH3D) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setBinError3"+               c_th3d_setbinerror3 ::+               Ptr RawTH3D -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setBins1" c_th3d_setbins1 -  :: (Ptr RawTH3D) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setBins1"+               c_th3d_setbins1 :: Ptr RawTH3D -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setBins2" c_th3d_setbins2 -  :: (Ptr RawTH3D) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setBins2"+               c_th3d_setbins2 ::+               Ptr RawTH3D ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setBins3" c_th3d_setbins3 -  :: (Ptr RawTH3D) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setBins3"+               c_th3d_setbins3 ::+               Ptr RawTH3D ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetBinsLength" c_th3d_setbinslength -  :: (Ptr RawTH3D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetBinsLength"+               c_th3d_setbinslength :: Ptr RawTH3D -> CInt -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetBuffer" c_th3d_setbuffer -  :: (Ptr RawTH3D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetBuffer"+               c_th3d_setbuffer :: Ptr RawTH3D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetCellContent" c_th3d_setcellcontent -  :: (Ptr RawTH3D) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetCellContent"+               c_th3d_setcellcontent ::+               Ptr RawTH3D -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetContent" c_th3d_setcontent -  :: (Ptr RawTH3D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetContent"+               c_th3d_setcontent :: Ptr RawTH3D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetContour" c_th3d_setcontour -  :: (Ptr RawTH3D) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetContour"+               c_th3d_setcontour :: Ptr RawTH3D -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetContourLevel" c_th3d_setcontourlevel -  :: (Ptr RawTH3D) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetContourLevel"+               c_th3d_setcontourlevel :: Ptr RawTH3D -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetDirectory" c_th3d_setdirectory -  :: (Ptr RawTH3D) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetDirectory"+               c_th3d_setdirectory :: Ptr RawTH3D -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetEntries" c_th3d_setentries -  :: (Ptr RawTH3D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetEntries"+               c_th3d_setentries :: Ptr RawTH3D -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetError" c_th3d_seterror -  :: (Ptr RawTH3D) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetError"+               c_th3d_seterror :: Ptr RawTH3D -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setLabelColorA" c_th3d_setlabelcolora -  :: (Ptr RawTH3D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setLabelColorA"+               c_th3d_setlabelcolora :: Ptr RawTH3D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setLabelSizeA" c_th3d_setlabelsizea -  :: (Ptr RawTH3D) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setLabelSizeA"+               c_th3d_setlabelsizea :: Ptr RawTH3D -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setLabelFontA" c_th3d_setlabelfonta -  :: (Ptr RawTH3D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setLabelFontA"+               c_th3d_setlabelfonta :: Ptr RawTH3D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_setLabelOffsetA" c_th3d_setlabeloffseta -  :: (Ptr RawTH3D) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_setLabelOffsetA"+               c_th3d_setlabeloffseta ::+               Ptr RawTH3D -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetMaximum" c_th3d_setmaximum -  :: (Ptr RawTH3D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetMaximum"+               c_th3d_setmaximum :: Ptr RawTH3D -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetMinimum" c_th3d_setminimum -  :: (Ptr RawTH3D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetMinimum"+               c_th3d_setminimum :: Ptr RawTH3D -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetNormFactor" c_th3d_setnormfactor -  :: (Ptr RawTH3D) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetNormFactor"+               c_th3d_setnormfactor :: Ptr RawTH3D -> CDouble -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetStats" c_th3d_setstats -  :: (Ptr RawTH3D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetStats"+               c_th3d_setstats :: Ptr RawTH3D -> CInt -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetOption" c_th3d_setoption -  :: (Ptr RawTH3D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetOption"+               c_th3d_setoption :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetXTitle" c_th3d_setxtitle -  :: (Ptr RawTH3D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetXTitle"+               c_th3d_setxtitle :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetYTitle" c_th3d_setytitle -  :: (Ptr RawTH3D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetYTitle"+               c_th3d_setytitle :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetZTitle" c_th3d_setztitle -  :: (Ptr RawTH3D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetZTitle"+               c_th3d_setztitle :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_ShowBackground" c_th3d_showbackground -  :: (Ptr RawTH3D) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH3D.h TH3D_ShowBackground"+               c_th3d_showbackground ::+               Ptr RawTH3D -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH3D.h TH3D_ShowPeaks" c_th3d_showpeaks -  :: (Ptr RawTH3D) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_ShowPeaks"+               c_th3d_showpeaks ::+               Ptr RawTH3D -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_Smooth" c_th3d_smooth -  :: (Ptr RawTH3D) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_Smooth"+               c_th3d_smooth :: Ptr RawTH3D -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_Sumw2" c_th3d_sumw2 -  :: (Ptr RawTH3D) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_Sumw2" c_th3d_sumw2+               :: Ptr RawTH3D -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_Draw" c_th3d_draw -  :: (Ptr RawTH3D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetName"+               c_th3d_setname :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_FindObject" c_th3d_findobject -  :: (Ptr RawTH3D) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetNameTitle"+               c_th3d_setnametitle :: Ptr RawTH3D -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_GetName" c_th3d_getname -  :: (Ptr RawTH3D) -> IO CString+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetTitle"+               c_th3d_settitle :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_IsA" c_th3d_isa -  :: (Ptr RawTH3D) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetLineColor"+               c_th3d_getlinecolor :: Ptr RawTH3D -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_Paint" c_th3d_paint -  :: (Ptr RawTH3D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetLineStyle"+               c_th3d_getlinestyle :: Ptr RawTH3D -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_printObj" c_th3d_printobj -  :: (Ptr RawTH3D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetLineWidth"+               c_th3d_getlinewidth :: Ptr RawTH3D -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_SaveAs" c_th3d_saveas -  :: (Ptr RawTH3D) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_ResetAttLine"+               c_th3d_resetattline :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_Write" c_th3d_write -  :: (Ptr RawTH3D) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetLineAttributes"+               c_th3d_setlineattributes :: Ptr RawTH3D -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_GetLineColor" c_th3d_getlinecolor -  :: (Ptr RawTH3D) -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetLineColor"+               c_th3d_setlinecolor :: Ptr RawTH3D -> CInt -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_GetLineStyle" c_th3d_getlinestyle -  :: (Ptr RawTH3D) -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetLineStyle"+               c_th3d_setlinestyle :: Ptr RawTH3D -> CInt -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_GetLineWidth" c_th3d_getlinewidth -  :: (Ptr RawTH3D) -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetLineWidth"+               c_th3d_setlinewidth :: Ptr RawTH3D -> CInt -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_ResetAttLine" c_th3d_resetattline -  :: (Ptr RawTH3D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetFillColor"+               c_th3d_setfillcolor :: Ptr RawTH3D -> CInt -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetLineAttributes" c_th3d_setlineattributes -  :: (Ptr RawTH3D) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetFillStyle"+               c_th3d_setfillstyle :: Ptr RawTH3D -> CInt -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetLineColor" c_th3d_setlinecolor -  :: (Ptr RawTH3D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMarkerColor"+               c_th3d_getmarkercolor :: Ptr RawTH3D -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_SetLineStyle" c_th3d_setlinestyle -  :: (Ptr RawTH3D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMarkerStyle"+               c_th3d_getmarkerstyle :: Ptr RawTH3D -> IO CInt -foreign import ccall "HROOTHistTH3D.h TH3D_SetLineWidth" c_th3d_setlinewidth -  :: (Ptr RawTH3D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetMarkerSize"+               c_th3d_getmarkersize :: Ptr RawTH3D -> IO CDouble -foreign import ccall "HROOTHistTH3D.h TH3D_SetFillColor" c_th3d_setfillcolor -  :: (Ptr RawTH3D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_ResetAttMarker"+               c_th3d_resetattmarker :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetFillStyle" c_th3d_setfillstyle -  :: (Ptr RawTH3D) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH3D.h TH3D_SetMarkerAttributes"+               c_th3d_setmarkerattributes :: Ptr RawTH3D -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_GetMarkerColor" c_th3d_getmarkercolor -  :: (Ptr RawTH3D) -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetMarkerColor"+               c_th3d_setmarkercolor :: Ptr RawTH3D -> CInt -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_GetMarkerStyle" c_th3d_getmarkerstyle -  :: (Ptr RawTH3D) -> IO CInt+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetMarkerStyle"+               c_th3d_setmarkerstyle :: Ptr RawTH3D -> CInt -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_GetMarkerSize" c_th3d_getmarkersize -  :: (Ptr RawTH3D) -> IO CDouble+foreign import ccall safe "HROOTHistTH3D.h TH3D_SetMarkerSize"+               c_th3d_setmarkersize :: Ptr RawTH3D -> CInt -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_ResetAttMarker" c_th3d_resetattmarker -  :: (Ptr RawTH3D) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_Draw" c_th3d_draw+               :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_SetMarkerAttributes" c_th3d_setmarkerattributes -  :: (Ptr RawTH3D) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_FindObject"+               c_th3d_findobject :: Ptr RawTH3D -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH3D.h TH3D_SetMarkerColor" c_th3d_setmarkercolor -  :: (Ptr RawTH3D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_GetName"+               c_th3d_getname :: Ptr RawTH3D -> IO CString -foreign import ccall "HROOTHistTH3D.h TH3D_SetMarkerStyle" c_th3d_setmarkerstyle -  :: (Ptr RawTH3D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_IsA" c_th3d_isa ::+               Ptr RawTH3D -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH3D.h TH3D_SetMarkerSize" c_th3d_setmarkersize -  :: (Ptr RawTH3D) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_Paint" c_th3d_paint+               :: Ptr RawTH3D -> CString -> IO () -foreign import ccall "HROOTHistTH3D.h TH3D_delete" c_th3d_delete -  :: (Ptr RawTH3D) -> IO ()+foreign import ccall safe "HROOTHistTH3D.h TH3D_printObj"+               c_th3d_printobj :: Ptr RawTH3D -> CString -> IO () +foreign import ccall safe "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 safe "HROOTHistTH3D.h TH3D_delete"+               c_th3d_delete :: Ptr RawTH3D -> IO ()
src/HROOT/Hist/TH3D/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH3D.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH3D.RawType import HROOT.Hist.TH3D.FFI import HROOT.Hist.TH3D.Interface@@ -38,9 +39,9 @@ import HROOT.Core.TAtt3D.RawType import HROOT.Core.TAtt3D.Cast import HROOT.Core.TAtt3D.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -50,6 +51,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -57,381 +61,196 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH3D TH3D -instance ITH3D TH3D where instance ITH3 TH3D where-  fill3 = xform3 c_th3d_fill3-  fill3w = xform4 c_th3d_fill3w-  fitSlicesZ = xform7 c_th3d_fitslicesz-  getCorrelationFactor3 = xform2 c_th3d_getcorrelationfactor3-  getCovariance3 = xform2 c_th3d_getcovariance3-  rebinX3 = xform2 c_th3d_rebinx3-  rebinY3 = xform2 c_th3d_rebiny3-  rebinZ3 = xform2 c_th3d_rebinz3-  rebin3D = xform4 c_th3d_rebin3d-instance ITArrayD 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-  drawNormalized = xform2 c_th3d_drawnormalized-  drawPanelTH1 = xform0 c_th3d_drawpanelth1-  bufferEmpty = xform1 c_th3d_bufferempty-  evalF = xform2 c_th3d_evalf-  fFT = xform2 c_th3d_fft-  fill1 = xform1 c_th3d_fill1-  fill1w = xform2 c_th3d_fill1w-  fillN1 = xform4 c_th3d_filln1-  fillRandom = xform2 c_th3d_fillrandom-  findBin = xform3 c_th3d_findbin-  findFixBin = xform3 c_th3d_findfixbin-  findFirstBinAbove = xform2 c_th3d_findfirstbinabove-  findLastBinAbove = xform2 c_th3d_findlastbinabove-  fitPanelTH1 = xform0 c_th3d_fitpanelth1-  getNdivisionA = xform1 c_th3d_getndivisiona-  getAxisColorA = xform1 c_th3d_getaxiscolora-  getLabelColorA = xform1 c_th3d_getlabelcolora-  getLabelFontA = xform1 c_th3d_getlabelfonta-  getLabelOffsetA = xform1 c_th3d_getlabeloffseta-  getLabelSizeA = xform1 c_th3d_getlabelsizea-  getTitleFontA = xform1 c_th3d_gettitlefonta-  getTitleOffsetA = xform1 c_th3d_gettitleoffseta-  getTitleSizeA = xform1 c_th3d_gettitlesizea-  getTickLengthA = xform1 c_th3d_getticklengtha-  getBarOffset = xform0 c_th3d_getbaroffset-  getBarWidth = xform0 c_th3d_getbarwidth-  getContour = xform1 c_th3d_getcontour-  getContourLevel = xform1 c_th3d_getcontourlevel-  getContourLevelPad = xform1 c_th3d_getcontourlevelpad-  getBin = xform3 c_th3d_getbin-  getBinCenter = xform1 c_th3d_getbincenter-  getBinContent1 = xform1 c_th3d_getbincontent1-  getBinContent2 = xform2 c_th3d_getbincontent2-  getBinContent3 = xform3 c_th3d_getbincontent3-  getBinError1 = xform1 c_th3d_getbinerror1-  getBinError2 = xform2 c_th3d_getbinerror2-  getBinError3 = xform3 c_th3d_getbinerror3-  getBinLowEdge = xform1 c_th3d_getbinlowedge-  getBinWidth = xform1 c_th3d_getbinwidth-  getCellContent = xform2 c_th3d_getcellcontent-  getCellError = xform2 c_th3d_getcellerror-  getEntries = xform0 c_th3d_getentries-  getEffectiveEntries = xform0 c_th3d_geteffectiveentries-  getFunction = xform1 c_th3d_getfunction-  getDimension = xform0 c_th3d_getdimension-  getKurtosis = xform1 c_th3d_getkurtosis-  getLowEdge = xform1 c_th3d_getlowedge-  getMaximumTH1 = xform1 c_th3d_getmaximumth1-  getMaximumBin = xform0 c_th3d_getmaximumbin-  getMaximumStored = xform0 c_th3d_getmaximumstored-  getMinimumTH1 = xform1 c_th3d_getminimumth1-  getMinimumBin = xform0 c_th3d_getminimumbin-  getMinimumStored = xform0 c_th3d_getminimumstored-  getMean = xform1 c_th3d_getmean-  getMeanError = xform1 c_th3d_getmeanerror-  getNbinsX = xform0 c_th3d_getnbinsx-  getNbinsY = xform0 c_th3d_getnbinsy-  getNbinsZ = xform0 c_th3d_getnbinsz-  getQuantilesTH1 = xform3 c_th3d_getquantilesth1-  getRandom = xform0 c_th3d_getrandom-  getStats = xform1 c_th3d_getstats-  getSumOfWeights = xform0 c_th3d_getsumofweights-  getSumw2 = xform0 c_th3d_getsumw2-  getSumw2N = xform0 c_th3d_getsumw2n-  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-  labelsInflate = xform1 c_th3d_labelsinflate-  labelsOption = xform2 c_th3d_labelsoption-  multiflyF = xform2 c_th3d_multiflyf-  multiply = xform5 c_th3d_multiply-  putStats = xform1 c_th3d_putstats-  rebin = xform3 c_th3d_rebin-  rebinAxis = xform2 c_th3d_rebinaxis-  rebuild = xform1 c_th3d_rebuild-  recursiveRemove = xform1 c_th3d_recursiveremove-  reset = xform1 c_th3d_reset-  resetStats = xform0 c_th3d_resetstats-  scale = xform2 c_th3d_scale-  setAxisColorA = xform2 c_th3d_setaxiscolora-  setAxisRange = xform3 c_th3d_setaxisrange-  setBarOffset = xform1 c_th3d_setbaroffset-  setBarWidth = xform1 c_th3d_setbarwidth-  setBinContent1 = xform2 c_th3d_setbincontent1-  setBinContent2 = xform3 c_th3d_setbincontent2-  setBinContent3 = xform4 c_th3d_setbincontent3-  setBinError1 = xform2 c_th3d_setbinerror1-  setBinError2 = xform3 c_th3d_setbinerror2-  setBinError3 = xform4 c_th3d_setbinerror3-  setBins1 = xform2 c_th3d_setbins1-  setBins2 = xform4 c_th3d_setbins2-  setBins3 = xform6 c_th3d_setbins3-  setBinsLength = xform1 c_th3d_setbinslength-  setBuffer = xform2 c_th3d_setbuffer-  setCellContent = xform3 c_th3d_setcellcontent-  setContent = xform1 c_th3d_setcontent-  setContour = xform2 c_th3d_setcontour-  setContourLevel = xform2 c_th3d_setcontourlevel-  setDirectory = xform1 c_th3d_setdirectory-  setEntries = xform1 c_th3d_setentries-  setError = xform1 c_th3d_seterror-  setLabelColorA = xform2 c_th3d_setlabelcolora-  setLabelSizeA = xform2 c_th3d_setlabelsizea-  setLabelFontA = xform2 c_th3d_setlabelfonta-  setLabelOffsetA = xform2 c_th3d_setlabeloffseta-  setMaximum = xform1 c_th3d_setmaximum-  setMinimum = xform1 c_th3d_setminimum-  setNormFactor = xform1 c_th3d_setnormfactor-  setStats = xform1 c_th3d_setstats-  setOption = xform1 c_th3d_setoption-  setXTitle = xform1 c_th3d_setxtitle-  setYTitle = xform1 c_th3d_setytitle-  setZTitle = xform1 c_th3d_setztitle-  showBackground = xform2 c_th3d_showbackground-  showPeaks = xform3 c_th3d_showpeaks-  smooth = xform2 c_th3d_smooth-  sumw2 = xform0 c_th3d_sumw2-instance ITAtt3D TH3D where-instance ITObject TH3D where-  draw = xform1 c_th3d_draw-  findObject = xform1 c_th3d_findobject-  getName = xform0 c_th3d_getname-  isA = xform0 c_th3d_isa-  paint = xform1 c_th3d_paint-  printObj = xform1 c_th3d_printobj-  saveAs = xform2 c_th3d_saveas-  write = xform3 c_th3d_write-instance ITAttLine TH3D where-  getLineColor = xform0 c_th3d_getlinecolor-  getLineStyle = xform0 c_th3d_getlinestyle-  getLineWidth = xform0 c_th3d_getlinewidth-  resetAttLine = xform1 c_th3d_resetattline-  setLineAttributes = xform0 c_th3d_setlineattributes-  setLineColor = xform1 c_th3d_setlinecolor-  setLineStyle = xform1 c_th3d_setlinestyle-  setLineWidth = xform1 c_th3d_setlinewidth-instance ITAttFill TH3D where-  setFillColor = xform1 c_th3d_setfillcolor-  setFillStyle = xform1 c_th3d_setfillstyle-instance ITAttMarker TH3D where-  getMarkerColor = xform0 c_th3d_getmarkercolor-  getMarkerStyle = xform0 c_th3d_getmarkerstyle-  getMarkerSize = xform0 c_th3d_getmarkersize-  resetAttMarker = xform1 c_th3d_resetattmarker-  setMarkerAttributes = xform0 c_th3d_setmarkerattributes-  setMarkerColor = xform1 c_th3d_setmarkercolor-  setMarkerStyle = xform1 c_th3d_setmarkerstyle-  setMarkerSize = xform1 c_th3d_setmarkersize-instance IDeletable TH3D where-  delete = xform0 c_th3d_delete-instance ITArray TH3D where--instance ITH3D (Exist TH3D) where--instance ITH3 (Exist TH3D) where-  fill3 (ETH3D x) = fill3 x-  fill3w (ETH3D x) = fill3w x-  fitSlicesZ (ETH3D x) = fitSlicesZ x-  getCorrelationFactor3 (ETH3D x) = getCorrelationFactor3 x-  getCovariance3 (ETH3D x) = getCovariance3 x-  rebinX3 (ETH3D x) = rebinX3 x-  rebinY3 (ETH3D x) = rebinY3 x-  rebinZ3 (ETH3D x) = rebinZ3 x-  rebin3D (ETH3D x) = rebin3D x-instance ITArrayD (Exist TH3D) where+        fill3 = xform3 c_th3d_fill3+        fill3w = xform4 c_th3d_fill3w+        fitSlicesZ = xform7 c_th3d_fitslicesz+        getCorrelationFactor3 = xform2 c_th3d_getcorrelationfactor3+        getCovariance3 = xform2 c_th3d_getcovariance3+        rebinX3 = xform2 c_th3d_rebinx3+        rebinY3 = xform2 c_th3d_rebiny3+        rebinZ3 = xform2 c_th3d_rebinz3+        rebin3D = xform4 c_th3d_rebin3d -instance ITH1 (Exist TH3D) where-  add (ETH3D x) = add x-  addBinContent (ETH3D x) = addBinContent x-  chi2Test (ETH3D x) = chi2Test x-  computeIntegral (ETH3D x) = computeIntegral x-  directoryAutoAdd (ETH3D x) = directoryAutoAdd x-  divide (ETH3D x) = divide x-  drawCopyTH1 (ETH3D x) a1 = return . ETH3D =<< drawCopyTH1 x a1-  drawNormalized (ETH3D x) = drawNormalized x-  drawPanelTH1 (ETH3D x) = drawPanelTH1 x-  bufferEmpty (ETH3D x) = bufferEmpty x-  evalF (ETH3D x) = evalF x-  fFT (ETH3D x) = fFT x-  fill1 (ETH3D x) = fill1 x-  fill1w (ETH3D x) = fill1w x-  fillN1 (ETH3D x) = fillN1 x-  fillRandom (ETH3D x) = fillRandom x-  findBin (ETH3D x) = findBin x-  findFixBin (ETH3D x) = findFixBin x-  findFirstBinAbove (ETH3D x) = findFirstBinAbove x-  findLastBinAbove (ETH3D x) = findLastBinAbove x-  fitPanelTH1 (ETH3D x) = fitPanelTH1 x-  getNdivisionA (ETH3D x) = getNdivisionA x-  getAxisColorA (ETH3D x) = getAxisColorA x-  getLabelColorA (ETH3D x) = getLabelColorA x-  getLabelFontA (ETH3D x) = getLabelFontA x-  getLabelOffsetA (ETH3D x) = getLabelOffsetA x-  getLabelSizeA (ETH3D x) = getLabelSizeA x-  getTitleFontA (ETH3D x) = getTitleFontA x-  getTitleOffsetA (ETH3D x) = getTitleOffsetA x-  getTitleSizeA (ETH3D x) = getTitleSizeA x-  getTickLengthA (ETH3D x) = getTickLengthA x-  getBarOffset (ETH3D x) = getBarOffset x-  getBarWidth (ETH3D x) = getBarWidth x-  getContour (ETH3D x) = getContour x-  getContourLevel (ETH3D x) = getContourLevel x-  getContourLevelPad (ETH3D x) = getContourLevelPad x-  getBin (ETH3D x) = getBin x-  getBinCenter (ETH3D x) = getBinCenter x-  getBinContent1 (ETH3D x) = getBinContent1 x-  getBinContent2 (ETH3D x) = getBinContent2 x-  getBinContent3 (ETH3D x) = getBinContent3 x-  getBinError1 (ETH3D x) = getBinError1 x-  getBinError2 (ETH3D x) = getBinError2 x-  getBinError3 (ETH3D x) = getBinError3 x-  getBinLowEdge (ETH3D x) = getBinLowEdge x-  getBinWidth (ETH3D x) = getBinWidth x-  getCellContent (ETH3D x) = getCellContent x-  getCellError (ETH3D x) = getCellError x-  getEntries (ETH3D x) = getEntries x-  getEffectiveEntries (ETH3D x) = getEffectiveEntries x-  getFunction (ETH3D x) = getFunction x-  getDimension (ETH3D x) = getDimension x-  getKurtosis (ETH3D x) = getKurtosis x-  getLowEdge (ETH3D x) = getLowEdge x-  getMaximumTH1 (ETH3D x) = getMaximumTH1 x-  getMaximumBin (ETH3D x) = getMaximumBin x-  getMaximumStored (ETH3D x) = getMaximumStored x-  getMinimumTH1 (ETH3D x) = getMinimumTH1 x-  getMinimumBin (ETH3D x) = getMinimumBin x-  getMinimumStored (ETH3D x) = getMinimumStored x-  getMean (ETH3D x) = getMean x-  getMeanError (ETH3D x) = getMeanError x-  getNbinsX (ETH3D x) = getNbinsX x-  getNbinsY (ETH3D x) = getNbinsY x-  getNbinsZ (ETH3D x) = getNbinsZ x-  getQuantilesTH1 (ETH3D x) = getQuantilesTH1 x-  getRandom (ETH3D x) = getRandom x-  getStats (ETH3D x) = getStats x-  getSumOfWeights (ETH3D x) = getSumOfWeights x-  getSumw2 (ETH3D x) = getSumw2 x-  getSumw2N (ETH3D x) = getSumw2N x-  getRMS (ETH3D x) = getRMS x-  getRMSError (ETH3D x) = getRMSError x-  getSkewness (ETH3D x) = getSkewness x-  integral1 (ETH3D x) = integral1 x-  interpolate1 (ETH3D x) = interpolate1 x-  interpolate2 (ETH3D x) = interpolate2 x-  interpolate3 (ETH3D x) = interpolate3 x-  kolmogorovTest (ETH3D x) = kolmogorovTest x-  labelsDeflate (ETH3D x) = labelsDeflate x-  labelsInflate (ETH3D x) = labelsInflate x-  labelsOption (ETH3D x) = labelsOption x-  multiflyF (ETH3D x) = multiflyF x-  multiply (ETH3D x) = multiply x-  putStats (ETH3D x) = putStats x-  rebin (ETH3D x) = rebin x-  rebinAxis (ETH3D x) = rebinAxis x-  rebuild (ETH3D x) = rebuild x-  recursiveRemove (ETH3D x) = recursiveRemove x-  reset (ETH3D x) = reset x-  resetStats (ETH3D x) = resetStats x-  scale (ETH3D x) = scale x-  setAxisColorA (ETH3D x) = setAxisColorA x-  setAxisRange (ETH3D x) = setAxisRange x-  setBarOffset (ETH3D x) = setBarOffset x-  setBarWidth (ETH3D x) = setBarWidth x-  setBinContent1 (ETH3D x) = setBinContent1 x-  setBinContent2 (ETH3D x) = setBinContent2 x-  setBinContent3 (ETH3D x) = setBinContent3 x-  setBinError1 (ETH3D x) = setBinError1 x-  setBinError2 (ETH3D x) = setBinError2 x-  setBinError3 (ETH3D x) = setBinError3 x-  setBins1 (ETH3D x) = setBins1 x-  setBins2 (ETH3D x) = setBins2 x-  setBins3 (ETH3D x) = setBins3 x-  setBinsLength (ETH3D x) = setBinsLength x-  setBuffer (ETH3D x) = setBuffer x-  setCellContent (ETH3D x) = setCellContent x-  setContent (ETH3D x) = setContent x-  setContour (ETH3D x) = setContour x-  setContourLevel (ETH3D x) = setContourLevel x-  setDirectory (ETH3D x) = setDirectory x-  setEntries (ETH3D x) = setEntries x-  setError (ETH3D x) = setError x-  setLabelColorA (ETH3D x) = setLabelColorA x-  setLabelSizeA (ETH3D x) = setLabelSizeA x-  setLabelFontA (ETH3D x) = setLabelFontA x-  setLabelOffsetA (ETH3D x) = setLabelOffsetA x-  setMaximum (ETH3D x) = setMaximum x-  setMinimum (ETH3D x) = setMinimum x-  setNormFactor (ETH3D x) = setNormFactor x-  setStats (ETH3D x) = setStats x-  setOption (ETH3D x) = setOption x-  setXTitle (ETH3D x) = setXTitle x-  setYTitle (ETH3D x) = setYTitle x-  setZTitle (ETH3D x) = setZTitle x-  showBackground (ETH3D x) = showBackground x-  showPeaks (ETH3D x) = showPeaks x-  smooth (ETH3D x) = smooth x-  sumw2 (ETH3D x) = sumw2 x-instance ITAtt3D (Exist TH3D) where+instance ITArrayD TH3D -instance ITObject (Exist TH3D) where-  draw (ETH3D x) = draw x-  findObject (ETH3D x) = findObject x-  getName (ETH3D x) = getName x-  isA (ETH3D x) = isA x-  paint (ETH3D x) = paint x-  printObj (ETH3D x) = printObj x-  saveAs (ETH3D x) = saveAs x-  write (ETH3D x) = write x-instance ITAttLine (Exist TH3D) where-  getLineColor (ETH3D x) = getLineColor x-  getLineStyle (ETH3D x) = getLineStyle x-  getLineWidth (ETH3D x) = getLineWidth x-  resetAttLine (ETH3D x) = resetAttLine x-  setLineAttributes (ETH3D x) = setLineAttributes x-  setLineColor (ETH3D x) = setLineColor x-  setLineStyle (ETH3D x) = setLineStyle x-  setLineWidth (ETH3D x) = setLineWidth x-instance ITAttFill (Exist TH3D) where-  setFillColor (ETH3D x) = setFillColor x-  setFillStyle (ETH3D x) = setFillStyle x-instance ITAttMarker (Exist TH3D) where-  getMarkerColor (ETH3D x) = getMarkerColor x-  getMarkerStyle (ETH3D x) = getMarkerStyle x-  getMarkerSize (ETH3D x) = getMarkerSize x-  resetAttMarker (ETH3D x) = resetAttMarker x-  setMarkerAttributes (ETH3D x) = setMarkerAttributes x-  setMarkerColor (ETH3D x) = setMarkerColor x-  setMarkerStyle (ETH3D x) = setMarkerStyle x-  setMarkerSize (ETH3D x) = setMarkerSize x-instance IDeletable (Exist TH3D) where-  delete (ETH3D x) = delete x-instance ITArray (Exist 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+        drawNormalized = xform2 c_th3d_drawnormalized+        drawPanelTH1 = xform0 c_th3d_drawpanelth1+        bufferEmpty = xform1 c_th3d_bufferempty+        evalF = xform2 c_th3d_evalf+        fFT = xform2 c_th3d_fft+        fill1 = xform1 c_th3d_fill1+        fill1w = xform2 c_th3d_fill1w+        fillN1 = xform4 c_th3d_filln1+        fillRandom = xform2 c_th3d_fillrandom+        findBin = xform3 c_th3d_findbin+        findFixBin = xform3 c_th3d_findfixbin+        findFirstBinAbove = xform2 c_th3d_findfirstbinabove+        findLastBinAbove = xform2 c_th3d_findlastbinabove+        fit = xform5 c_th3d_fit+        fitPanelTH1 = xform0 c_th3d_fitpanelth1+        getNdivisionA = xform1 c_th3d_getndivisiona+        getAxisColorA = xform1 c_th3d_getaxiscolora+        getLabelColorA = xform1 c_th3d_getlabelcolora+        getLabelFontA = xform1 c_th3d_getlabelfonta+        getLabelOffsetA = xform1 c_th3d_getlabeloffseta+        getLabelSizeA = xform1 c_th3d_getlabelsizea+        getTitleFontA = xform1 c_th3d_gettitlefonta+        getTitleOffsetA = xform1 c_th3d_gettitleoffseta+        getTitleSizeA = xform1 c_th3d_gettitlesizea+        getTickLengthA = xform1 c_th3d_getticklengtha+        getBarOffset = xform0 c_th3d_getbaroffset+        getBarWidth = xform0 c_th3d_getbarwidth+        getContour = xform1 c_th3d_getcontour+        getContourLevel = xform1 c_th3d_getcontourlevel+        getContourLevelPad = xform1 c_th3d_getcontourlevelpad+        getBin = xform3 c_th3d_getbin+        getBinCenter = xform1 c_th3d_getbincenter+        getBinContent1 = xform1 c_th3d_getbincontent1+        getBinContent2 = xform2 c_th3d_getbincontent2+        getBinContent3 = xform3 c_th3d_getbincontent3+        getBinError1 = xform1 c_th3d_getbinerror1+        getBinError2 = xform2 c_th3d_getbinerror2+        getBinError3 = xform3 c_th3d_getbinerror3+        getBinLowEdge = xform1 c_th3d_getbinlowedge+        getBinWidth = xform1 c_th3d_getbinwidth+        getCellContent = xform2 c_th3d_getcellcontent+        getCellError = xform2 c_th3d_getcellerror+        getEntries = xform0 c_th3d_getentries+        getEffectiveEntries = xform0 c_th3d_geteffectiveentries+        getFunction = xform1 c_th3d_getfunction+        getDimension = xform0 c_th3d_getdimension+        getKurtosis = xform1 c_th3d_getkurtosis+        getLowEdge = xform1 c_th3d_getlowedge+        getMaximumTH1 = xform1 c_th3d_getmaximumth1+        getMaximumBin = xform0 c_th3d_getmaximumbin+        getMaximumStored = xform0 c_th3d_getmaximumstored+        getMinimumTH1 = xform1 c_th3d_getminimumth1+        getMinimumBin = xform0 c_th3d_getminimumbin+        getMinimumStored = xform0 c_th3d_getminimumstored+        getMean = xform1 c_th3d_getmean+        getMeanError = xform1 c_th3d_getmeanerror+        getNbinsX = xform0 c_th3d_getnbinsx+        getNbinsY = xform0 c_th3d_getnbinsy+        getNbinsZ = xform0 c_th3d_getnbinsz+        getQuantilesTH1 = xform3 c_th3d_getquantilesth1+        getRandom = xform0 c_th3d_getrandom+        getStats = xform1 c_th3d_getstats+        getSumOfWeights = xform0 c_th3d_getsumofweights+        getSumw2 = xform0 c_th3d_getsumw2+        getSumw2N = xform0 c_th3d_getsumw2n+        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+        labelsInflate = xform1 c_th3d_labelsinflate+        labelsOption = xform2 c_th3d_labelsoption+        multiflyF = xform2 c_th3d_multiflyf+        multiply = xform5 c_th3d_multiply+        putStats = xform1 c_th3d_putstats+        rebin = xform3 c_th3d_rebin+        rebinAxis = xform2 c_th3d_rebinaxis+        rebuild = xform1 c_th3d_rebuild+        recursiveRemove = xform1 c_th3d_recursiveremove+        reset = xform1 c_th3d_reset+        resetStats = xform0 c_th3d_resetstats+        scale = xform2 c_th3d_scale+        setAxisColorA = xform2 c_th3d_setaxiscolora+        setAxisRange = xform3 c_th3d_setaxisrange+        setBarOffset = xform1 c_th3d_setbaroffset+        setBarWidth = xform1 c_th3d_setbarwidth+        setBinContent1 = xform2 c_th3d_setbincontent1+        setBinContent2 = xform3 c_th3d_setbincontent2+        setBinContent3 = xform4 c_th3d_setbincontent3+        setBinError1 = xform2 c_th3d_setbinerror1+        setBinError2 = xform3 c_th3d_setbinerror2+        setBinError3 = xform4 c_th3d_setbinerror3+        setBins1 = xform2 c_th3d_setbins1+        setBins2 = xform4 c_th3d_setbins2+        setBins3 = xform6 c_th3d_setbins3+        setBinsLength = xform1 c_th3d_setbinslength+        setBuffer = xform2 c_th3d_setbuffer+        setCellContent = xform3 c_th3d_setcellcontent+        setContent = xform1 c_th3d_setcontent+        setContour = xform2 c_th3d_setcontour+        setContourLevel = xform2 c_th3d_setcontourlevel+        setDirectory = xform1 c_th3d_setdirectory+        setEntries = xform1 c_th3d_setentries+        setError = xform1 c_th3d_seterror+        setLabelColorA = xform2 c_th3d_setlabelcolora+        setLabelSizeA = xform2 c_th3d_setlabelsizea+        setLabelFontA = xform2 c_th3d_setlabelfonta+        setLabelOffsetA = xform2 c_th3d_setlabeloffseta+        setMaximum = xform1 c_th3d_setmaximum+        setMinimum = xform1 c_th3d_setminimum+        setNormFactor = xform1 c_th3d_setnormfactor+        setStats = xform1 c_th3d_setstats+        setOption = xform1 c_th3d_setoption+        setXTitle = xform1 c_th3d_setxtitle+        setYTitle = xform1 c_th3d_setytitle+        setZTitle = xform1 c_th3d_setztitle+        showBackground = xform2 c_th3d_showbackground+        showPeaks = xform3 c_th3d_showpeaks+        smooth = xform2 c_th3d_smooth+        sumw2 = xform0 c_th3d_sumw2 +instance ITAtt3D TH3D +instance ITNamed TH3D where+        setName = xform1 c_th3d_setname+        setNameTitle = xform2 c_th3d_setnametitle+        setTitle = xform1 c_th3d_settitle +instance ITAttLine TH3D where+        getLineColor = xform0 c_th3d_getlinecolor+        getLineStyle = xform0 c_th3d_getlinestyle+        getLineWidth = xform0 c_th3d_getlinewidth+        resetAttLine = xform1 c_th3d_resetattline+        setLineAttributes = xform0 c_th3d_setlineattributes+        setLineColor = xform1 c_th3d_setlinecolor+        setLineStyle = xform1 c_th3d_setlinestyle+        setLineWidth = xform1 c_th3d_setlinewidth +instance ITAttFill TH3D where+        setFillColor = xform1 c_th3d_setfillcolor+        setFillStyle = xform1 c_th3d_setfillstyle +instance ITAttMarker TH3D where+        getMarkerColor = xform0 c_th3d_getmarkercolor+        getMarkerStyle = xform0 c_th3d_getmarkerstyle+        getMarkerSize = xform0 c_th3d_getmarkersize+        resetAttMarker = xform1 c_th3d_resetattmarker+        setMarkerAttributes = xform0 c_th3d_setmarkerattributes+        setMarkerColor = xform1 c_th3d_setmarkercolor+        setMarkerStyle = xform1 c_th3d_setmarkerstyle+        setMarkerSize = xform1 c_th3d_setmarkersize +instance ITObject TH3D where+        draw = xform1 c_th3d_draw+        findObject = xform1 c_th3d_findobject+        getName = xform0 c_th3d_getname+        isA = xform0 c_th3d_isa+        paint = xform1 c_th3d_paint+        printObj = xform1 c_th3d_printobj+        saveAs = xform2 c_th3d_saveas+        write = xform3 c_th3d_write +instance IDeletable TH3D where+        delete = xform0 c_th3d_delete -instance FPtr (Exist TH3D) where-  type Raw (Exist TH3D) = RawTH3D-  get_fptr (ETH3D obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH3D (cast_fptr_to_obj (fptr :: ForeignPtr RawTH3D) :: TH3D)+instance ITArray TH3D
src/HROOT/Hist/TH3D/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH3D.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH3D.RawType- import HROOT.Hist.TH3.Interface import HROOT.Core.TArrayD.Interface----- ============ ---- ---class (ITH3 a,ITArrayD a) => ITH3D a where--instance Existable TH3D where-  data Exist TH3D = forall a. (FPtr a, ITH3D a) => ETH3D a+class (ITH3 a, ITArrayD a) => ITH3D a -upcastTH3D :: (FPtr a, ITH3D a) => a -> TH3D-upcastTH3D h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH3D = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH3D :: forall a . (FPtr a, ITH3D a) => a -> TH3D+upcastTH3D h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH3D = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH3D :: (FPtr a, ITH3D a) => TH3D -> a -downcastTH3D h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH3D :: forall a . (FPtr a, ITH3D a) => TH3D -> a+downcastTH3D h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH3D/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH3D.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH3D -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH3D = TH3D (Ptr RawTH3D)+             deriving (Eq, Ord, Show) -data RawTH3D-newtype TH3D = TH3D (ForeignPtr RawTH3D) deriving (Eq, Ord, Show) instance FPtr TH3D where-   type Raw TH3D = RawTH3D-   get_fptr (TH3D fptr) = fptr-   cast_fptr_to_obj = TH3D+        type Raw TH3D = RawTH3D+        get_fptr (TH3D ptr) = ptr+        cast_fptr_to_obj = TH3D
src/HROOT/Hist/TH3F.hs view
@@ -1,15 +1,5 @@-module HROOT.Hist.TH3F-  (-    TH3F(..)-  , ITH3F-  , upcastTH3F-  , downcastTH3F-- -  ) where-+module HROOT.Hist.TH3F (TH3F(..), ITH3F, upcastTH3F, downcastTH3F)+       where import HROOT.Hist.TH3F.RawType import HROOT.Hist.TH3F.Interface import HROOT.Hist.TH3F.Implementation--
src/HROOT/Hist/TH3F/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH3F.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH3F.RawType import HROOT.Hist.TH3F.Interface  instance (ITH3F a, FPtr a) => Castable a (Ptr RawTH3F) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH3F (Ptr RawTH3F) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH3F.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH3F.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1.RawType@@ -23,503 +13,558 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH3F.h"+foreign import ccall safe "HROOTHistTH3F.h TH3F_fill3" c_th3f_fill3+               :: Ptr RawTH3F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_fill3" c_th3f_fill3 -  :: (Ptr RawTH3F) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_fill3w"+               c_th3f_fill3w ::+               Ptr RawTH3F -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH3F ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_FitSlicesZ" c_th3f_fitslicesz -  :: (Ptr RawTH3F) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTH3F.h TH3F_getCorrelationFactor3"+               c_th3f_getcorrelationfactor3 ::+               Ptr RawTH3F -> CInt -> CInt -> IO CDouble -foreign import ccall "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 "HROOTHistTH3F.h TH3F_getCovariance3" c_th3f_getcovariance3 -  :: (Ptr RawTH3F) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_rebinX3"+               c_th3f_rebinx3 :: Ptr RawTH3F -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3F.h TH3F_rebinX3" c_th3f_rebinx3 -  :: (Ptr RawTH3F) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3F.h TH3F_rebinY3"+               c_th3f_rebiny3 :: Ptr RawTH3F -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3F.h TH3F_rebinY3" c_th3f_rebiny3 -  :: (Ptr RawTH3F) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3F.h TH3F_rebinZ3"+               c_th3f_rebinz3 :: Ptr RawTH3F -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3F.h TH3F_rebinZ3" c_th3f_rebinz3 -  :: (Ptr RawTH3F) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3F.h TH3F_Rebin3D"+               c_th3f_rebin3d ::+               Ptr RawTH3F -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "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 "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 "HROOTHistTH3F.h TH3F_AddBinContent" c_th3f_addbincontent -  :: (Ptr RawTH3F) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_Chi2Test"+               c_th3f_chi2test ::+               Ptr RawTH3F -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH3F.h TH3F_ComputeIntegral" c_th3f_computeintegral -  :: (Ptr RawTH3F) -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_DirectoryAutoAdd"+               c_th3f_directoryautoadd ::+               Ptr RawTH3F -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_DirectoryAutoAdd" c_th3f_directoryautoadd -  :: (Ptr RawTH3F) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_Divide"+               c_th3f_divide ::+               Ptr RawTH3F ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH3F.h TH3F_drawCopyTH1" c_th3f_drawcopyth1 -  :: (Ptr RawTH3F) -> CString -> IO (Ptr RawTH3F)+foreign import ccall safe "HROOTHistTH3F.h TH3F_DrawNormalized"+               c_th3f_drawnormalized ::+               Ptr RawTH3F -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH3F.h TH3F_evalF" c_th3f_evalf -  :: (Ptr RawTH3F) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_FFT" c_th3f_fft ::+               Ptr RawTH3F -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH3F.h TH3F_fill1" c_th3f_fill1 -  :: (Ptr RawTH3F) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_fill1w"+               c_th3f_fill1w :: Ptr RawTH3F -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_fill1w" c_th3f_fill1w -  :: (Ptr RawTH3F) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_fillN1"+               c_th3f_filln1 ::+               Ptr RawTH3F ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_fillN1" c_th3f_filln1 -  :: (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 "HROOTHistTH3F.h TH3F_FillRandom" c_th3f_fillrandom -  :: (Ptr RawTH3F) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_FindBin"+               c_th3f_findbin ::+               Ptr RawTH3F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH3F -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH3F.h TH3F_FindFirstBinAbove" c_th3f_findfirstbinabove -  :: (Ptr RawTH3F) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_FindLastBinAbove"+               c_th3f_findlastbinabove ::+               Ptr RawTH3F -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_FindLastBinAbove" c_th3f_findlastbinabove -  :: (Ptr RawTH3F) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_Fit" c_th3f_fit ::+               Ptr RawTH3F ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_FitPanelTH1" c_th3f_fitpanelth1 -  :: (Ptr RawTH3F) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_FitPanelTH1"+               c_th3f_fitpanelth1 :: Ptr RawTH3F -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_getNdivisionA" c_th3f_getndivisiona -  :: (Ptr RawTH3F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_getNdivisionA"+               c_th3f_getndivisiona :: Ptr RawTH3F -> CString -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_getAxisColorA" c_th3f_getaxiscolora -  :: (Ptr RawTH3F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_getAxisColorA"+               c_th3f_getaxiscolora :: Ptr RawTH3F -> CString -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_getLabelColorA" c_th3f_getlabelcolora -  :: (Ptr RawTH3F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_getLabelColorA"+               c_th3f_getlabelcolora :: Ptr RawTH3F -> CString -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_getLabelFontA" c_th3f_getlabelfonta -  :: (Ptr RawTH3F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_getLabelFontA"+               c_th3f_getlabelfonta :: Ptr RawTH3F -> CString -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_getLabelOffsetA" c_th3f_getlabeloffseta -  :: (Ptr RawTH3F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_getLabelOffsetA"+               c_th3f_getlabeloffseta :: Ptr RawTH3F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_getLabelSizeA" c_th3f_getlabelsizea -  :: (Ptr RawTH3F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_getLabelSizeA"+               c_th3f_getlabelsizea :: Ptr RawTH3F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_getTitleFontA" c_th3f_gettitlefonta -  :: (Ptr RawTH3F) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_getTitleFontA"+               c_th3f_gettitlefonta :: Ptr RawTH3F -> CString -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_getTitleOffsetA" c_th3f_gettitleoffseta -  :: (Ptr RawTH3F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_getTitleOffsetA"+               c_th3f_gettitleoffseta :: Ptr RawTH3F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_getTitleSizeA" c_th3f_gettitlesizea -  :: (Ptr RawTH3F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_getTitleSizeA"+               c_th3f_gettitlesizea :: Ptr RawTH3F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_getTickLengthA" c_th3f_getticklengtha -  :: (Ptr RawTH3F) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_getTickLengthA"+               c_th3f_getticklengtha :: Ptr RawTH3F -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetBarOffset" c_th3f_getbaroffset -  :: (Ptr RawTH3F) -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBarOffset"+               c_th3f_getbaroffset :: Ptr RawTH3F -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetBarWidth" c_th3f_getbarwidth -  :: (Ptr RawTH3F) -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBarWidth"+               c_th3f_getbarwidth :: Ptr RawTH3F -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetContour" c_th3f_getcontour -  :: (Ptr RawTH3F) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetContour"+               c_th3f_getcontour :: Ptr RawTH3F -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_GetContourLevel" c_th3f_getcontourlevel -  :: (Ptr RawTH3F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetContourLevel"+               c_th3f_getcontourlevel :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetContourLevelPad" c_th3f_getcontourlevelpad -  :: (Ptr RawTH3F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetContourLevelPad"+               c_th3f_getcontourlevelpad :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetBin" c_th3f_getbin -  :: (Ptr RawTH3F) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBin"+               c_th3f_getbin :: Ptr RawTH3F -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_GetBinCenter" c_th3f_getbincenter -  :: (Ptr RawTH3F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinCenter"+               c_th3f_getbincenter :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetBinContent1" c_th3f_getbincontent1 -  :: (Ptr RawTH3F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinContent1"+               c_th3f_getbincontent1 :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetBinContent2" c_th3f_getbincontent2 -  :: (Ptr RawTH3F) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinContent2"+               c_th3f_getbincontent2 :: Ptr RawTH3F -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetBinContent3" c_th3f_getbincontent3 -  :: (Ptr RawTH3F) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinContent3"+               c_th3f_getbincontent3 ::+               Ptr RawTH3F -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetBinError1" c_th3f_getbinerror1 -  :: (Ptr RawTH3F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinError1"+               c_th3f_getbinerror1 :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetBinError2" c_th3f_getbinerror2 -  :: (Ptr RawTH3F) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinError2"+               c_th3f_getbinerror2 :: Ptr RawTH3F -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetBinError3" c_th3f_getbinerror3 -  :: (Ptr RawTH3F) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinError3"+               c_th3f_getbinerror3 ::+               Ptr RawTH3F -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetBinLowEdge" c_th3f_getbinlowedge -  :: (Ptr RawTH3F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinLowEdge"+               c_th3f_getbinlowedge :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetBinWidth" c_th3f_getbinwidth -  :: (Ptr RawTH3F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetBinWidth"+               c_th3f_getbinwidth :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetCellContent" c_th3f_getcellcontent -  :: (Ptr RawTH3F) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetCellContent"+               c_th3f_getcellcontent :: Ptr RawTH3F -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetCellError" c_th3f_getcellerror -  :: (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 "HROOTHistTH3F.h TH3F_GetEntries" c_th3f_getentries -  :: (Ptr RawTH3F) -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetEntries"+               c_th3f_getentries :: Ptr RawTH3F -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetEffectiveEntries" c_th3f_geteffectiveentries -  :: (Ptr RawTH3F) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH3F.h TH3F_GetEffectiveEntries"+               c_th3f_geteffectiveentries :: Ptr RawTH3F -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetFunction" c_th3f_getfunction -  :: (Ptr RawTH3F) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetFunction"+               c_th3f_getfunction :: Ptr RawTH3F -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH3F.h TH3F_GetDimension" c_th3f_getdimension -  :: (Ptr RawTH3F) -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetDimension"+               c_th3f_getdimension :: Ptr RawTH3F -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_GetKurtosis" c_th3f_getkurtosis -  :: (Ptr RawTH3F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetKurtosis"+               c_th3f_getkurtosis :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetLowEdge" c_th3f_getlowedge -  :: (Ptr RawTH3F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetLowEdge"+               c_th3f_getlowedge :: Ptr RawTH3F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_getMaximumTH1" c_th3f_getmaximumth1 -  :: (Ptr RawTH3F) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_getMaximumTH1"+               c_th3f_getmaximumth1 :: Ptr RawTH3F -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetMaximumBin" c_th3f_getmaximumbin -  :: (Ptr RawTH3F) -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMaximumBin"+               c_th3f_getmaximumbin :: Ptr RawTH3F -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_GetMaximumStored" c_th3f_getmaximumstored -  :: (Ptr RawTH3F) -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMaximumStored"+               c_th3f_getmaximumstored :: Ptr RawTH3F -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_getMinimumTH1" c_th3f_getminimumth1 -  :: (Ptr RawTH3F) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_getMinimumTH1"+               c_th3f_getminimumth1 :: Ptr RawTH3F -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetMinimumBin" c_th3f_getminimumbin -  :: (Ptr RawTH3F) -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMinimumBin"+               c_th3f_getminimumbin :: Ptr RawTH3F -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_GetMinimumStored" c_th3f_getminimumstored -  :: (Ptr RawTH3F) -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMinimumStored"+               c_th3f_getminimumstored :: Ptr RawTH3F -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetMean" c_th3f_getmean -  :: (Ptr RawTH3F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMean"+               c_th3f_getmean :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetMeanError" c_th3f_getmeanerror -  :: (Ptr RawTH3F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMeanError"+               c_th3f_getmeanerror :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetNbinsX" c_th3f_getnbinsx -  :: (Ptr RawTH3F) -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetNbinsX"+               c_th3f_getnbinsx :: Ptr RawTH3F -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetNbinsY" c_th3f_getnbinsy -  :: (Ptr RawTH3F) -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetNbinsY"+               c_th3f_getnbinsy :: Ptr RawTH3F -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetNbinsZ" c_th3f_getnbinsz -  :: (Ptr RawTH3F) -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetNbinsZ"+               c_th3f_getnbinsz :: Ptr RawTH3F -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_getQuantilesTH1" c_th3f_getquantilesth1 -  :: (Ptr RawTH3F) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_getQuantilesTH1"+               c_th3f_getquantilesth1 ::+               Ptr RawTH3F -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_GetRandom" c_th3f_getrandom -  :: (Ptr RawTH3F) -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetRandom"+               c_th3f_getrandom :: Ptr RawTH3F -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetStats" c_th3f_getstats -  :: (Ptr RawTH3F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetStats"+               c_th3f_getstats :: Ptr RawTH3F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_GetSumOfWeights" c_th3f_getsumofweights -  :: (Ptr RawTH3F) -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetSumOfWeights"+               c_th3f_getsumofweights :: Ptr RawTH3F -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetSumw2" c_th3f_getsumw2 -  :: (Ptr RawTH3F) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetSumw2"+               c_th3f_getsumw2 :: Ptr RawTH3F -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH3F.h TH3F_GetSumw2N" c_th3f_getsumw2n -  :: (Ptr RawTH3F) -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetSumw2N"+               c_th3f_getsumw2n :: Ptr RawTH3F -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_GetRMS" c_th3f_getrms -  :: (Ptr RawTH3F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetRMS"+               c_th3f_getrms :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetRMSError" c_th3f_getrmserror -  :: (Ptr RawTH3F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetRMSError"+               c_th3f_getrmserror :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_GetSkewness" c_th3f_getskewness -  :: (Ptr RawTH3F) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetSkewness"+               c_th3f_getskewness :: Ptr RawTH3F -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_integral1" c_th3f_integral1 -  :: (Ptr RawTH3F) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_integral1"+               c_th3f_integral1 ::+               Ptr RawTH3F -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_interpolate1" c_th3f_interpolate1 -  :: (Ptr RawTH3F) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_interpolate1"+               c_th3f_interpolate1 :: Ptr RawTH3F -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_interpolate2" c_th3f_interpolate2 -  :: (Ptr RawTH3F) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_interpolate2"+               c_th3f_interpolate2 ::+               Ptr RawTH3F -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_interpolate3" c_th3f_interpolate3 -  :: (Ptr RawTH3F) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_interpolate3"+               c_th3f_interpolate3 ::+               Ptr RawTH3F -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_KolmogorovTest" c_th3f_kolmogorovtest -  :: (Ptr RawTH3F) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_KolmogorovTest"+               c_th3f_kolmogorovtest ::+               Ptr RawTH3F -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_LabelsDeflate" c_th3f_labelsdeflate -  :: (Ptr RawTH3F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_LabelsDeflate"+               c_th3f_labelsdeflate :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_LabelsInflate" c_th3f_labelsinflate -  :: (Ptr RawTH3F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_LabelsInflate"+               c_th3f_labelsinflate :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_LabelsOption" c_th3f_labelsoption -  :: (Ptr RawTH3F) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_LabelsOption"+               c_th3f_labelsoption :: Ptr RawTH3F -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_multiflyF" c_th3f_multiflyf -  :: (Ptr RawTH3F) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_multiflyF"+               c_th3f_multiflyf :: Ptr RawTH3F -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_Multiply" c_th3f_multiply -  :: (Ptr RawTH3F) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_Multiply"+               c_th3f_multiply ::+               Ptr RawTH3F ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_PutStats" c_th3f_putstats -  :: (Ptr RawTH3F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_PutStats"+               c_th3f_putstats :: Ptr RawTH3F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_Rebin" c_th3f_rebin -  :: (Ptr RawTH3F) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH3F.h TH3F_Rebin" c_th3f_rebin+               ::+               Ptr RawTH3F -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH3F.h TH3F_RebinAxis" c_th3f_rebinaxis -  :: (Ptr RawTH3F) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_RebinAxis"+               c_th3f_rebinaxis :: Ptr RawTH3F -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_Rebuild" c_th3f_rebuild -  :: (Ptr RawTH3F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_Rebuild"+               c_th3f_rebuild :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_RecursiveRemove" c_th3f_recursiveremove -  :: (Ptr RawTH3F) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_RecursiveRemove"+               c_th3f_recursiveremove :: Ptr RawTH3F -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_Reset" c_th3f_reset -  :: (Ptr RawTH3F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_Reset" c_th3f_reset+               :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_ResetStats" c_th3f_resetstats -  :: (Ptr RawTH3F) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_ResetStats"+               c_th3f_resetstats :: Ptr RawTH3F -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_Scale" c_th3f_scale -  :: (Ptr RawTH3F) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_Scale" c_th3f_scale+               :: Ptr RawTH3F -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setAxisColorA" c_th3f_setaxiscolora -  :: (Ptr RawTH3F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setAxisColorA"+               c_th3f_setaxiscolora :: Ptr RawTH3F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetAxisRange" c_th3f_setaxisrange -  :: (Ptr RawTH3F) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetAxisRange"+               c_th3f_setaxisrange ::+               Ptr RawTH3F -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetBarOffset" c_th3f_setbaroffset -  :: (Ptr RawTH3F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetBarOffset"+               c_th3f_setbaroffset :: Ptr RawTH3F -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetBarWidth" c_th3f_setbarwidth -  :: (Ptr RawTH3F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetBarWidth"+               c_th3f_setbarwidth :: Ptr RawTH3F -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setBinContent1" c_th3f_setbincontent1 -  :: (Ptr RawTH3F) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setBinContent1"+               c_th3f_setbincontent1 :: Ptr RawTH3F -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setBinContent2" c_th3f_setbincontent2 -  :: (Ptr RawTH3F) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setBinContent2"+               c_th3f_setbincontent2 ::+               Ptr RawTH3F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setBinContent3" c_th3f_setbincontent3 -  :: (Ptr RawTH3F) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setBinContent3"+               c_th3f_setbincontent3 ::+               Ptr RawTH3F -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setBinError1" c_th3f_setbinerror1 -  :: (Ptr RawTH3F) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setBinError1"+               c_th3f_setbinerror1 :: Ptr RawTH3F -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setBinError2" c_th3f_setbinerror2 -  :: (Ptr RawTH3F) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setBinError2"+               c_th3f_setbinerror2 ::+               Ptr RawTH3F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setBinError3" c_th3f_setbinerror3 -  :: (Ptr RawTH3F) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setBinError3"+               c_th3f_setbinerror3 ::+               Ptr RawTH3F -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setBins1" c_th3f_setbins1 -  :: (Ptr RawTH3F) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setBins1"+               c_th3f_setbins1 :: Ptr RawTH3F -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setBins2" c_th3f_setbins2 -  :: (Ptr RawTH3F) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setBins2"+               c_th3f_setbins2 ::+               Ptr RawTH3F ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setBins3" c_th3f_setbins3 -  :: (Ptr RawTH3F) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setBins3"+               c_th3f_setbins3 ::+               Ptr RawTH3F ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetBinsLength" c_th3f_setbinslength -  :: (Ptr RawTH3F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetBinsLength"+               c_th3f_setbinslength :: Ptr RawTH3F -> CInt -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetBuffer" c_th3f_setbuffer -  :: (Ptr RawTH3F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetBuffer"+               c_th3f_setbuffer :: Ptr RawTH3F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetCellContent" c_th3f_setcellcontent -  :: (Ptr RawTH3F) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetCellContent"+               c_th3f_setcellcontent ::+               Ptr RawTH3F -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetContent" c_th3f_setcontent -  :: (Ptr RawTH3F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetContent"+               c_th3f_setcontent :: Ptr RawTH3F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetContour" c_th3f_setcontour -  :: (Ptr RawTH3F) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetContour"+               c_th3f_setcontour :: Ptr RawTH3F -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetContourLevel" c_th3f_setcontourlevel -  :: (Ptr RawTH3F) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetContourLevel"+               c_th3f_setcontourlevel :: Ptr RawTH3F -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetDirectory" c_th3f_setdirectory -  :: (Ptr RawTH3F) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetDirectory"+               c_th3f_setdirectory :: Ptr RawTH3F -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetEntries" c_th3f_setentries -  :: (Ptr RawTH3F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetEntries"+               c_th3f_setentries :: Ptr RawTH3F -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetError" c_th3f_seterror -  :: (Ptr RawTH3F) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetError"+               c_th3f_seterror :: Ptr RawTH3F -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setLabelColorA" c_th3f_setlabelcolora -  :: (Ptr RawTH3F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setLabelColorA"+               c_th3f_setlabelcolora :: Ptr RawTH3F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setLabelSizeA" c_th3f_setlabelsizea -  :: (Ptr RawTH3F) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setLabelSizeA"+               c_th3f_setlabelsizea :: Ptr RawTH3F -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setLabelFontA" c_th3f_setlabelfonta -  :: (Ptr RawTH3F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setLabelFontA"+               c_th3f_setlabelfonta :: Ptr RawTH3F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_setLabelOffsetA" c_th3f_setlabeloffseta -  :: (Ptr RawTH3F) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_setLabelOffsetA"+               c_th3f_setlabeloffseta ::+               Ptr RawTH3F -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetMaximum" c_th3f_setmaximum -  :: (Ptr RawTH3F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetMaximum"+               c_th3f_setmaximum :: Ptr RawTH3F -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetMinimum" c_th3f_setminimum -  :: (Ptr RawTH3F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetMinimum"+               c_th3f_setminimum :: Ptr RawTH3F -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetNormFactor" c_th3f_setnormfactor -  :: (Ptr RawTH3F) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetNormFactor"+               c_th3f_setnormfactor :: Ptr RawTH3F -> CDouble -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetStats" c_th3f_setstats -  :: (Ptr RawTH3F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetStats"+               c_th3f_setstats :: Ptr RawTH3F -> CInt -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetOption" c_th3f_setoption -  :: (Ptr RawTH3F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetOption"+               c_th3f_setoption :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetXTitle" c_th3f_setxtitle -  :: (Ptr RawTH3F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetXTitle"+               c_th3f_setxtitle :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetYTitle" c_th3f_setytitle -  :: (Ptr RawTH3F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetYTitle"+               c_th3f_setytitle :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetZTitle" c_th3f_setztitle -  :: (Ptr RawTH3F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetZTitle"+               c_th3f_setztitle :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_ShowBackground" c_th3f_showbackground -  :: (Ptr RawTH3F) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH3F.h TH3F_ShowBackground"+               c_th3f_showbackground ::+               Ptr RawTH3F -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH3F.h TH3F_ShowPeaks" c_th3f_showpeaks -  :: (Ptr RawTH3F) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_ShowPeaks"+               c_th3f_showpeaks ::+               Ptr RawTH3F -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_Smooth" c_th3f_smooth -  :: (Ptr RawTH3F) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_Smooth"+               c_th3f_smooth :: Ptr RawTH3F -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_Sumw2" c_th3f_sumw2 -  :: (Ptr RawTH3F) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_Sumw2" c_th3f_sumw2+               :: Ptr RawTH3F -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_Draw" c_th3f_draw -  :: (Ptr RawTH3F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetName"+               c_th3f_setname :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_FindObject" c_th3f_findobject -  :: (Ptr RawTH3F) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetNameTitle"+               c_th3f_setnametitle :: Ptr RawTH3F -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_GetName" c_th3f_getname -  :: (Ptr RawTH3F) -> IO CString+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetTitle"+               c_th3f_settitle :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_IsA" c_th3f_isa -  :: (Ptr RawTH3F) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetLineColor"+               c_th3f_getlinecolor :: Ptr RawTH3F -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_Paint" c_th3f_paint -  :: (Ptr RawTH3F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetLineStyle"+               c_th3f_getlinestyle :: Ptr RawTH3F -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_printObj" c_th3f_printobj -  :: (Ptr RawTH3F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetLineWidth"+               c_th3f_getlinewidth :: Ptr RawTH3F -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_SaveAs" c_th3f_saveas -  :: (Ptr RawTH3F) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_ResetAttLine"+               c_th3f_resetattline :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_Write" c_th3f_write -  :: (Ptr RawTH3F) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetLineAttributes"+               c_th3f_setlineattributes :: Ptr RawTH3F -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_GetLineColor" c_th3f_getlinecolor -  :: (Ptr RawTH3F) -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetLineColor"+               c_th3f_setlinecolor :: Ptr RawTH3F -> CInt -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_GetLineStyle" c_th3f_getlinestyle -  :: (Ptr RawTH3F) -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetLineStyle"+               c_th3f_setlinestyle :: Ptr RawTH3F -> CInt -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_GetLineWidth" c_th3f_getlinewidth -  :: (Ptr RawTH3F) -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetLineWidth"+               c_th3f_setlinewidth :: Ptr RawTH3F -> CInt -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_ResetAttLine" c_th3f_resetattline -  :: (Ptr RawTH3F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetFillColor"+               c_th3f_setfillcolor :: Ptr RawTH3F -> CInt -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetLineAttributes" c_th3f_setlineattributes -  :: (Ptr RawTH3F) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetFillStyle"+               c_th3f_setfillstyle :: Ptr RawTH3F -> CInt -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetLineColor" c_th3f_setlinecolor -  :: (Ptr RawTH3F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMarkerColor"+               c_th3f_getmarkercolor :: Ptr RawTH3F -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_SetLineStyle" c_th3f_setlinestyle -  :: (Ptr RawTH3F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMarkerStyle"+               c_th3f_getmarkerstyle :: Ptr RawTH3F -> IO CInt -foreign import ccall "HROOTHistTH3F.h TH3F_SetLineWidth" c_th3f_setlinewidth -  :: (Ptr RawTH3F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetMarkerSize"+               c_th3f_getmarkersize :: Ptr RawTH3F -> IO CDouble -foreign import ccall "HROOTHistTH3F.h TH3F_SetFillColor" c_th3f_setfillcolor -  :: (Ptr RawTH3F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_ResetAttMarker"+               c_th3f_resetattmarker :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetFillStyle" c_th3f_setfillstyle -  :: (Ptr RawTH3F) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH3F.h TH3F_SetMarkerAttributes"+               c_th3f_setmarkerattributes :: Ptr RawTH3F -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_GetMarkerColor" c_th3f_getmarkercolor -  :: (Ptr RawTH3F) -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetMarkerColor"+               c_th3f_setmarkercolor :: Ptr RawTH3F -> CInt -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_GetMarkerStyle" c_th3f_getmarkerstyle -  :: (Ptr RawTH3F) -> IO CInt+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetMarkerStyle"+               c_th3f_setmarkerstyle :: Ptr RawTH3F -> CInt -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_GetMarkerSize" c_th3f_getmarkersize -  :: (Ptr RawTH3F) -> IO CDouble+foreign import ccall safe "HROOTHistTH3F.h TH3F_SetMarkerSize"+               c_th3f_setmarkersize :: Ptr RawTH3F -> CInt -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_ResetAttMarker" c_th3f_resetattmarker -  :: (Ptr RawTH3F) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_Draw" c_th3f_draw+               :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_SetMarkerAttributes" c_th3f_setmarkerattributes -  :: (Ptr RawTH3F) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_FindObject"+               c_th3f_findobject :: Ptr RawTH3F -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH3F.h TH3F_SetMarkerColor" c_th3f_setmarkercolor -  :: (Ptr RawTH3F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_GetName"+               c_th3f_getname :: Ptr RawTH3F -> IO CString -foreign import ccall "HROOTHistTH3F.h TH3F_SetMarkerStyle" c_th3f_setmarkerstyle -  :: (Ptr RawTH3F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_IsA" c_th3f_isa ::+               Ptr RawTH3F -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH3F.h TH3F_SetMarkerSize" c_th3f_setmarkersize -  :: (Ptr RawTH3F) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_Paint" c_th3f_paint+               :: Ptr RawTH3F -> CString -> IO () -foreign import ccall "HROOTHistTH3F.h TH3F_delete" c_th3f_delete -  :: (Ptr RawTH3F) -> IO ()+foreign import ccall safe "HROOTHistTH3F.h TH3F_printObj"+               c_th3f_printobj :: Ptr RawTH3F -> CString -> IO () +foreign import ccall safe "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 safe "HROOTHistTH3F.h TH3F_delete"+               c_th3f_delete :: Ptr RawTH3F -> IO ()
src/HROOT/Hist/TH3F/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH3F.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH3F.RawType import HROOT.Hist.TH3F.FFI import HROOT.Hist.TH3F.Interface@@ -41,9 +42,9 @@ import HROOT.Core.TAtt3D.RawType import HROOT.Core.TAtt3D.Cast import HROOT.Core.TAtt3D.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -53,6 +54,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -60,381 +64,196 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH3F TH3F -instance ITH3F TH3F where instance ITH3 TH3F where-  fill3 = xform3 c_th3f_fill3-  fill3w = xform4 c_th3f_fill3w-  fitSlicesZ = xform7 c_th3f_fitslicesz-  getCorrelationFactor3 = xform2 c_th3f_getcorrelationfactor3-  getCovariance3 = xform2 c_th3f_getcovariance3-  rebinX3 = xform2 c_th3f_rebinx3-  rebinY3 = xform2 c_th3f_rebiny3-  rebinZ3 = xform2 c_th3f_rebinz3-  rebin3D = xform4 c_th3f_rebin3d-instance ITArrayF 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-  drawNormalized = xform2 c_th3f_drawnormalized-  drawPanelTH1 = xform0 c_th3f_drawpanelth1-  bufferEmpty = xform1 c_th3f_bufferempty-  evalF = xform2 c_th3f_evalf-  fFT = xform2 c_th3f_fft-  fill1 = xform1 c_th3f_fill1-  fill1w = xform2 c_th3f_fill1w-  fillN1 = xform4 c_th3f_filln1-  fillRandom = xform2 c_th3f_fillrandom-  findBin = xform3 c_th3f_findbin-  findFixBin = xform3 c_th3f_findfixbin-  findFirstBinAbove = xform2 c_th3f_findfirstbinabove-  findLastBinAbove = xform2 c_th3f_findlastbinabove-  fitPanelTH1 = xform0 c_th3f_fitpanelth1-  getNdivisionA = xform1 c_th3f_getndivisiona-  getAxisColorA = xform1 c_th3f_getaxiscolora-  getLabelColorA = xform1 c_th3f_getlabelcolora-  getLabelFontA = xform1 c_th3f_getlabelfonta-  getLabelOffsetA = xform1 c_th3f_getlabeloffseta-  getLabelSizeA = xform1 c_th3f_getlabelsizea-  getTitleFontA = xform1 c_th3f_gettitlefonta-  getTitleOffsetA = xform1 c_th3f_gettitleoffseta-  getTitleSizeA = xform1 c_th3f_gettitlesizea-  getTickLengthA = xform1 c_th3f_getticklengtha-  getBarOffset = xform0 c_th3f_getbaroffset-  getBarWidth = xform0 c_th3f_getbarwidth-  getContour = xform1 c_th3f_getcontour-  getContourLevel = xform1 c_th3f_getcontourlevel-  getContourLevelPad = xform1 c_th3f_getcontourlevelpad-  getBin = xform3 c_th3f_getbin-  getBinCenter = xform1 c_th3f_getbincenter-  getBinContent1 = xform1 c_th3f_getbincontent1-  getBinContent2 = xform2 c_th3f_getbincontent2-  getBinContent3 = xform3 c_th3f_getbincontent3-  getBinError1 = xform1 c_th3f_getbinerror1-  getBinError2 = xform2 c_th3f_getbinerror2-  getBinError3 = xform3 c_th3f_getbinerror3-  getBinLowEdge = xform1 c_th3f_getbinlowedge-  getBinWidth = xform1 c_th3f_getbinwidth-  getCellContent = xform2 c_th3f_getcellcontent-  getCellError = xform2 c_th3f_getcellerror-  getEntries = xform0 c_th3f_getentries-  getEffectiveEntries = xform0 c_th3f_geteffectiveentries-  getFunction = xform1 c_th3f_getfunction-  getDimension = xform0 c_th3f_getdimension-  getKurtosis = xform1 c_th3f_getkurtosis-  getLowEdge = xform1 c_th3f_getlowedge-  getMaximumTH1 = xform1 c_th3f_getmaximumth1-  getMaximumBin = xform0 c_th3f_getmaximumbin-  getMaximumStored = xform0 c_th3f_getmaximumstored-  getMinimumTH1 = xform1 c_th3f_getminimumth1-  getMinimumBin = xform0 c_th3f_getminimumbin-  getMinimumStored = xform0 c_th3f_getminimumstored-  getMean = xform1 c_th3f_getmean-  getMeanError = xform1 c_th3f_getmeanerror-  getNbinsX = xform0 c_th3f_getnbinsx-  getNbinsY = xform0 c_th3f_getnbinsy-  getNbinsZ = xform0 c_th3f_getnbinsz-  getQuantilesTH1 = xform3 c_th3f_getquantilesth1-  getRandom = xform0 c_th3f_getrandom-  getStats = xform1 c_th3f_getstats-  getSumOfWeights = xform0 c_th3f_getsumofweights-  getSumw2 = xform0 c_th3f_getsumw2-  getSumw2N = xform0 c_th3f_getsumw2n-  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-  labelsInflate = xform1 c_th3f_labelsinflate-  labelsOption = xform2 c_th3f_labelsoption-  multiflyF = xform2 c_th3f_multiflyf-  multiply = xform5 c_th3f_multiply-  putStats = xform1 c_th3f_putstats-  rebin = xform3 c_th3f_rebin-  rebinAxis = xform2 c_th3f_rebinaxis-  rebuild = xform1 c_th3f_rebuild-  recursiveRemove = xform1 c_th3f_recursiveremove-  reset = xform1 c_th3f_reset-  resetStats = xform0 c_th3f_resetstats-  scale = xform2 c_th3f_scale-  setAxisColorA = xform2 c_th3f_setaxiscolora-  setAxisRange = xform3 c_th3f_setaxisrange-  setBarOffset = xform1 c_th3f_setbaroffset-  setBarWidth = xform1 c_th3f_setbarwidth-  setBinContent1 = xform2 c_th3f_setbincontent1-  setBinContent2 = xform3 c_th3f_setbincontent2-  setBinContent3 = xform4 c_th3f_setbincontent3-  setBinError1 = xform2 c_th3f_setbinerror1-  setBinError2 = xform3 c_th3f_setbinerror2-  setBinError3 = xform4 c_th3f_setbinerror3-  setBins1 = xform2 c_th3f_setbins1-  setBins2 = xform4 c_th3f_setbins2-  setBins3 = xform6 c_th3f_setbins3-  setBinsLength = xform1 c_th3f_setbinslength-  setBuffer = xform2 c_th3f_setbuffer-  setCellContent = xform3 c_th3f_setcellcontent-  setContent = xform1 c_th3f_setcontent-  setContour = xform2 c_th3f_setcontour-  setContourLevel = xform2 c_th3f_setcontourlevel-  setDirectory = xform1 c_th3f_setdirectory-  setEntries = xform1 c_th3f_setentries-  setError = xform1 c_th3f_seterror-  setLabelColorA = xform2 c_th3f_setlabelcolora-  setLabelSizeA = xform2 c_th3f_setlabelsizea-  setLabelFontA = xform2 c_th3f_setlabelfonta-  setLabelOffsetA = xform2 c_th3f_setlabeloffseta-  setMaximum = xform1 c_th3f_setmaximum-  setMinimum = xform1 c_th3f_setminimum-  setNormFactor = xform1 c_th3f_setnormfactor-  setStats = xform1 c_th3f_setstats-  setOption = xform1 c_th3f_setoption-  setXTitle = xform1 c_th3f_setxtitle-  setYTitle = xform1 c_th3f_setytitle-  setZTitle = xform1 c_th3f_setztitle-  showBackground = xform2 c_th3f_showbackground-  showPeaks = xform3 c_th3f_showpeaks-  smooth = xform2 c_th3f_smooth-  sumw2 = xform0 c_th3f_sumw2-instance ITAtt3D TH3F where-instance ITObject TH3F where-  draw = xform1 c_th3f_draw-  findObject = xform1 c_th3f_findobject-  getName = xform0 c_th3f_getname-  isA = xform0 c_th3f_isa-  paint = xform1 c_th3f_paint-  printObj = xform1 c_th3f_printobj-  saveAs = xform2 c_th3f_saveas-  write = xform3 c_th3f_write-instance ITAttLine TH3F where-  getLineColor = xform0 c_th3f_getlinecolor-  getLineStyle = xform0 c_th3f_getlinestyle-  getLineWidth = xform0 c_th3f_getlinewidth-  resetAttLine = xform1 c_th3f_resetattline-  setLineAttributes = xform0 c_th3f_setlineattributes-  setLineColor = xform1 c_th3f_setlinecolor-  setLineStyle = xform1 c_th3f_setlinestyle-  setLineWidth = xform1 c_th3f_setlinewidth-instance ITAttFill TH3F where-  setFillColor = xform1 c_th3f_setfillcolor-  setFillStyle = xform1 c_th3f_setfillstyle-instance ITAttMarker TH3F where-  getMarkerColor = xform0 c_th3f_getmarkercolor-  getMarkerStyle = xform0 c_th3f_getmarkerstyle-  getMarkerSize = xform0 c_th3f_getmarkersize-  resetAttMarker = xform1 c_th3f_resetattmarker-  setMarkerAttributes = xform0 c_th3f_setmarkerattributes-  setMarkerColor = xform1 c_th3f_setmarkercolor-  setMarkerStyle = xform1 c_th3f_setmarkerstyle-  setMarkerSize = xform1 c_th3f_setmarkersize-instance IDeletable TH3F where-  delete = xform0 c_th3f_delete-instance ITArray TH3F where--instance ITH3F (Exist TH3F) where--instance ITH3 (Exist TH3F) where-  fill3 (ETH3F x) = fill3 x-  fill3w (ETH3F x) = fill3w x-  fitSlicesZ (ETH3F x) = fitSlicesZ x-  getCorrelationFactor3 (ETH3F x) = getCorrelationFactor3 x-  getCovariance3 (ETH3F x) = getCovariance3 x-  rebinX3 (ETH3F x) = rebinX3 x-  rebinY3 (ETH3F x) = rebinY3 x-  rebinZ3 (ETH3F x) = rebinZ3 x-  rebin3D (ETH3F x) = rebin3D x-instance ITArrayF (Exist TH3F) where+        fill3 = xform3 c_th3f_fill3+        fill3w = xform4 c_th3f_fill3w+        fitSlicesZ = xform7 c_th3f_fitslicesz+        getCorrelationFactor3 = xform2 c_th3f_getcorrelationfactor3+        getCovariance3 = xform2 c_th3f_getcovariance3+        rebinX3 = xform2 c_th3f_rebinx3+        rebinY3 = xform2 c_th3f_rebiny3+        rebinZ3 = xform2 c_th3f_rebinz3+        rebin3D = xform4 c_th3f_rebin3d -instance ITH1 (Exist TH3F) where-  add (ETH3F x) = add x-  addBinContent (ETH3F x) = addBinContent x-  chi2Test (ETH3F x) = chi2Test x-  computeIntegral (ETH3F x) = computeIntegral x-  directoryAutoAdd (ETH3F x) = directoryAutoAdd x-  divide (ETH3F x) = divide x-  drawCopyTH1 (ETH3F x) a1 = return . ETH3F =<< drawCopyTH1 x a1-  drawNormalized (ETH3F x) = drawNormalized x-  drawPanelTH1 (ETH3F x) = drawPanelTH1 x-  bufferEmpty (ETH3F x) = bufferEmpty x-  evalF (ETH3F x) = evalF x-  fFT (ETH3F x) = fFT x-  fill1 (ETH3F x) = fill1 x-  fill1w (ETH3F x) = fill1w x-  fillN1 (ETH3F x) = fillN1 x-  fillRandom (ETH3F x) = fillRandom x-  findBin (ETH3F x) = findBin x-  findFixBin (ETH3F x) = findFixBin x-  findFirstBinAbove (ETH3F x) = findFirstBinAbove x-  findLastBinAbove (ETH3F x) = findLastBinAbove x-  fitPanelTH1 (ETH3F x) = fitPanelTH1 x-  getNdivisionA (ETH3F x) = getNdivisionA x-  getAxisColorA (ETH3F x) = getAxisColorA x-  getLabelColorA (ETH3F x) = getLabelColorA x-  getLabelFontA (ETH3F x) = getLabelFontA x-  getLabelOffsetA (ETH3F x) = getLabelOffsetA x-  getLabelSizeA (ETH3F x) = getLabelSizeA x-  getTitleFontA (ETH3F x) = getTitleFontA x-  getTitleOffsetA (ETH3F x) = getTitleOffsetA x-  getTitleSizeA (ETH3F x) = getTitleSizeA x-  getTickLengthA (ETH3F x) = getTickLengthA x-  getBarOffset (ETH3F x) = getBarOffset x-  getBarWidth (ETH3F x) = getBarWidth x-  getContour (ETH3F x) = getContour x-  getContourLevel (ETH3F x) = getContourLevel x-  getContourLevelPad (ETH3F x) = getContourLevelPad x-  getBin (ETH3F x) = getBin x-  getBinCenter (ETH3F x) = getBinCenter x-  getBinContent1 (ETH3F x) = getBinContent1 x-  getBinContent2 (ETH3F x) = getBinContent2 x-  getBinContent3 (ETH3F x) = getBinContent3 x-  getBinError1 (ETH3F x) = getBinError1 x-  getBinError2 (ETH3F x) = getBinError2 x-  getBinError3 (ETH3F x) = getBinError3 x-  getBinLowEdge (ETH3F x) = getBinLowEdge x-  getBinWidth (ETH3F x) = getBinWidth x-  getCellContent (ETH3F x) = getCellContent x-  getCellError (ETH3F x) = getCellError x-  getEntries (ETH3F x) = getEntries x-  getEffectiveEntries (ETH3F x) = getEffectiveEntries x-  getFunction (ETH3F x) = getFunction x-  getDimension (ETH3F x) = getDimension x-  getKurtosis (ETH3F x) = getKurtosis x-  getLowEdge (ETH3F x) = getLowEdge x-  getMaximumTH1 (ETH3F x) = getMaximumTH1 x-  getMaximumBin (ETH3F x) = getMaximumBin x-  getMaximumStored (ETH3F x) = getMaximumStored x-  getMinimumTH1 (ETH3F x) = getMinimumTH1 x-  getMinimumBin (ETH3F x) = getMinimumBin x-  getMinimumStored (ETH3F x) = getMinimumStored x-  getMean (ETH3F x) = getMean x-  getMeanError (ETH3F x) = getMeanError x-  getNbinsX (ETH3F x) = getNbinsX x-  getNbinsY (ETH3F x) = getNbinsY x-  getNbinsZ (ETH3F x) = getNbinsZ x-  getQuantilesTH1 (ETH3F x) = getQuantilesTH1 x-  getRandom (ETH3F x) = getRandom x-  getStats (ETH3F x) = getStats x-  getSumOfWeights (ETH3F x) = getSumOfWeights x-  getSumw2 (ETH3F x) = getSumw2 x-  getSumw2N (ETH3F x) = getSumw2N x-  getRMS (ETH3F x) = getRMS x-  getRMSError (ETH3F x) = getRMSError x-  getSkewness (ETH3F x) = getSkewness x-  integral1 (ETH3F x) = integral1 x-  interpolate1 (ETH3F x) = interpolate1 x-  interpolate2 (ETH3F x) = interpolate2 x-  interpolate3 (ETH3F x) = interpolate3 x-  kolmogorovTest (ETH3F x) = kolmogorovTest x-  labelsDeflate (ETH3F x) = labelsDeflate x-  labelsInflate (ETH3F x) = labelsInflate x-  labelsOption (ETH3F x) = labelsOption x-  multiflyF (ETH3F x) = multiflyF x-  multiply (ETH3F x) = multiply x-  putStats (ETH3F x) = putStats x-  rebin (ETH3F x) = rebin x-  rebinAxis (ETH3F x) = rebinAxis x-  rebuild (ETH3F x) = rebuild x-  recursiveRemove (ETH3F x) = recursiveRemove x-  reset (ETH3F x) = reset x-  resetStats (ETH3F x) = resetStats x-  scale (ETH3F x) = scale x-  setAxisColorA (ETH3F x) = setAxisColorA x-  setAxisRange (ETH3F x) = setAxisRange x-  setBarOffset (ETH3F x) = setBarOffset x-  setBarWidth (ETH3F x) = setBarWidth x-  setBinContent1 (ETH3F x) = setBinContent1 x-  setBinContent2 (ETH3F x) = setBinContent2 x-  setBinContent3 (ETH3F x) = setBinContent3 x-  setBinError1 (ETH3F x) = setBinError1 x-  setBinError2 (ETH3F x) = setBinError2 x-  setBinError3 (ETH3F x) = setBinError3 x-  setBins1 (ETH3F x) = setBins1 x-  setBins2 (ETH3F x) = setBins2 x-  setBins3 (ETH3F x) = setBins3 x-  setBinsLength (ETH3F x) = setBinsLength x-  setBuffer (ETH3F x) = setBuffer x-  setCellContent (ETH3F x) = setCellContent x-  setContent (ETH3F x) = setContent x-  setContour (ETH3F x) = setContour x-  setContourLevel (ETH3F x) = setContourLevel x-  setDirectory (ETH3F x) = setDirectory x-  setEntries (ETH3F x) = setEntries x-  setError (ETH3F x) = setError x-  setLabelColorA (ETH3F x) = setLabelColorA x-  setLabelSizeA (ETH3F x) = setLabelSizeA x-  setLabelFontA (ETH3F x) = setLabelFontA x-  setLabelOffsetA (ETH3F x) = setLabelOffsetA x-  setMaximum (ETH3F x) = setMaximum x-  setMinimum (ETH3F x) = setMinimum x-  setNormFactor (ETH3F x) = setNormFactor x-  setStats (ETH3F x) = setStats x-  setOption (ETH3F x) = setOption x-  setXTitle (ETH3F x) = setXTitle x-  setYTitle (ETH3F x) = setYTitle x-  setZTitle (ETH3F x) = setZTitle x-  showBackground (ETH3F x) = showBackground x-  showPeaks (ETH3F x) = showPeaks x-  smooth (ETH3F x) = smooth x-  sumw2 (ETH3F x) = sumw2 x-instance ITAtt3D (Exist TH3F) where+instance ITArrayF TH3F -instance ITObject (Exist TH3F) where-  draw (ETH3F x) = draw x-  findObject (ETH3F x) = findObject x-  getName (ETH3F x) = getName x-  isA (ETH3F x) = isA x-  paint (ETH3F x) = paint x-  printObj (ETH3F x) = printObj x-  saveAs (ETH3F x) = saveAs x-  write (ETH3F x) = write x-instance ITAttLine (Exist TH3F) where-  getLineColor (ETH3F x) = getLineColor x-  getLineStyle (ETH3F x) = getLineStyle x-  getLineWidth (ETH3F x) = getLineWidth x-  resetAttLine (ETH3F x) = resetAttLine x-  setLineAttributes (ETH3F x) = setLineAttributes x-  setLineColor (ETH3F x) = setLineColor x-  setLineStyle (ETH3F x) = setLineStyle x-  setLineWidth (ETH3F x) = setLineWidth x-instance ITAttFill (Exist TH3F) where-  setFillColor (ETH3F x) = setFillColor x-  setFillStyle (ETH3F x) = setFillStyle x-instance ITAttMarker (Exist TH3F) where-  getMarkerColor (ETH3F x) = getMarkerColor x-  getMarkerStyle (ETH3F x) = getMarkerStyle x-  getMarkerSize (ETH3F x) = getMarkerSize x-  resetAttMarker (ETH3F x) = resetAttMarker x-  setMarkerAttributes (ETH3F x) = setMarkerAttributes x-  setMarkerColor (ETH3F x) = setMarkerColor x-  setMarkerStyle (ETH3F x) = setMarkerStyle x-  setMarkerSize (ETH3F x) = setMarkerSize x-instance IDeletable (Exist TH3F) where-  delete (ETH3F x) = delete x-instance ITArray (Exist 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+        drawNormalized = xform2 c_th3f_drawnormalized+        drawPanelTH1 = xform0 c_th3f_drawpanelth1+        bufferEmpty = xform1 c_th3f_bufferempty+        evalF = xform2 c_th3f_evalf+        fFT = xform2 c_th3f_fft+        fill1 = xform1 c_th3f_fill1+        fill1w = xform2 c_th3f_fill1w+        fillN1 = xform4 c_th3f_filln1+        fillRandom = xform2 c_th3f_fillrandom+        findBin = xform3 c_th3f_findbin+        findFixBin = xform3 c_th3f_findfixbin+        findFirstBinAbove = xform2 c_th3f_findfirstbinabove+        findLastBinAbove = xform2 c_th3f_findlastbinabove+        fit = xform5 c_th3f_fit+        fitPanelTH1 = xform0 c_th3f_fitpanelth1+        getNdivisionA = xform1 c_th3f_getndivisiona+        getAxisColorA = xform1 c_th3f_getaxiscolora+        getLabelColorA = xform1 c_th3f_getlabelcolora+        getLabelFontA = xform1 c_th3f_getlabelfonta+        getLabelOffsetA = xform1 c_th3f_getlabeloffseta+        getLabelSizeA = xform1 c_th3f_getlabelsizea+        getTitleFontA = xform1 c_th3f_gettitlefonta+        getTitleOffsetA = xform1 c_th3f_gettitleoffseta+        getTitleSizeA = xform1 c_th3f_gettitlesizea+        getTickLengthA = xform1 c_th3f_getticklengtha+        getBarOffset = xform0 c_th3f_getbaroffset+        getBarWidth = xform0 c_th3f_getbarwidth+        getContour = xform1 c_th3f_getcontour+        getContourLevel = xform1 c_th3f_getcontourlevel+        getContourLevelPad = xform1 c_th3f_getcontourlevelpad+        getBin = xform3 c_th3f_getbin+        getBinCenter = xform1 c_th3f_getbincenter+        getBinContent1 = xform1 c_th3f_getbincontent1+        getBinContent2 = xform2 c_th3f_getbincontent2+        getBinContent3 = xform3 c_th3f_getbincontent3+        getBinError1 = xform1 c_th3f_getbinerror1+        getBinError2 = xform2 c_th3f_getbinerror2+        getBinError3 = xform3 c_th3f_getbinerror3+        getBinLowEdge = xform1 c_th3f_getbinlowedge+        getBinWidth = xform1 c_th3f_getbinwidth+        getCellContent = xform2 c_th3f_getcellcontent+        getCellError = xform2 c_th3f_getcellerror+        getEntries = xform0 c_th3f_getentries+        getEffectiveEntries = xform0 c_th3f_geteffectiveentries+        getFunction = xform1 c_th3f_getfunction+        getDimension = xform0 c_th3f_getdimension+        getKurtosis = xform1 c_th3f_getkurtosis+        getLowEdge = xform1 c_th3f_getlowedge+        getMaximumTH1 = xform1 c_th3f_getmaximumth1+        getMaximumBin = xform0 c_th3f_getmaximumbin+        getMaximumStored = xform0 c_th3f_getmaximumstored+        getMinimumTH1 = xform1 c_th3f_getminimumth1+        getMinimumBin = xform0 c_th3f_getminimumbin+        getMinimumStored = xform0 c_th3f_getminimumstored+        getMean = xform1 c_th3f_getmean+        getMeanError = xform1 c_th3f_getmeanerror+        getNbinsX = xform0 c_th3f_getnbinsx+        getNbinsY = xform0 c_th3f_getnbinsy+        getNbinsZ = xform0 c_th3f_getnbinsz+        getQuantilesTH1 = xform3 c_th3f_getquantilesth1+        getRandom = xform0 c_th3f_getrandom+        getStats = xform1 c_th3f_getstats+        getSumOfWeights = xform0 c_th3f_getsumofweights+        getSumw2 = xform0 c_th3f_getsumw2+        getSumw2N = xform0 c_th3f_getsumw2n+        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+        labelsInflate = xform1 c_th3f_labelsinflate+        labelsOption = xform2 c_th3f_labelsoption+        multiflyF = xform2 c_th3f_multiflyf+        multiply = xform5 c_th3f_multiply+        putStats = xform1 c_th3f_putstats+        rebin = xform3 c_th3f_rebin+        rebinAxis = xform2 c_th3f_rebinaxis+        rebuild = xform1 c_th3f_rebuild+        recursiveRemove = xform1 c_th3f_recursiveremove+        reset = xform1 c_th3f_reset+        resetStats = xform0 c_th3f_resetstats+        scale = xform2 c_th3f_scale+        setAxisColorA = xform2 c_th3f_setaxiscolora+        setAxisRange = xform3 c_th3f_setaxisrange+        setBarOffset = xform1 c_th3f_setbaroffset+        setBarWidth = xform1 c_th3f_setbarwidth+        setBinContent1 = xform2 c_th3f_setbincontent1+        setBinContent2 = xform3 c_th3f_setbincontent2+        setBinContent3 = xform4 c_th3f_setbincontent3+        setBinError1 = xform2 c_th3f_setbinerror1+        setBinError2 = xform3 c_th3f_setbinerror2+        setBinError3 = xform4 c_th3f_setbinerror3+        setBins1 = xform2 c_th3f_setbins1+        setBins2 = xform4 c_th3f_setbins2+        setBins3 = xform6 c_th3f_setbins3+        setBinsLength = xform1 c_th3f_setbinslength+        setBuffer = xform2 c_th3f_setbuffer+        setCellContent = xform3 c_th3f_setcellcontent+        setContent = xform1 c_th3f_setcontent+        setContour = xform2 c_th3f_setcontour+        setContourLevel = xform2 c_th3f_setcontourlevel+        setDirectory = xform1 c_th3f_setdirectory+        setEntries = xform1 c_th3f_setentries+        setError = xform1 c_th3f_seterror+        setLabelColorA = xform2 c_th3f_setlabelcolora+        setLabelSizeA = xform2 c_th3f_setlabelsizea+        setLabelFontA = xform2 c_th3f_setlabelfonta+        setLabelOffsetA = xform2 c_th3f_setlabeloffseta+        setMaximum = xform1 c_th3f_setmaximum+        setMinimum = xform1 c_th3f_setminimum+        setNormFactor = xform1 c_th3f_setnormfactor+        setStats = xform1 c_th3f_setstats+        setOption = xform1 c_th3f_setoption+        setXTitle = xform1 c_th3f_setxtitle+        setYTitle = xform1 c_th3f_setytitle+        setZTitle = xform1 c_th3f_setztitle+        showBackground = xform2 c_th3f_showbackground+        showPeaks = xform3 c_th3f_showpeaks+        smooth = xform2 c_th3f_smooth+        sumw2 = xform0 c_th3f_sumw2 +instance ITAtt3D TH3F +instance ITNamed TH3F where+        setName = xform1 c_th3f_setname+        setNameTitle = xform2 c_th3f_setnametitle+        setTitle = xform1 c_th3f_settitle +instance ITAttLine TH3F where+        getLineColor = xform0 c_th3f_getlinecolor+        getLineStyle = xform0 c_th3f_getlinestyle+        getLineWidth = xform0 c_th3f_getlinewidth+        resetAttLine = xform1 c_th3f_resetattline+        setLineAttributes = xform0 c_th3f_setlineattributes+        setLineColor = xform1 c_th3f_setlinecolor+        setLineStyle = xform1 c_th3f_setlinestyle+        setLineWidth = xform1 c_th3f_setlinewidth +instance ITAttFill TH3F where+        setFillColor = xform1 c_th3f_setfillcolor+        setFillStyle = xform1 c_th3f_setfillstyle +instance ITAttMarker TH3F where+        getMarkerColor = xform0 c_th3f_getmarkercolor+        getMarkerStyle = xform0 c_th3f_getmarkerstyle+        getMarkerSize = xform0 c_th3f_getmarkersize+        resetAttMarker = xform1 c_th3f_resetattmarker+        setMarkerAttributes = xform0 c_th3f_setmarkerattributes+        setMarkerColor = xform1 c_th3f_setmarkercolor+        setMarkerStyle = xform1 c_th3f_setmarkerstyle+        setMarkerSize = xform1 c_th3f_setmarkersize +instance ITObject TH3F where+        draw = xform1 c_th3f_draw+        findObject = xform1 c_th3f_findobject+        getName = xform0 c_th3f_getname+        isA = xform0 c_th3f_isa+        paint = xform1 c_th3f_paint+        printObj = xform1 c_th3f_printobj+        saveAs = xform2 c_th3f_saveas+        write = xform3 c_th3f_write +instance IDeletable TH3F where+        delete = xform0 c_th3f_delete -instance FPtr (Exist TH3F) where-  type Raw (Exist TH3F) = RawTH3F-  get_fptr (ETH3F obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH3F (cast_fptr_to_obj (fptr :: ForeignPtr RawTH3F) :: TH3F)+instance ITArray TH3F
src/HROOT/Hist/TH3F/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH3F.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH3F.RawType- import HROOT.Hist.TH3.Interface import HROOT.Core.TArrayF.Interface----- ============ ---- ---class (ITH3 a,ITArrayF a) => ITH3F a where--instance Existable TH3F where-  data Exist TH3F = forall a. (FPtr a, ITH3F a) => ETH3F a+class (ITH3 a, ITArrayF a) => ITH3F a -upcastTH3F :: (FPtr a, ITH3F a) => a -> TH3F-upcastTH3F h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH3F = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH3F :: forall a . (FPtr a, ITH3F a) => a -> TH3F+upcastTH3F h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH3F = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH3F :: (FPtr a, ITH3F a) => TH3F -> a -downcastTH3F h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH3F :: forall a . (FPtr a, ITH3F a) => TH3F -> a+downcastTH3F h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH3F/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH3F.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH3F -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH3F = TH3F (Ptr RawTH3F)+             deriving (Eq, Ord, Show) -data RawTH3F-newtype TH3F = TH3F (ForeignPtr RawTH3F) deriving (Eq, Ord, Show) instance FPtr TH3F where-   type Raw TH3F = RawTH3F-   get_fptr (TH3F fptr) = fptr-   cast_fptr_to_obj = TH3F+        type Raw TH3F = RawTH3F+        get_fptr (TH3F ptr) = ptr+        cast_fptr_to_obj = TH3F
src/HROOT/Hist/TH3I.hs view
@@ -1,15 +1,5 @@-module HROOT.Hist.TH3I-  (-    TH3I(..)-  , ITH3I-  , upcastTH3I-  , downcastTH3I-- -  ) where-+module HROOT.Hist.TH3I (TH3I(..), ITH3I, upcastTH3I, downcastTH3I)+       where import HROOT.Hist.TH3I.RawType import HROOT.Hist.TH3I.Interface import HROOT.Hist.TH3I.Implementation--
src/HROOT/Hist/TH3I/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH3I.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH3I.RawType import HROOT.Hist.TH3I.Interface  instance (ITH3I a, FPtr a) => Castable a (Ptr RawTH3I) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH3I (Ptr RawTH3I) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH3I.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH3I.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1.RawType@@ -23,503 +13,558 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH3I.h"+foreign import ccall safe "HROOTHistTH3I.h TH3I_fill3" c_th3i_fill3+               :: Ptr RawTH3I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_fill3" c_th3i_fill3 -  :: (Ptr RawTH3I) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_fill3w"+               c_th3i_fill3w ::+               Ptr RawTH3I -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH3I ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_FitSlicesZ" c_th3i_fitslicesz -  :: (Ptr RawTH3I) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTH3I.h TH3I_getCorrelationFactor3"+               c_th3i_getcorrelationfactor3 ::+               Ptr RawTH3I -> CInt -> CInt -> IO CDouble -foreign import ccall "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 "HROOTHistTH3I.h TH3I_getCovariance3" c_th3i_getcovariance3 -  :: (Ptr RawTH3I) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_rebinX3"+               c_th3i_rebinx3 :: Ptr RawTH3I -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3I.h TH3I_rebinX3" c_th3i_rebinx3 -  :: (Ptr RawTH3I) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3I.h TH3I_rebinY3"+               c_th3i_rebiny3 :: Ptr RawTH3I -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3I.h TH3I_rebinY3" c_th3i_rebiny3 -  :: (Ptr RawTH3I) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3I.h TH3I_rebinZ3"+               c_th3i_rebinz3 :: Ptr RawTH3I -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3I.h TH3I_rebinZ3" c_th3i_rebinz3 -  :: (Ptr RawTH3I) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3I.h TH3I_Rebin3D"+               c_th3i_rebin3d ::+               Ptr RawTH3I -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "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 "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 "HROOTHistTH3I.h TH3I_AddBinContent" c_th3i_addbincontent -  :: (Ptr RawTH3I) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_Chi2Test"+               c_th3i_chi2test ::+               Ptr RawTH3I -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH3I.h TH3I_ComputeIntegral" c_th3i_computeintegral -  :: (Ptr RawTH3I) -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_DirectoryAutoAdd"+               c_th3i_directoryautoadd ::+               Ptr RawTH3I -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_DirectoryAutoAdd" c_th3i_directoryautoadd -  :: (Ptr RawTH3I) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_Divide"+               c_th3i_divide ::+               Ptr RawTH3I ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH3I.h TH3I_drawCopyTH1" c_th3i_drawcopyth1 -  :: (Ptr RawTH3I) -> CString -> IO (Ptr RawTH3I)+foreign import ccall safe "HROOTHistTH3I.h TH3I_DrawNormalized"+               c_th3i_drawnormalized ::+               Ptr RawTH3I -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH3I.h TH3I_evalF" c_th3i_evalf -  :: (Ptr RawTH3I) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_FFT" c_th3i_fft ::+               Ptr RawTH3I -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH3I.h TH3I_fill1" c_th3i_fill1 -  :: (Ptr RawTH3I) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_fill1w"+               c_th3i_fill1w :: Ptr RawTH3I -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_fill1w" c_th3i_fill1w -  :: (Ptr RawTH3I) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_fillN1"+               c_th3i_filln1 ::+               Ptr RawTH3I ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_fillN1" c_th3i_filln1 -  :: (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 "HROOTHistTH3I.h TH3I_FillRandom" c_th3i_fillrandom -  :: (Ptr RawTH3I) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_FindBin"+               c_th3i_findbin ::+               Ptr RawTH3I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH3I -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH3I.h TH3I_FindFirstBinAbove" c_th3i_findfirstbinabove -  :: (Ptr RawTH3I) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_FindLastBinAbove"+               c_th3i_findlastbinabove ::+               Ptr RawTH3I -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_FindLastBinAbove" c_th3i_findlastbinabove -  :: (Ptr RawTH3I) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_Fit" c_th3i_fit ::+               Ptr RawTH3I ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_FitPanelTH1" c_th3i_fitpanelth1 -  :: (Ptr RawTH3I) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_FitPanelTH1"+               c_th3i_fitpanelth1 :: Ptr RawTH3I -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_getNdivisionA" c_th3i_getndivisiona -  :: (Ptr RawTH3I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_getNdivisionA"+               c_th3i_getndivisiona :: Ptr RawTH3I -> CString -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_getAxisColorA" c_th3i_getaxiscolora -  :: (Ptr RawTH3I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_getAxisColorA"+               c_th3i_getaxiscolora :: Ptr RawTH3I -> CString -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_getLabelColorA" c_th3i_getlabelcolora -  :: (Ptr RawTH3I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_getLabelColorA"+               c_th3i_getlabelcolora :: Ptr RawTH3I -> CString -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_getLabelFontA" c_th3i_getlabelfonta -  :: (Ptr RawTH3I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_getLabelFontA"+               c_th3i_getlabelfonta :: Ptr RawTH3I -> CString -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_getLabelOffsetA" c_th3i_getlabeloffseta -  :: (Ptr RawTH3I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_getLabelOffsetA"+               c_th3i_getlabeloffseta :: Ptr RawTH3I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_getLabelSizeA" c_th3i_getlabelsizea -  :: (Ptr RawTH3I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_getLabelSizeA"+               c_th3i_getlabelsizea :: Ptr RawTH3I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_getTitleFontA" c_th3i_gettitlefonta -  :: (Ptr RawTH3I) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_getTitleFontA"+               c_th3i_gettitlefonta :: Ptr RawTH3I -> CString -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_getTitleOffsetA" c_th3i_gettitleoffseta -  :: (Ptr RawTH3I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_getTitleOffsetA"+               c_th3i_gettitleoffseta :: Ptr RawTH3I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_getTitleSizeA" c_th3i_gettitlesizea -  :: (Ptr RawTH3I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_getTitleSizeA"+               c_th3i_gettitlesizea :: Ptr RawTH3I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_getTickLengthA" c_th3i_getticklengtha -  :: (Ptr RawTH3I) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_getTickLengthA"+               c_th3i_getticklengtha :: Ptr RawTH3I -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetBarOffset" c_th3i_getbaroffset -  :: (Ptr RawTH3I) -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBarOffset"+               c_th3i_getbaroffset :: Ptr RawTH3I -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetBarWidth" c_th3i_getbarwidth -  :: (Ptr RawTH3I) -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBarWidth"+               c_th3i_getbarwidth :: Ptr RawTH3I -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetContour" c_th3i_getcontour -  :: (Ptr RawTH3I) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetContour"+               c_th3i_getcontour :: Ptr RawTH3I -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_GetContourLevel" c_th3i_getcontourlevel -  :: (Ptr RawTH3I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetContourLevel"+               c_th3i_getcontourlevel :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetContourLevelPad" c_th3i_getcontourlevelpad -  :: (Ptr RawTH3I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetContourLevelPad"+               c_th3i_getcontourlevelpad :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetBin" c_th3i_getbin -  :: (Ptr RawTH3I) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBin"+               c_th3i_getbin :: Ptr RawTH3I -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_GetBinCenter" c_th3i_getbincenter -  :: (Ptr RawTH3I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinCenter"+               c_th3i_getbincenter :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetBinContent1" c_th3i_getbincontent1 -  :: (Ptr RawTH3I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinContent1"+               c_th3i_getbincontent1 :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetBinContent2" c_th3i_getbincontent2 -  :: (Ptr RawTH3I) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinContent2"+               c_th3i_getbincontent2 :: Ptr RawTH3I -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetBinContent3" c_th3i_getbincontent3 -  :: (Ptr RawTH3I) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinContent3"+               c_th3i_getbincontent3 ::+               Ptr RawTH3I -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetBinError1" c_th3i_getbinerror1 -  :: (Ptr RawTH3I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinError1"+               c_th3i_getbinerror1 :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetBinError2" c_th3i_getbinerror2 -  :: (Ptr RawTH3I) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinError2"+               c_th3i_getbinerror2 :: Ptr RawTH3I -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetBinError3" c_th3i_getbinerror3 -  :: (Ptr RawTH3I) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinError3"+               c_th3i_getbinerror3 ::+               Ptr RawTH3I -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetBinLowEdge" c_th3i_getbinlowedge -  :: (Ptr RawTH3I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinLowEdge"+               c_th3i_getbinlowedge :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetBinWidth" c_th3i_getbinwidth -  :: (Ptr RawTH3I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetBinWidth"+               c_th3i_getbinwidth :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetCellContent" c_th3i_getcellcontent -  :: (Ptr RawTH3I) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetCellContent"+               c_th3i_getcellcontent :: Ptr RawTH3I -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetCellError" c_th3i_getcellerror -  :: (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 "HROOTHistTH3I.h TH3I_GetEntries" c_th3i_getentries -  :: (Ptr RawTH3I) -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetEntries"+               c_th3i_getentries :: Ptr RawTH3I -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetEffectiveEntries" c_th3i_geteffectiveentries -  :: (Ptr RawTH3I) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH3I.h TH3I_GetEffectiveEntries"+               c_th3i_geteffectiveentries :: Ptr RawTH3I -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetFunction" c_th3i_getfunction -  :: (Ptr RawTH3I) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetFunction"+               c_th3i_getfunction :: Ptr RawTH3I -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH3I.h TH3I_GetDimension" c_th3i_getdimension -  :: (Ptr RawTH3I) -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetDimension"+               c_th3i_getdimension :: Ptr RawTH3I -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_GetKurtosis" c_th3i_getkurtosis -  :: (Ptr RawTH3I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetKurtosis"+               c_th3i_getkurtosis :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetLowEdge" c_th3i_getlowedge -  :: (Ptr RawTH3I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetLowEdge"+               c_th3i_getlowedge :: Ptr RawTH3I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_getMaximumTH1" c_th3i_getmaximumth1 -  :: (Ptr RawTH3I) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_getMaximumTH1"+               c_th3i_getmaximumth1 :: Ptr RawTH3I -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetMaximumBin" c_th3i_getmaximumbin -  :: (Ptr RawTH3I) -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMaximumBin"+               c_th3i_getmaximumbin :: Ptr RawTH3I -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_GetMaximumStored" c_th3i_getmaximumstored -  :: (Ptr RawTH3I) -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMaximumStored"+               c_th3i_getmaximumstored :: Ptr RawTH3I -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_getMinimumTH1" c_th3i_getminimumth1 -  :: (Ptr RawTH3I) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_getMinimumTH1"+               c_th3i_getminimumth1 :: Ptr RawTH3I -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetMinimumBin" c_th3i_getminimumbin -  :: (Ptr RawTH3I) -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMinimumBin"+               c_th3i_getminimumbin :: Ptr RawTH3I -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_GetMinimumStored" c_th3i_getminimumstored -  :: (Ptr RawTH3I) -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMinimumStored"+               c_th3i_getminimumstored :: Ptr RawTH3I -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetMean" c_th3i_getmean -  :: (Ptr RawTH3I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMean"+               c_th3i_getmean :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetMeanError" c_th3i_getmeanerror -  :: (Ptr RawTH3I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMeanError"+               c_th3i_getmeanerror :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetNbinsX" c_th3i_getnbinsx -  :: (Ptr RawTH3I) -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetNbinsX"+               c_th3i_getnbinsx :: Ptr RawTH3I -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetNbinsY" c_th3i_getnbinsy -  :: (Ptr RawTH3I) -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetNbinsY"+               c_th3i_getnbinsy :: Ptr RawTH3I -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetNbinsZ" c_th3i_getnbinsz -  :: (Ptr RawTH3I) -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetNbinsZ"+               c_th3i_getnbinsz :: Ptr RawTH3I -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_getQuantilesTH1" c_th3i_getquantilesth1 -  :: (Ptr RawTH3I) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_getQuantilesTH1"+               c_th3i_getquantilesth1 ::+               Ptr RawTH3I -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_GetRandom" c_th3i_getrandom -  :: (Ptr RawTH3I) -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetRandom"+               c_th3i_getrandom :: Ptr RawTH3I -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetStats" c_th3i_getstats -  :: (Ptr RawTH3I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetStats"+               c_th3i_getstats :: Ptr RawTH3I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_GetSumOfWeights" c_th3i_getsumofweights -  :: (Ptr RawTH3I) -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetSumOfWeights"+               c_th3i_getsumofweights :: Ptr RawTH3I -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetSumw2" c_th3i_getsumw2 -  :: (Ptr RawTH3I) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetSumw2"+               c_th3i_getsumw2 :: Ptr RawTH3I -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH3I.h TH3I_GetSumw2N" c_th3i_getsumw2n -  :: (Ptr RawTH3I) -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetSumw2N"+               c_th3i_getsumw2n :: Ptr RawTH3I -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_GetRMS" c_th3i_getrms -  :: (Ptr RawTH3I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetRMS"+               c_th3i_getrms :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetRMSError" c_th3i_getrmserror -  :: (Ptr RawTH3I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetRMSError"+               c_th3i_getrmserror :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_GetSkewness" c_th3i_getskewness -  :: (Ptr RawTH3I) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetSkewness"+               c_th3i_getskewness :: Ptr RawTH3I -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_integral1" c_th3i_integral1 -  :: (Ptr RawTH3I) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_integral1"+               c_th3i_integral1 ::+               Ptr RawTH3I -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_interpolate1" c_th3i_interpolate1 -  :: (Ptr RawTH3I) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_interpolate1"+               c_th3i_interpolate1 :: Ptr RawTH3I -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_interpolate2" c_th3i_interpolate2 -  :: (Ptr RawTH3I) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_interpolate2"+               c_th3i_interpolate2 ::+               Ptr RawTH3I -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_interpolate3" c_th3i_interpolate3 -  :: (Ptr RawTH3I) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_interpolate3"+               c_th3i_interpolate3 ::+               Ptr RawTH3I -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_KolmogorovTest" c_th3i_kolmogorovtest -  :: (Ptr RawTH3I) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_KolmogorovTest"+               c_th3i_kolmogorovtest ::+               Ptr RawTH3I -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_LabelsDeflate" c_th3i_labelsdeflate -  :: (Ptr RawTH3I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_LabelsDeflate"+               c_th3i_labelsdeflate :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_LabelsInflate" c_th3i_labelsinflate -  :: (Ptr RawTH3I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_LabelsInflate"+               c_th3i_labelsinflate :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_LabelsOption" c_th3i_labelsoption -  :: (Ptr RawTH3I) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_LabelsOption"+               c_th3i_labelsoption :: Ptr RawTH3I -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_multiflyF" c_th3i_multiflyf -  :: (Ptr RawTH3I) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_multiflyF"+               c_th3i_multiflyf :: Ptr RawTH3I -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_Multiply" c_th3i_multiply -  :: (Ptr RawTH3I) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_Multiply"+               c_th3i_multiply ::+               Ptr RawTH3I ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_PutStats" c_th3i_putstats -  :: (Ptr RawTH3I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_PutStats"+               c_th3i_putstats :: Ptr RawTH3I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_Rebin" c_th3i_rebin -  :: (Ptr RawTH3I) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH3I.h TH3I_Rebin" c_th3i_rebin+               ::+               Ptr RawTH3I -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH3I.h TH3I_RebinAxis" c_th3i_rebinaxis -  :: (Ptr RawTH3I) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_RebinAxis"+               c_th3i_rebinaxis :: Ptr RawTH3I -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_Rebuild" c_th3i_rebuild -  :: (Ptr RawTH3I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_Rebuild"+               c_th3i_rebuild :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_RecursiveRemove" c_th3i_recursiveremove -  :: (Ptr RawTH3I) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_RecursiveRemove"+               c_th3i_recursiveremove :: Ptr RawTH3I -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_Reset" c_th3i_reset -  :: (Ptr RawTH3I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_Reset" c_th3i_reset+               :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_ResetStats" c_th3i_resetstats -  :: (Ptr RawTH3I) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_ResetStats"+               c_th3i_resetstats :: Ptr RawTH3I -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_Scale" c_th3i_scale -  :: (Ptr RawTH3I) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_Scale" c_th3i_scale+               :: Ptr RawTH3I -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setAxisColorA" c_th3i_setaxiscolora -  :: (Ptr RawTH3I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setAxisColorA"+               c_th3i_setaxiscolora :: Ptr RawTH3I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetAxisRange" c_th3i_setaxisrange -  :: (Ptr RawTH3I) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetAxisRange"+               c_th3i_setaxisrange ::+               Ptr RawTH3I -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetBarOffset" c_th3i_setbaroffset -  :: (Ptr RawTH3I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetBarOffset"+               c_th3i_setbaroffset :: Ptr RawTH3I -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetBarWidth" c_th3i_setbarwidth -  :: (Ptr RawTH3I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetBarWidth"+               c_th3i_setbarwidth :: Ptr RawTH3I -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setBinContent1" c_th3i_setbincontent1 -  :: (Ptr RawTH3I) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setBinContent1"+               c_th3i_setbincontent1 :: Ptr RawTH3I -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setBinContent2" c_th3i_setbincontent2 -  :: (Ptr RawTH3I) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setBinContent2"+               c_th3i_setbincontent2 ::+               Ptr RawTH3I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setBinContent3" c_th3i_setbincontent3 -  :: (Ptr RawTH3I) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setBinContent3"+               c_th3i_setbincontent3 ::+               Ptr RawTH3I -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setBinError1" c_th3i_setbinerror1 -  :: (Ptr RawTH3I) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setBinError1"+               c_th3i_setbinerror1 :: Ptr RawTH3I -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setBinError2" c_th3i_setbinerror2 -  :: (Ptr RawTH3I) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setBinError2"+               c_th3i_setbinerror2 ::+               Ptr RawTH3I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setBinError3" c_th3i_setbinerror3 -  :: (Ptr RawTH3I) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setBinError3"+               c_th3i_setbinerror3 ::+               Ptr RawTH3I -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setBins1" c_th3i_setbins1 -  :: (Ptr RawTH3I) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setBins1"+               c_th3i_setbins1 :: Ptr RawTH3I -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setBins2" c_th3i_setbins2 -  :: (Ptr RawTH3I) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setBins2"+               c_th3i_setbins2 ::+               Ptr RawTH3I ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setBins3" c_th3i_setbins3 -  :: (Ptr RawTH3I) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setBins3"+               c_th3i_setbins3 ::+               Ptr RawTH3I ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetBinsLength" c_th3i_setbinslength -  :: (Ptr RawTH3I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetBinsLength"+               c_th3i_setbinslength :: Ptr RawTH3I -> CInt -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetBuffer" c_th3i_setbuffer -  :: (Ptr RawTH3I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetBuffer"+               c_th3i_setbuffer :: Ptr RawTH3I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetCellContent" c_th3i_setcellcontent -  :: (Ptr RawTH3I) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetCellContent"+               c_th3i_setcellcontent ::+               Ptr RawTH3I -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetContent" c_th3i_setcontent -  :: (Ptr RawTH3I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetContent"+               c_th3i_setcontent :: Ptr RawTH3I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetContour" c_th3i_setcontour -  :: (Ptr RawTH3I) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetContour"+               c_th3i_setcontour :: Ptr RawTH3I -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetContourLevel" c_th3i_setcontourlevel -  :: (Ptr RawTH3I) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetContourLevel"+               c_th3i_setcontourlevel :: Ptr RawTH3I -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetDirectory" c_th3i_setdirectory -  :: (Ptr RawTH3I) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetDirectory"+               c_th3i_setdirectory :: Ptr RawTH3I -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetEntries" c_th3i_setentries -  :: (Ptr RawTH3I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetEntries"+               c_th3i_setentries :: Ptr RawTH3I -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetError" c_th3i_seterror -  :: (Ptr RawTH3I) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetError"+               c_th3i_seterror :: Ptr RawTH3I -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setLabelColorA" c_th3i_setlabelcolora -  :: (Ptr RawTH3I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setLabelColorA"+               c_th3i_setlabelcolora :: Ptr RawTH3I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setLabelSizeA" c_th3i_setlabelsizea -  :: (Ptr RawTH3I) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setLabelSizeA"+               c_th3i_setlabelsizea :: Ptr RawTH3I -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setLabelFontA" c_th3i_setlabelfonta -  :: (Ptr RawTH3I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setLabelFontA"+               c_th3i_setlabelfonta :: Ptr RawTH3I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_setLabelOffsetA" c_th3i_setlabeloffseta -  :: (Ptr RawTH3I) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_setLabelOffsetA"+               c_th3i_setlabeloffseta ::+               Ptr RawTH3I -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetMaximum" c_th3i_setmaximum -  :: (Ptr RawTH3I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetMaximum"+               c_th3i_setmaximum :: Ptr RawTH3I -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetMinimum" c_th3i_setminimum -  :: (Ptr RawTH3I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetMinimum"+               c_th3i_setminimum :: Ptr RawTH3I -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetNormFactor" c_th3i_setnormfactor -  :: (Ptr RawTH3I) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetNormFactor"+               c_th3i_setnormfactor :: Ptr RawTH3I -> CDouble -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetStats" c_th3i_setstats -  :: (Ptr RawTH3I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetStats"+               c_th3i_setstats :: Ptr RawTH3I -> CInt -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetOption" c_th3i_setoption -  :: (Ptr RawTH3I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetOption"+               c_th3i_setoption :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetXTitle" c_th3i_setxtitle -  :: (Ptr RawTH3I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetXTitle"+               c_th3i_setxtitle :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetYTitle" c_th3i_setytitle -  :: (Ptr RawTH3I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetYTitle"+               c_th3i_setytitle :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetZTitle" c_th3i_setztitle -  :: (Ptr RawTH3I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetZTitle"+               c_th3i_setztitle :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_ShowBackground" c_th3i_showbackground -  :: (Ptr RawTH3I) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH3I.h TH3I_ShowBackground"+               c_th3i_showbackground ::+               Ptr RawTH3I -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH3I.h TH3I_ShowPeaks" c_th3i_showpeaks -  :: (Ptr RawTH3I) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_ShowPeaks"+               c_th3i_showpeaks ::+               Ptr RawTH3I -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_Smooth" c_th3i_smooth -  :: (Ptr RawTH3I) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_Smooth"+               c_th3i_smooth :: Ptr RawTH3I -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_Sumw2" c_th3i_sumw2 -  :: (Ptr RawTH3I) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_Sumw2" c_th3i_sumw2+               :: Ptr RawTH3I -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_Draw" c_th3i_draw -  :: (Ptr RawTH3I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetName"+               c_th3i_setname :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_FindObject" c_th3i_findobject -  :: (Ptr RawTH3I) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetNameTitle"+               c_th3i_setnametitle :: Ptr RawTH3I -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_GetName" c_th3i_getname -  :: (Ptr RawTH3I) -> IO CString+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetTitle"+               c_th3i_settitle :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_IsA" c_th3i_isa -  :: (Ptr RawTH3I) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetLineColor"+               c_th3i_getlinecolor :: Ptr RawTH3I -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_Paint" c_th3i_paint -  :: (Ptr RawTH3I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetLineStyle"+               c_th3i_getlinestyle :: Ptr RawTH3I -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_printObj" c_th3i_printobj -  :: (Ptr RawTH3I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetLineWidth"+               c_th3i_getlinewidth :: Ptr RawTH3I -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_SaveAs" c_th3i_saveas -  :: (Ptr RawTH3I) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_ResetAttLine"+               c_th3i_resetattline :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_Write" c_th3i_write -  :: (Ptr RawTH3I) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetLineAttributes"+               c_th3i_setlineattributes :: Ptr RawTH3I -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_GetLineColor" c_th3i_getlinecolor -  :: (Ptr RawTH3I) -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetLineColor"+               c_th3i_setlinecolor :: Ptr RawTH3I -> CInt -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_GetLineStyle" c_th3i_getlinestyle -  :: (Ptr RawTH3I) -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetLineStyle"+               c_th3i_setlinestyle :: Ptr RawTH3I -> CInt -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_GetLineWidth" c_th3i_getlinewidth -  :: (Ptr RawTH3I) -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetLineWidth"+               c_th3i_setlinewidth :: Ptr RawTH3I -> CInt -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_ResetAttLine" c_th3i_resetattline -  :: (Ptr RawTH3I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetFillColor"+               c_th3i_setfillcolor :: Ptr RawTH3I -> CInt -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetLineAttributes" c_th3i_setlineattributes -  :: (Ptr RawTH3I) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetFillStyle"+               c_th3i_setfillstyle :: Ptr RawTH3I -> CInt -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetLineColor" c_th3i_setlinecolor -  :: (Ptr RawTH3I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMarkerColor"+               c_th3i_getmarkercolor :: Ptr RawTH3I -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_SetLineStyle" c_th3i_setlinestyle -  :: (Ptr RawTH3I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMarkerStyle"+               c_th3i_getmarkerstyle :: Ptr RawTH3I -> IO CInt -foreign import ccall "HROOTHistTH3I.h TH3I_SetLineWidth" c_th3i_setlinewidth -  :: (Ptr RawTH3I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetMarkerSize"+               c_th3i_getmarkersize :: Ptr RawTH3I -> IO CDouble -foreign import ccall "HROOTHistTH3I.h TH3I_SetFillColor" c_th3i_setfillcolor -  :: (Ptr RawTH3I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_ResetAttMarker"+               c_th3i_resetattmarker :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetFillStyle" c_th3i_setfillstyle -  :: (Ptr RawTH3I) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH3I.h TH3I_SetMarkerAttributes"+               c_th3i_setmarkerattributes :: Ptr RawTH3I -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_GetMarkerColor" c_th3i_getmarkercolor -  :: (Ptr RawTH3I) -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetMarkerColor"+               c_th3i_setmarkercolor :: Ptr RawTH3I -> CInt -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_GetMarkerStyle" c_th3i_getmarkerstyle -  :: (Ptr RawTH3I) -> IO CInt+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetMarkerStyle"+               c_th3i_setmarkerstyle :: Ptr RawTH3I -> CInt -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_GetMarkerSize" c_th3i_getmarkersize -  :: (Ptr RawTH3I) -> IO CDouble+foreign import ccall safe "HROOTHistTH3I.h TH3I_SetMarkerSize"+               c_th3i_setmarkersize :: Ptr RawTH3I -> CInt -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_ResetAttMarker" c_th3i_resetattmarker -  :: (Ptr RawTH3I) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_Draw" c_th3i_draw+               :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_SetMarkerAttributes" c_th3i_setmarkerattributes -  :: (Ptr RawTH3I) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_FindObject"+               c_th3i_findobject :: Ptr RawTH3I -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH3I.h TH3I_SetMarkerColor" c_th3i_setmarkercolor -  :: (Ptr RawTH3I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_GetName"+               c_th3i_getname :: Ptr RawTH3I -> IO CString -foreign import ccall "HROOTHistTH3I.h TH3I_SetMarkerStyle" c_th3i_setmarkerstyle -  :: (Ptr RawTH3I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_IsA" c_th3i_isa ::+               Ptr RawTH3I -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH3I.h TH3I_SetMarkerSize" c_th3i_setmarkersize -  :: (Ptr RawTH3I) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_Paint" c_th3i_paint+               :: Ptr RawTH3I -> CString -> IO () -foreign import ccall "HROOTHistTH3I.h TH3I_delete" c_th3i_delete -  :: (Ptr RawTH3I) -> IO ()+foreign import ccall safe "HROOTHistTH3I.h TH3I_printObj"+               c_th3i_printobj :: Ptr RawTH3I -> CString -> IO () +foreign import ccall safe "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 safe "HROOTHistTH3I.h TH3I_delete"+               c_th3i_delete :: Ptr RawTH3I -> IO ()
src/HROOT/Hist/TH3I/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH3I.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH3I.RawType import HROOT.Hist.TH3I.FFI import HROOT.Hist.TH3I.Interface@@ -41,9 +42,9 @@ import HROOT.Core.TAtt3D.RawType import HROOT.Core.TAtt3D.Cast import HROOT.Core.TAtt3D.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -53,6 +54,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -60,381 +64,196 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH3I TH3I -instance ITH3I TH3I where instance ITH3 TH3I where-  fill3 = xform3 c_th3i_fill3-  fill3w = xform4 c_th3i_fill3w-  fitSlicesZ = xform7 c_th3i_fitslicesz-  getCorrelationFactor3 = xform2 c_th3i_getcorrelationfactor3-  getCovariance3 = xform2 c_th3i_getcovariance3-  rebinX3 = xform2 c_th3i_rebinx3-  rebinY3 = xform2 c_th3i_rebiny3-  rebinZ3 = xform2 c_th3i_rebinz3-  rebin3D = xform4 c_th3i_rebin3d-instance ITArrayI 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-  drawNormalized = xform2 c_th3i_drawnormalized-  drawPanelTH1 = xform0 c_th3i_drawpanelth1-  bufferEmpty = xform1 c_th3i_bufferempty-  evalF = xform2 c_th3i_evalf-  fFT = xform2 c_th3i_fft-  fill1 = xform1 c_th3i_fill1-  fill1w = xform2 c_th3i_fill1w-  fillN1 = xform4 c_th3i_filln1-  fillRandom = xform2 c_th3i_fillrandom-  findBin = xform3 c_th3i_findbin-  findFixBin = xform3 c_th3i_findfixbin-  findFirstBinAbove = xform2 c_th3i_findfirstbinabove-  findLastBinAbove = xform2 c_th3i_findlastbinabove-  fitPanelTH1 = xform0 c_th3i_fitpanelth1-  getNdivisionA = xform1 c_th3i_getndivisiona-  getAxisColorA = xform1 c_th3i_getaxiscolora-  getLabelColorA = xform1 c_th3i_getlabelcolora-  getLabelFontA = xform1 c_th3i_getlabelfonta-  getLabelOffsetA = xform1 c_th3i_getlabeloffseta-  getLabelSizeA = xform1 c_th3i_getlabelsizea-  getTitleFontA = xform1 c_th3i_gettitlefonta-  getTitleOffsetA = xform1 c_th3i_gettitleoffseta-  getTitleSizeA = xform1 c_th3i_gettitlesizea-  getTickLengthA = xform1 c_th3i_getticklengtha-  getBarOffset = xform0 c_th3i_getbaroffset-  getBarWidth = xform0 c_th3i_getbarwidth-  getContour = xform1 c_th3i_getcontour-  getContourLevel = xform1 c_th3i_getcontourlevel-  getContourLevelPad = xform1 c_th3i_getcontourlevelpad-  getBin = xform3 c_th3i_getbin-  getBinCenter = xform1 c_th3i_getbincenter-  getBinContent1 = xform1 c_th3i_getbincontent1-  getBinContent2 = xform2 c_th3i_getbincontent2-  getBinContent3 = xform3 c_th3i_getbincontent3-  getBinError1 = xform1 c_th3i_getbinerror1-  getBinError2 = xform2 c_th3i_getbinerror2-  getBinError3 = xform3 c_th3i_getbinerror3-  getBinLowEdge = xform1 c_th3i_getbinlowedge-  getBinWidth = xform1 c_th3i_getbinwidth-  getCellContent = xform2 c_th3i_getcellcontent-  getCellError = xform2 c_th3i_getcellerror-  getEntries = xform0 c_th3i_getentries-  getEffectiveEntries = xform0 c_th3i_geteffectiveentries-  getFunction = xform1 c_th3i_getfunction-  getDimension = xform0 c_th3i_getdimension-  getKurtosis = xform1 c_th3i_getkurtosis-  getLowEdge = xform1 c_th3i_getlowedge-  getMaximumTH1 = xform1 c_th3i_getmaximumth1-  getMaximumBin = xform0 c_th3i_getmaximumbin-  getMaximumStored = xform0 c_th3i_getmaximumstored-  getMinimumTH1 = xform1 c_th3i_getminimumth1-  getMinimumBin = xform0 c_th3i_getminimumbin-  getMinimumStored = xform0 c_th3i_getminimumstored-  getMean = xform1 c_th3i_getmean-  getMeanError = xform1 c_th3i_getmeanerror-  getNbinsX = xform0 c_th3i_getnbinsx-  getNbinsY = xform0 c_th3i_getnbinsy-  getNbinsZ = xform0 c_th3i_getnbinsz-  getQuantilesTH1 = xform3 c_th3i_getquantilesth1-  getRandom = xform0 c_th3i_getrandom-  getStats = xform1 c_th3i_getstats-  getSumOfWeights = xform0 c_th3i_getsumofweights-  getSumw2 = xform0 c_th3i_getsumw2-  getSumw2N = xform0 c_th3i_getsumw2n-  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-  labelsInflate = xform1 c_th3i_labelsinflate-  labelsOption = xform2 c_th3i_labelsoption-  multiflyF = xform2 c_th3i_multiflyf-  multiply = xform5 c_th3i_multiply-  putStats = xform1 c_th3i_putstats-  rebin = xform3 c_th3i_rebin-  rebinAxis = xform2 c_th3i_rebinaxis-  rebuild = xform1 c_th3i_rebuild-  recursiveRemove = xform1 c_th3i_recursiveremove-  reset = xform1 c_th3i_reset-  resetStats = xform0 c_th3i_resetstats-  scale = xform2 c_th3i_scale-  setAxisColorA = xform2 c_th3i_setaxiscolora-  setAxisRange = xform3 c_th3i_setaxisrange-  setBarOffset = xform1 c_th3i_setbaroffset-  setBarWidth = xform1 c_th3i_setbarwidth-  setBinContent1 = xform2 c_th3i_setbincontent1-  setBinContent2 = xform3 c_th3i_setbincontent2-  setBinContent3 = xform4 c_th3i_setbincontent3-  setBinError1 = xform2 c_th3i_setbinerror1-  setBinError2 = xform3 c_th3i_setbinerror2-  setBinError3 = xform4 c_th3i_setbinerror3-  setBins1 = xform2 c_th3i_setbins1-  setBins2 = xform4 c_th3i_setbins2-  setBins3 = xform6 c_th3i_setbins3-  setBinsLength = xform1 c_th3i_setbinslength-  setBuffer = xform2 c_th3i_setbuffer-  setCellContent = xform3 c_th3i_setcellcontent-  setContent = xform1 c_th3i_setcontent-  setContour = xform2 c_th3i_setcontour-  setContourLevel = xform2 c_th3i_setcontourlevel-  setDirectory = xform1 c_th3i_setdirectory-  setEntries = xform1 c_th3i_setentries-  setError = xform1 c_th3i_seterror-  setLabelColorA = xform2 c_th3i_setlabelcolora-  setLabelSizeA = xform2 c_th3i_setlabelsizea-  setLabelFontA = xform2 c_th3i_setlabelfonta-  setLabelOffsetA = xform2 c_th3i_setlabeloffseta-  setMaximum = xform1 c_th3i_setmaximum-  setMinimum = xform1 c_th3i_setminimum-  setNormFactor = xform1 c_th3i_setnormfactor-  setStats = xform1 c_th3i_setstats-  setOption = xform1 c_th3i_setoption-  setXTitle = xform1 c_th3i_setxtitle-  setYTitle = xform1 c_th3i_setytitle-  setZTitle = xform1 c_th3i_setztitle-  showBackground = xform2 c_th3i_showbackground-  showPeaks = xform3 c_th3i_showpeaks-  smooth = xform2 c_th3i_smooth-  sumw2 = xform0 c_th3i_sumw2-instance ITAtt3D TH3I where-instance ITObject TH3I where-  draw = xform1 c_th3i_draw-  findObject = xform1 c_th3i_findobject-  getName = xform0 c_th3i_getname-  isA = xform0 c_th3i_isa-  paint = xform1 c_th3i_paint-  printObj = xform1 c_th3i_printobj-  saveAs = xform2 c_th3i_saveas-  write = xform3 c_th3i_write-instance ITAttLine TH3I where-  getLineColor = xform0 c_th3i_getlinecolor-  getLineStyle = xform0 c_th3i_getlinestyle-  getLineWidth = xform0 c_th3i_getlinewidth-  resetAttLine = xform1 c_th3i_resetattline-  setLineAttributes = xform0 c_th3i_setlineattributes-  setLineColor = xform1 c_th3i_setlinecolor-  setLineStyle = xform1 c_th3i_setlinestyle-  setLineWidth = xform1 c_th3i_setlinewidth-instance ITAttFill TH3I where-  setFillColor = xform1 c_th3i_setfillcolor-  setFillStyle = xform1 c_th3i_setfillstyle-instance ITAttMarker TH3I where-  getMarkerColor = xform0 c_th3i_getmarkercolor-  getMarkerStyle = xform0 c_th3i_getmarkerstyle-  getMarkerSize = xform0 c_th3i_getmarkersize-  resetAttMarker = xform1 c_th3i_resetattmarker-  setMarkerAttributes = xform0 c_th3i_setmarkerattributes-  setMarkerColor = xform1 c_th3i_setmarkercolor-  setMarkerStyle = xform1 c_th3i_setmarkerstyle-  setMarkerSize = xform1 c_th3i_setmarkersize-instance IDeletable TH3I where-  delete = xform0 c_th3i_delete-instance ITArray TH3I where--instance ITH3I (Exist TH3I) where--instance ITH3 (Exist TH3I) where-  fill3 (ETH3I x) = fill3 x-  fill3w (ETH3I x) = fill3w x-  fitSlicesZ (ETH3I x) = fitSlicesZ x-  getCorrelationFactor3 (ETH3I x) = getCorrelationFactor3 x-  getCovariance3 (ETH3I x) = getCovariance3 x-  rebinX3 (ETH3I x) = rebinX3 x-  rebinY3 (ETH3I x) = rebinY3 x-  rebinZ3 (ETH3I x) = rebinZ3 x-  rebin3D (ETH3I x) = rebin3D x-instance ITArrayI (Exist TH3I) where+        fill3 = xform3 c_th3i_fill3+        fill3w = xform4 c_th3i_fill3w+        fitSlicesZ = xform7 c_th3i_fitslicesz+        getCorrelationFactor3 = xform2 c_th3i_getcorrelationfactor3+        getCovariance3 = xform2 c_th3i_getcovariance3+        rebinX3 = xform2 c_th3i_rebinx3+        rebinY3 = xform2 c_th3i_rebiny3+        rebinZ3 = xform2 c_th3i_rebinz3+        rebin3D = xform4 c_th3i_rebin3d -instance ITH1 (Exist TH3I) where-  add (ETH3I x) = add x-  addBinContent (ETH3I x) = addBinContent x-  chi2Test (ETH3I x) = chi2Test x-  computeIntegral (ETH3I x) = computeIntegral x-  directoryAutoAdd (ETH3I x) = directoryAutoAdd x-  divide (ETH3I x) = divide x-  drawCopyTH1 (ETH3I x) a1 = return . ETH3I =<< drawCopyTH1 x a1-  drawNormalized (ETH3I x) = drawNormalized x-  drawPanelTH1 (ETH3I x) = drawPanelTH1 x-  bufferEmpty (ETH3I x) = bufferEmpty x-  evalF (ETH3I x) = evalF x-  fFT (ETH3I x) = fFT x-  fill1 (ETH3I x) = fill1 x-  fill1w (ETH3I x) = fill1w x-  fillN1 (ETH3I x) = fillN1 x-  fillRandom (ETH3I x) = fillRandom x-  findBin (ETH3I x) = findBin x-  findFixBin (ETH3I x) = findFixBin x-  findFirstBinAbove (ETH3I x) = findFirstBinAbove x-  findLastBinAbove (ETH3I x) = findLastBinAbove x-  fitPanelTH1 (ETH3I x) = fitPanelTH1 x-  getNdivisionA (ETH3I x) = getNdivisionA x-  getAxisColorA (ETH3I x) = getAxisColorA x-  getLabelColorA (ETH3I x) = getLabelColorA x-  getLabelFontA (ETH3I x) = getLabelFontA x-  getLabelOffsetA (ETH3I x) = getLabelOffsetA x-  getLabelSizeA (ETH3I x) = getLabelSizeA x-  getTitleFontA (ETH3I x) = getTitleFontA x-  getTitleOffsetA (ETH3I x) = getTitleOffsetA x-  getTitleSizeA (ETH3I x) = getTitleSizeA x-  getTickLengthA (ETH3I x) = getTickLengthA x-  getBarOffset (ETH3I x) = getBarOffset x-  getBarWidth (ETH3I x) = getBarWidth x-  getContour (ETH3I x) = getContour x-  getContourLevel (ETH3I x) = getContourLevel x-  getContourLevelPad (ETH3I x) = getContourLevelPad x-  getBin (ETH3I x) = getBin x-  getBinCenter (ETH3I x) = getBinCenter x-  getBinContent1 (ETH3I x) = getBinContent1 x-  getBinContent2 (ETH3I x) = getBinContent2 x-  getBinContent3 (ETH3I x) = getBinContent3 x-  getBinError1 (ETH3I x) = getBinError1 x-  getBinError2 (ETH3I x) = getBinError2 x-  getBinError3 (ETH3I x) = getBinError3 x-  getBinLowEdge (ETH3I x) = getBinLowEdge x-  getBinWidth (ETH3I x) = getBinWidth x-  getCellContent (ETH3I x) = getCellContent x-  getCellError (ETH3I x) = getCellError x-  getEntries (ETH3I x) = getEntries x-  getEffectiveEntries (ETH3I x) = getEffectiveEntries x-  getFunction (ETH3I x) = getFunction x-  getDimension (ETH3I x) = getDimension x-  getKurtosis (ETH3I x) = getKurtosis x-  getLowEdge (ETH3I x) = getLowEdge x-  getMaximumTH1 (ETH3I x) = getMaximumTH1 x-  getMaximumBin (ETH3I x) = getMaximumBin x-  getMaximumStored (ETH3I x) = getMaximumStored x-  getMinimumTH1 (ETH3I x) = getMinimumTH1 x-  getMinimumBin (ETH3I x) = getMinimumBin x-  getMinimumStored (ETH3I x) = getMinimumStored x-  getMean (ETH3I x) = getMean x-  getMeanError (ETH3I x) = getMeanError x-  getNbinsX (ETH3I x) = getNbinsX x-  getNbinsY (ETH3I x) = getNbinsY x-  getNbinsZ (ETH3I x) = getNbinsZ x-  getQuantilesTH1 (ETH3I x) = getQuantilesTH1 x-  getRandom (ETH3I x) = getRandom x-  getStats (ETH3I x) = getStats x-  getSumOfWeights (ETH3I x) = getSumOfWeights x-  getSumw2 (ETH3I x) = getSumw2 x-  getSumw2N (ETH3I x) = getSumw2N x-  getRMS (ETH3I x) = getRMS x-  getRMSError (ETH3I x) = getRMSError x-  getSkewness (ETH3I x) = getSkewness x-  integral1 (ETH3I x) = integral1 x-  interpolate1 (ETH3I x) = interpolate1 x-  interpolate2 (ETH3I x) = interpolate2 x-  interpolate3 (ETH3I x) = interpolate3 x-  kolmogorovTest (ETH3I x) = kolmogorovTest x-  labelsDeflate (ETH3I x) = labelsDeflate x-  labelsInflate (ETH3I x) = labelsInflate x-  labelsOption (ETH3I x) = labelsOption x-  multiflyF (ETH3I x) = multiflyF x-  multiply (ETH3I x) = multiply x-  putStats (ETH3I x) = putStats x-  rebin (ETH3I x) = rebin x-  rebinAxis (ETH3I x) = rebinAxis x-  rebuild (ETH3I x) = rebuild x-  recursiveRemove (ETH3I x) = recursiveRemove x-  reset (ETH3I x) = reset x-  resetStats (ETH3I x) = resetStats x-  scale (ETH3I x) = scale x-  setAxisColorA (ETH3I x) = setAxisColorA x-  setAxisRange (ETH3I x) = setAxisRange x-  setBarOffset (ETH3I x) = setBarOffset x-  setBarWidth (ETH3I x) = setBarWidth x-  setBinContent1 (ETH3I x) = setBinContent1 x-  setBinContent2 (ETH3I x) = setBinContent2 x-  setBinContent3 (ETH3I x) = setBinContent3 x-  setBinError1 (ETH3I x) = setBinError1 x-  setBinError2 (ETH3I x) = setBinError2 x-  setBinError3 (ETH3I x) = setBinError3 x-  setBins1 (ETH3I x) = setBins1 x-  setBins2 (ETH3I x) = setBins2 x-  setBins3 (ETH3I x) = setBins3 x-  setBinsLength (ETH3I x) = setBinsLength x-  setBuffer (ETH3I x) = setBuffer x-  setCellContent (ETH3I x) = setCellContent x-  setContent (ETH3I x) = setContent x-  setContour (ETH3I x) = setContour x-  setContourLevel (ETH3I x) = setContourLevel x-  setDirectory (ETH3I x) = setDirectory x-  setEntries (ETH3I x) = setEntries x-  setError (ETH3I x) = setError x-  setLabelColorA (ETH3I x) = setLabelColorA x-  setLabelSizeA (ETH3I x) = setLabelSizeA x-  setLabelFontA (ETH3I x) = setLabelFontA x-  setLabelOffsetA (ETH3I x) = setLabelOffsetA x-  setMaximum (ETH3I x) = setMaximum x-  setMinimum (ETH3I x) = setMinimum x-  setNormFactor (ETH3I x) = setNormFactor x-  setStats (ETH3I x) = setStats x-  setOption (ETH3I x) = setOption x-  setXTitle (ETH3I x) = setXTitle x-  setYTitle (ETH3I x) = setYTitle x-  setZTitle (ETH3I x) = setZTitle x-  showBackground (ETH3I x) = showBackground x-  showPeaks (ETH3I x) = showPeaks x-  smooth (ETH3I x) = smooth x-  sumw2 (ETH3I x) = sumw2 x-instance ITAtt3D (Exist TH3I) where+instance ITArrayI TH3I -instance ITObject (Exist TH3I) where-  draw (ETH3I x) = draw x-  findObject (ETH3I x) = findObject x-  getName (ETH3I x) = getName x-  isA (ETH3I x) = isA x-  paint (ETH3I x) = paint x-  printObj (ETH3I x) = printObj x-  saveAs (ETH3I x) = saveAs x-  write (ETH3I x) = write x-instance ITAttLine (Exist TH3I) where-  getLineColor (ETH3I x) = getLineColor x-  getLineStyle (ETH3I x) = getLineStyle x-  getLineWidth (ETH3I x) = getLineWidth x-  resetAttLine (ETH3I x) = resetAttLine x-  setLineAttributes (ETH3I x) = setLineAttributes x-  setLineColor (ETH3I x) = setLineColor x-  setLineStyle (ETH3I x) = setLineStyle x-  setLineWidth (ETH3I x) = setLineWidth x-instance ITAttFill (Exist TH3I) where-  setFillColor (ETH3I x) = setFillColor x-  setFillStyle (ETH3I x) = setFillStyle x-instance ITAttMarker (Exist TH3I) where-  getMarkerColor (ETH3I x) = getMarkerColor x-  getMarkerStyle (ETH3I x) = getMarkerStyle x-  getMarkerSize (ETH3I x) = getMarkerSize x-  resetAttMarker (ETH3I x) = resetAttMarker x-  setMarkerAttributes (ETH3I x) = setMarkerAttributes x-  setMarkerColor (ETH3I x) = setMarkerColor x-  setMarkerStyle (ETH3I x) = setMarkerStyle x-  setMarkerSize (ETH3I x) = setMarkerSize x-instance IDeletable (Exist TH3I) where-  delete (ETH3I x) = delete x-instance ITArray (Exist 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+        drawNormalized = xform2 c_th3i_drawnormalized+        drawPanelTH1 = xform0 c_th3i_drawpanelth1+        bufferEmpty = xform1 c_th3i_bufferempty+        evalF = xform2 c_th3i_evalf+        fFT = xform2 c_th3i_fft+        fill1 = xform1 c_th3i_fill1+        fill1w = xform2 c_th3i_fill1w+        fillN1 = xform4 c_th3i_filln1+        fillRandom = xform2 c_th3i_fillrandom+        findBin = xform3 c_th3i_findbin+        findFixBin = xform3 c_th3i_findfixbin+        findFirstBinAbove = xform2 c_th3i_findfirstbinabove+        findLastBinAbove = xform2 c_th3i_findlastbinabove+        fit = xform5 c_th3i_fit+        fitPanelTH1 = xform0 c_th3i_fitpanelth1+        getNdivisionA = xform1 c_th3i_getndivisiona+        getAxisColorA = xform1 c_th3i_getaxiscolora+        getLabelColorA = xform1 c_th3i_getlabelcolora+        getLabelFontA = xform1 c_th3i_getlabelfonta+        getLabelOffsetA = xform1 c_th3i_getlabeloffseta+        getLabelSizeA = xform1 c_th3i_getlabelsizea+        getTitleFontA = xform1 c_th3i_gettitlefonta+        getTitleOffsetA = xform1 c_th3i_gettitleoffseta+        getTitleSizeA = xform1 c_th3i_gettitlesizea+        getTickLengthA = xform1 c_th3i_getticklengtha+        getBarOffset = xform0 c_th3i_getbaroffset+        getBarWidth = xform0 c_th3i_getbarwidth+        getContour = xform1 c_th3i_getcontour+        getContourLevel = xform1 c_th3i_getcontourlevel+        getContourLevelPad = xform1 c_th3i_getcontourlevelpad+        getBin = xform3 c_th3i_getbin+        getBinCenter = xform1 c_th3i_getbincenter+        getBinContent1 = xform1 c_th3i_getbincontent1+        getBinContent2 = xform2 c_th3i_getbincontent2+        getBinContent3 = xform3 c_th3i_getbincontent3+        getBinError1 = xform1 c_th3i_getbinerror1+        getBinError2 = xform2 c_th3i_getbinerror2+        getBinError3 = xform3 c_th3i_getbinerror3+        getBinLowEdge = xform1 c_th3i_getbinlowedge+        getBinWidth = xform1 c_th3i_getbinwidth+        getCellContent = xform2 c_th3i_getcellcontent+        getCellError = xform2 c_th3i_getcellerror+        getEntries = xform0 c_th3i_getentries+        getEffectiveEntries = xform0 c_th3i_geteffectiveentries+        getFunction = xform1 c_th3i_getfunction+        getDimension = xform0 c_th3i_getdimension+        getKurtosis = xform1 c_th3i_getkurtosis+        getLowEdge = xform1 c_th3i_getlowedge+        getMaximumTH1 = xform1 c_th3i_getmaximumth1+        getMaximumBin = xform0 c_th3i_getmaximumbin+        getMaximumStored = xform0 c_th3i_getmaximumstored+        getMinimumTH1 = xform1 c_th3i_getminimumth1+        getMinimumBin = xform0 c_th3i_getminimumbin+        getMinimumStored = xform0 c_th3i_getminimumstored+        getMean = xform1 c_th3i_getmean+        getMeanError = xform1 c_th3i_getmeanerror+        getNbinsX = xform0 c_th3i_getnbinsx+        getNbinsY = xform0 c_th3i_getnbinsy+        getNbinsZ = xform0 c_th3i_getnbinsz+        getQuantilesTH1 = xform3 c_th3i_getquantilesth1+        getRandom = xform0 c_th3i_getrandom+        getStats = xform1 c_th3i_getstats+        getSumOfWeights = xform0 c_th3i_getsumofweights+        getSumw2 = xform0 c_th3i_getsumw2+        getSumw2N = xform0 c_th3i_getsumw2n+        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+        labelsInflate = xform1 c_th3i_labelsinflate+        labelsOption = xform2 c_th3i_labelsoption+        multiflyF = xform2 c_th3i_multiflyf+        multiply = xform5 c_th3i_multiply+        putStats = xform1 c_th3i_putstats+        rebin = xform3 c_th3i_rebin+        rebinAxis = xform2 c_th3i_rebinaxis+        rebuild = xform1 c_th3i_rebuild+        recursiveRemove = xform1 c_th3i_recursiveremove+        reset = xform1 c_th3i_reset+        resetStats = xform0 c_th3i_resetstats+        scale = xform2 c_th3i_scale+        setAxisColorA = xform2 c_th3i_setaxiscolora+        setAxisRange = xform3 c_th3i_setaxisrange+        setBarOffset = xform1 c_th3i_setbaroffset+        setBarWidth = xform1 c_th3i_setbarwidth+        setBinContent1 = xform2 c_th3i_setbincontent1+        setBinContent2 = xform3 c_th3i_setbincontent2+        setBinContent3 = xform4 c_th3i_setbincontent3+        setBinError1 = xform2 c_th3i_setbinerror1+        setBinError2 = xform3 c_th3i_setbinerror2+        setBinError3 = xform4 c_th3i_setbinerror3+        setBins1 = xform2 c_th3i_setbins1+        setBins2 = xform4 c_th3i_setbins2+        setBins3 = xform6 c_th3i_setbins3+        setBinsLength = xform1 c_th3i_setbinslength+        setBuffer = xform2 c_th3i_setbuffer+        setCellContent = xform3 c_th3i_setcellcontent+        setContent = xform1 c_th3i_setcontent+        setContour = xform2 c_th3i_setcontour+        setContourLevel = xform2 c_th3i_setcontourlevel+        setDirectory = xform1 c_th3i_setdirectory+        setEntries = xform1 c_th3i_setentries+        setError = xform1 c_th3i_seterror+        setLabelColorA = xform2 c_th3i_setlabelcolora+        setLabelSizeA = xform2 c_th3i_setlabelsizea+        setLabelFontA = xform2 c_th3i_setlabelfonta+        setLabelOffsetA = xform2 c_th3i_setlabeloffseta+        setMaximum = xform1 c_th3i_setmaximum+        setMinimum = xform1 c_th3i_setminimum+        setNormFactor = xform1 c_th3i_setnormfactor+        setStats = xform1 c_th3i_setstats+        setOption = xform1 c_th3i_setoption+        setXTitle = xform1 c_th3i_setxtitle+        setYTitle = xform1 c_th3i_setytitle+        setZTitle = xform1 c_th3i_setztitle+        showBackground = xform2 c_th3i_showbackground+        showPeaks = xform3 c_th3i_showpeaks+        smooth = xform2 c_th3i_smooth+        sumw2 = xform0 c_th3i_sumw2 +instance ITAtt3D TH3I +instance ITNamed TH3I where+        setName = xform1 c_th3i_setname+        setNameTitle = xform2 c_th3i_setnametitle+        setTitle = xform1 c_th3i_settitle +instance ITAttLine TH3I where+        getLineColor = xform0 c_th3i_getlinecolor+        getLineStyle = xform0 c_th3i_getlinestyle+        getLineWidth = xform0 c_th3i_getlinewidth+        resetAttLine = xform1 c_th3i_resetattline+        setLineAttributes = xform0 c_th3i_setlineattributes+        setLineColor = xform1 c_th3i_setlinecolor+        setLineStyle = xform1 c_th3i_setlinestyle+        setLineWidth = xform1 c_th3i_setlinewidth +instance ITAttFill TH3I where+        setFillColor = xform1 c_th3i_setfillcolor+        setFillStyle = xform1 c_th3i_setfillstyle +instance ITAttMarker TH3I where+        getMarkerColor = xform0 c_th3i_getmarkercolor+        getMarkerStyle = xform0 c_th3i_getmarkerstyle+        getMarkerSize = xform0 c_th3i_getmarkersize+        resetAttMarker = xform1 c_th3i_resetattmarker+        setMarkerAttributes = xform0 c_th3i_setmarkerattributes+        setMarkerColor = xform1 c_th3i_setmarkercolor+        setMarkerStyle = xform1 c_th3i_setmarkerstyle+        setMarkerSize = xform1 c_th3i_setmarkersize +instance ITObject TH3I where+        draw = xform1 c_th3i_draw+        findObject = xform1 c_th3i_findobject+        getName = xform0 c_th3i_getname+        isA = xform0 c_th3i_isa+        paint = xform1 c_th3i_paint+        printObj = xform1 c_th3i_printobj+        saveAs = xform2 c_th3i_saveas+        write = xform3 c_th3i_write +instance IDeletable TH3I where+        delete = xform0 c_th3i_delete -instance FPtr (Exist TH3I) where-  type Raw (Exist TH3I) = RawTH3I-  get_fptr (ETH3I obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH3I (cast_fptr_to_obj (fptr :: ForeignPtr RawTH3I) :: TH3I)+instance ITArray TH3I
src/HROOT/Hist/TH3I/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH3I.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH3I.RawType- import HROOT.Hist.TH3.Interface import HROOT.Core.TArrayI.Interface----- ============ ---- ---class (ITH3 a,ITArrayI a) => ITH3I a where--instance Existable TH3I where-  data Exist TH3I = forall a. (FPtr a, ITH3I a) => ETH3I a+class (ITH3 a, ITArrayI a) => ITH3I a -upcastTH3I :: (FPtr a, ITH3I a) => a -> TH3I-upcastTH3I h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH3I = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH3I :: forall a . (FPtr a, ITH3I a) => a -> TH3I+upcastTH3I h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH3I = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH3I :: (FPtr a, ITH3I a) => TH3I -> a -downcastTH3I h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH3I :: forall a . (FPtr a, ITH3I a) => TH3I -> a+downcastTH3I h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH3I/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH3I.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH3I -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH3I = TH3I (Ptr RawTH3I)+             deriving (Eq, Ord, Show) -data RawTH3I-newtype TH3I = TH3I (ForeignPtr RawTH3I) deriving (Eq, Ord, Show) instance FPtr TH3I where-   type Raw TH3I = RawTH3I-   get_fptr (TH3I fptr) = fptr-   cast_fptr_to_obj = TH3I+        type Raw TH3I = RawTH3I+        get_fptr (TH3I ptr) = ptr+        cast_fptr_to_obj = TH3I
src/HROOT/Hist/TH3S.hs view
@@ -1,15 +1,5 @@-module HROOT.Hist.TH3S-  (-    TH3S(..)-  , ITH3S-  , upcastTH3S-  , downcastTH3S-- -  ) where-+module HROOT.Hist.TH3S (TH3S(..), ITH3S, upcastTH3S, downcastTH3S)+       where import HROOT.Hist.TH3S.RawType import HROOT.Hist.TH3S.Interface import HROOT.Hist.TH3S.Implementation--
src/HROOT/Hist/TH3S/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.TH3S.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.TH3S.RawType import HROOT.Hist.TH3S.Interface  instance (ITH3S a, FPtr a) => Castable a (Ptr RawTH3S) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable TH3S (Ptr RawTH3S) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,17 +1,7 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.TH3S.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.TH3S.RawType import HROOT.Hist.TH1D.RawType import HROOT.Hist.TH1.RawType@@ -23,503 +13,558 @@ import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTH3S.h"+foreign import ccall safe "HROOTHistTH3S.h TH3S_fill3" c_th3s_fill3+               :: Ptr RawTH3S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_fill3" c_th3s_fill3 -  :: (Ptr RawTH3S) -> CDouble -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_fill3w"+               c_th3s_fill3w ::+               Ptr RawTH3S -> CDouble -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH3S ->+                 Ptr RawTF1 ->+                   CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_FitSlicesZ" c_th3s_fitslicesz -  :: (Ptr RawTH3S) -> (Ptr RawTF1) -> CInt -> CInt -> CInt -> CInt -> CInt -> CString -> IO ()+foreign import ccall safe+               "HROOTHistTH3S.h TH3S_getCorrelationFactor3"+               c_th3s_getcorrelationfactor3 ::+               Ptr RawTH3S -> CInt -> CInt -> IO CDouble -foreign import ccall "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 "HROOTHistTH3S.h TH3S_getCovariance3" c_th3s_getcovariance3 -  :: (Ptr RawTH3S) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_rebinX3"+               c_th3s_rebinx3 :: Ptr RawTH3S -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3S.h TH3S_rebinX3" c_th3s_rebinx3 -  :: (Ptr RawTH3S) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3S.h TH3S_rebinY3"+               c_th3s_rebiny3 :: Ptr RawTH3S -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3S.h TH3S_rebinY3" c_th3s_rebiny3 -  :: (Ptr RawTH3S) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3S.h TH3S_rebinZ3"+               c_th3s_rebinz3 :: Ptr RawTH3S -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "HROOTHistTH3S.h TH3S_rebinZ3" c_th3s_rebinz3 -  :: (Ptr RawTH3S) -> CInt -> CString -> IO (Ptr RawTH3)+foreign import ccall safe "HROOTHistTH3S.h TH3S_Rebin3D"+               c_th3s_rebin3d ::+               Ptr RawTH3S -> CInt -> CInt -> CInt -> CString -> IO (Ptr RawTH3) -foreign import ccall "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 "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 "HROOTHistTH3S.h TH3S_AddBinContent" c_th3s_addbincontent -  :: (Ptr RawTH3S) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_Chi2Test"+               c_th3s_chi2test ::+               Ptr RawTH3S -> Ptr RawTH1 -> CString -> (Ptr CDouble) -> IO CDouble -foreign import ccall "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 -foreign import ccall "HROOTHistTH3S.h TH3S_ComputeIntegral" c_th3s_computeintegral -  :: (Ptr RawTH3S) -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_DirectoryAutoAdd"+               c_th3s_directoryautoadd ::+               Ptr RawTH3S -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_DirectoryAutoAdd" c_th3s_directoryautoadd -  :: (Ptr RawTH3S) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_Divide"+               c_th3s_divide ::+               Ptr RawTH3S ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "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 "HROOTHistTH3S.h TH3S_drawCopyTH1" c_th3s_drawcopyth1 -  :: (Ptr RawTH3S) -> CString -> IO (Ptr RawTH3S)+foreign import ccall safe "HROOTHistTH3S.h TH3S_DrawNormalized"+               c_th3s_drawnormalized ::+               Ptr RawTH3S -> CString -> CDouble -> IO (Ptr RawTH1) -foreign import ccall "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 "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 "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 "HROOTHistTH3S.h TH3S_evalF" c_th3s_evalf -  :: (Ptr RawTH3S) -> (Ptr RawTF1) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_FFT" c_th3s_fft ::+               Ptr RawTH3S -> Ptr RawTH1 -> CString -> IO (Ptr RawTH1) -foreign import ccall "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 "HROOTHistTH3S.h TH3S_fill1" c_th3s_fill1 -  :: (Ptr RawTH3S) -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_fill1w"+               c_th3s_fill1w :: Ptr RawTH3S -> CDouble -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_fill1w" c_th3s_fill1w -  :: (Ptr RawTH3S) -> CDouble -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_fillN1"+               c_th3s_filln1 ::+               Ptr RawTH3S ->+                 CInt -> (Ptr CDouble) -> (Ptr CDouble) -> CInt -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_fillN1" c_th3s_filln1 -  :: (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 "HROOTHistTH3S.h TH3S_FillRandom" c_th3s_fillrandom -  :: (Ptr RawTH3S) -> (Ptr RawTH1) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_FindBin"+               c_th3s_findbin ::+               Ptr RawTH3S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 ::+               Ptr RawTH3S -> CDouble -> CDouble -> CDouble -> IO CInt -foreign import ccall "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 "HROOTHistTH3S.h TH3S_FindFirstBinAbove" c_th3s_findfirstbinabove -  :: (Ptr RawTH3S) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_FindLastBinAbove"+               c_th3s_findlastbinabove ::+               Ptr RawTH3S -> CDouble -> CInt -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_FindLastBinAbove" c_th3s_findlastbinabove -  :: (Ptr RawTH3S) -> CDouble -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_Fit" c_th3s_fit ::+               Ptr RawTH3S ->+                 Ptr RawTF1 -> CString -> CString -> CDouble -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_FitPanelTH1" c_th3s_fitpanelth1 -  :: (Ptr RawTH3S) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_FitPanelTH1"+               c_th3s_fitpanelth1 :: Ptr RawTH3S -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_getNdivisionA" c_th3s_getndivisiona -  :: (Ptr RawTH3S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_getNdivisionA"+               c_th3s_getndivisiona :: Ptr RawTH3S -> CString -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_getAxisColorA" c_th3s_getaxiscolora -  :: (Ptr RawTH3S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_getAxisColorA"+               c_th3s_getaxiscolora :: Ptr RawTH3S -> CString -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_getLabelColorA" c_th3s_getlabelcolora -  :: (Ptr RawTH3S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_getLabelColorA"+               c_th3s_getlabelcolora :: Ptr RawTH3S -> CString -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_getLabelFontA" c_th3s_getlabelfonta -  :: (Ptr RawTH3S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_getLabelFontA"+               c_th3s_getlabelfonta :: Ptr RawTH3S -> CString -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_getLabelOffsetA" c_th3s_getlabeloffseta -  :: (Ptr RawTH3S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_getLabelOffsetA"+               c_th3s_getlabeloffseta :: Ptr RawTH3S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_getLabelSizeA" c_th3s_getlabelsizea -  :: (Ptr RawTH3S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_getLabelSizeA"+               c_th3s_getlabelsizea :: Ptr RawTH3S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_getTitleFontA" c_th3s_gettitlefonta -  :: (Ptr RawTH3S) -> CString -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_getTitleFontA"+               c_th3s_gettitlefonta :: Ptr RawTH3S -> CString -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_getTitleOffsetA" c_th3s_gettitleoffseta -  :: (Ptr RawTH3S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_getTitleOffsetA"+               c_th3s_gettitleoffseta :: Ptr RawTH3S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_getTitleSizeA" c_th3s_gettitlesizea -  :: (Ptr RawTH3S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_getTitleSizeA"+               c_th3s_gettitlesizea :: Ptr RawTH3S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_getTickLengthA" c_th3s_getticklengtha -  :: (Ptr RawTH3S) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_getTickLengthA"+               c_th3s_getticklengtha :: Ptr RawTH3S -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetBarOffset" c_th3s_getbaroffset -  :: (Ptr RawTH3S) -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBarOffset"+               c_th3s_getbaroffset :: Ptr RawTH3S -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetBarWidth" c_th3s_getbarwidth -  :: (Ptr RawTH3S) -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBarWidth"+               c_th3s_getbarwidth :: Ptr RawTH3S -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetContour" c_th3s_getcontour -  :: (Ptr RawTH3S) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetContour"+               c_th3s_getcontour :: Ptr RawTH3S -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_GetContourLevel" c_th3s_getcontourlevel -  :: (Ptr RawTH3S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetContourLevel"+               c_th3s_getcontourlevel :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetContourLevelPad" c_th3s_getcontourlevelpad -  :: (Ptr RawTH3S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetContourLevelPad"+               c_th3s_getcontourlevelpad :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetBin" c_th3s_getbin -  :: (Ptr RawTH3S) -> CInt -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBin"+               c_th3s_getbin :: Ptr RawTH3S -> CInt -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_GetBinCenter" c_th3s_getbincenter -  :: (Ptr RawTH3S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinCenter"+               c_th3s_getbincenter :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetBinContent1" c_th3s_getbincontent1 -  :: (Ptr RawTH3S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinContent1"+               c_th3s_getbincontent1 :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetBinContent2" c_th3s_getbincontent2 -  :: (Ptr RawTH3S) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinContent2"+               c_th3s_getbincontent2 :: Ptr RawTH3S -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetBinContent3" c_th3s_getbincontent3 -  :: (Ptr RawTH3S) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinContent3"+               c_th3s_getbincontent3 ::+               Ptr RawTH3S -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetBinError1" c_th3s_getbinerror1 -  :: (Ptr RawTH3S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinError1"+               c_th3s_getbinerror1 :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetBinError2" c_th3s_getbinerror2 -  :: (Ptr RawTH3S) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinError2"+               c_th3s_getbinerror2 :: Ptr RawTH3S -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetBinError3" c_th3s_getbinerror3 -  :: (Ptr RawTH3S) -> CInt -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinError3"+               c_th3s_getbinerror3 ::+               Ptr RawTH3S -> CInt -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetBinLowEdge" c_th3s_getbinlowedge -  :: (Ptr RawTH3S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinLowEdge"+               c_th3s_getbinlowedge :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetBinWidth" c_th3s_getbinwidth -  :: (Ptr RawTH3S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetBinWidth"+               c_th3s_getbinwidth :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetCellContent" c_th3s_getcellcontent -  :: (Ptr RawTH3S) -> CInt -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetCellContent"+               c_th3s_getcellcontent :: Ptr RawTH3S -> CInt -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetCellError" c_th3s_getcellerror -  :: (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 "HROOTHistTH3S.h TH3S_GetEntries" c_th3s_getentries -  :: (Ptr RawTH3S) -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetEntries"+               c_th3s_getentries :: Ptr RawTH3S -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetEffectiveEntries" c_th3s_geteffectiveentries -  :: (Ptr RawTH3S) -> IO CDouble+foreign import ccall safe+               "HROOTHistTH3S.h TH3S_GetEffectiveEntries"+               c_th3s_geteffectiveentries :: Ptr RawTH3S -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetFunction" c_th3s_getfunction -  :: (Ptr RawTH3S) -> CString -> IO (Ptr RawTF1)+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetFunction"+               c_th3s_getfunction :: Ptr RawTH3S -> CString -> IO (Ptr RawTF1) -foreign import ccall "HROOTHistTH3S.h TH3S_GetDimension" c_th3s_getdimension -  :: (Ptr RawTH3S) -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetDimension"+               c_th3s_getdimension :: Ptr RawTH3S -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_GetKurtosis" c_th3s_getkurtosis -  :: (Ptr RawTH3S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetKurtosis"+               c_th3s_getkurtosis :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetLowEdge" c_th3s_getlowedge -  :: (Ptr RawTH3S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetLowEdge"+               c_th3s_getlowedge :: Ptr RawTH3S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_getMaximumTH1" c_th3s_getmaximumth1 -  :: (Ptr RawTH3S) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_getMaximumTH1"+               c_th3s_getmaximumth1 :: Ptr RawTH3S -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetMaximumBin" c_th3s_getmaximumbin -  :: (Ptr RawTH3S) -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMaximumBin"+               c_th3s_getmaximumbin :: Ptr RawTH3S -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_GetMaximumStored" c_th3s_getmaximumstored -  :: (Ptr RawTH3S) -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMaximumStored"+               c_th3s_getmaximumstored :: Ptr RawTH3S -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_getMinimumTH1" c_th3s_getminimumth1 -  :: (Ptr RawTH3S) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_getMinimumTH1"+               c_th3s_getminimumth1 :: Ptr RawTH3S -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetMinimumBin" c_th3s_getminimumbin -  :: (Ptr RawTH3S) -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMinimumBin"+               c_th3s_getminimumbin :: Ptr RawTH3S -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_GetMinimumStored" c_th3s_getminimumstored -  :: (Ptr RawTH3S) -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMinimumStored"+               c_th3s_getminimumstored :: Ptr RawTH3S -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetMean" c_th3s_getmean -  :: (Ptr RawTH3S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMean"+               c_th3s_getmean :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetMeanError" c_th3s_getmeanerror -  :: (Ptr RawTH3S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMeanError"+               c_th3s_getmeanerror :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetNbinsX" c_th3s_getnbinsx -  :: (Ptr RawTH3S) -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetNbinsX"+               c_th3s_getnbinsx :: Ptr RawTH3S -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetNbinsY" c_th3s_getnbinsy -  :: (Ptr RawTH3S) -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetNbinsY"+               c_th3s_getnbinsy :: Ptr RawTH3S -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetNbinsZ" c_th3s_getnbinsz -  :: (Ptr RawTH3S) -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetNbinsZ"+               c_th3s_getnbinsz :: Ptr RawTH3S -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_getQuantilesTH1" c_th3s_getquantilesth1 -  :: (Ptr RawTH3S) -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_getQuantilesTH1"+               c_th3s_getquantilesth1 ::+               Ptr RawTH3S -> CInt -> (Ptr CDouble) -> (Ptr CDouble) -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_GetRandom" c_th3s_getrandom -  :: (Ptr RawTH3S) -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetRandom"+               c_th3s_getrandom :: Ptr RawTH3S -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetStats" c_th3s_getstats -  :: (Ptr RawTH3S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetStats"+               c_th3s_getstats :: Ptr RawTH3S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_GetSumOfWeights" c_th3s_getsumofweights -  :: (Ptr RawTH3S) -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetSumOfWeights"+               c_th3s_getsumofweights :: Ptr RawTH3S -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetSumw2" c_th3s_getsumw2 -  :: (Ptr RawTH3S) -> IO (Ptr RawTArrayD)+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetSumw2"+               c_th3s_getsumw2 :: Ptr RawTH3S -> IO (Ptr RawTArrayD) -foreign import ccall "HROOTHistTH3S.h TH3S_GetSumw2N" c_th3s_getsumw2n -  :: (Ptr RawTH3S) -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetSumw2N"+               c_th3s_getsumw2n :: Ptr RawTH3S -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_GetRMS" c_th3s_getrms -  :: (Ptr RawTH3S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetRMS"+               c_th3s_getrms :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetRMSError" c_th3s_getrmserror -  :: (Ptr RawTH3S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetRMSError"+               c_th3s_getrmserror :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_GetSkewness" c_th3s_getskewness -  :: (Ptr RawTH3S) -> CInt -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetSkewness"+               c_th3s_getskewness :: Ptr RawTH3S -> CInt -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_integral1" c_th3s_integral1 -  :: (Ptr RawTH3S) -> CInt -> CInt -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_integral1"+               c_th3s_integral1 ::+               Ptr RawTH3S -> CInt -> CInt -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_interpolate1" c_th3s_interpolate1 -  :: (Ptr RawTH3S) -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_interpolate1"+               c_th3s_interpolate1 :: Ptr RawTH3S -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_interpolate2" c_th3s_interpolate2 -  :: (Ptr RawTH3S) -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_interpolate2"+               c_th3s_interpolate2 ::+               Ptr RawTH3S -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_interpolate3" c_th3s_interpolate3 -  :: (Ptr RawTH3S) -> CDouble -> CDouble -> CDouble -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_interpolate3"+               c_th3s_interpolate3 ::+               Ptr RawTH3S -> CDouble -> CDouble -> CDouble -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_KolmogorovTest" c_th3s_kolmogorovtest -  :: (Ptr RawTH3S) -> (Ptr RawTH1) -> CString -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_KolmogorovTest"+               c_th3s_kolmogorovtest ::+               Ptr RawTH3S -> Ptr RawTH1 -> CString -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_LabelsDeflate" c_th3s_labelsdeflate -  :: (Ptr RawTH3S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_LabelsDeflate"+               c_th3s_labelsdeflate :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_LabelsInflate" c_th3s_labelsinflate -  :: (Ptr RawTH3S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_LabelsInflate"+               c_th3s_labelsinflate :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_LabelsOption" c_th3s_labelsoption -  :: (Ptr RawTH3S) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_LabelsOption"+               c_th3s_labelsoption :: Ptr RawTH3S -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_multiflyF" c_th3s_multiflyf -  :: (Ptr RawTH3S) -> (Ptr RawTF1) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_multiflyF"+               c_th3s_multiflyf :: Ptr RawTH3S -> Ptr RawTF1 -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_Multiply" c_th3s_multiply -  :: (Ptr RawTH3S) -> (Ptr RawTH1) -> (Ptr RawTH1) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_Multiply"+               c_th3s_multiply ::+               Ptr RawTH3S ->+                 Ptr RawTH1 -> Ptr RawTH1 -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_PutStats" c_th3s_putstats -  :: (Ptr RawTH3S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_PutStats"+               c_th3s_putstats :: Ptr RawTH3S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_Rebin" c_th3s_rebin -  :: (Ptr RawTH3S) -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH3S.h TH3S_Rebin" c_th3s_rebin+               ::+               Ptr RawTH3S -> CInt -> CString -> (Ptr CDouble) -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH3S.h TH3S_RebinAxis" c_th3s_rebinaxis -  :: (Ptr RawTH3S) -> CDouble -> (Ptr RawTAxis) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_RebinAxis"+               c_th3s_rebinaxis :: Ptr RawTH3S -> CDouble -> Ptr RawTAxis -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_Rebuild" c_th3s_rebuild -  :: (Ptr RawTH3S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_Rebuild"+               c_th3s_rebuild :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_RecursiveRemove" c_th3s_recursiveremove -  :: (Ptr RawTH3S) -> (Ptr RawTObject) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_RecursiveRemove"+               c_th3s_recursiveremove :: Ptr RawTH3S -> Ptr RawTObject -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_Reset" c_th3s_reset -  :: (Ptr RawTH3S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_Reset" c_th3s_reset+               :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_ResetStats" c_th3s_resetstats -  :: (Ptr RawTH3S) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_ResetStats"+               c_th3s_resetstats :: Ptr RawTH3S -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_Scale" c_th3s_scale -  :: (Ptr RawTH3S) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_Scale" c_th3s_scale+               :: Ptr RawTH3S -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setAxisColorA" c_th3s_setaxiscolora -  :: (Ptr RawTH3S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setAxisColorA"+               c_th3s_setaxiscolora :: Ptr RawTH3S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetAxisRange" c_th3s_setaxisrange -  :: (Ptr RawTH3S) -> CDouble -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetAxisRange"+               c_th3s_setaxisrange ::+               Ptr RawTH3S -> CDouble -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetBarOffset" c_th3s_setbaroffset -  :: (Ptr RawTH3S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetBarOffset"+               c_th3s_setbaroffset :: Ptr RawTH3S -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetBarWidth" c_th3s_setbarwidth -  :: (Ptr RawTH3S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetBarWidth"+               c_th3s_setbarwidth :: Ptr RawTH3S -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setBinContent1" c_th3s_setbincontent1 -  :: (Ptr RawTH3S) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setBinContent1"+               c_th3s_setbincontent1 :: Ptr RawTH3S -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setBinContent2" c_th3s_setbincontent2 -  :: (Ptr RawTH3S) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setBinContent2"+               c_th3s_setbincontent2 ::+               Ptr RawTH3S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setBinContent3" c_th3s_setbincontent3 -  :: (Ptr RawTH3S) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setBinContent3"+               c_th3s_setbincontent3 ::+               Ptr RawTH3S -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setBinError1" c_th3s_setbinerror1 -  :: (Ptr RawTH3S) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setBinError1"+               c_th3s_setbinerror1 :: Ptr RawTH3S -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setBinError2" c_th3s_setbinerror2 -  :: (Ptr RawTH3S) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setBinError2"+               c_th3s_setbinerror2 ::+               Ptr RawTH3S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setBinError3" c_th3s_setbinerror3 -  :: (Ptr RawTH3S) -> CInt -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setBinError3"+               c_th3s_setbinerror3 ::+               Ptr RawTH3S -> CInt -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setBins1" c_th3s_setbins1 -  :: (Ptr RawTH3S) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setBins1"+               c_th3s_setbins1 :: Ptr RawTH3S -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setBins2" c_th3s_setbins2 -  :: (Ptr RawTH3S) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setBins2"+               c_th3s_setbins2 ::+               Ptr RawTH3S ->+                 CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setBins3" c_th3s_setbins3 -  :: (Ptr RawTH3S) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setBins3"+               c_th3s_setbins3 ::+               Ptr RawTH3S ->+                 CInt ->+                   (Ptr CDouble) ->+                     CInt -> (Ptr CDouble) -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetBinsLength" c_th3s_setbinslength -  :: (Ptr RawTH3S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetBinsLength"+               c_th3s_setbinslength :: Ptr RawTH3S -> CInt -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetBuffer" c_th3s_setbuffer -  :: (Ptr RawTH3S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetBuffer"+               c_th3s_setbuffer :: Ptr RawTH3S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetCellContent" c_th3s_setcellcontent -  :: (Ptr RawTH3S) -> CInt -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetCellContent"+               c_th3s_setcellcontent ::+               Ptr RawTH3S -> CInt -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetContent" c_th3s_setcontent -  :: (Ptr RawTH3S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetContent"+               c_th3s_setcontent :: Ptr RawTH3S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetContour" c_th3s_setcontour -  :: (Ptr RawTH3S) -> CInt -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetContour"+               c_th3s_setcontour :: Ptr RawTH3S -> CInt -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetContourLevel" c_th3s_setcontourlevel -  :: (Ptr RawTH3S) -> CInt -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetContourLevel"+               c_th3s_setcontourlevel :: Ptr RawTH3S -> CInt -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetDirectory" c_th3s_setdirectory -  :: (Ptr RawTH3S) -> (Ptr RawTDirectory) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetDirectory"+               c_th3s_setdirectory :: Ptr RawTH3S -> Ptr RawTDirectory -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetEntries" c_th3s_setentries -  :: (Ptr RawTH3S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetEntries"+               c_th3s_setentries :: Ptr RawTH3S -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetError" c_th3s_seterror -  :: (Ptr RawTH3S) -> (Ptr CDouble) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetError"+               c_th3s_seterror :: Ptr RawTH3S -> (Ptr CDouble) -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setLabelColorA" c_th3s_setlabelcolora -  :: (Ptr RawTH3S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setLabelColorA"+               c_th3s_setlabelcolora :: Ptr RawTH3S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setLabelSizeA" c_th3s_setlabelsizea -  :: (Ptr RawTH3S) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setLabelSizeA"+               c_th3s_setlabelsizea :: Ptr RawTH3S -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setLabelFontA" c_th3s_setlabelfonta -  :: (Ptr RawTH3S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setLabelFontA"+               c_th3s_setlabelfonta :: Ptr RawTH3S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_setLabelOffsetA" c_th3s_setlabeloffseta -  :: (Ptr RawTH3S) -> CDouble -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_setLabelOffsetA"+               c_th3s_setlabeloffseta ::+               Ptr RawTH3S -> CDouble -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetMaximum" c_th3s_setmaximum -  :: (Ptr RawTH3S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetMaximum"+               c_th3s_setmaximum :: Ptr RawTH3S -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetMinimum" c_th3s_setminimum -  :: (Ptr RawTH3S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetMinimum"+               c_th3s_setminimum :: Ptr RawTH3S -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetNormFactor" c_th3s_setnormfactor -  :: (Ptr RawTH3S) -> CDouble -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetNormFactor"+               c_th3s_setnormfactor :: Ptr RawTH3S -> CDouble -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetStats" c_th3s_setstats -  :: (Ptr RawTH3S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetStats"+               c_th3s_setstats :: Ptr RawTH3S -> CInt -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetOption" c_th3s_setoption -  :: (Ptr RawTH3S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetOption"+               c_th3s_setoption :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetXTitle" c_th3s_setxtitle -  :: (Ptr RawTH3S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetXTitle"+               c_th3s_setxtitle :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetYTitle" c_th3s_setytitle -  :: (Ptr RawTH3S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetYTitle"+               c_th3s_setytitle :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetZTitle" c_th3s_setztitle -  :: (Ptr RawTH3S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetZTitle"+               c_th3s_setztitle :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_ShowBackground" c_th3s_showbackground -  :: (Ptr RawTH3S) -> CInt -> CString -> IO (Ptr RawTH1)+foreign import ccall safe "HROOTHistTH3S.h TH3S_ShowBackground"+               c_th3s_showbackground ::+               Ptr RawTH3S -> CInt -> CString -> IO (Ptr RawTH1) -foreign import ccall "HROOTHistTH3S.h TH3S_ShowPeaks" c_th3s_showpeaks -  :: (Ptr RawTH3S) -> CDouble -> CString -> CDouble -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_ShowPeaks"+               c_th3s_showpeaks ::+               Ptr RawTH3S -> CDouble -> CString -> CDouble -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_Smooth" c_th3s_smooth -  :: (Ptr RawTH3S) -> CInt -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_Smooth"+               c_th3s_smooth :: Ptr RawTH3S -> CInt -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_Sumw2" c_th3s_sumw2 -  :: (Ptr RawTH3S) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_Sumw2" c_th3s_sumw2+               :: Ptr RawTH3S -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_Draw" c_th3s_draw -  :: (Ptr RawTH3S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetName"+               c_th3s_setname :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_FindObject" c_th3s_findobject -  :: (Ptr RawTH3S) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetNameTitle"+               c_th3s_setnametitle :: Ptr RawTH3S -> CString -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_GetName" c_th3s_getname -  :: (Ptr RawTH3S) -> IO CString+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetTitle"+               c_th3s_settitle :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_IsA" c_th3s_isa -  :: (Ptr RawTH3S) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetLineColor"+               c_th3s_getlinecolor :: Ptr RawTH3S -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_Paint" c_th3s_paint -  :: (Ptr RawTH3S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetLineStyle"+               c_th3s_getlinestyle :: Ptr RawTH3S -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_printObj" c_th3s_printobj -  :: (Ptr RawTH3S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetLineWidth"+               c_th3s_getlinewidth :: Ptr RawTH3S -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_SaveAs" c_th3s_saveas -  :: (Ptr RawTH3S) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_ResetAttLine"+               c_th3s_resetattline :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_Write" c_th3s_write -  :: (Ptr RawTH3S) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetLineAttributes"+               c_th3s_setlineattributes :: Ptr RawTH3S -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_GetLineColor" c_th3s_getlinecolor -  :: (Ptr RawTH3S) -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetLineColor"+               c_th3s_setlinecolor :: Ptr RawTH3S -> CInt -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_GetLineStyle" c_th3s_getlinestyle -  :: (Ptr RawTH3S) -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetLineStyle"+               c_th3s_setlinestyle :: Ptr RawTH3S -> CInt -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_GetLineWidth" c_th3s_getlinewidth -  :: (Ptr RawTH3S) -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetLineWidth"+               c_th3s_setlinewidth :: Ptr RawTH3S -> CInt -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_ResetAttLine" c_th3s_resetattline -  :: (Ptr RawTH3S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetFillColor"+               c_th3s_setfillcolor :: Ptr RawTH3S -> CInt -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetLineAttributes" c_th3s_setlineattributes -  :: (Ptr RawTH3S) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetFillStyle"+               c_th3s_setfillstyle :: Ptr RawTH3S -> CInt -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetLineColor" c_th3s_setlinecolor -  :: (Ptr RawTH3S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMarkerColor"+               c_th3s_getmarkercolor :: Ptr RawTH3S -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_SetLineStyle" c_th3s_setlinestyle -  :: (Ptr RawTH3S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMarkerStyle"+               c_th3s_getmarkerstyle :: Ptr RawTH3S -> IO CInt -foreign import ccall "HROOTHistTH3S.h TH3S_SetLineWidth" c_th3s_setlinewidth -  :: (Ptr RawTH3S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetMarkerSize"+               c_th3s_getmarkersize :: Ptr RawTH3S -> IO CDouble -foreign import ccall "HROOTHistTH3S.h TH3S_SetFillColor" c_th3s_setfillcolor -  :: (Ptr RawTH3S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_ResetAttMarker"+               c_th3s_resetattmarker :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetFillStyle" c_th3s_setfillstyle -  :: (Ptr RawTH3S) -> CInt -> IO ()+foreign import ccall safe+               "HROOTHistTH3S.h TH3S_SetMarkerAttributes"+               c_th3s_setmarkerattributes :: Ptr RawTH3S -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_GetMarkerColor" c_th3s_getmarkercolor -  :: (Ptr RawTH3S) -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetMarkerColor"+               c_th3s_setmarkercolor :: Ptr RawTH3S -> CInt -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_GetMarkerStyle" c_th3s_getmarkerstyle -  :: (Ptr RawTH3S) -> IO CInt+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetMarkerStyle"+               c_th3s_setmarkerstyle :: Ptr RawTH3S -> CInt -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_GetMarkerSize" c_th3s_getmarkersize -  :: (Ptr RawTH3S) -> IO CDouble+foreign import ccall safe "HROOTHistTH3S.h TH3S_SetMarkerSize"+               c_th3s_setmarkersize :: Ptr RawTH3S -> CInt -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_ResetAttMarker" c_th3s_resetattmarker -  :: (Ptr RawTH3S) -> CString -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_Draw" c_th3s_draw+               :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_SetMarkerAttributes" c_th3s_setmarkerattributes -  :: (Ptr RawTH3S) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_FindObject"+               c_th3s_findobject :: Ptr RawTH3S -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTH3S.h TH3S_SetMarkerColor" c_th3s_setmarkercolor -  :: (Ptr RawTH3S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_GetName"+               c_th3s_getname :: Ptr RawTH3S -> IO CString -foreign import ccall "HROOTHistTH3S.h TH3S_SetMarkerStyle" c_th3s_setmarkerstyle -  :: (Ptr RawTH3S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_IsA" c_th3s_isa ::+               Ptr RawTH3S -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTH3S.h TH3S_SetMarkerSize" c_th3s_setmarkersize -  :: (Ptr RawTH3S) -> CInt -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_Paint" c_th3s_paint+               :: Ptr RawTH3S -> CString -> IO () -foreign import ccall "HROOTHistTH3S.h TH3S_delete" c_th3s_delete -  :: (Ptr RawTH3S) -> IO ()+foreign import ccall safe "HROOTHistTH3S.h TH3S_printObj"+               c_th3s_printobj :: Ptr RawTH3S -> CString -> IO () +foreign import ccall safe "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 safe "HROOTHistTH3S.h TH3S_delete"+               c_th3s_delete :: Ptr RawTH3S -> IO ()
src/HROOT/Hist/TH3S/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH3S.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.TH3S.RawType import HROOT.Hist.TH3S.FFI import HROOT.Hist.TH3S.Interface@@ -41,9 +42,9 @@ import HROOT.Core.TAtt3D.RawType import HROOT.Core.TAtt3D.Cast import HROOT.Core.TAtt3D.Interface-import HROOT.Core.TObject.RawType-import HROOT.Core.TObject.Cast-import HROOT.Core.TObject.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@@ -53,6 +54,9 @@ 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 HROOT.Core.Deletable.RawType import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface@@ -60,381 +64,196 @@ import HROOT.Core.TArray.Cast import HROOT.Core.TArray.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITH3S TH3S -instance ITH3S TH3S where instance ITH3 TH3S where-  fill3 = xform3 c_th3s_fill3-  fill3w = xform4 c_th3s_fill3w-  fitSlicesZ = xform7 c_th3s_fitslicesz-  getCorrelationFactor3 = xform2 c_th3s_getcorrelationfactor3-  getCovariance3 = xform2 c_th3s_getcovariance3-  rebinX3 = xform2 c_th3s_rebinx3-  rebinY3 = xform2 c_th3s_rebiny3-  rebinZ3 = xform2 c_th3s_rebinz3-  rebin3D = xform4 c_th3s_rebin3d-instance ITArrayS 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-  drawNormalized = xform2 c_th3s_drawnormalized-  drawPanelTH1 = xform0 c_th3s_drawpanelth1-  bufferEmpty = xform1 c_th3s_bufferempty-  evalF = xform2 c_th3s_evalf-  fFT = xform2 c_th3s_fft-  fill1 = xform1 c_th3s_fill1-  fill1w = xform2 c_th3s_fill1w-  fillN1 = xform4 c_th3s_filln1-  fillRandom = xform2 c_th3s_fillrandom-  findBin = xform3 c_th3s_findbin-  findFixBin = xform3 c_th3s_findfixbin-  findFirstBinAbove = xform2 c_th3s_findfirstbinabove-  findLastBinAbove = xform2 c_th3s_findlastbinabove-  fitPanelTH1 = xform0 c_th3s_fitpanelth1-  getNdivisionA = xform1 c_th3s_getndivisiona-  getAxisColorA = xform1 c_th3s_getaxiscolora-  getLabelColorA = xform1 c_th3s_getlabelcolora-  getLabelFontA = xform1 c_th3s_getlabelfonta-  getLabelOffsetA = xform1 c_th3s_getlabeloffseta-  getLabelSizeA = xform1 c_th3s_getlabelsizea-  getTitleFontA = xform1 c_th3s_gettitlefonta-  getTitleOffsetA = xform1 c_th3s_gettitleoffseta-  getTitleSizeA = xform1 c_th3s_gettitlesizea-  getTickLengthA = xform1 c_th3s_getticklengtha-  getBarOffset = xform0 c_th3s_getbaroffset-  getBarWidth = xform0 c_th3s_getbarwidth-  getContour = xform1 c_th3s_getcontour-  getContourLevel = xform1 c_th3s_getcontourlevel-  getContourLevelPad = xform1 c_th3s_getcontourlevelpad-  getBin = xform3 c_th3s_getbin-  getBinCenter = xform1 c_th3s_getbincenter-  getBinContent1 = xform1 c_th3s_getbincontent1-  getBinContent2 = xform2 c_th3s_getbincontent2-  getBinContent3 = xform3 c_th3s_getbincontent3-  getBinError1 = xform1 c_th3s_getbinerror1-  getBinError2 = xform2 c_th3s_getbinerror2-  getBinError3 = xform3 c_th3s_getbinerror3-  getBinLowEdge = xform1 c_th3s_getbinlowedge-  getBinWidth = xform1 c_th3s_getbinwidth-  getCellContent = xform2 c_th3s_getcellcontent-  getCellError = xform2 c_th3s_getcellerror-  getEntries = xform0 c_th3s_getentries-  getEffectiveEntries = xform0 c_th3s_geteffectiveentries-  getFunction = xform1 c_th3s_getfunction-  getDimension = xform0 c_th3s_getdimension-  getKurtosis = xform1 c_th3s_getkurtosis-  getLowEdge = xform1 c_th3s_getlowedge-  getMaximumTH1 = xform1 c_th3s_getmaximumth1-  getMaximumBin = xform0 c_th3s_getmaximumbin-  getMaximumStored = xform0 c_th3s_getmaximumstored-  getMinimumTH1 = xform1 c_th3s_getminimumth1-  getMinimumBin = xform0 c_th3s_getminimumbin-  getMinimumStored = xform0 c_th3s_getminimumstored-  getMean = xform1 c_th3s_getmean-  getMeanError = xform1 c_th3s_getmeanerror-  getNbinsX = xform0 c_th3s_getnbinsx-  getNbinsY = xform0 c_th3s_getnbinsy-  getNbinsZ = xform0 c_th3s_getnbinsz-  getQuantilesTH1 = xform3 c_th3s_getquantilesth1-  getRandom = xform0 c_th3s_getrandom-  getStats = xform1 c_th3s_getstats-  getSumOfWeights = xform0 c_th3s_getsumofweights-  getSumw2 = xform0 c_th3s_getsumw2-  getSumw2N = xform0 c_th3s_getsumw2n-  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-  labelsInflate = xform1 c_th3s_labelsinflate-  labelsOption = xform2 c_th3s_labelsoption-  multiflyF = xform2 c_th3s_multiflyf-  multiply = xform5 c_th3s_multiply-  putStats = xform1 c_th3s_putstats-  rebin = xform3 c_th3s_rebin-  rebinAxis = xform2 c_th3s_rebinaxis-  rebuild = xform1 c_th3s_rebuild-  recursiveRemove = xform1 c_th3s_recursiveremove-  reset = xform1 c_th3s_reset-  resetStats = xform0 c_th3s_resetstats-  scale = xform2 c_th3s_scale-  setAxisColorA = xform2 c_th3s_setaxiscolora-  setAxisRange = xform3 c_th3s_setaxisrange-  setBarOffset = xform1 c_th3s_setbaroffset-  setBarWidth = xform1 c_th3s_setbarwidth-  setBinContent1 = xform2 c_th3s_setbincontent1-  setBinContent2 = xform3 c_th3s_setbincontent2-  setBinContent3 = xform4 c_th3s_setbincontent3-  setBinError1 = xform2 c_th3s_setbinerror1-  setBinError2 = xform3 c_th3s_setbinerror2-  setBinError3 = xform4 c_th3s_setbinerror3-  setBins1 = xform2 c_th3s_setbins1-  setBins2 = xform4 c_th3s_setbins2-  setBins3 = xform6 c_th3s_setbins3-  setBinsLength = xform1 c_th3s_setbinslength-  setBuffer = xform2 c_th3s_setbuffer-  setCellContent = xform3 c_th3s_setcellcontent-  setContent = xform1 c_th3s_setcontent-  setContour = xform2 c_th3s_setcontour-  setContourLevel = xform2 c_th3s_setcontourlevel-  setDirectory = xform1 c_th3s_setdirectory-  setEntries = xform1 c_th3s_setentries-  setError = xform1 c_th3s_seterror-  setLabelColorA = xform2 c_th3s_setlabelcolora-  setLabelSizeA = xform2 c_th3s_setlabelsizea-  setLabelFontA = xform2 c_th3s_setlabelfonta-  setLabelOffsetA = xform2 c_th3s_setlabeloffseta-  setMaximum = xform1 c_th3s_setmaximum-  setMinimum = xform1 c_th3s_setminimum-  setNormFactor = xform1 c_th3s_setnormfactor-  setStats = xform1 c_th3s_setstats-  setOption = xform1 c_th3s_setoption-  setXTitle = xform1 c_th3s_setxtitle-  setYTitle = xform1 c_th3s_setytitle-  setZTitle = xform1 c_th3s_setztitle-  showBackground = xform2 c_th3s_showbackground-  showPeaks = xform3 c_th3s_showpeaks-  smooth = xform2 c_th3s_smooth-  sumw2 = xform0 c_th3s_sumw2-instance ITAtt3D TH3S where-instance ITObject TH3S where-  draw = xform1 c_th3s_draw-  findObject = xform1 c_th3s_findobject-  getName = xform0 c_th3s_getname-  isA = xform0 c_th3s_isa-  paint = xform1 c_th3s_paint-  printObj = xform1 c_th3s_printobj-  saveAs = xform2 c_th3s_saveas-  write = xform3 c_th3s_write-instance ITAttLine TH3S where-  getLineColor = xform0 c_th3s_getlinecolor-  getLineStyle = xform0 c_th3s_getlinestyle-  getLineWidth = xform0 c_th3s_getlinewidth-  resetAttLine = xform1 c_th3s_resetattline-  setLineAttributes = xform0 c_th3s_setlineattributes-  setLineColor = xform1 c_th3s_setlinecolor-  setLineStyle = xform1 c_th3s_setlinestyle-  setLineWidth = xform1 c_th3s_setlinewidth-instance ITAttFill TH3S where-  setFillColor = xform1 c_th3s_setfillcolor-  setFillStyle = xform1 c_th3s_setfillstyle-instance ITAttMarker TH3S where-  getMarkerColor = xform0 c_th3s_getmarkercolor-  getMarkerStyle = xform0 c_th3s_getmarkerstyle-  getMarkerSize = xform0 c_th3s_getmarkersize-  resetAttMarker = xform1 c_th3s_resetattmarker-  setMarkerAttributes = xform0 c_th3s_setmarkerattributes-  setMarkerColor = xform1 c_th3s_setmarkercolor-  setMarkerStyle = xform1 c_th3s_setmarkerstyle-  setMarkerSize = xform1 c_th3s_setmarkersize-instance IDeletable TH3S where-  delete = xform0 c_th3s_delete-instance ITArray TH3S where--instance ITH3S (Exist TH3S) where--instance ITH3 (Exist TH3S) where-  fill3 (ETH3S x) = fill3 x-  fill3w (ETH3S x) = fill3w x-  fitSlicesZ (ETH3S x) = fitSlicesZ x-  getCorrelationFactor3 (ETH3S x) = getCorrelationFactor3 x-  getCovariance3 (ETH3S x) = getCovariance3 x-  rebinX3 (ETH3S x) = rebinX3 x-  rebinY3 (ETH3S x) = rebinY3 x-  rebinZ3 (ETH3S x) = rebinZ3 x-  rebin3D (ETH3S x) = rebin3D x-instance ITArrayS (Exist TH3S) where+        fill3 = xform3 c_th3s_fill3+        fill3w = xform4 c_th3s_fill3w+        fitSlicesZ = xform7 c_th3s_fitslicesz+        getCorrelationFactor3 = xform2 c_th3s_getcorrelationfactor3+        getCovariance3 = xform2 c_th3s_getcovariance3+        rebinX3 = xform2 c_th3s_rebinx3+        rebinY3 = xform2 c_th3s_rebiny3+        rebinZ3 = xform2 c_th3s_rebinz3+        rebin3D = xform4 c_th3s_rebin3d -instance ITH1 (Exist TH3S) where-  add (ETH3S x) = add x-  addBinContent (ETH3S x) = addBinContent x-  chi2Test (ETH3S x) = chi2Test x-  computeIntegral (ETH3S x) = computeIntegral x-  directoryAutoAdd (ETH3S x) = directoryAutoAdd x-  divide (ETH3S x) = divide x-  drawCopyTH1 (ETH3S x) a1 = return . ETH3S =<< drawCopyTH1 x a1-  drawNormalized (ETH3S x) = drawNormalized x-  drawPanelTH1 (ETH3S x) = drawPanelTH1 x-  bufferEmpty (ETH3S x) = bufferEmpty x-  evalF (ETH3S x) = evalF x-  fFT (ETH3S x) = fFT x-  fill1 (ETH3S x) = fill1 x-  fill1w (ETH3S x) = fill1w x-  fillN1 (ETH3S x) = fillN1 x-  fillRandom (ETH3S x) = fillRandom x-  findBin (ETH3S x) = findBin x-  findFixBin (ETH3S x) = findFixBin x-  findFirstBinAbove (ETH3S x) = findFirstBinAbove x-  findLastBinAbove (ETH3S x) = findLastBinAbove x-  fitPanelTH1 (ETH3S x) = fitPanelTH1 x-  getNdivisionA (ETH3S x) = getNdivisionA x-  getAxisColorA (ETH3S x) = getAxisColorA x-  getLabelColorA (ETH3S x) = getLabelColorA x-  getLabelFontA (ETH3S x) = getLabelFontA x-  getLabelOffsetA (ETH3S x) = getLabelOffsetA x-  getLabelSizeA (ETH3S x) = getLabelSizeA x-  getTitleFontA (ETH3S x) = getTitleFontA x-  getTitleOffsetA (ETH3S x) = getTitleOffsetA x-  getTitleSizeA (ETH3S x) = getTitleSizeA x-  getTickLengthA (ETH3S x) = getTickLengthA x-  getBarOffset (ETH3S x) = getBarOffset x-  getBarWidth (ETH3S x) = getBarWidth x-  getContour (ETH3S x) = getContour x-  getContourLevel (ETH3S x) = getContourLevel x-  getContourLevelPad (ETH3S x) = getContourLevelPad x-  getBin (ETH3S x) = getBin x-  getBinCenter (ETH3S x) = getBinCenter x-  getBinContent1 (ETH3S x) = getBinContent1 x-  getBinContent2 (ETH3S x) = getBinContent2 x-  getBinContent3 (ETH3S x) = getBinContent3 x-  getBinError1 (ETH3S x) = getBinError1 x-  getBinError2 (ETH3S x) = getBinError2 x-  getBinError3 (ETH3S x) = getBinError3 x-  getBinLowEdge (ETH3S x) = getBinLowEdge x-  getBinWidth (ETH3S x) = getBinWidth x-  getCellContent (ETH3S x) = getCellContent x-  getCellError (ETH3S x) = getCellError x-  getEntries (ETH3S x) = getEntries x-  getEffectiveEntries (ETH3S x) = getEffectiveEntries x-  getFunction (ETH3S x) = getFunction x-  getDimension (ETH3S x) = getDimension x-  getKurtosis (ETH3S x) = getKurtosis x-  getLowEdge (ETH3S x) = getLowEdge x-  getMaximumTH1 (ETH3S x) = getMaximumTH1 x-  getMaximumBin (ETH3S x) = getMaximumBin x-  getMaximumStored (ETH3S x) = getMaximumStored x-  getMinimumTH1 (ETH3S x) = getMinimumTH1 x-  getMinimumBin (ETH3S x) = getMinimumBin x-  getMinimumStored (ETH3S x) = getMinimumStored x-  getMean (ETH3S x) = getMean x-  getMeanError (ETH3S x) = getMeanError x-  getNbinsX (ETH3S x) = getNbinsX x-  getNbinsY (ETH3S x) = getNbinsY x-  getNbinsZ (ETH3S x) = getNbinsZ x-  getQuantilesTH1 (ETH3S x) = getQuantilesTH1 x-  getRandom (ETH3S x) = getRandom x-  getStats (ETH3S x) = getStats x-  getSumOfWeights (ETH3S x) = getSumOfWeights x-  getSumw2 (ETH3S x) = getSumw2 x-  getSumw2N (ETH3S x) = getSumw2N x-  getRMS (ETH3S x) = getRMS x-  getRMSError (ETH3S x) = getRMSError x-  getSkewness (ETH3S x) = getSkewness x-  integral1 (ETH3S x) = integral1 x-  interpolate1 (ETH3S x) = interpolate1 x-  interpolate2 (ETH3S x) = interpolate2 x-  interpolate3 (ETH3S x) = interpolate3 x-  kolmogorovTest (ETH3S x) = kolmogorovTest x-  labelsDeflate (ETH3S x) = labelsDeflate x-  labelsInflate (ETH3S x) = labelsInflate x-  labelsOption (ETH3S x) = labelsOption x-  multiflyF (ETH3S x) = multiflyF x-  multiply (ETH3S x) = multiply x-  putStats (ETH3S x) = putStats x-  rebin (ETH3S x) = rebin x-  rebinAxis (ETH3S x) = rebinAxis x-  rebuild (ETH3S x) = rebuild x-  recursiveRemove (ETH3S x) = recursiveRemove x-  reset (ETH3S x) = reset x-  resetStats (ETH3S x) = resetStats x-  scale (ETH3S x) = scale x-  setAxisColorA (ETH3S x) = setAxisColorA x-  setAxisRange (ETH3S x) = setAxisRange x-  setBarOffset (ETH3S x) = setBarOffset x-  setBarWidth (ETH3S x) = setBarWidth x-  setBinContent1 (ETH3S x) = setBinContent1 x-  setBinContent2 (ETH3S x) = setBinContent2 x-  setBinContent3 (ETH3S x) = setBinContent3 x-  setBinError1 (ETH3S x) = setBinError1 x-  setBinError2 (ETH3S x) = setBinError2 x-  setBinError3 (ETH3S x) = setBinError3 x-  setBins1 (ETH3S x) = setBins1 x-  setBins2 (ETH3S x) = setBins2 x-  setBins3 (ETH3S x) = setBins3 x-  setBinsLength (ETH3S x) = setBinsLength x-  setBuffer (ETH3S x) = setBuffer x-  setCellContent (ETH3S x) = setCellContent x-  setContent (ETH3S x) = setContent x-  setContour (ETH3S x) = setContour x-  setContourLevel (ETH3S x) = setContourLevel x-  setDirectory (ETH3S x) = setDirectory x-  setEntries (ETH3S x) = setEntries x-  setError (ETH3S x) = setError x-  setLabelColorA (ETH3S x) = setLabelColorA x-  setLabelSizeA (ETH3S x) = setLabelSizeA x-  setLabelFontA (ETH3S x) = setLabelFontA x-  setLabelOffsetA (ETH3S x) = setLabelOffsetA x-  setMaximum (ETH3S x) = setMaximum x-  setMinimum (ETH3S x) = setMinimum x-  setNormFactor (ETH3S x) = setNormFactor x-  setStats (ETH3S x) = setStats x-  setOption (ETH3S x) = setOption x-  setXTitle (ETH3S x) = setXTitle x-  setYTitle (ETH3S x) = setYTitle x-  setZTitle (ETH3S x) = setZTitle x-  showBackground (ETH3S x) = showBackground x-  showPeaks (ETH3S x) = showPeaks x-  smooth (ETH3S x) = smooth x-  sumw2 (ETH3S x) = sumw2 x-instance ITAtt3D (Exist TH3S) where+instance ITArrayS TH3S -instance ITObject (Exist TH3S) where-  draw (ETH3S x) = draw x-  findObject (ETH3S x) = findObject x-  getName (ETH3S x) = getName x-  isA (ETH3S x) = isA x-  paint (ETH3S x) = paint x-  printObj (ETH3S x) = printObj x-  saveAs (ETH3S x) = saveAs x-  write (ETH3S x) = write x-instance ITAttLine (Exist TH3S) where-  getLineColor (ETH3S x) = getLineColor x-  getLineStyle (ETH3S x) = getLineStyle x-  getLineWidth (ETH3S x) = getLineWidth x-  resetAttLine (ETH3S x) = resetAttLine x-  setLineAttributes (ETH3S x) = setLineAttributes x-  setLineColor (ETH3S x) = setLineColor x-  setLineStyle (ETH3S x) = setLineStyle x-  setLineWidth (ETH3S x) = setLineWidth x-instance ITAttFill (Exist TH3S) where-  setFillColor (ETH3S x) = setFillColor x-  setFillStyle (ETH3S x) = setFillStyle x-instance ITAttMarker (Exist TH3S) where-  getMarkerColor (ETH3S x) = getMarkerColor x-  getMarkerStyle (ETH3S x) = getMarkerStyle x-  getMarkerSize (ETH3S x) = getMarkerSize x-  resetAttMarker (ETH3S x) = resetAttMarker x-  setMarkerAttributes (ETH3S x) = setMarkerAttributes x-  setMarkerColor (ETH3S x) = setMarkerColor x-  setMarkerStyle (ETH3S x) = setMarkerStyle x-  setMarkerSize (ETH3S x) = setMarkerSize x-instance IDeletable (Exist TH3S) where-  delete (ETH3S x) = delete x-instance ITArray (Exist 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+        drawNormalized = xform2 c_th3s_drawnormalized+        drawPanelTH1 = xform0 c_th3s_drawpanelth1+        bufferEmpty = xform1 c_th3s_bufferempty+        evalF = xform2 c_th3s_evalf+        fFT = xform2 c_th3s_fft+        fill1 = xform1 c_th3s_fill1+        fill1w = xform2 c_th3s_fill1w+        fillN1 = xform4 c_th3s_filln1+        fillRandom = xform2 c_th3s_fillrandom+        findBin = xform3 c_th3s_findbin+        findFixBin = xform3 c_th3s_findfixbin+        findFirstBinAbove = xform2 c_th3s_findfirstbinabove+        findLastBinAbove = xform2 c_th3s_findlastbinabove+        fit = xform5 c_th3s_fit+        fitPanelTH1 = xform0 c_th3s_fitpanelth1+        getNdivisionA = xform1 c_th3s_getndivisiona+        getAxisColorA = xform1 c_th3s_getaxiscolora+        getLabelColorA = xform1 c_th3s_getlabelcolora+        getLabelFontA = xform1 c_th3s_getlabelfonta+        getLabelOffsetA = xform1 c_th3s_getlabeloffseta+        getLabelSizeA = xform1 c_th3s_getlabelsizea+        getTitleFontA = xform1 c_th3s_gettitlefonta+        getTitleOffsetA = xform1 c_th3s_gettitleoffseta+        getTitleSizeA = xform1 c_th3s_gettitlesizea+        getTickLengthA = xform1 c_th3s_getticklengtha+        getBarOffset = xform0 c_th3s_getbaroffset+        getBarWidth = xform0 c_th3s_getbarwidth+        getContour = xform1 c_th3s_getcontour+        getContourLevel = xform1 c_th3s_getcontourlevel+        getContourLevelPad = xform1 c_th3s_getcontourlevelpad+        getBin = xform3 c_th3s_getbin+        getBinCenter = xform1 c_th3s_getbincenter+        getBinContent1 = xform1 c_th3s_getbincontent1+        getBinContent2 = xform2 c_th3s_getbincontent2+        getBinContent3 = xform3 c_th3s_getbincontent3+        getBinError1 = xform1 c_th3s_getbinerror1+        getBinError2 = xform2 c_th3s_getbinerror2+        getBinError3 = xform3 c_th3s_getbinerror3+        getBinLowEdge = xform1 c_th3s_getbinlowedge+        getBinWidth = xform1 c_th3s_getbinwidth+        getCellContent = xform2 c_th3s_getcellcontent+        getCellError = xform2 c_th3s_getcellerror+        getEntries = xform0 c_th3s_getentries+        getEffectiveEntries = xform0 c_th3s_geteffectiveentries+        getFunction = xform1 c_th3s_getfunction+        getDimension = xform0 c_th3s_getdimension+        getKurtosis = xform1 c_th3s_getkurtosis+        getLowEdge = xform1 c_th3s_getlowedge+        getMaximumTH1 = xform1 c_th3s_getmaximumth1+        getMaximumBin = xform0 c_th3s_getmaximumbin+        getMaximumStored = xform0 c_th3s_getmaximumstored+        getMinimumTH1 = xform1 c_th3s_getminimumth1+        getMinimumBin = xform0 c_th3s_getminimumbin+        getMinimumStored = xform0 c_th3s_getminimumstored+        getMean = xform1 c_th3s_getmean+        getMeanError = xform1 c_th3s_getmeanerror+        getNbinsX = xform0 c_th3s_getnbinsx+        getNbinsY = xform0 c_th3s_getnbinsy+        getNbinsZ = xform0 c_th3s_getnbinsz+        getQuantilesTH1 = xform3 c_th3s_getquantilesth1+        getRandom = xform0 c_th3s_getrandom+        getStats = xform1 c_th3s_getstats+        getSumOfWeights = xform0 c_th3s_getsumofweights+        getSumw2 = xform0 c_th3s_getsumw2+        getSumw2N = xform0 c_th3s_getsumw2n+        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+        labelsInflate = xform1 c_th3s_labelsinflate+        labelsOption = xform2 c_th3s_labelsoption+        multiflyF = xform2 c_th3s_multiflyf+        multiply = xform5 c_th3s_multiply+        putStats = xform1 c_th3s_putstats+        rebin = xform3 c_th3s_rebin+        rebinAxis = xform2 c_th3s_rebinaxis+        rebuild = xform1 c_th3s_rebuild+        recursiveRemove = xform1 c_th3s_recursiveremove+        reset = xform1 c_th3s_reset+        resetStats = xform0 c_th3s_resetstats+        scale = xform2 c_th3s_scale+        setAxisColorA = xform2 c_th3s_setaxiscolora+        setAxisRange = xform3 c_th3s_setaxisrange+        setBarOffset = xform1 c_th3s_setbaroffset+        setBarWidth = xform1 c_th3s_setbarwidth+        setBinContent1 = xform2 c_th3s_setbincontent1+        setBinContent2 = xform3 c_th3s_setbincontent2+        setBinContent3 = xform4 c_th3s_setbincontent3+        setBinError1 = xform2 c_th3s_setbinerror1+        setBinError2 = xform3 c_th3s_setbinerror2+        setBinError3 = xform4 c_th3s_setbinerror3+        setBins1 = xform2 c_th3s_setbins1+        setBins2 = xform4 c_th3s_setbins2+        setBins3 = xform6 c_th3s_setbins3+        setBinsLength = xform1 c_th3s_setbinslength+        setBuffer = xform2 c_th3s_setbuffer+        setCellContent = xform3 c_th3s_setcellcontent+        setContent = xform1 c_th3s_setcontent+        setContour = xform2 c_th3s_setcontour+        setContourLevel = xform2 c_th3s_setcontourlevel+        setDirectory = xform1 c_th3s_setdirectory+        setEntries = xform1 c_th3s_setentries+        setError = xform1 c_th3s_seterror+        setLabelColorA = xform2 c_th3s_setlabelcolora+        setLabelSizeA = xform2 c_th3s_setlabelsizea+        setLabelFontA = xform2 c_th3s_setlabelfonta+        setLabelOffsetA = xform2 c_th3s_setlabeloffseta+        setMaximum = xform1 c_th3s_setmaximum+        setMinimum = xform1 c_th3s_setminimum+        setNormFactor = xform1 c_th3s_setnormfactor+        setStats = xform1 c_th3s_setstats+        setOption = xform1 c_th3s_setoption+        setXTitle = xform1 c_th3s_setxtitle+        setYTitle = xform1 c_th3s_setytitle+        setZTitle = xform1 c_th3s_setztitle+        showBackground = xform2 c_th3s_showbackground+        showPeaks = xform3 c_th3s_showpeaks+        smooth = xform2 c_th3s_smooth+        sumw2 = xform0 c_th3s_sumw2 +instance ITAtt3D TH3S +instance ITNamed TH3S where+        setName = xform1 c_th3s_setname+        setNameTitle = xform2 c_th3s_setnametitle+        setTitle = xform1 c_th3s_settitle +instance ITAttLine TH3S where+        getLineColor = xform0 c_th3s_getlinecolor+        getLineStyle = xform0 c_th3s_getlinestyle+        getLineWidth = xform0 c_th3s_getlinewidth+        resetAttLine = xform1 c_th3s_resetattline+        setLineAttributes = xform0 c_th3s_setlineattributes+        setLineColor = xform1 c_th3s_setlinecolor+        setLineStyle = xform1 c_th3s_setlinestyle+        setLineWidth = xform1 c_th3s_setlinewidth +instance ITAttFill TH3S where+        setFillColor = xform1 c_th3s_setfillcolor+        setFillStyle = xform1 c_th3s_setfillstyle +instance ITAttMarker TH3S where+        getMarkerColor = xform0 c_th3s_getmarkercolor+        getMarkerStyle = xform0 c_th3s_getmarkerstyle+        getMarkerSize = xform0 c_th3s_getmarkersize+        resetAttMarker = xform1 c_th3s_resetattmarker+        setMarkerAttributes = xform0 c_th3s_setmarkerattributes+        setMarkerColor = xform1 c_th3s_setmarkercolor+        setMarkerStyle = xform1 c_th3s_setmarkerstyle+        setMarkerSize = xform1 c_th3s_setmarkersize +instance ITObject TH3S where+        draw = xform1 c_th3s_draw+        findObject = xform1 c_th3s_findobject+        getName = xform0 c_th3s_getname+        isA = xform0 c_th3s_isa+        paint = xform1 c_th3s_paint+        printObj = xform1 c_th3s_printobj+        saveAs = xform2 c_th3s_saveas+        write = xform3 c_th3s_write +instance IDeletable TH3S where+        delete = xform0 c_th3s_delete -instance FPtr (Exist TH3S) where-  type Raw (Exist TH3S) = RawTH3S-  get_fptr (ETH3S obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETH3S (cast_fptr_to_obj (fptr :: ForeignPtr RawTH3S) :: TH3S)+instance ITArray TH3S
src/HROOT/Hist/TH3S/Interface.hs view
@@ -1,37 +1,26 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.TH3S.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.TH3S.RawType- import HROOT.Hist.TH3.Interface import HROOT.Core.TArrayS.Interface----- ============ ---- ---class (ITH3 a,ITArrayS a) => ITH3S a where--instance Existable TH3S where-  data Exist TH3S = forall a. (FPtr a, ITH3S a) => ETH3S a+class (ITH3 a, ITArrayS a) => ITH3S a -upcastTH3S :: (FPtr a, ITH3S a) => a -> TH3S-upcastTH3S h = let fh = get_fptr h-                   fh2 :: ForeignPtr RawTH3S = castForeignPtr fh-               in cast_fptr_to_obj fh2+upcastTH3S :: forall a . (FPtr a, ITH3S a) => a -> TH3S+upcastTH3S h+  = let fh = get_fptr h+        fh2 :: Ptr RawTH3S = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTH3S :: (FPtr a, ITH3S a) => TH3S -> a -downcastTH3S h = let fh = get_fptr h-                     fh2 = castForeignPtr fh-                 in cast_fptr_to_obj fh2+downcastTH3S :: forall a . (FPtr a, ITH3S a) => TH3S -> a+downcastTH3S h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/TH3S/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.TH3S.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTH3S -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype TH3S = TH3S (Ptr RawTH3S)+             deriving (Eq, Ord, Show) -data RawTH3S-newtype TH3S = TH3S (ForeignPtr RawTH3S) deriving (Eq, Ord, Show) instance FPtr TH3S where-   type Raw TH3S = RawTH3S-   get_fptr (TH3S fptr) = fptr-   cast_fptr_to_obj = TH3S+        type Raw TH3S = RawTH3S+        get_fptr (TH3S ptr) = ptr+        cast_fptr_to_obj = TH3S
src/HROOT/Hist/THStack.hs view
@@ -1,15 +1,6 @@ module HROOT.Hist.THStack-  (-    THStack(..)-  , ITHStack-  , upcastTHStack-  , downcastTHStack-  , newTHStack- -  ) where-+       (THStack(..), ITHStack, upcastTHStack, downcastTHStack, newTHStack)+       where import HROOT.Hist.THStack.RawType import HROOT.Hist.THStack.Interface import HROOT.Hist.THStack.Implementation--
src/HROOT/Hist/THStack/Cast.hs view
@@ -1,22 +1,17 @@-{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies, -             MultiParamTypeClasses, OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE FlexibleInstances, FlexibleContexts, TypeFamilies,+  MultiParamTypeClasses, OverlappingInstances, IncoherentInstances+  #-} module HROOT.Hist.THStack.Cast where-- import Foreign.Ptr-import Foreign.ForeignPtr (castForeignPtr, newForeignPtr_)-import Foreign.ForeignPtr.Unsafe import FFICXX.Runtime.Cast import System.IO.Unsafe- import HROOT.Hist.THStack.RawType import HROOT.Hist.THStack.Interface  instance (ITHStack a, FPtr a) => Castable a (Ptr RawTHStack) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        cast x f = f (castPtr (get_fptr x))+        uncast x f = f (cast_fptr_to_obj (castPtr x))  instance Castable THStack (Ptr RawTHStack) where-  cast = unsafeForeignPtrToPtr . castForeignPtr . get_fptr-  uncast = cast_fptr_to_obj . castForeignPtr . unsafePerformIO . newForeignPtr_ +        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,59 +1,49 @@ {-# LANGUAGE ForeignFunctionInterface #-}---- module HROOT.Class.FFI where- module HROOT.Hist.THStack.FFI where---import Foreign.C            +import Foreign.C import Foreign.Ptr---- import HROOT.Class.Interface---- #include ""- import HROOT.Hist.THStack.RawType import HROOT.Core.TObject.RawType import HROOT.Core.TClass.RawType -#include "HROOTHistTHStack.h"--foreign import ccall "HROOTHistTHStack.h THStack_SetName" c_thstack_setname -  :: (Ptr RawTHStack) -> CString -> IO ()--foreign import ccall "HROOTHistTHStack.h THStack_SetNameTitle" c_thstack_setnametitle -  :: (Ptr RawTHStack) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTHStack.h THStack_SetName"+               c_thstack_setname :: Ptr RawTHStack -> CString -> IO () -foreign import ccall "HROOTHistTHStack.h THStack_SetTitle" c_thstack_settitle -  :: (Ptr RawTHStack) -> CString -> IO ()+foreign import ccall safe "HROOTHistTHStack.h THStack_SetNameTitle"+               c_thstack_setnametitle ::+               Ptr RawTHStack -> CString -> CString -> IO () -foreign import ccall "HROOTHistTHStack.h THStack_Draw" c_thstack_draw -  :: (Ptr RawTHStack) -> CString -> IO ()+foreign import ccall safe "HROOTHistTHStack.h THStack_SetTitle"+               c_thstack_settitle :: Ptr RawTHStack -> CString -> IO () -foreign import ccall "HROOTHistTHStack.h THStack_FindObject" c_thstack_findobject -  :: (Ptr RawTHStack) -> CString -> IO (Ptr RawTObject)+foreign import ccall safe "HROOTHistTHStack.h THStack_Draw"+               c_thstack_draw :: Ptr RawTHStack -> CString -> IO () -foreign import ccall "HROOTHistTHStack.h THStack_GetName" c_thstack_getname -  :: (Ptr RawTHStack) -> IO CString+foreign import ccall safe "HROOTHistTHStack.h THStack_FindObject"+               c_thstack_findobject ::+               Ptr RawTHStack -> CString -> IO (Ptr RawTObject) -foreign import ccall "HROOTHistTHStack.h THStack_IsA" c_thstack_isa -  :: (Ptr RawTHStack) -> IO (Ptr RawTClass)+foreign import ccall safe "HROOTHistTHStack.h THStack_GetName"+               c_thstack_getname :: Ptr RawTHStack -> IO CString -foreign import ccall "HROOTHistTHStack.h THStack_Paint" c_thstack_paint -  :: (Ptr RawTHStack) -> CString -> IO ()+foreign import ccall safe "HROOTHistTHStack.h THStack_IsA"+               c_thstack_isa :: Ptr RawTHStack -> IO (Ptr RawTClass) -foreign import ccall "HROOTHistTHStack.h THStack_printObj" c_thstack_printobj -  :: (Ptr RawTHStack) -> CString -> IO ()+foreign import ccall safe "HROOTHistTHStack.h THStack_Paint"+               c_thstack_paint :: Ptr RawTHStack -> CString -> IO () -foreign import ccall "HROOTHistTHStack.h THStack_SaveAs" c_thstack_saveas -  :: (Ptr RawTHStack) -> CString -> CString -> IO ()+foreign import ccall safe "HROOTHistTHStack.h THStack_printObj"+               c_thstack_printobj :: Ptr RawTHStack -> CString -> IO () -foreign import ccall "HROOTHistTHStack.h THStack_Write" c_thstack_write -  :: (Ptr RawTHStack) -> CString -> CInt -> CInt -> IO CInt+foreign import ccall safe "HROOTHistTHStack.h THStack_SaveAs"+               c_thstack_saveas :: Ptr RawTHStack -> CString -> CString -> IO () -foreign import ccall "HROOTHistTHStack.h THStack_delete" c_thstack_delete -  :: (Ptr RawTHStack) -> IO ()+foreign import ccall safe "HROOTHistTHStack.h THStack_Write"+               c_thstack_write ::+               Ptr RawTHStack -> CString -> CInt -> CInt -> IO CInt -foreign import ccall "HROOTHistTHStack.h THStack_newTHStack" c_thstack_newthstack -  :: CString -> CString -> IO (Ptr RawTHStack)+foreign import ccall safe "HROOTHistTHStack.h THStack_delete"+               c_thstack_delete :: Ptr RawTHStack -> IO () +foreign import ccall safe "HROOTHistTHStack.h THStack_newTHStack"+               c_thstack_newthstack :: CString -> CString -> IO (Ptr RawTHStack)
src/HROOT/Hist/THStack/Implementation.hs view
@@ -1,12 +1,13 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, EmptyDataDecls, -             OverlappingInstances, IncoherentInstances #-}-+{-# LANGUAGE EmptyDataDecls, FlexibleContexts, FlexibleInstances,+  ForeignFunctionInterface, IncoherentInstances,+  MultiParamTypeClasses, OverlappingInstances, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.THStack.Implementation where-- import FFICXX.Runtime.Cast-+import Data.Word+import Foreign.C+import Foreign.Ptr+import System.IO.Unsafe import HROOT.Hist.THStack.RawType import HROOT.Hist.THStack.FFI import HROOT.Hist.THStack.Interface@@ -24,58 +25,27 @@ import HROOT.Core.Deletable.Cast import HROOT.Core.Deletable.Interface -import Data.Word-import Foreign.C-import Foreign.Ptr -import Foreign.ForeignPtr--import System.IO.Unsafe-+instance ITHStack THStack -instance ITHStack 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-  draw = xform1 c_thstack_draw-  findObject = xform1 c_thstack_findobject-  getName = xform0 c_thstack_getname-  isA = xform0 c_thstack_isa-  paint = xform1 c_thstack_paint-  printObj = xform1 c_thstack_printobj-  saveAs = xform2 c_thstack_saveas-  write = xform3 c_thstack_write-instance IDeletable THStack where-  delete = xform0 c_thstack_delete--instance ITHStack (Exist THStack) where+        setName = xform1 c_thstack_setname+        setNameTitle = xform2 c_thstack_setnametitle+        setTitle = xform1 c_thstack_settitle -instance ITNamed (Exist THStack) where-  setName (ETHStack x) = setName x-  setNameTitle (ETHStack x) = setNameTitle x-  setTitle (ETHStack x) = setTitle x-instance ITObject (Exist THStack) where-  draw (ETHStack x) = draw x-  findObject (ETHStack x) = findObject x-  getName (ETHStack x) = getName x-  isA (ETHStack x) = isA x-  paint (ETHStack x) = paint x-  printObj (ETHStack x) = printObj x-  saveAs (ETHStack x) = saveAs x-  write (ETHStack x) = write x-instance IDeletable (Exist THStack) where-  delete (ETHStack x) = delete x+instance ITObject THStack where+        draw = xform1 c_thstack_draw+        findObject = xform1 c_thstack_findobject+        getName = xform0 c_thstack_getname+        isA = xform0 c_thstack_isa+        paint = xform1 c_thstack_paint+        printObj = xform1 c_thstack_printobj+        saveAs = xform2 c_thstack_saveas+        write = xform3 c_thstack_write +instance IDeletable THStack where+        delete = xform0 c_thstack_delete -newTHStack :: CString -> CString -> IO THStack+newTHStack ::+             (Castable c1 CString, Castable c0 CString) =>+             c0 -> c1 -> IO THStack newTHStack = xform1 c_thstack_newthstack------instance FPtr (Exist THStack) where-  type Raw (Exist THStack) = RawTHStack-  get_fptr (ETHStack obj) = castForeignPtr (get_fptr obj)-  cast_fptr_to_obj fptr = ETHStack (cast_fptr_to_obj (fptr :: ForeignPtr RawTHStack) :: THStack)
src/HROOT/Hist/THStack/Interface.hs view
@@ -1,36 +1,25 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}---- module HROOT.Class.Interface where-+{-# LANGUAGE EmptyDataDecls, ExistentialQuantification,+  FlexibleContexts, FlexibleInstances, ForeignFunctionInterface,+  MultiParamTypeClasses, ScopedTypeVariables, TypeFamilies,+  TypeSynonymInstances #-} module HROOT.Hist.THStack.Interface where-- import Data.Word import Foreign.C import Foreign.Ptr-import Foreign.ForeignPtr import FFICXX.Runtime.Cast- import HROOT.Hist.THStack.RawType- import HROOT.Core.TNamed.Interface----- ============ ---- ---class (ITNamed a) => ITHStack a where--instance Existable THStack where-  data Exist THStack = forall a. (FPtr a, ITHStack a) => ETHStack a+class ITNamed a => ITHStack a -upcastTHStack :: (FPtr a, ITHStack a) => a -> THStack-upcastTHStack h = let fh = get_fptr h-                      fh2 :: ForeignPtr RawTHStack = castForeignPtr fh-                  in cast_fptr_to_obj fh2+upcastTHStack :: forall a . (FPtr a, ITHStack a) => a -> THStack+upcastTHStack h+  = let fh = get_fptr h+        fh2 :: Ptr RawTHStack = castPtr fh+      in cast_fptr_to_obj fh2 -downcastTHStack :: (FPtr a, ITHStack a) => THStack -> a -downcastTHStack h = let fh = get_fptr h-                        fh2 = castForeignPtr fh-                    in cast_fptr_to_obj fh2+downcastTHStack :: forall a . (FPtr a, ITHStack a) => THStack -> a+downcastTHStack h+  = let fh = get_fptr h+        fh2 = castPtr fh+      in cast_fptr_to_obj fh2
src/HROOT/Hist/THStack/RawType.hs view
@@ -1,16 +1,16 @@-{-# LANGUAGE ForeignFunctionInterface, TypeFamilies, MultiParamTypeClasses, -             FlexibleInstances, TypeSynonymInstances, -             EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-}-+{-# LANGUAGE ForeignFunctionInterface, TypeFamilies,+  MultiParamTypeClasses, FlexibleInstances, TypeSynonymInstances,+  EmptyDataDecls, ExistentialQuantification, ScopedTypeVariables #-} module HROOT.Hist.THStack.RawType where+import Foreign.Ptr+import FFICXX.Runtime.Cast +data RawTHStack -import Foreign.ForeignPtr-import FFICXX.Runtime.Cast  +newtype THStack = THStack (Ptr RawTHStack)+                deriving (Eq, Ord, Show) -data RawTHStack-newtype THStack = THStack (ForeignPtr RawTHStack) deriving (Eq, Ord, Show) instance FPtr THStack where-   type Raw THStack = RawTHStack-   get_fptr (THStack fptr) = fptr-   cast_fptr_to_obj = THStack+        type Raw THStack = RawTHStack+        get_fptr (THStack ptr) = ptr+        cast_fptr_to_obj = THStack