commit 70bfb6be63f13cfd225f8a187fd2af0821b15edb (HEAD, tag: refs/tags/TOON_2.0, refs/heads/master) Author: Edward Rosten Date: Mon Feb 6 18:53:16 2012 +0100 Fix out of bounds error in GR_SVD. Fixed transcription error in GR_SVD which caused an out of bounds array access in Diagonalize_SubLoop. Diagonalize_SubLoop now uses some gotos similar to the original F66 code. GR_SVD.h | 13 +++++++++---- Makefile.in | 6 +++--- TooN.pc | 4 ++-- 3 files changed, 14 insertions(+), 9 deletions(-) commit c719b3ee0d91a75fdae87cd2fd7ca4078cbee841 (refs/heads/origin) Author: gerhard Date: Wed Jan 25 15:51:07 2012 +0000 more generic product operators se2.h | 3 ++- se3.h | 3 ++- sl.h | 7 +++++-- so3.h | 3 ++- 4 files changed, 11 insertions(+), 5 deletions(-) commit ee82c940cd773999eafcda2842aee9b9296be557 Author: edrosten Date: Wed Jan 25 15:07:59 2012 +0000 Update configure script ot test for LAPACK properly, and remove warnings about AC_LANG_SOURCE missing. Also blank config.hh (again). configure | 2476 +++++++++++++++++++++++----------------------------- configure.ac | 16 +- internal/config.hh | 15 - 3 files changed, 1097 insertions(+), 1410 deletions(-) commit 473d08873b81763332c84f7b7886138664dda864 Author: edrosten Date: Wed Jan 25 14:57:02 2012 +0000 Add compatibility with CLAPACK. In normal FORTRAN, int maps to Integer (on 32 and 64 bit systems). In CLAPACK, long maps to Integer. Note that CLAPACK cannot be used out of the box with TooN as it requires libf2c which defines main(). To set the FORTRAN integer type use -DTOON_CLAPACK (to make it long int) or -DTOON_FORTRAN_INTEGER=long to set it to an arbitrary type. LU.h | 34 ++++++++-------- Lapack_Cholesky.h | 22 +++++----- QR_Lapack.h | 16 ++++---- SymEigen.h | 8 ++-- TooN.h | 11 +++++ internal/config.hh | 16 ++++++++ lapack.h | 106 ++++++++++++++++++++++++++------------------------- 7 files changed, 121 insertions(+), 92 deletions(-) commit 2e4e61cbae71cb03c0100d82b5ae1744389eb541 Author: edrosten Date: Fri Jan 20 17:24:50 2012 +0000 Fix DESTDIR for MinGW so that it doesn't lead to // at the beginning of a path therby making Windows look for a network drive Makefile.in | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) commit ca6026d9ddd0e1c8dbd8f70b9529423ed0d67b9c Author: edrosten Date: Fri Jan 20 17:22:51 2012 +0000 This file is supposed to be in TooN. TooN.pc | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) commit 6a182e4b8d3196dbecde0022f054629d556765b8 Author: gerhard Date: Mon Nov 14 11:55:44 2011 +0000 bug fix in so2 and removed warnings for nvcc GR_SVD.h | 4 ++-- so2.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) commit 3cfc9b17c9351f94e777a7c4c1df4386ec3c4cc8 Author: gerhard Date: Thu Nov 10 21:27:40 2011 +0000 quadratic GR_SVD by default GR_SVD.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 7a83d4c929c7da889271dd0736a05da16d7bd326 Author: gerhard Date: Tue Nov 1 16:37:16 2011 +0000 fixed some more compiler complaints helpers.h | 6 +++--- so3.h | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) commit fb5c2f7bb98104956a78f0d88760f9f6448bfeda Author: gerhard Date: Thu Oct 13 22:20:46 2011 +0000 fixes to make clang++ (LLVM compiler) happy TooN.h | 3 ++- internal/operators.hh | 2 +- internal/size_mismatch.hh | 10 +++++----- internal/vector.hh | 1 + wls.h | 6 +++--- 5 files changed, 12 insertions(+), 10 deletions(-) commit 56797016b814c14e28150088b3941b742508eb58 Author: gerhard Date: Tue Sep 13 13:00:49 2011 +0000 have Cholesky and Lapack_Cholesky report when they encounter a singular matrix. rank() will return either the dimension of the matrix (full rank) or the first 0 encountered on the diagonal Cholesky.h | 9 +++++++++ Lapack_Cholesky.h | 2 ++ 2 files changed, 11 insertions(+), 0 deletions(-) commit e08375bbef5a738b1ecbade98d44a2c481deddee Author: edrosten Date: Tue Aug 16 09:21:49 2011 +0000 Really add regression test. Add missing using declerations. GR_SVD.h | 2 ++ Makefile.in | 2 +- 2 files changed, 3 insertions(+), 1 deletions(-) commit abfe00b75b42d3cd9acf133545f94eb940dff9d9 Author: edrosten Date: Mon Aug 15 15:21:19 2011 +0000 Tests for GR_SVD. GR_SVD fails. regressions/gr_svd.cc | 16 ++++++++++++++++ regressions/gr_svd.txt | 5 +++++ 2 files changed, 21 insertions(+), 0 deletions(-) commit b74fa479db59916cdfc14ff9877279074c09e9ed Author: gerhard Date: Thu Jun 30 17:53:05 2011 +0000 more tests test/SXX_test.cc | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) commit 9703cc5ac54fb076700480d74b53a63324a924ec Author: gerhard Date: Thu Jun 30 17:52:26 2011 +0000 fixed sim{2,3} with Taylor series expansions to avoid cancelling poles at 0 in various terms. The adjoints are still missing sim2.h | 35 +++++----------------- sim3.h | 103 +++++++++++++++++++++++++++++++++------------------------------ 2 files changed, 62 insertions(+), 76 deletions(-) commit 7ca765efaaaf153f5f4f6bbdfe4a9ab57ea7086c Author: gerhard Date: Wed Jun 29 20:20:00 2011 +0000 added 2D and 3D similarity group implementations sim2.h | 406 +++++++++++++++++++++++++++++++++++++++++++ sim3.h | 503 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ so2.h | 5 +- so3.h | 6 +- test/SXX_test.cc | 161 +++++++++++++++++- 5 files changed, 1078 insertions(+), 3 deletions(-) commit ec61aab3ef3a7d5549fb79861649056127a9ffdb Author: ok245 Date: Thu Jun 9 14:21:58 2011 +0000 Added missing using. Cholesky.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 7b69e28ad1c60fffde975a08cf297f53bfea111b Author: gerhard Date: Sat Jun 4 09:31:54 2011 +0000 allow zero length slizes, makes more uniform code internal/slice_error.hh | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit e5fcdf5e034cf4cbe6e8bf9ac8594896cb8a6d4a Author: gerhard Date: Sat Jun 4 09:31:00 2011 +0000 test for statically sized FADBAD variables test/fadbad.cpp | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) commit 693d7e139649a20023f788b094da58417c3a97eb Author: edrosten Date: Mon May 23 19:53:53 2011 +0000 Added missing using. optimization/brent.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit c7f973a6a538d913005035da4ee4f16769afcedd Author: gerhard Date: Mon May 2 21:46:10 2011 +0000 FADBAD integration for fixed number of derivatives, much faster functions/fadbad.h | 157 +++++++++++++++++++++++++++++++++++++-------------- se3.h | 2 +- 2 files changed, 115 insertions(+), 44 deletions(-) commit fde9eaab488401cde72c88c7e867ba6103c4cf27 Author: gerhard Date: Sun May 1 15:27:56 2011 +0000 faster FADBAD SE3/SO3 creation functions/fadbad.h | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) commit 252cb369aa062d47f39bf690a06aa0f389d7a5de Author: gerhard Date: Fri Apr 22 21:05:22 2011 +0000 fixes for builtin typeof with fadbad types functions/fadbad.h | 8 ++++---- internal/builtin_typeof.h | 7 +++++++ 2 files changed, 11 insertions(+), 4 deletions(-) commit af4bceb801926d75b737d0177f0b659f027d54bc Author: gerhard Date: Fri Apr 22 15:08:56 2011 +0000 missing using std::sqrt optimization/downhill_simplex.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit ba02400039330255de61fa7f227cb1a61850a434 Author: gerhard Date: Thu Apr 21 12:14:15 2011 +0000 make determinant.h Precision clean, extend fadbad interface determinant.h | 4 ++-- functions/fadbad.h | 49 +++++++++++++++++++++++++++++++------------------ 2 files changed, 33 insertions(+), 20 deletions(-) commit 2061a0f217c9ff06c7d4a2f68140f664b9b9b933 Author: gerhard Date: Tue Apr 19 09:43:43 2011 +0000 more usings and added determinant to standard includes SymEigen.h | 3 ++- TooN.h | 1 + se3.h | 2 ++ 3 files changed, 5 insertions(+), 1 deletions(-) commit af2a95da46a6ecf5df256a37b6860c95a9bdfcb9 Author: gerhard Date: Thu Apr 7 23:17:02 2011 +0000 consequent use of DefaultPrecision for easier use to mobiles se2.h | 2 +- se3.h | 2 +- sl.h | 2 +- so2.h | 2 +- so3.h | 2 +- wls.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) commit 9d30f65003faa66d18b235a0fceccc47064882bf Author: gerhard Date: Thu Apr 7 21:27:03 2011 +0000 missing using so3.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit b58c3a18b8a75321844b958a3ad01185af392edc Author: gerhard Date: Thu Mar 31 21:04:43 2011 +0000 added implementations for general matrix square root and matrix logarithm. Added SL<>::ln() based on the matrix logarithm function. no guarantees about numerical stability are given :) helpers.h | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sl.h | 26 +++++++++++++++++++++++- test/log.cc | 20 +++++++++++++++++++ test/sl.cc | 3 ++ 4 files changed, 110 insertions(+), 1 deletions(-) commit e3fd8a82e4b002564824be6af179f5c8e3482c19 Author: gerhard Date: Tue Mar 22 19:59:59 2011 +0000 missing default value wls.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 4c7d021dec3b6a5168bd80255462d5165cbd883f Author: gerhard Date: Mon Mar 21 22:21:37 2011 +0000 some missing conditions for Resizable objects internal/slice_error.hh | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) commit 7b72a1b66f1d8ce2878a1b08ba26f6ac761ae8d8 Author: gerhard Date: Fri Dec 24 13:58:03 2010 +0000 let overloading resolve the right LAPACK function SVD.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit d2c2de60eeddf1df0706a64ef337ed7023786afd Author: gerhard Date: Thu Dec 23 23:50:39 2010 +0000 some missing Precision arguments Lapack_Cholesky.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit fdc8eb54efc06e878f6111374ffedd0b686dc803 (tag: refs/tags/TOON_2_0_BETA8) Author: edrosten Date: Wed Nov 3 16:11:33 2010 +0000 Version punt Doxyfile | 2 +- configure.ac | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 19cd226450e8c04afddc7a0452e4ce2debcc2fe8 Author: gerhard Date: Fri Jul 30 18:45:16 2010 +0000 empty config again internal/config.hh | 16 ---------------- 1 files changed, 0 insertions(+), 16 deletions(-) commit 56598d2e526c3bf109003c4671a73e6d5b5e1254 Author: gerhard Date: Thu Jul 29 19:09:15 2010 +0000 sparse add_mJ for a single measurement wls.h | 27 +++++++++++++++++++++++---- 1 files changed, 23 insertions(+), 4 deletions(-) commit e967c837df2e0f94ceeb6d79dc19e50d4e535af2 Author: gerhard Date: Thu Jul 29 18:46:07 2010 +0000 fixes for Vector * Matrix product internal/operators.hh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 8fff1fa73fc93c44e25184726fc4a42418b8d99c Author: gerhard Date: Wed Jul 21 07:52:22 2010 +0000 small optimization wls.h | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 5473047f8bd4fa8e528efafa7a8aff82687e5897 Author: edrosten Date: Mon Jul 5 12:51:23 2010 +0000 Added missing file. TooN.pc.in | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) commit 0dcb1d349e170f2722d0be65f4dff179c1f8c38d Author: edrosten Date: Tue Jun 29 14:20:46 2010 +0000 Added pkg-config script from Michael Marner Currently, the script uses a rather simple test for LAPACK. Makefile.in | 2 + configure | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++- configure.ac | 33 +++++++++++++- internal/config.hh | 2 +- 4 files changed, 160 insertions(+), 5 deletions(-) commit 7ce8802b583da6b5b184c052ec3231c732a771fa Author: edrosten Date: Tue Jun 29 14:03:56 2010 +0000 Removed the TooN-1 message from the configure script. configure | 24 ------------------------ configure.ac | 24 ------------------------ 2 files changed, 0 insertions(+), 48 deletions(-) commit c17026661d7946a6651b72d9fb27952c5533ec83 Author: edrosten Date: Tue Jun 29 14:03:06 2010 +0000 Enabled all warnings for regression tests. Fixed a number of minor warnings. Lapack_Cholesky.h | 2 +- Makefile.in | 2 +- QR_Lapack.h | 4 +- configure | 2442 +++++++++++++++++++++++++++----------------- configure.ac | 66 ++ internal/allocator.hh | 4 +- internal/config.hh | 15 + internal/overfill_error.hh | 2 +- regressions/simplex.cc | 3 +- 9 files changed, 1589 insertions(+), 951 deletions(-) commit 46cd5fa1747b8cb80b9fb98d6bd428de6dc9b63d Author: edrosten Date: Thu Jun 17 09:58:22 2010 +0000 Generate doxygen tag file patch from Pekka Paalanen Generating the doxygen tag file allows external projects to link their doxygen documentation to the TooN documentation. Assume external project directory directory structure: ./Doxyfile ./src/ - my project sources ./doc/html/ - my doxygen generated docs ./include/TooN/ - checkout of Toon Adding TAGFILES = include/TooN/TooN-doxy.tag=../../include/TooN/html to the external project's Doxyfile allows doxygen to automatically reference the TooN documentation. Doxyfile | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 497950d59eab21dc08fbbc92b942e829e34ec4a0 Author: edrosten Date: Mon Jun 14 16:48:23 2010 +0000 Patch from Pekka Paalanen to make formatting widths work properly. internal/operators.hh | 4 ++++ se2.h | 9 +++++++-- se3.h | 6 +++++- 3 files changed, 16 insertions(+), 3 deletions(-) commit 464e979f52c6aa12a4fa9def476b2efbca74cd04 Author: edrosten Date: Wed Jun 9 15:20:03 2010 +0000 Fix previous commit. internal/matrix.hh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 2a6cb3e67d8fda99f9fb0bcc1954ee5bffe5bc4f Author: edrosten Date: Wed Jun 9 14:21:27 2010 +0000 Add missing const. internal/matrix.hh | 4 ++-- internal/vector.hh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) commit e466935f43eec1ed2dd7f8f9b2f4aff9850cf9dc Author: gklein Date: Wed May 5 23:46:53 2010 +0000 Allow user to change default precision from .configure with --with-default_precision=foo TooN.h | 4 + configure | 2045 ++++++++++++++++++++++--------------------------- configure.ac | 5 + internal/config.hh | 13 - internal/config.hh.in | 2 + 5 files changed, 930 insertions(+), 1139 deletions(-) commit d7d6f5f32abc3ede82838cc561eb5b5dd5982200 Author: gerhard Date: Mon May 3 17:37:06 2010 +0000 more fixes for FADBAD++ helpers.h | 2 +- se3.h | 4 ++-- so3.h | 15 ++++++++------- 3 files changed, 11 insertions(+), 10 deletions(-) commit 15b2d952eebca6d77b25fee7d25df70f5cf9032f Author: gerhard Date: Fri Apr 30 13:41:09 2010 +0000 Added methods to add measurements with sparse jacobians to the WLS. So far only a method for a single block and for 2 blocks is implemented. more could be added or a dynamic version which takes a list of jacobians. In all cases, here the jacobians are represented as a stack of row vectors (as opposed to columns as in the original interface). The postfix _rows signifies that. wls.h | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 52 insertions(+), 1 deletions(-) commit 602d13771715a923a35c95eb6f337f1fd20fad87 Author: gerhard Date: Thu Apr 29 16:06:15 2010 +0000 removed superfluous qualifier to avoid lots of warnings empty config.hh internal/config.hh | 4 ++-- internal/vbase.hh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) commit a09cea4845d616d90d9a9dd310c80ccdd8fbca38 Author: gerhard Date: Wed Apr 28 22:17:16 2010 +0000 small template fix to allow dynamically sized vectors as input for SO3::exp so3.h | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit ac1ab00796169777997627c7826669f195de750a Author: gerhard Date: Sun Apr 18 09:49:18 2010 +0000 initial integration with FADBAD++ automatic differentiation (AD) library functions/fadbad.h | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++ helpers.h | 2 +- internal/config.hh | 14 ++++++ se2.h | 26 +++-------- se3.h | 7 ++- so2.h | 26 +++++++---- so3.h | 10 +++- test/fadbad.cpp | 45 ++++++++++++++++++ test/sl.cc | 5 ++ 9 files changed, 231 insertions(+), 34 deletions(-) commit d191c3ca93c3a5a5f5d17c6f3c37de6bada6399f Author: edrosten Date: Thu Apr 8 16:12:30 2010 +0000 Fix to generic programming in SE3 by Hauke Strasdat. se3.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit ee6c483a6473567552771f75e5e6774b543475d2 Author: edrosten Date: Wed Apr 7 14:48:07 2010 +0000 Fix for LAPACK-free operation determinant.h | 26 ++++++++++++++------------ 1 files changed, 14 insertions(+), 12 deletions(-) commit d64902597a9381a044778ec95d2a86d2998af083 Author: edrosten Date: Wed Apr 7 13:09:59 2010 +0000 Optional column pivoting in QR decomposition. QR_Lapack.h | 54 ++++++++++++++++++++++++++++++++++++++++++++---------- lapack.h | 14 +++++++------- 2 files changed, 51 insertions(+), 17 deletions(-) commit 56a5ad8732b89dd8f191864be44b67f7195e71ab Author: edrosten Date: Wed Apr 7 09:31:50 2010 +0000 Added missing "inline" lapack.h | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit 35d0127a1e51474c57fa6a34bb5569a421c6fa8c Author: edrosten Date: Tue Apr 6 16:58:54 2010 +0000 Added preliminary LAPACK-based QR decomposition. Only woks for cols >= rows. Makefile.in | 2 +- QR_Lapack.h | 114 ++++++++++++++++++++++++++++++++++++++++++++++ lapack.h | 32 ++++++++++++- regressions/qr.cc | 33 +++++++++++++ regressions/qr.txt | 23 +++++++++ regressions/regression.h | 1 + 6 files changed, 203 insertions(+), 2 deletions(-) commit 8bf6562173ef2f2b4ffb18fdbee03ca084cd6f00 Author: edrosten Date: Tue Apr 6 15:34:48 2010 +0000 Blank file internal/config.hh | 14 -------------- 1 files changed, 0 insertions(+), 14 deletions(-) commit d254ee7b9187e2b489fad8d7f50c8a13dc917061 Author: qpan Date: Thu Apr 1 13:02:05 2010 +0000 SO3 constructor using 2 Vectors: added an assert fail for the ambiguous case of Vectors pointing in exactly opposite directions instead of just returning Identity internal/config.hh | 13 +++++++++++++ so3.h | 4 ++++ 2 files changed, 17 insertions(+), 0 deletions(-) commit 2c8fcb2af5d7739e0c6f098f7609cf350c491a60 Author: edrosten Date: Fri Feb 26 19:11:06 2010 +0000 Documentation on how to return slices from functions. doc/documentation.h | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) commit b144d3af409b31810aa768488a8eece78e7108ef Author: edrosten Date: Sun Feb 14 12:25:09 2010 +0000 Added missing const in vector slicing. Added regression test. internal/vbase.hh | 2 +- regressions/slice.cc | 4 ++++ regressions/slice.txt | 3 +++ 3 files changed, 8 insertions(+), 1 deletions(-) commit 5ac85ad5eb77789f5f8a5f306e82da7b7e8655ed Author: edrosten Date: Wed Feb 10 15:24:18 2010 +0000 Fixed/updated regression test for complex. regressions/complex.cc | 21 +++++++++++++++++++-- regressions/complex.txt | 20 ++++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) commit a1496bb54af8c66254d53321c02b6ce8898536fb Author: gerhard Date: Tue Feb 9 13:43:19 2010 +0000 small doc update on Win32 and TOON_TYPEOF doc/documentation.h | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) commit ecf51c56f10e0a133ce09c86a02fe489893b8506 Author: eads Date: Fri Feb 5 02:19:34 2010 +0000 For some reason, my Mac OS X defines numeric constants B0 and P0, so I've renamed these template arguments Ba0 and Pr0 to prevent a collision. internal/operators.hh | 28 ++++++++++++++-------------- 1 files changed, 14 insertions(+), 14 deletions(-) commit 1ae5cfbed7f181c037a720697e3cf6102bf36f96 Author: edrosten Date: Mon Feb 1 19:41:40 2010 +0000 General eigensystem functions. lapack.h | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) commit 55f5e30a0ab8c0ff30118e4b7629f7064f1a1777 Author: edrosten Date: Mon Feb 1 19:35:17 2010 +0000 Regression test for complex numbers. Makefile.in | 2 +- numdiff.awk | 31 +++++++++++++++++++++++++++++-- regressions/complex.cc | 37 +++++++++++++++++++++++++++++++++++++ regressions/complex.txt | 9 +++++++++ 4 files changed, 76 insertions(+), 3 deletions(-) commit 0c4d3ff2332b9cde6380949ef8e68a7699012e87 Author: edrosten Date: Mon Feb 1 19:35:02 2010 +0000 Basic support for planar complex numbers as returned by some LAPACK functions. internal/planar_complex.hh | 62 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 62 insertions(+), 0 deletions(-) commit 570a214b137dd5561b68587c77e94be6cb568b4a Author: edrosten Date: Mon Feb 1 19:34:08 2010 +0000 Complete addition of extra parameterization internal/vector.hh | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) commit da0935eb2e58bb4f46344ec9734743522b7236a4 Author: edrosten Date: Mon Feb 1 19:33:02 2010 +0000 Doc tweak. GR_SVD.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit 9e62dc3db756ffa697f3c7cbb4558c4ed12cc442 Author: edrosten Date: Mon Feb 1 19:27:41 2010 +0000 Extra parameterization in SliceVBsase to allow for Vectors with data held in an underlying smart pointer. The parameterization allow customzation of the pointer type and the return type from operator[]. internal/allocator.hh | 56 +++++++++++++++++++++++------------- internal/vbase.hh | 76 ++++++++++++++++++++++++++++++++++-------------- 2 files changed, 90 insertions(+), 42 deletions(-) commit 22531845d0b709af0c75f32f6cce4f6f457f793b Author: edrosten Date: Mon Feb 1 18:49:06 2010 +0000 Support complex numbers. TooN.h | 20 ++++++++++++++++++++ doc/documentation.h | 1 + 2 files changed, 21 insertions(+), 0 deletions(-) commit 151f97e0a7d561747d317c7610c1993a22e4abe5 Author: gerhard Date: Mon Feb 1 17:33:18 2010 +0000 test for det() > 0 in SO3::coerce and fix some const issues in SE3 se3.h | 32 ++++++++++++++++---------------- so3.h | 3 +++ test/SXX_test.cc | 2 +- 3 files changed, 20 insertions(+), 17 deletions(-) commit f5e3fb8eb91a3ca439245c8f90bb72bcc9861990 Author: edrosten Date: Mon Feb 1 16:27:06 2010 +0000 Blank config.hh again. internal/config.hh | 13 ------------- 1 files changed, 0 insertions(+), 13 deletions(-) commit 70a52c159cefec1bcf5ca9ed93a61e55663f6f43 Author: edrosten Date: Thu Jan 21 22:45:38 2010 +0000 Add some NaN-proofing to conjugate gradient optimizer. Still no max iterations for the bracketing step. optimization/conjugate_gradient.h | 68 ++++++++++++++++++++++++++++++++----- 1 files changed, 59 insertions(+), 9 deletions(-) commit f5fb9994f7bea92ffc01555446bdce28cd00ed9b Author: edrosten Date: Tue Jan 19 10:33:19 2010 +0000 Fix another missing const internal/mbase.hh | 2 +- regressions/slice.cc | 3 +++ regressions/slice.txt | 6 ++++++ 3 files changed, 10 insertions(+), 1 deletions(-) commit 0067d605d2aaf12f0f584dcec19980860df9a2a8 Author: edrosten Date: Tue Jan 19 10:28:09 2010 +0000 Fix of missing const from Ville Kyrki. Added test to regressions. Makefile.in | 2 +- internal/config.hh | 13 +++++++++++++ internal/mbase.hh | 2 +- regressions/slice.cc | 6 ++++++ regressions/slice.txt | 6 ++++++ 5 files changed, 27 insertions(+), 2 deletions(-) commit 35feda0f6ec94ffd3143d5be7c7f302da46e8de8 Author: edrosten Date: Mon Jan 18 15:32:13 2010 +0000 vector now resizes on assignment. Safe to use in the STL. All methods potentially causing resize call try_destructive_resize(). The method is a no-op for static and dynamic vectors, and for assignment from non-sized Operator<>s. doc/documentation.h | 33 +++++++++++++---- internal/allocator.hh | 78 +++++++++++++++++++++++++++++++++++++++- internal/vector.hh | 10 +++++ regressions/vector_resize.cc | 16 +++++--- regressions/vector_resize.txt | 1 + 5 files changed, 122 insertions(+), 16 deletions(-) commit bac0fcdedb9c34e768cc16c83cc36bcfbb9a7186 Author: edrosten Date: Mon Jan 18 15:24:12 2010 +0000 Fix const correctness for so3::exp of slices of const vectors, and probably everything else. Makefile.in | 4 ++-- regressions/so3.cc | 19 +++++++++++++++++++ regressions/so3.txt | 12 ++++++++++++ so3.h | 16 ++++++++-------- 4 files changed, 41 insertions(+), 10 deletions(-) commit 93bcfd005081fed7bb8a5ceabe52acda70e01ede Author: edrosten Date: Mon Jan 18 12:16:17 2010 +0000 Better compile options for regression testing. Makefile.in | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 9f22fc45cb1ec8447a8c9d88f7c1e2cf329ac0f5 Author: edrosten Date: Mon Jan 18 12:15:31 2010 +0000 Better size decuction, so that a Vector is never generated. TooN.h | 23 +++++++++++++++++++++++ internal/operators.hh | 6 ------ 2 files changed, 23 insertions(+), 6 deletions(-) commit ec0d0acb6a2695c5b850e10326fd52c7a2c33cfd Author: edrosten Date: Mon Jan 11 14:59:12 2010 +0000 Fixed const correctness of TooN. Note, the following code will not work: template void foo(const Vector<2, double, B>&); void bar(const Vector<3>& v) { foo.slice<0,2>(); } To fix, change foo to: template void foo(const Vector<2, P, B>&); The old version can be checked out using the tag BEFORE_CONST_FIX. TooN.h | 11 ++++++ doc/documentation.h | 93 +++++++++++++++++++++++++++++++++++++++++++++++-- internal/mbase.hh | 20 +++++++---- internal/operators.hh | 8 ++-- internal/reference.hh | 40 ++++++++++---------- internal/vbase.hh | 22 ++++++------ 6 files changed, 149 insertions(+), 45 deletions(-) commit 3ca20a837cc9dd1aafc6779854605a92f71600e7 (tag: refs/tags/BEFORE_CONST_FIX) Author: edrosten Date: Mon Jan 11 14:54:47 2010 +0000 Blank config.hh internal/config.hh | 13 ------------- 1 files changed, 0 insertions(+), 13 deletions(-) commit 565158f52b450e1d032c5579f6c996c9b413f263 Author: edrosten Date: Mon Jan 11 14:54:09 2010 +0000 Assed phony target for test Makefile.in | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit c02f222538969fd5ff688d879fbc7ae852ff96ad Author: eads Date: Wed Dec 23 06:38:21 2009 +0000 added using statement in SymEigen.h for swap (used in SymEigen<3>) SymEigen.h | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit b167ead7886aed99a531b9f890e099214fbf5070 Author: gerhard Date: Sat Dec 19 05:56:14 2009 +0000 fixed missing header sl.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 1df8c84d08f8bd68cf76c2d73c8b2210219e7fb4 Author: gerhard Date: Wed Dec 16 20:57:19 2009 +0000 replaced use of LU for inverse and det with TooN implementations sl.h | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-) commit a824cd41ae5ecf80211387b59797c9b729287b01 Author: gerhard Date: Wed Dec 16 16:55:25 2009 +0000 canonical config.hh that should work out of the box internal/config.hh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 2ae3f40876ca7977eb3d7e4238886680bc588ab6 Author: gerhard Date: Wed Dec 16 16:47:01 2009 +0000 doc for Win32 config and a bit more robust for config issues doc/documentation.h | 2 ++ internal/deprecated.hh | 4 ++++ 2 files changed, 6 insertions(+), 0 deletions(-) commit 0dfa3f1172c3aeea20bcc3f789c46ff9a1c6fa12 Author: edrosten Date: Wed Dec 16 16:44:14 2009 +0000 Vector infinity norm. helpers.h | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) commit 9b92bb158971d5061ff712744527f6bfb8f38faf Author: qpan Date: Mon Dec 14 13:54:19 2009 +0000 fixed header guards and added fix for dynamic sized case Lapack_Cholesky.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 4993962cc92b6575ce3b8c0da59f05a7c1fdee90 Author: edrosten Date: Fri Dec 11 16:59:50 2009 +0000 Fix to dynamic WLS wls.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit e0e029d3c9e1c159492df1e08b5ff29c6652628c (tag: refs/tags/TOON_2_0_BETA7) Author: edrosten Date: Fri Dec 11 14:27:01 2009 +0000 Doc and version punt. Doxyfile | 6 +- configure | 18 ++++---- configure.ac | 2 +- doc/cramer.gnuplot | 1 + doc/cramer.h | 128 +++++++++++++++++++++++++++++++++++++++++++++++++++ doc/cramer.png | Bin 0 -> 31731 bytes doc/documentation.h | 53 ++++++++------------- internal/config.hh | 15 +++--- 8 files changed, 169 insertions(+), 54 deletions(-) commit d0ae1dffddde2d67ba35a833831da2c7f1f7015a Author: edrosten Date: Wed Dec 9 18:51:13 2009 +0000 Fix bug in matrix filling with Fill(Matrix<>) for non square matrices. Regression test added. Reported by Gabriel Nützi. Makefile.in | 2 +- internal/comma.hh | 2 +- regressions/fill.cc | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++ regressions/fill.txt | 28 +++++++++++++++++++++++ 4 files changed, 91 insertions(+), 2 deletions(-) commit e08f6407d8f738922435c336f2407934f390e98e Author: edrosten Date: Mon Dec 7 19:17:51 2009 +0000 Updare regression test sample output since the new 3x3 eigensolver inverts the sign of some of the eigenvectors relative to the old one. regressions/eigen-sqrt.txt | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 0f841fb20b56c71efab4eba2480b6f5d88c9d849 Author: edrosten Date: Mon Dec 7 16:54:55 2009 +0000 Fix from Gabriel Nützi: add missing for std::less. helpers.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 4447b5f5b1841b460e356dce7d1440f7ed23d586 Author: edrosten Date: Mon Dec 7 12:45:29 2009 +0000 Regression tests for sym eigen. Makefile.in | 2 +- regressions/sym_eigen.cc | 95 +++++ regressions/sym_eigen.m | 35 ++ regressions/sym_eigen.txt | 932 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1063 insertions(+), 1 deletions(-) commit 43558f560b8214d12608c2ad314f07cf3f8816fb Author: edrosten Date: Mon Dec 7 11:08:37 2009 +0000 Variable sized SymEigen SymEigen.h | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) commit e986028b14d19ead2bc9cfecf1fd334e13a736be Author: edrosten Date: Mon Dec 7 10:44:25 2009 +0000 norm_1 for vectors. Also add norm_2 as a synonym for norm, to give more consistency in naming. helpers.h | 25 ++++++++++++++++++++++++- 1 files changed, 24 insertions(+), 1 deletions(-) commit 884f94190770e3588b8ee9afc433bc064a6e735c Author: gklein Date: Thu Dec 3 20:14:48 2009 +0000 Rename min() and max() to min_value(), max_value(). This is to avoid conflicts with the min,max macros which are included somewhere in windows. Also restore config.hh to default state as in config.hh.in helpers.h | 18 ++++++++++-------- internal/config.hh | 15 +++++++-------- 2 files changed, 17 insertions(+), 16 deletions(-) commit 4731789c575dcd3f519efe82687644c8af7edc96 Author: qpan Date: Thu Dec 3 18:27:27 2009 +0000 update to SymEigen.h with fast specialisation for eigendecomposition of symmetric 3x3 matrices SymEigen.h | 125 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 103 insertions(+), 22 deletions(-) commit ae1ef2868596bafedd0d98f264bde1ec6b19b7e0 Author: qpan Date: Thu Nov 19 18:19:02 2009 +0000 Added a minus_h variable to conjugate gradient as -h was passed to LineSearch, which caused nan's when the temporary -h was destructed internal/config.hh | 13 +++++++++++++ optimization/conjugate_gradient.h | 9 ++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) commit 77324252e9709a503ebe7c7d1a17d55e4156fc28 Author: edrosten Date: Thu Nov 5 09:41:57 2009 +0000 Blank config file internal/config.hh | 13 ------------- 1 files changed, 0 insertions(+), 13 deletions(-) commit ff98bf6c72843b67032d5ba4625aaa9f19b26ebd Author: edrosten Date: Mon Nov 2 17:13:44 2009 +0000 Reinstated old, horrible normalize-in-place for vectors since removal breaks too much old code. helpers.h | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletions(-) commit 714d27ac28dffbe08ada0a169cd7ccd3434f19fa Author: edrosten Date: Mon Nov 2 16:26:55 2009 +0000 Removed End<> and all wierd variants. TooN.h | 59 -------------------------------------------------- internal/vbase.hh | 62 ----------------------------------------------------- 2 files changed, 0 insertions(+), 121 deletions(-) commit c6da4596495ebb79f1c9fc9f27435d74c0efda4a Author: gerhard Date: Sun Nov 1 15:33:39 2009 +0000 fix for last checkin internal/vbase.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit e9f14b1cef7a97a3b05f7c6674f47efd9fd9607e Author: gerhard Date: Sat Oct 31 11:32:10 2009 +0000 fixes for MSVC helpers.h | 11 ++++++++--- internal/config.hh | 4 ++-- internal/vbase.hh | 6 +++--- so3.h | 3 +++ 4 files changed, 16 insertions(+), 8 deletions(-) commit a0570fea0093fbce3ffdb6eddd889088d9c8e28d (tag: refs/tags/TOON_2_0_BETA6) Author: edrosten Date: Tue Oct 27 16:05:39 2009 +0000 Removed old file Doxyfile | 2 +- configure.ac | 2 +- doc/documentation.h | 37 ++++++++++++++++++++++++++++--------- internal/vector.hh | 20 ++++++++++++++++++++ test/simplex_test.cc | 42 ------------------------------------------ 5 files changed, 50 insertions(+), 53 deletions(-) commit d0a8a4d9a95871659361d3d1e869b1c9ffdac0bb Author: edrosten Date: Thu Oct 22 09:08:31 2009 +0000 Removing unneeded file. test/chol.cc | 37 ------------------------------------- 1 files changed, 0 insertions(+), 37 deletions(-) commit c5560ddb888ee783617709fa130de80a549657eb Author: edrosten Date: Wed Oct 21 12:39:42 2009 +0000 Fuix bug in variable sized downhill simplex (and regression test). optimization/downhill_simplex.h | 2 +- regressions/simplex.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 40af20eea13f204457188ff541ee06958afcfa68 Author: edrosten Date: Wed Oct 21 12:35:06 2009 +0000 Added Downhill Simplex regression test. - Added test. - Removved some old tests. - Update regression framework to ignore blocks of text. - Add bounds checking to regression builds. Regression test fails for variable size. Makefile.in | 4 +- numdiff.awk | 10 +++++++- regressions/simplex.cc | 55 +++++++++++++++++++++++++++++++++++++++++++++ regressions/simplex.txt | 10 ++++++++ test/gauss_jordan.cc | 34 --------------------------- test/resize_test.cc | 36 ----------------------------- test/simplex_view.gnuplot | 2 +- 7 files changed, 77 insertions(+), 74 deletions(-) commit 87583d23b7799fd4381cb727d849fbb03a38510d Author: edrosten Date: Wed Oct 21 11:20:38 2009 +0000 Fix bug reported by Susan Cox. optimization/downhill_simplex.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit e0fc08be64bca4a736fa9b3425dbd0968ea2c642 Author: edrosten Date: Mon Oct 19 14:16:28 2009 +0000 Update doc. Lapack_Cholesky.h | 4 ---- 1 files changed, 0 insertions(+), 4 deletions(-) commit 5aff758cdc1dae5e2f4f90c48f496115ce633b9f Author: edrosten Date: Mon Oct 19 14:15:56 2009 +0000 Single precision LAPACK Cholesky. Lapack_Cholesky.h | 10 +++++----- 1 files changed, 5 insertions(+), 5 deletions(-) commit ebc690c12751ca14cba7b3a478dba2241a01d2ef Author: edrosten Date: Mon Oct 19 14:08:52 2009 +0000 Patch from Ville Kyrki fixing Cholesky: - get_L() gets L where L L^T = M. - Cholesky.h has get_unscaled_L() and get_D() where L D L^T = M. - Regression tests added. - Documentation fixed. Cholesky.h | 48 +++++++++++++++++++++++++++++-- Lapack_Cholesky.h | 61 +++++++++++++++++++++++++++------------- Makefile.in | 2 +- regressions/chol_lapack.cc | 53 +++++++++++++++++++++++++++++++++++ regressions/chol_lapack.txt | 58 ++++++++++++++++++++++++++++++++++++++ regressions/chol_toon.cc | 57 +++++++++++++++++++++++++++++++++++++ regressions/chol_toon.txt | 65 +++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 320 insertions(+), 24 deletions(-) commit ba63a9ca4d5868cda4ed4f7011cef6c1fddf1ebf Author: edrosten Date: Thu Oct 15 14:51:50 2009 +0000 Regression tests for determinant. Makefile.in | 2 +- regressions/determinant.cc | 353 +++++++++++++++++++++++++++++++++++++++++++ regressions/determinant.m | 47 ++++++ regressions/determinant.txt | 116 ++++++++++++++ regressions/regression.h | 1 + 5 files changed, 518 insertions(+), 1 deletions(-) commit b3707e0b5c9120eff5d139dae030f7e62099e316 Author: edrosten Date: Wed Oct 14 15:26:37 2009 +0000 Add the more intuitive TOON_INITIALIZE_NAN as a synonym for TOON_INITIALIZE_QNAN. doc/documentation.h | 2 +- internal/debug.hh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 4e58c000a0d6a6d9509d2ebeca0c9e0898d3244f Author: edrosten Date: Wed Oct 14 15:25:13 2009 +0000 Fix a warning. internal/debug.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit d8006dcb6e605f60d5674c467dd24ff6af4ca4ac Author: edrosten Date: Wed Oct 14 15:19:57 2009 +0000 Make single argument constructors for Vector explicit. This prevents the following code from compiling: Vector<4> v = Ones * 99; v = 1; Without explicit, v=1 constructs a Vector<4>(1) then assigns is to v. internal/vector.hh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 034e391ba59042203006fe8763dab00860105aa7 Author: edrosten Date: Wed Oct 14 11:20:36 2009 +0000 Added get_data_ptr() method. This is only available for Vector and Matrix types which are contiguous. Currently ALL slice types are considered to be non-contiguous. Doxyfile | 3 + internal/allocator.hh | 145 ++++++++++++++++++++++++++++++++----------------- test/slice_test.cc | 49 +++++++++++++++++ 3 files changed, 146 insertions(+), 51 deletions(-) commit 0aba54446cb70bcdbcf59f1e22e6beeee6fa8dfa Author: edrosten Date: Thu Oct 1 12:36:17 2009 +0000 Bug fix from Ville Kyrki. Lapack_Cholesky.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit f863d726f08917cdc1aaf6ba5fce7a33a7f507ae Author: edrosten Date: Tue Sep 29 15:38:05 2009 +0000 Minor cleanup. regressions/eigen-sqrt.cc | 8 +++----- test/eigen-sqrt.cc | 39 --------------------------------------- 2 files changed, 3 insertions(+), 44 deletions(-) commit f5a1fbd326263af30a23ba0b153368cf5861f3d9 Author: eads Date: Tue Sep 29 15:31:54 2009 +0000 Added regression test for eigen-sqrt using Ed's new regression framework. Makefile.in | 2 +- regressions/eigen-sqrt.cc | 43 +++++++++++++++++++++++++++++++++++++++++++ regressions/eigen-sqrt.txt | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 1 deletions(-) commit 100c024d5e387a204ebac4fb5dd86bd609fe1f07 Author: edrosten Date: Tue Sep 29 12:47:49 2009 +0000 Added missing files. regressions/vector_resize.cc | 36 ++++++++++++++++++++++++++++++++++++ regressions/vector_resize.txt | 6 ++++++ 2 files changed, 42 insertions(+), 0 deletions(-) commit ac4c3dd8e70fc04dd91c8dc99553486bb4389221 Author: edrosten Date: Mon Sep 28 10:48:13 2009 +0000 Some more test code. Makefile.in | 15 ++++++++++-- numdiff.awk | 11 ++++++--- regressions/gauss_jordan.cc | 34 ++++++++++++++++++++++++++++ regressions/gauss_jordan.txt | 28 +++++++++++++++++++++++ regressions/invert.cc | 7 ------ regressions/invert.txt | 2 - regressions/lu.cc | 29 ++++++++++++++++++++++++ regressions/lu.txt | 50 ++++++++++++++++++++++++++++++++++++++++++ 8 files changed, 160 insertions(+), 16 deletions(-) commit c503226fe76d1989be7beab86b446ec1d22456b1 Author: edrosten Date: Mon Sep 28 08:31:58 2009 +0000 Reworked resizable vectors. Assignment (except for construction) does not cause a resize: it works exactly the same as Dynamic vectors. Resizing is only caused by the .resize() method. Resize now keeps data where possible, but new elements are uninitialized. Internally the memory is managed by std::vector, so growing repeatedly is efficient. Makefile.in | 3 +- TooN.h | 1 + internal/allocator.hh | 125 +++++++++++++++++++++++++++---------------------- internal/vbase.hh | 26 +++++----- internal/vector.hh | 4 -- numdiff.awk | 34 ++++++++++++- test/resize_test.cc | 10 +++- 7 files changed, 124 insertions(+), 79 deletions(-) commit f71591815fa17fd57a393a7226f3ef4e34fdcc42 Author: edrosten Date: Fri Sep 25 14:45:26 2009 +0000 Fix bad use of abs gaussian_elimination.h | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit f1f99c4f4bfeb38c8c83d48050d44cdcf9eead12 Author: edrosten Date: Wed Sep 23 20:38:09 2009 +0000 Regression tests. Makefile.in | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) commit 546e7ed5a674fc2bd7b115f66c123b04b61cea37 Author: edrosten Date: Wed Sep 23 13:43:55 2009 +0000 Testing framework. run make test numdiff.awk | 66 ++++++++++++++++++++++++++++++++++++++++++++++ regressions/invert.cc | 7 +++++ regressions/invert.txt | 2 + regressions/regression.h | 7 +++++ regressions/slice.cc | 7 +++++ regressions/slice.txt | 1 + 6 files changed, 90 insertions(+), 0 deletions(-) commit 0523d4acd164a2a9fe265c65a8fad6c3d5abc29f Author: edrosten Date: Wed Sep 23 12:46:28 2009 +0000 Documentation fix from Ville Kyrki. doc/documentation.h | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) commit 0c89d450d7063fed12c2e5a6cfd224a2560e9ed8 Author: edrosten Date: Tue Sep 8 14:25:09 2009 +0000 Forgot to commit this last time. TooN.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 07fef192397ed62cb0df09acff5c71f569512892 Author: edrosten Date: Mon Sep 7 11:13:15 2009 +0000 Initial implementation of resizable vectors. This is not an attempt to turn TooN in to a general container library, so they do not retain their data when they are resized. Dynamic vectors are not resizable and will remain so to provide more guarantees than resizable vectors. Resize happens on an explicit .resize() and assignment from a Vector or operator. Currently assignment from unsized operators will not compile. The syntax is: Vector v; //Will be zero size by default. v.resize(10); //Filled with junk (affected by TooN debugging options) v = makeVector(1, 2, 3); v = Zeros(6); v = Ones; //This will not compile. etc... internal/allocator.hh | 93 ++++++++++++++++++++++++++++++++++++++++++++- internal/size_mismatch.hh | 22 ++++++++--- internal/vector.hh | 5 ++ test/resize_test.cc | 30 ++++++++++++++ 4 files changed, 143 insertions(+), 7 deletions(-) commit 3ae54f8b0ab5b7d33cfdef451ddb07e83d76caeb Author: edrosten Date: Sun Sep 6 16:36:10 2009 +0000 Fixed some bugs in the sign and scaling of the determinant. TooN.h | 9 ++++++++- determinant.h | 25 +++++++++++++------------ 2 files changed, 21 insertions(+), 13 deletions(-) commit c69c9eca74848bf874eee21d3836a49fbd6f8570 Author: edrosten Date: Tue Sep 1 19:07:31 2009 +0000 Added numerical Hessian computation. functions/derivatives.h | 171 +++++++++++++++++++++++++++++++++++++++++++++-- test/deriv_test.cc | 46 +++++++++++++ 2 files changed, 211 insertions(+), 6 deletions(-) commit 4f0857983b4e4944ef295174f23444e17331e422 Author: eads Date: Fri Aug 28 01:14:22 2009 +0000 Updated example to include inverse square root. Put it in a test source file. SymEigen.h | 25 +++++++++++++++++++++---- test/eigen-sqrt.cc | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 4 deletions(-) commit abb77616d3fdc8cba8ab2bac9d93260d479d3379 Author: eads Date: Thu Aug 27 21:06:05 2009 +0000 Slight documentation tightening. SymEigen.h | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit 826316758256ec7ca8f777993ab7f9accdf451c8 Author: eads Date: Thu Aug 27 21:02:00 2009 +0000 Added inverse square root matrix R s.t. R^T*R=A^-1. SymEigen.h | 30 +++++++++++++++++++++++++++--- 1 files changed, 27 insertions(+), 3 deletions(-) commit 05cec3d56be2093ae51037235559d7b41bb2fc69 Author: edrosten Date: Thu Aug 27 18:04:30 2009 +0000 Remove unneeded header functions/derivatives.h | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit 78a9a628800b8eb36c41b2db0f0a460829b2425f Author: edrosten Date: Thu Aug 27 17:34:02 2009 +0000 Minor tweak to derivative computing code functions/derivatives.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 49adf67f12c4095e0f06783c7f284f63208b3c97 Author: edrosten Date: Thu Aug 27 17:31:56 2009 +0000 Fix makefile Makefile.in | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit f469b23c985e21d3b6f152cfe01d46c7fb7f28dd Author: edrosten Date: Thu Aug 27 17:29:31 2009 +0000 Actually undo over-zealous cleanup. Revert wrongly committed file. internal/operators.hh | 13 ++++--------- internal/vbase.hh | 10 +++++++++- 2 files changed, 13 insertions(+), 10 deletions(-) commit dec63b3c2954d63de8dedb042097e732a47ec302 Author: edrosten Date: Thu Aug 27 17:26:34 2009 +0000 Added numerical computation of derivatives using Ridder's method. Slow, but much more reliable than simple finite difference. So far implemented gradient only. Doxyfile | 2 +- Makefile.in | 1 + doc/documentation.h | 4 + functions/derivatives.h | 290 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 296 insertions(+), 1 deletions(-) commit 94ac5cbd122174adb89c4ecdf07cad08e5f5a7cb Author: edrosten Date: Thu Aug 27 16:40:13 2009 +0000 Undoing more over-zealousness. internal/operators.hh | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) commit c83631c3154ff29c95183ef5c02d10781fbb8cd9 Author: eads Date: Thu Aug 27 11:38:55 2009 +0000 Example demonstrates matrix square root. Changed matrix in example to give positive eigenvalues. Fixed typo in new sqrtm function's docs. SymEigen.h | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) commit 8e191dae993021cdfdcf0bfcc4303d978be70d28 Author: eads Date: Thu Aug 27 11:11:18 2009 +0000 Added matrix square root. SymEigen.h | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) commit 4cff40853a6f72bb3b7f3067ed464420722b026a Author: edrosten Date: Wed Aug 26 17:11:03 2009 +0000 Added const diagonal slices internal/diagmatrix.h | 5 +++++ internal/vbase.hh | 4 ++++ 2 files changed, 9 insertions(+), 0 deletions(-) commit 4286d81c94a58ad2418ce56d94da0f1779cc727b Author: edrosten Date: Wed Aug 26 17:09:39 2009 +0000 Fixed over-zealous cleanup internal/vbase.hh | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) commit 29bc385ae0ef1a5388d979c233ec0f51b55f3192 Author: edrosten Date: Wed Aug 26 11:22:35 2009 +0000 Added bounds checking internal/mbase.hh | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) commit 9a46256faec9a84c81731b681836f38cce313699 Author: georgklein Date: Wed Aug 26 10:37:18 2009 +0000 Only re-order the bits which were actually calculated GR_SVD.h | 22 ++++++++++++++-------- 1 files changed, 14 insertions(+), 8 deletions(-) commit 463ab39d0704b966a629207d3a1e6960eb40ba20 Author: edrosten Date: Wed Aug 26 09:51:09 2009 +0000 Reimplemented vector project/unproject using End. Fixed bugs: - Added const slices for End. helpers.h | 30 +++++++----------------------- internal/vbase.hh | 15 +++++++++++++++ test/slice_test.cc | 5 +++++ 3 files changed, 27 insertions(+), 23 deletions(-) commit 0469d1194df4d9cc29f33d92f602825a7eedc872 Author: edrosten Date: Wed Aug 26 09:40:36 2009 +0000 Doc fix. doc/documentation.h | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 79c8d44128a1aac71ca97ded0c95dbde8fab7a0c Author: edrosten Date: Wed Aug 26 09:36:37 2009 +0000 Check in the right version this time. internal/vbase.hh | 37 ++++++++++++------------------------- test/slice_test.cc | 4 ++-- 2 files changed, 14 insertions(+), 27 deletions(-) commit a7df30e8a00fd1a580d892f87bd507bb686f4a1d Author: edrosten Date: Wed Aug 26 09:34:44 2009 +0000 Document and clean up slicing relative to the end. - Fixed for dynamic vectors - Allow: v.slice(2, End) - Add static slices up to -99 TooN.h | 56 +++++++++++++++++++++++++++++------- doc/documentation.h | 26 ++++++++++++++++- internal/vbase.hh | 78 ++++++++++++++++++++++++++++++++++---------------- test/slice_test.cc | 12 ++++++- 4 files changed, 133 insertions(+), 39 deletions(-) commit 011c7872a5c6d5789412dcea3f3a7d844f24e3d9 Author: eads Date: Wed Aug 26 07:49:20 2009 +0000 Added constructor to SymEigen(int) for dynamically sized matrices without immediately decomposing after initialization. This is analogous to SymEigen() for statically sized matrices. Put Internal:: in front of symeigen_condition_no to fix symbol not found error. SymEigen.h | 13 ++++++++++--- internal/config.hh | 14 ++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) commit b63f648484db800af97b71ebd26de258a472d454 Author: georgklein Date: Tue Aug 25 19:21:43 2009 +0000 Added reorder() method which re-arranges components so that singular values are in descending order. GR_SVD.h | 31 ++++++++++++++++++++++++++++++- 1 files changed, 30 insertions(+), 1 deletions(-) commit 96ea8e7c55b27e97ca1b3450b40c0d04771bb9eb Author: edrosten Date: Tue Aug 25 17:00:34 2009 +0000 Fix previous commit internal/vbase.hh | 20 ++++++++++---------- 1 files changed, 10 insertions(+), 10 deletions(-) commit e4c49401dcd16e495100babb019a10fc66befac8 Author: edrosten Date: Tue Aug 25 16:58:27 2009 +0000 Slicing with End. ***EXPERIMENTAL*** ***THIS WILL CHANGE*** It is very hard to get the syntax acceptable. The following examples all work: cout << v.slice<1, End<0> >() << endl; cout << v.slice<1, End<-1> >() << endl; cout << v.slice(2, End()) << endl; cout << v.slice(2, End(-1)) << endl; Note the re-use of End. End<-10> does not work, since every different integer has to be enumerated by hand. TooN.h | 28 +++++++++++++++++++++++++++- internal/vbase.hh | 33 +++++++++++++++++++++++++++++++++ test/slice_test.cc | 6 +++++- 3 files changed, 65 insertions(+), 2 deletions(-) commit 1d35ce980b83a64de0624965a8bfa6f9ae765f0a Author: georgklein Date: Tue Aug 25 16:09:53 2009 +0000 Get smallest SV index GR_SVD.h | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-) commit 6bf5d64fcdf4ebb68f47951c54a38bc4bda48ba2 Author: edrosten Date: Tue Aug 25 15:30:16 2009 +0000 Fixed compile error for slices of const Vectors. internal/vbase.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit b4d7fd7c45556c51cc58cac061327353b5a4547b Author: georgklein Date: Tue Aug 25 15:27:32 2009 +0000 Test for Ed - I think this breaks now test/slice_test.cc | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit 8b4ca6f05353e6f2a5e38535175f7f5718cf81ec Author: georgklein Date: Mon Aug 24 17:03:40 2009 +0000 Added SVD implementation translated from FORTRAN, in turn translated from ALGOL of Golub and Reinsch. This looks very similar to other translations e.g. the one in Numerical Recipes. It doesn't have many of the more modern improvements like the underflow-safe sqrt(a*a + b*b) yet. Currently only implemented for static-sized matrices. I think the algorithm is less modern than used by e.g. LAPACK but this here is 4x as fast for small matrices. GR_SVD.h | 473 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 473 insertions(+), 0 deletions(-) commit be55e711077410b11e1fea2d41ca2a7215456bce Author: edrosten Date: Mon Aug 24 13:25:57 2009 +0000 Removed nasty normalization function which was an attempt to get around the C++ rule that temporaries can not be accessed as non-const. If you need to normalize a chunk of a vector in-place, use the .ref() method: normalize(v.slice<0,3>().ref()); helpers.h | 14 +------------- internal/vbase.hh | 7 ------- 2 files changed, 1 insertions(+), 20 deletions(-) commit 0ee6702bbfc9e1f7c76cd178f81fde89c54aed8e Author: edrosten Date: Mon Aug 24 13:22:13 2009 +0000 Added generic slicing to matrices. Removed unneeded check functions from slice_error.hh internal/mbase.hh | 54 +++++++++++++++++++++++++++++++++------------- internal/slice_error.hh | 42 ------------------------------------ 2 files changed, 39 insertions(+), 57 deletions(-) commit fc27fca81cfae8d706a7e68006da6706f0f90123 Author: edrosten Date: Mon Aug 24 13:06:58 2009 +0000 Another test program. test/slice_test.cc | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) commit 5184bc418e73ab2e03f43c6e2b0b77b2ee4e98ec Author: edrosten Date: Mon Aug 24 13:02:05 2009 +0000 Docs SymEigen.h | 138 +++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 77 insertions(+), 61 deletions(-) commit ef00568bf671dc7dc925c4de18bdf01faf6c33ab Author: edrosten Date: Mon Aug 24 13:00:14 2009 +0000 General purpose slicing of Vectors. Syntax is eg: vector.slice(1,4); As usual, the static argument is used where possible. Optional debugging checks to make sure that the static and dynamic sizes are the same (unless the static size is -1). Disable with -D TOON_NDEBUG_MISMATCH Also, fixed some test programs. doc/documentation.h | 6 ++- internal/config.hh | 1 - internal/slice_error.hh | 95 ++++++++++++++++++++++++++++++++++++++++++++++- internal/vbase.hh | 36 +++++++++++------ test/test2.cc | 2 +- test/test3.cc | 4 +- 6 files changed, 124 insertions(+), 20 deletions(-) commit 5bbf90267ecd03df65ca08c699481ee2762d35e5 (tag: refs/tags/BEFORE_NEW_SLICE) Author: edrosten Date: Tue Aug 18 14:15:39 2009 +0000 Fill matrices from data in a less objectionable way. Doxyfile | 4 +- Makefile.in | 2 + TooN.h | 3 + doc/documentation.h | 7 +- internal/data.hh | 54 + internal/data_functions.hh |10904 ++++++++++++++++++++++++++++++++++++++++++++ make_data_functions.awk | 35 + test/test_data.cc | 20 + 8 files changed, 11026 insertions(+), 3 deletions(-) commit 40e11bdd8bdd36a812b92a30849f9d0e3a1e8e3d Author: cmei Date: Fri Jul 31 16:43:03 2009 +0000 min/max fixed pointer bug. helpers.h | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-) commit 60e6beb9d6e08e5d2d74b653f254073550146d65 Author: cmei Date: Fri Jul 31 10:04:36 2009 +0000 min/max functions: bug correction for return functions and removal of unused parameters to avoid warnings. helpers.h | 38 ++++++++++++++++++++------------------ 1 files changed, 20 insertions(+), 18 deletions(-) commit 60f3441a554cb6684ad4e717f50421c089e78ec6 Author: cmei Date: Thu Jul 30 13:51:51 2009 +0000 min/max functions now return values instead of references. helpers.h | 150 +++++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 92 insertions(+), 58 deletions(-) commit 439f8db4613083b2832aa4a7863505a7fb22fc9c (tag: refs/tags/TOON_2_0_BETA5) Author: edrosten Date: Mon Jul 27 16:39:42 2009 +0000 More documentation. Doxyfile | 2 +- TooN.h | 4 +++- doc/documentation.h | 2 +- internal/config.hh | 1 + internal/matrix.hh | 30 ++++++++++++++++++++++++++---- internal/objects.h | 2 ++ internal/operators.hh | 9 +++++++-- internal/reference.hh | 7 ++++++- internal/vector.hh | 21 ++++++++++++++++++++- 9 files changed, 67 insertions(+), 11 deletions(-) commit 4ce05982686619104d54828d3fd0f8c7f54f17b5 Author: qpan Date: Fri Jul 24 17:30:46 2009 +0000 Order of returned eigenvalues wrong in documentation SymEigen.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 915d82c2771f729dad6214137136cb1a6ccd45c8 Author: edrosten Date: Fri Jul 24 15:03:24 2009 +0000 Remove confusion from the usual ./configure make make install process. Makefile.in | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) commit f0cf6a7279a5132b828643e2cf7e8af4f4f096c9 Author: edrosten Date: Thu Jul 23 16:11:12 2009 +0000 Fix silly copy/paste error irls.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit e74da5e35c7567ef492ba6008d0ea5115c590453 Author: edrosten Date: Thu Jul 16 14:10:07 2009 +0000 Added RobustIII irls.h | 27 ++++++++++++++++++++++++++- 1 files changed, 26 insertions(+), 1 deletions(-) commit 98a5a97a827609982db0e0f9f43ec855ad889515 Author: edrosten Date: Fri Jul 10 16:21:49 2009 +0000 More docs Doxyfile | 2 +- helpers.h | 3 +++ internal/debug.hh | 6 ++++++ internal/objects.h | 12 ++++++------ internal/operators.hh | 3 +++ 5 files changed, 19 insertions(+), 7 deletions(-) commit 7742e6a3de9950a33eea91ecfc9ec2cb21043858 Author: edrosten Date: Fri Jul 10 14:10:39 2009 +0000 Removed obsolete Operator constructors. internal/matrix.hh | 18 ------------------ 1 files changed, 0 insertions(+), 18 deletions(-) commit 63be7cc14bed5ac364c901349db1ff39aecaa097 Author: edrosten Date: Fri Jul 10 14:05:55 2009 +0000 Some documentation. Doxyfile | 8 +- TooN.h | 79 +++++++++-- determinant.h | 34 ++++- doc/documentation.h | 2 + doc/matrixdoc.h | 358 ----------------------------------------------- internal/allocator.hh | 44 +++++- internal/comma.hh | 2 +- internal/matrix.hh | 299 +++++++++++++++++++++++++++++++++++++-- internal/objects.h | 200 +++++++++++++++++++-------- internal/slice_error.hh | 11 ++- so3.h | 9 +- 11 files changed, 581 insertions(+), 465 deletions(-) commit a519985049ebf794ccb5e8f5bef91cfb49f1e97c Author: georgklein Date: Fri Jul 10 13:20:38 2009 +0000 Non-templated func needs to be static or global, or the linker complains internal/objects.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit 9e2b88c5242e975e9dd964398dd42f3f30734a64 Author: edrosten Date: Thu Jul 9 09:36:04 2009 +0000 Fixed bad documentation error with respect to slices. doc/documentation.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit bea8bfe9e55bee434f24297135e1515ce75ca93a Author: edrosten Date: Thu Jul 9 09:29:08 2009 +0000 Re-reverted to version 1.19 ob objects.h, reinstating the generic One type representing all forms of oneness. Adding explicit trivial constructors all over the place prevents final access violations since it prevents the compiler from using the builtin trivial constructor which actually copies bytes. Also the following code now compiles without warning: #include using namespace TooN; int main() { Matrix <6, 3, float> Xf; Xf.slice<0, 0, 3, 3>() = Identity; Matrix <6, 3, double> Xd; Xd.slice<0, 0, 3, 3>() = Identity; Matrix <6, 3, int> Xi; Xi.slice<0, 0, 3, 3>() = Identity; } g++ -Wall -Wextra -Wconversion is required to trigger the warning prior to this commit. internal/objects.h | 361 +++++++++++++--------------------------------------- 1 files changed, 86 insertions(+), 275 deletions(-) commit 8f3bee95911ee2419c109485db7c7ae7c06e26ec Author: gerhard Date: Mon Jul 6 19:42:33 2009 +0000 fix for Visual Studio (the functions had the same signatures anyway ??) internal/reference.hh | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit 5e2598ae355ef7302832224aeed39d7b468c5885 Author: edrosten Date: Mon Jul 6 14:45:10 2009 +0000 Fixed adjoint to accept vectors properly. so3.h | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) commit fd15d8ca449e40746185f651197d745464e09fe3 Author: twd20 Date: Thu Jul 2 13:12:30 2009 +0000 added argument checking code to be used in generic static/dynamic code TooN.h | 1 + internal/dchecktest.hh | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 0 deletions(-) commit 097eb3bb0d197b0ae50c57586fc2367d14b8a404 Author: cmei Date: Mon Jun 29 13:04:00 2009 +0000 Fixed precision issues in return values for project/unproject/min/max. helpers.h | 97 ++++++++++++++++++++++++++++++------------------------------- 1 files changed, 48 insertions(+), 49 deletions(-) commit 80fddb3120c387a16f539ada5d43fea3a76e563d Author: cmei Date: Mon Jun 29 11:24:25 2009 +0000 Added project/unproject for dynamically typed matrices. Simplified function instantiation for min/max functions. helpers.h | 105 +++++++++++++++++++++++++++++++------------------------------ 1 files changed, 53 insertions(+), 52 deletions(-) commit 9b28bc39d9bd9ff6e69e724b08efe7516fe312c6 Author: edrosten Date: Sat Jun 27 12:27:14 2009 +0000 Prefer __typeof__ to typeof. This allows user code to be compiled with -ansi. configure | 16 ++++++++-------- configure.ac | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) commit 144a24a71e096d91f00cda8b28e59531de9800b3 Author: cmei Date: Fri Jun 26 13:53:45 2009 +0000 Added functions to find the min and max values of vectors and matrices and their indices. Added doxygen comments. helpers.h | 300 ++++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 240 insertions(+), 60 deletions(-) commit c716bf76e5ba6606c50a74edbd8d0b4ef0608153 Author: cmei Date: Thu Jun 25 23:38:19 2009 +0000 Modified accumulate functions to enable keeping the indices of min/max values. helpers.h | 216 ++++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 171 insertions(+), 45 deletions(-) commit 80ce28f210173a29fc632e3651352d5296ec4cd1 Author: edrosten Date: Wed Jun 24 15:15:43 2009 +0000 ./configure now checks for LAPACK, and determinant will only use LAPACK if it is present. As usual an empty config.hh file will always work, and defaults to not use LAPACK. Added documntation to determinant. TooN.h | 6 +- configure | 1659 ++++++++++++++++++++++++++++++------------------- configure.ac | 13 + determinant.h | 39 +- doc/documentation.h | 44 ++ internal/config.hh.in | 2 + 6 files changed, 1100 insertions(+), 663 deletions(-) commit ea4849f77551104f4106d741c3cd9b171e092b78 Author: edrosten Date: Wed Jun 24 14:11:36 2009 +0000 Prevent conjugate_gradient from going in to an infinite loop if it actually reaches the optimum exactly. optimization/conjugate_gradient.h | 33 ++++++++++++++++++++++----------- 1 files changed, 22 insertions(+), 11 deletions(-) commit 816a9d95bd2bc1d804c985cd930f8db7c2cd6cb8 Author: edrosten Date: Wed Jun 24 13:55:40 2009 +0000 Added determinant function. Switches between obvious 2x2 method, modified version of gaussian_elimination.h and LU. The crossover point to LU is determined by the TOON_DETERMINANT_LAPACK macro if this is not defined then it will never use LU. At some point this will be moved in to the configuration system, but at the moment it's #define'd in TooN.h TooN.h | 2 + determinant.h | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 123 insertions(+), 0 deletions(-) commit 0f85b0f1466ae0053d9646a1480273d8882fd49a Author: cmei Date: Wed Jun 24 13:51:32 2009 +0000 Modified accumulate*/min/max functions to use functors and std::min/std::max. helpers.h | 46 ++++++++++++++++++++++++---------------------- 1 files changed, 24 insertions(+), 22 deletions(-) commit c6c00bab783db9e772cfd61138e06a2ead37440f Author: cmei Date: Wed Jun 24 13:17:17 2009 +0000 accumulate* functions are now part of the Internal namespace. helpers.h | 106 ++++++++++++++++++++++++++++++------------------------------ 1 files changed, 53 insertions(+), 53 deletions(-) commit 1f45d45f1b036d366ccbf40427093d76ecbadb5a Author: cmei Date: Wed Jun 24 12:55:23 2009 +0000 Added min/max functions for vectors and matrices. Added min_horizontal and min_vertical for matrices. The code uses an accumulate/fold function that takes a function as template parameter (min/max for these specific functions). helpers.h | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 83 insertions(+), 0 deletions(-) commit 6b185ccc58398286000abbad5984ca476126c8b4 Author: edrosten Date: Tue Jun 23 11:49:07 2009 +0000 Fix documentation. optimization/conjugate_gradient.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 9232e3a79fd230f54810073ec2e382dbe278aac4 Author: edrosten Date: Mon Jun 22 16:16:49 2009 +0000 project/unproject for matrices from Christopher Mei Not yet optimized using Operator return values. Only works for static matrices. helpers.h | 23 +++++++++++++++++++++++ 1 files changed, 23 insertions(+), 0 deletions(-) commit ac0cbab35d6dc967400082baee61a0fa52ae5f36 Author: georgklein Date: Mon Jun 22 15:33:58 2009 +0000 Make both LU examples non-singular LU.h | 4 ++-- doc/documentation.h | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) commit a56f720dcf3b5c50ec3dab18c9672882a7e85472 Author: twd20 Date: Mon Jun 22 15:23:11 2009 +0000 doc updated to remove TooN1-isms LU.h | 20 +++++++++++--------- 1 files changed, 11 insertions(+), 9 deletions(-) commit 6cc39625703651f8314569a17b982d3094504adb Author: edrosten Date: Thu Jun 18 15:30:47 2009 +0000 Added missing files from the last commit. internal/comma.hh | 152 ++++++++++++++++++++++++++++++++++++++++++++ internal/overfill_error.hh | 68 ++++++++++++++++++++ 2 files changed, 220 insertions(+), 0 deletions(-) commit eefa73f0e47309f233c1857b45e36a941473c33b Author: edrosten Date: Thu Jun 18 14:52:49 2009 +0000 Reinstated a form of the , operator for filling: Matrix<2> m; Fill(m) = 1, 2, 3, 4; Underfilling is detected at run-time only. TooN.h | 9 ++++++++- doc/documentation.h | 31 ++++++++++++++++++++++++++++--- test/identity_test.cc | 2 +- test/vec_test.cc | 42 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 79 insertions(+), 5 deletions(-) commit fed6c161b3bd20d290991dd7002e0b20c4a537c2 Author: edrosten Date: Thu Jun 18 14:48:44 2009 +0000 Added correct namespace qualification for SizeMismatch helpers.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 6edeac70e4dec5f2b45cdf3e10e3ac7ffb15b1a4 Author: edrosten Date: Thu Jun 18 14:48:19 2009 +0000 Added some socumentation. so3.h | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-) commit 2ffd0e98430dceb8562746e404b98b4ffc2124de Author: edrosten Date: Mon Jun 15 19:44:33 2009 +0000 Reverted back to version 1.17 with code duplication, instead of a working One type. One still has one byte of data since it is a struct, so GCC still copy-constructs it. This copy construction causes a violation with -fmudflap. Presumably the violation will get optimized away with -O3, but the debug version needs to work properly. internal/objects.h | 354 ++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 275 insertions(+), 79 deletions(-) commit ee7c2eb4c73141c2a9f2fbc7492a71cc8d3da276 Author: edrosten Date: Mon Jun 15 19:37:05 2009 +0000 Special new "One" type which represents the value 1 with no data. This is used for global objects, so that their constructors can be trivial. Special hacking of Field required. One is not a field by itself, so IsField::value is 0, but it can be combined with a field arithmetically and the result is a field, so Field and Field is defined. One can cast itself to any type, and be added, subtracted or multiplied. Also, special cases for negation are required since -One is not representable using One. internal/objects.h | 83 ++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 65 insertions(+), 18 deletions(-) commit 9b4944f6959d0af17eea29a2073137e0b633de98 Author: edrosten Date: Mon Jun 15 16:25:33 2009 +0000 Revert file to point before more general scalable operators and more "pure" operator objects. Better solution to follow. internal/objects.h | 287 ++++------------------------------------------------ 1 files changed, 22 insertions(+), 265 deletions(-) commit f8381cce22358d50d34f5f031b0ca410d3c66876 Author: edrosten Date: Mon Jun 15 12:37:31 2009 +0000 Create a "pure" one struct which has no data to avoid order of initialization problems. Used for TooN::Ones. internal/objects.h | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 138 insertions(+), 2 deletions(-) commit 4c8b176cafdf708b174646c57b5eb9b1b3bce307 Author: edrosten Date: Thu Jun 11 20:53:19 2009 +0000 Updated operator- to work with new scalable operators. internal/objects.h | 7 ++++--- test/identity_test.cc | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) commit 421d3d0b6969644fabe4191936467cf3cbf2676b Author: edrosten Date: Thu Jun 11 20:10:25 2009 +0000 Added a "pure" unscaled identity object, which carries no data. This is VERY important, since there is a global identity object. Previously the global Identity carried data and so had to be constructed. This caused nasty bugs due to the unspecified order of initialization of global objects. The bug can be observed with the following: g++ identity_test.cc -fmudflap -lmudflap -g -ggdb MUDFLAP_OPTIONS=-viol-gdb ./a.out internal/objects.h | 100 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 88 insertions(+), 12 deletions(-) commit d222cae1424e381200a4807693daf6de5a2d972f Author: edrosten Date: Thu Jun 11 20:00:58 2009 +0000 Allow scalable operators to change their overall type during scaling. internal/objects.h | 42 ++++++++++++++++++++++++++++++++++++------ 1 files changed, 36 insertions(+), 6 deletions(-) commit ba55e7565eea7b84c18a44a46e4ca07ca3435268 (tag: refs/tags/TOON_2_0_BETA4) Author: edrosten Date: Tue Jun 9 13:38:11 2009 +0000 Blank this file (again). internal/config.hh | 12 ------------ 1 files changed, 0 insertions(+), 12 deletions(-) commit 707bcc491774fbfce9eb007ef6999b8c86457a93 Author: edrosten Date: Tue Jun 9 13:33:22 2009 +0000 Added some documentation. Cholesky.h | 10 ++- Doxyfile | 10 ++-- LU.h | 4 +- SVD.h | 22 +++++-- SymEigen.h | 15 ++++- TooN.h | 96 ++++++++++++++++++++++++++- doc/documentation.h | 32 +++------- gaussian_elimination.h | 6 ++ helpers.h | 53 +++++++++++++-- internal/allocator.hh | 26 +++++++- internal/config.hh | 12 ++++ internal/diagmatrix.h | 20 ++++-- internal/objects.h | 131 ++++++++++++++++++++++++++++++++----- optimization/conjugate_gradient.h | 2 +- optimization/golden_section.h | 4 +- se2.h | 6 +- so2.h | 6 +- so3.h | 2 + util.h | 102 ---------------------------- wls.h | 17 ++--- 20 files changed, 383 insertions(+), 193 deletions(-) commit d9b432709333c52a66be2b9a93c294d4e9669616 Author: edrosten Date: Wed Jun 3 19:36:52 2009 +0000 Wrapping of matrices. internal/reference.hh | 34 +++++++++++++++++++++++++--------- 1 files changed, 25 insertions(+), 9 deletions(-) commit 94938c3e8a8a8c138f7a099e9d917b904b94af42 Author: edrosten Date: Wed May 27 13:17:21 2009 +0000 Renamed and improved simplex test program. test/simplex_test.cc | 42 ++++++++++++++++++++++++++++++++++++++++++ test/simplex_text.cc | 40 ---------------------------------------- test/simplex_view.gnuplot | 19 +++++++++++++++++++ 3 files changed, 61 insertions(+), 40 deletions(-) commit f07d71518b431988b3333f1dcd6d73f4e1ffc37f Author: edrosten Date: Wed May 27 10:50:32 2009 +0000 Similar interface to Gonjugate-Gradient. optimization/downhill_simplex.h | 57 ++++++++++++++++++++++++++------------- 1 files changed, 38 insertions(+), 19 deletions(-) commit 38d95d747df29d4d898a6183f61bf0a1fefe351f Author: edrosten Date: Wed May 27 10:13:18 2009 +0000 Add Precision. optimization/downhill_simplex.h | 23 ++++++++++++----------- 1 files changed, 12 insertions(+), 11 deletions(-) commit e587c6d03c7f488f274b168f32e8de64023b5fa8 Author: edrosten Date: Wed May 27 10:11:26 2009 +0000 Fix previous commit optimization/downhill_simplex.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 5261d973bece5039936d475b41f2b63d869767d1 Author: edrosten Date: Wed May 27 10:09:12 2009 +0000 Added a reset function. optimization/downhill_simplex.h | 32 +++++++++++++++++++++++++++----- 1 files changed, 27 insertions(+), 5 deletions(-) commit 7f341a5040da84ad110f6d1ef42b0b20589f2b79 Author: edrosten Date: Tue May 26 18:06:01 2009 +0000 Fixed downhill simplex to work with TooN 2. optimization/downhill_simplex.h | 161 ++++++++++++++------------------------- test/simplex_text.cc | 40 ++++++++++ 2 files changed, 96 insertions(+), 105 deletions(-) commit 06cabf7bad131130759d490dd0e6a89c79adab68 Author: edrosten Date: Fri May 22 17:47:12 2009 +0000 Compute the upper right triangle only. Not yet done for multiple measurements. wls.h | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) commit 3851477e6444e816bd5964e551607af3dd0479c3 Author: edrosten Date: Fri May 22 17:46:15 2009 +0000 Missing operation internal/objects.h | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) commit 5fdeb525595f3283d4f980e1f51614d62aedea98 Author: edrosten Date: Fri May 22 10:31:42 2009 +0000 Added indexing using a std::pair in operator[]. TooN.h | 1 + doc/matrixdoc.h | 8 ++++++++ internal/mbase.hh | 8 ++++++++ 3 files changed, 17 insertions(+), 0 deletions(-) commit 115be4b81ee03c090f92e4e88f61dcbbc2d19f58 Author: edrosten Date: Fri May 22 09:10:21 2009 +0000 Generaton of symmetric solvers. benchmark/generate_solvers.m | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-) commit f81c72e783073434ea258cfb5eede5412739c8bd Author: edrosten Date: Thu May 21 20:04:24 2009 +0000 Fixed .clear() bug. irls.h | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) commit cb2cf7f4e925a1dbe8971d7ea70234d744a573eb Author: paulmcilroy Date: Wed May 20 14:53:11 2009 +0000 Make a constructor consistent with the previous change. optimization/conjugate_gradient.h | 26 +++++++++++++++++++++++--- 1 files changed, 23 insertions(+), 3 deletions(-) commit 567bf30d6a7d79bef24473165c4a19a7261caf2b Author: paulmcilroy Date: Wed May 20 14:42:33 2009 +0000 Make update_vectors take the gradient rather than a functor. optimization/conjugate_gradient.h | 53 +++++++++++++++++++------------------ 1 files changed, 27 insertions(+), 26 deletions(-) commit 0edfe902f83b5bd893306d1493d99a01f7ddc827 Author: georgklein Date: Tue May 19 09:46:34 2009 +0000 sl needs cassert sl.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit c2d500d205a3ceb5e980270682b76206b142b78d Author: edrosten Date: Mon May 18 15:12:16 2009 +0000 Checked in bug. Temporarily reverted. wls.h | 26 ++++---------------------- 1 files changed, 4 insertions(+), 22 deletions(-) commit 0a45b0e469b0eab23cdaec1672a1fc40dc334a70 Author: edrosten Date: Mon May 18 15:00:49 2009 +0000 Compute only the upper right triangle of my_C_inv. wls.h | 26 ++++++++++++++++++++++---- 1 files changed, 22 insertions(+), 4 deletions(-) commit 189616fc0b461185a0df86f7e1d2523abb8a1438 Author: gerhard Date: Mon May 18 12:10:34 2009 +0000 make helpers be a default include TooN.h | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit a06d94ea60c9de6c024e65267cd7c6085917e9ed Author: georgklein Date: Fri May 15 16:00:00 2009 +0000 Added missing std::abs - otherwise it uses abs(int) gauss_jordan.h | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) commit 739122e73f09e27ec30afa11be4a55ce2ce0d08f Author: edrosten Date: Wed May 13 16:22:45 2009 +0000 Fix operator - for scalable objects. internal/objects.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit c8137769dc1ecc9e4babf0609dadc4c3c803f88d Author: gerhard Date: Wed May 13 16:01:00 2009 +0000 some fixes sl.h | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit d4a4e2c62ecda15876253d46da77b4fce1e8eae0 Author: gerhard Date: Wed May 13 16:00:52 2009 +0000 missing member for vector -= operation internal/objects.h | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) commit 58386956be3577995ae2af7ff060872ff02518be Author: edrosten Date: Wed May 13 14:28:38 2009 +0000 Construct an SE3 from an Idendity object. Can now do: SE3<> E(Identity, some_translation); se3.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit ceb05dc60d0aef5637edc300f263e3f6c551ec2e Author: edrosten Date: Wed May 13 14:22:35 2009 +0000 Added missing file internal/deprecated.hh | 34 ++++++++++++++++++++++++++++++++++ se3.h | 3 +++ 2 files changed, 37 insertions(+), 0 deletions(-) commit 8294d43a75eda6c67307691b6ec37c957f2573af Author: edrosten Date: Wed May 13 13:58:49 2009 +0000 Cross product matrix. helpers.h | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) commit 59e564655ea1a81bcc676576c18329c123a685da Author: edrosten Date: Wed May 13 13:43:44 2009 +0000 Deprecated TooN::Fill in favour of Ones. TooN.h | 1 + configure | 44 ++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 10 ++++++++++ helpers.h | 4 ++-- internal/config.hh | 1 - internal/config.hh.in | 3 +-- 6 files changed, 58 insertions(+), 5 deletions(-) commit c2aee345c0f23c227ab0aa9bf2c054b681763b4b Author: edrosten Date: Tue May 12 09:27:32 2009 +0000 Version punt Doxyfile | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 4abe376e7d44d5639635a40c52075bb9edb04e76 Author: twd20 Date: Mon May 11 20:37:01 2009 +0000 now TooN2 compatible irls.h | 178 +++++++++++++++++++++++++++++++++------------------------------- 1 files changed, 92 insertions(+), 86 deletions(-) commit 71f1aeb7ede531d657106072303a7b6f043f06ef Author: gerhard Date: Fri May 8 12:06:28 2009 +0000 make sure sqrt is found SymEigen.h | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 796d86a9c895848803fcf2fb403db02b49e63864 (tag: refs/tags/TOON_2_0_BETA3) Author: edrosten Date: Wed May 6 14:58:54 2009 +0000 Blank file again. internal/config.hh | 12 ------------ 1 files changed, 0 insertions(+), 12 deletions(-) commit 6eae4c135b36856b5be30f4178c53fff6544c194 Author: edrosten Date: Wed May 6 14:55:44 2009 +0000 Removed element-wise functions. I thought I needed them, but I was mistaken. If there is a good reason to put them back in, then they are still available from CVS. helpers.h | 72 ------------------------------------------------------------- 1 files changed, 0 insertions(+), 72 deletions(-) commit 23d0cfa8552305262e4afea02e9a4af501b3c7da Author: edrosten Date: Wed May 6 14:51:16 2009 +0000 MSVC++ fixes from Greg Andrews TooN.h | 2 +- helpers.h | 5 +++++ internal/diagmatrix.h | 2 +- internal/matrix.hh | 2 +- internal/mbase.hh | 2 +- internal/objects.h | 40 +++++++++++++++++++--------------------- internal/vector.hh | 2 +- 7 files changed, 29 insertions(+), 26 deletions(-) commit 00d383e56f226ad45e0834bf0966ab13741875a1 Author: edrosten Date: Wed May 6 10:38:28 2009 +0000 Element-wise functions. These are of the form e_exp(), e_log(). helpers.h | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 73 insertions(+), 0 deletions(-) commit c1861dd71635232219c58cff803cc4e0215c4fed Author: edrosten Date: Wed May 6 10:01:21 2009 +0000 License change to GPL + libstdc++ exception. COPYING | 359 ++++----------------------------------------------------------- GPL.txt | 339 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 359 insertions(+), 339 deletions(-) commit 4535ad227476b1fd5a03baa8c5f78c041cab4ffc Author: edrosten Date: Tue May 5 16:26:37 2009 +0000 Fix silly bug where Object - Matrix gives the wrong answer. The code had one subtract function, implicitly assuming A-B == B-A. Operator has to provide rsubtract and lsubtract debending on the side (left or right) that the operator is on. internal/objects.h | 70 ++++++++++++++++++++++++++++++++++++------------ internal/operators.hh | 8 +++--- test/identity_test.cc | 6 ++++ test/scalars.cc | 5 +++ 4 files changed, 67 insertions(+), 22 deletions(-) commit 1efa408bc0aa9a7cfc2bef1d266fea5a4c8335c4 Author: twd20 Date: Mon May 4 21:29:00 2009 +0000 emoved redundant license.txt since we have COPYING license.txt | 458 ----------------------------------------------------------- 1 files changed, 0 insertions(+), 458 deletions(-) commit c51f185606da6383ec0866228da4234c6aa81da0 Author: georgklein Date: Sat May 2 17:28:27 2009 +0000 Added == and != tests for vector and matrix internal/matrix.hh | 27 +++++++++++++++++++++++++++ internal/vector.hh | 25 +++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 0 deletions(-) commit 84bf5d83fef6efb034db4b77a93124a39a19b190 Author: edrosten Date: Fri May 1 09:47:15 2009 +0000 .diagonal_slice() operator-= for Operator Documentation update. Doxyfile | 4 ++-- TODO | 5 ++--- doc/documentation.h | 5 ++--- internal/matrix.hh | 7 +++++++ internal/mbase.hh | 34 +++++++++++++++++++++++++++++++--- internal/objects.h | 19 +++++++++++++++++++ internal/vector.hh | 7 +++++++ test/diagslice.cc | 35 +++++++++++++++++++++++++++++++++++ 8 files changed, 105 insertions(+), 11 deletions(-) commit 2473615827fe1a62764374dac6937e56228ee2db Author: gerhard Date: Thu Apr 30 17:50:38 2009 +0000 create SO3 R from two vectors a, b such that b = R * a around a ^ b so3.h | 24 ++++++++++++++++++++++++ test/SXX_test.cc | 7 +++++++ 2 files changed, 31 insertions(+), 0 deletions(-) commit 95307b91260698d61c6299e27d6cc94239ff12bb Author: edrosten Date: Thu Apr 30 12:43:03 2009 +0000 Fixed precision bug in operator/ of scalable operator Identity now works as a scalable operator. internal/objects.h | 61 +++++++++++++++++++++++++++++++++++++++++++++--- internal/operators.hh | 23 ++++++++++++++++++ test/identity_test.cc | 1 + test/scalars.cc | 2 +- 4 files changed, 82 insertions(+), 5 deletions(-) commit 1767b862e62a882416054b911c0d0ca71e64212e Author: edrosten Date: Thu Apr 30 12:24:28 2009 +0000 Added the concept of scalable operators. Identity and Scalars are now scalable operators. internal/objects.h | 105 +++++++++++++++++++++++----------------------------- 1 files changed, 46 insertions(+), 59 deletions(-) commit 3dccec766176301194981c10ea835ada6b30c28e Author: edrosten Date: Thu Apr 30 12:01:47 2009 +0000 Removed very inaccurate file doc/helpersdoc.h | 175 ------------------------------------------------------ 1 files changed, 0 insertions(+), 175 deletions(-) commit d0ab40190bed2c79bbfdc218bc632cd30913a4af Author: twd20 Date: Wed Apr 29 23:02:58 2009 +0000 minor doc fixes internal/vector.hh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit e11e536fc2b7df3a0319dc8c967d8f4c692db02d Author: twd20 Date: Wed Apr 29 22:54:50 2009 +0000 Zero->Zeros test/sl.cc | 2 +- test/svd_test.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 2addb6b25a2c57d2829a8f311679aae158e69f29 Author: twd20 Date: Wed Apr 29 22:49:33 2009 +0000 no longer needed: documentation moved to internal/vector.hh doc/vectordoc.h | 397 ------------------------------------------------------- 1 files changed, 0 insertions(+), 397 deletions(-) commit 848e4469c72b339c9a8795ea21bd3794c6b2ced5 Author: twd20 Date: Wed Apr 29 22:45:53 2009 +0000 doc bug fix internal/vector.hh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit a8a9806e754f302f7a50c0ae6b823f41153b2d9e Author: twd20 Date: Wed Apr 29 22:42:31 2009 +0000 much documentation added internal/vector.hh | 183 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 169 insertions(+), 14 deletions(-) commit ec6a7899f919e0d034c95d92cab946c0ad992823 Author: twd20 Date: Wed Apr 29 21:58:30 2009 +0000 namespace TooN included and part of the documentation internal/vector.hh | 120 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 118 insertions(+), 2 deletions(-) commit 779908b4a5b360658592ec1ef356d534c8af6c26 Author: twd20 Date: Wed Apr 29 21:55:51 2009 +0000 namespace TooN included internal/debug.hh | 4 ++++ internal/diagmatrix.h | 4 +++- internal/make_vector.hh | 2 ++ internal/matrix.hh | 4 ++++ internal/mbase.hh | 3 +++ internal/objects.h | 2 ++ internal/operators.hh | 4 ++++ internal/reference.hh | 4 ++++ internal/size_mismatch.hh | 4 ++++ internal/slice_error.hh | 4 ++++ internal/vbase.hh | 4 ++++ make_make_vector.awk | 3 ++- 12 files changed, 40 insertions(+), 2 deletions(-) commit 6641dfe9a609914ede02886454bf166a9462f325 Author: twd20 Date: Wed Apr 29 21:55:09 2009 +0000 namespace TooN included internal/allocator.hh | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) commit 58a112d490d83d88ed052c17925e92f8859a9158 Author: twd20 Date: Wed Apr 29 21:54:07 2009 +0000 removed namespace toon surrounding #included files so that they can have namespace TooN in each of them this is needed to make Doxygen document things in the right namespaces TooN.h | 57 +++++++++++++++++++++++++++------------------------------ 1 files changed, 27 insertions(+), 30 deletions(-) commit dea170b171cab85fe6310371a53a36bd01ee623a Author: gerhard Date: Wed Apr 29 16:05:50 2009 +0000 doc updates for SXX classes se2.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++-- so2.h | 27 +++++++++++++++++++++++++++ so3.h | 4 ++-- 3 files changed, 79 insertions(+), 4 deletions(-) commit a85e05c47121aac783425059555fc0ed0de30735 Author: twd20 Date: Wed Apr 29 12:06:09 2009 +0000 use Dynamic instead of -1 internal/diagmatrix.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit bf87e929269fba4dfc47352b96f9640cbfbfc8cc Author: gerhard Date: Wed Apr 29 09:47:35 2009 +0000 removed one of the two trace implementations again :) helpers.h | 9 --------- 1 files changed, 0 insertions(+), 9 deletions(-) commit ae3e5b24de7df5d1612af58895d9f50a4676b8a5 Author: twd20 Date: Tue Apr 28 22:42:36 2009 +0000 added *.hh to files to document Doxyfile | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 2371cb45c07248070f12d4b71948e1ebe461b940 Author: edrosten Date: Tue Apr 28 21:45:45 2009 +0000 internal/debug.hh doc/documentation.h | 6 ++++-- helpers.h | 21 +++++++++++++++++++++ internal/config.hh | 12 ++++++++++++ internal/debug.hh | 11 +++++++++-- 4 files changed, 46 insertions(+), 4 deletions(-) commit 54ec969b2b0183d04cae09f7165884fc167d0044 Author: gerhard Date: Tue Apr 28 17:19:11 2009 +0000 trace of a square matrix helpers.h | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) commit b00c70290dd6a91205fab99e5e1541e7efa92d86 Author: twd20 Date: Tue Apr 28 14:41:11 2009 +0000 added documentation and changed how-to-get doc/documentation.h | 38 ++++++++++++++++++++++++++++++++------ 1 files changed, 32 insertions(+), 6 deletions(-) commit 2e08995e120a010edc14dddcaf7ef6f35b9059f2 Author: twd20 Date: Tue Apr 28 13:08:12 2009 +0000 changed how to get and put link to Tom's page with the documentaiton §CVS: ---------------------------------------------------------------------- doc/documentation.h | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) commit 79b29892c1ce1fa14ec53c730ab182e129c84b38 Author: edrosten Date: Mon Apr 27 17:10:00 2009 +0000 Updated docs. doc/documentation.h | 17 +++++++++++++++-- 1 files changed, 15 insertions(+), 2 deletions(-) commit 9136b70472dd52b2b1bd4c098f6ce09edab26779 Author: edrosten Date: Mon Apr 27 16:58:27 2009 +0000 Added some debugging macros to initialize data to values likely to cause failure. TOON_INITIALIZE_NAN initialize all data to NaN TOON_INITIALIZE_VAL initialize all data to the expansion of this macro TOON_INITIALIZE_RANDOM initialize all data to random bytes. This will not compile if you make a Vector of a non-POD type. This is seeded off std::time, so the results will be nicely non-reproducable to a granularity of 1 second. A very cheap and nasty random number generator has been used. TooN.h | 4 +++ internal/allocator.hh | 37 +++++++++++++++++++------- internal/debug.hh | 69 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 100 insertions(+), 10 deletions(-) commit 25cb46a7e5e85515938438c4aeda56ed67654128 Author: gerhard Date: Mon Apr 27 13:36:32 2009 +0000 updated TooN code for new Zeros name helpers.h | 2 +- se2.h | 4 ++-- se3.h | 6 +++--- sl.h | 4 ++-- so3.h | 2 +- test/SXX_test.cc | 6 +++--- wls.h | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) commit 9b80941c9c34df40415a4aeb066f94b139b1c65a Author: edrosten Date: Mon Apr 27 13:33:25 2009 +0000 Blank file again. internal/config.hh | 12 ------------ 1 files changed, 0 insertions(+), 12 deletions(-) commit a2b4afb7e9b797bfaaca243866ec8425cdb8902b Author: edrosten Date: Mon Apr 27 13:30:28 2009 +0000 Removed include guards and #includes from internal file internal/config.hh | 12 ++++++++++++ internal/objects.h | 8 -------- 2 files changed, 12 insertions(+), 8 deletions(-) commit 28435f1beaf47368bfa42f7f6b29bf00ec7f536a Author: twd20 Date: Mon Apr 27 11:27:09 2009 +0000 Zero -> Zeros internal/objects.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 6ab8241cc563a31827964988190614ad131141fe Author: twd20 Date: Mon Apr 27 10:56:18 2009 +0000 moved Zero, Identity, Ones to internal/objects.h TooN.h | 2 + helpers.h | 395 -------------------------------------------------- internal/objects.h | 407 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 409 insertions(+), 395 deletions(-) commit 236d71544390e4f300673251d18eb35f599c847f Author: twd20 Date: Sun Apr 26 22:29:23 2009 +0000 make documentation more plausible helpers.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 029259b2f10dc418839c2569c9a9da5242939b90 Author: edrosten Date: Sun Apr 26 17:21:51 2009 +0000 Replaced Scalrs with Ones. Added eval() interface. doc/documentation.h | 37 +++++++++++++-- helpers.h | 127 ++++++++++++++++++++++++++++++++++++++++++++++++-- test/scalars.cc | 23 +++++---- 3 files changed, 167 insertions(+), 20 deletions(-) commit 3dcfd88b19693142de8c3f274afc55898f71b177 Author: edrosten Date: Sun Apr 26 12:07:32 2009 +0000 Added documentation for Scalars doc/documentation.h | 19 +++++++++++++++++-- helpers.h | 13 ++++++++++++- 2 files changed, 29 insertions(+), 3 deletions(-) commit b44488939efe69028d91f0ef42850d799920313e Author: edrosten Date: Sun Apr 26 11:55:40 2009 +0000 Operator mechanism now supports generic +, +=. Scalars() exercises this mechanism. helpers.h | 91 +++++++++++++++++++++++++++++++++++++++++++++++++ internal/matrix.hh | 7 ++++ internal/operators.hh | 83 +++++++------------------------------------- internal/vector.hh | 7 ++++ test/scalars.cc | 11 +++++- 5 files changed, 128 insertions(+), 71 deletions(-) commit b0b333ed469cd1f5e7515d2ccbcadce3ad1775b6 Author: edrosten Date: Sun Apr 26 11:21:19 2009 +0000 Added scalar addition for matrices. internal/operators.hh | 44 +++++++++++++++++++++++++++++++++++++++----- test/scalars.cc | 16 ++++++++++++++++ 2 files changed, 55 insertions(+), 5 deletions(-) commit 1c1499711d8ba8f4abc2c4e346d04934e23e0338 Author: twd20 Date: Sat Apr 25 19:42:28 2009 +0000 renamed file so that it is parsed by doxygen and change to Doxyfile to scan internal directory Doxyfile | 2 +- TooN.h | 2 +- internal/diagmatrix.h | 126 ++++++++++++++++++++++++++++++++++++++++++++++++ internal/diagmatrix.hh | 103 --------------------------------------- test/svd_test.cc | 24 ++++++--- 5 files changed, 144 insertions(+), 113 deletions(-) commit e9ba7c1f0980d368531c4c2ae7d689432f4313ba Author: twd20 Date: Sat Apr 25 15:08:19 2009 +0000 added operators for diagonal matrices and moved them to after operators in TooN.h TooN.h | 6 ++++-- internal/diagmatrix.hh | 36 +++++++++++++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 3 deletions(-) commit 1f2629a6e55f6409bb82d37bee8783af4a001970 Author: twd20 Date: Sat Apr 25 14:53:32 2009 +0000 diagonal matrix added TooN.h | 3 ++ internal/diagmatrix.hh | 69 ++++++++++++++++++++++++++++++++++++++++++++++++ internal/vbase.hh | 7 +++++ 3 files changed, 79 insertions(+), 0 deletions(-) commit 12072fc60659826a69fb164a2e1eb992907e7d0d Author: edrosten Date: Fri Apr 24 20:24:01 2009 +0000 Removed obnoxious vector + scalar operators. Use more explicit Vector + Scalars(3.456); instead. +=, and Matrix not yet implemented. helpers.h | 5 +++ internal/matrix.hh | 18 ---------- internal/operators.hh | 83 +++++++++++++++++++++++++------------------------ internal/vector.hh | 14 -------- test/test2.cc | 3 +- 5 files changed, 49 insertions(+), 74 deletions(-) commit 543f1929f563a83f8ec9fd7f1cc60dae27d5ec58 Author: twd20 Date: Thu Apr 23 22:30:03 2009 +0000 much nicer solution the shape/size of U and VT problem SVD.h | 91 ++++++++++++++++++----------------------------------------------- 1 files changed, 25 insertions(+), 66 deletions(-) commit 74e2934f10dfec4cf909f2e753d47ccc8a4007f9 Author: twd20 Date: Thu Apr 23 22:24:56 2009 +0000 bug in size mismatch in diagmult internal/operators.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 24e0d14ab8443a16536dcd55abba74dec478c298 Author: edrosten Date: Thu Apr 23 15:15:59 2009 +0000 Added inlines lapack.h | 28 ++++++++++++++-------------- 1 files changed, 14 insertions(+), 14 deletions(-) commit f3e44f4850e5bb859934cd9c409eecf3608a17e5 Author: edrosten Date: Thu Apr 23 12:57:11 2009 +0000 Empty config.hh internal/config.hh | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 766d0880455c0cd1acedd482b6bc94b6fcdc584c Author: edrosten Date: Wed Apr 22 15:42:27 2009 +0000 Fix SVD?? for non square matrices. Simple test for SVD of square matrices. SVD.h | 83 ++++++++++++++++++++++++++++++++++++++++++----------- test/svd_test.cc | 22 ++++++++++++++ 2 files changed, 87 insertions(+), 18 deletions(-) commit b744f7047c1b0fecf5827463d1d14d3f496cd226 Author: twd20 Date: Wed Apr 22 12:40:38 2009 +0000 no longer needed wls_cholesky.h | 460 -------------------------------------------------------- 1 files changed, 0 insertions(+), 460 deletions(-) commit 3957978ba52b134d46099e200829b935ca80c58d Author: gerhard Date: Wed Apr 22 09:59:12 2009 +0000 missing return type helpers.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 5ee2b6963dd7a49a6a0cbc624cd2c1dd11921ac0 Author: twd20 Date: Wed Apr 22 08:11:30 2009 +0000 added Symmetrize(Matrix<...>) helpers.h | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) commit 832e12f0bde5957a9d8e2f0e81137f7900a93159 Author: twd20 Date: Wed Apr 22 08:05:09 2009 +0000 added lapack cholesky decomposition Lapack_Cholesky.h | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 168 insertions(+), 0 deletions(-) commit 7ae75f1cd3258c07c240b420c6d2871f3bf6dc73 Author: edrosten Date: Tue Apr 21 10:45:00 2009 +0000 Rename ALIGN8 --> TOON_ALIGN8 internal/allocator.hh | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit 48181959054576e1d81736b2da1b5bce6c3e74ad Author: twd20 Date: Mon Apr 20 21:14:59 2009 +0000 documentation fix wls.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit f0b47af6bb84505d766ad4cffb4ee02d357e5c5f Author: twd20 Date: Mon Apr 20 21:02:07 2009 +0000 now with added documentation SVD.h | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 90 insertions(+), 21 deletions(-) commit 74a236508c92570409e25b461b588f97224fa78c Author: twd20 Date: Mon Apr 20 21:01:52 2009 +0000 deleted no longer needed SVDdoc.h doc/SVDdoc.h | 101 ---------------------------------------------------------- 1 files changed, 0 insertions(+), 101 deletions(-) commit 11f011e8b7991b988f4d7be7f1669a9c58ca2f40 Author: twd20 Date: Mon Apr 20 20:40:24 2009 +0000 documentation fix Cholesky.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit fb633a5dd5b59786cf2d9dcd7c2f27d4a7906699 Author: twd20 Date: Mon Apr 20 20:33:46 2009 +0000 removed documentation to non-existent members of Cholesky Cholesky.h | 7 ------- 1 files changed, 0 insertions(+), 7 deletions(-) commit 3a0a999154a06117eadc5732c98d78439a4781f7 Author: twd20 Date: Mon Apr 20 18:14:34 2009 +0000 bug fixes from moving to single template now works with SQSVD wls.h | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit 9ec8e55ced14bd59aa80615e58d00d333c32e62e Author: twd20 Date: Mon Apr 20 18:13:06 2009 +0000 fixed bug in constructor SVD.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 433766bc98bbb6341072b4dbe7dc8dd03395c2b9 Author: twd20 Date: Mon Apr 20 17:57:48 2009 +0000 fixed a couple of stray references to double SVD.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit d4ebacdd6a18ae669fdc1eb95b0f5371766ac8ca Author: twd20 Date: Mon Apr 20 17:55:46 2009 +0000 using DefaultPrecision Cholesky.h | 2 +- SVD.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 17f4344f0bc6750f42aabf936ca781e8d964d41f Author: twd20 Date: Mon Apr 20 17:54:37 2009 +0000 use Default Precision internal/matrix.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit ab87c312c5289cdd1f6aff7bfbde99b9179e89e1 Author: twd20 Date: Mon Apr 20 17:54:06 2009 +0000 use DefaultPrecision internal/vector.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 1d508421e40680811ef2beb3c3a8f31d12d64cdc Author: twd20 Date: Mon Apr 20 17:51:54 2009 +0000 added DefaultPrecision=double to TooN header use this for default Precision arguments so that it can be changed easily TooN.h | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 29dc3b645ae7a347ce7d65ab3d8e4a233c877405 Author: twd20 Date: Mon Apr 20 17:50:20 2009 +0000 cleaned up size testing Cholesky.h | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) commit fc9c28aa204bfac7bc05034d606b9d9f13f5663a Author: twd20 Date: Mon Apr 20 17:44:02 2009 +0000 TooN2 compatible version of SVD.h SVD.h | 420 ++++++++++++++++++++++++++--------------------------------------- 1 files changed, 170 insertions(+), 250 deletions(-) commit 0ffefc3bc719c3eb31400c6d2d5d1f98f8bdf422 Author: edrosten Date: Mon Apr 20 17:29:32 2009 +0000 Documentation tweak. Makefile.in | 2 +- doc/documentation.h | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) commit 072647973c58cd40491d878191be4d4458ecb651 Author: twd20 Date: Mon Apr 20 17:14:09 2009 +0000 SizeHolder now private in ColSizeHolder (like RowSizeHolder) internal/allocator.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit d70e522b5a7a4e1ffe84463f0236bc2d3d2670e9 Author: twd20 Date: Mon Apr 20 17:07:47 2009 +0000 if using GCC then align double precision data to 8 byte boundary necessary for lapack on OS X and probably useful in general internal/allocator.hh | 31 +++++++++++++++++++++++++++---- 1 files changed, 27 insertions(+), 4 deletions(-) commit b66cdbb7135e71aad6225b5a4db3ecfbc7336431 Author: twd20 Date: Fri Apr 17 03:54:21 2009 +0000 added diagmultiply for vector*matrix and matrix*vector internal/operators.hh | 67 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 67 insertions(+), 0 deletions(-) commit 2217e9c13fa70daed547b70880f6be833c42af7d Author: twd20 Date: Fri Apr 17 03:51:28 2009 +0000 added both precisions for svd and overloaded c functions lapack.h | 203 ++++++++++++++++++++++++++++++++++---------------------------- 1 files changed, 112 insertions(+), 91 deletions(-) commit 2a203d47535b07ebb796d80a2159bf2f80e935c3 Author: twd20 Date: Fri Apr 17 03:45:48 2009 +0000 Changed Cholesky to single size parameter argument - will introduce a SQSVD version of SVD for square matrices which also takes one size argument so that SQSVD can be used as a parameter argument for wls - also fixed the constructor of wls so that all its internals are constructed to the correct size in the dynamic case Cholesky.h | 8 ++------ wls.h | 6 ++++-- 2 files changed, 6 insertions(+), 8 deletions(-) commit 89ba0f42585dc5a20fe1b4eb705995fa45efbaed Author: edrosten Date: Thu Apr 16 17:59:08 2009 +0000 Fixed normalize() to work on all kinds of vector. Updated documentation. Added normalize test program. doc/documentation.h | 2 +- helpers.h | 18 ++++++++++++++++-- test/normalize_test2.cc | 38 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 3 deletions(-) commit 7c0ee47104ccd55d5f6ccd68ff1e1e0b8cffa1d8 Author: edrosten Date: Thu Apr 16 17:54:10 2009 +0000 Added .as_slice() to be used internally. internal/vbase.hh | 5 +++++ test/as_foo.cc | 2 ++ 2 files changed, 7 insertions(+), 0 deletions(-) commit 72505e23af321709fe2a2b2d95a873a83a5cd571 Author: edrosten Date: Thu Apr 16 17:51:54 2009 +0000 Test program for Vector<>.as_FOO(); Fixed bug in as_row() and as_col() internal/vbase.hh | 8 ++++---- test/as_foo.cc | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) commit 6293e740d47a8558076312d37ae1123401c3a9df Author: edrosten Date: Thu Apr 16 17:33:55 2009 +0000 Added left and right multiplication of identity operator by a scalar. Eg: Matrix<3> m = 5 * Identity; helpers.h | 54 ++++++++++++++++++++++++++++++++++++------------ test/identity_test.cc | 24 +++++++++++++++++++++ 2 files changed, 64 insertions(+), 14 deletions(-) commit 50385708d85c2e02571b5b35f582915dc31e2dd9 Author: georgklein Date: Thu Apr 16 15:43:46 2009 +0000 Added generator_field backwards-compatibility funcs se3.h | 14 ++++++++++++++ so3.h | 11 +++++++++++ 2 files changed, 25 insertions(+), 0 deletions(-) commit bb73fde3e06df1fffe2f9ec6b83a707dc7dde52a Author: georgklein Date: Thu Apr 16 15:23:23 2009 +0000 Added normalize helper helpers.h | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) commit 07c4036fb902fb008d89c7a136254217fe14431c Author: georgklein Date: Thu Apr 16 11:02:56 2009 +0000 Added inline qualifiers so the linker doesn't complain internal/reference.hh | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-) commit b5fd1fc8bd81c2d00fa2cf6a90f1c0e0ed2a610c Author: edrosten Date: Wed Apr 15 16:24:19 2009 +0000 Removed old wrapping interface. Added new convenience function wrapVector internal/reference.hh | 42 ++++++++---------------------------------- test/test_foreign.cc | 12 ++---------- 2 files changed, 10 insertions(+), 44 deletions(-) commit 6a42fd84e6b0aedc45c03754f3c89bc44d3036e4 Author: edrosten Date: Wed Apr 15 15:59:37 2009 +0000 Minor doc fix gaussian_elimination.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 47af62f2992a0bc005b9ee59cb69f3d52a823e08 Author: edrosten Date: Wed Apr 15 15:50:29 2009 +0000 Move documentation around. Cholesky.h | 54 ++- Doxyfile | 1118 +++++++++++++++++++++++++++++++++++++ LU.h | 283 ++++++---- SymEigen.h | 130 ++++-- benchmark/solve_ax_equals_b.cc | 15 +- doc/Choleskydoc.h | 174 ------ doc/Doxyfile | 1118 ------------------------------------- doc/LUdoc.h | 94 --- doc/SymEigendoc.h | 125 ---- doc/documentation.h | 43 +- doc/se3doc.h | 140 ----- doc/so3doc.h | 120 ---- gauss_jordan.h | 1 + gaussian_elimination.h | 2 + optimization/brent.h | 1 + optimization/conjugate_gradient.h | 39 +- optimization/golden_section.h | 2 + se3.h | 59 ++- so3.h | 42 ++- test/cg_test.cc | 4 + 20 files changed, 1588 insertions(+), 1976 deletions(-) commit f9d4eb5720116a835b8d2d197c062feb5db3c798 Author: gerhard Date: Tue Apr 14 16:08:47 2009 +0000 ahem helpers.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit ca0d441dc22665e5f3beaf30e66c74738bbd924b Author: gerhard Date: Tue Apr 14 15:35:21 2009 +0000 norm_sq funtion helpers.h | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) commit e466f1bc9523950dddf66d420d20a200d8dc51e5 Author: gerhard Date: Tue Apr 14 14:56:11 2009 +0000 ported SymEigen to TooN2 SymEigen.h | 356 ++++++++++++++++++---------------------------------------- lapack.h | 13 ++- test/sym.cc | 47 ++++++++ 3 files changed, 168 insertions(+), 248 deletions(-) commit 05b77c6eb2fc3f04b098bc9c3056efcba8995969 Author: gerhard Date: Tue Apr 14 13:05:02 2009 +0000 avoid warning Cholesky.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 7fcd89063c7f27bd0d36ac71ec9efd524310557b (tag: refs/tags/TOON_2_0_BETA_2) Author: edrosten Date: Tue Apr 14 12:57:27 2009 +0000 ./configure now works by default. Uodated TODO list, and other documentation. README.HELP_IT_IS_BROKEN | 15 -------- TODO | 11 +++--- configure | 84 ++++++++++++++++++--------------------------- configure.ac | 59 ++++++++++++++------------------ 4 files changed, 64 insertions(+), 105 deletions(-) commit 9ab16eb51bffe7639b19329594f393ef4de7e8d2 Author: edrosten Date: Tue Apr 14 12:56:25 2009 +0000 Update docs. optimization/golden_section.h | 32 ++++++++++++++++---------------- 1 files changed, 16 insertions(+), 16 deletions(-) commit 35873c5cf70e06bc9fb71365212d627e56db652a Author: edrosten Date: Tue Apr 14 12:42:35 2009 +0000 Removed TOON 1.x -> TOON historic compatibility Renamed include guards Cholesky.h | 9 ++------- se2.h | 10 +++------- se3.h | 8 ++------ so2.h | 8 ++------ so3.h | 8 ++------ wls.h | 8 ++------ 6 files changed, 13 insertions(+), 38 deletions(-) commit 759a8639c1be32f1fc325147ac62bbe5f2fcf14a Author: edrosten Date: Tue Apr 14 09:40:42 2009 +0000 Put empty config.hh back in. internal/config.hh | 13 ------------- 1 files changed, 0 insertions(+), 13 deletions(-) commit 936ef279eb7460374feb0d7470f44606b61a3d46 Author: gerhard Date: Tue Apr 14 09:11:14 2009 +0000 aligned coerce with other groups, matrix multiplication, better doc sl.h | 65 ++++++++++++++++++++++++++++++++++++++--------------------- test/sl.cc | 25 +++++++++++++++++++++- 2 files changed, 65 insertions(+), 25 deletions(-) commit c10f78964d897332d9ea2b1968850b0fd8954340 Author: twd20 Date: Tue Apr 14 07:12:37 2009 +0000 documentation polishing doc/Doxyfile | 2 +- doc/documentation.h | 4 ++-- doc/matrixdoc.h | 9 ++++++--- doc/vectordoc.h | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) commit 33a7448d2a5d58c063fc078b6a74e9489eaf566d Author: twd20 Date: Tue Apr 14 06:52:03 2009 +0000 minor fixes helpers.h | 19 +++++++++---------- 1 files changed, 9 insertions(+), 10 deletions(-) commit 7d1132d6fa4efd569f1b2074096d4e9107f7f851 Author: twd20 Date: Tue Apr 14 06:45:57 2009 +0000 corrected and added documentation doc/documentation.h | 54 +++++++++++++++++++++++++++++++++----------------- 1 files changed, 35 insertions(+), 19 deletions(-) commit 550364275903434f4eb51480756fd97c567d5b25 Author: twd20 Date: Sun Apr 12 09:48:55 2009 +0000 added GPLV2 + special exception to a bunch of files TooN.h | 30 ++++++++++++++++++++++++++++++ internal/allocator.hh | 30 ++++++++++++++++++++++++++++++ internal/matrix.hh | 30 ++++++++++++++++++++++++++++++ internal/mbase.hh | 28 ++++++++++++++++++++++++++++ internal/operators.hh | 28 ++++++++++++++++++++++++++++ internal/reference.hh | 39 +++++++++++++++++++++++++++++++++++++-- internal/size_mismatch.hh | 28 ++++++++++++++++++++++++++++ internal/slice_error.hh | 29 +++++++++++++++++++++++++++++ internal/typeof.hh | 29 +++++++++++++++++++++++++++++ internal/vbase.hh | 28 ++++++++++++++++++++++++++++ internal/vector.hh | 29 +++++++++++++++++++++++++++++ 11 files changed, 326 insertions(+), 2 deletions(-) commit 198b5df5e694331f18765b334e3541dc75f8cbc6 Author: twd20 Date: Sun Apr 12 01:38:11 2009 +0000 removed unused constructor from SliceVBase internal/vbase.hh | 5 ----- 1 files changed, 0 insertions(+), 5 deletions(-) commit 637951b92d73c7af7c8561d78c77979ffa5aff5e Author: twd20 Date: Sun Apr 12 01:31:16 2009 +0000 removed no-longer-needed 1-ary and 2-ary constructors for Vector internal/vector.hh | 14 -------------- 1 files changed, 0 insertions(+), 14 deletions(-) commit e14c284a9575afe1931b7aaa9a3adb6672ed9db4 Author: twd20 Date: Sun Apr 12 01:26:13 2009 +0000 modified TooN.h to reflect name change of foreign_matrix.hh -> reference.hh TooN.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 0b562c65c3cebe1148739a856390a694bf313b83 Author: twd20 Date: Sun Apr 12 01:25:11 2009 +0000 renamed foreign_matrix.hh -> reference.hh internal/foreign_matrix.hh | 79 -------------------------------------------- internal/reference.hh | 79 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+), 79 deletions(-) commit c007f2513cd9fb4a5363fc4131b3ec4edbbbd3b5 Author: twd20 Date: Sun Apr 12 01:23:46 2009 +0000 added wrapping foreign data for Vectors into foreign_matrix which now needs to be renamed internal/foreign_matrix.hh | 19 ++++++++++++++++--- internal/vector.hh | 6 +++++- test/test_foreign.cc | 4 ++++ 3 files changed, 25 insertions(+), 4 deletions(-) commit 295f060b698089cf032a57996a33c31200cadbc9 Author: twd20 Date: Sun Apr 12 01:08:00 2009 +0000 Vector uses VLayout, Matrix uses MLayout internal/foreign_matrix.hh | 13 ++++--------- internal/matrix.hh | 25 ++++++++++++------------- internal/mbase.hh | 22 ++++++++++++---------- internal/vbase.hh | 18 ++++++++++-------- internal/vector.hh | 18 +++++++++--------- 5 files changed, 47 insertions(+), 49 deletions(-) commit c303122c59a8b148bf4ee66d55343c477d5aa6c7 Author: twd20 Date: Sun Apr 12 00:21:06 2009 +0000 removed unused detritus from TooN.h and the unused NoIgnore constructors in StrideHolders TooN.h | 30 +----------------------------- internal/allocator.hh | 13 ------------- 2 files changed, 1 insertions(+), 42 deletions(-) commit 37d0b15138a7850637df62f3cacfb69053c5c780 Author: twd20 Date: Sun Apr 12 00:11:27 2009 +0000 removed non-functional constructor from matrix and added comment to slicing constructor internal/matrix.hh | 17 ++--------------- 1 files changed, 2 insertions(+), 15 deletions(-) commit 2d65fdef3546b3358e5599b0da35ddadd408485f Author: twd20 Date: Sun Apr 12 00:07:51 2009 +0000 fixed non compiling mat-test by making slice always use the 5 argument constructor, namely Precsiion* data, int rows, int cols, int rowstride, int colstride We should check whether the compiler omits code for unused arguments If so we don't need to do anything about this. internal/mbase.hh | 41 +++-------------------------------------- 1 files changed, 3 insertions(+), 38 deletions(-) commit c0ea397a2742cbe4b84bca270d2f3006b0ef9722 Author: twd20 Date: Sat Apr 11 05:23:15 2009 +0000 fixes to foreign wrapping of data see test_foreign.cc for two methods of wrapping foreign data internal/config.hh | 13 +++++++++++ internal/foreign_matrix.hh | 39 +++++++++++++++------------------- internal/matrix.hh | 25 +++++++++++++++------ internal/mbase.hh | 50 ++++++++++++++++++++++---------------------- test/test_foreign.cc | 24 ++++++++++++++++---- 5 files changed, 92 insertions(+), 59 deletions(-) commit 542300ce2aafd28bd5d5d821dafb49f82b6e1eb6 Author: twd20 Date: Fri Apr 10 07:57:14 2009 +0000 WLS updated to TooN2 - one version for static and dynamic now templated on the decomposition class used to invert the inverse covariance matrix also add_df changed name to add_mJ (measurement, Jacobian) wls.h | 307 +++++++++++++++++------------------------------------------------ 1 files changed, 80 insertions(+), 227 deletions(-) commit a20de2fae0238a707d82688e03171220b2c28fc3 Author: twd20 Date: Fri Apr 10 06:53:37 2009 +0000 default template parameter values and nasty hack to give Cholesky two parametric dimensions Cholesky.h | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) commit fc16dc217215509b60c2d4efefc12f8514de7f7f Author: twd20 Date: Fri Apr 10 06:23:02 2009 +0000 GPLV2 + special exception SVD.h | 46 ++++++++++++++++++++++++++++------------------ SymEigen.h | 46 ++++++++++++++++++++++++++++------------------ 2 files changed, 56 insertions(+), 36 deletions(-) commit 09b0b7dc3b0344580ad8c8f42d4fd4a7a7a42b27 Author: twd20 Date: Fri Apr 10 06:13:48 2009 +0000 GPLV2 + special exception se3.h | 46 ++++++++++++++++++++++++++++------------------ sl.h | 48 ++++++++++++++++++++++++++++++------------------ so2.h | 47 +++++++++++++++++++++++++++++------------------ so3.h | 46 ++++++++++++++++++++++++++++------------------ 4 files changed, 115 insertions(+), 72 deletions(-) commit 1fe27add3aeba441c51a36af40a4f1eac9f9c47f Author: twd20 Date: Fri Apr 10 05:47:12 2009 +0000 GPLV2 + special exception LU.h | 48 ++++++++++++++++++++++++++++++------------------ lapack.h | 40 +++++++++++++++++++++++++--------------- se2.h | 48 +++++++++++++++++++++++++++++------------------- 3 files changed, 84 insertions(+), 52 deletions(-) commit b25186f9f72fd5fa817773bf0931d4c481f0dc48 Author: twd20 Date: Fri Apr 10 05:38:27 2009 +0000 GPLV2 + special exception irls.h | 42 +++++++++++++++++++++++++++--------------- wls.h | 40 +++++++++++++++++++++++++--------------- 2 files changed, 52 insertions(+), 30 deletions(-) commit 9b16c56adb03558045d2688f4966ff83310c4151 Author: twd20 Date: Fri Apr 10 00:59:27 2009 +0000 license switched to GPLV2 + special exception helpers.h | 48 ++++++++++++++++++++++++++++++------------------ 1 files changed, 30 insertions(+), 18 deletions(-) commit b904b4ebb10485a93d0bc862496171ad7eec0028 Author: twd20 Date: Fri Apr 10 00:57:13 2009 +0000 license added (GPLV2 + special exception) gaussian_elimination.h | 31 +++++++++++++++++++++++++++++++ 1 files changed, 31 insertions(+), 0 deletions(-) commit b35762f367b340f6f0dcca35aa789486d02969af Author: twd20 Date: Fri Apr 10 00:44:48 2009 +0000 GPLV2+special exception license text added gauss_jordan.h | 30 ++++++++++++++++++++++++++++++ 1 files changed, 30 insertions(+), 0 deletions(-) commit 60c2275489bdaf08e1bf31e4016db64bd221b9e7 Author: twd20 Date: Fri Apr 10 00:43:03 2009 +0000 switch to GPL v2 (files will all contain the special exception) COPYING | 665 ++++++++++++++++++++++++--------------------------------------- 1 files changed, 250 insertions(+), 415 deletions(-) commit dd1b75a29f5ee7f77c005f10662a4dc696755678 Author: twd20 Date: Fri Apr 10 00:31:06 2009 +0000 correction to library name Cholesky.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 0dce1fb34d2785aa4b965b80004001b3a5fab50d Author: twd20 Date: Fri Apr 10 00:21:51 2009 +0000 changed license to GPL+special exception Cholesky.h | 41 ++++++++++++++++++++++++++--------------- 1 files changed, 26 insertions(+), 15 deletions(-) commit 616583976c03f090e5a1fa4b2d1adf9f47c29a81 Author: twd20 Date: Fri Apr 10 00:20:47 2009 +0000 removed surplus #includes and made comment more meaningful Cholesky.h | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-) commit 765698d1836296d8e84cc3f706840a32089df7e0 Author: edrosten Date: Thu Apr 9 11:14:27 2009 +0000 Update conjugate gradient to use Brent't linesearch algorithm. In cg_test, this results in about half the total number of function evaluations. optimization/conjugate_gradient.h | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) commit a63ed40ecb7f20bfaf7225e2fb34e89393e4c564 Author: edrosten Date: Thu Apr 9 11:07:22 2009 +0000 Removed debugging code. optimization/brent.h | 173 +------------------------------------------------- 1 files changed, 2 insertions(+), 171 deletions(-) commit a4dea81dbf55843faddd9e7dbbc95880e5a3061b Author: edrosten Date: Thu Apr 9 11:04:28 2009 +0000 Working version. All debugging code remains. optimization/brent.h | 133 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 91 insertions(+), 42 deletions(-) commit 284efa1d63a5af56dfd2aaad5e7882583d72e834 Author: twd20 Date: Thu Apr 9 06:03:04 2009 +0000 implemented Ethan's trick of caching values in upper half to save a multiplication Cholesky.h | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) commit 6bf36298ff96cc9944092651fca3f7c769cec6bc Author: edrosten Date: Wed Apr 8 17:40:48 2009 +0000 Fix non-compiling LU.backsub(Vector) LU.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 16ba59a17b563bc2ec4fdd07613ecbf683e5dc83 Author: edrosten Date: Wed Apr 8 16:42:38 2009 +0000 Added isnan and isfinite helpers.h | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-) commit d4644e26be9507fbc598f44bb788f567c8cb7164 Author: edrosten Date: Wed Apr 8 15:04:25 2009 +0000 Added bug filled Brent's line minimization. pstreams required to compile the code with debugging. optimization/brent.h | 294 ++++++++++++++++++++++++++++++++++++++++++++++++++ test/brent_test.cc | 23 ++++ 2 files changed, 317 insertions(+), 0 deletions(-) commit f066523c021d64f6eccbafbbe46dac7a7d5cfee0 Author: gerhard Date: Wed Apr 8 10:28:56 2009 +0000 diagmult for vector,vector internal/operators.hh | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) commit 84e65bad8b84279de6f2e4575fcc47c354e4a6b9 Author: twd20 Date: Wed Apr 8 04:18:56 2009 +0000 added backsub for matrices, inverse and determinant Cholesky.h | 504 ++++------------------------------------------------------- 1 files changed, 35 insertions(+), 469 deletions(-) commit 14561ed7e339c7ded04e4ffa43dbc480c8b13916 Author: twd20 Date: Wed Apr 8 04:14:39 2009 +0000 fixed embarrassing loop limit bug in many functions internal/matrix.hh | 14 +++++++------- 1 files changed, 7 insertions(+), 7 deletions(-) commit c78817ff27ee076d61bb910d57a55e181a6d96a5 Author: twd20 Date: Wed Apr 8 00:46:12 2009 +0000 replaced division with multiplication for efficiency Cholesky.h | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) commit c8c4ace394aaa5e2f7e6d89750a237b6c58a5e57 Author: edrosten Date: Tue Apr 7 14:33:06 2009 +0000 Added conjugate gradient optimization and test code. Updated golden_section to make it work better with ConjugateGradient. optimization/conjugate_gradient.h | 303 +++++++++++++++++++++++++++++++++++++ optimization/golden_section.h | 42 ++++- test/cg_test.cc | 64 ++++++++ test/cg_view.gnuplot | 19 +++ 4 files changed, 419 insertions(+), 9 deletions(-) commit 505ec4f53977b860f09421e768c06662dff81866 Author: gerhard Date: Tue Apr 7 07:54:49 2009 +0000 fixed bug in SO3::coerce and removed from constructor (which uses the assignment operator anyway ;) clean-up of coerce in other classes se2.h | 2 +- se3.h | 1 + so2.h | 15 ++++++--------- so3.h | 4 +++- test/SXX_test.cc | 2 ++ 5 files changed, 13 insertions(+), 11 deletions(-) commit 13c53fdef9f78662d0fe5597d6d5c708c2151d91 Author: twd20 Date: Tue Apr 7 07:00:30 2009 +0000 rewrite of Cholesky using the non-square root version of the decomposition (as Ethan used) This is still incomplete, but the decomp is there and vector backsub Cholesky.h | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 84 insertions(+), 3 deletions(-) commit 3677dd283ac77e78df2609796dd066c13cbad08b Author: twd20 Date: Tue Apr 7 04:57:12 2009 +0000 replaced unit with multiply for efficiency added norm(Vector) added c++ magic comment for emacs helpers.h | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) commit e32f582f9ef208cf024caf7c01c5a5369fe14e29 Author: twd20 Date: Tue Apr 7 02:44:24 2009 +0000 added magic comment to make emacs use c++-mode added coerce to constructor from matrix so3.h | 108 ++++++++++++++++++++++++++++++++-------------------------------- 1 files changed, 54 insertions(+), 54 deletions(-) commit b687da99f5b0cd67f1d947dcb937bb248fd79c83 Author: twd20 Date: Tue Apr 7 02:14:33 2009 +0000 made coerce a normal member function acting on my_matrix rather than a static function acting on an external matrix so3.h | 22 +++++++++------------- 1 files changed, 9 insertions(+), 13 deletions(-) commit f482ddd6a4823aef7560b120053ff5dd5efe416a Author: gerhard Date: Fri Apr 3 18:28:45 2009 +0000 first stab at porting Cholesky to TooN2, general LAPACK-based implementation for static and dynamic matrices works Cholesky.h | 168 ++++++++++++++++++++++++++++----------------------------- lapack.h | 28 ++++++++++ test/chol.cc | 37 +++++++++++++ 3 files changed, 148 insertions(+), 85 deletions(-) commit eed6955994acaab73a63f59c792dc7995acb9e19 Author: edrosten Date: Fri Apr 3 17:21:46 2009 +0000 Added golden section line minimization. optimization/golden_section.h | 85 +++++++++++++++++++++++++++++++++++++++++ test/golden_test.cc | 23 +++++++++++ 2 files changed, 108 insertions(+), 0 deletions(-) commit a222751fc9da4947b1a59e242bf444b293ce0b2f Author: gerhard Date: Fri Apr 3 16:14:51 2009 +0000 added project and unproject functions helpers.h | 22 ++++++++++++++++++++++ test/un_project.cc | 15 +++++++++++++++ 2 files changed, 37 insertions(+), 0 deletions(-) commit ef458ca65a377ec70b44428ba5a9838cc3f817b5 Author: gerhard Date: Fri Apr 3 14:30:31 2009 +0000 added lie group representation for SL(n), nxn matrices with det() = 1. a simple implementation for the matrix exponential in helpers supports it. helpers.h | 63 +++++++++++++++++++++++ sl.h | 163 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ test/sl.cc | 26 ++++++++++ 3 files changed, 252 insertions(+), 0 deletions(-) commit 28b167d9a9acaed6c77507fa715de3e01ebec37e Author: gerhard Date: Fri Apr 3 14:29:03 2009 +0000 small cleanup so3.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit e3e0a1605c08ee18e70fde9271b3f7e1e2406d6e Author: gerhard Date: Fri Apr 3 10:02:29 2009 +0000 assignment operator should return this internal/matrix.hh | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit f8e2e983f9844e1ce206e62d7b52dc3d085eb41d Author: edrosten Date: Thu Apr 2 13:36:24 2009 +0000 Added compiled Cramer's rule to benchmarking. Added MATLAB code to generate the Cramer's rule code using symbolic manipulation. It would appear that Cramer's rule is good up to 5x5. At 6x6, the performance is very bad and compiling a 6x6 \ 6x1 problem takes 8 minutes. benchmark/generate_solvers.m | 93 +++++++++++++++++++++++ benchmark/solve_ax_equals_b.cc | 131 ++++++++++++++------------------ benchmark/solvers.cc | 162 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 311 insertions(+), 75 deletions(-) commit b767d24c08d4746b363188af9ccddc4983c7035f Author: gerhard Date: Thu Apr 2 13:36:03 2009 +0000 ported so2, se2, so3, se3 to TooN2 the transform_XXXX functions are currently just disabled, they will be cleaned up and moved in the next step. se2.h | 426 ++++++++++++++++++------------------- se3.h | 630 +++++++++++++++++++++++++++++------------------------- so2.h | 29 ++- so3.h | 9 +- test/SXX_test.cc | 115 ++++++++++- 5 files changed, 677 insertions(+), 532 deletions(-) commit 7190269a664a63251eaaa9ab6358753403632247 Author: gerhard Date: Thu Apr 2 13:32:40 2009 +0000 removed unused arguments internal/allocator.hh | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 6e0aa4c540fe4f089e01f05eefd361a94387702b Author: gerhard Date: Thu Apr 2 13:15:28 2009 +0000 fixed a template parameter passing bug in s op v, istream for vector and matrices internal/operators.hh | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 deletions(-) commit 4dc1206629fb47126f1726f41560d605e866a4c8 Author: twd20 Date: Thu Apr 2 03:56:38 2009 +0000 work on bringing documentation up to date for Vector still more do to doc/vectordoc.h | 484 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 247 insertions(+), 237 deletions(-) commit b7463f9edb1c3e4d9bc283db1518dcf2167f2a31 Author: edrosten Date: Wed Apr 1 19:55:30 2009 +0000 Improved benchmark. Added special case for 2x2 and 3x3. benchmark/solve_ax_equals_b.cc | 133 +++++++++++++++++++++++++++------------ 1 files changed, 92 insertions(+), 41 deletions(-) commit 3fb4d360d1d59f37f94246058af32bbd0091a77b Author: edrosten Date: Wed Apr 1 17:55:12 2009 +0000 Update docs. doc/documentation.h | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) commit ce9ef2f20f468fa861092acc7702b1bda06e5ad4 Author: gerhard Date: Wed Apr 1 17:51:41 2009 +0000 empty default config, unary - operator for vector and matrix internal/operators.hh | 51 +++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 47 insertions(+), 4 deletions(-) commit ced8722024a66cd159f790cc0579d572ca6f169d Author: edrosten Date: Wed Apr 1 15:48:45 2009 +0000 Added test for efficiency of dynamic vectors. They are much less efficient than static ones. G++ can not optimize away new and delete. The following code is not optimized: int test_new_optimization(int i) { int* tmp = new int; *tmp = i; int j = *tmp; delete tmp; return j; } test/dynamic_test.cc | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-) commit 24d6ac21475f99262b0e27d19c1d690d808bbb13 Author: gerhard Date: Wed Apr 1 13:22:13 2009 +0000 moved SO3 to TooN2 transform and derivative functions just disabled for the moment so3.h | 418 +++++++++++++++++++++++++++++------------------------------------ 1 files changed, 184 insertions(+), 234 deletions(-) commit 468222dc0be120d8c702562a99693966d43e148a Author: gerhard Date: Wed Apr 1 13:21:26 2009 +0000 so3.h test/SXX_test.cc | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 79 insertions(+), 2 deletions(-) commit ca6a1f291010ac861985e4ea6213a407ded54ebd Author: twd20 Date: Wed Apr 1 09:14:41 2009 +0000 operators.hh completely converted to 0-ary operators uses slightly convenient hack for automatic promotion of return types to simplify code internal/operators.hh | 103 +++++++++++++++++-------------------------------- 1 files changed, 36 insertions(+), 67 deletions(-) commit 4653494cf947b5689894def3ad95419f3ed8f2c8 Author: twd20 Date: Wed Apr 1 08:10:13 2009 +0000 more matrix operators using 0-ary nasty macro code replaced with plain C++ :) internal/operators.hh | 408 +++++++++++++++++++++++++++---------------------- 1 files changed, 226 insertions(+), 182 deletions(-) commit caca6116bb46d43c302c9bc697175b61c8b4258a Author: twd20 Date: Tue Mar 31 04:30:11 2009 +0000 cleaning and comments helpers.h | 15 +++++++-------- 1 files changed, 7 insertions(+), 8 deletions(-) commit 83095b1b247638065551e20521efafcbe8df0d72 Author: twd20 Date: Tue Mar 31 04:25:54 2009 +0000 matrices switched to new 0ary operators for Zero and Identity helpers.h | 146 ++++++++++++++++++++++++++++++++++++------------- internal/allocator.hh | 11 ++++ internal/matrix.hh | 10 ++-- internal/mbase.hh | 21 +++++++- 4 files changed, 143 insertions(+), 45 deletions(-) commit a7af49c3d49b35f684e38316223b9237306925f1 Author: twd20 Date: Tue Mar 31 03:42:47 2009 +0000 introduced SizeHolder classes and massively simplified MatrixAlloc and MatrixSlice internal/allocator.hh | 233 +++++++++++++++++++++---------------------------- 1 files changed, 99 insertions(+), 134 deletions(-) commit 1a181b9d96b4b48a8ddb65e1da6b2c0f5d90e9a2 Author: twd20 Date: Tue Mar 31 02:57:46 2009 +0000 remaining vector operators converted to use 0-ary operators internal/operators.hh | 221 ++++++++++++++++++++++++++++++++++++++----------- internal/vector.hh | 2 +- 2 files changed, 175 insertions(+), 48 deletions(-) commit 5ca6aeec5bb2a92d92ac5bd973bdcb9f1107d193 Author: twd20 Date: Mon Mar 30 23:05:22 2009 +0000 can give Zero a size so that it can be used to construct dynamic vectors by: int n; Vector<> v=Zero(n); helpers.h | 134 +++++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 77 insertions(+), 57 deletions(-) commit 7e3348a1880598607cf613b4aa94293328fe01df Author: twd20 Date: Mon Mar 30 22:52:11 2009 +0000 Removed NoAliasOperator helpers.h | 2 +- internal/operators.hh | 28 ++++++++++------------------ internal/vector.hh | 2 +- 3 files changed, 12 insertions(+), 20 deletions(-) commit 6054a0bd2bdccbd4285492afe95ad918b2a355eb Author: twd20 Date: Mon Mar 30 21:22:31 2009 +0000 Introduced NoAliasOperator derived from Operator and convertible by NoAlias(...) Vector::operator= only takes a NoAliasOperator Vecotr() will take an Operator TooN.h | 1 + helpers.h | 2 +- internal/operators.hh | 15 ++++++++++++--- internal/vector.hh | 2 +- 4 files changed, 15 insertions(+), 5 deletions(-) commit 25d1ab14814c4320c85027c2ff164e51c0381bc1 Author: twd20 Date: Mon Mar 30 20:01:31 2009 +0000 began work on moving everything to 0-ary constructors for Vector Zero still works Vector+Vector now uses 0-ary helpers.h | 12 ++++++++++++ internal/allocator.hh | 27 +++++++++++++++++++++------ internal/operators.hh | 33 +++++++++++++++++++++++++++++++-- internal/vbase.hh | 11 +++++++++++ internal/vector.hh | 8 ++++---- test/test3.cc | 2 +- 6 files changed, 80 insertions(+), 13 deletions(-) commit 7f59831e9b5d3c2e38c272e39896ae986e065a08 Author: twd20 Date: Mon Mar 30 19:17:21 2009 +0000 fixed this test so it compiles with Vector(Zero) rather than Zero(Vector) test/test3.cc | 7 ++----- 1 files changed, 2 insertions(+), 5 deletions(-) commit 8438e7253d1770378828654a8bb982f821b8a185 Author: twd20 Date: Mon Mar 30 19:15:15 2009 +0000 unbroke Vector v (Zero); internal/vector.hh | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit dac8a0c18db354fd0ad435a3f88356ece139f55d Author: twd20 Date: Mon Mar 30 18:22:49 2009 +0000 more removal of unnecessary constructor internal/vector.hh | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit aba15e59da91cc0983d21cf310b85bf32b3c7a01 Author: twd20 Date: Mon Mar 30 18:21:39 2009 +0000 Removed the (Precision*, int stride, Slicing()) constructor from Vector Now (Precision*, int size, int stride, Slicing()) is used everywhere size is ignored where necessary (as is stride). internal/vbase.hh | 8 ++------ internal/vector.hh | 5 +++-- 2 files changed, 5 insertions(+), 8 deletions(-) commit 3178116eafd90d937128b17d93ea6081c4484532 Author: edrosten Date: Fri Mar 27 21:03:09 2009 +0000 Updated docs. doc/Doxyfile | 2 +- doc/documentation.h | 219 +++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 177 insertions(+), 44 deletions(-) commit ca09c61717698254fd618fb34ddae822f7766442 Author: edrosten Date: Fri Mar 27 15:42:46 2009 +0000 Added ref() methods. internal/matrix.hh | 5 +++++ internal/vector.hh | 5 +++++ 2 files changed, 10 insertions(+), 0 deletions(-) commit abf605adc949aa6e7aab811e16eaf0d7d658ad32 Author: edrosten Date: Fri Mar 27 14:04:54 2009 +0000 Update TODO list TODO | 4 +- doc/documentation.h | 333 ++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 306 insertions(+), 31 deletions(-) commit 9f0fa5255c2a07c68ac2ff74fa88e3ed7a04ce13 Author: edrosten Date: Fri Mar 27 14:03:51 2009 +0000 Make size mismatch fail in size_mismatch.hh for easier to read error messages. TOON_NDEBUG_SIZE to switch off run-time size checking for best performance Last log message should read: TOON_NDEBUG_SLICE to switch off run-time slice checking for best performance internal/size_mismatch.hh | 38 ++++++++++++++++++++++---------------- 1 files changed, 22 insertions(+), 16 deletions(-) commit 619f31a566dbcd18b4627f18f15cbdcaeb8883a6 Author: edrosten Date: Fri Mar 27 14:01:41 2009 +0000 internal/size_mismatch.hh internal/slice_error.hh | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit b757ebc40e79c2b1bad6811ed1077c4c31281b08 Author: gerhard Date: Fri Mar 27 11:39:50 2009 +0000 fix for vector assignment from operator internal/vector.hh | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit b826a9b90299426a6bd21986d030daa13689d6cf Author: edrosten Date: Thu Mar 26 21:22:13 2009 +0000 Nullary operators for Vector. internal/vector.hh | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-) commit 70e653ed0994d305b5ef86c50507ba96b00868fe Author: gerhard Date: Thu Mar 26 19:28:30 2009 +0000 clean up for So2 so2.h | 144 +++++++++++++++++++++++------------------------------ test/SXX_test.cc | 52 ++++++++++++++++++-- 2 files changed, 110 insertions(+), 86 deletions(-) commit 88860440d130aa571084d848a23a02b4d7e8b3b8 Author: edrosten Date: Thu Mar 26 15:13:16 2009 +0000 New interface for wrapping foreign data, eg: double data[]={1, 2, 3, 4}; Wrap::wrap(data, 1) Works for wrapping contiguous matrices with any mixture of static and dynamic. It will only compile with the correct, unambiguous arguments. More wrappings to be added later... TooN.h | 3 ++ internal/foreign_matrix.hh | 76 ++++++++++++++++++++++++++++++++++++++++++++ internal/mbase.hh | 70 ---------------------------------------- test/test_foreign.cc | 8 +--- 4 files changed, 81 insertions(+), 76 deletions(-) commit 791af198ec0233fbb7d51c62a5e5729e19e7add4 Author: edrosten Date: Thu Mar 26 14:31:43 2009 +0000 Rewritten the slicing interface. Now, matrix can pass on a generic SliceSpec object which will hold data needed to perform a slice. This is forwarded by the Base class on to GenericMBase. However, in GenericMBase, a mechanism is used to block the system to silently ignore superfluous data. There is no public interface yet. test/test_foreign.cc demos the private interface. Exacly one class in SliceSpec will allow the code to compile. TooN.h | 30 ++++++++++++- internal/allocator.hh | 26 +++++++---- internal/matrix.hh | 10 ++--- internal/mbase.hh | 114 +++++++++++++++++++++++++++++++++++++------------ test/test_foreign.cc | 4 +- 5 files changed, 138 insertions(+), 46 deletions(-) commit 7d8d7fc266e12b57f889b20c521de76ae66bae14 Author: gerhard Date: Thu Mar 26 10:36:17 2009 +0000 vector * matrix works now internal/operators.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit e85a82b108a5abc563d5cc523e5c63bb514109d4 Author: gerhard Date: Wed Mar 25 22:33:21 2009 +0000 renamed Fill to Copy helpers.h | 2 +- so2.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) commit 6af01487e5fc753f41c2c8e0bbcbb9cc909621de Author: edrosten Date: Wed Mar 25 22:19:38 2009 +0000 Explicit throw for negatively sized dynamic matrices. TooN.h | 1 + internal/allocator.hh | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) commit fa6e2bf8831b3b272e61e85d4447ce1b3c882245 Author: gerhard Date: Wed Mar 25 22:03:45 2009 +0000 added lost Fill again, cvs is your friend helpers.h | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) commit 70b2d972bae370f35d91d3f2c47bd1a461345c76 Author: edrosten Date: Wed Mar 25 21:47:01 2009 +0000 Started work on the foreign data interface to allow TooN objects to be created which slice foreign data. Added a new helper classes *MajorContigRef, which are used in the same way as RowMajor and ColMajor, except they cause matrices to be created which reference foreign data. internal/matrix.hh | 8 ++++++++ internal/mbase.hh | 41 +++++++++++++++++++++++++++++++++++++++++ test/test_foreign.cc | 21 +++++++++++++++++++++ 3 files changed, 70 insertions(+), 0 deletions(-) commit 2f45cd530741520a5ece4e36f5722727f91cc1e9 Author: twd20 Date: Wed Mar 25 21:33:37 2009 +0000 Zero converted to operator object helpers.h | 75 +++++++++++++++++++++++++++++------------------------------- 1 files changed, 36 insertions(+), 39 deletions(-) commit 59721d19bb3cb46593d09e4528420c3ee13ddb08 Author: gerhard Date: Wed Mar 25 21:24:20 2009 +0000 SO2 works now. some modifications to the guts where: - added unit function in helpers - Matrix constructor from 0-ary operator, allows M<2>(Identity) - Fill operator to set Matrix from data source for internal use helpers.h | 17 ++++++++++++++++- internal/matrix.hh | 7 ++++++- so2.h | 52 +++++++++++++++++++--------------------------------- test/SXX_test.cc | 18 ++++++++++++++++-- 4 files changed, 57 insertions(+), 37 deletions(-) commit e912f08a505ee6e2a6c23cb4c72e9ce558a39673 Author: twd20 Date: Wed Mar 25 21:16:22 2009 +0000 typo fixed Matrix fill now called Fill helpers.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 83473c266a3b49163324e97492fcf57dd58feb81 Author: edrosten Date: Wed Mar 25 21:14:55 2009 +0000 Make dynamic matrix throw if it is constructed with 2 negative dimensions internal/allocator.hh | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 9333075a0b392fdb2622237d17aae2bb3d88dd7e Author: edrosten Date: Wed Mar 25 20:18:16 2009 +0000 Added test function to test normalization in place (norm_v_1), normalization as assignment fomr a unit vector computed out of place (norm_v_2) and assignment from a unit vector computed out of place on a slice (norm_v_3). Compilation options are: -O3 -ffast-math -mfpmath=sse -msse to make the asm code more readable. The results are: _Z8norm_v_1v: _Z8norm_v_2v: _Z8norm_v_3v: .LFB1511: .LFB1512: .LFB1513: movl v, %eax movl v, %eax movl v, %eax pushl %ebp pushl %ebp pushl %ebp .LCFI5: .LCFI7: .LCFI3: movl %esp, %ebp movl %esp, %ebp movl %esp, %ebp .LCFI6: .LCFI8: .LCFI4: movsd (%eax), %xmm3 movsd (%eax), %xmm2 movsd (%eax), %xmm3 movsd 8(%eax), %xmm4 movsd 8(%eax), %xmm3 movsd 8(%eax), %xmm4 movsd 16(%eax), %xmm5 movsd 16(%eax), %xmm4 movsd 16(%eax), %xmm5 movapd %xmm3, %xmm1 movapd %xmm2, %xmm1 movsd 24(%eax), %xmm6 movapd %xmm4, %xmm2 movapd %xmm3, %xmm5 movapd %xmm3, %xmm1 mulsd %xmm3, %xmm1 mulsd %xmm2, %xmm1 movapd %xmm4, %xmm2 mulsd %xmm4, %xmm2 mulsd %xmm3, %xmm5 mulsd %xmm3, %xmm1 movapd %xmm5, %xmm0 movapd %xmm4, %xmm0 mulsd %xmm4, %xmm2 mulsd %xmm5, %xmm0 mulsd %xmm4, %xmm0 movapd %xmm5, %xmm0 addsd %xmm2, %xmm0 addsd %xmm5, %xmm0 mulsd %xmm5, %xmm0 movsd 24(%eax), %xmm2 movsd 24(%eax), %xmm5 addsd %xmm2, %xmm0 addsd %xmm0, %xmm1 addsd %xmm0, %xmm1 addsd %xmm0, %xmm1 movapd %xmm2, %xmm0 movapd %xmm5, %xmm0 movapd %xmm6, %xmm0 mulsd %xmm2, %xmm0 mulsd %xmm5, %xmm0 mulsd %xmm6, %xmm0 addsd %xmm1, %xmm0 addsd %xmm1, %xmm0 addsd %xmm1, %xmm0 movsd .LC0, %xmm1 movsd .LC0, %xmm1 movsd .LC0, %xmm1 sqrtsd %xmm0, %xmm0 sqrtsd %xmm0, %xmm0 sqrtsd %xmm0, %xmm0 divsd %xmm0, %xmm1 divsd %xmm0, %xmm1 divsd %xmm0, %xmm1 mulsd %xmm1, %xmm3 mulsd %xmm1, %xmm2 mulsd %xmm1, %xmm3 mulsd %xmm1, %xmm4 mulsd %xmm1, %xmm3 mulsd %xmm1, %xmm4 movsd %xmm3, (%eax) mulsd %xmm1, %xmm4 movsd %xmm3, (%eax) movsd %xmm4, 8(%eax) movsd %xmm2, (%eax) movsd %xmm4, 8(%eax) mulsd %xmm1, %xmm5 movsd %xmm3, 8(%eax) mulsd %xmm1, %xmm5 mulsd %xmm1, %xmm2 movsd %xmm4, 16(%eax) mulsd %xmm1, %xmm6 movsd %xmm5, 16(%eax) mulsd %xmm5, %xmm1 movsd %xmm5, 16(%eax) movsd %xmm2, 24(%eax) movsd %xmm1, 24(%eax) movsd %xmm6, 24(%eax) popl %ebp popl %ebp popl %ebp ret ret ret Note that the three functions are identical up to a minor reording in norm_v_3. There is therefore no need to have a normalize in place function, which is useful since working on slices is inconvenient since they are non-const temporaries. test/normalize_test.cc | 36 ++++++++++++++++++++++++++++++++++++ 1 files changed, 36 insertions(+), 0 deletions(-) commit 0505fab597c1269fd472b786088e27476f0f6884 Author: edrosten Date: Wed Mar 25 19:46:08 2009 +0000 Add in traits class do determine if a type is a field. Generic vector * thing (designed for vector * scalar) uses type deduction to make the return type vector. If A*thing does not exist, compilation will fail in the type deduction stage. The type deduction part will now return void unless both A and thing are fields. This allows SFINAE to kick in and reject functions if A*thing does not exist, allowing an overloaded function (eg Vector * SO2) can be used instead. If you define some field F, such that F * double doesn't exist, but wish to have a specialization vector * double which does exist, then your code will not compile. TooN.h | 9 +++++++++ internal/operators.hh | 23 +++++++++++++++++++---- test/SXX_test.cc | 2 +- 3 files changed, 29 insertions(+), 5 deletions(-) commit 0476b8c2ac91157eee3a4e364894cae61c424e16 Author: edrosten Date: Wed Mar 25 19:39:21 2009 +0000 Add in Gauss-Jordan. benchmark/solve_ax_equals_b.cc | 25 ++++++++++++++++++++++--- 1 files changed, 22 insertions(+), 3 deletions(-) commit acd8f52220318f3c41d6efe88b14f040b4c994c9 Author: edrosten Date: Wed Mar 25 17:51:34 2009 +0000 Better way of feeding types to typeof internal/operators.hh | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) commit bac41e9cfe449fcf4ce270be46d6b926ed1b29b4 Author: gerhard Date: Wed Mar 25 17:41:09 2009 +0000 test program for sxx stuff test/SXX_test.cc | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) commit 3bbd352ac2deb0acf155b3efe65c2f91e67c0313 Author: gerhard Date: Wed Mar 25 17:40:30 2009 +0000 moving so2 to toon2 so2.h | 139 +++++++++++++++++++++++++++++++--------------------------------- 1 files changed, 67 insertions(+), 72 deletions(-) commit 40f7caf3d7cbcb6645155c133a7937ef4ef1e008 Author: edrosten Date: Fri Mar 20 18:24:27 2009 +0000 Added 0-ary operators for Matrix. You can now do: mat.slice<0,0,2,2>() = Identity; The old version: Identity(mat.slice<0,0,2,2>()); failed due to slice objects being temporaries. Added Gauss-Jordan test which relies on this, and fixed gauss-jordan to work with TooN 2. benchmark/solve_ax_equals_b.cc | 10 ++++++---- gauss_jordan.h | 20 +++++++++++--------- helpers.h | 29 +++++++++++++++++++---------- internal/matrix.hh | 7 ++++++- test/gauss_jordan.cc | 34 ++++++++++++++++++++++++++++++++++ 5 files changed, 76 insertions(+), 24 deletions(-) commit d9be21e97885982671bd2e0097e0ab64f0ade9bc Author: edrosten Date: Fri Mar 20 17:35:31 2009 +0000 Bring across gauss_jordan.h gauss_jordan.h | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 83 insertions(+), 0 deletions(-) commit 4eca191e5989cb55fb286d71fbb5d02e723159a8 Author: edrosten Date: Fri Mar 20 17:21:30 2009 +0000 Added full inverse solvers. Reomoved dependence on CVD for timers. benchmark/solve_ax_equals_b.cc | 43 ++++++++++++++++++++++++++++++--------- internal/operators.hh | 1 - 2 files changed, 33 insertions(+), 11 deletions(-) commit b5ebaf93c87ace1ea6440bb66bc84f235e1410d0 Author: edrosten Date: Fri Mar 20 16:49:25 2009 +0000 - Make gaussian_elimination work on Matrices - Added test program for gaussian_elimination on matrices - Added benchmark code ao test the speed of solve x for Ax=b - Fixed all bugs which cropped up as a result benchmark/solve_ax_equals_b.cc | 164 +++++++++++++++++++++++++++++++++++++ gaussian_elimination.h | 68 +++++++++++++++- helpers.h | 10 ++ internal/matrix.hh | 2 +- internal/vector.hh | 2 +- lapack.h | 8 +- test/gaussian_elimination_test.cc | 50 +++++++++++ 7 files changed, 296 insertions(+), 8 deletions(-) commit 4f10fdbabd4c28773f4a29490dc37c091d148f54 Author: edrosten Date: Fri Mar 20 12:24:19 2009 +0000 Fix compile error in vector += vector internal/vector.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit bcb8ea12e7fdad98d4cd310814524dc44e4b4ac6 Author: edrosten Date: Fri Mar 20 12:23:58 2009 +0000 try varargs. test/makevector.cc | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-) commit d545e3458c0be007aa496065773e6826d2141bf2 Author: edrosten Date: Wed Mar 11 11:28:52 2009 +0000 Test program for makevector. Compiling with -O3 -ffast-math on gcc 4.3.1 gives full optimization on both functions. The * 0 is removed, and the * 2 is replaced with an add. There is no performance penalty if the wrong template type is deduced for makeVector. use_make_vector_double: .LFB1215: pushl %ebp .LCFI0: movl %esp, %ebp .LCFI1: movl 8(%ebp), %eax popl %ebp fldl 16(%eax) fadd %st(0), %st ret use_make_vector_int: .LFB1216: pushl %ebp .LCFI2: movl %esp, %ebp .LCFI3: movl 8(%ebp), %eax popl %ebp fldl 16(%eax) fadd %st(0), %st ret test/makevector.cc | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) commit df14d7b48ee91742a53372256b5afbd21d68f60f Author: edrosten Date: Wed Mar 11 00:03:44 2009 +0000 added makeVector() internal/make_vector.hh | 703 +++++++++++++++++++++++++++++++++++++++++++---- make_make_vector.awk | 13 + 2 files changed, 657 insertions(+), 59 deletions(-) commit faf35ec44555c08c6cd52ecf04c9f6199e93d193 Author: twd20 Date: Tue Mar 10 16:50:11 2009 +0000 added cross product for 3-vectors (operator ^) internal/operators.hh | 17 +++++++++++++++++ 1 files changed, 17 insertions(+), 0 deletions(-) commit c4eed073e2a9e1ccf4978dab0dd6dbe90b040e1e Author: twd20 Date: Tue Mar 10 16:05:26 2009 +0000 fixed gaussian_elimination.h to work with new TooN lots of work to do on Cholesky.h Cholesky.h | 482 ++++++++++++++++++++++++------------------------ gaussian_elimination.h | 98 +++++------ 2 files changed, 286 insertions(+), 294 deletions(-) commit d7633a09910510f377260e4f8ec367086697522b Author: twd20 Date: Tue Mar 10 15:30:22 2009 +0000 put the non-existent operator argument for vector and matrix constructors last and edited the operators to conform to this. The (sometimes unused) size arguments now precede the always unused operator argument. internal/matrix.hh | 4 ++-- internal/operators.hh | 22 +++++++++++----------- internal/vector.hh | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) commit 48c3c86aecdaba5aa62bdf98b7d40fecb325b1fd Author: twd20 Date: Tue Mar 10 15:13:11 2009 +0000 comments internal/operators.hh | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) commit 8c3f24fdc9062ff6f4a6f99e248b61dab10d0200 Author: twd20 Date: Tue Mar 10 15:09:50 2009 +0000 scalar op left and right unmuddled the side now refers to the side on which the scalar resides internal/operators.hh | 23 ++++++++++++++--------- 1 files changed, 14 insertions(+), 9 deletions(-) commit 1e0149dd6e1738bdaba1ba2d9496d43c05c45011 Author: twd20 Date: Tue Mar 10 15:06:30 2009 +0000 cleaned #undefs internal/operators.hh | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) commit cb1647fa955ebf75f08fe457fbf6188600f883f5 Author: twd20 Date: Tue Mar 10 15:05:37 2009 +0000 removed scalar/vector also internal/operators.hh | 35 ++++++++++++++++------------------- 1 files changed, 16 insertions(+), 19 deletions(-) commit 4ba36afb5e098cf96291f5c414379f560f94fca0 Author: twd20 Date: Tue Mar 10 15:00:09 2009 +0000 cleaning on matrix.hh matrix*vector test in mmult_test internal/matrix.hh | 2 -- test/mmult_test.cc | 2 +- 2 files changed, 1 insertions(+), 3 deletions(-) commit 559fe6655e69a1879834a59525fd74e9ff4b8347 Author: edrosten Date: Tue Mar 10 09:38:03 2009 +0000 Remove scalar / matrix internal/operators.hh | 20 +++++++++++++++++--- 1 files changed, 17 insertions(+), 3 deletions(-) commit 1efeb84907c6ccbc1dd3edd6a562c3c4ec54fc3e Author: twd20 Date: Mon Mar 9 12:00:06 2009 +0000 further cleaning internal/operators.hh | 4 +--- 1 files changed, 1 insertions(+), 3 deletions(-) commit 31e085e05bbeaf18c6cd9fa0582a4c5cf281e2e3 Author: twd20 Date: Mon Mar 9 11:55:25 2009 +0000 Added Matrix * Vector Vector * Matrix (distinct to handle non commuting data types) and cleaned up some of the template usage for Matrix*Matrix internal/operators.hh | 50 +++++++++++++++++++++++++++++++++++++++++++++--- test/mmult_test.cc | 9 ++++++++ 2 files changed, 55 insertions(+), 4 deletions(-) commit 703cfc69bff8f05309abf3a25ec91573c6e920fb Author: twd20 Date: Fri Mar 6 16:52:52 2009 +0000 simplified struct slice in mbase and resolved consequences internal/mbase.hh | 51 ++++++++++++++++++++++++--------------------------- internal/vbase.hh | 16 ++++++++-------- 2 files changed, 32 insertions(+), 35 deletions(-) commit 9d5b8c48a0d0a64801c0fc6702d5f6d94245a8be Author: edrosten Date: Fri Mar 6 15:55:44 2009 +0000 Removed wrong comment internal/mbase.hh | 5 ----- 1 files changed, 0 insertions(+), 5 deletions(-) commit b5cce464a1986aadac0ef6d9b81c12d1d27013a4 Author: edrosten Date: Fri Mar 6 15:34:33 2009 +0000 Moved the implementation in to the Internal namespace. Only the public interface remains outside and consists of: Vector, Matrix and Operator All of the non core features (eg LU) should be implementable using only the public interface. lutest works using the public interface only. TooN.h | 15 ++++++---- internal/allocator.hh | 10 ++---- internal/matrix.hh | 4 +- internal/mbase.hh | 75 +++++++++++++++++++++++++------------------------ internal/vbase.hh | 5 ++- internal/vector.hh | 6 ++-- 6 files changed, 58 insertions(+), 57 deletions(-) commit 56499a3559226e4627db62ee40b5a9d1ca104963 Author: edrosten Date: Fri Mar 6 15:15:13 2009 +0000 Fix the new mbase. Everything seems to compile and run correctly. internal/allocator.hh | 6 ++++ internal/matrix.hh | 11 ++---- internal/mbase.hh | 75 +++++++++++++++++------------------------------- internal/vbase.hh | 16 +++++----- 4 files changed, 45 insertions(+), 63 deletions(-) commit d1cdae90a03a9f54c9b4ba6c9543e552e568e13a Author: twd20 Date: Fri Mar 6 14:51:41 2009 +0000 Remove the distinction between RowMajor and ColMajor in generic matrix base. BROKEN BROKEN BORKEN BROKEN!! TooN.h | 2 +- internal/allocator.hh | 11 ++ internal/matrix.hh | 5 +- internal/mbase.hh | 258 ++++++++++++------------------------------------- internal/vbase.hh | 16 ++-- test/mat_test.cc | 3 + 6 files changed, 91 insertions(+), 204 deletions(-) commit 46597dfda5025a45c2b77b85d151d1196258374e Author: twd20 Date: Fri Mar 6 13:09:43 2009 +0000 made num_rows and num_cols public within matrix internal/matrix.hh | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit e8ac2695f027615f44706c499c67ee2d064b11ab Author: edrosten Date: Fri Mar 6 12:42:35 2009 +0000 Fix comment and names internal/operators.hh | 18 +++++++++++------- 1 files changed, 11 insertions(+), 7 deletions(-) commit d605f5c9f0ac09bd8bb6dba634a63078cbd76a3e Author: edrosten Date: Fri Mar 6 12:35:25 2009 +0000 Uncomment the scalar operators. All test programs that should compile now compile. internal/operators.hh | 8 ++++---- internal/vector.hh | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) commit f9ae320c9de4b026181ce18478b3bb282e347482 Author: edrosten Date: Fri Mar 6 12:25:24 2009 +0000 More fixes for VBase: test3.cc works. internal/vector.hh | 25 +++++++++++++------------ 1 files changed, 13 insertions(+), 12 deletions(-) commit 3b5ddb3ed0bfb11122efa1ff2b2beea95c264a62 Author: edrosten Date: Fri Mar 6 12:19:52 2009 +0000 Fix new VBase: vec_test.cc sompiles and passes all tests. internal/mbase.hh | 4 ++-- internal/vbase.hh | 12 ++++++------ internal/vector.hh | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) commit 0d6111670dac2c158e8297262e57d29784a0ab83 Author: edrosten Date: Thu Mar 5 16:54:23 2009 +0000 Fix make install Makefile.in | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 568efcf39f48d73b824110938573d9374eef3d60 Author: twd20 Date: Wed Mar 4 14:46:43 2009 +0000 inserted Layout delegate internal/vbase.hh | 48 ++++++++----- internal/vector.hh | 204 ++++++++++++++++++++++++++-------------------------- 2 files changed, 131 insertions(+), 121 deletions(-) commit d16d64804c3e236bdeb8b82b159ec466c28500f8 Author: edrosten Date: Wed Mar 4 13:31:24 2009 +0000 Make .as_row() and .as_col() on dynamic vectors return half-dynamic matrices. internal/vbase.hh | 16 ++++++++-------- 1 files changed, 8 insertions(+), 8 deletions(-) commit b01a410e8489b79f9a9465780c7e2e449078ee19 Author: twd20 Date: Wed Mar 4 12:55:29 2009 +0000 Added backsub for vector and inserted Precision argument into the return Matrix for Matrix backsub LU.h | 32 ++++++++++++++++++-------------- 1 files changed, 18 insertions(+), 14 deletions(-) commit 3b37811d85902e29d6eedaeeae81bdd49a273006 Author: edrosten Date: Fri Feb 27 14:31:02 2009 +0000 Doc fixes. TODO | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 4b5ee357bcc6b0afaa677c028b1a908d23a6ce68 Author: edrosten Date: Fri Feb 27 14:28:08 2009 +0000 Added missing file. TODO | 5 +++-- internal/config.hh.in | 12 ++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) commit b090caa38a0c06185345ac6f978eb5557b922042 Author: edrosten Date: Fri Feb 27 12:46:55 2009 +0000 Fixed matrix multiplication (actually, a bug in taking a row of a dynamic matrix). Also, simplified lutest, since multiplication now works properly. internal/mbase.hh | 17 +++++++++-------- test/lutest.cc | 8 +++----- 2 files changed, 12 insertions(+), 13 deletions(-) commit 72c43a36743092e49c01b881191179bfcfe92c85 Author: edrosten Date: Fri Feb 27 09:45:47 2009 +0000 There would appear to be bugs in matrix * matrix. test/mmult_test.cc | 41 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-) commit e7079a06fae84e57e6ae18292ef945bc12bf7ef6 Author: edrosten Date: Thu Feb 26 21:50:13 2009 +0000 Fixed LU to work in new TooN. Works for float and double. Only a single implementation is now required, covering static and dynamic, and only a single instance of backsub is needed for all types of matrix, to its about 40% of the length of the old version. WARNING WARNING WARNING There's a bug somewhere so Matrix*Matrix doesn't work for some mixes of static and dynamic. LU.h | 315 ++++++++++---------------------------------------------- lapack.h | 35 +++++-- test/lutest.cc | 36 +++++++ 3 files changed, 118 insertions(+), 268 deletions(-) commit c831d57f44354db88277616000184f4f71f0b45d Author: edrosten Date: Thu Feb 26 21:44:08 2009 +0000 Typo internal/matrix.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit e424fb8aa7c989f8228f54fc6736a92241716519 Author: edrosten Date: Tue Feb 24 18:16:11 2009 +0000 Improvement to matrix base: .T() on a normal matrix does not need to introduce an extra member to hold the stride. internal/mbase.hh | 16 ++++++++-------- test/mat_test.cc | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) commit 356e754ab6df513038bb8202f7e6de327dc0f915 Author: edrosten Date: Tue Feb 24 17:47:51 2009 +0000 Half dynamic matrices. These follow the usual TooN convention that -1 is a dynamic size. A 10 by static 6 matrix is declared as follows: Matrix<-1,6> m(10,6); Note, both arguments to the construtor are required, but the compiler will simply ignore the argument referring to the static dimension. Very lightly tested. internal/allocator.hh | 99 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 99 insertions(+), 0 deletions(-) commit 61a8429017fc6e3fdfc347783ad9a85b3949b538 (tag: refs/tags/TOON_2_0_BETA_1) Author: edrosten Date: Wed Feb 18 20:29:10 2009 +0000 .as_row() and .as_col() TODO | 2 +- TooN.h | 4 ++++ internal/vbase.hh | 16 ++++++++++++++++ test/test3.cc | 3 +++ 4 files changed, 24 insertions(+), 1 deletions(-) commit eac160fddf65758671ab481bd5f35ef62984ec94 Author: edrosten Date: Wed Feb 18 20:02:38 2009 +0000 matrix * matrix Fix up AddType, etc so they don't call the default constructor of the type types. For some reason the broken ones aren't rejected by SFINAE. TODO | 4 +++- internal/operators.hh | 42 +++++++++++++++++++++++++++++++++--------- test/test3.cc | 14 +++++++++++++- 3 files changed, 49 insertions(+), 11 deletions(-) commit c03fbc4eaf768ce32e8a77d2916e7f96c439ee04 Author: edrosten Date: Wed Feb 18 18:48:17 2009 +0000 More matrix operators. Missing * internal/allocator.hh | 5 ++++ internal/operators.hh | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ test/test3.cc | 3 ++ 3 files changed, 68 insertions(+), 0 deletions(-) commit baab494e42b1519a0548bc7a706bd576e9a8b203 Author: edrosten Date: Wed Feb 18 18:10:37 2009 +0000 Basic ?= operators for Matrix. Really basic entries in helpers.h helpers.h | 514 ++-------------------------------------------------- internal/matrix.hh | 121 ++++++++++++- test/test3.cc | 29 +++ 3 files changed, 165 insertions(+), 499 deletions(-) commit 2f24d02bc452c72aa5510185ea5e86257c9522dc Author: edrosten Date: Wed Feb 18 16:49:09 2009 +0000 Removed copy constructor: the default is now sufficient. internal/vector.hh | 18 ++++++++---------- 1 files changed, 8 insertions(+), 10 deletions(-) commit 615fdc6efbc0e9eba132ead37b1eb70d9fbf2de5 Author: edrosten Date: Wed Feb 18 16:46:59 2009 +0000 Remove spurious instrumentation code. internal/vector.hh | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit 91465db3caf62111825d92aee30d508ceaa079ca Author: edrosten Date: Wed Feb 18 16:46:28 2009 +0000 Make copy constructors copy data, if there is data to copy and it is not done automatically. The copying is done in allocator.hh, since it is known only at this level whether it is data or references that should be copied. Instrumenting Vector's copy constructor shows that RVO eliminates all copy constructors in test2.cc except for the one in "make_a_copy_constructor_happen" internal/allocator.hh | 34 ++++++++++++++++++++++++++++------ internal/vector.hh | 14 ++++++++++---- test/test2.cc | 9 +++++++++ 3 files changed, 47 insertions(+), 10 deletions(-) commit 6d34202720c73e28d66df71393bcbea49ad1b6f9 Author: edrosten Date: Wed Feb 18 14:27:57 2009 +0000 Complete (?) set of operators for Vector. +,-,*,/,+=, *=, -=, /= for scalars. *,+,-,+=,-= for vectors internal/operators.hh | 118 +++++++++++++++++++++++++++++++++++++++++-------- internal/vector.hh | 19 +++++++- test/test2.cc | 2 +- 3 files changed, 116 insertions(+), 23 deletions(-) commit 4a5f399e8291b3f2f46ab78424b5f423f01947ef Author: edrosten Date: Tue Feb 17 17:16:27 2009 +0000 Missing file internal/builtin_typeof.h | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) commit 2947783a46876bd9f44ee9cd6159ea3c4bc92034 Author: edrosten Date: Tue Feb 17 17:11:07 2009 +0000 Update operators to use results of expressions as the return type. configure detects the presence of decltype, typeof, __typeof__ or boost to facilitate this, and falls back on a simple implementation for obvious numeric types if none of these are present. The type deduction has to go via classes such as: template struct AddType { typedef TOON_TYPEOF((L()+R())) type; }; Because using constructs such as: // Addition Vector + Vector template Vector operator+(const Vector& v1, const Vector& v2) { typedef TOON_TYPEOF(P1()+P2()) restype; return Vector(v1, v2, Operator >()); } causes the following error: TooN/test/test2.cc:15: sorry, unimplemented: mangling typeof, use decltype instead or TooN/test/test2.cc:15: sorry, unimplemented: call_expr cannot be mangled due to a defect in the C++ ABI or TooN/test/test2.cc:16: internal compiler error: in write_type, at cp/mangle.c:1649 Please submit a full bug report, with preprocessed source if appropriate. Makefile.in | 3 + TooN.h | 3 + configure | 1024 +++++++++++++++++++++++++++++++++++++++++++++++-- configure.ac | 43 ++ internal/operators.hh | 22 +- internal/typeof.hh | 18 + make_typeof.awk | 24 ++ test/test2.cc | 7 + 8 files changed, 1102 insertions(+), 42 deletions(-) commit b28dce7bb64fde87d596e3657a9dddd9372fce22 Author: edrosten Date: Tue Feb 17 13:53:07 2009 +0000 Moved other ?= operators inside Vector internal/operators.hh | 36 ------------------------------------ internal/vector.hh | 25 +++++++++++++++++++++++-- 2 files changed, 23 insertions(+), 38 deletions(-) commit 5bb051605cc6f6fcce7fe553f523215a485e9f9c Author: edrosten Date: Tue Feb 17 13:47:30 2009 +0000 Move operator/= to inside Vector. This allows for: v.slice<>() /= 2; Otherwise, it requires a temporary (the result of .slice()) to be passed as a non-const reference to operator/=(Vector&, double), which is disallowed in C++. internal/operators.hh | 10 ---------- internal/vector.hh | 9 +++++++++ test/test2.cc | 3 ++- 3 files changed, 11 insertions(+), 11 deletions(-) commit e0562fcf08471ee6f9bcba2ef156ec17a9645930 Author: edrosten Date: Tue Feb 17 13:40:31 2009 +0000 First operator seems to work. Vectors can now be added. Vector is responsible for passing size on to VBase. internal/allocator.hh | 7 +++++++ internal/operators.hh | 31 +++++++++++++++++++++++++++++++ internal/vector.hh | 7 +++---- test/test2.cc | 15 +++++++++++++++ 4 files changed, 56 insertions(+), 4 deletions(-) commit 905c0878d1251bc0af1519223182e61db03b8a69 Author: edrosten Date: Tue Feb 17 13:39:07 2009 +0000 Fixed very silly indexing bug. internal/make_vector.hh | 930 +++++++++++++++++++++++----------------------- make_make_vector.awk | 2 +- 2 files changed, 466 insertions(+), 466 deletions(-) commit a7cea39eca908cd6ab9a43ad72780b5e338c7df3 Author: edrosten Date: Wed Feb 11 18:04:25 2009 +0000 Bounds and slice checking. TODO | 4 ---- internal/mbase.hh | 20 ++++++++++++++++++++ internal/slice_error.hh | 31 +++++++++++++++++++++---------- internal/vbase.hh | 7 +++++++ test/vec_test.cc | 34 ++++++++++++++++++++++++++++++++++ 5 files changed, 82 insertions(+), 14 deletions(-) commit 1c878b281728dbef38d132735614b7b7d9318342 Author: edrosten Date: Wed Feb 11 14:12:06 2009 +0000 Const accessors. TODO | 3 --- internal/mbase.hh | 36 ++++++++++++++++++++++++++++++++++++ internal/vbase.hh | 10 ++++++++++ test/mat_test.cc | 11 +++++++++-- 4 files changed, 55 insertions(+), 5 deletions(-) commit ee483de2b43af45d49130760fc41c2722232d820 Author: twd20 Date: Tue Feb 10 14:35:24 2009 +0000 comment added internal/vbase.hh | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 8e54bd273378777310d9b4747f893d1ab5ec364f Author: edrosten Date: Tue Feb 10 13:44:51 2009 +0000 update todo list. TODO | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit 8f10dac7c6fa61c36759b0bd9d163a5aacff39bb Author: twd20 Date: Tue Feb 10 12:22:31 2009 +0000 comment typo internal/vbase.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit e56636983ac2ed58987a86298001689a3f6d8e4b Author: twd20 Date: Tue Feb 10 12:19:54 2009 +0000 removed superfluous class - SliceHolder internal/allocator.hh | 12 ------------ 1 files changed, 0 insertions(+), 12 deletions(-) commit 9f9b25a52177b6514a9c7cf87bcea4a1747aa6f3 Author: edrosten Date: Tue Feb 10 10:35:06 2009 +0000 Simplify SliceHolder, and make classes derive from sliceholder, rather than having it as a member. This prevents any space being allocated when nonw is needed. The output of the following program is: 80 84 80 #include using namespace std; struct nothing{}; struct base{ double d[10]; }; struct derived: public base{ nothing n; }; struct derived2: public base, public nothing{ }; int main() { cout << sizeof(base) << endl; cout << sizeof(derived) << endl; cout << sizeof(derived2) << endl; } internal/allocator.hh | 27 ++++++++++++++++++ internal/mbase.hh | 71 +++++++++--------------------------------------- internal/vbase.hh | 36 +++---------------------- 3 files changed, 45 insertions(+), 89 deletions(-) commit fc4d236d8137d9b9d5238e5159477a570af3b6b8 Author: edrosten Date: Mon Feb 9 14:26:37 2009 +0000 Cleaned up dead code. TODO | 4 ++ TooN.h | 4 ++- internal/allocator.hh | 20 ------------ internal/membase.hh | 80 ------------------------------------------------- membase.hh | 60 ------------------------------------ 5 files changed, 7 insertions(+), 161 deletions(-) commit 36b938ea22f4ae64db648a154d198f557a707c78 Author: edrosten Date: Sun Feb 8 19:18:57 2009 +0000 Rewrote vector in the style of matrix. This also simplifies operator[] for matrix since the impedance mismatch between the classes is now gone. Bounds checking is not yet implemented. vec_test.cc compiles. Completely untested runtime operation. TODO | 2 +- internal/allocator.hh | 51 ++++++ internal/mbase.hh | 102 +---------- internal/vbase.hh | 449 +++++++++---------------------------------------- internal/vector.hh | 44 +----- 5 files changed, 147 insertions(+), 501 deletions(-) commit 0593e27691a9a1bdb3ccffbef97817be029cb474 Author: edrosten Date: Sat Feb 7 18:49:02 2009 +0000 ColMajor and .T() implemented. test/mat_test.cc now compiles and runs correctly. TODO | 2 +- internal/allocator.hh | 4 +- internal/mbase.hh | 274 ++++++++++++++++++++++++++++++++++++++++++------ internal/vbase.hh | 6 +- test/mat_test.cc | 2 +- 5 files changed, 246 insertions(+), 42 deletions(-) commit 86c9b39b9709dea9f635820f4c65864999ed3f1c Author: edrosten Date: Sat Feb 7 15:42:04 2009 +0000 To do list. TODO | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) commit 8b85d9d5df933fbdf5869f1ef383fc82338d2843 Author: edrosten Date: Sat Feb 7 15:36:46 2009 +0000 Rearrangement of files, and remove dead files. TooN.h | 2 +- internal/operators.hh | 94 ++++++++++++++++++++++++++++++++ matrix.h | 87 ------------------------------ mclasses.hh | 143 ------------------------------------------------- operators.h | 94 -------------------------------- 5 files changed, 95 insertions(+), 325 deletions(-) commit 18258a2f886e052b3554e627d015586cac5be7b4 Author: edrosten Date: Sat Feb 7 15:32:56 2009 +0000 Matrix now takes a class with a member template, as opposed to a template directly, so it is much nicer to write user functions accepting Matrix. Now it is: template void do_something(Matrix<2,2,double,B> m); internal/matrix.hh | 14 +++++----- internal/mbase.hh | 74 ++++++++++++++++++++++++++++------------------------ operators.h | 2 +- test/mat_test2.cc | 4 +- 4 files changed, 50 insertions(+), 44 deletions(-) commit 97b2ebd8df0ea54406d48161ebb59c8813299c1e Author: edrosten Date: Sat Feb 7 15:16:54 2009 +0000 All combinations of static and dynamic slicing on static and dynamic matrices compile. internal/allocator.hh | 4 +- internal/matrix.hh | 2 + internal/mbase.hh | 5 +++- test/mat_test2.cc | 56 ++++++++++++++++++++++++++++++------------------ 4 files changed, 43 insertions(+), 24 deletions(-) commit 5cab37c3e97061d4763373ed2caaf0596ebf9557 Author: edrosten Date: Sat Feb 7 13:32:24 2009 +0000 Dynamic matrix working. test/mat_test2.cc compiles (static slices of dynamic matrices). internal/allocator.hh | 8 ++++---- internal/matrix.hh | 5 +++++ internal/mbase.hh | 26 +++++++++++++------------- test/mat_test2.cc | 43 ++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 64 insertions(+), 18 deletions(-) commit 46b9f6987841849d927d47e3d36bbf30b179a0fb Author: edrosten Date: Sat Feb 7 12:17:52 2009 +0000 Reimlementation of RowMajor, and temporary removal of ColMajor. This time, there is a single implementation of ColMajor for static, dynamic, normal and sliced matrices. Currently only static works, and test/mat_test2.cc compiles and produces the correct output. The general principle behind this version is to pass around metadata at run time in cases it is needed, and then ignore it if it is not. internal/allocator.hh | 93 ++++++++++++++++++++ internal/matrix.hh | 8 ++- internal/mbase.hh | 223 ++++++++++++++++++++++++++++--------------------- test/mat_test2.cc | 36 ++++++++ 4 files changed, 264 insertions(+), 96 deletions(-) commit 16bd39ee82cb3466b1f14edb665303eab7cc4738 Author: edrosten Date: Tue Feb 3 18:04:30 2009 +0000 Refactor mbase to remove duplicate code. TooN.h | 1 + internal/allocator.hh | 12 ++ internal/matrix.hh | 2 +- internal/mbase.hh | 300 +++++++++++++++++++++---------------------------- 4 files changed, 141 insertions(+), 174 deletions(-) commit 94ab05f158c52aae9da848577f3d2546153bfb5e Author: twd20 Date: Fri Jan 30 14:51:23 2009 +0000 Fixed up membase to be suitable for matrices internal/membase.hh | 33 +++++++++++++++++++++++++++------ 1 files changed, 27 insertions(+), 6 deletions(-) commit 61fa42dbfd8a2ac8f17dbee5a4687a5e612119ed Author: twd20 Date: Tue Jan 27 12:01:51 2009 +0000 adding my memory management structure internal/membase.hh | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 59 insertions(+), 0 deletions(-) commit 000c18bd17c95fb17b9517c819c5dd0a82212220 Author: edrosten Date: Tue Jan 27 10:55:53 2009 +0000 ColMajor and transpose implemented for static matrices. internal/matrix.hh | 22 ++++--- internal/mbase.hh | 172 ++++++++++++++++++++++++++++++++++++++++++--------- test/mat_test.cc | 48 ++++++++++++--- 3 files changed, 192 insertions(+), 50 deletions(-) commit 9438636126c9800117aa63ae88e1ebe2e47ebe5f Author: edrosten Date: Mon Jan 26 18:45:18 2009 +0000 Test programs now compile with no warnings with -Wall -Wextra internal/debug.hh | 12 +++++++----- internal/size_mismatch.hh | 2 +- internal/vbase.hh | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) commit f30ea57403be7172947d0cb6625efe7fb6d758b9 Author: edrosten Date: Mon Jan 26 18:41:42 2009 +0000 Very rickety version of Matrix. Currently, static slices of static matrices work. test/mat_test.cc compiles and runs. TooN.h | 11 +++++- internal/allocator.hh | 56 ++++++++++++++++++++++++++++ internal/matrix.hh | 18 +++++++++ internal/mbase.hh | 97 +++++++++++++++++++++++++++++++++++++++++++++++++ operators.h | 17 +++++++++ test/mat_test.cc | 24 ++++++++++++ 6 files changed, 222 insertions(+), 1 deletions(-) commit 9d20bfcf6b2d1ea6cb52faabb6dc01a75afb6c99 Author: edrosten Date: Tue Jan 13 15:06:52 2009 +0000 Added makeVector function from 1--30 arguments. test/make_vector.cc should just be compiled to asm. With g++ 4.3.1 and -O3, the asm cood looks as efficient as is should be. Makefile.in | 3 + TooN.h | 1 + internal/make_vector.hh | 587 +++++++++++++++++++++++++++++++++++++++++++++++ make_make_vector.awk | 21 ++ test/make_vector.cc | 12 + 5 files changed, 624 insertions(+), 0 deletions(-) commit c059df2d429cec29106f059b0c02f07bdbd9d6c3 Author: edrosten Date: Tue Jan 13 13:31:32 2009 +0000 More tests. Fix some slicing bugs. internal/slice_error.hh | 4 +- test/vec_test.cc | 86 ++++++++++++++++++++++++++++++++-------------- 2 files changed, 62 insertions(+), 28 deletions(-) commit 79d57e085052e14cb4b1112f47dab52529a0c383 Author: edrosten Date: Tue Jan 13 12:25:07 2009 +0000 Better testing. test/vec_test.cc | 89 +++++++++++++++++++++++++++++++----------------------- 1 files changed, 51 insertions(+), 38 deletions(-) commit 66bfc1874be4c667ab32430d09b54ffdd6b3f0a8 Author: edrosten Date: Tue Jan 13 11:58:49 2009 +0000 Slice are now in error if Start <0. This is statically checked where possible on dynamic vectors. internal/slice_error.hh | 16 +++++++++------- internal/vbase.hh | 4 ++-- 2 files changed, 11 insertions(+), 9 deletions(-) commit a38036fd5328193555f8d60e7a26ceea8546d975 Author: edrosten Date: Tue Jan 13 10:44:44 2009 +0000 Basic test program. Results: Test OK on line 25 Test OK on line 31 Test FAILED on line 37. Expected StaticSliceError, got nothing. Test OK on line 46 Test OK on line 52 Test FAILED on line 58. Expected SliceError, got nothing. Test OK on line 67 Test OK on line 73 Test FAILED on line 79. Expected StaticSliceError, got nothing. TooN.h | 1 + internal/vbase.hh | 1 - test/vec_test.cc | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 95 insertions(+), 1 deletions(-) commit 4c053b635cb4bd20418600a2a1fe9370ec8b7b97 Author: twd20 Date: Sat Jan 10 19:46:24 2009 +0000 split vbase.hh from vector.hh and inserted some documentation to show what vector bases are expected to provide. internal/vbase.hh | 394 ++++++++++++++++++++++++++++++++++++++++++++++++++++ internal/vector.hh | 360 ----------------------------------------------- 2 files changed, 394 insertions(+), 360 deletions(-) commit 46f58d41425af22a1c77e2d9422b7965a0d35b87 Author: edrosten Date: Fri Jan 9 16:23:43 2009 +0000 Moved size_assert to size_mismatch for better error messages. Added internals testing, with TOON_TEST_INTERNALS defined. This throws, instead of aborting, including on compile-time errors. This allows for handy test programs. TooN.h | 14 +++++++++- internal/debug.hh | 15 +++++++--- internal/size_assert.hh | 44 ------------------------------ internal/size_mismatch.hh | 66 +++++++++++++++++++++++++++++++++++++++++++++ internal/slice_error.hh | 17 ++++++++++- 5 files changed, 105 insertions(+), 51 deletions(-) commit 0d5310e294313a1ad8a8ada54ffe249002c7e4ce Author: edrosten Date: Fri Jan 9 15:44:24 2009 +0000 Complete set of slices. internal/vector.hh | 37 ++++++++++++++++++++++++++++++++++++- 1 files changed, 36 insertions(+), 1 deletions(-) commit e41587ac5f97594528b6150d9253aa14b14e7af7 Author: edrosten Date: Fri Jan 9 15:40:22 2009 +0000 Added slices to SVBase internal/vector.hh | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) commit 09bde448cb2af8d0586ca3b4d0e03ba7794fea68 Author: edrosten Date: Fri Jan 9 15:29:23 2009 +0000 More bounds checking. internal/vector.hh | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) commit 71fae3cdc962e6bef6fd1e3d8905a19f5f420756 Author: edrosten Date: Fri Jan 9 15:21:49 2009 +0000 Added some more bounds checking/slice checking internal/vector.hh | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit cb35f141b30503584e94b0f550f4f5652021a607 Author: edrosten Date: Fri Jan 9 15:11:50 2009 +0000 Added some missing Precision bits. Added some more slice bits. internal/vector.hh | 47 ++++++++++++++++++++++++++++++++--------------- 1 files changed, 32 insertions(+), 15 deletions(-) commit 7b4fd0becbe6f221c05ae8e49c93fd1ff4e37434 Author: twd20 Date: Fri Jan 9 14:45:01 2009 +0000 inserted arbitrary precision for vectors internal/vector.hh | 220 +++++++++++++++++++++++++++++----------------------- operators.h | 30 ++++--- 2 files changed, 140 insertions(+), 110 deletions(-) commit 0cb0a292a18569c43d5c0bebffee1c7ce7da5d3c Author: edrosten Date: Fri Jan 9 14:24:02 2009 +0000 Minor rearrangement: files not intended for direct inclusion now movet to internal/ and named .hh Remove stride from SDVbase. Removed delete[] from SDVBase. Added in some bounds checking. Added in some slicing, with static slice checking. The splitting up of the slice checking in to s different include file gives slightly nicer error messages with gcc, since the file name appears in the first column: ./TooN/internal/slice_error.hh: In static member function 'static void TooN::Internal::CheckSlice::check() [with int Size = 3, int Start = 1, int Length = 2]': ./TooN/internal/vector.hh:61: instantiated from 'TooN::Vector > TooN::VBase::slice() [with int Start = 1, int Length = 2, int Size = 3]' TooN/test/vec_test.cc:22: instantiated from here ./TooN/internal/slice_error.hh:16: error: incomplete type 'TooN::Internal::BadSlice<3, true>' used in nested name specifier TooN.h | 12 ++- internal/debug.hh | 13 ++ internal/size_assert.hh | 44 ++++++ internal/slice_error.hh | 35 +++++ internal/vector.hh | 365 +++++++++++++++++++++++++++++++++++++++++++++++ size_assert.h | 45 ------ vector.h | 344 -------------------------------------------- 7 files changed, 467 insertions(+), 391 deletions(-) commit 0c8e05e74a04bb527fcfa7a2cfa8e947911b39ce Author: edrosten Date: Thu Jan 8 11:33:18 2009 +0000 Include guards on TooN.h. TooN.h | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) commit fbe2c0de5e8512ab7cd6d9f0a6a84c87898790b0 Author: twd20 Date: Wed Jan 7 14:23:52 2009 +0000 *very* partial TooN2 classes. Vector nearly complete. Matrix just being shaped TooN.h | 220 +------------------------------------ matrix.h | 87 +++++++++++++++ operators.h | 71 ++++++++++++ size_assert.h | 45 ++++++++ vector.h | 344 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 550 insertions(+), 217 deletions(-) commit 141a7ead1c7cff8a798cfcecf7857cd3def4c47f Author: twd20 Date: Wed Jan 7 14:20:40 2009 +0000 Clean out old toon code ready for insertion of new toon2 code accessorexceptions.hh | 36 -- blasoperators.hh | 64 --- linoperators.hh | 1232 ------------------------------------------------- maccessor.debug.hh | 475 ------------------- maccessor.hh | 637 ------------------------- mbase.hh | 140 ------ numerics.h | 23 - numhelpers.h | 21 - vaccessor.hh | 457 ------------------ vbase.hh | 187 -------- vclasses.hh | 158 ------- vmagic.hh | 107 ----- 12 files changed, 0 insertions(+), 3537 deletions(-) commit 02883ad2fcccdeafdd3f11a0d5171d1c3c276787 Author: edrosten Date: Tue Dec 2 12:18:56 2008 +0000 Try to put casual users off from using this branch of TooN for the time being README.HELP_IT_IS_BROKEN | 15 + configure | 2230 ++++++++++++++++++++++++++++------------------ configure.ac | 32 + 3 files changed, 1426 insertions(+), 851 deletions(-) commit c6c37a59bfa2d9379e315def2b7d755a24fde443 (tag: refs/tags/Maintenance_Branch_1_x_Root) Author: gerhard Date: Wed Nov 5 13:24:23 2008 +0000 added convenience transform functions that also return jacobians (similar to SE3) so3.h | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-) commit 0a305feb57a21dc6bc53a861f676db91a15aa918 (tag: refs/tags/SNAPSHOT_20081127) Author: gerhard Date: Sat Aug 16 17:13:49 2008 +0000 make accessor const (it returns a copy anyway) - this is what I wanted so3.h | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) commit 2f52aace350b883bb624f18e80d9aa41ee606bea Author: gerhard Date: Sat Aug 16 17:05:01 2008 +0000 make accessor const (it returns a copy anyway) so3.h | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-) commit 33592c6ff84cfc93e402d64e0eecb4d2744fc0a1 Author: edrosten Date: Fri Aug 1 20:37:01 2008 +0000 Comment out parameters to remove "unused parameter" warnings Cholesky.h | 12 ++++++------ util.h | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) commit 4d1019acb5d0409d9d9f31afe8841126c7c81c62 (tag: refs/tags/SNAPSHOT_20080725) Author: edrosten Date: Thu Jul 24 21:34:27 2008 +0000 Added some more missing operators. Is there a better way to do it than this? linoperators.hh | 188 ++++++++++++++++++++++++------------------------------- 1 files changed, 83 insertions(+), 105 deletions(-) commit 3509ebd344c3480af5d45cfa51f4cb8acd4228cd Author: edrosten Date: Thu Jul 24 19:46:41 2008 +0000 Operatror += for RefSkipMatrixRM, which makes a copy of the reference. This has to be done since the RefSkipMatrixRM from .slice() is a temporary can only be used as a const& or copied. For mutating operations like +=, a copy has to be used. The earlier permissivity of gcc allowed to code to get away without this. linoperators.hh | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) commit 683b595c547ed7b39e2df545f4ba4e59db58f373 Author: gerhard Date: Mon Jul 7 13:06:04 2008 +0000 another type combination for transformCovarianceUpper helpers.h | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) commit 5b940d9ac2d1bafb5bd87374323103cbad4e5628 Author: ethaneade Date: Mon Jun 30 17:58:25 2008 +0000 Added standalone functions to compute transformations and their Jacobians with euclidean and inverse-depth points. se3.h | 396 ++++++++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 244 insertions(+), 152 deletions(-) commit 921a445e985a9a37f82bf868529c2d059b621b9f Author: ethaneade Date: Mon Jun 30 13:36:10 2008 +0000 Added makeVector for dimensions 1-6. This allows simpler use for common cases than using make_Vector and the vector magic stuff. Also added specialized normalize function for fixed-size vectors. helpers.h | 18 ++++++++++++++---- 1 files changed, 14 insertions(+), 4 deletions(-) commit 112830d2bf52465f8245d1a4daa2b35e8306eba8 Author: gerhard Date: Thu May 29 16:33:08 2008 +0000 explicit template parameters for Visual Studio gaussian_elimination.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 7d28b2973cf99ebcec0323471fe1d3fb499d0aa1 Author: ethaneade Date: Mon Mar 31 14:26:10 2008 +0000 Added unit(v), norm_sq(v), 2x2 determinant, 2x2 inverse, subtract_product(M,v,v), subtract_product(M,M,M), trace(M), dynamic zeros matrix. helpers.h | 51 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 50 insertions(+), 1 deletions(-) commit a78deff037e8f8e591c5a4e54f850372878c240b Author: ethaneade Date: Mon Mar 31 13:58:39 2008 +0000 Standard implementation of gaussian elimination, for solving one-off Ax=b problems, where A is a nonsingular square matrix and x and b are either matrices or vectors. This is faster than using LU when you are solving using A only once, and doesn't need to call LAPACK. gaussian_elimination.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 66 insertions(+), 0 deletions(-) commit ee7fb054c9e3888eec0619a9e1eabbebf8e8f649 Author: edrosten Date: Wed Mar 5 04:53:19 2008 +0000 Fix make install Makefile.in | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit bb989380c97166c661fe1d5a158f09b2345d84da Author: georgklein Date: Sat Mar 1 18:57:32 2008 +0000 Added extend(Vector), which does the same as unproject(Vector), only it adds a zero instead of a one. (An alternative would have been to change unproject(Vector) to unproject(Vector, double=1.0) - anyone feel strongly about this?) helpers.h | 33 +++++++++++++++++++++++++++++++++ 1 files changed, 33 insertions(+), 0 deletions(-) commit dfe8dfe859078d25133c07dcc82a18fb9f018767 Author: ethaneade Date: Fri Feb 22 16:01:53 2008 +0000 Added specialization for SymEigen<2> which does not use LAPACK, but yields the same results. SymEigen.h | 80 +++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 58 insertions(+), 22 deletions(-) commit db37e3d6d98e09b95f555df3dc82335201adf3ce Author: georgklein Date: Thu Jan 24 15:07:41 2008 +0000 Make operator!= for vectors work linoperators.hh | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-) commit c6844188ff0335ac2a54dde8a252942dd6798cee Author: gerhard Date: Wed Dec 12 15:59:43 2007 +0000 small cleanups to make TooN work with Visual Studio 2005 TooN.h | 7 +++++-- linoperators.hh | 3 --- maccessor.hh | 32 ++++++++++++++++++++------------ mbase.hh | 8 ++++---- mclasses.hh | 6 ++---- membase.hh | 4 ++++ vaccessor.hh | 2 +- vbase.hh | 11 +++++++---- vclasses.hh | 2 -- 9 files changed, 43 insertions(+), 32 deletions(-) commit 5bd4c73b1eae007a1757733b1afcc2e0203fe301 Author: ccs36 Date: Mon Nov 19 14:15:05 2007 +0000 Remove spurious ';' (was generating error). helpers.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit d9c5d74564b7cc1e0fb00f07fca60e0f6c09d182 Author: qpan Date: Wed Oct 31 17:49:57 2007 +0000 added header for Zero and Identity wls_cholesky.h | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) commit d620d7aa0b8e46a84745cbdc63ee4b10e90622d2 Author: edrosten Date: Tue Oct 23 21:36:02 2007 +0000 Downhill simplex optimization. optimization/downhill_simplex.h | 304 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 304 insertions(+), 0 deletions(-) commit 74744f489522adfae3d62c01a464d485a91191e5 Author: edrosten Date: Tue Oct 23 21:35:46 2007 +0000 Downhill Simplex optimization. doc/Doxyfile | 4 ++-- doc/documentation.h | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) commit d4dccebf02a06745927de86e3245d942077a6dce Author: edrosten Date: Wed Oct 17 00:13:07 2007 +0000 Make Matrix<> += Matrix<> work. I should have done something with vaccessors, but I can't figure it out. linoperators.hh | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 079f29609c2fb896db98833c5691749f44933e89 Author: gerhard Date: Wed Oct 10 11:33:05 2007 +0000 lapack defines with const char * to avoid warnings when using with constant strings lapack.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit d268fe66119209d08030d0de4ae674e5158fd680 Author: gerhard Date: Thu Sep 27 13:32:29 2007 +0000 added casts to self again, to allow code like m[0] *= 2 to work again. Such code requires an l-value reference to the temporary row vector to be passed to the *= operator mbase.hh | 2 ++ vbase.hh | 2 ++ 2 files changed, 4 insertions(+), 0 deletions(-) commit ea24856504fc4085a8b9a90f7590e2b5f6f41e63 Author: edrosten Date: Tue Sep 4 23:16:46 2007 +0000 Remove casts to self mbase.hh | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) commit fd8fc9b628fbbf2d8da35c95e0dc5cd61987b9dc Author: edrosten Date: Tue Sep 4 23:15:55 2007 +0000 Remove casts to same type. vbase.hh | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) commit 43c75e0577678430265cfc27a5e648b7f2f3073b (tag: refs/tags/RELEASE_20070823) Author: gerhard Date: Thu Aug 23 16:19:14 2007 +0000 all operations returned fixed objects now whereever possible linoperators.hh | 74 ++++++++++++++++++++++++++++++------------------------ 1 files changed, 41 insertions(+), 33 deletions(-) commit e893aa6a2e96c80277e794e0ef4399939228b762 Author: georgklein Date: Wed Aug 22 14:17:15 2007 +0000 Added SE2/SO2, made mostly be copying the stuff from SE3/SO3. Exp, ln, multiplication and adjoint seem to work, much of the rest is pretty untested. se2.h | 334 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ so2.h | 167 ++++++++++++++++++++++++++++++++ 2 files changed, 501 insertions(+), 0 deletions(-) commit 060ba625071ff5be60092a3d6e862afc262b005a Author: edrosten Date: Wed Aug 15 02:04:56 2007 +0000 __attribute__ ((depracated)) doesn't work on gcc 3.2 Cholesky.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 852b894d02a1647725c0d494d1aff77453a477f0 Author: ethaneade Date: Sun Jul 22 02:02:17 2007 +0000 Updated SO3::exp and SE3::exp to use a more direct application of the Rodrigues formula. Via careful use of Taylor expansions, this provides at least as much precision in all magnitudes of theta, while being 1.5 to 2 times as fast. Also added derivative-computing and inverse depth member functions to SE3: transform(x) // Map cartesian point x through the SE3, returning the cartesian result. transform_uvq(uvq) // Map inverse depth point uvq through the SE3, returning the inverse depth result. transform(x, J_x, J_pose) // Map cartesian point x through the transformation, returning the cartesian result, and filling the Jacobians J_x and J_pose. transform_and_project(x, J_x, J_pose) // Map cartesian point x through the SE3, perspective-project the result and return the resulting (u,v) coordinates, and fill the Jacobians. transform_and_project_uvq(uvq, J_uvq, J_pose) // Map inverse depth point uvq through the SE3, then perspective-project the result (in this case truncate the resulting vector to two elements) and return the resulting (u,v) coordinates, and fill the Jacobians. The J_x or J_uvq Jacobians have 3 columns, and represent the change in the output as the input point (x or uvq) changes. The J_pose Jacobians have 6 columns, and represent the change in the output as the SE3 parameters change. The translation parameters correspond to the first three columns, and the rotation parameters to the last three. All derivatives are done assuming standard left multiplication of the SE3 by exp(delta), where delta is an element of the tangent space (a six vector). se3.h | 127 ++++++++++++++++++++++++++++++++++++++++++++++--------- so3.h | 151 ++++++++++++++++++++++++----------------------------------------- 2 files changed, 162 insertions(+), 116 deletions(-) commit 0c3638e85290be23867743bb181b558263adf065 Author: twd20 Date: Thu Jul 19 11:22:34 2007 +0000 fixed template issues that have arisen with newer better compilers irls.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 6ea4816f9f7ccff654a2b18ef75536adc94ec2f4 Author: gerhard Date: Wed Jun 20 18:42:13 2007 +0000 removed dynamic vector temporary where fixed is possible linoperators.hh | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit a45f45651d2839c3756f8eb1d040a97f88ab511a Author: edrosten Date: Thu Jun 14 03:19:00 2007 +0000 == and != for Vector<> linoperators.hh | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 83 insertions(+), 0 deletions(-) commit 6689ed385577de4820a07bb6a8322568fedeb79d Author: gerhard Date: Tue Jun 12 18:29:53 2007 +0000 more combinations of fixed and dynamic matrices for transformCovariance helpers.h | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 42 insertions(+), 1 deletions(-) commit b07f131ac2bdb18c1ea94a40a06322e13a17fe37 Author: edrosten Date: Mon May 21 19:19:14 2007 +0000 Removed exp(double*) method. so3.h | 6 ------ 1 files changed, 0 insertions(+), 6 deletions(-) commit af4bd7255f6f7179c995f7ed8de8035fa7f6446b Author: edrosten Date: Tue May 15 22:10:55 2007 +0000 Efficiency improvement. so3.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 51eac49cc05929f88b00137550359f500832774c Author: edrosten Date: Tue May 15 16:50:01 2007 +0000 Fixed bug reported by Ville Kyrki so3.h | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 17806e843e3cb5578430dd8002cd1c87a8e390c5 Author: gerhard Date: Mon May 14 21:04:40 2007 +0000 additional versions of various functions with support for DynamicMatrix Cholesky.h | 42 ++++++++++++++++++++++++++++++++++++++++++ helpers.h | 55 +++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 85 insertions(+), 12 deletions(-) commit c35b6f8cb58dd66b121316c22151fd29c19fa8a5 Author: gerhard Date: Fri Apr 6 16:21:32 2007 +0000 added dynamically sized WLSCholesky class wls_cholesky.h | 245 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 244 insertions(+), 1 deletions(-) commit f06e1ab056fd3dc60f7723ef258ed61e1ef22341 Author: georgklein Date: Tue Mar 20 18:57:23 2007 +0000 Ahem linoperators.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 6db446772429b02902eae575ed3b1af678cab3ff Author: jamesloxam Date: Fri Mar 16 19:29:18 2007 +0000 Added get_determinant() function SymEigen.h | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) commit 1011b083c61f9696eda5a8feb51004f03091d9cc Author: twd20 Date: Sun Mar 11 21:47:33 2007 +0000 doc cleaning doc/vectordoc.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit f794dc9a01fe1de830c1811ebe23b8a1b39cb316 Author: twd20 Date: Sun Mar 11 21:26:35 2007 +0000 error in documentation fixed doc/LUdoc.h | 2 +- doc/matrixdoc.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit 42130246225608808300bb9a18176dc300b39d2b Author: twd20 Date: Tue Mar 6 22:47:25 2007 +0000 Choleskydoc.h fixed so that it appears in the list of decompositions doc/Choleskydoc.h | 68 ++++++++++++++++++++++++++++------------------------ 1 files changed, 37 insertions(+), 31 deletions(-) commit a8f6103263408dbcdc41b4a1cf4ef68260f37554 Author: twd20 Date: Tue Mar 6 21:55:10 2007 +0000 LU documentation fixed so it appears in the doxygen web pages doc/LUdoc.h | 51 ++++++++++++++++++++++++++------------------------- 1 files changed, 26 insertions(+), 25 deletions(-) commit 5308a3bc6e58825f43079c740efb4f2d8ca45ba9 Author: twd20 Date: Mon Mar 5 18:11:19 2007 +0000 how to get now properly fixed... doc/documentation.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit d4ca2bdfb98f744f271ab6cec5dd7d4fa5e8e129 Author: twd20 Date: Mon Mar 5 17:53:57 2007 +0000 "how to get" modified to make correct doc/documentation.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 7e499ec285ea9881d92be8c58515506704726f24 Author: gerhard Date: Sun Feb 11 13:20:11 2007 +0000 updated dynamic Cholesky interface with some new methods from fixed Cholesky Cholesky.h | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) commit 0844bf1c76972fbb1b635517a3397f9cebf8bd9b Author: georgklein Date: Tue Jan 30 15:57:11 2007 +0000 Added Fill({Matrix,Vector}, value) which is just like Zero( ) but with a value. helpers.h | 24 +++++++++++++++++++++++- 1 files changed, 23 insertions(+), 1 deletions(-) commit cb1cb622fd5b29d58937c8c40c23080fa5424836 Author: ethaneade Date: Tue Jan 23 21:37:08 2007 +0000 Fixed implementation of Backsub_LT so that things don't break with Cholesky<1>. Thanks to James for pointing out the problem. Cholesky.h | 8 +++----- 1 files changed, 3 insertions(+), 5 deletions(-) commit f21f3da7e7a02750a88cdce9ce867e411c32d28a Author: gerhard Date: Thu Jan 18 15:41:59 2007 +0000 fixed superfluous template keyword util.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit c892c2a076112758e4d90f7b5e3429c063506843 Author: ethaneade Date: Mon Jan 15 18:41:55 2007 +0000 My fix was stupid. It is now unfixed. linoperators.hh | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit ac631f08034d9c6c3af8153a4b2e3ff116847fb4 Author: ethaneade Date: Mon Jan 15 18:29:05 2007 +0000 Some genericizing. util.h | 29 ++++++++++++++++++++--------- 1 files changed, 20 insertions(+), 9 deletions(-) commit d78d31b6b2f365f068a1eba31c0844d92e40886c Author: ethaneade Date: Mon Jan 15 18:19:34 2007 +0000 A few random fixes, but mostly adding empty dummy calls so that gcc-4 won't complain about reinterpret casts at compile time. maccessor.hh | 228 +++++++++++++++++++++++++++++++--------------------------- mbase.hh | 4 + vaccessor.hh | 7 ++- vbase.hh | 4 + vclasses.hh | 6 -- 5 files changed, 135 insertions(+), 114 deletions(-) commit 375dc8b9dd84000dd3dfee619d4adbfd1f37d3cc Author: ethaneade Date: Mon Jan 15 18:04:39 2007 +0000 Fixed dynamic Matrix addition linoperators.hh | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 4d3d0ab73430ee04f5ce091d24649a918acd3566 Author: ethaneade Date: Mon Jan 15 18:04:02 2007 +0000 Added declarations for dynamically-sized Cholesky decomposition LAPACK functions. lapack.h | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) commit ece598476b94943f0ea9f886e69a20878666a073 Author: ethaneade Date: Mon Jan 15 18:03:17 2007 +0000 Added 'add_product' and a couple other helper functions. helpers.h | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 53 insertions(+), 7 deletions(-) commit d50c8a4d0be3f7a789ae3a00c153c4183078c5ac Author: ethaneade Date: Mon Jan 15 18:01:15 2007 +0000 Removed externally generated code for Cholesky. generated.h | 211 +---------------------------------------------------------- 1 files changed, 2 insertions(+), 209 deletions(-) commit 442312d2632fa4b75c848bb5bfa3eb1df51392a9 Author: ethaneade Date: Mon Jan 15 18:00:53 2007 +0000 Cholesky now computes LDL^T instead of LL^T. It is much faster, and preserves the old interface. Any code that used it before should still work, however the get_L() method is deprecated in favor of others. Also added new methods for transforming the inverse. Algorithms for fixed-size matrices are now implemented in compile-time generated code instead of externally generated code. The quality of generated code is identical on gcc-4.1 (the only one I checked). Cholesky.h | 489 +++++++++++++++++++++++++++++++++++------------------ doc/Choleskydoc.h | 168 ++++++++++++++++++ 2 files changed, 493 insertions(+), 164 deletions(-) commit 8befad2ca5468ab80f2fa7526fbe9688ddcbc41a Author: edrosten Date: Tue Dec 5 00:35:36 2006 +0000 Iterators for all VAccessor types. vaccessor.hh | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 143 insertions(+), 0 deletions(-) commit d9a8930ebc07db7035085b053d2d201ff1dd472f Author: ethaneade Date: Wed Nov 29 15:04:35 2006 +0000 Modified SE3::exp (and SO3::exp_with_half) for more efficient computation and less roundoff error. se3.h | 9 +---- so3.h | 108 ++++++++++++++++++++++++++++++++++++++++------------------------ 2 files changed, 69 insertions(+), 48 deletions(-) commit 60f24af5d24ff3a71b6808a9c27e17d4cd6c425c Author: aardvaark Date: Thu Sep 21 11:07:16 2006 +0000 Replaced /// with /** in documentation so that code examples now display properly for my version of Doxygen doc/helpersdoc.h | 179 +++++++++++++++++++++++++++++++---------------------- 1 files changed, 105 insertions(+), 74 deletions(-) commit cabfd6644c73a7d86627bc88984cae01c86bab2d Author: aardvaark Date: Thu Sep 21 11:02:09 2006 +0000 Replaced /// with /** in documentation so that code examples now display properly for my version of Doxygen doc/matrixdoc.h | 435 ++++++++++++++++++++++++++++++------------------------- doc/vectordoc.h | 387 +++++++++++++++++++++++++++---------------------- 2 files changed, 450 insertions(+), 372 deletions(-) commit 9c912ee5829701c5b9f99384039ca03e5c7d1196 Author: gerhard Date: Fri Sep 8 09:23:46 2006 +0000 older change: moved assignment from VectorCreater up in the inheritance chain to make it more useable (for example rows from matrices etc.) vbase.hh | 26 +++++++++++++++++--------- vclasses.hh | 18 ++++++------------ 2 files changed, 23 insertions(+), 21 deletions(-) commit 4cdd4a1565f4f1e0b44b403f05684e0218a54092 Author: ethaneade Date: Sun Jul 23 10:17:11 2006 +0000 - Removed old cruft from linoperators and accessors - Improved performance of Cholesky on dynamic matrices Cholesky.h | 134 ++++++++++++++++++++++++++++++------------------------- linoperators.hh | 86 ----------------------------------- maccessor.hh | 8 ++-- vaccessor.hh | 12 +++--- 4 files changed, 83 insertions(+), 157 deletions(-) commit 9ab7d5040bc2007da83b375efe4aecc7bd634d51 Author: ethaneade Date: Sat Jul 22 14:50:02 2006 +0000 Fixes and simplifications to transformCovariance and generated code. generated.h | 190 +++++++++++++++++++++------------------------------------- helpers.h | 49 +++++++--------- 2 files changed, 90 insertions(+), 149 deletions(-) commit 1316ed5e0300345d6c4eed6714c3a10a628220ab Author: ethaneade Date: Sat Jul 22 12:29:28 2006 +0000 Fixed some methods for dynamic Cholesky; added dynamic transformCovariance. Cholesky.h | 62 +++++++++++++++++++++++++++++++++++------------------------ helpers.h | 33 ++++++++++++++++++++++++++++--- 2 files changed, 66 insertions(+), 29 deletions(-) commit 5f71291fd99a60cecbefebac0d9e442b44db43f3 Author: twd20 Date: Mon Jul 17 14:15:50 2006 +0000 changes to vector magic - moved logic into a new file called vmagic.hh - added logic to FixedVector<...> base class to allow assignment to arbitrary FixedVectors (e.g. M[0] for a matrix) - moved logic for insertion style operations into FixedVector - removed unneccessary template parameter from VectorCreator twd20 TooN.h | 1 + doc/SVDdoc.h | 3 + vbase.hh | 27 ++++++++++ vclasses.hh | 152 ++++----------------------------------------------------- vmagic.hh | 107 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 149 insertions(+), 141 deletions(-) commit 7c1d84c63968b271db1a9e7f8b3845825b6e9dd8 Author: ethaneade Date: Sun Jul 16 19:45:01 2006 +0000 Again. Cholesky.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit fdd9f53d335c48eef40f766898c857643f7c85c9 Author: ethaneade Date: Sun Jul 16 19:43:16 2006 +0000 Another silly bug. Cholesky.h | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) commit 77f29282f111dc6263222788ea1192eab0d54117 Author: ethaneade Date: Fri Jul 14 18:45:37 2006 +0000 Fixed stupid bug in cholesky_inverse generic implementation that kept it from compiling. Cholesky.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 208c4926fe1c377b1e164641d7ac0d097d803f79 Author: twd20 Date: Mon Jul 10 13:28:38 2006 +0000 code example bugs fixed doc/documentation.h | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit 5c744b81b9cbf25edeb65c21a9bc812042ce8c73 Author: twd20 Date: Mon Jul 10 10:48:54 2006 +0000 merged edits LU.h | 50 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 34 insertions(+), 16 deletions(-) commit 87f5943cbff17e832a5f28f66cbb12a862f4bee8 Author: twd20 Date: Sun Jul 9 19:55:26 2006 +0000 added documentation for determinant() doc/LUdoc.h | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit e4319c6178f8251d0a7ec6fd1d88ff7fda4e11f7 Author: twd20 Date: Sun Jul 9 19:53:01 2006 +0000 added determinant() LU.h | 47 ++++++++++++++++++++++++++++++++--------------- 1 files changed, 32 insertions(+), 15 deletions(-) commit 10ad756b80223a63f7283817c099581916514837 Author: twd20 Date: Fri Jul 7 14:24:20 2006 +0000 bug in code example fixed doc/SVDdoc.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit b7114037a8dace4b502cd4855772ef48e473a1c0 Author: twd20 Date: Fri Jul 7 14:20:55 2006 +0000 example of vector output added doc/documentation.h | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) commit 0d73752e1ccd1da07447d150d46f80e69a4802ca Author: twd20 Date: Fri Jul 7 14:20:06 2006 +0000 fixed comment error in code example doc/SymEigendoc.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 55c1a89ac2e04fbb523df2a28c545af8cb6f152f Author: twd20 Date: Fri Jul 7 13:53:34 2006 +0000 bugs in example code fixed doc/documentation.h | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-) commit cc135be95f6d380b2dc1cfbcc809632f3e449cfb Author: twd20 Date: Fri Jul 7 12:18:17 2006 +0000 uninstrumented the how to get command doc/documentation.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 34ad771e9b7b7d25d2528a6c110dc2cc8d582daf Author: twd20 Date: Fri Jul 7 12:06:42 2006 +0000 Fixed Doxyfile to point to the doc directory (this one) and added a "how to get" section to the documentation.h file doc/Doxyfile | 2 +- doc/documentation.h | 4 ++++ 2 files changed, 5 insertions(+), 1 deletions(-) commit b210761abd80a2b2f8e4ba68b1cd6e308b5af7f6 Author: ethaneade Date: Mon Jul 3 10:03:31 2006 +0000 - Getting the inverse using Cholesky::get_inverse is now more than twice as fast. - transformCovariance is faster - slice<...>() on fixed vectors now checks bounds at compile time - generated code updated to newer, better algorithms Cholesky.h | 31 ++++- generated.h | 349 +++++++++++++++++++++++++++++++++++----------------------- helpers.h | 7 +- maccessor.hh | 4 + util.h | 4 + vaccessor.hh | 11 +- 6 files changed, 253 insertions(+), 153 deletions(-) commit 4c40ec8d059a058e4f55a0a80869375e1924d70c Author: ethaneade Date: Fri Jun 23 13:57:51 2006 +0000 Added some (private) constructors to SO3 and SE3 that allow the compiler to perform return value optimization. These achieve the goal that I had been looking for with the SE3::Product type, without the hassle and complexity. se3.h | 8 ++------ so3.h | 10 ++++++---- 2 files changed, 8 insertions(+), 10 deletions(-) commit 5c18e485c74a35dda9aa6c3f6b7fc3fcf48777b9 Author: jjneubert Date: Sat Jun 17 14:31:19 2006 +0000 *** empty log message *** LU.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 0da5150d2ac32114c7e3fc55716825bf73558117 Author: ethaneade Date: Wed Jun 14 11:46:23 2006 +0000 LU: made "info" accessible helpers: fixed transformCovariance so that generated code will get used mclasses: a couple double* to const double* so3.h: removed unused variable LU.h | 30 +++++++++++++++--------------- helpers.h | 55 +++++++++++++++++++++++++++++++------------------------ mclasses.hh | 6 +++--- so3.h | 1 - 4 files changed, 49 insertions(+), 43 deletions(-) commit 4ea71347e18fc7fcca4cee0c013b76167d536dc7 Author: ethaneade Date: Tue Jun 13 14:26:00 2006 +0000 There was a bug in SO3::ln() that returned erroneous results for large angles. This fix addresses the problem in general and also avoids numerical stability. For these large angle cases, the the algorithm is more expensive. But it's correct. If you've had weird/random errors when using ln(), this might fix the problem. so3.h | 73 ++++++++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 45 insertions(+), 28 deletions(-) commit 3c60189759a39578ad84be970ba390373e8cfdfb Author: ethaneade Date: Fri Jun 9 13:02:19 2006 +0000 Product had dangling reference, so took out Product object for lazy se3 multiplication evaluation. Now se3 multiplication is always correct, but with more temporaries. se3.h | 19 +------------------ 1 files changed, 1 insertions(+), 18 deletions(-) commit a053d3f00f87629339019893f633a1d0548f236a Author: ethaneade Date: Mon Jun 5 17:54:36 2006 +0000 Added transformCovariance to helpers.h and generated variants to generated.h. generated.h | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ helpers.h | 25 +++++++++++ 2 files changed, 165 insertions(+), 0 deletions(-) commit abfdb22ac0cac3807a111eff7fd048c8b329bafc Author: gerhard Date: Mon May 29 13:07:22 2006 +0000 added more operator versions to get associativity working again se3.h | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit b8dd3ef5b80611c436823fd1dde30bfce62b2f9a Author: ethaneade Date: Wed May 24 17:05:28 2006 +0000 Added include of generated.h TooN.h | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) commit 7557287ec51be2d7cb86d9c7bed1a74e190c7119 Author: ethaneade Date: Wed May 24 17:04:33 2006 +0000 Various fixes and improvements. New helper functions: zeros() returns a thing convertible to Vector of zeros. zeros() returns a thing convertible to Matrix() of zeros. transformCovariance(J,C), where C is symmetric positive definite, computes J*C*J^T efficiently (using some generated code in generated.h for certain common sizes) Cholesky.h | 98 ++++++++++++++++++++++++----------------------- generated.h | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ helpers.h | 24 +++++++---- linoperators.hh | 105 ++++++++++++++------------------------------------ se3.h | 89 +++++++++++++++++++++++++----------------- so3.h | 9 +--- util.h | 65 ++++++++++++++++++++++++++++++- 7 files changed, 326 insertions(+), 178 deletions(-) commit ad5778439a078fa153a2e072872c40b19861b34c Author: jamesloxam Date: Wed May 17 11:32:44 2006 +0000 Added methods to calculate whether the a matrix is positive-definite or negative-definite SymEigen.h | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) commit a40101594e0938d0763f5a65ff2f1ee46cd42d88 Author: edrosten Date: Tue Apr 25 23:14:02 2006 +0000 Removed redundant definition of cast operator. mbase.hh | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) commit 5c5bd37edf3fbbe32aaa7895d5701219ccf66c42 Author: edrosten Date: Tue Apr 25 21:45:39 2006 +0000 Fix compiler error for gcc 4.1.0 so3.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 42aa39a5144ffa8f157b6f7f355c1b09be711dbf Author: ethaneade Date: Mon Mar 27 14:24:08 2006 +0000 Improved Cholesky efficiency, helper definitions, fixed slice bugs, improved se3 exp efficieny (and so3 exp) Cholesky.h | 405 +++++++++++++++++++++++++++++----------------------------- helpers.h | 5 + mclasses.hh | 7 +- membase.hh | 2 +- se3.h | 22 +-- so3.h | 101 ++++++++++----- util.h | 28 ++++ vaccessor.hh | 8 +- 8 files changed, 322 insertions(+), 256 deletions(-) commit fabee039d8ef7f2b432722a11de491740250929f Author: edrosten Date: Tue Feb 28 17:28:48 2006 +0000 Fixed compilation problem with .template on g++ 3.4.2 se3.h | 9 ++------- 1 files changed, 2 insertions(+), 7 deletions(-) commit d18410c85c5ce05dfcbd0259a8a09b1ae4207787 Author: aardvaark Date: Thu Feb 9 11:12:05 2006 +0000 Removed unused parameter to avoid compiler warnings vclasses.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 5793a8a79707e474a892b20cdc1c3b34856cd2fc Author: gerhard Date: Wed Feb 1 20:59:24 2006 +0000 fixed SO3::ln for cases of diagonal rotation matrix so3.h | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) commit 9ffc5152d2049169fc4a07e92e10a0f8301ffa9b Author: georgklein Date: Fri Jan 13 16:05:39 2006 +0000 Fix v = 1,2,3 example doc/vectordoc.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit 4886197622310377a15940bd79f513e454630654 Author: twd20 Date: Thu Jan 12 15:31:33 2006 +0000 made the new constructor and assignment operators of vector demand a double rather than being a template and accepting anything under the sun. This still permits them to accept ints etc since these can be automatically converted to doubles. This is much more typesafe than allowing a vector to be constructed from anything or assigned to anything. vclasses.hh | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) commit 9d0cf7d095b7ba17f58d83066d1f5c70fb8ed4ae Author: twd20 Date: Thu Jan 12 15:22:52 2006 +0000 VectorFiller CommaStyle fixed so that vectors can be initialised with correct number of elements. Previously this failed because the VectorFiller object had final_initializer_but_Vector_not_filled set to true even if the vector was filled vclasses.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 01d97f5a6f232c4b21cd5e97c0ff11941bad6b28 Author: gerhard Date: Tue Dec 27 09:41:41 2005 +0000 fixed copy-and-paste error so3.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 4bdc2c1e3bba7560aa1cf5c93cd29f6466ceba91 Author: ethaneade Date: Thu Dec 15 01:36:19 2005 +0000 small changes Cholesky.h | 8 +++++--- SymEigen.h | 2 +- se3.h | 3 +-- so3.h | 15 +++------------ vclasses.hh | 4 ++++ 5 files changed, 14 insertions(+), 18 deletions(-) commit 2903b9bf044cb4d8d6f67cd10a1b0c9d76e61eb9 Author: gerhard Date: Mon Dec 5 15:15:02 2005 +0000 added constructor to create from Matrix<3> for convenience. calls operator= internally. so3.h | 25 +++++++++++++++---------- 1 files changed, 15 insertions(+), 10 deletions(-) commit 4c8c25650a4842ed179464e3a421ec943e7d4756 Author: ethaneade Date: Tue Nov 22 17:10:06 2005 +0000 Fixed dynamic slicing const correctness. maccessor.hh | 76 +++++++++++++++++++++++++-------------------------------- vaccessor.hh | 28 ++++++++------------- vbase.hh | 1 - 3 files changed, 44 insertions(+), 61 deletions(-) commit fbb61a658cc8c8bd5270f10b238f1a27d81a5d13 Author: ethaneade Date: Tue Nov 22 16:45:42 2005 +0000 Updated dynamic slicing to work with gcc 4.0. TooN.h | 12 +- helpers.h | 30 ++-- linoperators.hh | 43 +---- maccessor.hh | 589 +++++++++++++++++++++++++++++-------------------------- mbase.hh | 63 +------ vaccessor.hh | 219 +++++++++++++++------ vbase.hh | 144 +++----------- 7 files changed, 532 insertions(+), 568 deletions(-) commit 58824ca69ae3c47777b61e6d7c74e84813131e10 Author: ethaneade Date: Mon Nov 21 16:49:37 2005 +0000 Added dynamic slice to vectors and matrices. Cholesky.h | 122 +++++++++++++++++++++++++++++++++++++++++++++++++++ TooN.h | 7 +++ doc/matrixdoc.h | 26 ++++++++++- doc/vectordoc.h | 23 +++++++++- helpers.h | 15 +++--- linoperators.hh | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- maccessor.hh | 116 +++++++++++++++++++++++++++++++++++++++++++----- mbase.hh | 39 +++++++++++++++- vaccessor.hh | 27 +++++++++++ vbase.hh | 22 ++++++++- 10 files changed, 497 insertions(+), 31 deletions(-) commit 1f829ca460facc9c9d1b9467a0b209103f5968b6 Author: gerhard Date: Fri Nov 18 20:41:47 2005 +0000 Zero for matrices helpers.h | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-) commit b755c2612fe7215120ec4db605c41c7c6a2e3421 Author: twd20 Date: Wed Nov 2 15:34:39 2005 +0000 fixed RefVector = some other kind of vector didn't exist because you don't inherit operator= vbase.hh | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) commit 2668e3fab970c95b2aabee418ff4599f7a90a4a2 Author: georgklein Date: Fri Oct 28 14:51:05 2005 +0000 Fix dynamic-sized stuff so it compiles on gcc4.0.1 wls.h | 23 ++++++++++++----------- 1 files changed, 12 insertions(+), 11 deletions(-) commit 0564b6e28a0f3dcb88a66c3ce9661a9f50817535 Author: syg21 Date: Thu Oct 27 14:39:03 2005 +0000 removing some useless lines for dynamic wls to work. se3.h | 6 ++++++ wls.h | 46 ---------------------------------------------- 2 files changed, 6 insertions(+), 46 deletions(-) commit c906d1ffbfaaa513ce40b118e12490490854e2d2 Author: syg21 Date: Thu Oct 27 12:59:39 2005 +0000 Dynamis WLS. But it's missing some functions like returning the SVD, which I don't think anyone ever uses. wls.h | 134 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 134 insertions(+), 0 deletions(-) commit c644114b7bb4ca1aa1de5b274385bd6c55d6f54f Author: gerhard Date: Wed Oct 26 20:53:11 2005 +0000 template qualifier must not appear in non template code se3.h | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) commit 8b265923cf8b3835d5d15b6419bdc8325f825e40 Author: gerhard Date: Wed Oct 26 20:52:38 2005 +0000 added missing namespace for endl and fixed use of static const double initializer, which won't work in gcc 4.0 SVD.h | 6 +----- 1 files changed, 1 insertions(+), 5 deletions(-) commit 06900e9edf761eb168c79d8524e7351bb055513d Author: gerhard Date: Wed Oct 26 20:51:44 2005 +0000 missing type declarations added LU.h | 40 ++++++++++++++++++++-------------------- 1 files changed, 20 insertions(+), 20 deletions(-) commit 053a88a09a39ec71aa27831153ed4c7be8e1e89a Author: twd20 Date: Tue Oct 11 14:34:40 2005 +0000 corrected explanation of operator [] and fixed some typos - twd20 doc/matrixdoc.h | 23 +++++++++++++---------- 1 files changed, 13 insertions(+), 10 deletions(-) commit a85903d67952b9475131310e13da55ef3047a560 Author: edrosten Date: Mon Oct 10 13:45:22 2005 +0000 Missing path. LU.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit c1070e3c198319d90432ccf4aa41ee02d4233001 Author: edrosten Date: Fri Sep 16 10:40:15 2005 +0000 Removed multiple capitalizations of filenames. Cholesky.h | 2 +- LU.h | 2 +- SVD.h | 2 +- SymEigen.h | 2 +- TooN.h | 184 ++++++++++++++++++++++++++++++++++++++++++++++++++- helpers.h | 2 +- lu.h | 20 ------ numerics.h | 2 +- so3.h | 2 +- svd.h | 20 ------ symeigen.h | 20 ------ toon.h | 202 -------------------------------------------------------- wls.h | 2 +- wls_cholesky.h | 2 +- 14 files changed, 192 insertions(+), 272 deletions(-) commit c621a6ea57b20ca091fecd73917e083c4b75ac24 Author: edrosten Date: Thu Sep 8 16:10:19 2005 +0000 changed doc to docs Makefile.in | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit acb079f0daed3a65a301d02eabb97af6062913a5 Author: gerhard Date: Thu Sep 8 16:01:30 2005 +0000 fixed include for so3 to avoid problems in CVD se3.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 79af3e7dd82900f41c46e15beede3bd7ff39588c Author: edrosten Date: Thu Sep 1 17:07:50 2005 +0000 Added docs for resize method doc/matrixdoc.h | 5 ++++- doc/vectordoc.h | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) commit 13d4b4ea61b8961e8fdab3a73606810fc3fbff2a Author: edrosten Date: Thu Sep 1 17:04:46 2005 +0000 Added ./configure && make && make install support Makefile.in | 20 + configure | 2128 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 2 + 3 files changed, 2150 insertions(+), 0 deletions(-) commit e02db0a55f86e182767016aa388d6ba19dc974a1 Author: edrosten Date: Wed Aug 31 16:52:31 2005 +0000 Added macro TOON_USING_NAMESPACE to automatically issue a using namespace TooN directive to make compiling old code much easier. toon.h | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) commit 9cc9a06345a6fcb3efd6c73243edf0b7df39d99d Author: edrosten Date: Wed Aug 31 16:43:40 2005 +0000 Removes resizing for operator= (so that semantics are the same as for static vectors). Added a .resize() method instead. mclasses.hh | 11 +++++------ vclasses.hh | 7 +++---- 2 files changed, 8 insertions(+), 10 deletions(-) commit d67a2b8ec499a82e87a0492d6eac8c1109ad9cb3 Author: edrosten Date: Fri Aug 26 16:00:58 2005 +0000 Update for dynamic operator= doc/matrixdoc.h | 5 ++++- doc/vectordoc.h | 10 ++++++---- mclasses.hh | 12 +++++++----- vclasses.hh | 9 ++++++--- 4 files changed, 23 insertions(+), 13 deletions(-) commit 1f6692ab4eab39b2f789a5de4f1c1d7d9e61b3cb Author: edrosten Date: Fri Aug 26 15:50:52 2005 +0000 Added resizing operator= and default constructor for dynamic vector and matrix mclasses.hh | 16 ++++++++++++++++ vclasses.hh | 18 ++++++++++++++++++ 2 files changed, 34 insertions(+), 0 deletions(-) commit a187095a3d16f5cebb3b9e585f2c752e5eb844bf Author: ee231 Date: Sat Aug 6 23:10:56 2005 +0000 stuff Cholesky.h | 140 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ SymEigen.h | 4 +- helpers.h | 2 +- vclasses.hh | 5 -- 4 files changed, 144 insertions(+), 7 deletions(-) commit ed64fdac0ff58dc2c47e9a493a407b55f3b78902 Author: er258 Date: Fri Aug 5 10:02:05 2005 +0000 Skeleton code for dynamic wls. wls.h | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 64 insertions(+), 1 deletions(-) commit 713c3a22ba44c915c749d5f2a92c53f09dcbec09 Author: er258 Date: Thu Jul 14 15:28:40 2005 +0000 Added in insertion of static vectors, and fixed bug in range checking. Warning! Insertion should probably be on some kind of accessor, rather than a Vector to make it rather more general. vclasses.hh | 29 +++++++++++++++++++++++++++-- 1 files changed, 27 insertions(+), 2 deletions(-) commit 435a84f667e012584ef51ab1fa7c5c2cd99ee391 Author: syg21 Date: Mon Jun 13 16:40:14 2005 +0000 OK: DynamicMatrix col can = FixedVector vbase.hh | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) commit 42b3850e62feea1be80c00b2a6cc096076e99b5b Author: er258 Date: Thu Jun 9 09:33:53 2005 +0000 Put license information in documentation files. doc/COPYING_FDL | 397 +++++++++++++++++++++++++++++++++++++++++++++++++ doc/LUdoc.h | 16 ++- doc/SVDdoc.h | 14 ++ doc/SymEigendoc.h | 14 ++ doc/documentation.h | 14 ++ doc/helpersdoc.h | 16 ++- doc/linoperatorsdoc.h | 16 ++- doc/matrixdoc.h | 16 ++- doc/se3doc.h | 14 ++ doc/so3doc.h | 14 ++ doc/vectordoc.h | 16 ++- 11 files changed, 542 insertions(+), 5 deletions(-) commit 607e8ce0b2b322cbfa0e9c8a5c5d3b6d06a30c8a Author: er258 Date: Thu Jun 9 09:32:15 2005 +0000 Remove old documentation. Documentation/decompositions.html | 151 --------------------------------- Documentation/howtouse.html | 57 ------------- Documentation/implementation.html | 91 -------------------- Documentation/index.html | 88 ------------------- Documentation/matrices.html | 166 ------------------------------------ Documentation/rvopt.html | 74 ---------------- Documentation/todo.html | 41 --------- Documentation/vectors.html | 167 ------------------------------------- 8 files changed, 0 insertions(+), 835 deletions(-) commit 949ac24e61ebd4fc85538e8e3490d40a0895ec90 Author: er258 Date: Thu Jun 9 09:31:54 2005 +0000 Update license stuff and remove old files. Authors | 2 +- LU.h | 2 +- SVD.h | 4 +- SymEigen.h | 2 +- TooN.h | 2 +- accessorexceptions.hh | 2 +- blasoperators.hh | 2 +- helpers.h | 2 +- irls.h | 2 +- lapack.h | 2 +- linoperators.hh | 2 +- lu.h | 2 +- maccessor.debug.hh | 2 +- maccessor.hh | 2 +- mbase.hh | 2 +- mclasses.hh | 2 +- membase.hh | 2 +- numerics.h | 2 +- numhelpers.h | 2 +- se3.h | 2 +- so3.h | 2 +- svd.h | 2 +- symeigen.h | 2 +- toon.h | 2 +- vaccessor.hh | 2 +- vaccessor.hh.old.2 | 208 ---------------------------------------- vaccessor.hh.old.3 | 252 ------------------------------------------------- vbase.hh | 2 +- vclasses.hh | 2 +- wls.h | 2 +- wls_cholesky.h | 2 +- 31 files changed, 30 insertions(+), 490 deletions(-) commit 87aa9721a579d6e9e10909b4ad0655fec9f188d2 Author: er258 Date: Tue Jun 7 13:30:34 2005 +0000 Added this file Authors | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) commit ad655a2cf986c48643e3cb023e11324c86c826b8 Author: er258 Date: Tue Jun 7 13:28:39 2005 +0000 Add correct license, this time. COPYING | 504 +++++++++++++++++++++++++++++++++++++++++++++++++ LU.h | 3 +- SVD.h | 3 +- SymEigen.h | 3 +- TooN.h | 3 +- accessorexceptions.hh | 3 +- blasoperators.hh | 3 +- helpers.h | 3 +- irls.h | 3 +- lapack.h | 3 +- linoperators.hh | 3 +- lu.h | 3 +- maccessor.debug.hh | 3 +- maccessor.hh | 3 +- mbase.hh | 3 +- mclasses.hh | 3 +- membase.hh | 3 +- numerics.h | 3 +- numhelpers.h | 3 +- se3.h | 3 +- so3.h | 3 +- svd.h | 3 +- symeigen.h | 3 +- toon.h | 3 +- vaccessor.hh | 3 +- vbase.hh | 3 +- wls.h | 3 +- wls_cholesky.h | 3 +- 28 files changed, 558 insertions(+), 27 deletions(-) commit ee7f39b9591bcaa04bf258301c5b3aa53cd1aebf Author: er258 Date: Thu Jun 2 16:24:27 2005 +0000 Add explicit Vector=VectorCreator, so it works properly in gcc 3.3.4 vclasses.hh | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-) commit 971d1455ee83d1bf67a7d3dedd350a38bacd701b Author: pas1001 Date: Thu Jun 2 15:17:15 2005 +0000 Makefile to make documentation doc/Makefile | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) commit 742a5df65c51b5500f31d02579f36165aac928d1 Author: pas1001 Date: Tue May 31 17:06:25 2005 +0000 Put into the right documentation group wls_cholesky.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 5448cc79a300fe1b90291f839e8181c9af8a7146 Author: pas1001 Date: Tue May 31 17:05:30 2005 +0000 Documentation files doc/Doxyfile | 1118 +++++++++++++++++++++++++++++++++++++++++++++++++ doc/LUdoc.h | 75 ++++ doc/SVDdoc.h | 83 ++++ doc/SymEigendoc.h | 111 +++++ doc/documentation.h | 136 ++++++ doc/helpersdoc.h | 130 ++++++ doc/linoperatorsdoc.h | 212 ++++++++++ doc/matrixdoc.h | 261 ++++++++++++ doc/se3doc.h | 126 ++++++ doc/so3doc.h | 106 +++++ doc/vectordoc.h | 310 ++++++++++++++ 11 files changed, 2668 insertions(+), 0 deletions(-) commit f75e24fbcb19e83c777a35f4a9a7b1f1dfb14f5a Author: pas1001 Date: Tue May 31 16:46:55 2005 +0000 Replaced with CVD versions (with documentation) irls.h | 52 +++++++++++++++++++++++------------ wls.h | 80 +++++++++++++++++++++++++++++++++++++------------------ wls_cholesky.h | 2 +- 3 files changed, 89 insertions(+), 45 deletions(-) commit b2760f0e8b13bb55ac80cf704ebfc705acdef5ff Author: pas1001 Date: Tue May 31 16:36:57 2005 +0000 Added operator= for Vector -1 to avoid magic taking over vclasses.hh | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) commit e820f8935986383ed75ef6c6d4b3868a7bf8759a Author: er258 Date: Fri May 27 15:07:44 2005 +0000 Added cholsky wls to TooN wls_cholesky.h | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 215 insertions(+), 0 deletions(-) commit 6734f0b01f73cf6518a28b239e16594f82ee25d0 Author: er258 Date: Fri May 27 15:06:08 2005 +0000 Put in correct license. LU.h | 29 ++++++++++++++--------------- SVD.h | 29 ++++++++++++++--------------- SymEigen.h | 29 ++++++++++++++--------------- TooN.h | 18 ++++++++++++++++++ accessorexceptions.hh | 18 ++++++++++++++++++ blasoperators.hh | 29 ++++++++++++++--------------- helpers.h | 29 ++++++++++++++--------------- irls.h | 19 ++++++++++++++++++- lapack.h | 29 ++++++++++++++--------------- linoperators.hh | 27 ++++++++++++++------------- lu.h | 18 ++++++++++++++++++ maccessor.debug.hh | 27 ++++++++++++++------------- maccessor.hh | 27 ++++++++++++++------------- mbase.hh | 27 ++++++++++++++------------- mclasses.hh | 27 ++++++++++++++------------- membase.hh | 26 ++++++++++++++------------ numerics.h | 18 ++++++++++++++++++ numhelpers.h | 18 ++++++++++++++++++ se3.h | 19 ++++++++++++++++++- so3.h | 19 ++++++++++++++++++- svd.h | 18 ++++++++++++++++++ symeigen.h | 18 ++++++++++++++++++ toon.h | 29 ++++++++++++++--------------- vaccessor.hh | 26 ++++++++++++++------------ vaccessor.hh.old.2 | 16 ---------------- vaccessor.hh.old.3 | 16 ---------------- vbase.hh | 27 ++++++++++++++------------- vclasses.hh | 27 ++++++++++++++------------- wls.h | 19 ++++++++++++++++++- 29 files changed, 422 insertions(+), 256 deletions(-) commit 6c6da7cd060a4cb5a9489d4d949ded304042f8a6 Author: ee231 Date: Fri May 13 15:16:04 2005 +0000 numerics.h compatibility layer improved numerics.h | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) commit 044123f7b149162eb5734defb27e234129836cef Author: ee231 Date: Fri May 13 15:05:08 2005 +0000 more magic fixes for operator= vclasses.hh | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) commit 84978073cabef8e0fda7efe41a50c9c9b1a0be00 Author: ee231 Date: Fri May 13 12:41:55 2005 +0000 namespace TooN, added se3, so3, wls, irls, includes from subdir TooN/ LU.h | 9 ++- SVD.h | 9 ++- SymEigen.h | 10 ++- TooN.h | 1 + accessorexceptions.hh | 1 - helpers.h | 220 +++++++++++++++++++++++++++++++++ irls.h | 82 +++++++++++++ lapack.h | 8 +- lu.h | 1 + numerics.h | 190 +---------------------------- numhelpers.h | 213 +-------------------------------- se3.h | 325 +++++++++++++++++++++++++++++++++++++++++++++++++ so3.h | 245 +++++++++++++++++++++++++++++++++++++ svd.h | 1 + symeigen.h | 1 + toon.h | 198 ++++++++++++++++++++++++++++++ vclasses.hh | 7 +- wls.h | 103 ++++++++++++++++ 18 files changed, 1217 insertions(+), 407 deletions(-) commit dadeca95b3d924e32cff386732c83d1b5c0b8ca6 Author: ee231 Date: Thu May 12 14:39:29 2005 +0000 another VectorMagic fix vclasses.hh | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) commit 2e26ff62919ec3fce75b02754cb38b4f8fb70a92 Author: ee231 Date: Thu May 12 09:50:59 2005 +0000 make_Vector needs to be a function vclasses.hh | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit 34a43dadaa732ab2e2011d10d3abf8f2c564a125 Author: ee231 Date: Wed May 11 10:41:38 2005 +0000 fixed VectorMagic vbase.hh | 3 --- vclasses.hh | 3 ++- 2 files changed, 2 insertions(+), 4 deletions(-) commit 7a00bbf9c567699135c81d279e93cf1b0dfed755 Author: ee231 Date: Tue May 10 17:11:44 2005 +0000 added make_Vector, Vector<4>=1,2,3,4, and the lot vclasses.hh | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 110 insertions(+), 0 deletions(-) commit 90c35ef9c889d7e5785963ed16f960248b21b6c5 Author: er258 Date: Fri May 6 09:03:45 2005 +0000 Put in missing #include vbase.hh | 1 + vclasses.hh | 2 +- 2 files changed, 2 insertions(+), 1 deletions(-) commit 68926519d3b35eeb6e7e19c82cb740d69157e651 Author: pas1001 Date: Wed May 4 17:13:23 2005 +0000 added more const casts to dgsevd to avoid errors SVD.h | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) commit 4c9f199b11149d6174a515429605ead7c1a13b91 Author: pas1001 Date: Wed May 4 17:08:31 2005 +0000 added const cast to dgsevd to avoid errors SVD.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) commit 9adc6f64e23fc2ef1d8057bde3c2305c84621b0e Author: ck231 Date: Wed May 4 15:59:16 2005 +0000 Fixed Matrix*= /= double linoperators.hh | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-) commit 7d505920d61037d089457db4bda1c0739f200d7b Author: pas1001 Date: Wed May 4 09:55:29 2005 +0000 Corrected order of const and inline vaccessor.hh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) commit 25e653c66d76a0c857ac9b19a60e4a3de986a195 Author: pas1001 Date: Wed May 4 09:55:13 2005 +0000 Casted away const in strings passed to dgesvd (to avoid warnings) SVD.h | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) commit 8affbb1ee0444339a55036aeacc48bb1354dc62a Author: er258 Date: Tue May 3 16:18:20 2005 +0000 Added missing #include linoperators.hh | 2 ++ mbase.hh | 1 + 2 files changed, 3 insertions(+), 0 deletions(-) commit d71096830c7b588dd0fb713f26af3adab213521e Author: twd20 Date: Tue May 3 10:41:37 2005 +0000 fixed Matrix*=double and Matrix/double and Matrix/=double linoperators.hh | 41 +++++++++++++++++++++++++++++++++++++++-- 1 files changed, 39 insertions(+), 2 deletions(-) commit 036af22692e7d615911a8e94dc09a9ec1fda7a37 Author: er258 Date: Mon May 2 15:36:00 2005 +0000 Initial revision Documentation/decompositions.html | 151 +++++ Documentation/howtouse.html | 57 ++ Documentation/implementation.html | 91 +++ Documentation/index.html | 88 +++ Documentation/matrices.html | 166 ++++++ Documentation/rvopt.html | 74 +++ Documentation/todo.html | 41 ++ Documentation/vectors.html | 167 ++++++ LU.h | 319 +++++++++++ README | 21 + SVD.h | 291 ++++++++++ SymEigen.h | 233 ++++++++ accessorexceptions.hh | 18 + blasoperators.hh | 64 ++ lapack.h | 51 ++ license.txt | 458 +++++++++++++++ linoperators.hh | 1145 +++++++++++++++++++++++++++++++++++++ maccessor.debug.hh | 473 +++++++++++++++ maccessor.hh | 492 ++++++++++++++++ mbase.hh | 156 +++++ mclasses.hh | 121 ++++ membase.hh | 53 ++ numerics.h | 189 ++++++ numhelpers.h | 213 +++++++ vaccessor.hh | 179 ++++++ vaccessor.hh.old.2 | 224 ++++++++ vaccessor.hh.old.3 | 268 +++++++++ vbase.hh | 207 +++++++ vclasses.hh | 116 ++++ 29 files changed, 6126 insertions(+), 0 deletions(-)