Commit 2fd77f20 authored by Martin Reinecke's avatar Martin Reinecke

synchronnize

parent 8d142ce6
This diff is collapsed.
...@@ -85,7 +85,7 @@ template<typename T> py::array xfftn_internal(const py::array &in, ...@@ -85,7 +85,7 @@ template<typename T> py::array xfftn_internal(const py::array &in,
py::array res = inplace ? in : py::array_t<complex<T>>(dims); py::array res = inplace ? in : py::array_t<complex<T>>(dims);
ndarr<cmplx<T>> ain(in.data(), dims, copy_strides(in)); ndarr<cmplx<T>> ain(in.data(), dims, copy_strides(in));
ndarr<cmplx<T>> aout(res.mutable_data(), dims, copy_strides(res)); ndarr<cmplx<T>> aout(res.mutable_data(), dims, copy_strides(res));
pocketfft_general_c<T>(ain, aout, axes, fwd, fct); general_c<T>(ain, aout, axes, fwd, fct);
return res; return res;
} }
...@@ -110,10 +110,10 @@ template<typename T> py::array rfftn_internal(const py::array &in, ...@@ -110,10 +110,10 @@ template<typename T> py::array rfftn_internal(const py::array &in,
py::array res = py::array_t<complex<T>>(dims_out); py::array res = py::array_t<complex<T>>(dims_out);
ndarr<T> ain(in.data(), dims_in, copy_strides(in)); ndarr<T> ain(in.data(), dims_in, copy_strides(in));
ndarr<cmplx<T>> aout(res.mutable_data(), dims_out, copy_strides(res)); ndarr<cmplx<T>> aout(res.mutable_data(), dims_out, copy_strides(res));
pocketfft_general_r2c<T>(ain, aout, axes.back(), fct); general_r2c<T>(ain, aout, axes.back(), fct);
if (axes.size()==1) return res; if (axes.size()==1) return res;
shape_t axes2(axes.begin(), --axes.end()); shape_t axes2(axes.begin(), --axes.end());
pocketfft_general_c<T>(aout, aout, axes2, true, 1.); general_c<T>(aout, aout, axes2, true, 1.);
return res; return res;
} }
py::array rfftn(const py::array &in, py::object axes_, double fct) py::array rfftn(const py::array &in, py::object axes_, double fct)
...@@ -128,7 +128,7 @@ template<typename T> py::array xrfft_scipy(const py::array &in, ...@@ -128,7 +128,7 @@ template<typename T> py::array xrfft_scipy(const py::array &in,
py::array res = inplace ? in : py::array_t<T>(dims); py::array res = inplace ? in : py::array_t<T>(dims);
ndarr<T> ain(in.data(), dims, copy_strides(in)); ndarr<T> ain(in.data(), dims, copy_strides(in));
ndarr<T> aout(res.mutable_data(), dims, copy_strides(res)); ndarr<T> aout(res.mutable_data(), dims, copy_strides(res));
pocketfft_general_r<T>(ain, aout, axis, fwd, fct); general_r<T>(ain, aout, axis, fwd, fct);
return res; return res;
} }
py::array rfft_scipy(const py::array &in, size_t axis, double fct, bool inplace) py::array rfft_scipy(const py::array &in, size_t axis, double fct, bool inplace)
...@@ -160,7 +160,7 @@ template<typename T> py::array irfftn_internal(const py::array &in, ...@@ -160,7 +160,7 @@ template<typename T> py::array irfftn_internal(const py::array &in,
py::array res = py::array_t<T>(dims_out); py::array res = py::array_t<T>(dims_out);
ndarr<cmplx<T>> ain(inter.data(), copy_shape(inter), copy_strides(inter)); ndarr<cmplx<T>> ain(inter.data(), copy_shape(inter), copy_strides(inter));
ndarr<T> aout(res.mutable_data(), dims_out, copy_strides(res)); ndarr<T> aout(res.mutable_data(), dims_out, copy_strides(res));
pocketfft_general_c2r<T>(ain, aout, axis, fct); general_c2r<T>(ain, aout, axis, fct);
return res; return res;
} }
py::array irfftn(const py::array &in, py::object axes_, size_t lastsize, py::array irfftn(const py::array &in, py::object axes_, size_t lastsize,
...@@ -178,7 +178,7 @@ template<typename T> py::array hartley_internal(const py::array &in, ...@@ -178,7 +178,7 @@ template<typename T> py::array hartley_internal(const py::array &in,
py::array res = inplace ? in : py::array_t<T>(dims); py::array res = inplace ? in : py::array_t<T>(dims);
ndarr<T> ain(in.data(), copy_shape(in), copy_strides(in)); ndarr<T> ain(in.data(), copy_shape(in), copy_strides(in));
ndarr<T> aout(res.mutable_data(), copy_shape(res), copy_strides(res)); ndarr<T> aout(res.mutable_data(), copy_shape(res), copy_strides(res));
pocketfft_general_hartley<T>(ain, aout, makeaxes(in, axes_), fct); general_hartley<T>(ain, aout, makeaxes(in, axes_), fct);
return res; return res;
} }
py::array hartley(const py::array &in, py::object axes_, double fct, py::array hartley(const py::array &in, py::object axes_, double fct,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment