10 from __future__
import print_function, division, absolute_import
15 from sys
import version_info
16 if version_info >= (2, 6, 0):
17 def swig_import_helper():
18 from os.path
import dirname
22 fp, pathname, description = imp.find_module(
'_IMP_benchmark', [dirname(__file__)])
28 _mod = imp.load_module(
'_IMP_benchmark', fp, pathname, description)
32 _IMP_benchmark = swig_import_helper()
33 del swig_import_helper
38 _swig_property = property
43 def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
44 if (name ==
"thisown"):
45 return self.this.own(value)
47 if type(value).__name__ ==
'SwigPyObject':
48 self.__dict__[name] = value
50 method = class_type.__swig_setmethods__.get(name,
None)
52 return method(self, value)
54 object.__setattr__(self, name, value)
56 raise AttributeError(
"You cannot add attributes to %s" % self)
59 def _swig_setattr(self, class_type, name, value):
60 return _swig_setattr_nondynamic(self, class_type, name, value, 0)
63 def _swig_getattr_nondynamic(self, class_type, name, static=1):
64 if (name ==
"thisown"):
65 return self.this.own()
66 method = class_type.__swig_getmethods__.get(name,
None)
70 return object.__getattr__(self, name)
72 raise AttributeError(name)
74 def _swig_getattr(self, class_type, name):
75 return _swig_getattr_nondynamic(self, class_type, name, 0)
80 strthis =
"proxy of " + self.this.__repr__()
83 return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
88 except AttributeError:
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
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)
224 _IMP_benchmark.IMP_DEBUG_swigconstant(_IMP_benchmark)
225 IMP_DEBUG = _IMP_benchmark.IMP_DEBUG
227 _IMP_benchmark.IMP_RELEASE_swigconstant(_IMP_benchmark)
228 IMP_RELEASE = _IMP_benchmark.IMP_RELEASE
230 _IMP_benchmark.IMP_SILENT_swigconstant(_IMP_benchmark)
231 IMP_SILENT = _IMP_benchmark.IMP_SILENT
233 _IMP_benchmark.IMP_PROGRESS_swigconstant(_IMP_benchmark)
234 IMP_PROGRESS = _IMP_benchmark.IMP_PROGRESS
236 _IMP_benchmark.IMP_TERSE_swigconstant(_IMP_benchmark)
237 IMP_TERSE = _IMP_benchmark.IMP_TERSE
239 _IMP_benchmark.IMP_VERBOSE_swigconstant(_IMP_benchmark)
240 IMP_VERBOSE = _IMP_benchmark.IMP_VERBOSE
242 _IMP_benchmark.IMP_MEMORY_swigconstant(_IMP_benchmark)
243 IMP_MEMORY = _IMP_benchmark.IMP_MEMORY
245 _IMP_benchmark.IMP_NONE_swigconstant(_IMP_benchmark)
246 IMP_NONE = _IMP_benchmark.IMP_NONE
248 _IMP_benchmark.IMP_USAGE_swigconstant(_IMP_benchmark)
249 IMP_USAGE = _IMP_benchmark.IMP_USAGE
251 _IMP_benchmark.IMP_INTERNAL_swigconstant(_IMP_benchmark)
252 IMP_INTERNAL = _IMP_benchmark.IMP_INTERNAL
254 _IMP_benchmark.IMP_KERNEL_HAS_LOG4CXX_swigconstant(_IMP_benchmark)
255 IMP_KERNEL_HAS_LOG4CXX = _IMP_benchmark.IMP_KERNEL_HAS_LOG4CXX
257 _IMP_benchmark.IMP_COMPILER_HAS_AUTO_swigconstant(_IMP_benchmark)
258 IMP_COMPILER_HAS_AUTO = _IMP_benchmark.IMP_COMPILER_HAS_AUTO
260 _IMP_benchmark.IMP_COMPILER_HAS_DEBUG_VECTOR_swigconstant(_IMP_benchmark)
261 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_benchmark.IMP_COMPILER_HAS_DEBUG_VECTOR
263 _IMP_benchmark.IMP_COMPILER_HAS_UNIQUE_PTR_swigconstant(_IMP_benchmark)
264 IMP_COMPILER_HAS_UNIQUE_PTR = _IMP_benchmark.IMP_COMPILER_HAS_UNIQUE_PTR
266 _IMP_benchmark.IMP_KERNEL_HAS_BOOST_RANDOM_swigconstant(_IMP_benchmark)
267 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_benchmark.IMP_KERNEL_HAS_BOOST_RANDOM
269 _IMP_benchmark.IMP_KERNEL_HAS_GPERFTOOLS_swigconstant(_IMP_benchmark)
270 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_benchmark.IMP_KERNEL_HAS_GPERFTOOLS
272 _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER_swigconstant(_IMP_benchmark)
273 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
275 _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER_swigconstant(_IMP_benchmark)
276 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
278 _IMP_benchmark.IMPKERNEL_SHOW_WARNINGS_swigconstant(_IMP_benchmark)
279 IMPKERNEL_SHOW_WARNINGS = _IMP_benchmark.IMPKERNEL_SHOW_WARNINGS
282 class _DirectorObjects(object):
283 """@internal Simple class to keep references to director objects
284 to prevent premature deletion."""
287 def register(self, obj):
288 """Take a reference to a director object; will only work for
289 refcounted C++ classes"""
290 if hasattr(obj,
'get_ref_count'):
291 self._objects.append(obj)
293 """Only drop our reference and allow cleanup by Python if no other
294 Python references exist (we hold 3 references: one in self._objects,
295 one in x, and one in the argument list for getrefcount) *and* no
296 other C++ references exist (the Python object always holds one)"""
297 objs = [x
for x
in self._objects
if sys.getrefcount(x) > 3 \
298 or x.get_ref_count() > 1]
302 def get_object_count(self):
303 """Get number of director objects (useful for testing only)"""
304 return len(self._objects)
305 _director_objects = _DirectorObjects()
307 class _ostream(object):
308 """Proxy of C++ std::ostream class."""
310 thisown = _swig_property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
'The membership flag')
312 def __init__(self, *args, **kwargs):
313 raise AttributeError(
"No constructor defined")
314 __repr__ = _swig_repr
316 def write(self, osa_buf):
317 """write(_ostream self, char const * osa_buf)"""
318 return _IMP_benchmark._ostream_write(self, osa_buf)
320 _ostream_swigregister = _IMP_benchmark._ostream_swigregister
321 _ostream_swigregister(_ostream)
324 _IMP_benchmark.IMP_COMPILER_HAS_OVERRIDE_swigconstant(_IMP_benchmark)
325 IMP_COMPILER_HAS_OVERRIDE = _IMP_benchmark.IMP_COMPILER_HAS_OVERRIDE
327 _IMP_benchmark.IMP_COMPILER_HAS_FINAL_swigconstant(_IMP_benchmark)
328 IMP_COMPILER_HAS_FINAL = _IMP_benchmark.IMP_COMPILER_HAS_FINAL
330 _IMP_benchmark.IMP_HAS_NOEXCEPT_swigconstant(_IMP_benchmark)
331 IMP_HAS_NOEXCEPT = _IMP_benchmark.IMP_HAS_NOEXCEPT
334 _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_FILESYSTEM_swigconstant(_IMP_benchmark)
335 IMP_BENCHMARK_HAS_BOOST_FILESYSTEM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_FILESYSTEM
337 _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_PROGRAMOPTIONS_swigconstant(_IMP_benchmark)
338 IMP_BENCHMARK_HAS_BOOST_PROGRAMOPTIONS = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_PROGRAMOPTIONS
340 _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_RANDOM_swigconstant(_IMP_benchmark)
341 IMP_BENCHMARK_HAS_BOOST_RANDOM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_RANDOM
343 _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_SYSTEM_swigconstant(_IMP_benchmark)
344 IMP_BENCHMARK_HAS_BOOST_SYSTEM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_SYSTEM
346 _IMP_benchmark.IMPBENCHMARK_SHOW_WARNINGS_swigconstant(_IMP_benchmark)
347 IMPBENCHMARK_SHOW_WARNINGS = _IMP_benchmark.IMPBENCHMARK_SHOW_WARNINGS
349 _raii_types.append(
"Profiler")
354 report(std::string benchmark, std::string algorithm, double time, double check)
355 report(std::string benchmark, double time, double check)
357 return _IMP_benchmark.report(*args)
359 def get_return_value():
360 """get_return_value() -> int"""
361 return _IMP_benchmark.get_return_value()
362 class Profiler(IMP._RAII):
363 """Proxy of C++ IMP::benchmark::Profiler class."""
365 thisown = _swig_property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
'The membership flag')
367 def __init__(self, *args):
369 __init__(IMP::benchmark::Profiler self) -> Profiler
370 __init__(IMP::benchmark::Profiler self, std::string name) -> Profiler
372 this = _IMP_benchmark.new_Profiler(*args)
374 self.this.append(this)
379 """set(Profiler self, std::string name)"""
380 return _IMP_benchmark.Profiler_set(self, name)
384 """reset(Profiler self)"""
385 return _IMP_benchmark.Profiler_reset(self)
387 __swig_destroy__ = _IMP_benchmark.delete_Profiler
388 __del__ =
lambda self:
None
390 def show(self, *args):
392 show(Profiler self, _ostream out)
395 return _IMP_benchmark.Profiler_show(self, *args)
400 def __exit__(self, exc_type, exc_val, exc_tb):
406 """__str__(Profiler self) -> std::string"""
407 return _IMP_benchmark.Profiler___str__(self)
411 """__repr__(Profiler self) -> std::string"""
412 return _IMP_benchmark.Profiler___repr__(self)
414 Profiler_swigregister = _IMP_benchmark.Profiler_swigregister
415 Profiler_swigregister(Profiler)
418 def get_module_version():
419 """get_module_version() -> std::string const"""
420 return _IMP_benchmark.get_module_version()
423 """get_example_path(std::string fname) -> std::string"""
424 return _IMP_benchmark.get_example_path(fname)
427 """get_data_path(std::string fname) -> std::string"""
428 return _IMP_benchmark.get_data_path(fname)
430 from .
import _version_check
431 _version_check.check_version(get_module_version())
432 __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.