* spelling
* Allow types.h to be included in applications that set _USE_MATH_DEFINES
Our application defines _USE_MATH_DEFINES on the visual studio
compiler command line, so every compilation includes the macro
definition. Including types.h (or anything other RDKit header,
basically) causes compilation to fail with a "doubly defined
macro" error message.
This commit defines the macro locally and only if it is not already
defined
* very basics of charge checking in
* add the new parameters to the python wrapper. more testing please
* Additional testing.
* update which unittest methods are used
* add cis and trans to bond stereo
* compiles, does not work
* tests all pass
* Whitespace cleanup to recent changes.
* C++ test case for Bond::setStereo using Bond::STEREOCIS and Bond::STEREOTRANS
* Adding a PRECONDITION to Bond::setStereo to make sure the stereo atoms
are already specified if CIS or TRANS is being specified.
E/Z is technically defined by the topology of the molecule so the
stereo atoms are redundant (easier to understand and use!), but
ultimately redundant with the graph. However, CIS and TRANS is _only_
defined in this usage as the orientation of the atoms in the
getStereoAtoms vector.
* Exposing Bond::setStereo to Python and adding test cases to make sure
it can be used to set CIS/TRANS stereochemistry.
* verify substructure matching works
* Adding Bond::setStereoAtoms to C++ Bond class.
This allows setting the atoms to be considered for CIS or TRANS
directly without a much more costly determination of ranking that E/Z
requires.
* Wrap Bond::SetStereoAtoms into python with a new type of test case.
* docs
* - Fixed a bug which prevented FMCS to work correctly on Windows when
linking to DLLs
* - removed spurious debugging info
- fixed function name
* - correct fix for the pyFMCS issue
* - the already existing macro RDKIT_WRAP_DECL is used in lieu of
RDFMCS_DLLIMPORT
* - added -DBOOST_SYSTEM_NO_DEPRECATED to definitions for MINGW builds
- modified a few #ifdef's to discriminate better between MINGW and MSVC
- added a ios::binary to Code/GraphMol/FileParsers/testMolSupplier.cpp
(I already had to add some of those in the past to avoid the CR+LF issues on Windows)
- modified Code/GraphMol/FMCS/MaximumCommonSubgraph.cpp and
Code/GraphMol/FMCS/FMCS.h because checking the function pointer does not
work with DLLs as the function pointer changes upon different calls
- builds under MinGW with -DRDK_USE_BOOST_SERIALIZATION=OFF and
RDK_BUILD_THREADSAFE_SSS=OFF
* - added the possibility to define MSVC_RUNTIME_DLL to point to the
absolute path of an appropriate MSVC runtime DLL to enable
multi-threaded builds with MinGW
- modified C++ and Python tests of the multi-threaded conformation
embedder as under 32-bit MinGW lower numeric precision introduces minimal
coordinate differences with result in ~1-kcal energy difference.
Therefore the energy criterion has been made more lenient, and a
coordinate MSD criterion has been introduce to compare substantial
identity of conformations
* - reverted Code/GraphMol/DistGeomHelpers/Wrap/testDistGeom.py and Code/GraphMol/DistGeomHelpers/testDgeomHelpers.cpp
to the upstream/master version
o rdkit gains a RDKit::common_properties namespace that contains common string value properties
o Dict.h and below gain getPropIfPresent that attempts to retrieve a property and returns
true/false on success or failure. This is used to optimize access.
o rdkit learns how to pass property keys by reference, not value.
A new namespace has been added to RDKit, common_properties
that contains the std::string values for commonly used
properties. This helps to avoid typos in string values
but also avoids a creation of std::strings from character
values. All accessors (has/get/clear and getPropIfPresent) now pass
the key by reference.
Additionally, getPropIfPresent removes the double lookup
of hasProp/getProp which can be a significant speedup
in the smiles and smarts parsers (10-20%)