Skip to content

Commit c68d746

Browse files
authored
Merge pull request #1291 from boostorg/ooura_constexpr
2 parents 3d86cef + 31b94bf commit c68d746

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

include/boost/math/quadrature/detail/ooura_fourier_integrals_detail.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -195,10 +195,10 @@ class ooura_fourier_sin_detail {
195195
lweights_.reserve(levels);
196196

197197
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) {
199199
add_level<double>(i);
200200
}
201-
else if (std::is_same<Real, double>::value) {
201+
else BOOST_MATH_IF_CONSTEXPR (std::is_same<Real, double>::value) {
202202
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
203203
add_level<long double>(i);
204204
#else
@@ -270,10 +270,10 @@ class ooura_fourier_sin_detail {
270270
size_t max_additional_levels = 4;
271271
while (big_nodes_.size() < requested_levels_ + max_additional_levels) {
272272
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) {
274274
add_level<double>(ii);
275275
}
276-
else if (std::is_same<Real, double>::value) {
276+
else BOOST_MATH_IF_CONSTEXPR (std::is_same<Real, double>::value) {
277277
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
278278
add_level<long double>(ii);
279279
#else
@@ -472,10 +472,10 @@ class ooura_fourier_cos_detail {
472472
lweights_.reserve(levels);
473473

474474
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) {
476476
add_level<double>(i);
477477
}
478-
else if (std::is_same<Real, double>::value) {
478+
else BOOST_MATH_IF_CONSTEXPR (std::is_same<Real, double>::value) {
479479
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
480480
add_level<long double>(i);
481481
#else
@@ -524,10 +524,10 @@ class ooura_fourier_cos_detail {
524524
size_t max_additional_levels = 4;
525525
while (big_nodes_.size() < requested_levels_ + max_additional_levels) {
526526
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) {
528528
add_level<double>(ii);
529529
}
530-
else if (std::is_same<Real, double>::value) {
530+
else BOOST_MATH_IF_CONSTEXPR (std::is_same<Real, double>::value) {
531531
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
532532
add_level<long double>(ii);
533533
#else

0 commit comments

Comments
 (0)