RDKit: TriangleSmooth.h Source File

| RDKit Open-source cheminformatics and machine learning.

- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

TriangleSmooth.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2004-2006 Rational Discovery LLC
3 //
4 // @@ All Rights Reserved @@
5 // This file is part of the RDKit.
6 // The contents are covered by the terms of the BSD license
7 // which is included in the file license.txt, found at the root
8 // of the RDKit source tree.
9 //
10 #ifndef __RD_TRIANGLE_SMOOTH_H__
11 #define __RD_TRIANGLE_SMOOTH_H__
12
13 #include "BoundsMatrix.h"
14
15 namespace DistGeom {
16 //! Smooth the upper and lower bound in a metric matrix so that triangle
17 //! inequality is not violated
18 /*!
19 This an implementation of the O(N^3) algorithm given on pages 252-253 of
20 "Distance Geometry and Molecular Conformation" by G.M.Crippen and T.F.Havel
21 Research Studies Press, 1988. There are other (slightly) more implementations
22 (see pages 301-302 in the above book), but that is for later
23
24 \param boundsMat A pointer to the distance bounds matrix
25 \param tol a tolerance (percent) for errors in the smoothing process
26
27 */
28 bool triangleSmoothBounds(BoundsMatrix *boundsMat, double tol = 0.);
29 //! \overload
30 bool triangleSmoothBounds(BoundsMatPtr boundsMat, double tol = 0.);
31 }
32
33 #endif
DistGeom
Definition: BoundsMatrix.h:19
DistGeom::BoundsMatPtr
boost::shared_ptr< BoundsMatrix > BoundsMatPtr
Definition: BoundsMatrix.h:116
DistGeom::triangleSmoothBounds
bool triangleSmoothBounds(BoundsMatrix *boundsMat, double tol=0.)
BoundsMatrix.h