Benoit Jacob
6347b1db5b
remove sentence "Eigen itself is part of the KDE project."
...
it never made very precise sense. but now does it still make any?
2009-05-22 20:25:33 +02:00
Gael Guennebaud
17860e578c
add SSE2 versions of sin, cos, log, exp using code from Julien
...
Pommier. They are for float only, and they return exactly the same
result as the standard versions in about 90% of the cases. Otherwise the max error
is below 1e-7. However, for very large values (>1e3) the accuracy of sin and cos
slighlty decrease. They are about 3 or 4 times faster than 4 calls to their respective
standard versions. So, is it ok to enable them by default in their respective functors ?
2009-03-25 12:26:13 +00:00
Konstantinos A. Margaritis
fe00e864a1
ei_pnegate implemented for AltiVec
2009-03-20 17:26:50 +00:00
Gael Guennebaud
fbf415c547
add vectorization of unary operator-() (the AltiVec version is probably
...
broken)
2009-03-20 10:03:24 +00:00
Gael Guennebaud
3f80c68be5
add the vectorization of abs
2009-03-09 18:40:09 +00:00
Konstantinos A. Margaritis
349557db9a
no reason for 3 vec_mins, 2 are enough apparently in ei_predux_min
2009-02-12 22:03:30 +00:00
Konstantinos A. Margaritis
ad2bf14dbb
modified ei_predux_min/max to actually use altivec instructions
2009-02-12 21:58:44 +00:00
Gael Guennebaud
51c991af45
* exit Sum.h, exit Prod.h, welcome vectorization of redux() !
...
* add vectorization for minCoeff and maxCoeff
2009-02-12 15:18:59 +00:00
Gael Guennebaud
7954f7709a
add ei_predux_mul for AltiVec
2009-02-10 18:26:59 +00:00
Konstantinos A. Margaritis
15e40b1099
fixed preserve_mask definition for AltiVec (needed __vector keyword)
2009-02-08 18:43:57 +00:00
Gael Guennebaud
cc90495e30
add bench_reverse, draft of a reverse vectorization for AltiVec, make
...
global Scaling function static
2009-02-06 13:28:55 +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
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
Gael Guennebaud
a95c1e190b
patch from Konstantinos Margaritis: Altivec vectorization is resurrected !
2008-08-22 13:19:35 +00:00
Benoit Jacob
e27b2b95cf
* rework Map, allow vectorization
...
* rework PacketMath and DummyPacketMath, make these actual template
specializations instead of just overriding by non-template inline
functions
* introduce ei_ploadt and ei_pstoret, make use of them in Map and Matrix
* remove Matrix::map() methods, use Map constructors instead.
2008-06-27 01:22:35 +00:00
Benoit Jacob
c9560df4a0
* add ei_pdiv intrinsic, make quotient functor vectorizable
...
* add vdw benchmark from Tim's real-world use case
2008-06-23 22:00:18 +00:00
Benoit Jacob
678f18fce4
put inline keywords everywhere appropriate. So we don't need anymore to pass
...
-finline-limit=1000 to gcc to get good performance. By the way some cleanup.
2008-05-12 17:34:46 +00:00
Benoit Jacob
dca416cace
move arch-specific code to arch/SSE and arch/AltiVec subdirs.
...
rename the noarch PacketMath.h to DummyPacketMath.h
2008-05-12 08:30:42 +00:00