From ed95e8d45cfc6cd3e026298dadf4d2e8f9f1c3b8 Mon Sep 17 00:00:00 2001
From: mormj <34754695+mormj@users.noreply.github.com>
Date: Tue, 3 Nov 2020 16:51:44 -0500
Subject: Move FFT functions and blocks to templates (#3903)

* fft: refactor fft classes as templates

In order to reduce code duplication construct fft objects and blocks
with template paramters.

Separate forward and reverse as a template
parameter

Maintain the real fft block forward as r2c and reverse as r2c as well

Co-authored-by: Andrej Rode <mail@andrejro.de>
---
 gr-fft/python/fft/fft_vcc.py | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 gr-fft/python/fft/fft_vcc.py

(limited to 'gr-fft/python/fft/fft_vcc.py')

diff --git a/gr-fft/python/fft/fft_vcc.py b/gr-fft/python/fft/fft_vcc.py
new file mode 100644
index 0000000000..3f5dae91b0
--- /dev/null
+++ b/gr-fft/python/fft/fft_vcc.py
@@ -0,0 +1,22 @@
+#
+# Copyright 2020 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+#
+
+from . import fft_python as fft
+
+
+class fft_vcc():
+    def __new__(self, fft_size,
+                forward,
+                window,
+                shift=False,
+                nthreads=1):
+        if forward:
+            return fft.fft_vcc_fwd(fft_size, window, shift, nthreads)
+        else:
+            return fft.fft_vcc_rev(fft_size, window, shift, nthreads)
-- 
cgit v1.2.3