-
Notifications
You must be signed in to change notification settings - Fork 1
/
Changelog.txt
158 lines (98 loc) · 5.31 KB
/
Changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
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).