From 00c4c5bdd92d3df419cab2af1291185a3b864b81 Mon Sep 17 00:00:00 2001 From: Chichi Lalescu <clalesc1@jhu.edu> Date: Sun, 22 Feb 2015 20:37:00 -0500 Subject: [PATCH] add interleave for complex space --- src/field_descriptor.cpp | 17 ++++++++++++++++- src/field_descriptor.hpp | 4 ++++ test.ipynb | 4 ++-- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/field_descriptor.cpp b/src/field_descriptor.cpp index cfdeb48b..3bbfdc74 100644 --- a/src/field_descriptor.cpp +++ b/src/field_descriptor.cpp @@ -240,7 +240,22 @@ int field_descriptor::interleave( // TODO: implement inplace interleaver for (int k = 0; k < this->local_size; k++) for (int j = 0; j < dim; j++) - output[k*dim + j] = input[j*this->local_size + k]; + output[k*dim + j] = input[j*this->local_size + k]; + return EXIT_SUCCESS; +} + +int field_descriptor::interleave( + fftw_complex *input, + fftw_complex *output, + int dim) +{ + // TODO: implement inplace interleaver + for (int k = 0; k < this->local_size; k++) + for (int j = 0; j < dim; j++) + { + output[k*dim + j][0] = input[j*this->local_size + k][0]; + output[k*dim + j][1] = input[j*this->local_size + k][1]; + } return EXIT_SUCCESS; } diff --git a/src/field_descriptor.hpp b/src/field_descriptor.hpp index e60fe02e..271d3d8e 100644 --- a/src/field_descriptor.hpp +++ b/src/field_descriptor.hpp @@ -59,6 +59,10 @@ class field_descriptor float *input, float *output, int dim); + int interleave( + fftw_complex *input, + fftw_complex *output, + int dim); }; diff --git a/test.ipynb b/test.ipynb index cd4fac53..f3f44a60 100644 --- a/test.ipynb +++ b/test.ipynb @@ -1,7 +1,7 @@ { "metadata": { "name": "", - "signature": "sha256:aed492730f0495b9d00b7ba907dfed5ad60d60c630d5b2be9985069ccf8932ed" + "signature": "sha256:7dead44f793111d0f8b169a9c6b140d43b9ac207648b3787a6263fd3ff30f493" }, "nbformat": 3, "nbformat_minor": 0, @@ -200,7 +200,7 @@ "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 22 + "prompt_number": 23 }, { "cell_type": "code", -- GitLab