Name | Modified | Size | Downloads / 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).