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"""
115 thisown = _swig_property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
'The membership flag')
117 def __init__(self, *args, **kwargs):
118 raise AttributeError(
"No constructor defined - class is abstract")
119 __repr__ = _swig_repr
120 __swig_destroy__ = _IMP_benchmark.delete_IMP_BENCHMARK_SwigPyIterator
121 __del__ =
lambda self:
None
124 """value(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
125 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_value(self)
130 incr(IMP_BENCHMARK_SwigPyIterator self, size_t n=1) -> IMP_BENCHMARK_SwigPyIterator
131 incr(IMP_BENCHMARK_SwigPyIterator self) -> IMP_BENCHMARK_SwigPyIterator
133 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_incr(self, n)
138 decr(IMP_BENCHMARK_SwigPyIterator self, size_t n=1) -> IMP_BENCHMARK_SwigPyIterator
139 decr(IMP_BENCHMARK_SwigPyIterator self) -> IMP_BENCHMARK_SwigPyIterator
141 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_decr(self, n)
144 def distance(self, x):
145 """distance(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> ptrdiff_t"""
146 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_distance(self, x)
150 """equal(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> bool"""
151 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_equal(self, x)
155 """copy(IMP_BENCHMARK_SwigPyIterator self) -> IMP_BENCHMARK_SwigPyIterator"""
156 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_copy(self)
160 """next(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
161 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_next(self)
165 """__next__(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
166 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___next__(self)
170 """previous(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
171 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_previous(self)
174 def advance(self, n):
175 """advance(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
176 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_advance(self, n)
180 """__eq__(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> bool"""
181 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___eq__(self, x)
185 """__ne__(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> bool"""
186 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___ne__(self, x)
189 def __iadd__(self, n):
190 """__iadd__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
191 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___iadd__(self, n)
194 def __isub__(self, n):
195 """__isub__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
196 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___isub__(self, n)
199 def __add__(self, n):
200 """__add__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
201 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___add__(self, n)
204 def __sub__(self, *args):
206 __sub__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator
207 __sub__(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> ptrdiff_t
209 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___sub__(self, *args)
213 IMP_BENCHMARK_SwigPyIterator_swigregister = _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_swigregister
214 IMP_BENCHMARK_SwigPyIterator_swigregister(IMP_BENCHMARK_SwigPyIterator)
223 _IMP_benchmark.IMP_DEBUG_swigconstant(_IMP_benchmark)
224 IMP_DEBUG = _IMP_benchmark.IMP_DEBUG
226 _IMP_benchmark.IMP_RELEASE_swigconstant(_IMP_benchmark)
227 IMP_RELEASE = _IMP_benchmark.IMP_RELEASE
229 _IMP_benchmark.IMP_SILENT_swigconstant(_IMP_benchmark)
230 IMP_SILENT = _IMP_benchmark.IMP_SILENT
232 _IMP_benchmark.IMP_PROGRESS_swigconstant(_IMP_benchmark)
233 IMP_PROGRESS = _IMP_benchmark.IMP_PROGRESS
235 _IMP_benchmark.IMP_TERSE_swigconstant(_IMP_benchmark)
236 IMP_TERSE = _IMP_benchmark.IMP_TERSE
238 _IMP_benchmark.IMP_VERBOSE_swigconstant(_IMP_benchmark)
239 IMP_VERBOSE = _IMP_benchmark.IMP_VERBOSE
241 _IMP_benchmark.IMP_MEMORY_swigconstant(_IMP_benchmark)
242 IMP_MEMORY = _IMP_benchmark.IMP_MEMORY
244 _IMP_benchmark.IMP_NONE_swigconstant(_IMP_benchmark)
245 IMP_NONE = _IMP_benchmark.IMP_NONE
247 _IMP_benchmark.IMP_USAGE_swigconstant(_IMP_benchmark)
248 IMP_USAGE = _IMP_benchmark.IMP_USAGE
250 _IMP_benchmark.IMP_INTERNAL_swigconstant(_IMP_benchmark)
251 IMP_INTERNAL = _IMP_benchmark.IMP_INTERNAL
253 _IMP_benchmark.IMP_KERNEL_HAS_LOG4CXX_swigconstant(_IMP_benchmark)
254 IMP_KERNEL_HAS_LOG4CXX = _IMP_benchmark.IMP_KERNEL_HAS_LOG4CXX
256 _IMP_benchmark.IMP_COMPILER_HAS_AUTO_swigconstant(_IMP_benchmark)
257 IMP_COMPILER_HAS_AUTO = _IMP_benchmark.IMP_COMPILER_HAS_AUTO
259 _IMP_benchmark.IMP_COMPILER_HAS_DEBUG_VECTOR_swigconstant(_IMP_benchmark)
260 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_benchmark.IMP_COMPILER_HAS_DEBUG_VECTOR
262 _IMP_benchmark.IMP_COMPILER_HAS_UNIQUE_PTR_swigconstant(_IMP_benchmark)
263 IMP_COMPILER_HAS_UNIQUE_PTR = _IMP_benchmark.IMP_COMPILER_HAS_UNIQUE_PTR
265 _IMP_benchmark.IMP_KERNEL_HAS_BOOST_RANDOM_swigconstant(_IMP_benchmark)
266 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_benchmark.IMP_KERNEL_HAS_BOOST_RANDOM
268 _IMP_benchmark.IMP_KERNEL_HAS_GPERFTOOLS_swigconstant(_IMP_benchmark)
269 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_benchmark.IMP_KERNEL_HAS_GPERFTOOLS
271 _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER_swigconstant(_IMP_benchmark)
272 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
274 _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER_swigconstant(_IMP_benchmark)
275 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
277 _IMP_benchmark.IMPKERNEL_SHOW_WARNINGS_swigconstant(_IMP_benchmark)
278 IMPKERNEL_SHOW_WARNINGS = _IMP_benchmark.IMPKERNEL_SHOW_WARNINGS
281 class _DirectorObjects(object):
282 """@internal Simple class to keep references to director objects
283 to prevent premature deletion."""
286 def register(self, obj):
287 """Take a reference to a director object; will only work for
288 refcounted C++ classes"""
289 if hasattr(obj,
'get_ref_count'):
290 self._objects.append(obj)
292 """Only drop our reference and allow cleanup by Python if no other
293 Python references exist (we hold 3 references: one in self._objects,
294 one in x, and one in the argument list for getrefcount) *and* no
295 other C++ references exist (the Python object always holds one)"""
296 objs = [x
for x
in self._objects
if sys.getrefcount(x) > 3 \
297 or x.get_ref_count() > 1]
301 def get_object_count(self):
302 """Get number of director objects (useful for testing only)"""
303 return len(self._objects)
304 _director_objects = _DirectorObjects()
306 class _ostream(object):
307 """Proxy of C++ std::ostream class"""
308 thisown = _swig_property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
'The membership flag')
310 def __init__(self, *args, **kwargs):
311 raise AttributeError(
"No constructor defined")
312 __repr__ = _swig_repr
314 def write(self, osa_buf):
315 """write(_ostream self, char const * osa_buf)"""
316 return _IMP_benchmark._ostream_write(self, osa_buf)
318 _ostream_swigregister = _IMP_benchmark._ostream_swigregister
319 _ostream_swigregister(_ostream)
322 _IMP_benchmark.IMP_COMPILER_HAS_OVERRIDE_swigconstant(_IMP_benchmark)
323 IMP_COMPILER_HAS_OVERRIDE = _IMP_benchmark.IMP_COMPILER_HAS_OVERRIDE
325 _IMP_benchmark.IMP_COMPILER_HAS_FINAL_swigconstant(_IMP_benchmark)
326 IMP_COMPILER_HAS_FINAL = _IMP_benchmark.IMP_COMPILER_HAS_FINAL
328 _IMP_benchmark.IMP_HAS_NOEXCEPT_swigconstant(_IMP_benchmark)
329 IMP_HAS_NOEXCEPT = _IMP_benchmark.IMP_HAS_NOEXCEPT
332 _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_FILESYSTEM_swigconstant(_IMP_benchmark)
333 IMP_BENCHMARK_HAS_BOOST_FILESYSTEM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_FILESYSTEM
335 _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_PROGRAMOPTIONS_swigconstant(_IMP_benchmark)
336 IMP_BENCHMARK_HAS_BOOST_PROGRAMOPTIONS = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_PROGRAMOPTIONS
338 _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_RANDOM_swigconstant(_IMP_benchmark)
339 IMP_BENCHMARK_HAS_BOOST_RANDOM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_RANDOM
341 _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_SYSTEM_swigconstant(_IMP_benchmark)
342 IMP_BENCHMARK_HAS_BOOST_SYSTEM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_SYSTEM
344 _IMP_benchmark.IMPBENCHMARK_SHOW_WARNINGS_swigconstant(_IMP_benchmark)
345 IMPBENCHMARK_SHOW_WARNINGS = _IMP_benchmark.IMPBENCHMARK_SHOW_WARNINGS
347 _raii_types.append(
"Profiler")
352 report(std::string benchmark, std::string algorithm, double time, double check)
353 report(std::string benchmark, double time, double check)
355 return _IMP_benchmark.report(*args)
357 def get_return_value():
358 """get_return_value() -> int"""
359 return _IMP_benchmark.get_return_value()
360 class Profiler(IMP._RAII):
361 """Proxy of C++ IMP::benchmark::Profiler class"""
362 thisown = _swig_property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
'The membership flag')
364 def __init__(self, *args):
366 __init__(IMP::benchmark::Profiler self) -> Profiler
367 __init__(IMP::benchmark::Profiler self, std::string name) -> Profiler
369 this = _IMP_benchmark.new_Profiler(*args)
371 self.this.append(this)
376 """set(Profiler self, std::string name)"""
377 return _IMP_benchmark.Profiler_set(self, name)
381 """reset(Profiler self)"""
382 return _IMP_benchmark.Profiler_reset(self)
384 __swig_destroy__ = _IMP_benchmark.delete_Profiler
385 __del__ =
lambda self:
None
387 def show(self, *args):
389 show(Profiler self, _ostream out)
392 return _IMP_benchmark.Profiler_show(self, *args)
397 def __exit__(self, exc_type, exc_val, exc_tb):
403 """__str__(Profiler self) -> std::string"""
404 return _IMP_benchmark.Profiler___str__(self)
408 """__repr__(Profiler self) -> std::string"""
409 return _IMP_benchmark.Profiler___repr__(self)
411 Profiler_swigregister = _IMP_benchmark.Profiler_swigregister
412 Profiler_swigregister(Profiler)
415 def get_module_version():
416 """get_module_version() -> std::string const"""
417 return _IMP_benchmark.get_module_version()
420 """get_example_path(std::string fname) -> std::string"""
421 return _IMP_benchmark.get_example_path(fname)
424 """get_data_path(std::string fname) -> std::string"""
425 return _IMP_benchmark.get_data_path(fname)
427 from .
import _version_check
428 _version_check.check_version(get_module_version())
429 __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.