11#ifndef RD_BOUNDS_MATRIX_H
12#define RD_BOUNDS_MATRIX_H
15#include <boost/smart_ptr.hpp>
33 :
RDNumeric::SquareMatrix<double>(N, 0.0) {}
35 :
RDNumeric::SquareMatrix<double>(N, data) {}
60 if ((val < getUpperBound(i, j)) && (val > getLowerBound(i, j))) {
61 setUpperBound(i, j, val);
79 if ((val > getLowerBound(i, j)) && (val < getUpperBound(i, j))) {
80 setLowerBound(i, j, val);
97 for (i = 1; i < d_nRows; i++) {
98 for (j = 0; j < i; j++) {
99 if (getUpperBound(i, j) < getLowerBound(i, j)) {
#define CHECK_INVARIANT(expr, mess)
Class to store the distance bound.
void setUpperBound(unsigned int i, unsigned int j, double val)
Set the lower bound between points i and j.
double getUpperBound(unsigned int i, unsigned int j) const
Get the upper bound between points i and j.
boost::shared_array< double > DATA_SPTR
double getLowerBound(unsigned int i, unsigned int j) const
Get the lower bound between points i and j.
BoundsMatrix(unsigned int N)
BoundsMatrix(unsigned int N, DATA_SPTR data)
void setLowerBoundIfBetter(unsigned int i, unsigned int j, double val)
void setUpperBoundIfBetter(unsigned int i, unsigned int j, double val)
void setLowerBound(unsigned int i, unsigned int j, double val)
Set the lower bound between points i and j.
#define RDKIT_DISTGEOMETRY_EXPORT
boost::shared_ptr< BoundsMatrix > BoundsMatPtr