Antonio Sánchez
6e4d5d4832
Add IWYU private pragmas to internal headers.
2023-08-21 16:25:22 +00:00
Charles Schlosser
44c20bbbe3
rint round floor ceil
2023-06-23 16:29:16 +00:00
Charles Schlosser
59b3ef5409
Partially Vectorize Cast
2023-06-09 16:54:31 +00:00
Antonio Sánchez
2d0c6ad873
Revert "Vectorize cast"
...
This reverts commit eb5ff1861a4783876564a1a79573c3b9ff566863
2023-04-26 18:03:36 +00:00
Charles Schlosser
eb5ff1861a
Vectorize cast
2023-04-26 02:50:13 +00:00
Rasmus Munk Larsen
0488b708b4
Vectorize tensor.isnan() by using typed predicates.
2023-03-16 04:04:22 +00:00
Rasmus Munk Larsen
6bb9609bcb
Make new Select implementation backwards compatible.
2023-03-10 23:07:47 +00:00
Charles Schlosser
0b396c3167
Scalarize comps
2023-03-02 17:06:23 +00:00
Charles Schlosser
826627f653
vectorize comparisons and select by enabling typed comparisons
2023-02-25 20:52:11 +00:00
Rasmus Munk Larsen
ce62177b5b
Vectorize atanh & add a missing definition and unit test for atan.
2023-02-21 03:14:05 +00:00
Charles Schlosser
049a144798
Add typed logicals
2023-02-18 01:23:47 +00:00
Charles Schlosser
94b19dc5f2
Add CArg
2023-02-15 21:33:06 +00:00
Rasmus Munk Larsen
77b48c440e
Fix compiler warnings.
2023-02-10 20:46:23 +00:00
Rasmus Munk Larsen
e4f58816d9
Get rid of custom implementation of equal_to and not_equal_no. No longer needed with c+14.
2023-02-07 21:36:44 -08:00
Charles Schlosser
6d9f662a70
Tweak atan2
2023-01-26 17:38:21 +00:00
Sean McBride
d70b4864d9
issue #2581 : review and cleanup of compiler version checks
2023-01-17 18:58:34 +00:00
Alexander Richardson
37de432907
Avoid using std::raise() for divide by zero
2022-12-14 20:06:16 +00:00
Charles Schlosser
6d3e3678b4
optimize equalspace packetop
2022-12-13 01:22:25 +00:00
Charles Schlosser
2004831941
add EqualSpaced / setEqualSpaced
2022-12-13 00:54:57 +00:00
Rasmus Munk Larsen
3bb6a48d8c
Fix bug atan2
2022-10-12 23:49:32 +00:00
Rasmus Munk Larsen
14c847dc0e
Refactor special values test for pow, and add a similar test for atan2
2022-10-12 20:12:08 +00:00
Rasmus Munk Larsen
462758e8a3
Don't use generic sign function for sign(complex) unless it is vectorizable
2022-10-12 16:03:29 +00:00
Rasmus Munk Larsen
c0d6a72611
Use pnegate(pzero(x)) as a generic way to generate -0.0. Some compiler do not handle the literal -0.0 properly in fastmath mode.
2022-10-12 01:57:05 +00:00
Rasmus Munk Larsen
3167544873
Handle NaN inputs to atan2.
2022-10-10 19:36:36 -07:00
Rasmus Munk Larsen
72db3f0fa5
Remove references to M_PI_2 and M_PI_4.
2022-10-11 00:27:16 +00:00
Antonio Sánchez
80efbfdeda
Unconditionally enable CXX11 math.
2022-10-04 17:37:47 +00:00
Rasmus Munk Larsen
1e1848fdb1
Add a vectorized implementation of atan2 to Eigen.
2022-09-28 20:46:49 +00:00
Rasmus Munk Larsen
7b2901e2aa
Add vectorized integer division for int32 with AVX512, AVX or SSE.
2022-09-21 00:27:23 +00:00
Rasmus Munk Larsen
273e0c884e
Revert "Add constexpr, test for C++14 constexpr."
2022-09-16 21:14:29 +00:00
Rasmus Munk Larsen
afc014f1b5
Allow mixed types for pow(), as long as the exponent is exactly representable in the base type.
2022-09-12 21:55:30 +00:00
Rasmus Munk Larsen
e8a2aa24a2
Fix a couple of issues with unary pow():
2022-09-09 17:21:11 +00:00
Tobias Schlüter
133498c329
Add constexpr, test for C++14 constexpr.
2022-09-07 03:42:34 +00:00
Antonio Sánchez
30c42222a6
Fix some test build errors in new unary pow.
2022-08-30 17:24:14 +00:00
Charles Schlosser
e5af9f87f2
Vectorize pow for integer base / exponent types
2022-08-29 19:23:54 +00:00
chuckyschluz
8acbf5c11c
re-enable pow for complex types
2022-08-26 17:29:02 -04:00
Charles Schlosser
76a669fb45
add fixed power unary operation
2022-08-16 21:32:36 +00:00
Rasmus Munk Larsen
97e0784dc6
Vectorize the sign operator in Eigen.
2022-08-09 19:54:57 +00:00
Tobias Schlüter
f3ba220c5d
Remove EIGEN_EMPTY_STRUCT_CTOR
2022-04-08 18:27:26 +00:00
Rasmus Munk Larsen
ea2c02060c
Add reciprocal packet op and fast specializations for float with SSE, AVX, and AVX512.
2022-01-21 23:49:18 +00:00
Rasmus Munk Larsen
a30ecb7221
Don't use the fast implementation if EIGEN_GPU_CC, since integer_packet is not defined for float4 used by the GPU compiler (even on host).
2022-01-12 20:16:16 +00:00
Rasmus Munk Larsen
0b58738938
Fix two corner cases in the new implementation of logistic sigmoid.
2022-01-12 00:41:29 +00:00
Rasmus Munk Larsen
80ccacc717
Fix accuracy of logistic sigmoid
2022-01-08 00:15:14 +00:00
Rasmus Munk Larsen
8b8125c574
Make sure the scalar and vectorized path for array.exp() return consistent values.
2022-01-07 23:31:35 +00:00
Erik Schultheis
ec2fd0f7ed
Require recent GCC and MSCV and removed EIGEN_HAS_CXX14
and some other feature test macros
2021-12-01 00:48:34 +00:00
Erik Schultheis
f33a31b823
removed EIGEN_HAS_CXX11_* and redundant EIGEN_COMP_CXXVER checks
2021-11-29 19:18:57 +00:00
sciencewhiz
4b6036e276
fix various typos
2021-09-22 16:15:06 +00:00
Rasmus Munk Larsen
d7d0bf832d
Issue an error in case of direct inclusion of internal headers.
2021-09-10 19:12:26 +00:00
Antonio Sanchez
7880f10526
Enable equality comparisons on GPU.
...
Since `std::equal_to::operator()` is not a device function, it
fails on GPU. On my device, I seem to get a silent crash in the
kernel (no reported error, but the kernel does not complete).
Replacing this with a portable version enables comparisons on device.
Addresses #2292 - would need to be cherry-picked. The 3.3 branch
also requires adding `EIGEN_DEVICE_FUNC` in `BooleanRedux.h` to get
fully working.
2021-08-03 01:53:31 +00:00
Antonio Sanchez
de2e62c62d
Disable vectorization of comparisons except for bool.
...
Packet input/output types must currently be the same, and since these
have a return type of `bool`, vectorization will only work if
input is bool.
2021-07-25 13:39:50 -07:00
derekjchow
66ca41bd47
Add support for vectorizing logical comparisons.
2021-07-23 20:07:48 +00:00