9 #ifndef IMPDOMINO_SLICE_H
10 #define IMPDOMINO_SLICE_H
12 #include <IMP/domino/domino_config.h>
21 IMPDOMINO_BEGIN_NAMESPACE
30 Ints ret(inner.size());
31 for (
unsigned int i = 0; i < inner.size(); ++i) {
32 for (
unsigned int j = 0; j < outer.size(); ++j) {
33 if (inner[i] == outer[j]) {
46 for (
unsigned int i = 0; i < size(); ++i) {
47 ret[i] = a[operator[](i)];
53 for (
unsigned int i = 0; i < size(); ++i) {
54 ret[i] = a[operator[](i)];
67 IMP_USAGE_CHECK(inner.size() <= outer.size(),
"Inner and outer are switched");
68 for (
unsigned int i = 0; i < excluded.size(); ++i) {
73 return Slice(outer, inner);
76 IMPDOMINO_END_NAMESPACE
Store a list of ParticleIndexes.
Store an array of values of the same type.
A Bayesian inference-based sampler.
Represent a subset of the particles being optimized.
Various general useful macros for IMP.
Store a subset of a subset or assignment.
BoundingBoxD< D > get_intersection(const BoundingBoxD< D > &a, const BoundingBoxD< D > &b)
Return the intersecting bounding box.
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values.
Various important macros for implementing decorators.
A Bayesian inference-based sampler.
Store a configuration of a subset.
Store an array of values of the same type.
#define IMP_USAGE_CHECK(expr, message)
A runtime test for incorrect usage of a class or method.
Slice get_slice(Subset outer, Subset inner, const Subsets &excluded)