Thomas Capricelli
0f3d69b65e
Provide "eigen" defines to decide which instruction set is used
...
(sse3, ssse3 and sse4), independantly from the compiler.
Only those defines should be used in other places, and the user can
rely on those to know which sets are used.
2010-02-24 21:43:30 +01:00
Hauke Heibel
1fd8d7b96a
Attempt to fix PGI compilation issue.
2010-02-23 11:35:51 +01:00
Gael Guennebaud
d2b0eadf52
fully adapt the gebp kernel and optimize it for CPU with only 8 registers
...
(transplanted from 2ed88ebbf1995be90b8d0c25ff10248c8f56d023)
2010-02-22 16:35:05 +01:00
Gael Guennebaud
51a4b929a1
implement an even lower level version of the gebp kernel for MSVC (it seems to be faster with gcc as well)
...
(transplanted from 9a5643551fe068497f84a81cd8986febf1918382)
2010-02-22 15:18:29 +01:00
Thomas Capricelli
1a70f3b48d
fix compilation
2010-02-21 19:30:11 +01:00
Hauke Heibel
a901bed33a
Added IsRowMajor enum to DenseBase.
2010-02-21 18:26:14 +01:00
Hauke Heibel
abc8c01080
Renamed PlainMatrixType to PlainObject (Array != Matrix).
...
Renamed ReturnByValue::ReturnMatrixType ReturnByValue::ReturnType (again, Array != Matrix).
2010-02-20 15:53:57 +01:00
Hauke Heibel
f0c8dcf1e2
Renamed AnyMatrixBase to EigenBase.
2010-02-20 15:26:02 +01:00
Gael Guennebaud
4f8773c23a
fix stupid enum values
2010-02-19 17:46:36 +01:00
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
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
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
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
8861dce7ee
Fixed 32bit builds.
2010-02-03 09:07:17 +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
Thomas Capricelli
fcd074c928
silent warning of icc
2010-01-27 23:43:32 +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