aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/Core
Commit message (Collapse)AuthorAge
* Add TernaryFunctors and the betainc SpecialFunction.Gravatar Eugene Brevdo2016-06-02
| | | | | | | | | | | | | | | | | | | TernaryFunctors and their executors allow operations on 3-tuples of inputs. API fully implemented for Arrays and Tensors based on binary functors. Ported the cephes betainc function (regularized incomplete beta integral) to Eigen, with support for CPU and GPU, floats, doubles, and half types. Added unit tests in array.cpp and cxx11_tensor_cuda.cu Collapsed revision * Merged helper methods for betainc across floats and doubles. * Added TensorGlobalFunctions with betainc(). Removed betainc() from TensorBase. * Clean up CwiseTernaryOp checks, change igamma_helper to cephes_helper. * betainc: merge incbcf and incbd into incbeta_cfe. and more cleanup. * Update TernaryOp and SpecialFunctions (betainc) based on review comments.
* bug #725: make move ctor/assignment noexcept.Gravatar Gael Guennebaud2016-06-03
|
* Include mmintrin.h to make it possible to use mmx instructions when needed. ↵Gravatar Benoit Steiner2016-05-23
| | | | For example, this will enable the definition of a half packet for the Packet4f type.
* Started to vectorize the processing of 16bit floats on CPU.Gravatar Benoit Steiner2016-05-23
|
* Don't attempt to leverage the _cvtss_sh and _cvtsh_ss instructions when ↵Gravatar Benoit Steiner2016-04-20
| | | | compiling with clang since it's unclear which versions of clang actually support these instruction.
* Made sure all the required header files are included when trying to use fp16Gravatar Benoit Steiner2016-04-19
|
* Merged eigen/eigen into defaultGravatar Rasmus Larsen2016-04-11
|\
| * Remove all references to MKL in BLAS wrappers.Gravatar Gael Guennebaud2016-04-11
| |
* | Merged eigen/eigen into defaultGravatar Rasmus Larsen2016-04-07
|\|
| * Added support for hardware conversion between fp16 and full floats wheneverGravatar Benoit Steiner2016-04-06
| | | | | | | | possible.
| * Merged kmargar/eigen/tip into defaultGravatar Konstantinos Margaritis2016-04-05
| |\
| | * enable the other includes as wellGravatar Konstantinos Margaritis2016-04-05
| | |
* | | Merged eigen/eigen into defaultGravatar Rasmus Larsen2016-04-01
|\| |
* | | Add matrix condition estimator module that implements the Higham/Hager ↵Gravatar Rasmus Munk Larsen2016-04-01
| | | | | | | | | | | | algorithm from http://www.maths.manchester.ac.uk/~higham/narep/narep135.pdf used in LPACK. Add rcond() methods to FullPivLU and PartialPivLU.
| * | Pull math functions from the global namespace only when compiling cuda code ↵Gravatar Benoit Steiner2016-03-30
|/ / | | | | | | with nvcc. When compiling with clang, we want to use the std namespace.
| * some primitives ported, but missing intrinsics and crash with asm() are a ↵Gravatar Konstantinos Margaritis2016-03-27
|/ | | | problem
* Made half floats usable on hardware that doesn't support them natively.Gravatar Benoit Steiner2016-03-11
|
* Added support for simple coefficient wise tensor expression using half ↵Gravatar Benoit Steiner2016-02-19
| | | | floats on CUDA devices
* FP16 on CUDA are only available starting with cuda 7.5. Disable them when ↵Gravatar Benoit Steiner2016-02-18
| | | | using an older version of CUDA
* Reverted unintended changes introduced by a bad mergeGravatar Benoit Steiner2016-02-19
|
* Added preliminary support for half floats on CUDA GPU. For now we can simply ↵Gravatar Benoit Steiner2016-02-19
| | | | convert floats into half floats and vice versa
* Add special functions to Eigen: lgamma, erf, erfc.Gravatar Eugene Brevdo2015-12-07
| | | | Includes CUDA support and unit tests.
* Add LU::transpose().solve() and LU::adjoint().solve() API.Gravatar Gael Guennebaud2015-12-01
|
* Clean a bit the implementation of inverse permutationsGravatar Gael Guennebaud2015-10-08
|
* Implement plog and pexp for AltiVec.Gravatar Doug Kwan2015-07-30
|
* Remove deprecated Flagged expression.Gravatar Gael Guennebaud2015-09-02
|
* Include SSE packetmath when AVX is enabled, and enable AVX's sine function ↵Gravatar Gael Guennebaud2015-08-07
| | | | only in fast-math mode (as SSE)
* bug #973: update macro-level control of alignement by introducing ↵Gravatar Gael Guennebaud2015-07-29
| | | | user-controllable EIGEN_MAX_ALIGN_BYTES and EIGEN_MAX_STATIC_ALIGN_BYTES macros. This changeset also removes EIGEN_ALIGN (replaced by EIGEN_MAX_ALIGN_BYTES>0), EIGEN_ALIGN_STATICALLY (replaced by EIGEN_MAX_STATIC_ALIGN_BYTES>0), EIGEN_USER_ALIGN*, EIGEN_ALIGN_DEFAULT (replaced by EIGEN_ALIGN_MAX).
* Define EIGEN_VECTORIZE_AVX2 and EIGEN_VECTORIZE_FMA when the corresponding ↵Gravatar Benoit Steiner2015-07-22
| | | | instructions can be used by the compiler
* Fixed some compiler bugs in NVCC, now compiles with CUDA.Gravatar Jonas Adler2015-07-22
| | | | (chtz: Manually joined sevaral commits to keep the history clean)
* Revert files to remove EIGEN_USING_NUMEXT_MATHGravatar Nicolas Mellado2015-07-11
|
* Protect against compilation errors with nvcc and numext/complex.Gravatar Nicolas Mellado2015-07-06
| | | | | Disable functions explicitely involving std::complex when compiling with nvcc. Improve code compatilibity using the new macro EIGEN_USING_NUMEXT_MATH (same spirit than EIGEN_USING_STD_MATH but for numext functions)
* Remove a few deprecated internal expressionsGravatar Gael Guennebaud2015-06-19
|
* Abandon blocking size lookup table approach. Not performing as well in real ↵Gravatar Benoit Jacob2015-05-19
| | | | world as in microbenchmark.
* Check for the macro __ARM_NEON__ (with two underscores at the end) as well ↵Gravatar Pete Warden2015-05-12
| | | | as __ARM_NEON. The second macro is correct according to the ARM language extensions specification, but historically the first one has been more common. Some older compilers (e.g. gcc v4.6 on a Beaglebone Black) only define the first, so without this patch NEON isn't enabled.
* Pulled latest update from the eigen main codebaseGravatar Benoit Steiner2015-03-24
|\
| * use unsigned short instead of uint16_t which doesn't exist in c++98Gravatar Benoit Jacob2015-03-17
| |
| * Include stdint.h. Not going for cstdint because it is a C++11 addition. ↵Gravatar Benoit Jacob2015-03-16
| | | | | | | | Needed for uint16_t at least, in lookup-table code.
| * Provide a empirical lookup table for blocking sizes measured on a Nexus 5. ↵Gravatar Benoit Jacob2015-03-15
| | | | | | | | Only for float, only for Android on ARM 32bit for now.
| * Refactor computeProductBlockingSizes to make room for the possibility of ↵Gravatar Benoit Jacob2015-03-15
| | | | | | | | using lookup tables
* | Added support for vectorized type casting of tensorsGravatar Benoit Steiner2015-02-27
|/
* Pulled latest updates from trunkGravatar Benoit Steiner2015-02-13
|\
* | Optimized version of the sin(), exp(), log() and sqrt() function for AVXGravatar Benoit Steiner2015-02-13
| |
| * merge Tensor module within Eigen/unsupported and update gemv BLAS wrapperGravatar Gael Guennebaud2015-02-12
|/|
* | Added vectorized implementation of the exponential function for ARM/NEONGravatar Benoit Steiner2015-02-10
| |
| * Pulled the latest changes from the trunkGravatar Benoit Steiner2015-02-06
| |\ | |/ |/|
* | bug #936, patch 2/3: Remove EIGEN_VECTORIZE_FMA, was redundant with ↵Gravatar Benoit Jacob2015-01-30
| | | | | | | | EIGEN_HAS_SINGLE_INSTRUCTION_MADD
* | Introduce unified macros to identify compiler, OS, and architecture. They ↵Gravatar Gael Guennebaud2014-11-04
| | | | | | | | are all defined in util/Macros.h and prefixed with EIGEN_COMP_, EIGEN_OS_, and EIGEN_ARCH_ respectively.
* | Merged in kmargar/eigen (pull request PR-87)Gravatar Konstantinos Margaritis2014-10-28
|\ \ | | | | | | | | | Extend NEON to add ARMv8 64-bit double support
* | | Bug #896: Swap order of checking __VSX__/__ALTIVEC__Gravatar Konstantinos Margaritis2014-10-22
| | |