# Release Notes ## Release 2010-11-15 ### Changelog base/Vectors: added support for more math functions base/Vectors: Operator require a cleanup build/Makefile.build: changed target to 'all' for Eclipse compatibility math/Math: simplified interface of find_matching() math/Math: fixed bugs in round_cast(), find_matching() signal/Fourier: NVidia's CUFFT is incompatible with OpenMP signal/Kernels: added volume/SurfaceExtractor: speed up through reuse of datapoints volume/Voxelizer: speed up distance() functions through hashing ### Open issues volume/Voxelizer: The distances() function for octrees does not give a meaningful return value. The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2010-08-19 ### Changelog base/Matrix: code cleanup base/Meta: added promote_trait1, promote_trait2, promote_trait3 base/Storage: fix bugs found by clang. base/Vectors: added support for functions such as abs, cos, sin, ... build/SConscript: Add support for clang. "CNF=clang" is now available. math/Math: added optimize() math/Math: added gcd() math/Math: added binomial() math/Math: added binopmf() math/Math: added binocdf() math/Math: find_matching(): apply heurisitic only when m==n signal/Fourier: added support for NVidia's CUFFT volume/DTree: fix non-compliant code found by clang. volume/DTree: added operator<() for DNodes. volume/DTree: added index_trail() for DNodes. volume/Voxelizer: added distances() functions ### Open issues volume/Voxelizer: The distances() function for octrees does not give a meaningful return value. base/Vectors: Operator require a cleanup The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2010-02-23 ### Changelog base/XMLParser: Removed, contains invalid code. Consider using TinyXML++ instead. build/SConscript: fixes to the build system math/Math: addressed numerical issues in binomial functions. math/Math: added median() math/Math: added find_matching() omptl/omptl_algorithm: bugfix in partial_sort() by Dominic Couture-Savoie signal/Processing: added autocorrelate() signal/Fourier: real-to-complex transforms require last dimension to be even. signal/Fourier: added fftshift() volume/Geometry, volume/Voxelizer: robustness to operations on empty Geometries. volume/Voxelizer: use array-traits everywhere ### Open issues base/Vectors: Operator require a cleanup The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2009-08-06 ### Changelog volume/Voxelizer: Matrix and Octree voxelization are now identical volume/VolumeIO: Recompute normals of text-based STL files too volume/VoxelTools: added expand() to convert DTrees to Matrices ### Open issues base/Vectors: Operator require a cleanup signal/Fourier: missing fftshift() The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2009-07-31 Note: This release is scheduled to coincide with the release of xFlows, but it should be considered a "pre-release" as there is a known (minor) issue with the voxelization of Octrees. Additionally, new utility functions in VoxelTools are available but not yet documented. ### Changelog volume/Voxelizer: Bugfixes and enhancements ### Open issues volume/Voxelizer: Matrix and Octree voxelization not identical base/Vectors: Operator require a cleanup signal/Fourier: missing fftshift() The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2009-07-20 ### Changelog Added base/StopWatch Added base/COW: Copy-On-Write wrapper class. volume/Voxelizer: improved parallelization base/Functors: documented Gaussian ### Open issues base/Vectors: Operator require a cleanup signal/Fourier: missing fftshift() The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2009-04-05 ### Changelog improved support for 64-bit platforms volume/SurfaceExtractor: fix related to gcc bug 39573 volume/SurfaceExtractor: improved paralellization ### Open issues base/Vectors: Operator require a cleanup signal/Fourier: missing fftshift() The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2009-03-29 ### Changelog Updated README base/ArrayIO: seems fine. volume/DTree: bugfix, include updated volume/Voxelizer: bugfix, include updated math/Spline: bugfix for segfaults More optimizing setting for the Open64 compiler enabled ### Open issues base/Vectors: Operator require a cleanup signal/Fourier: missing fftshift() The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2009-03-06 ### Changelog base/Matrix: added SymmetricMatrix New directory layout: all source moved to 'cvmlcpp'; update your includes! omtpl/omptl_algorithm: enhancement of sort() by Bartosz Tomicki volume/Geometry: bug in rotate() spotted by Alessandro Volz doc/Vector.html: documentation fix by Alessandro Volz volume/Voxelizer: added voxelization to Octrees base/StringTools: bugfix in to_string() volume/DTree: doc update volume/SurfaceExtractor: doc update volume/VolumeIO: added writeSTL() Added math/Polynomial Added math/Splines base/Matrix: added clear() ### Open issues base/ArrayIO: read/writing an array appears to be buggy. base/Vectors: Operator require a cleanup signal/Fourier: missing fftshift() The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2008-11-21 ### Changelog Added volume/DTree Added build/* build system Added base/Holder ### Open issues base/ArrayIO: read/writing an array appears to be buggy. base/Vectors: Operator require a cleanup signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2008-07-17 ### Changelog Removed the need to define USE_OMP, use transparant detection of OpenMP. Added signal/Channel Added signal/LDPCCode Added signal/Communication base/Math: generalizedGaussianShape() base/Math: deviation() and variance() with average omptl/numeric: bug-fix in accumulate() volume/Voxelizer: bug-fixes volume/Geometry: bug-fixes ### Open issues base/ArrayIO: read/writing an array appears to be buggy. base/Vectors: Operator require a cleanup signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2008-06-04 ### Changelog omptl/omptl_algorithm: bug-fixes volume/Voxelizer: bug-fixes Removed obsolete OMPTL_OFF definitions base/Matrix: DynamicMatrix documented ### Open issues base/ArrayIO: read/writing an array appears to be buggy. base/Vectors: Operator require a cleanup signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2008-05-11 ### Changelog base/Meta: bug-fixes omptl: OMPTL_OFF removed, use automatic detection signal/Fourier: Documentation fixes Support for the Open64 compiler. ### Open issues base/ArrayIO: read/writing an array appears to be buggy. base/Vectors: Operator require a cleanup base/Matrix: Document DynamicMatrix signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2008-03-21 ### Changelog base/Matrix: Fixes for column-major mode. ### Open issues base/ArrayIO: read/writing an array appears to be buggy. base/Vectors: Operator require a cleanup base/Matrix: Document DynamicMatrix signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() The Intel compiler suffers an internal error when OpenMP and asserts are used. Hence, the intel compiler cannot be used with OpenMP. The Sun compiler has too many bugs to compile most of the CVMLCPP library. The OpenWatcom compiler is currently too outdated to be used. ## Release 2008-03-21 ### Changelog base/Euclid: More user-friendly points & vectors. Added signal/LDPCCode base/StringTools: remove [to,from]String: is available in boost base/Meta: removed static_log2; is available in boost base/Meta: swap() in ArrayTraits, std::swap() specialisations SCons based build system base/Math: fixed variance(), deviation() Improved code: Effective C++, 3rd edition, item 6 applied. Preliminary support for OpenWatcom compiler. The compiler is currently too outdated to be used. ### Open issues base/ArrayIO: read/writing an array appears to be buggy. base/Vectors: Operator require a cleanup base/Matrix: Document DynamicMatrix signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() The Intel compiler suffers an internal error when OpenMP and asserts are used. Hence, the intel compiler cannot be used with OpenMP. The Sun compiler has too many bugs to compile most of the CVMLCPP library. ## Release 2007-12-13 ### Changelog omptl/numeric: Document extentions omptl: better transparancy when OMPTL_OFF is defined Preliminary partial support for Sun Compiler base/Matrix: use reference semantics base/Math: added factorial(), average(), deviation(), variance() base/Functors: Added result_type ### Open issues base/Vectors: Mixing arithmetic might lead to ambiguous code base/Matrix: Document DynamicMatrix signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() The Intel compiler suffers an internal error when OpenMP and asserts are used. Hence, the intel compiler cannot be used with OpenMP. ## Release 2007-11-07 ### Changelog omptl/omptl_numeric: Parallelized inner_product() signal/Fourier: thread-safe for OpenMP programs Reduced linking dependencies, libcvmlcpp_signal removed ### Open issues signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() The Intel compiler suffers an internal error when OpenMP and asserts are used. Hence, the intel compiler cannot be used with OpenMP. ## Release 2007-10-19 ### Changelog omptl: Use reduction (suggested by Joel Yliluoma) volume/Voxelizer: Added support for fractions of voxels omptl: improved iterator type handling Added array toolkit BlitzArray: moved to array toolkit Added array/ArrayIO signal/Processing: Added localAvg Added Matrix operators + - / * base/Math: Added Least Squares fitting ### Open issues signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() ## Release 2007-09-29 ### Changelog Bugfixes and documentation updates for Fourier base/Meta: documentation completed omptl/* Default arguments issue resolved omptl: add testsuite omptl: major bugfixes ### Open issues signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() ## Release 2007-09-24 ### Changelog Bugfixes and clarification Fourier. ### Open issues omptl/* Default arguments not working for templated function parameters signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() base/Meta: documentation incomplete ## Release 2007-09-18 ### Changelog base/Vector: cleanup operators Many fixes related to blitz base/SurfaceExtractor: replaced class by function base/Voxelizer: replaced class by function ### Open issues omptl/* Default arguments not working for templated function parameters signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() base/Meta: documentation incomplete ## Release 2007-09-13 ### Changelog Added base/BlitzArray base/Matrix: support for row/column-major addressing volume/SurfaceExtractor: properly orients facets volume/SurfaceExtractor: much faster volume/VolumeIO: readSTL(): Bugfix for recomputation of normals ### Open issues signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() base/Meta: documentation incomplete ## Release 2007-09-07 ### Changelog volume/GeometryIO is now volume/VolumeIO Restored support for g++ 4.1 / icc volume/GeometryIO: Support for Array(voxel) IO volume/GeometryIO::readSTL(): support for ascii STL files base/StringTools: Added toUpper(string&) / toLower(string&) volume/Voxelizer: workaround for numerical issue ### Open issues signal/Fourier: missing fftshift() volume/VolumeIO: missing writeSTL() ## Release 2007-09-04 ### Changelog base/Functors: Added missing value_type definitions volume/GeometryIO::readSTL() Performance increased doc/Processing: Fixed misleading example base/Matrix: bugfix for Matrix<T, 1>::extents() omptl: Improved iterator handling base/Math: added factorial() 64/32 bits issues fixed Intel compiler support ## Release 2007-08-08 ### Changelog Added a Makefile and use libraries to overcome linking problems. signal/Fourier: Bugfixes OMPTL compatible with gcc 4.2 Added base/Storage volume/Voxelizer: more parallelization base/Meta : Added ArrayCopy ## Release 2007-07-08 ### Changelog Everything now lives in namespace "cvmlcpp" Added volume/VoxelTools Added base/DirectoryTokenizer Added base/Allocators ## Release 2007-07-05 ### Changelog Added DynamicMatrix to base/Matrix Bugfixes and changes to volume/Voxelizer Bugfixes to volume/Geometry ## Release 2007-06-21 ### Changelog Added Meta::array_traits Added Math::bool isPower(const T x, const T k) Added signal kit ## Release 2007-05-21 ### Changelog Lots of bugfixes. ## Release 2007-05-12 ### Changelog Improved testing procedures. volume/Geometry: Added operator==, operator!= base/Math: clamp() and isPower2(). base/Math: Newton-Raphson procedures with ranges. base/Functors: LinearFunc, QuadraticFunc Polynomial and Clamp. base/Math: Runge-Kutta method contributed by Orestis Malaspinas. ## Release 2007-05-06 ### Changelog Added testing/test: a script for regression testing. Added base/Meta: Meta-Programming tools. Added base/CyclicBuffer base/Functors: Added "Derivative". base/Math: Added modulus(x) base/Math: Added Newton-Raphson procedure Documentation: Style fixes. ### Open issues Improve and standardize test cases. ## Release 2007-04-28 ### Changelog Added base/StringTools Added base/Matrix base/Vectors: Added operator==(Vector<T>, const T &value) Added "volume/*" - The 3D-volume processing kit. base/Vectors: Bugfixes to StaticVector<bool> base/IDGenerators: Added KeyGenerator and IncGenerator. Documentation: Added Implementors.html. Documentation: now all xhtml 1.0/strict. ### Open issues Add missing test-code. ## Release 2007-04-12 ### Changelog Largely completed documentation for existing code. Restructured directories. ### Open issues Add test-code. Add 3D volume-processing tools. ## Release 2007-04-05 Initial release