Home / CML 1.0
Name Modified Size InfoDownloads / Week
Parent folder
Previous Versions 2010-01-09
README 2011-06-15 5.4 kB
cml-1_0_3.zip 2011-06-15 183.0 kB
cml-1_0_3.exe 2011-06-15 247.4 kB
Totals: 4 Items   435.9 kB 0
Configurable Math Library
Changelog

CML version 1.0.3 20110614 (Rev 264)

* Fixed VS 'loss of data' warning in cml/mathlib/coord_conversion.h and
  cml/util.h.

* Added missing normalize() methods to Matrix{Row,Col}Op.

* Fixed signed-unsigned warnings in lines 169-170 of
  cml/matrix/matrix_comparison.h.

* Fixed a number of MSVC /W4 warnings (examples/simple.cpp compiles without
  warnings on 2005).

* Fixed a warning due to assigning an integer to a float in
  matrix_orthographic.  Also changed similar code in matrix_perspective to use
  value_type() instead of static_cast<> to perform the cast to the proper type.

* Added cml::transform_point_4D to transform a 3D point by a 4D homogeneous
  matrix.

* Modified the vector stream output (operator<<) to avoid printing a leading
  space to the stream.

* Removed the Real template parameter from the cml::matrix_to_euler() function
  returning a vector<>.  The vector coefficient type is now taken from the
  matrix coefficient type.

* Added the "subvector_type" typedef to dynamic and external vectors.

* Added vector<>::subvector() to both dynamic and external vectors, which is
  projects a vector to a cardinal plane and returns the resulting vector of one
  lower dimension.

* Added the "supervector_type" to fixed vectors.  This is mainly for
  convenience in creating homogeneous points and vectors.

* Warning fix: added static casts in matrix_perspective and matrix_look_at.

* Removed trailing commas from 'axis order' enums.

* Added inclusion of matrix_comparison.h to cml/matrix.h



CML version 1.0.2 20100108 (Rev 246)

* Added missing <vector> include for std::vector<>.

* Added missing semicolons in cml/core/dynamic_2D.h.

* Added a copy constructor and the copy() method to dynamic_1D and
  dynamic_2D.

* Replaced the std::vector<>-based implementations of dynamic_1D and
  dynamic_2D with custom implementations that use std::allocator<> directly
  to manage the internal arrays.  This is to help avoid a problem with
  sending a std::vector<> from an executable built with debugging to a DLL
  built without debugging on Windows.  In particular, the memory layout of
  the std::vector<> class is different between debug and release builds,
  which causes std::vector<>::size() to return a (usually bad) value to the
  DLL that differs from that returned to the executable.

* Removed the identity_transform() initialization step in
  matrix_rotation_euler_derivatives, and added a matrix_to_euler convenience
  function that returns a 3D vector of the Euler angles.

* Modified the quaternion print code to output coefficients in the right order.

* Changed the include file order in quaterion.h so that quaternion_print.h
  has the order enum defined.

* Removed old scalar promotion code (no longer used), and shortened the long
  select_switch<> template argument list (also no longer used).

* Fixed compilation errors when using const element types in external<>
  vectors and matrices.

* Minor changes to the Doxygen configuration (output now to cml1-doc, no
  CHM file, and PNG images).

* Removed extra comments from the vector timing tests (for testing the
  assembly code generated by CML2).



CML version 1.0.1 20090717

* Minor documentation updates, and a fix for "warning C4305: 'return'
  : truncation from 'double' to 'float'".  Added an "example" function to
  simple.cpp to test the change.

* Added the "coordinate_type" typedef to get access to the vector's Element
  (coordinate) type using a more descriptive name than "value_type".

* Added index_of_max() and index_of_max_abs() for 2 arguments.

* Added matrix<>::set_row() and matrix<>::get_row().

* Fixed a bug in MatrixAssignmentUnroller that caused matrix<>::zero() to
  resize a matrix to 1x1.

* Fixed MatrixPromoteHelper<> to eliminate shadowed template parameter.
  Also modified ScalarPromote<> to avoid GCC warnings.


CML version 1.0 20090314

* Replaced ScalarPromote<> with more robust code from
http://ubiety.uwaterloo.ca/~tveldhui/papers/techniques/techniques01.html

* Fixed a bug in MatrixPromote<> due to a dependence upon broken behavior
of the previous ScalarPromote<> code.


CML version 1.0 20080326

* Macro fixes for Visual Studio 8 and 9.

* Added support for quaternion log() and exp().

* Fixed quaternion slerp() to work transparently with quaternion expressions.

* Fixed quaternion_rotation_difference() to work transparently with
  quaternion expressions.

* Fixed line endings and made sure files have trailing newlines.

* Added inverse determinant optimization.

* Added integer-based vector and matrix types.

* Removed support for quaternion division.

* Fixed header include order for GCC4.

* Replaced switch-case in QuaternionMulOp::operator[] with a temporary
  computed in the constructor.

* Changed multiplication mechanism to remove extra multiplications by
 'scale' constant

* Added six 'matrix decomposition' functions

* Added "cml::" prefix to a number of free-function calls from vector<> and
  matrix<> methods that VS8 incorrectly tries to match with methods in
  those classes having the same names as (but different arguments from) the
  free functions.

* Added 'tolerance' argument to quaternion_to_euler() function

* Added PLANE_ prefix to enums to avoid symbol conflict with Windows macros
  LEFT and RIGHT

* Fixed bug in ScalarPromote code; now implements the C promotion rules
  (see test/integer_vectors.cpp).
Source: README, updated 2011-06-15