Gael Guennebaud
6d841512c7
some hyperplane changes:
...
- the coefficients are stored in a single vector
- added transformation methods
- removed Line* typedef since in 2D this is really an hyperplane
and not really a line...
- HyperPlane => Hyperplane
2008-08-29 13:30:37 +00:00
Gael Guennebaud
409e82be06
doc and use sed to clean the class hierarchy instead of
...
preprocessor directives.
2008-08-28 23:25:27 +00:00
Gael Guennebaud
7ea821d18e
spelling + some krazy directives
2008-08-28 21:44:56 +00:00
Gael Guennebaud
80be1ea515
remove CoreDeclaration from the documentation
2008-08-28 19:11:03 +00:00
Gael Guennebaud
9b4d46c82e
* Add an HyperPlane class in the Geometry module
...
with its respective unit-test.
Feel free to discuss the API on the ML.
* Some bugfix in unitOrthogonal found by the hyperplane unit test.
2008-08-28 17:44:27 +00:00
Jure Repinc
ee2df6026a
CoreDeclarations was removed
2008-08-28 17:33:27 +00:00
Gael Guennebaud
3ced3f91c2
* temporarily remove doxygen customization, we'll see if that fix api.kde.org
...
but I no hope, that would be too simple !
* added Rotation2D typedefs
* remove CoreDeclarations header file
2008-08-28 15:28:23 +00:00
Gael Guennebaud
70266b4d05
doc + quick bug fix in Matrix ctor
2008-08-28 00:33:58 +00:00
Benoit Jacob
f7de12de69
Missing inline keywords in AltiVec/PacketMath were making Avogadro fail
...
to compile (duplicate symbols).
2008-08-27 20:06:15 +00:00
Benoit Jacob
a0cfe6ebdc
remove double ;
2008-08-27 02:58:04 +00:00
Gael Guennebaud
083ffa8c41
#undef vector after including altivec.h
2008-08-27 00:09:58 +00:00
Benoit Jacob
12c6b45ae5
replace vector by __vector to prevent conflict with std::vector
2008-08-26 23:25:10 +00:00
Gael Guennebaud
63d3ef8204
* remove debug code commited by mistake in Assign
...
* keep going on the doc: added a short geometry tutorial
2008-08-26 23:07:33 +00:00
Gael Guennebaud
00a8d314c5
* move memory related stuff to util/Memory.h
...
* clean ugly doxygen inheritence of expressions
* keep improving the documentation... slowly !
2008-08-26 19:12:23 +00:00
Gael Guennebaud
8f9d30cb20
* patch from Konstantinos Margaritis: bugfix in Altivec version of ei_pdiv
...
and various cleaning in Altivec code. Altivec vectorization have been re-enabled
in CoreDeclaration
* added copy constructors in non empty functors because I observed weird behavior with
std::complex<>
2008-08-25 16:22:56 +00:00
Benoit Jacob
da674fa032
Shut up two bogus gcc 4.3 warnings
2008-08-25 03:13:14 +00:00
Benoit Jacob
5ac883b10a
Fix a bug discovered in Avogadro: the AngleAxis*Matrix and the newer
...
AngleAxis*Vector products were wrong because they returned the product
_expression_
toRotationMatrix()*other;
and toRotationMatrix() died before that expression would be later
evaluated. Here it would not have been practical to NestByValue as this
is a whole matrix. So, let them simply evaluate and return the result by
value.
The geometry.cpp unit-test only checked for compatibility between
various rotations, it didn't check the correctness of the rotations
themselves. That's why this bug escaped us. So, this commit checks that
the rotations produced by AngleAxis have all the expected properties.
Since the compatibility with the other rotations is already checked,
this should validate them as well.
2008-08-24 23:16:51 +00:00
Benoit Jacob
aa54d6bef0
arf, of course a meta-selector was required here
2008-08-24 21:36:14 +00:00
Benoit Jacob
124ec71c50
allow constructing Transform from small-matrix (like fromPosOrientScale
...
but with trivial Pos and Scale)
2008-08-24 21:25:04 +00:00
Benoit Jacob
bf31d81aac
argh, gael you're more clever than i remembered. diagonal product is
...
optimized. so, i almost revert, just reordering to reduce # of
load/store.
2008-08-24 20:53:04 +00:00
Benoit Jacob
d3529e9c40
optimization: spare the 3x3 matrix product in
...
fromPositionOrientationScale
2008-08-24 20:50:18 +00:00
Benoit Jacob
6a36b5a6e0
add AngleAxis::operator*(const Vector3&)
2008-08-24 20:13:32 +00:00
Benoit Jacob
6b591d06c5
add data() methods to Transform
2008-08-24 20:02:20 +00:00
Benoit Jacob
b815b23e09
forgot to install Regression public header
2008-08-24 19:39:07 +00:00
Gael Guennebaud
854d6e8458
Documentation: fill the placeholders, add a custom CSS file,
...
add a reference to the tutorial in the main page.
2008-08-24 19:14:20 +00:00
Benoit Jacob
251ecc0ab9
Rename someOrthogonal to unitOrthogonal. Fix a bug in it, with dyn-size vectors of size <=3.
...
Update doc and test to reflect that it always returns a unit vector.
2008-08-24 17:31:03 +00:00
Gael Guennebaud
bf17467ce0
bugfix in Product and ei_L2_block_traits
2008-08-24 16:00:17 +00:00
Gael Guennebaud
440664cd5d
temporary fix of the pèrevious commit
2008-08-24 15:27:05 +00:00
Gael Guennebaud
ba100998bf
* split Meta.h to Meta.h (generic meta programming) and XprHelper.h (relates to eigen mechanism)
...
* added a meta.cpp unit test
* EIGEN_TUNE_FOR_L2_CACHE_SIZE now represents L2 block size in Bytes (whence the ei_meta_sqrt...)
* added a CustomizeEigen.dox page
* added a TOC to QuickStartGuide.dox
2008-08-24 15:15:32 +00:00
Gael Guennebaud
bfe86b8fc0
* add documentation of the cool (?) "print with format" feature
...
* move the ioformat.cpp test to a documentation example
* rename IoFormat => IOFormat
2008-08-23 19:41:00 +00:00
Gael Guennebaud
f2f48b6560
* remove LargeBit and related stuff
...
* replaced the Flags template parameter of Matrix by StorageOrder
and move it back to the 4th position such that we don't have to
worry about the two Max* template parameters
* extended EIGEN_USING_MATRIX_TYPEDEFS with the ei_* math functions
2008-08-23 17:11:44 +00:00
Gael Guennebaud
2120fed849
* bug fixes in: Dot, generalized eigen problem, singular matrix detetection in Cholesky
...
* fix all numerical instabilies in the unit tests, now all tests can be run 2000 times
with almost zero failures.
2008-08-23 15:14:20 +00:00
Benoit Jacob
312013a089
compile fix for code like Vector3d::Random().x()
2008-08-23 02:19:03 +00:00
Gael Guennebaud
8509668466
bugfix from Timothy Hunter s/ei_div/ei_pdiv
2008-08-22 22:01:02 +00:00
Gael Guennebaud
e0f627a7db
s/Affine/Linear, thanks to Thomas Vaughan
2008-08-22 17:54:37 +00:00
Gael Guennebaud
f0394edfa7
* bugfix in SolveTriangular found by Timothy Hunter (did not compiled for very small fixed size matrices)
...
* bugfix in Dot unroller
* added special random generator for the unit tests and reduced the tolerance threshold by an order of magnitude
this fixes issues with sum.cpp but other tests still failed sometimes, this have to be carefully checked...
2008-08-22 17:48:36 +00:00
Gael Guennebaud
a95c1e190b
patch from Konstantinos Margaritis: Altivec vectorization is resurrected !
2008-08-22 13:19:35 +00:00
Gael Guennebaud
95db4e9841
added SparseSetter doc
2008-08-22 11:19:12 +00:00
Benoit Jacob
a814ebe180
fix a number of compiler errors and warnings with gcc 4.3. There was a missing
...
#include<algorithm> so I'm not sure how it compiled at all for you :)
2008-08-22 01:19:53 +00:00
Gael Guennebaud
db628c6ad7
Reimplement fitHyperplane such that the fit is done in a total LS sense
...
(use eigen decomposition).
Added optional feedback on the stability of the actual fit (think about fitting a 3D plane
on data lying on a line...)
2008-08-22 00:09:46 +00:00
Benoit Jacob
0998c51d1f
- remove the ASM macro as in fact Gael had been removing all the remaining
...
asm("...") from the code while fixing MSVC compat (so your changes crossed
one another).
- move the pragma warning to CoreDeclarations, it's the right place to do early
platform checks.
CCMAIL:ps_ml@gmx.de
2008-08-21 21:07:24 +00:00
Gael Guennebaud
58061f5ffc
extend sparse unit test and more bugfix, major todo: finilize the SparseSetter
2008-08-21 18:40:56 +00:00
Gael Guennebaud
60804c306d
*patch by Daniel Gomez:
...
- bugfix in SparseMatrix
- add a sparse unit test
* renamed Transform::affine => linear
2008-08-21 17:02:47 +00:00
Benoit Jacob
082e309d2a
patch by Patrick Spendrin: fix MSVC compatibility
2008-08-21 16:17:51 +00:00
Gael Guennebaud
67813e01bf
disable the vectorization of div for AltiVec
2008-08-21 14:03:17 +00:00
Gael Guennebaud
f729fc1d70
* Add the possibility to customize the output of matrices, e.g.:
...
IoFormat OctaveFmt(4, AlignCols, ", ", ";\n", "", "", "[", "]");
cout << mat.format(OctaveFmt);
The first "4" is the precision.
Documentation missing.
* Some compilation fixes
2008-08-21 13:17:21 +00:00
Benoit Jacob
591d497b84
add resize() methods to Map, doing nothing but assertions.
...
This is useful in Krita where I call lu().solve() with a Map object
as result. As solve() resizes the result, this was needed.
2008-08-21 04:36:48 +00:00
Gael Guennebaud
fd681507dc
Add a packetmath unit test, re-enable the comma-initializer unit test,
...
and bug fix in PacketMath/SSE
2008-08-20 20:08:38 +00:00
Benoit Jacob
ff8e98c974
Fix bugs in Sum.h, add unit-test
2008-08-20 16:43:28 +00:00
Gael Guennebaud
c501c7a4ef
* Fix CMakeLists.txt issue with SVD
...
* Fix on stack memory allocation issues
2008-08-20 15:58:01 +00:00