11 from __future__
import print_function, division, absolute_import
15 from sys
import version_info
as _swig_python_version_info
19 import builtins
as __builtin__
25 strthis =
"proxy of " + self.this.__repr__()
26 except __builtin__.Exception:
28 return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
31 def _swig_setattr_nondynamic_instance_variable(set):
32 def set_instance_attr(self, name, value):
34 set(self, name, value)
35 elif name ==
"thisown":
37 elif hasattr(self, name)
and isinstance(getattr(type(self), name), property):
38 set(self, name, value)
40 raise AttributeError(
"You cannot add instance attributes to %s" % self)
41 return set_instance_attr
44 def _swig_setattr_nondynamic_class_variable(set):
45 def set_class_attr(cls, name, value):
46 if hasattr(cls, name)
and not isinstance(getattr(cls, name), property):
49 raise AttributeError(
"You cannot add class attributes to %s" % cls)
53 def _swig_add_metaclass(metaclass):
54 """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
56 return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
60 class _SwigNonDynamicMeta(type):
61 """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
62 __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
67 class IMP_BENCHMARK_SwigPyIterator(object):
68 r"""Proxy of C++ swig::IMP_BENCHMARK_SwigPyIterator class."""
70 thisown = property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
"The membership flag")
72 def __init__(self, *args, **kwargs):
73 raise AttributeError(
"No constructor defined - class is abstract")
75 __swig_destroy__ = _IMP_benchmark.delete_IMP_BENCHMARK_SwigPyIterator
78 r"""value(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
79 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_value(self)
82 r"""incr(IMP_BENCHMARK_SwigPyIterator self, size_t n=1) -> IMP_BENCHMARK_SwigPyIterator"""
83 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_incr(self, n)
86 r"""decr(IMP_BENCHMARK_SwigPyIterator self, size_t n=1) -> IMP_BENCHMARK_SwigPyIterator"""
87 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_decr(self, n)
89 def distance(self, x):
90 r"""distance(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> ptrdiff_t"""
91 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_distance(self, x)
94 r"""equal(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> bool"""
95 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_equal(self, x)
98 r"""copy(IMP_BENCHMARK_SwigPyIterator self) -> IMP_BENCHMARK_SwigPyIterator"""
99 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_copy(self)
102 r"""next(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
103 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_next(self)
106 r"""__next__(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
107 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___next__(self)
110 r"""previous(IMP_BENCHMARK_SwigPyIterator self) -> PyObject *"""
111 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_previous(self)
113 def advance(self, n):
114 r"""advance(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
115 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_advance(self, n)
118 r"""__eq__(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> bool"""
119 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___eq__(self, x)
122 r"""__ne__(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> bool"""
123 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___ne__(self, x)
125 def __iadd__(self, n):
126 r"""__iadd__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
127 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___iadd__(self, n)
129 def __isub__(self, n):
130 r"""__isub__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
131 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___isub__(self, n)
133 def __add__(self, n):
134 r"""__add__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator"""
135 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___add__(self, n)
137 def __sub__(self, *args):
139 __sub__(IMP_BENCHMARK_SwigPyIterator self, ptrdiff_t n) -> IMP_BENCHMARK_SwigPyIterator
140 __sub__(IMP_BENCHMARK_SwigPyIterator self, IMP_BENCHMARK_SwigPyIterator x) -> ptrdiff_t
142 return _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator___sub__(self, *args)
147 _IMP_benchmark.IMP_BENCHMARK_SwigPyIterator_swigregister(IMP_BENCHMARK_SwigPyIterator)
154 IMP_DEBUG = _IMP_benchmark.IMP_DEBUG
156 IMP_RELEASE = _IMP_benchmark.IMP_RELEASE
158 IMP_SILENT = _IMP_benchmark.IMP_SILENT
160 IMP_PROGRESS = _IMP_benchmark.IMP_PROGRESS
162 IMP_TERSE = _IMP_benchmark.IMP_TERSE
164 IMP_VERBOSE = _IMP_benchmark.IMP_VERBOSE
166 IMP_MEMORY = _IMP_benchmark.IMP_MEMORY
168 IMP_NONE = _IMP_benchmark.IMP_NONE
170 IMP_USAGE = _IMP_benchmark.IMP_USAGE
172 IMP_INTERNAL = _IMP_benchmark.IMP_INTERNAL
174 IMP_KERNEL_HAS_LOG4CXX = _IMP_benchmark.IMP_KERNEL_HAS_LOG4CXX
176 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_benchmark.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
178 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_benchmark.IMP_COMPILER_HAS_DEBUG_VECTOR
180 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_benchmark.IMP_COMPILER_HAS_RANDOM_SHUFFLE
182 IMP_COMPILER_HAS_THREE_WAY = _IMP_benchmark.IMP_COMPILER_HAS_THREE_WAY
184 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_benchmark.IMP_KERNEL_HAS_BOOST_RANDOM
186 IMP_KERNEL_HAS_NUMPY = _IMP_benchmark.IMP_KERNEL_HAS_NUMPY
188 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_benchmark.IMP_KERNEL_HAS_GPERFTOOLS
190 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
192 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_benchmark.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
194 IMPKERNEL_SHOW_WARNINGS = _IMP_benchmark.IMPKERNEL_SHOW_WARNINGS
198 class _DirectorObjects(object):
199 """@internal Simple class to keep references to director objects
200 to prevent premature deletion."""
203 def register(self, obj):
204 """Take a reference to a director object; will only work for
205 refcounted C++ classes"""
206 if hasattr(obj,
'get_ref_count'):
207 self._objects.append(obj)
209 """Only drop our reference and allow cleanup by Python if no other
210 Python references exist (we hold 3 references: one in self._objects,
211 one in x, and one in the argument list for getrefcount) *and* no
212 other C++ references exist (the Python object always holds one)"""
213 objs = [x
for x
in self._objects
if sys.getrefcount(x) > 3 \
214 or x.get_ref_count() > 1]
218 def get_object_count(self):
219 """Get number of director objects (useful for testing only)"""
220 return len(self._objects)
221 _director_objects = _DirectorObjects()
223 class _ostream(object):
224 r"""Proxy of C++ std::ostream class."""
226 thisown = property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
"The membership flag")
228 def __init__(self, *args, **kwargs):
229 raise AttributeError(
"No constructor defined")
230 __repr__ = _swig_repr
232 def write(self, osa_buf):
233 r"""write(_ostream self, char const * osa_buf)"""
234 return _IMP_benchmark._ostream_write(self, osa_buf)
237 _IMP_benchmark._ostream_swigregister(_ostream)
238 IMP_C_OPEN_BINARY = _IMP_benchmark.IMP_C_OPEN_BINARY
241 IMP_BENCHMARK_HAS_BOOST_FILESYSTEM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_FILESYSTEM
243 IMP_BENCHMARK_HAS_BOOST_PROGRAMOPTIONS = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_PROGRAMOPTIONS
245 IMP_BENCHMARK_HAS_BOOST_RANDOM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_RANDOM
247 IMP_BENCHMARK_HAS_BOOST_SYSTEM = _IMP_benchmark.IMP_BENCHMARK_HAS_BOOST_SYSTEM
249 IMP_BENCHMARK_HAS_NUMPY = _IMP_benchmark.IMP_BENCHMARK_HAS_NUMPY
251 IMPBENCHMARK_SHOW_WARNINGS = _IMP_benchmark.IMPBENCHMARK_SHOW_WARNINGS
254 _raii_types.append(
"Profiler")
259 report(std::string benchmark, std::string algorithm, double time, double check)
260 report(std::string benchmark, double time, double check)
262 return _IMP_benchmark.report(*args)
264 def get_return_value():
265 r"""get_return_value() -> int"""
266 return _IMP_benchmark.get_return_value()
267 class Profiler(IMP._RAII):
268 r"""Proxy of C++ IMP::benchmark::Profiler class."""
270 thisown = property(
lambda x: x.this.own(),
lambda x, v: x.this.own(v), doc=
"The membership flag")
272 def __init__(self, *args):
274 __init__(Profiler self) -> Profiler
275 __init__(Profiler self, std::string name) -> Profiler
277 _IMP_benchmark.Profiler_swiginit(self, _IMP_benchmark.new_Profiler(*args))
280 r"""set(Profiler self, std::string name)"""
281 return _IMP_benchmark.Profiler_set(self, name)
284 r"""reset(Profiler self)"""
285 return _IMP_benchmark.Profiler_reset(self)
286 __swig_destroy__ = _IMP_benchmark.delete_Profiler
288 def show(self, *args):
289 r"""show(Profiler self, _ostream out=std::cout)"""
290 return _IMP_benchmark.Profiler_show(self, *args)
294 def __exit__(self, exc_type, exc_val, exc_tb):
300 r"""__str__(Profiler self) -> std::string"""
301 return _IMP_benchmark.Profiler___str__(self)
304 r"""__repr__(Profiler self) -> std::string"""
305 return _IMP_benchmark.Profiler___repr__(self)
308 _IMP_benchmark.Profiler_swigregister(Profiler)
311 r"""get_module_version() -> std::string const"""
312 return _IMP_benchmark.get_module_version()
315 r"""get_example_path(std::string fname) -> std::string"""
316 return _IMP_benchmark.get_example_path(fname)
319 r"""get_data_path(std::string fname) -> std::string"""
320 return _IMP_benchmark.get_data_path(fname)
322 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.