Author: Wim Lavrijsen <[email protected]>
Branch: reflex-support
Changeset: r54164:ea7e2c6e0d5b
Date: 2012-03-30 16:52 -0700
http://bitbucket.org/pypy/pypy/changeset/ea7e2c6e0d5b/
Log: easier use for testing the various executables
diff --git a/pypy/module/cppyy/bench/bench02.h
b/pypy/module/cppyy/bench/bench02.h
--- a/pypy/module/cppyy/bench/bench02.h
+++ b/pypy/module/cppyy/bench/bench02.h
@@ -7,12 +7,15 @@
#include "TH1F.h"
#include "TH2F.h"
#include "TRandom.h"
+#include "TRandom3.h"
#include "TROOT.h"
#include "TApplication.h"
+#include "TSystem.h"
#include "TArchiveFile.h"
#include "TBasket.h"
+#include "TBenchmark.h"
#include "TBox.h"
#include "TBranchRef.h"
#include "TBrowser.h"
@@ -67,10 +70,3 @@
void report();
void close_file(TFile* f);
};
-
-/*
-gROOT = cppyy.gbl.gROOT
-gBenchmark = cppyy.gbl.gBenchmark
-gRandom = cppyy.gbl.gRandom
-gSystem = cppyy.gbl.gSystem
-*/
diff --git a/pypy/module/cppyy/bench/bench02.xml
b/pypy/module/cppyy/bench/bench02.xml
--- a/pypy/module/cppyy/bench/bench02.xml
+++ b/pypy/module/cppyy/bench/bench02.xml
@@ -7,6 +7,11 @@
<class pattern="ROOT::T[A-Z]*" />
<class pattern="ROOT::Fit::*" />
+ <!-- ROOT globals -->
+ <variable name="gROOT" />
+ <variable name="gSystem" />
+ <variable name="gRandom" />
+
<!-- STL classes actually used -->
<class name="std::string" />
<class name="std::ostream" />
diff --git a/pypy/module/cppyy/bench/hsimple.py
b/pypy/module/cppyy/bench/hsimple.py
--- a/pypy/module/cppyy/bench/hsimple.py
+++ b/pypy/module/cppyy/bench/hsimple.py
@@ -10,9 +10,15 @@
#*-*
#*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
+_reflex = True # to keep things equal, set to False for full macro
+
try:
import cppyy, random
+ if not hasattr(cppyy.gbl, 'gROOT'):
+ cppyy.load_reflection_info('bench02Dict_reflex.so')
+ _reflex = True
+
TCanvas = cppyy.gbl.TCanvas
TFile = cppyy.gbl.TFile
TProfile = cppyy.gbl.TProfile
@@ -30,22 +36,27 @@
from ROOT import gROOT, gBenchmark, gSystem
import random
+if _reflex:
+ gROOT.SetBatch(True)
+
# Create a new ROOT binary machine independent file.
# Note that this file may contain any kind of ROOT objects, histograms,
# pictures, graphics objects, detector geometries, tracks, events, etc..
# This file is now becoming the current directory.
-hfile = gROOT.FindObject('hsimple.root')
-if hfile:
- hfile.Close()
-hfile = TFile('hsimple.root', 'RECREATE', 'Demo ROOT file with histograms' )
+if not _reflex:
+ hfile = gROOT.FindObject('hsimple.root')
+ if hfile:
+ hfile.Close()
+ hfile = TFile('hsimple.root', 'RECREATE', 'Demo ROOT file with histograms'
)
# Create some histograms, a profile histogram and an ntuple
hpx = TH1F('hpx', 'This is the px distribution', 100, -4, 4)
hpx.SetFillColor(48)
hpxpy = TH2F('hpxpy', 'py vs px', 40, -4, 4, 40, -4, 4)
hprof = TProfile('hprof', 'Profile of pz versus px', 100, -4, 4, 0, 20)
-ntuple = TNtuple('ntuple', 'Demo ntuple', 'px:py:pz:random:i')
+if not _reflex:
+ ntuple = TNtuple('ntuple', 'Demo ntuple', 'px:py:pz:random:i')
gBenchmark.Start('hsimple')
@@ -71,14 +82,15 @@
hpx.Fill(px)
hpxpy.Fill(px, py)
hprof.Fill(px, pz)
- ntuple.Fill(px, py, pz, rnd, i)
+ if not _reflex:
+ ntuple.Fill(px, py, pz, rnd, i)
# Update display every kUPDATE events
if i and i%kUPDATE == 0:
if i == kUPDATE:
hpx.Draw()
- c1.Modified()
+ c1.Modified(True)
c1.Update()
if gSystem.ProcessEvents(): # allow user interrupt
@@ -88,9 +100,10 @@
# Save all objects in this file
hpx.SetFillColor(0)
-hfile.Write()
+if not _reflex:
+ hfile.Write()
hpx.SetFillColor(48)
-c1.Modified()
+c1.Modified(True)
c1.Update()
# Note that the file is automatically closed when application terminates
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit