aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/main.h
Commit message (Collapse)AuthorAge
* Support manually disabling exceptionsHEADmasterGravatar Benjamin Barenblat2021-07-07
| | | | | Rename EIGEN_EXCEPTIONS to EIGEN_USE_EXCEPTIONS, and allow disabling exceptions with -DEIGEN_USE_EXCEPTIONS=0.
* Add Doxygen-style documentation to main.h.Gravatar Kolja Brix2021-07-07
|
* Use singleton pattern for static registered tests.Gravatar Antonio Sanchez2021-03-18
| | | | | | | | | | The original fails with nvcc+msvc - there's a static order of initialization issue leading to registered tests being cleared. The test then fails on ``` VERIFY(EigenTest::all().size()>0); ``` since `EigenTest` no longer contains any tests. The singleton pattern fixes this.
* Fix NVCC+ICC issues.Gravatar Antonio Sanchez2021-03-15
| | | | | | | | | | | | | | | | | | | | | | | | NVCC does not understand `__forceinline`, so we need to use `inline` when compiling for GPU. ICC specializes `std::complex` operators for `float` and `double` by default, which cannot be used on device and conflict with Eigen's workaround in CUDA/Complex.h. This can be prevented by defining `_OVERRIDE_COMPLEX_SPECIALIZATION_` before including `<complex>`. Added this define to the tests and to `Eigen/Core`, but this will not work if the user includes `<complex>` before `<Eigen/Core>`. ICC also seems to generate a duplicate `Map` symbol in `PlainObjectBase`: ``` error: "Map" has already been declared in the current scope static ConstMapType Map(const Scalar *data) ``` I tracked this down to `friend class Eigen::Map`. Putting the `friend` statements at the bottom of the class seems to resolve this issue. Fixes #2180
* Define EIGEN_CPLUSPLUS and replace most __cplusplus checks.Gravatar Antonio Sanchez2021-03-05
| | | | | | | | | | | | | | | The macro `__cplusplus` is not defined correctly in MSVC unless building with the the `/Zc:__cplusplus` flag. Instead, it defines `_MSVC_LANG` to the specified c++ standard version number. Here we introduce `EIGEN_CPLUSPLUS` which will contain the c++ version number both for MSVC and otherwise. This simplifies checks for supported features. Also replaced most instances of standard version checking via `__cplusplus` with the existing `EIGEN_COMP_CXXVER` macro for better clarity. Fixes: #2170
* Include chrono in main for c++11.Gravatar Antonio Sanchez2020-12-03
| | | | Hack to fix tensor tests, since min/max are overridden by `main.h`.
* Clean up packetmath tests and fix various bugs to make bfloat16 pass ↵Gravatar Rasmus Munk Larsen2020-10-09
| | | | (almost) all packetmath tests with SSE, AVX, and AVX512.
* Support BFloat16 in EigenGravatar Teng Lu2020-06-20
|
* PR 719: fix real/imag namespace conflictGravatar Gael Guennebaud2019-10-08
|
* [SYCL] This PR adds the minimum modifications to Eigen core required to run ↵Gravatar Mehdi Goli2019-06-27
| | | | | | | | Eigen unsupported modules on devices supporting SYCL. * Adding SYCL memory model * Enabling/Disabling SYCL backend in Core * Supporting Vectorization
* Clean up CUDA/NVCC version macros and their use in Eigen, and a few other ↵Gravatar Rasmus Munk Larsen2019-05-31
| | | | CUDA build failures.
* bug #1672: fix unit test compilation with MSVC by adding overloads of ↵Gravatar Gael Guennebaud2019-01-28
| | | | test_is* for long long (and factorize copy/paste code through a macro)
* Avoid `I` as an identifier, since it may clash with the C-header complex.hGravatar Christoph Hertzberg2019-01-25
|
* Add more extensive tests of Array ctors, including {} variantsGravatar Gael Guennebaud2019-01-22
|
* Fix compilation of unit tests with gcc and c++17Gravatar Gael Guennebaud2019-01-18
|
* cleanupGravatar Gael Guennebaud2019-01-15
|
* Add support for thread local support on platforms that do not support it ↵Gravatar Rasmus Munk Larsen2018-08-13
| | | | through emulation using a hash map.
* Disabling assert inside SYCL kernel.Gravatar Mehdi Goli2018-08-08
|
* Get rid of EIGEN_TEST_FUNC, unit tests must now be declared with ↵Gravatar Gael Guennebaud2018-07-17
| | | | | | | | | EIGEN_DECLARE_TEST(mytest) { /* code */ }. This provide several advantages: - more flexibility in designing unit tests - unit tests can be glued to speed up compilation - unit tests are compiled with same predefined macros, which is a requirement for zapcc
* Fix VERIFY_EVALUATION_COUNT(EXPR,N) with a complex expression as NGravatar Gael Guennebaud2018-07-17
|
* updates based on PR feedbackGravatar Deven Desai2018-06-14
| | | | | | | | | | | | | | | | | There are two major changes (and a few minor ones which are not listed here...see PR discussion for details) 1. Eigen::half implementations for HIP and CUDA have been merged. This means that - `CUDA/Half.h` and `HIP/hcc/Half.h` got merged to a new file `GPU/Half.h` - `CUDA/PacketMathHalf.h` and `HIP/hcc/PacketMathHalf.h` got merged to a new file `GPU/PacketMathHalf.h` - `CUDA/TypeCasting.h` and `HIP/hcc/TypeCasting.h` got merged to a new file `GPU/TypeCasting.h` After this change the `HIP/hcc` directory only contains one file `math_constants.h`. That will go away too once that file becomes a part of the HIP install. 2. new macros EIGEN_GPUCC, EIGEN_GPU_COMPILE_PHASE and EIGEN_HAS_GPU_FP16 have been added and the code has been updated to use them where appropriate. - `EIGEN_GPUCC` is the same as `(EIGEN_CUDACC || EIGEN_HIPCC)` - `EIGEN_GPU_DEVICE_COMPILE` is the same as `(EIGEN_CUDA_ARCH || EIGEN_HIP_DEVICE_COMPILE)` - `EIGEN_HAS_GPU_FP16` is the same as `(EIGEN_HAS_CUDA_FP16 or EIGEN_HAS_HIP_FP16)`
* syncing this fork with upstreamGravatar Deven Desai2018-06-13
|\
| * bug #1531: expose NumDimensions for compatibility with TensorGravatar Gael Guennebaud2018-06-08
| |
* | Adding support for using Eigen in HIP kernels.Gravatar Deven Desai2018-06-06
| | | | | | | | | | | | | | | | | | This commit enables the use of Eigen on HIP kernels / AMD GPUs. Support has been added along the same lines as what already exists for using Eigen in CUDA kernels / NVidia GPUs. Application code needs to explicitly define EIGEN_USE_HIP when using Eigen in HIP kernels. This is because some of the CUDA headers get picked up by default during Eigen compile (irrespective of whether or not the underlying compiler is CUDACC/NVCC, for e.g. Eigen/src/Core/arch/CUDA/Half.h). In order to maintain this behavior, the EIGEN_USE_HIP macro is used to switch to using the HIP version of those header files (see Eigen/Core and unsupported/Eigen/CXX11/Tensor) Use the "-DEIGEN_TEST_HIP" cmake option to enable the HIP specific unit tests.
| * Fix short vs longGravatar Gael Guennebaud2018-06-07
|/
* Add parenthesis to fix compiler warningsGravatar Christoph Hertzberg2018-04-15
|
* MIsc. source and comment typosGravatar luz.paz2018-03-11
| | | | Found using `codespell` and `grep` from downstream FreeCAD
* Implement better static assertion checking to make sure that the first ↵Gravatar Gael Guennebaud2018-03-09
| | | | assertion is a static one and not a runtime one.
* Handle min/max/inf/etc issue in cuda_fp16.h directly in test/main.hGravatar Gael Guennebaud2017-08-24
|
* bug #1424: add numext::abs specialization for unsigned integer types.Gravatar Gael Guennebaud2017-06-09
|
* Fix tracking of temporaries in unit testsGravatar Gael Guennebaud2017-02-19
|
* Convert integers to real numbers when computing relative L2 errorGravatar Gael Guennebaud2017-01-05
|
* Fix misleading-indentation warnings.Gravatar Gael Guennebaud2016-12-01
|
* enable testing of Boost.Multiprecision with expression templatesGravatar Gael Guennebaud2016-07-20
|
* Enable custom scalar types in some unit tests.Gravatar Gael Guennebaud2016-07-20
|
* Disable MSVC's "decorated name length exceeded, name was truncated" warning ↵Gravatar Gael Guennebaud2016-06-02
| | | | in unit tests.
* Don't flood test output with successful VERIFY_IS_NOT_EQUAL tests.Gravatar Christoph Hertzberg2016-05-11
|
* Avoid double promotionGravatar Benoit Steiner2016-05-06
|
* Enabled the new threadpool testsGravatar Benoit Steiner2016-04-14
|
* Added support for fp16 to test_isApprox, test_isMuchSmallerThan, and ↵Gravatar Benoit Steiner2016-04-14
| | | | test_isApproxOrLessThan
* Replace all M_PI by EIGEN_PI and add a check to the testsuite.Gravatar Christoph Hertzberg2016-03-23
|
* Merged patch 672 from Justin Lebar: Don't use long doubles with cudaGravatar Benoit Steiner2016-03-22
|
* Protect all calls to isnan, isinf and isfinite with parentheses.Gravatar Christoph Hertzberg2015-08-14
|
* Fix output of relative error, and add more support for long doubleGravatar Gael Guennebaud2015-07-21
|
* Factorize VERIFY_EVALUATION_COUNT in unit testsGravatar Gael Guennebaud2015-06-19
|
* Extend VERIFY_IS_APPROX to report the magnitude of the relative difference ↵Gravatar Gael Guennebaud2015-06-15
| | | | in case of failure. This will ease identifying strongest failing tests
* Merged default into unary-array-cwise-functorsGravatar Deanna Hood2015-04-20
|\
| * Add the possibility to make VERIFY* checks to output a warning instead of ↵Gravatar Gael Guennebaud2015-03-24
| | | | | | | | abording.
* | Remove ambiguity with recent numext methods isNaN and isInfGravatar Deanna Hood2015-03-17
|/
* Re-enbale detection of min/max parentheses protection, and re-enable ↵Gravatar Gael Guennebaud2015-02-27
| | | | mpreal_support unit test.