File README: Removed the warning about false results from the flashClust package since the new flashClust version 1.01 has this error corrected.
Cleaned the test file fastcluster_test.R up. (No dependence on the MASS package any more)
Changed the name of the external function from the outdated “Rcpp_linkage” to “fastcluster”.
Registered the external function “fastcluster” in R.
Configured the C header inclusions to work on Fedora (thanks to Peter Langfelder).
Routines for clustering vector data.
Added a User’s manual
Revision of all files
Fixed test scripts, which indicated an error on some architectures, even if results were correct. (The assumption was that ties in single linkage clustering are resolved in the same way, both for dissimilarity input and for vector input. This is not necessarily true if the floating point unit uses “excess precision”. Now the test scripts are content with arbitrary resolution of ties and do not assume a specific scheme.)
Bug fix: uninitialized function pointer in Version 1.1.0
Fix for Solaris: replaced ssize_t by ptrdiff_t in the C++ code.
Removed the NN-chain algorithm for vector input: it was not clear that it would work under all circumstances with the intricacies of floating- point arithmetic. Especially the effects of the excess precision on the x87 are impossible to control in a portable way. Now, the memory-saving routines for the “Ward” linkage use the generic algorithm, as “centroid” and “median” linkage do.
Release the GIL in the Python package, so that it can be used efficiently in multithreaded applications.
Improved performance for the “Ward” method with vector input.
The “members” parameter in the R interface is now treated as a double array, not an integer array as before. This was a slight incompatibility with the stats::hclust function. Thanks to Matthias Studer, University of Geneva, for pointing this out.
Bug fix related to GIL release in the Python wrapper. Thanks to Massimo Di Stefano for the bug report.
Small compatibility changes in the Python test scripts (again thanks to Massimo Di Stefano for the report).
Scipy import is now optional (suggested by Forest Gregg)
Compatibility fix for NumPy 1.7. Thanks to Semihcan Doken for the bug report.
Test for NaN dissimilarity values: Now the algorithms produce an error message instead of silently giving false results. The documentation was updated accordingly. This is the final design as intended: the fastcluster package handles infinity values correctly but complains about NaNs.
The Python interface now works with both Python 2 and Python 3.
Changed the license to BSD.
Compatibility fix for the MSVC compilers on Windows.
Simplified GIL release in the Python interface.
Updated citation information (JSS paper).
Suppress warnings where applicable. Compilation with GCC should not produce any warning at all, even if all compiler warnings are enabled. (The switch -pedantic still does not work, but this is due to the Python headers.)
Optimization: Hidden symbols. Only the interface functions are exported to the symbol table with GCC.