Don't use constexpr with half.
diff --git a/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h b/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h
index 9f12a34..86a49b6 100644
--- a/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h
+++ b/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h
@@ -461,10 +461,10 @@
template <typename T, typename ScalarType>
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T generic_ndtri_gt_exp_neg_two(const T& b) {
- constexpr ScalarType p0[] = {ScalarType(-5.99633501014107895267e1), ScalarType(9.80010754185999661536e1),
+ const ScalarType p0[] = {ScalarType(-5.99633501014107895267e1), ScalarType(9.80010754185999661536e1),
ScalarType(-5.66762857469070293439e1), ScalarType(1.39312609387279679503e1),
ScalarType(-1.23916583867381258016e0)};
- constexpr ScalarType q0[] = {ScalarType(1.0),
+ const ScalarType q0[] = {ScalarType(1.0),
ScalarType(1.95448858338141759834e0),
ScalarType(4.67627912898881538453e0),
ScalarType(8.63602421390890590575e1),
@@ -489,20 +489,20 @@
/* Approximation for interval z = sqrt(-2 log a ) between 2 and 8
* i.e., a between exp(-2) = .135 and exp(-32) = 1.27e-14.
*/
- constexpr ScalarType p1[] = {ScalarType(4.05544892305962419923e0), ScalarType(3.15251094599893866154e1),
- ScalarType(5.71628192246421288162e1), ScalarType(4.40805073893200834700e1),
- ScalarType(1.46849561928858024014e1), ScalarType(2.18663306850790267539e0),
- ScalarType(-1.40256079171354495875e-1), ScalarType(-3.50424626827848203418e-2),
- ScalarType(-8.57456785154685413611e-4)};
- constexpr ScalarType q1[] = {ScalarType(1.0),
- ScalarType(1.57799883256466749731e1),
- ScalarType(4.53907635128879210584e1),
- ScalarType(4.13172038254672030440e1),
- ScalarType(1.50425385692907503408e1),
- ScalarType(2.50464946208309415979e0),
- ScalarType(-1.42182922854787788574e-1),
- ScalarType(-3.80806407691578277194e-2),
- ScalarType(-9.33259480895457427372e-4)};
+ const ScalarType p1[] = {ScalarType(4.05544892305962419923e0), ScalarType(3.15251094599893866154e1),
+ ScalarType(5.71628192246421288162e1), ScalarType(4.40805073893200834700e1),
+ ScalarType(1.46849561928858024014e1), ScalarType(2.18663306850790267539e0),
+ ScalarType(-1.40256079171354495875e-1), ScalarType(-3.50424626827848203418e-2),
+ ScalarType(-8.57456785154685413611e-4)};
+ const ScalarType q1[] = {ScalarType(1.0),
+ ScalarType(1.57799883256466749731e1),
+ ScalarType(4.53907635128879210584e1),
+ ScalarType(4.13172038254672030440e1),
+ ScalarType(1.50425385692907503408e1),
+ ScalarType(2.50464946208309415979e0),
+ ScalarType(-1.42182922854787788574e-1),
+ ScalarType(-3.80806407691578277194e-2),
+ ScalarType(-9.33259480895457427372e-4)};
/* Approximation for interval z = sqrt(-2 log a ) between 8 and 64
* i.e., a between exp(-32) = 1.27e-14 and exp(-2048) = 3.67e-890.
*/
@@ -1253,7 +1253,7 @@
int i;
Scalar p, r, a, b, k, s, t, w;
- constexpr Scalar A[] = {
+ const Scalar A[] = {
Scalar(12.0),
Scalar(-720.0),
Scalar(30240.0),