aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
Commit message (Collapse)AuthorAge
* As discussed on ML:Gravatar Gael Guennebaud2008-10-24
| | | | | | | | | | * remove the automatic resizing feature of operator = * add function Matrix::set() to be used when the previous behavior is wanted * the default constructor of dynamic-size matrices now creates a "null" matrix (data=0, rows = cols = 0) instead of a 1x1 matrix * fix UnixX typos ;)
* sparse module:Gravatar Gael Guennebaud2008-10-21
| | | | | - remove some useless stuff => let's focus on a single sparse matrix format - finalize the new RandomSetter
* * sparse LU: add extraction of L,U,P, and Q, as well as determinantGravatar Gael Guennebaud2008-10-20
| | | | | for both backends. * extended a bit the sparse unit tests
* add unit tests for sparse LU and fix a couple of warningsGravatar Gael Guennebaud2008-10-20
|
* * add cmake files to find (optional) supported librariesGravatar Gael Guennebaud2008-10-20
| | | | * add unit tests for sparse cholesky
* Big API change in Cholesky module:Gravatar Gael Guennebaud2008-10-13
| | | | | | | | | | | | | | | | * rename Cholesky to LLT * rename CholeskyWithoutSquareRoot to LDLT * rename MatrixBase::cholesky() to llt() * rename MatrixBase::choleskyNoSqrt() to ldlt() * make {LLT,LDLT}::solve() API consistent with other modules Note that we are going to keep a source compatibility untill the next beta release. E.g., the "old" Cholesky* classes, etc are still available for some time. To be clear, Eigen beta2 should be (hopefully) source compatible with beta1, and so beta2 will contain all the deprecated API of beta1. Those features marked as deprecated will be removed in beta3 (or in the final 2.0 if there is no beta 3 !). Also includes various updated in sparse Cholesky.
* Solve the issue found by Timothy in solveTriangular:Gravatar Gael Guennebaud2008-10-13
| | | | | | => row-major rhs are now evaluated to a column-major temporary before the computations. Add solveInPlace in Cholesky*
* extend sparse unit tests with transpose and matrix productGravatar Gael Guennebaud2008-10-04
|
* add EigenSolver::eigenvectors() method for non symmetric matrices.Gravatar Gael Guennebaud2008-10-03
| | | | | | However, for matrices larger than 5, it seems there is constantly a quite large error for a very few coefficients. I don't what's going on, but that's certainely not due to numerical issues only. (also note that the test with the pseudo eigenvectors fails the same way)
* Fixes in Eigensolver:Gravatar Gael Guennebaud2008-10-01
| | | | | | | | * eigenvectors => pseudoEigenvectors * added pseudoEigenvalueMatrix * clear the documentation * added respective unit test Still missing: a proper eigenvectors() function.
* * block() for vectors ---> segment()Gravatar Benoit Jacob2008-09-15
| | | | * documentation improvements, especially in quickstart guide
* * fix issues with "long double" type (useful to enforce the use of x87 ↵Gravatar Gael Guennebaud2008-09-14
| | | | | | registers) * extend the documentation on "extending Eigen"
* * Quaternion: added dot product and angularDistance functions. The latter isGravatar Gael Guennebaud2008-09-11
| | | | | | based on the former. * opengl_demo: makes IcoSphere better (vertices are instanciated only once) and removed the generation of a big geometry for the fancy spheres...
* add the missing templated version of block for sub-vectorsGravatar Gael Guennebaud2008-09-09
|
* * Extend a bit ParametrizedLine and move it to a separate file,Gravatar Gael Guennebaud2008-09-03
| | | | | | add unit-tests for it. * remove "using namespace std" in test/main.h such that the compilation bug found today in SVD won't happen again.
* Fix bugs reported by Timothy Hunter:Gravatar Gael Guennebaud2008-09-03
| | | | | | * CholeskyWithoutSqrt with 1x1 matrices * .part<Diagonal>() Updated unit tests to handle these cases
* Add coeff-wise comparisons to scalar operators. You can now write:Gravatar Gael Guennebaud2008-09-03
| | | | | | mat.cwise() < 2 instead of: mat.cwise() < MatrixType::Constant(mat.rows(), mat.cols(), 2)
* Add a Select expression in the Array module which mimics a coeff-wise ?: ↵Gravatar Gael Guennebaud2008-09-03
| | | | | | | | operator. Example: mat = (mat.cwise().abs().cwise() < Ones()).select(0,mat); replaces all small values by 0. (the scalar version is "s = abs(s)<1 ? 0 : s")
* Bugfix regarding alignent in Assign.h (updated map unit test to detect this bug)Gravatar Gael Guennebaud2008-09-03
| | | | | Anyway: LinearVectorization+CompleteUnrolling actually uses the InnerVectorization unrollers, so these two cases could be merged to a single one...
* compilation fixes with MSVCGravatar Gael Guennebaud2008-09-03
|
* Solve a big issue with data alignment and dynamic allocation:Gravatar Gael Guennebaud2008-09-03
| | | | | | | | | | | | | | | | * add a WithAlignedOperatorNew class with overloaded operator new * make Matrix (and Quaternion, Transform, Hyperplane, etc.) use it if needed such that "*(new Vector4) = xpr" does not failed anymore. * Please: make sure your classes having fixed size Eigen's vector or matrice attributes inherit WithAlignedOperatorNew * add a ei_new_allocator STL memory allocator to use with STL containers. This allocator really calls operator new on your types (unlike GCC's new_allocator). Example: std::vector<Vector4f> data(10); will segfault if the vectorization is enabled, instead use: std::vector<Vector4f,ei_new_allocator<Vector4f> > data(10); NOTE: you only have to worry if you deal with fixed-size matrix types with "sizeof(matrix_type)%16==0"...
* resurrected sparse triangular solverGravatar Gael Guennebaud2008-09-02
|
* Extended sparse unit-test: nested blocks and InnerIterators.Gravatar Daniel Gomez Ferro2008-09-02
| | | | | Block specialization for sparse matrices. InnerIterators for Blocks and fixes in CoreIterators.
* if EIGEN_NICE_RANDOM is defined, the random functions will return numbers withGravatar Benoit Jacob2008-09-01
| | | | | | few bits left of the comma and for floating-point types will never return zero. This replaces the custom functions in test/main.h, so one does not anymore need to think about that when writing tests.
* remove the conceptualy broken "NoShear" transformation traits,Gravatar Gael Guennebaud2008-09-01
| | | | and rename NonAfine => Projective, GenericAffine => Affine, NoScaling => Isometry
* * Add Hyperplane::transform(Matrix/Transform)Gravatar Gael Guennebaud2008-08-31
| | | | | * Fix compilations with gcc 3.4, ICC and doxygen * Fix krazy directives (hopefully)
* The discussed changes to Hyperplane, the ParametrizedLine class, and theGravatar Benoit Jacob2008-08-31
| | | | API update in Regression...
* add uniform scale/prescale functions in TranformGravatar Gael Guennebaud2008-08-30
|
* * added a RotationBase class following the CRT patternGravatar Gael Guennebaud2008-08-30
| | | | | | | | This allow code factorization and generic template specialization of functions * added any_rotation * {Translation,Scaling,Transform} products methods * rewrite of the actually broken ToRoationMatrix helper class to a global ei_toRotationMatrix function.
* * rename TranformationKnowledge to TransformTraitsGravatar Gael Guennebaud2008-08-30
| | | | | * apply the same principle to extractRotation and fix it to extract a rotation corresponding to a positive scaling
* update Transform::inverse() to take an optional argument stating whether the ↵Gravatar Gael Guennebaud2008-08-30
| | | | | | | | | | transformation is: NonAffine, Affine (default), contains NoShear, contains NoScaling that allows significant speed improvements. If you like it, this concept could be applied to Transform::extractRotation (or to a more advanced decomposition function) and to Hyperplane::transformed() and maybe to some other places... e.g., I think a Transform::normalMatrix() function would not harm and warn user that the transformation of normals is not that trivial (I saw this mistake much too often)
* Add Scaling and Translation class as discussed on ML, still missing:Gravatar Gael Guennebaud2008-08-30
| | | | | | | | * handling Quaternion, AngleAxis and Rotation2D, 2 options here: 1- make all of them inheriting a common base class Rotation such that we can have a single version of operator* for all the rotation type (they all get converted to a matrix) 2- write a version for all type (so 3 rotations types * 3 for Transform,Translation and Scaling) * real documentation
* some hyperplane changes:Gravatar Gael Guennebaud2008-08-29
| | | | | | | | - 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
* spelling + some krazy directivesGravatar Gael Guennebaud2008-08-28
|
* * Add an HyperPlane class in the Geometry moduleGravatar Gael Guennebaud2008-08-28
| | | | | | with its respective unit-test. Feel free to discuss the API on the ML. * Some bugfix in unitOrthogonal found by the hyperplane unit test.
* bugfix in test/packetmath.hGravatar Gael Guennebaud2008-08-25
|
* Fix a bug discovered in Avogadro: the AngleAxis*Matrix and the newerGravatar Benoit Jacob2008-08-24
| | | | | | | | | | | | | | | | | 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.
* Rename someOrthogonal to unitOrthogonal. Fix a bug in it, with dyn-size ↵Gravatar Benoit Jacob2008-08-24
| | | | | | vectors of size <=3. Update doc and test to reflect that it always returns a unit vector.
* nothing to see hereGravatar Gael Guennebaud2008-08-24
|
* bugfix in Product and ei_L2_block_traitsGravatar Gael Guennebaud2008-08-24
|
* temporary fix of the pèrevious commitGravatar Gael Guennebaud2008-08-24
|
* * split Meta.h to Meta.h (generic meta programming) and XprHelper.h (relates ↵Gravatar Gael Guennebaud2008-08-24
| | | | | | | | | 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
* * add documentation of the cool (?) "print with format" featureGravatar Gael Guennebaud2008-08-23
| | | | | * move the ioformat.cpp test to a documentation example * rename IoFormat => IOFormat
* * remove LargeBit and related stuffGravatar Gael Guennebaud2008-08-23
| | | | | | | * 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
* * bug fixes in: Dot, generalized eigen problem, singular matrix detetection ↵Gravatar Gael Guennebaud2008-08-23
| | | | | | | in Cholesky * fix all numerical instabilies in the unit tests, now all tests can be run 2000 times with almost zero failures.
* extended cwise unit tests to cover all Cwise APIGravatar Gael Guennebaud2008-08-22
|
* * bugfix in SolveTriangular found by Timothy Hunter (did not compiled for ↵Gravatar Gael Guennebaud2008-08-22
| | | | | | | | 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...
* fix a number of compiler errors and warnings with gcc 4.3. There was a missingGravatar Benoit Jacob2008-08-22
| | | | #include<algorithm> so I'm not sure how it compiled at all for you :)
* extend sparse unit test and more bugfix, major todo: finilize the SparseSetterGravatar Gael Guennebaud2008-08-21
|
* *patch by Daniel Gomez:Gravatar Gael Guennebaud2008-08-21
| | | | | | - bugfix in SparseMatrix - add a sparse unit test * renamed Transform::affine => linear