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