aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/NumTraits.h
Commit message (Collapse)AuthorAge
* bug #1195: move NumTraits::Div<>::Cost to internal::scalar_div_cost (with ↵Gravatar Gael Guennebaud2016-09-08
| | | | some specializations in arch/SSE and arch/AVX)
* Generalize ScalarBinaryOpTraits to any complex-real combination as defined ↵Gravatar Gael Guennebaud2016-09-06
| | | | by NumTraits (instead of supporting std::complex only).
* Add minimal support for Array<string>, and fix Tensor<string>Gravatar Gael Guennebaud2016-07-25
|
* Add digits10 overload for complex.Gravatar Gael Guennebaud2016-07-25
|
* Update doc.Gravatar Gael Guennebaud2016-07-25
|
* Add NumTraits::digits10() function based on numeric_limits::digits10 and ↵Gravatar Gael Guennebaud2016-07-25
| | | | make use of it for printing matrices.
* Introduce a NumTraits<T>::Literal type to be used for literals, andGravatar Gael Guennebaud2016-06-23
| | | | | | | improve mixing type support in operations between arrays and scalars: - 2 * ArrayXcf is now optimized in the sense that the integer 2 is properly promoted to a float instead of a complex<float> (fix a regression) - 2.1 * ArrayXi is now forbiden (previously, 2.1 was converted to 2) - This mechanism should be applicable to any custom scalar type, assuming NumTraits<T>::Literal is properly defined (it defaults to T)
* Made it possible to use the NumTraits for complex and Array in a cuda kernel.Gravatar Benoit Steiner2016-03-31
|
* Started to model the cost of divisions more accurately.Gravatar Benoit Steiner2016-03-25
|
* Resolve bad merge.Gravatar Eugene Brevdo2016-03-08
|
* Add infinity() support to numext::numeric_limits, use it in lgamma.Gravatar Eugene Brevdo2016-03-02
| | | | | This makes the infinity access a __device__ function, removing nvcc warnings.
* Unify std::numeric_limits and device::numeric_limits within numext namespaceGravatar Gael Guennebaud2016-01-22
|
* Fix numerous doxygen shortcomings, and workaround some clang -Wdocumentation ↵Gravatar Gael Guennebaud2016-01-01
| | | | warnings
* Refactoring of the cost model:Gravatar Gael Guennebaud2015-10-28
| | | | | | | | | | | - Dynamic is now an invalid value - introduce a HugeCost constant to be used for runtime-cost values or arbitrarily huge cost - add sanity checks for cost values: must be >=0 and not too large This change provides several benefits: - it fixes shortcoming is some cost computation where the Dynamic case was not properly handled. - it simplifies cost computation logic, and should avoid future similar shortcomings. - it allows to distinguish between different level of dynamic/huge/infinite cost - it should enable further simplifications in the computation of costs (save compilation time)
* Fixed broken commit a09cfe650fe56b181747af04d61548800da1f72bGravatar Christoph Hertzberg2015-08-22
| | | | . Missing } and unprotected min/max calls and definitions.
* std::numeric_limits doesn't work reliably on CUDA devices. Use our own ↵Gravatar Benoit Steiner2015-08-21
| | | | definition of numeric_limit<T>::max() and numeric_limit<T>::min() instead of the stl ones.
* Removed the deprecated EIGEN2_SUPPORT, as previously announced. A ↵Gravatar Christoph Hertzberg2014-07-01
| | | | compilation error is raised, if this compile-switch is defined. The documentation references to the corresponding pages from Eigen3.2 now. Also, the Eigen2 testsuite has been removed.
* Add nvcc support for small eigenvalues decompositions and workaround lack of ↵Gravatar Gael Guennebaud2013-08-01
| | | | support for std::swap and std::numeric_limits
* Add nvcc support for normalize, initializers, and fuzzy comparisonsGravatar Gael Guennebaud2013-06-05
|
* Add missing epsilon/dummy_precision function in NumTraits<Array>Gravatar Gael Guennebaud2013-04-09
|
* Automatic relicensing to MPL2 using Keirs script. Manual fixup follows.Gravatar Benoit Jacob2012-07-13
|
* Get rid of include directives inside namespace blocks (bug #339).Gravatar Jitse Niesen2012-04-15
|
* fix static inline versus inline static issues (the former is the correct order)Gravatar Gael Guennebaud2012-01-31
|
* protect calls to min and max with parentheses to make Eigen compatible with ↵Gravatar Gael Guennebaud2011-07-21
| | | | | | | default windows.h (transplanted from 49b6e9143e1d74441924c0c313536e263e12a55c )
* allow the possibility to automatically call or not the ctors on a per scalar ↵Gravatar Gael Guennebaud2011-01-26
| | | | type basis, and disable automatic initialization of std::complex<>
* lots more EIGEN2_SUPPORT fixes. Now several of the most important core tests ↵Gravatar Benoit Jacob2011-01-20
| | | | build and succeed.
* big eigen2support fix, aimed at users who relied on internal eigen2 stuff: ↵Gravatar Benoit Jacob2011-01-19
| | | | | | | | | | now we dont need customizations in test/eigen2/main.h anymore. These tests already build: eigen2_basicstuff eigen2_adjoint eigen2_linearstructure eigen2_prec_inverse_4x4
* Initial fixes for bug #85.Gravatar Hauke Heibel2010-10-25
| | | | | | | Renamed meta_{true|false} to {true|false}_type, meta_if to conditional, is_same_type to is_same, un{ref|pointer|const} to remove_{reference|pointer|const} and makeconst to add_const. Changed boolean type 'ret' member to 'value'. Changed 'ret' members refering to types to 'type'. Adapted all code occurences.
* bug #86 : use internal:: namespace instead of ei_ prefixGravatar Benoit Jacob2010-10-25
|
* Various documentation improvements.Gravatar Jitse Niesen2010-07-06
| | | | | | | * Add short documentation for Array class * Put all classes explicitly in Core module (where applicable) * Section on Modules in Quick Reference Guide * Put Page 7 after Page 6 in Contents :)
* Bug fix for NumTraits<T>::lowest() .Gravatar Jitse Niesen2010-07-01
| | | | | | std::numeric_limits<T>::min() is the lowest *positive* normalized number for floating point types. This fixes the test failure for geo_alignedbox8 for me.
* fix readcost for complex typesGravatar Thomas Capricelli2010-05-26
|
* Complete rework of global math functions and NumTraits.Gravatar Benoit Jacob2010-04-28
| | | | | | | | * Now completely generic so all standard integer types (like char...) are supported. ** add unit test for that (integer_types). * NumTraits does no longer inherit numeric_limits * All math functions are now templated * Better guard (static asserts) against using certain math functions on integer types.
* Here is the proper fix.Gravatar Hauke Heibel2010-02-11
|
* Fixed typos.Gravatar Hauke Heibel2010-02-11
| | | | Replace NumTraits<bool>::dummy_precision() (three locations) by false in order to suppress warnings.
* Improved patch from Manuel Yguel:Gravatar Gael Guennebaud2010-02-10
| | | | Enhance AlignedBox to accept integral types and add some usefull methods: diagonal, volume, sample.
* add highest and lowest functions to NumTraitsGravatar Gael Guennebaud2010-02-10
|
* * move dummy_precision and epsilon to NumTraitsGravatar Gael Guennebaud2010-02-10
| | | | * make NumTraits inherits std::numeric_limits
* back out previous back out, and this time don't forgetGravatar Gael Guennebaud2009-11-06
| | | | to include the NumTraits.h file in the commit ;)
* bugfix in blueNormGravatar Gael Guennebaud2009-07-16
|
* add a blueNorm() function implementing the Blues's stable normGravatar Gael Guennebaud2009-07-13
| | | | | algorithm. it is currently provided for experimentation purpose only.
* remove sentence "Eigen itself is part of the KDE project."Gravatar Benoit Jacob2009-05-22
| | | | it never made very precise sense. but now does it still make any?
* Update e-mail addressGravatar Benoit Jacob2008-11-24
|
* * fix issues with "long double" type (useful to enforce the use of x87 ↵Gravatar Gael Guennebaud2008-09-14
| | | | | | registers) * extend the documentation on "extending Eigen"
* * add typedefs for matrices/vectors with LargeBitGravatar Benoit Jacob2008-04-10
| | | | | | | | * add -pedantic to CXXFLAGS * cleanup intricated expressions with && and || which gave warnings because of "missing" parentheses * fix compile error in NumTraits, apparently discovered by -pedantic
* Added initial experimental support for explicit vectorization.Gravatar Gael Guennebaud2008-04-09
| | | | | | | | | | | | | Currently only the following platform/operations are supported: - SSE2 compatible architecture - compiler compatible with intel's SSE2 intrinsics - float, double and int data types - fixed size matrices with a storage major dimension multiple of 4 (or 2 for double) - scalar-matrix product, component wise: +,-,*,min,max - matrix-matrix product only if the left matrix is vectorizable and column major or the right matrix is vectorizable and row major, e.g.: a.transpose() * b is not vectorized with the default column major storage. To use it you must define EIGEN_VECTORIZE and EIGEN_INTEL_PLATFORM.
* * make use of the EvalBeforeNestingBit and EvalBeforeAssigningBitGravatar Gael Guennebaud2008-04-05
| | | | | | | | | | | in ei_xpr_copy and operator=, respectively. * added Matrix::lazyAssign() when EvalBeforeAssigningBit must be skipped (mainly internal use only) * all expressions are now stored by const reference * added Temporary xpr: .temporary() must be called on any temporary expression not directly returned by a function (mainly internal use only) * moved all functors in the Functors.h header * added some preliminaries stuff for the explicit vectorization
* * added cwise comparisonsGravatar Gael Guennebaud2008-04-03
| | | | | | | * added "all" and "any" special redux operators * added support bool matrices * added support for cost model of STL functors via ei_functor_traits (By default ei_functor_traits query the functor member Cost)
* -new: recursive costs system, useful to determine automaticallyGravatar Benoit Jacob2008-04-03
| | | | | | | | when to evaluate arguments and when to meta-unroll. -use it in Product to determine when to eval args. not yet used to determine when to unroll. for now, not used anywhere else but that'll follow. -fix badness of my last commit
* -merge patch from Gael Guennebaud adding NumTraits for long longGravatar Benoit Jacob2008-02-29
| | | | | | | | | | and long double. -define scalar-multiple operators only for the current Scalar type; thanks to Gael for expaining how to make the compiler understand when automatic casting is needed. -take ScalarMultiple take only 1 template param, again. We lose some flexibility especially when dealing with complex numbers, but we gain a lot of extensibility to new scalar types.