14 from sys
import version_info
as _swig_python_version_info
18 import builtins
as __builtin__
24 strthis =
"proxy of " + self.this.__repr__()
25 except __builtin__.Exception:
27 return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
30 def _swig_setattr_nondynamic_instance_variable(set):
31 def set_instance_attr(self, name, value):
33 set(self, name, value)
34 elif name ==
"thisown":
36 elif hasattr(self, name)
and isinstance(getattr(type(self), name), property):
37 set(self, name, value)
39 raise AttributeError(
"You cannot add instance attributes to %s" % self)
40 return set_instance_attr
43 def _swig_setattr_nondynamic_class_variable(set):
44 def set_class_attr(cls, name, value):
45 if hasattr(cls, name)
and not isinstance(getattr(cls, name), property):
48 raise AttributeError(
"You cannot add class attributes to %s" % cls)
52 def _swig_add_metaclass(metaclass):
53 """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
55 return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
59 class _SwigNonDynamicMeta(type):
60 """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
61 __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
66 class IMP_BENCHMARK_SwigPyIterator(object):
67 r"""Proxy of C++ swig::IMP_BENCHMARK_SwigPyIterator class."""
69 thisown = property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
"The membership flag")
71 def __init__(self, *args, **kwargs):
72 raise AttributeError(
"No constructor defined - class is abstract")
74 __swig_destroy__ = _IMP_benchmark.delete_IMP_BENCHMARK_SwigPyIterator
77 r"""value(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
78 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_value(self)
81 r"""incr(IMP_BENCHMARK_SwigPyIterator self, size_t n=1) -> IMP_BENCHMARK_SwigPyIterator"""
82 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_incr(self, n)
85 r"""decr(IMP_BENCHMARK_SwigPyIterator self, size_t n=1) -> IMP_BENCHMARK_SwigPyIterator"""
86 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_decr(self, n)
88 def distance(self, x):
89 r"""distance(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> ptrdiff_t"""
90 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_distance(self, x)
93 r"""equal(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> bool"""
94 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_equal(self, x)
97 r"""copy(IMP_BENCHMARK_SwigPyIterator self) -> IMP_BENCHMARK_SwigPyIterator"""
98 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_copy(self)
101 r"""next(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
102 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_next(self)
105 r"""__next__(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
106 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___next__(self)
109 r"""previous(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
110 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_previous(self)
112 def advance(self, n):
113 r"""advance(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
114 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_advance(self, n)
117 r"""__eq__(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> bool"""
118 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___eq__(self, x)
121 r"""__ne__(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> bool"""
122 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___ne__(self, x)
124 def __iadd__(self, n):
125 r"""__iadd__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
126 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___iadd__(self, n)
128 def __isub__(self, n):
129 r"""__isub__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
130 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___isub__(self, n)
132 def __add__(self, n):
133 r"""__add__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
134 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___add__(self, n)
136 def __sub__(self, *args):
138 __sub__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator
139 __sub__(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> ptrdiff_t
141 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___sub__(self, *args)
146 _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_swigregister(IMP_BENCHMARK_SwigPyIterator)
153 IMP_DEBUG = _IMP_benchmark.IMP_DEBUG
155 IMP_RELEASE = _IMP_benchmark.IMP_RELEASE
157 IMP_SILENT = _IMP_benchmark.IMP_SILENT
159 IMP_PROGRESS = _IMP_benchmark.IMP_PROGRESS
161 IMP_TERSE = _IMP_benchmark.IMP_TERSE
163 IMP_VERBOSE = _IMP_benchmark.IMP_VERBOSE
165 IMP_MEMORY = _IMP_benchmark.IMP_MEMORY
167 IMP_NONE = _IMP_benchmark.IMP_NONE
169 IMP_USAGE = _IMP_benchmark.IMP_USAGE
171 IMP_INTERNAL = _IMP_benchmark.IMP_INTERNAL
173 IMP_KERNEL_HAS_LOG4CXX = _IMP_benchmark.IMP_KERNEL_HAS_LOG4CXX
175 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_benchmark.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
177 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_benchmark.IMP_COMPILER_HAS_DEBUG_VECTOR
179 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_benchmark.IMP_COMPILER_HAS_RANDOM_SHUFFLE
181 IMP_COMPILER_HAS_THREE_WAY = _IMP_benchmark.IMP_COMPILER_HAS_THREE_WAY
183 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_benchmark.IMP_KERNEL_HAS_BOOST_RANDOM
185 IMP_KERNEL_HAS_NUMPY = _IMP_benchmark.IMP_KERNEL_HAS_NUMPY
187 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_benchmark.IMP_KERNEL_HAS_GPERFTOOLS
189 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
191 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
193 IMPKERNEL_SHOW_WARNINGS = _IMP_benchmark.IMPKERNEL_SHOW_WARNINGS
197 class _DirectorObjects:
198 """@internal Simple class to keep references to director objects
199 to prevent premature deletion."""
202 def register(self, obj):
203 """Take a reference to a director object; will only work for
204 refcounted C++ classes"""
205 if hasattr(obj,
'get_ref_count'):
206 self._objects.append(obj)
208 """Only drop our reference and allow cleanup by Python if no other
209 Python references exist (we hold 3 references: one in self._objects,
210 one in x, and one in the argument list for getrefcount) *and* no
211 other C++ references exist (the Python object always holds one)"""
212 objs = [x
for x
in self._objects
if sys.getrefcount(x) > 3 \
213 or x.get_ref_count() > 1]
217 def get_object_count(self):
218 """Get number of director objects (useful for testing only)"""
219 return len(self._objects)
220 _director_objects = _DirectorObjects()
222 class _ostream(object):
223 r"""Proxy of C++ std::ostream class."""
225 thisown = property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
"The membership flag")
227 def __init__(self, *args, **kwargs):
228 raise AttributeError(
"No constructor defined")
229 __repr__ = _swig_repr
231 def write(self, osa_buf):
232 r"""write(_ostream self, char const * osa_buf)"""
233 return _IMP_benchmark._ostream_write(self, osa_buf)
236 _IMP_benchmark._ostream_swigregister(_ostream)
237 IMP_C_OPEN_BINARY = _IMP_benchmark.IMP_C_OPEN_BINARY
240 IMP_BENCHMARK_HAS_BOOST_FILESYSTEM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_FILESYSTEM
242 IMP_BENCHMARK_HAS_BOOST_PROGRAMOPTIONS = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_PROGRAMOPTIONS
244 IMP_BENCHMARK_HAS_BOOST_RANDOM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_RANDOM
246 IMP_BENCHMARK_HAS_BOOST_SYSTEM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_SYSTEM
248 IMP_BENCHMARK_HAS_NUMPY = _IMP_benchmark.IMP_BENCHMARK_HAS_NUMPY
250 IMPBENCHMARK_SHOW_WARNINGS = _IMP_benchmark.IMPBENCHMARK_SHOW_WARNINGS
253 _raii_types.append(
"Profiler")
258 report(std::string benchmark, std::string algorithm, double time, double check)
259 report(std::string benchmark, double time, double check)
261 return _IMP_benchmark.report(*args)
263 def get_return_value():
264 r"""get_return_value() -> int"""
265 return _IMP_benchmark.get_return_value()
266 class Profiler(IMP._RAII):
267 r"""Proxy of C++ IMP::benchmark::Profiler class."""
269 thisown = property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
"The membership flag")
271 def __init__(self, *args):
273 __init__(Profiler self) -> Profiler
274 __init__(Profiler self, std::string name) -> Profiler
276 _IMP_benchmark.Profiler_swiginit(self, _IMP_benchmark.new_Profiler(*args))
279 r"""set(Profiler self, std::string name)"""
280 return _IMP_benchmark.Profiler_set(self, name)
283 r"""reset(Profiler self)"""
284 return _IMP_benchmark.Profiler_reset(self)
285 __swig_destroy__ = _IMP_benchmark.delete_Profiler
287 def show(self, *args):
288 r"""show(Profiler self, _ostream out=std::cout)"""
289 return _IMP_benchmark.Profiler_show(self, *args)
293 def __exit__(self, exc_type, exc_val, exc_tb):
299 r"""__str__(Profiler self) -> std::string"""
300 return _IMP_benchmark.Profiler___str__(self)
303 r"""__repr__(Profiler self) -> std::string"""
304 return _IMP_benchmark.Profiler___repr__(self)
307 _IMP_benchmark.Profiler_swigregister(Profiler)
310 r"""get_module_version() -> std::string const"""
311 return _IMP_benchmark.get_module_version()
314 r"""get_example_path(std::string fname) -> std::string"""
315 return _IMP_benchmark.get_example_path(fname)
318 r"""get_data_path(std::string fname) -> std::string"""
319 return _IMP_benchmark.get_data_path(fname)
321 from .
import _version_check
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.
std::string get_module_version()
Return the version of this module, as a string.