Florian Maurin
8763a05898
Core: Avoid NaN seeds in RVV min/max reductions
...
libeigen/eigen!2890
2026-08-21 09:13:09 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
c095d7e78e
Core: Make PropagateNaN min/max agree on signed-zero ties
...
libeigen/eigen!2865
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-08-19 15:18:17 -07:00
onalante-ebay
43d03664d1
Optimize NEON 64-bit integral packets
...
libeigen/eigen!2817
2026-08-17 21:11:32 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
8cef20fd23
Core: Fix SSE2 pcmp_lt<Packet2l> comparing low halves as signed
...
libeigen/eigen!2831
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-08-16 17:39:42 -07:00
onalante-ebay
5ee913f028
Fix unsafe use of EIGEN_ALIGN_MAX for aligned-packet data
...
libeigen/eigen!2785
2026-08-14 10:01:08 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
58ce80b3a7
Core: Fix typed is-nan/inf/finite predicates for integer packets
...
libeigen/eigen!2779
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-08-12 04:20:14 -07:00
Florian Maurin
3769791e3c
Cleanup: Remove obsolete and unused code
...
libeigen/eigen!2752
2026-08-10 15:37:20 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
b941180f8d
Core: keep NaN/Inf constants out of fast-math poison in packet kernels
...
libeigen/eigen!2700
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-07-10 17:55:17 -07:00
9d5669f470
Core: add ArrayBase::ldexp() and Eigen::ldexp() for exact scaling by 2^e
...
libeigen/eigen!2707
Co-authored-by: Rasmus Munk Larsen <rlarsen@nvidia.com >
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-07-10 16:03:11 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
dfa92d7c0a
Core: fix pldexp intermediate overflow for |e| >= 2^ExponentBits
...
libeigen/eigen!2706
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-07-10 13:53:41 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
b4e88b90d9
packetmath: fix signed-integer-overflow UB in test reference helpers
...
libeigen/eigen!2671
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-06-30 16:32:22 -07:00
Florian Maurin
039764e20a
Constexpr compile time branches
...
libeigen/eigen!2575
2026-05-22 13:18:49 -07:00
Florian Maurin
567fd4cb95
Cleanup: raise compiler minimums for C++14
...
libeigen/eigen!2536
2026-05-15 10:12:14 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
fddb6dcd3d
Perf: tighter pldexp 4-way split (tree multiply, vpmovsxdq expansion, drop pnegate)
...
libeigen/eigen!2527
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-05-10 16:45:48 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
9046e3c38a
Fix: pexp_float no longer flushes subnormals to zero
...
libeigen/eigen!2526
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-05-10 16:37:38 -07:00
Florian Maurin
83184e67da
Cleanup: Modernize internal utilities for C++14
...
libeigen/eigen!2518
2026-05-07 16:43:22 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
8a3d61c790
Licensing: SPDX identifiers, REUSE.toml, and checkformat:reuse CI job
...
libeigen/eigen!2509
Closes #2868
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-05-04 00:36:12 +00:00
Rasmus Munk Larsen and Rasmus Munk Larsen
92c7bb75ee
Core: patanh fast-exit and plog10_float hi+lo accuracy fix
...
libeigen/eigen!2497
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-05-02 08:03:34 -07:00
Florian Maurin
879885e10d
Modernize internal utilities for C++14
...
libeigen/eigen!2490
2026-05-01 09:54:04 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
5da2b96696
Drop cxx11_ prefix from tensor tests and remove stale pre-C++11 comments
...
libeigen/eigen!2441
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-04-18 21:47:59 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
64885cc6a3
Fix remaining MSVC warnings in Windows CI (C4804, C4244, C4146, C4305)
...
libeigen/eigen!2374
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-04-01 17:20:31 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
843ffcec8b
Fix warnings reported by NVHPC 26.1
...
libeigen/eigen!2324
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-03-22 11:43:40 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
6490b17e6f
Fix sanitizer regressions in sparse serializer and packet tests
...
libeigen/eigen!2319
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-03-22 09:10:16 -07:00
Rasmus Munk Larsen and Rasmus Munk Larsen
8eaa7552fe
Fix three flaky tests: packetmath, array_cwise, polynomialsolver
...
libeigen/eigen!2267
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-03-08 14:59:23 -07:00
Antonio Sánchez
20fce70e5a
Fix another complex div edge case.
...
libeigen/eigen!2257
2026-03-06 13:37:26 -08:00
Rasmus Munk Larsen and Rasmus Munk Larsen
78b76986b7
Comment cleanup v3: trailing ??, informal language, FIXME/TODO colons
...
libeigen/eigen!2197
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-22 21:20:08 -08:00
Rasmus Munk Larsen and Rasmus Munk Larsen
44c6132163
Fix ~40 typos found by codespell across the codebase
...
libeigen/eigen!2181
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-21 21:29:50 -08:00
Rasmus Munk Larsen and Rasmus Munk Larsen
b6b2f31ba8
Fix compiler warnings from GCC 13 and Clang 18
...
libeigen/eigen!2146
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-17 10:09:39 -08:00
Rasmus Munk Larsen and Rasmus Munk Larsen
e6e5b5c4c8
Fix pexp_complex for complex<double> (issue #3022 )
...
libeigen/eigen!2140
Closes #3022
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-16 15:30:31 -08:00
Antonio Sánchez
1a2b80727c
Fix pdiv for complex packets involving infinites.
...
libeigen/eigen!2131
2026-02-14 17:47:32 -08:00
Antonio Sánchez
4d05fcf8da
Fix packetmath tests on M* macs.
...
libeigen/eigen!2120
2026-02-08 10:07:24 -08:00
Charles Schlosser
3d6f5fe8fe
Tests: skip denorms in ARM ieee tests
...
libeigen/eigen!2115
2026-01-27 17:43:19 +00:00
Charles Schlosser
fdfdd4c96b
test suite: emit the function name when an ieee test fails
...
libeigen/eigen!2114
2026-01-22 02:32:38 +00:00
Rasmus Munk Larsen and Rasmus Munk Larsen
a7674b70d3
Improve packet op test coverage for IEEE special values.
...
libeigen/eigen!2075
Co-authored-by: Rasmus Munk Larsen <rmlarsen@google.com >
2025-11-12 22:19:50 +00:00
ec93a6d098
Add a generic Eigen backend based on clang vector extensions
...
The goal of this MR is to implement a generic SIMD backend (packet ops) for Eigen that uses clang vector extensions instead of platform-dependent intrinsics. Ideally, this should make it possible to build Eigen and achieve reasonable speed on any platform that has a recent clang compiler, without having to write any inline assembly or intrinsics.
Caveats:
* The current implementation is a proof of concept and supports vectorization for float, double, int32_t, and int64_t using fixed-size 512-bit vectors (a somewhat arbitrary choice). I have not done much to tune this for speed yet.
* For now, there is no way to enable this other than setting -DEIGEN_VECTORIZE_GENERIC on the command line.
* This only compiles with newer versions of clang. I have tested that it compiles and all tests pass with clang 19.1.7.
https://clang.llvm.org/docs/LanguageExtensions.html#vectors-and-extended-vectors
Closes #2998 and #2997
See merge request libeigen/eigen!2051
Co-authored-by: Rasmus Munk Larsen <rmlarsen@google.com >
Co-authored-by: Antonio Sánchez <cantonios@google.com >
2025-11-06 21:52:19 +00:00
Rasmus Munk Larsen and Rasmus Munk Larsen
b6fcddccfc
Get rid of pblend packet op.
...
There was only a single code path left in TensorEvaluator using pblend. We can replace that with a call to the more general TernarySelectOp and get rid of pblend entirely from Core.
Closes #2998
See merge request libeigen/eigen!2056
Co-authored-by: Rasmus Munk Larsen <rmlarsen@google.com >
2025-11-03 23:27:50 +00:00
Antonio Sánchez
2e8cc042a1
Replace calls to numext::fma with numext:madd.
2025-08-28 21:40:19 +00:00
Antonio Sánchez
db8bd5b825
Modify pselect and various masks to use Scalar(1) for true.
2025-06-20 22:40:46 +00:00
Antonio Sánchez
c458d68fae
Fix compile warning about * with bool.
2025-06-05 22:48:57 +00:00
Rasmus Munk Larsen
33f5f59614
Vectorize cbrt for float and double.
2025-04-17 23:31:20 +00:00
Antonio Sánchez
b860042263
Add postream for ostream-ing packets more reliably.
2025-04-01 22:12:00 +00:00
Antonio Sanchez
8e32cbf7da
Reduce flakiness of test for Eigen::half.
2025-03-23 22:31:25 -07:00
Antonio Sánchez
d935916ac6
Add numext::fma and missing pmadd implementations.
2025-03-23 01:05:53 +00:00
Antonio Sánchez
70f2aead9a
Use native _Float16 for AVX512FP16 and update vectorization.
2025-03-19 19:55:26 +00:00
Charles Schlosser
10e62ccd22
Fix x86 complex vectorized fma
2025-03-12 17:06:32 +00:00
Antonio Sánchez
d79bac0d3c
Fix boolean scatter and random generation for tensors.
2025-02-25 21:37:09 +00:00
Rasmus Munk Larsen
5064cb7d5e
Add test for using pcast on scalars.
2024-11-25 22:27:26 -08:00
Rasmus Munk Larsen
3f067c4850
Add exp2() as a packet op and array method.
2024-10-22 22:09:34 +00:00
Charles Schlosser
9d3d37c5b7
Complex Numtraits::HasSign and nmsub test
2024-08-28 03:02:47 +00:00
Charles Schlosser
fb95e90f7f
Add truncation op
2024-04-29 23:45:49 +00:00