IMP logo
IMP Reference Guide  develop.345e71cb9a,2026/08/10
The Integrative Modeling Platform
gsl/__init__.py
1 # This file was automatically generated by SWIG (https://www.swig.org).
2 # Version 4.5.0
3 #
4 # Do not make changes to this file unless you know what you are doing - modify
5 # the SWIG interface file instead.
6 
7 
8 # This wrapper is part of IMP,
9 # Copyright 2007-2026 IMP Inventors. All rights reserved.
10 
11 
12 
13 
14 import typing
15 import _IMP_gsl
16 
17 import builtins as __builtin__
18 
19 def _swig_repr(self):
20  try:
21  strthis = "proxy of " + self.this.__repr__()
22  except __builtin__.Exception:
23  strthis = ""
24  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
25 
26 
27 def _swig_setattr_nondynamic_instance_variable(set):
28  def set_instance_attr(self, name, value):
29  if name == "this":
30  set(self, name, value)
31  elif name == "thisown":
32  self.this.own(value)
33  elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
34  set(self, name, value)
35  else:
36  raise AttributeError("You cannot add instance attributes to %s" % self)
37  return set_instance_attr
38 
39 
40 def _swig_setattr_nondynamic_class_variable(set):
41  def set_class_attr(cls, name, value):
42  if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
43  set(cls, name, value)
44  else:
45  raise AttributeError("You cannot add class attributes to %s" % cls)
46  return set_class_attr
47 
48 
49 class _SwigNonDynamicMeta(type):
50  """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
51  __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
52 
53 
54 import weakref
55 
56 class IMP_GSL_SwigPyIterator(object):
57  r"""Proxy of C++ swig::IMP_GSL_SwigPyIterator class."""
58 
59  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
60 
61  def __init__(self, *args, **kwargs):
62  raise AttributeError("No constructor defined - class is abstract")
63  __repr__ = _swig_repr
64  __swig_destroy__ = _IMP_gsl.delete_IMP_GSL_SwigPyIterator
65 
66  def value(self):
67  r"""value(IMP_GSL_SwigPyIterator self) -> PyObject *"""
68  return _IMP_gsl.IMP_GSL_SwigPyIterator_value(self)
69 
70  def incr(self, n=1):
71  r"""incr(IMP_GSL_SwigPyIterator self, size_t n=1) -> IMP_GSL_SwigPyIterator"""
72  return _IMP_gsl.IMP_GSL_SwigPyIterator_incr(self, n)
73 
74  def decr(self, n=1):
75  r"""decr(IMP_GSL_SwigPyIterator self, size_t n=1) -> IMP_GSL_SwigPyIterator"""
76  return _IMP_gsl.IMP_GSL_SwigPyIterator_decr(self, n)
77 
78  def distance(self, x):
79  r"""distance(IMP_GSL_SwigPyIterator self, IMP_GSL_SwigPyIterator x) -> ptrdiff_t"""
80  return _IMP_gsl.IMP_GSL_SwigPyIterator_distance(self, x)
81 
82  def equal(self, x):
83  r"""equal(IMP_GSL_SwigPyIterator self, IMP_GSL_SwigPyIterator x) -> bool"""
84  return _IMP_gsl.IMP_GSL_SwigPyIterator_equal(self, x)
85 
86  def copy(self):
87  r"""copy(IMP_GSL_SwigPyIterator self) -> IMP_GSL_SwigPyIterator"""
88  return _IMP_gsl.IMP_GSL_SwigPyIterator_copy(self)
89 
90  def __next__(self):
91  r"""__next__(IMP_GSL_SwigPyIterator self) -> PyObject *"""
92  return _IMP_gsl.IMP_GSL_SwigPyIterator___next__(self)
93 
94  def previous(self):
95  r"""previous(IMP_GSL_SwigPyIterator self) -> PyObject *"""
96  return _IMP_gsl.IMP_GSL_SwigPyIterator_previous(self)
97 
98  def advance(self, n):
99  r"""advance(IMP_GSL_SwigPyIterator self, ptrdiff_t n) -> IMP_GSL_SwigPyIterator"""
100  return _IMP_gsl.IMP_GSL_SwigPyIterator_advance(self, n)
101 
102  def __eq__(self, x):
103  r"""__eq__(IMP_GSL_SwigPyIterator self, IMP_GSL_SwigPyIterator x) -> bool"""
104  return _IMP_gsl.IMP_GSL_SwigPyIterator___eq__(self, x)
105 
106  def __ne__(self, x):
107  r"""__ne__(IMP_GSL_SwigPyIterator self, IMP_GSL_SwigPyIterator x) -> bool"""
108  return _IMP_gsl.IMP_GSL_SwigPyIterator___ne__(self, x)
109 
110  def __iadd__(self, n):
111  r"""__iadd__(IMP_GSL_SwigPyIterator self, ptrdiff_t n) -> IMP_GSL_SwigPyIterator"""
112  return _IMP_gsl.IMP_GSL_SwigPyIterator___iadd__(self, n)
113 
114  def __isub__(self, n):
115  r"""__isub__(IMP_GSL_SwigPyIterator self, ptrdiff_t n) -> IMP_GSL_SwigPyIterator"""
116  return _IMP_gsl.IMP_GSL_SwigPyIterator___isub__(self, n)
117 
118  def __add__(self, n):
119  r"""__add__(IMP_GSL_SwigPyIterator self, ptrdiff_t n) -> IMP_GSL_SwigPyIterator"""
120  return _IMP_gsl.IMP_GSL_SwigPyIterator___add__(self, n)
121 
122  def __sub__(self, *args):
123  r"""
124  __sub__(IMP_GSL_SwigPyIterator self, ptrdiff_t n) -> IMP_GSL_SwigPyIterator
125  __sub__(IMP_GSL_SwigPyIterator self, IMP_GSL_SwigPyIterator x) -> ptrdiff_t
126  """
127  return _IMP_gsl.IMP_GSL_SwigPyIterator___sub__(self, *args)
128  def __iter__(self):
129  return self
130 
131 # Register IMP_GSL_SwigPyIterator in _IMP_gsl:
132 _IMP_gsl.IMP_GSL_SwigPyIterator_swigregister(IMP_GSL_SwigPyIterator)
133 
134 _value_types=[]
135 _object_types=[]
136 _raii_types=[]
137 _plural_types=[]
138 
139 IMP_DEBUG = _IMP_gsl.IMP_DEBUG
140 
141 IMP_RELEASE = _IMP_gsl.IMP_RELEASE
142 
143 IMP_SILENT = _IMP_gsl.IMP_SILENT
144 
145 IMP_PROGRESS = _IMP_gsl.IMP_PROGRESS
146 
147 IMP_TERSE = _IMP_gsl.IMP_TERSE
148 
149 IMP_VERBOSE = _IMP_gsl.IMP_VERBOSE
150 
151 IMP_MEMORY = _IMP_gsl.IMP_MEMORY
152 
153 IMP_NONE = _IMP_gsl.IMP_NONE
154 
155 IMP_USAGE = _IMP_gsl.IMP_USAGE
156 
157 IMP_INTERNAL = _IMP_gsl.IMP_INTERNAL
158 
159 IMP_KERNEL_HAS_LOG4CXX = _IMP_gsl.IMP_KERNEL_HAS_LOG4CXX
160 
161 IMP_COMPILER_HAS_CEREAL_RAW_POINTER = _IMP_gsl.IMP_COMPILER_HAS_CEREAL_RAW_POINTER
162 
163 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_gsl.IMP_COMPILER_HAS_DEBUG_VECTOR
164 
165 IMP_COMPILER_HAS_RANDOM_SHUFFLE = _IMP_gsl.IMP_COMPILER_HAS_RANDOM_SHUFFLE
166 
167 IMP_COMPILER_HAS_THREE_WAY = _IMP_gsl.IMP_COMPILER_HAS_THREE_WAY
168 
169 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_gsl.IMP_KERNEL_HAS_BOOST_RANDOM
170 
171 IMP_KERNEL_HAS_NUMPY = _IMP_gsl.IMP_KERNEL_HAS_NUMPY
172 
173 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_gsl.IMP_KERNEL_HAS_BOOST_SYSTEM
174 
175 IMP_KERNEL_HAS_GPERFTOOLS = _IMP_gsl.IMP_KERNEL_HAS_GPERFTOOLS
176 
177 IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER = _IMP_gsl.IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER
178 
179 IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER = _IMP_gsl.IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER
180 
181 IMPKERNEL_SHOW_WARNINGS = _IMP_gsl.IMPKERNEL_SHOW_WARNINGS
182 
183 
184 import sys
185 class _DirectorObjects:
186  """@internal Simple class to keep references to director objects
187  to prevent premature deletion."""
188  def __init__(self):
189  self._objects = []
190  def register(self, obj):
191  """Take a reference to a director object; will only work for
192  refcounted C++ classes"""
193  if hasattr(obj, 'get_ref_count'):
194  self._objects.append(obj)
195  def cleanup(self):
196  """Only drop our reference and allow cleanup by Python if no other
197  Python references exist (we hold 3 references: one in self._objects,
198  one in x, and one in the argument list for getrefcount) *and* no
199  other C++ references exist (the Python object always holds one)"""
200  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
201  or x.get_ref_count() > 1]
202 # Do in two steps so the references are kept until the end of the
203 # function (deleting references may trigger a fresh call to this method)
204  self._objects = objs
205  def get_object_count(self):
206  """Get number of director objects (useful for testing only)"""
207  return len(self._objects)
208 _director_objects = _DirectorObjects()
209 
210 class _ostream(object):
211  r"""Proxy of C++ std::ostream class."""
212 
213  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
214 
215  def __init__(self, *args, **kwargs):
216  raise AttributeError("No constructor defined")
217  __repr__ = _swig_repr
218 
219  def write(self, osa_buf):
220  r"""write(_ostream self, char const * osa_buf)"""
221  return _IMP_gsl._ostream_write(self, osa_buf)
222 
223 # Register _ostream in _IMP_gsl:
224 _IMP_gsl._ostream_swigregister(_ostream)
225 IMP_C_OPEN_BINARY = _IMP_gsl.IMP_C_OPEN_BINARY
226 
227 import IMP
228 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_gsl.IMP_CGAL_HAS_BOOST_FILESYSTEM
229 
230 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_gsl.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
231 
232 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_gsl.IMP_CGAL_HAS_BOOST_RANDOM
233 
234 IMP_CGAL_HAS_NUMPY = _IMP_gsl.IMP_CGAL_HAS_NUMPY
235 
236 IMPCGAL_SHOW_WARNINGS = _IMP_gsl.IMPCGAL_SHOW_WARNINGS
237 
238 import IMP.cgal
239 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_gsl.IMP_ALGEBRA_HAS_IMP_CGAL
240 
241 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_gsl.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
242 
243 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_gsl.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
244 
245 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_gsl.IMP_ALGEBRA_HAS_BOOST_RANDOM
246 
247 IMP_ALGEBRA_HAS_CGAL = _IMP_gsl.IMP_ALGEBRA_HAS_CGAL
248 
249 IMP_ALGEBRA_HAS_NUMPY = _IMP_gsl.IMP_ALGEBRA_HAS_NUMPY
250 
251 IMP_ALGEBRA_HAS_ANN = _IMP_gsl.IMP_ALGEBRA_HAS_ANN
252 
253 IMPALGEBRA_SHOW_WARNINGS = _IMP_gsl.IMPALGEBRA_SHOW_WARNINGS
254 
255 import IMP.algebra
256 IMP_GSL_HAS_IMP_CGAL = _IMP_gsl.IMP_GSL_HAS_IMP_CGAL
257 
258 IMP_GSL_HAS_BOOST_FILESYSTEM = _IMP_gsl.IMP_GSL_HAS_BOOST_FILESYSTEM
259 
260 IMP_GSL_HAS_BOOST_PROGRAMOPTIONS = _IMP_gsl.IMP_GSL_HAS_BOOST_PROGRAMOPTIONS
261 
262 IMP_GSL_HAS_BOOST_RANDOM = _IMP_gsl.IMP_GSL_HAS_BOOST_RANDOM
263 
264 IMP_GSL_HAS_CGAL = _IMP_gsl.IMP_GSL_HAS_CGAL
265 
266 IMP_GSL_HAS_NUMPY = _IMP_gsl.IMP_GSL_HAS_NUMPY
267 
268 IMPGSL_SHOW_WARNINGS = _IMP_gsl.IMPGSL_SHOW_WARNINGS
269 
270 
271 _object_types.append("GSLOptimizer")
272 
273 
274 def _object_cast_to_GSLOptimizer(o):
275  r"""_object_cast_to_GSLOptimizer(Object o) -> GSLOptimizer"""
276  return _IMP_gsl._object_cast_to_GSLOptimizer(o)
277 
278 _object_types.append("ConjugateGradients")
279 
280 
281 def _object_cast_to_ConjugateGradients(o):
282  r"""_object_cast_to_ConjugateGradients(Object o) -> ConjugateGradients"""
283  return _IMP_gsl._object_cast_to_ConjugateGradients(o)
284 
285 _object_types.append("QuasiNewton")
286 
287 
288 def _object_cast_to_QuasiNewton(o):
289  r"""_object_cast_to_QuasiNewton(Object o) -> QuasiNewton"""
290  return _IMP_gsl._object_cast_to_QuasiNewton(o)
291 
292 _object_types.append("Simplex")
293 
294 
295 def _object_cast_to_Simplex(o):
296  r"""_object_cast_to_Simplex(Object o) -> Simplex"""
297  return _IMP_gsl._object_cast_to_Simplex(o)
298 class GSLOptimizer(IMP.AttributeOptimizer):
299  r"""Proxy of C++ IMP::gsl::GSLOptimizer class."""
300 
301  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
302 
303  def __init__(self, m):
304  r"""__init__(GSLOptimizer self, Model m) -> GSLOptimizer"""
305  if self.__class__ == GSLOptimizer:
306  _self = None
307  else:
308  _self = self
309  _IMP_gsl.GSLOptimizer_swiginit(self, _IMP_gsl.new_GSLOptimizer(_self, m))
310 
311  if self.__class__ != GSLOptimizer:
312  _director_objects.register(self)
313 
314 
315 
316  __swig_destroy__ = _IMP_gsl.delete_GSLOptimizer
317 
318  def set_stop_score(self, d):
319  r"""set_stop_score(GSLOptimizer self, double d)"""
320  return _IMP_gsl.GSLOptimizer_set_stop_score(self, d)
321 
322  def __str__(self):
323  r"""__str__(GSLOptimizer self) -> std::string"""
324  return _IMP_gsl.GSLOptimizer___str__(self)
325 
326  def __repr__(self):
327  r"""__repr__(GSLOptimizer self) -> std::string"""
328  return _IMP_gsl.GSLOptimizer___repr__(self)
329 
330  @staticmethod
331  def get_from(o):
332  return _object_cast_to_GSLOptimizer(o)
333 
334 
335  def do_show(self, out):
336  pass
337 
338  @staticmethod
339  def get_from(o):
340  return _object_cast_to_GSLOptimizer(o)
341 
342  def __disown__(self):
343  self.this.disown()
344  _IMP_gsl.disown_GSLOptimizer(self)
345  return weakref.proxy(self)
346 
347  def do_destroy(self):
348  r"""do_destroy(GSLOptimizer self)"""
349  return _IMP_gsl.GSLOptimizer_do_destroy(self)
350 
351  def handle_set_has_required_score_states(self, arg0):
352  r"""handle_set_has_required_score_states(GSLOptimizer self, bool arg0)"""
353  return _IMP_gsl.GSLOptimizer_handle_set_has_required_score_states(self, arg0)
354 
355  def do_get_inputs(self):
356  r"""do_get_inputs(GSLOptimizer self) -> IMP::ModelObjectsTemp"""
357  return _IMP_gsl.GSLOptimizer_do_get_inputs(self)
358 
359  def do_get_outputs(self):
360  r"""do_get_outputs(GSLOptimizer self) -> IMP::ModelObjectsTemp"""
361  return _IMP_gsl.GSLOptimizer_do_get_outputs(self)
362 
363  def do_get_interactions(self):
364  r"""do_get_interactions(GSLOptimizer self) -> IMP::ModelObjectsTemps"""
365  return _IMP_gsl.GSLOptimizer_do_get_interactions(self)
366 
367  def do_optimize(self, ns):
368  r"""do_optimize(GSLOptimizer self, unsigned int ns) -> double"""
369  return _IMP_gsl.GSLOptimizer_do_optimize(self, ns)
370 
371 # Register GSLOptimizer in _IMP_gsl:
372 _IMP_gsl.GSLOptimizer_swigregister(GSLOptimizer)
373 class ConjugateGradients(GSLOptimizer):
374  r"""Proxy of C++ IMP::gsl::ConjugateGradients class."""
375 
376  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
377 
378  def __init__(self, m):
379  r"""__init__(ConjugateGradients self, Model m) -> ConjugateGradients"""
380  _IMP_gsl.ConjugateGradients_swiginit(self, _IMP_gsl.new_ConjugateGradients(m))
381 
382  def set_threshold(self, mg):
383  r"""set_threshold(ConjugateGradients self, double mg)"""
384  return _IMP_gsl.ConjugateGradients_set_threshold(self, mg)
385 
386  def do_optimize(self, max_steps):
387  r"""do_optimize(ConjugateGradients self, unsigned int max_steps) -> IMP::Float"""
388  return _IMP_gsl.ConjugateGradients_do_optimize(self, max_steps)
389 
390  def get_version_info(self):
391  r"""get_version_info(ConjugateGradients self) -> VersionInfo"""
392  return _IMP_gsl.ConjugateGradients_get_version_info(self)
393  __swig_destroy__ = _IMP_gsl.delete_ConjugateGradients
394 
395  def __str__(self):
396  r"""__str__(ConjugateGradients self) -> std::string"""
397  return _IMP_gsl.ConjugateGradients___str__(self)
398 
399  def __repr__(self):
400  r"""__repr__(ConjugateGradients self) -> std::string"""
401  return _IMP_gsl.ConjugateGradients___repr__(self)
402 
403  @staticmethod
404  def get_from(o):
405  return _object_cast_to_ConjugateGradients(o)
406 
407 
408 # Register ConjugateGradients in _IMP_gsl:
409 _IMP_gsl.ConjugateGradients_swigregister(ConjugateGradients)
410 class QuasiNewton(GSLOptimizer):
411  r"""Proxy of C++ IMP::gsl::QuasiNewton class."""
412 
413  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
414 
415  def __init__(self, m):
416  r"""__init__(QuasiNewton self, Model m) -> QuasiNewton"""
417  _IMP_gsl.QuasiNewton_swiginit(self, _IMP_gsl.new_QuasiNewton(m))
418 
419  def set_initial_step(self, length):
420  r"""set_initial_step(QuasiNewton self, double length)"""
421  return _IMP_gsl.QuasiNewton_set_initial_step(self, length)
422 
423  def set_line_step(self, d):
424  r"""set_line_step(QuasiNewton self, double d)"""
425  return _IMP_gsl.QuasiNewton_set_line_step(self, d)
426 
427  def set_minimum_gradient(self, d):
428  r"""set_minimum_gradient(QuasiNewton self, double d)"""
429  return _IMP_gsl.QuasiNewton_set_minimum_gradient(self, d)
430 
431  def do_optimize(self, max_steps):
432  r"""do_optimize(QuasiNewton self, unsigned int max_steps) -> IMP::Float"""
433  return _IMP_gsl.QuasiNewton_do_optimize(self, max_steps)
434 
435  def get_version_info(self):
436  r"""get_version_info(QuasiNewton self) -> VersionInfo"""
437  return _IMP_gsl.QuasiNewton_get_version_info(self)
438  __swig_destroy__ = _IMP_gsl.delete_QuasiNewton
439 
440  def __str__(self):
441  r"""__str__(QuasiNewton self) -> std::string"""
442  return _IMP_gsl.QuasiNewton___str__(self)
443 
444  def __repr__(self):
445  r"""__repr__(QuasiNewton self) -> std::string"""
446  return _IMP_gsl.QuasiNewton___repr__(self)
447 
448  @staticmethod
449  def get_from(o):
450  return _object_cast_to_QuasiNewton(o)
451 
452 
453 # Register QuasiNewton in _IMP_gsl:
454 _IMP_gsl.QuasiNewton_swigregister(QuasiNewton)
455 class Simplex(GSLOptimizer):
456  r"""Proxy of C++ IMP::gsl::Simplex class."""
457 
458  thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
459 
460  def __init__(self, m):
461  r"""__init__(Simplex self, Model m) -> Simplex"""
462  _IMP_gsl.Simplex_swiginit(self, _IMP_gsl.new_Simplex(m))
463 
464  def set_initial_length(self, length):
465  r"""set_initial_length(Simplex self, double length)"""
466  return _IMP_gsl.Simplex_set_initial_length(self, length)
467 
468  def set_minimum_size(self, d):
469  r"""set_minimum_size(Simplex self, double d)"""
470  return _IMP_gsl.Simplex_set_minimum_size(self, d)
471 
472  def do_optimize(self, max_steps):
473  r"""do_optimize(Simplex self, unsigned int max_steps) -> IMP::Float"""
474  return _IMP_gsl.Simplex_do_optimize(self, max_steps)
475 
476  def get_version_info(self):
477  r"""get_version_info(Simplex self) -> VersionInfo"""
478  return _IMP_gsl.Simplex_get_version_info(self)
479  __swig_destroy__ = _IMP_gsl.delete_Simplex
480 
481  def __str__(self):
482  r"""__str__(Simplex self) -> std::string"""
483  return _IMP_gsl.Simplex___str__(self)
484 
485  def __repr__(self):
486  r"""__repr__(Simplex self) -> std::string"""
487  return _IMP_gsl.Simplex___repr__(self)
488 
489  @staticmethod
490  def get_from(o):
491  return _object_cast_to_Simplex(o)
492 
493 
494 # Register Simplex in _IMP_gsl:
495 _IMP_gsl.Simplex_swigregister(Simplex)
496 
497 def get_module_name():
498  r"""get_module_name() -> std::string const"""
499  return _IMP_gsl.get_module_name()
500 
501 def get_module_version():
502  r"""get_module_version() -> std::string const"""
503  return _IMP_gsl.get_module_version()
504 
505 def get_example_path(fname):
506  r"""get_example_path(std::string fname) -> std::string"""
507  return _IMP_gsl.get_example_path(fname)
508 
509 def get_data_path(fname):
510  r"""get_data_path(std::string fname) -> std::string"""
511  return _IMP_gsl.get_data_path(fname)
512 
513 from . import _version_check
514 _version_check.check_version(get_module_version())
515 __version__ = get_module_version()
516 
517 
Make CGAL functionality available to IMP.
virtual ModelObjectsTemp do_get_outputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the outputs.
virtual void do_destroy()
Definition: Object.h:274
virtual ModelObjectsTemp do_get_inputs(Model *m, const ParticleIndexes &pis) const =0
Overload this method to specify the inputs.
Base class for optimizers that act on individual attributes.
General purpose algebraic and geometric methods that are expected to be used by a wide variety of IMP...
std::string get_module_version()
Return the version of this module, as a string.
virtual VersionInfo get_version_info() const
Get information about the module and version of the object.
Definition: Object.h:206
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files.