10 from __future__
import print_function, division, absolute_import
15 from sys
import version_info
as _swig_python_version_info
16 if _swig_python_version_info >= (2, 7, 0):
17 def swig_import_helper():
19 pkg = __name__.rpartition(
'.')[0]
20 mname =
'.'.join((pkg,
'_IMP_benchmark')).lstrip(
'.')
22 return importlib.import_module(mname)
24 return importlib.import_module(
'_IMP_benchmark')
25 _IMP_benchmark = swig_import_helper()
26 del swig_import_helper
27 elif _swig_python_version_info >= (2, 6, 0):
28 def swig_import_helper():
29 from os.path
import dirname
33 fp, pathname, description = imp.find_module(
'_IMP_benchmark', [dirname(__file__)])
39 _mod = imp.load_module(
'_IMP_benchmark', fp, pathname, description)
43 _IMP_benchmark = swig_import_helper()
44 del swig_import_helper
47 del _swig_python_version_info
49 _swig_property = property
54 import builtins
as __builtin__
58 def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
59 if (name ==
"thisown"):
60 return self.this.own(value)
62 if type(value).__name__ ==
'SwigPyObject':
63 self.__dict__[name] = value
65 method = class_type.__swig_setmethods__.get(name,
None)
67 return method(self, value)
69 object.__setattr__(self, name, value)
71 raise AttributeError(
"You cannot add attributes to %s" % self)
74 def _swig_setattr(self, class_type, name, value):
75 return _swig_setattr_nondynamic(self, class_type, name, value, 0)
78 def _swig_getattr(self, class_type, name):
79 if (name ==
"thisown"):
80 return self.this.own()
81 method = class_type.__swig_getmethods__.get(name,
None)
84 raise AttributeError(
"'%s' object has no attribute '%s'" % (class_type.__name__, name))
89 strthis =
"proxy of " + self.this.__repr__()
90 except __builtin__.Exception:
92 return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
95 def _swig_setattr_nondynamic_method(set):
96 def set_attr(self, name, value):
97 if (name ==
"thisown"):
98 return self.this.own(value)
99 if hasattr(self, name)
or (name ==
"this"):
100 set(self, name, value)
102 raise AttributeError(
"You cannot add attributes to %s" % self)
108 weakref_proxy = weakref.proxy
109 except __builtin__.Exception:
110 weakref_proxy =
lambda x: x
113 class IMP_BENCHMARK_SwigPyIterator(object):
114 """Proxy of C++ swig::IMP_BENCHMARK_SwigPyIterator class."""
116 thisown = _swig_property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
'The membership flag')
118 def __init__(self, *args, **kwargs):
119 raise AttributeError(
"No constructor defined - class is abstract")
120 __repr__ = _swig_repr
121 __swig_destroy__ = _IMP_benchmark.delete_IMP_BENCHMARK_SwigPyIterator
122 __del__ =
lambda self:
None
125 """value(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
126 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_value(self)
131 incr(IMP_BENCHMARK_SwigPyIterator self, size_t n=1) -> IMP_BENCHMARK_SwigPyIterator
132 incr(IMP_BENCHMARK_SwigPyIterator self) -> IMP_BENCHMARK_SwigPyIterator
134 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_incr(self, n)
139 decr(IMP_BENCHMARK_SwigPyIterator self, size_t n=1) -> IMP_BENCHMARK_SwigPyIterator
140 decr(IMP_BENCHMARK_SwigPyIterator self) -> IMP_BENCHMARK_SwigPyIterator
142 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_decr(self, n)
145 def distance(self, x):
146 """distance(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> ptrdiff_t"""
147 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_distance(self, x)
151 """equal(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> bool"""
152 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_equal(self, x)
156 """copy(IMP_BENCHMARK_SwigPyIterator self) -> IMP_BENCHMARK_SwigPyIterator"""
157 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_copy(self)
161 """next(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
162 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_next(self)
166 """__next__(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
167 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___next__(self)
171 """previous(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
172 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_previous(self)
175 def advance(self, n):
176 """advance(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
177 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_advance(self, n)
181 """__eq__(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> bool"""
182 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___eq__(self, x)
186 """__ne__(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> bool"""
187 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___ne__(self, x)
190 def __iadd__(self, n):
191 """__iadd__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
192 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___iadd__(self, n)
195 def __isub__(self, n):
196 """__isub__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
197 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___isub__(self, n)
200 def __add__(self, n):
201 """__add__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
202 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___add__(self, n)
205 def __sub__(self, *args):
207 __sub__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator
208 __sub__(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> ptrdiff_t
210 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___sub__(self, *args)
214 IMP_BENCHMARK_SwigPyIterator_swigregister = _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_swigregister
215 IMP_BENCHMARK_SwigPyIterator_swigregister(IMP_BENCHMARK_SwigPyIterator)
223 IMP_DEBUG = _IMP_benchmark.IMP_DEBUG
224 IMP_RELEASE = _IMP_benchmark.IMP_RELEASE
225 IMP_SILENT = _IMP_benchmark.IMP_SILENT
226 IMP_PROGRESS = _IMP_benchmark.IMP_PROGRESS
227 IMP_TERSE = _IMP_benchmark.IMP_TERSE
228 IMP_VERBOSE = _IMP_benchmark.IMP_VERBOSE
229 IMP_MEMORY = _IMP_benchmark.IMP_MEMORY
230 IMP_NONE = _IMP_benchmark.IMP_NONE
231 IMP_USAGE = _IMP_benchmark.IMP_USAGE
232 IMP_INTERNAL = _IMP_benchmark.IMP_INTERNAL
233 IMP_KERNEL_HAS_LOG4CXX = _IMP_benchmark.IMP_KERNEL_HAS_LOG4CXX
234 IMP_COMPILER_HAS_AUTO = _IMP_benchmark.IMP_COMPILER_HAS_AUTO
235 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_benchmark.IMP_COMPILER_HAS_DEBUG_VECTOR
236 IMP_COMPILER_HAS_UNIQUE_PTR = _IMP_benchmark.IMP_COMPILER_HAS_UNIQUE_PTR
237 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_benchmark.IMP_KERNEL_HAS_BOOST_RANDOM
238 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_benchmark.IMP_KERNEL_HAS_GPERFTOOLS
239 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
240 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
241 IMPKERNEL_SHOW_WARNINGS = _IMP_benchmark.IMPKERNEL_SHOW_WARNINGS
244 class _DirectorObjects(object):
245 """@internal Simple class to keep references to director objects
246 to prevent premature deletion."""
249 def register(self, obj):
250 """Take a reference to a director object; will only work for
251 refcounted C++ classes"""
252 if hasattr(obj,
'get_ref_count'):
253 self._objects.append(obj)
255 """Only drop our reference and allow cleanup by Python if no other
256 Python references exist (we hold 3 references: one in self._objects,
257 one in x, and one in the argument list for getrefcount) *and* no
258 other C++ references exist (the Python object always holds one)"""
259 objs = [x
for x
in self._objects
if sys.getrefcount(x) > 3 \
260 or x.get_ref_count() > 1]
264 def get_object_count(self):
265 """Get number of director objects (useful for testing only)"""
266 return len(self._objects)
267 _director_objects = _DirectorObjects()
269 class _ostream(object):
270 """Proxy of C++ std::ostream class."""
272 thisown = _swig_property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
'The membership flag')
274 def __init__(self, *args, **kwargs):
275 raise AttributeError(
"No constructor defined")
276 __repr__ = _swig_repr
278 def write(self, osa_buf):
279 """write(_ostream self, char const * osa_buf)"""
280 return _IMP_benchmark._ostream_write(self, osa_buf)
282 _ostream_swigregister = _IMP_benchmark._ostream_swigregister
283 _ostream_swigregister(_ostream)
285 IMP_COMPILER_HAS_OVERRIDE = _IMP_benchmark.IMP_COMPILER_HAS_OVERRIDE
286 IMP_COMPILER_HAS_FINAL = _IMP_benchmark.IMP_COMPILER_HAS_FINAL
287 IMP_HAS_NOEXCEPT = _IMP_benchmark.IMP_HAS_NOEXCEPT
288 IMP_C_OPEN_BINARY = _IMP_benchmark.IMP_C_OPEN_BINARY
290 IMP_BENCHMARK_HAS_BOOST_FILESYSTEM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_FILESYSTEM
291 IMP_BENCHMARK_HAS_BOOST_PROGRAMOPTIONS = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_PROGRAMOPTIONS
292 IMP_BENCHMARK_HAS_BOOST_RANDOM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_RANDOM
293 IMP_BENCHMARK_HAS_BOOST_SYSTEM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_SYSTEM
294 IMPBENCHMARK_SHOW_WARNINGS = _IMP_benchmark.IMPBENCHMARK_SHOW_WARNINGS
296 _raii_types.append(
"Profiler")
301 report(std::string benchmark, std::string algorithm, double time, double check)
302 report(std::string benchmark, double time, double check)
304 return _IMP_benchmark.report(*args)
306 def get_return_value():
307 """get_return_value() -> int"""
308 return _IMP_benchmark.get_return_value()
309 class Profiler(IMP._RAII):
310 """Proxy of C++ IMP::benchmark::Profiler class."""
312 thisown = _swig_property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
'The membership flag')
314 def __init__(self, *args):
316 __init__(IMP::benchmark::Profiler self) -> Profiler
317 __init__(IMP::benchmark::Profiler self, std::string name) -> Profiler
319 this = _IMP_benchmark.new_Profiler(*args)
321 self.this.append(this)
322 except __builtin__.Exception:
326 """set(Profiler self, std::string name)"""
327 return _IMP_benchmark.Profiler_set(self, name)
331 """reset(Profiler self)"""
332 return _IMP_benchmark.Profiler_reset(self)
334 __swig_destroy__ = _IMP_benchmark.delete_Profiler
335 __del__ =
lambda self:
None
337 def show(self, *args):
339 show(Profiler self, _ostream out)
342 return _IMP_benchmark.Profiler_show(self, *args)
347 def __exit__(self, exc_type, exc_val, exc_tb):
353 """__str__(Profiler self) -> std::string"""
354 return _IMP_benchmark.Profiler___str__(self)
358 """__repr__(Profiler self) -> std::string"""
359 return _IMP_benchmark.Profiler___repr__(self)
361 Profiler_swigregister = _IMP_benchmark.Profiler_swigregister
362 Profiler_swigregister(Profiler)
365 def get_module_version():
366 """get_module_version() -> std::string const"""
367 return _IMP_benchmark.get_module_version()
370 """get_example_path(std::string fname) -> std::string"""
371 return _IMP_benchmark.get_example_path(fname)
374 """get_data_path(std::string fname) -> std::string"""
375 return _IMP_benchmark.get_data_path(fname)
377 from .
import _version_check
378 _version_check.check_version(get_module_version())
379 __version__ = get_module_version()
void report(std::string benchmark, std::string algorithm, double time, double check)
Report a benchmark result in a standard way.
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node.
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.