Skip to content

Commit 56e70e5

Browse files
authored
Merge pull request #27 from masariello/0.2.2-no-warnings-on-VC14
Fixed a few warnings that pop up on VC14
2 parents ead41ab + 13e78ed commit 56e70e5

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

include/xtensor-fftw/basic.hpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,9 @@ namespace xt {
210210
using fftw_output_t = fftw_number_t<output_t>;
211211

212212
auto dft_dimensions_unsigned = dft_dimensions_from_output(output, half_plus_one_out);
213-
std::vector<int> dft_dimensions(dft_dimensions_unsigned.begin(), dft_dimensions_unsigned.end());
213+
std::vector<int> dft_dimensions;
214+
dft_dimensions.reserve(dft_dimensions_unsigned.size());
215+
std::transform(dft_dimensions_unsigned.begin(), dft_dimensions_unsigned.end(), std::back_inserter(dft_dimensions), [&](std::size_t d) { return static_cast<int>(d); });
214216

215217
return fftw_plan_dft(static_cast<int>(dim), dft_dimensions.data(),
216218
const_cast<fftw_input_t *>(reinterpret_cast<const fftw_input_t *>(input.raw_data())),
@@ -275,7 +277,9 @@ namespace xt {
275277
using fftw_output_t = fftw_number_t<output_t>;
276278

277279
auto dft_dimensions_unsigned = dft_dimensions_from_output(output, half_plus_one_out, odd_last_dim);
278-
std::vector<int> dft_dimensions(dft_dimensions_unsigned.begin(), dft_dimensions_unsigned.end());
280+
std::vector<int> dft_dimensions;
281+
dft_dimensions.reserve(dft_dimensions_unsigned.size());
282+
std::transform(dft_dimensions_unsigned.begin(), dft_dimensions_unsigned.end(), std::back_inserter(dft_dimensions), [&](std::size_t d) { return static_cast<int>(d); });
279283

280284
return fftw_plan_dft(static_cast<int>(dim), dft_dimensions.data(),
281285
const_cast<fftw_input_t *>(reinterpret_cast<const fftw_input_t *>(input.raw_data())),
@@ -393,7 +397,7 @@ namespace xt {
393397
fftw_execute(plan);
394398
fftw_destroy_plan(plan);
395399
auto dft_dimensions = dft_dimensions_from_output(output, half_plus_one_out, odd_last_dim);
396-
auto N_dft = static_cast<prec_t<output_t> >(std::accumulate(dft_dimensions.begin(), dft_dimensions.end(), 1, std::multiplies<std::size_t>()));
400+
auto N_dft = static_cast<prec_t<output_t> >(std::accumulate(dft_dimensions.begin(), dft_dimensions.end(), static_cast<size_t>(1u), std::multiplies<size_t>()));
397401
return output / N_dft;
398402
};
399403

@@ -450,7 +454,7 @@ namespace xt {
450454
output = xt::conj(output);
451455

452456
auto dft_dimensions = dft_dimensions_from_output(output, half_plus_one_out);
453-
auto N_dft = static_cast<prec_t<output_t> >(std::accumulate(dft_dimensions.begin(), dft_dimensions.end(), 1, std::multiplies<std::size_t>()));
457+
auto N_dft = static_cast<prec_t<output_t> >(std::accumulate(dft_dimensions.begin(), dft_dimensions.end(), static_cast<size_t>(1u), std::multiplies<size_t>()));
454458
return output / N_dft;
455459
};
456460

0 commit comments

Comments
 (0)