hash coding API

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
add hash module to build

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
a fast pseudorandom number generator

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
classes and unit tests for encoding common atom invariants

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
an abstract super class providing utility methods for other hashing functions

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
an atom hash generator for seeding hash values

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
citation for original publication

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
improved error message

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
a generator for basic atom hash codes

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
including coverage tests

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
a hash generator for basic molecule hashes

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
fluent API for building hash generators

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
api for calculating the permutation parity of a sub-array

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
geometric parity configuration for 2D/3D tetrahedral stereo centres for hash code

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
API for encoding stereo values in the hash code and an implementation for encoding geometry and using multiple encoders

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
a factory for generating tetrahedral stereo encoders based on 2D/3D atom coordinates

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
including stereo configuration in basic hash codes

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
added geometry parities for 2D/3D double bond configurations and some utility classes for combinding their permutation parities

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
updated DoubleBond2DParity to provide all substituent atoms, this is required for cases where the double bond drawing is skewed in 2D due to 3D configuration.

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>
a factory for generating double bond stereo encoders based on 2D/3D atom coordinates

Signed-off-by: Egon Willighagen <egonw@users.sourceforge.net>