Gael Guennebaud
016943f870
avoid 2 redundant calls to resize
2010-02-15 11:31:36 +01:00
Gael Guennebaud
dcb395c6f5
explicitly disable the use of evalTo for dense object
2010-02-15 11:09:33 +01:00
Gael Guennebaud
21d0eb3f11
the default implementation should really call evalTo
2010-02-15 11:01:55 +01:00
Hauke Heibel
8519558d11
Workaround for compounds affected by #94 .
2010-02-15 10:11:10 +01:00
Benoit Jacob
9251cfed9b
this had to be done here, not at the end.
2010-02-12 09:03:16 -05:00
Benoit Jacob
37ca4200b2
Piotr's patch was missing many occurences of size_t. So,
...
using std::size_t;
This is the only way that we can ensure QCC support in the long term without having to think about it everytime.
2010-02-12 08:58:29 -05:00
Gael Guennebaud
a76950bdab
fix a couple of ICE with gcc 4.0.1
2010-02-12 09:41:56 +01:00
Piotr Trojanek
1701a5d1f8
std:: namespace fixup for more restricive compilers such as QNX's QCC
2010-02-10 13:24:47 +01:00
Hauke Heibel
ae0a17d30b
Here is the proper fix.
2010-02-11 11:39:02 +01:00
Hauke Heibel
93e86b0884
Fixed typos.
...
Replace NumTraits<bool>::dummy_precision() (three locations) by false in order to suppress warnings.
2010-02-11 11:31:22 +01:00
Gael Guennebaud
48f5980669
fix compilation (cwise and epsilon)
2010-02-11 09:24:29 +01:00
Gael Guennebaud
0ca67afe6a
finally here is a simple solution making (a*b).diagonal() even faster than a.lazyProduct(b).diagonal() !!
2010-02-10 14:08:47 +01:00
Gael Guennebaud
8918d18e21
Improved patch from Manuel Yguel:
...
Enhance AlignedBox to accept integral types and add some usefull methods: diagonal, volume, sample.
2010-02-10 11:40:55 +01:00
Gael Guennebaud
bb290977b8
add highest and lowest functions to NumTraits
2010-02-10 11:11:21 +01:00
Gael Guennebaud
fe0827495a
* move dummy_precision and epsilon to NumTraits
...
* make NumTraits inherits std::numeric_limits
2010-02-10 10:52:28 +01:00
Hauke Heibel
5da3049b80
Regression tests for number of nested temporaries.
...
Moved EIGEN_DEBUG_MATRIX_CTOR to ei_matrix_storage to capture resize related allocations.
2010-02-09 20:32:48 +01:00
Gael Guennebaud
71e580c4aa
fix nesting in Arraywrapper and nesting_ops
2010-02-09 16:38:36 +01:00
Gael Guennebaud
285bc336d5
document lazyProduct
2010-02-09 14:45:17 +01:00
Gael Guennebaud
840977529f
* as promised, remove the "optimization" for Product::diagonal()
...
* add MatrixBase::lazyProduct
2010-02-09 14:34:31 +01:00
Gael Guennebaud
9ce1212d7c
For the record, here is a solution for (a*b).diagonal, at the cost of extra copies
...
if a and/or b as to be evaluated. So in the next commit I'll remove it. A nice
solution would be to evaluate the lhs/rhs into member of the initial product,
but that would be overkill.
2010-02-09 14:28:22 +01:00
Gael Guennebaud
8185a3c6cf
fix one useless temp & copy
2010-02-09 13:16:29 +01:00
Gael Guennebaud
1cb59e4781
fix nesting lazy prod by ref
2010-02-09 11:27:30 +01:00
Gael Guennebaud
d104d2cd29
add accessors to coeff based product
2010-02-09 11:13:22 +01:00
Gael Guennebaud
5686eca7b1
* fix multiple temporary copies for coeff based products
...
* introduce a lazy product version of the coefficient based implementation
=> flagged is not used anymore
=> small outer product are now lazy by default (aliasing is really unlikely for outer products)
2010-02-09 11:05:39 +01:00
Gael Guennebaud
0398e21198
s/UnrolledProduct/CoeffBasedProduct
2010-02-09 10:02:26 +01:00
Gael Guennebaud
c076fec734
fix the multiple temporary issue for nested products
2010-02-09 09:58:34 +01:00
Gael Guennebaud
8b016e717f
get rid of NestParentByRefBit
2010-02-08 16:51:41 +01:00
Hauke Heibel
871698d3aa
Introduced NestParentByRefBit and NestByRefBit - this should fix temporaries related to nested products.
...
Fixed a few typos and a few warnings.
2010-02-06 17:43:32 +01:00
Gael Guennebaud
6f3f857897
make noalias works for coefficient based products
2010-02-05 23:44:24 +01:00
Gael Guennebaud
52167be4c8
make sure the correct diagoanl() function is called in trace()
2010-02-04 18:51:29 +01:00
Gael Guennebaud
73eb0e633c
* resurected Flagged from Eigen2Support
...
* reimplement .diagonal() for ProductBase to make (A*B).diagonal() more efficient!
2010-02-04 18:28:09 +01:00
Gael Guennebaud
b44240180f
optiization: make hybrid small/large outer products use the unrolled path
2010-02-04 17:17:57 +01:00
Hauke Heibel
d0b4ef81f0
Prevent temporaries for reductions.
2010-02-04 14:26:03 +01:00
Hauke Heibel
05837be8fb
Fixed a warning.
...
Transform::Identity() is now returning a Transform.
2010-02-03 09:46:27 +01:00
Hauke Heibel
8861dce7ee
Fixed 32bit builds.
2010-02-03 09:07:17 +01:00
Hauke Heibel
7b2dd988fa
Fixes #89 .
...
Added regression test.
2010-02-02 09:27:41 +01:00
Gael Guennebaud
7c41fb66f8
fix compilation on 32bits systems
2010-02-01 11:45:08 +01:00
Gael Guennebaud
08f154b93a
remove some trailing nestbyvalue
2010-02-01 11:44:44 +01:00
Gael Guennebaud
dd817361f5
use unrolled product path for small outer product
2010-01-31 12:28:16 +01:00
Gael Guennebaud
43f0c0cbb3
fix triangular view assignment
2010-01-30 09:02:18 +01:00
Gael Guennebaud
b6521b799f
add specialization of ei_ref_selector for Array (fix a big perf issue \!)
2010-01-29 21:28:23 +01:00
Hauke Heibel
6dee5440e4
Adapted mean to work with complex numbers.
...
Added regression test.
2010-01-29 12:12:02 +01:00
Hauke Heibel
42b88983ff
Fixed mean reduction leading to unresolved symbol.
2010-01-29 11:48:16 +01:00
Hauke Heibel
33abe75afa
Fixed Quaternion operator*= added regression test.
2010-01-28 10:32:44 +01:00
Thomas Capricelli
fcd074c928
silent warning of icc
2010-01-27 23:43:32 +01:00
Gael Guennebaud
0ce5bc0d14
add support for global math function for array
2010-01-27 23:23:59 +01:00
Hauke Heibel
5b9cc65418
Added EIGEN_DEFINE_STL_VECTOR_SPECIALIZATION macro including unit tests and documentation.
2010-01-27 20:34:05 +01:00
Benoit Jacob
828d058b4b
EIGEN_ENUM_MIN ---> EIGEN_SIZE_MIN
2010-01-27 11:42:04 -05:00
Benoit Jacob
35bacf7cb8
*forward port fix in MapBase::coeff(int) and coeffRef(int)
...
*forward port expanded map.cpp unit test
*fix unused variable warnings
2010-01-27 07:11:49 -05:00
Hauke Heibel
4365a48748
Added an ei_linspaced_op to create linearly spaced vectors.
...
Added setLinSpaced/LinSpaced functionality to DenseBase.
Improved vectorized assignment - overcomes MSVC optimization issues.
CwiseNullaryOp is now requiring functors to offer 1D and 2D operators.
Adapted existing functors to the new CwiseNullaryOp requirements.
Added ei_plset to create packages as [a, a+1, ..., a+size].
Added more nullaray unit tests.
2010-01-26 19:42:17 +01:00