Gael Guennebaud
e2bd8623f8
Solve the issue found by Timothy in solveTriangular:
...
=> row-major rhs are now evaluated to a column-major
temporary before the computations.
Add solveInPlace in Cholesky*
2008-10-13 13:14:43 +00:00
Scott Wheeler
537a0e0a52
fix typos
2008-10-12 16:09:12 +00:00
Scott Wheeler
e80d6a95d9
note that norm2() is *not* an l2 norm as it is in other APIs
2008-10-11 21:01:59 +00:00
Scott Wheeler
b46c327133
Clear up the docs some. I'd also suggest making Dynamic the default template parameter for matrices.
2008-10-11 08:43:18 +00:00
Benoit Jacob
247f2b0ffa
* block() for vectors ---> segment()
...
* documentation improvements, especially in quickstart guide
2008-09-15 15:45:41 +00:00
Gael Guennebaud
db030d4e28
* fix issues with "long double" type (useful to enforce the use of x87 registers)
...
* extend the documentation on "extending Eigen"
2008-09-14 11:59:10 +00:00
Gael Guennebaud
8473a77f2f
move CommaInitializer out of MatrixBase and documment it (because of .finished())
2008-09-13 18:51:51 +00:00
Gael Guennebaud
703539110b
add the missing templated version of block for sub-vectors
2008-09-09 09:30:23 +00:00
Gael Guennebaud
c41ceee750
2 typos
2008-09-08 17:08:27 +00:00
Gael Guennebaud
12e9de4abb
fix stupid numerical stability issue in SVD::solve (though it is not yet as stable as LU with full pivoting)
2008-09-04 14:38:42 +00:00
Benoit Jacob
6add33e2c2
fix warning
2008-09-04 01:35:39 +00:00
Gael Guennebaud
c29c7b0ea9
Fix bugs reported by Timothy Hunter:
...
* CholeskyWithoutSqrt with 1x1 matrices
* .part<Diagonal>()
Updated unit tests to handle these cases
2008-09-03 20:52:26 +00:00
Gael Guennebaud
e14aa8c8aa
Add coeff-wise comparisons to scalar operators. You can now write:
...
mat.cwise() < 2
instead of:
mat.cwise() < MatrixType::Constant(mat.rows(), mat.cols(), 2)
2008-09-03 17:56:06 +00:00
Gael Guennebaud
59dc1da5bf
Add a Select expression in the Array module which mimics a coeff-wise ?: 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")
2008-09-03 17:16:28 +00:00
Gael Guennebaud
3bbd1b3114
Bugfix regarding alignent in Assign.h (updated map unit test to detect this bug)
...
Anyway: LinearVectorization+CompleteUnrolling actually uses the InnerVectorization
unrollers, so these two cases could be merged to a single one...
2008-09-03 14:42:36 +00:00
Gael Guennebaud
75649551c2
compilation fixes with MSVC
2008-09-03 11:26:19 +00:00
Gael Guennebaud
f52d119b9c
Solve a big issue with data alignment and dynamic allocation:
...
* 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"...
2008-09-03 00:32:56 +00:00
Gael Guennebaud
d8df318d77
resurrected sparse triangular solver
2008-09-02 19:55:26 +00:00
Daniel Gomez Ferro
8fb1678f0f
Extended sparse unit-test: nested blocks and InnerIterators.
...
Block specialization for sparse matrices.
InnerIterators for Blocks and fixes in CoreIterators.
2008-09-02 15:28:49 +00:00
Benoit Jacob
46fe7a3d9e
if EIGEN_NICE_RANDOM is defined, the random functions will return numbers with
...
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.
2008-09-01 17:31:21 +00:00
Gael Guennebaud
7e8aa63bb7
* Add Hyperplane::transform(Matrix/Transform)
...
* Fix compilations with gcc 3.4, ICC and doxygen
* Fix krazy directives (hopefully)
2008-08-31 13:32:29 +00:00
Benoit Jacob
5c34d8e20a
The discussed changes to Hyperplane, the ParametrizedLine class, and the
...
API update in Regression...
2008-08-31 04:25:30 +00:00
Gael Guennebaud
9c450a52a2
Split Rotation.h to Rotation2D.h and RotationBase.h,
...
and more code factorization based on RotationBase.
Added notes about the main aim of the Translation and Scaling classes.
2008-08-30 21:36:04 +00:00
Gael Guennebaud
9e7a9cde14
Add Scaling and Translation class as discussed on ML, still missing:
...
* 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
2008-08-30 00:08:23 +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
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
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
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
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
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
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