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.
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)
boost::shared_array< double > DATA_SPTR
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