@@ -195,10 +195,10 @@ class ooura_fourier_sin_detail {
195
195
lweights_.reserve (levels);
196
196
197
197
for (size_t i = 0 ; i < levels; ++i) {
198
- if (std::is_same<Real, float >::value) {
198
+ BOOST_MATH_IF_CONSTEXPR (std::is_same<Real, float >::value) {
199
199
add_level<double >(i);
200
200
}
201
- else if (std::is_same<Real, double >::value) {
201
+ else BOOST_MATH_IF_CONSTEXPR (std::is_same<Real, double >::value) {
202
202
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
203
203
add_level<long double >(i);
204
204
#else
@@ -270,10 +270,10 @@ class ooura_fourier_sin_detail {
270
270
size_t max_additional_levels = 4 ;
271
271
while (big_nodes_.size () < requested_levels_ + max_additional_levels) {
272
272
size_t ii = big_nodes_.size ();
273
- if (std::is_same<Real, float >::value) {
273
+ BOOST_MATH_IF_CONSTEXPR (std::is_same<Real, float >::value) {
274
274
add_level<double >(ii);
275
275
}
276
- else if (std::is_same<Real, double >::value) {
276
+ else BOOST_MATH_IF_CONSTEXPR (std::is_same<Real, double >::value) {
277
277
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
278
278
add_level<long double >(ii);
279
279
#else
@@ -472,10 +472,10 @@ class ooura_fourier_cos_detail {
472
472
lweights_.reserve (levels);
473
473
474
474
for (size_t i = 0 ; i < levels; ++i) {
475
- if (std::is_same<Real, float >::value) {
475
+ BOOST_MATH_IF_CONSTEXPR (std::is_same<Real, float >::value) {
476
476
add_level<double >(i);
477
477
}
478
- else if (std::is_same<Real, double >::value) {
478
+ else BOOST_MATH_IF_CONSTEXPR (std::is_same<Real, double >::value) {
479
479
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
480
480
add_level<long double >(i);
481
481
#else
@@ -524,10 +524,10 @@ class ooura_fourier_cos_detail {
524
524
size_t max_additional_levels = 4 ;
525
525
while (big_nodes_.size () < requested_levels_ + max_additional_levels) {
526
526
size_t ii = big_nodes_.size ();
527
- if (std::is_same<Real, float >::value) {
527
+ BOOST_MATH_IF_CONSTEXPR (std::is_same<Real, float >::value) {
528
528
add_level<double >(ii);
529
529
}
530
- else if (std::is_same<Real, double >::value) {
530
+ else BOOST_MATH_IF_CONSTEXPR (std::is_same<Real, double >::value) {
531
531
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
532
532
add_level<long double >(ii);
533
533
#else
0 commit comments