summaryrefslogtreecommitdiff
path: root/gnuradio-core/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-core/src/lib')
-rw-r--r--gnuradio-core/src/lib/.gitignore7
-rw-r--r--gnuradio-core/src/lib/CMakeLists.txt6
-rw-r--r--gnuradio-core/src/lib/Makefile.am72
-rw-r--r--gnuradio-core/src/lib/filter/.gitignore226
-rw-r--r--gnuradio-core/src/lib/filter/CMakeLists.txt2
-rw-r--r--gnuradio-core/src/lib/filter/Makefile.am402
-rw-r--r--gnuradio-core/src/lib/filter/filter.i4
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc47
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.h46
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.i5
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.cc169
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.h100
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.cc286
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.h147
-rw-r--r--gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.i (renamed from gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.i)24
-rw-r--r--gnuradio-core/src/lib/general/.gitignore308
-rw-r--r--gnuradio-core/src/lib/general/CMakeLists.txt4
-rw-r--r--gnuradio-core/src/lib/general/Makefile.am491
-rw-r--r--gnuradio-core/src/lib/general/general.i8
-rw-r--r--gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc85
-rw-r--r--gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.h83
-rw-r--r--gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.i39
-rw-r--r--gnuradio-core/src/lib/general/gr_squash_ff.cc93
-rw-r--r--gnuradio-core/src/lib/general/gr_squash_ff.h68
-rw-r--r--gnuradio-core/src/lib/general/gr_squash_ff.i34
-rw-r--r--gnuradio-core/src/lib/general/gr_wavelet_ff.cc107
-rw-r--r--gnuradio-core/src/lib/general/gr_wavelet_ff.h71
-rw-r--r--gnuradio-core/src/lib/general/gr_wavelet_ff.i31
-rw-r--r--gnuradio-core/src/lib/general/gr_wvps_ff.cc98
-rw-r--r--gnuradio-core/src/lib/general/gr_wvps_ff.h58
-rw-r--r--gnuradio-core/src/lib/general/gr_wvps_ff.i29
-rw-r--r--gnuradio-core/src/lib/gengen/.gitignore433
-rw-r--r--gnuradio-core/src/lib/gengen/Makefile.am165
-rw-r--r--gnuradio-core/src/lib/hier/.gitignore4
-rw-r--r--gnuradio-core/src/lib/hier/Makefile.am37
-rw-r--r--gnuradio-core/src/lib/io/.gitignore8
-rw-r--r--gnuradio-core/src/lib/io/Makefile.am116
-rw-r--r--gnuradio-core/src/lib/io/gr_message_source.i8
-rw-r--r--gnuradio-core/src/lib/io/gr_wavfile_sink.cc2
-rw-r--r--gnuradio-core/src/lib/io/gr_wavfile_sink.h14
-rw-r--r--gnuradio-core/src/lib/missing/.gitignore8
-rw-r--r--gnuradio-core/src/lib/missing/Makefile.am46
-rw-r--r--gnuradio-core/src/lib/reed-solomon/.gitignore9
-rw-r--r--gnuradio-core/src/lib/reed-solomon/Makefile.am55
-rw-r--r--gnuradio-core/src/lib/runtime/.gitignore8
-rw-r--r--gnuradio-core/src/lib/runtime/Makefile.am165
-rw-r--r--gnuradio-core/src/lib/runtime/gr_basic_block.h2
-rw-r--r--gnuradio-core/src/lib/runtime/gr_hier_block2.h2
-rw-r--r--gnuradio-core/src/lib/runtime/gr_hier_block2.i2
-rw-r--r--gnuradio-core/src/lib/runtime/gr_msg_queue.i61
-rw-r--r--gnuradio-core/src/lib/runtime/gr_top_block.h2
-rw-r--r--gnuradio-core/src/lib/runtime/gr_top_block.i33
-rw-r--r--gnuradio-core/src/lib/swig/.gitignore49
-rw-r--r--gnuradio-core/src/lib/swig/Makefile.am109
-rw-r--r--gnuradio-core/src/lib/swig/Makefile.swig.gen870
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio.i19
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_core_filter.i10
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_core_general.i10
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_core_gengen.i10
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_core_hier.i10
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_core_io.i10
-rw-r--r--gnuradio-core/src/lib/swig/gnuradio_core_runtime.i25
-rw-r--r--gnuradio-core/src/lib/swig/gr_swig_block_magic.i18
-rw-r--r--gnuradio-core/src/lib/swig/guile/std_complex.i37
-rw-r--r--gnuradio-core/src/lib/swig/guile/std_vector.i437
-rw-r--r--gnuradio-core/src/lib/viterbi/.gitignore6
-rw-r--r--gnuradio-core/src/lib/viterbi/Makefile.am46
67 files changed, 558 insertions, 5438 deletions
diff --git a/gnuradio-core/src/lib/.gitignore b/gnuradio-core/src/lib/.gitignore
deleted file mode 100644
index 0d5077da5..000000000
--- a/gnuradio-core/src/lib/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-/Makefile
-/Makefile.in
-/.deps
-/.libs
-/*.la
-/*.lo
-/gnuradio-config-info
diff --git a/gnuradio-core/src/lib/CMakeLists.txt b/gnuradio-core/src/lib/CMakeLists.txt
index 86f88242c..73002ec7b 100644
--- a/gnuradio-core/src/lib/CMakeLists.txt
+++ b/gnuradio-core/src/lib/CMakeLists.txt
@@ -47,10 +47,6 @@ include_directories(${VOLK_INCLUDE_DIRS})
include_directories(${Boost_INCLUDE_DIRS})
link_directories(${Boost_LIBRARY_DIRS})
-add_definitions(${GSL_DEFINITIONS})
-include_directories(${GSL_INCLUDE_DIRS})
-link_directories(${GSL_LIBRARY_DIRS})
-
include_directories(${FFTW3F_INCLUDE_DIRS})
link_directories(${FFTW3F_LIBRARY_DIRS})
@@ -60,7 +56,6 @@ link_directories(${FFTW3F_LIBRARY_DIRS})
list(APPEND gnuradio_core_libs
gruel
${Boost_LIBRARIES}
- ${GSL_LIBRARIES}
${FFTW3F_LIBRARIES}
)
@@ -80,7 +75,6 @@ list(APPEND gnuradio_core_libs volk)
add_library(gnuradio-core SHARED ${gnuradio_core_sources})
target_link_libraries(gnuradio-core ${gnuradio_core_libs})
GR_LIBRARY_FOO(gnuradio-core RUNTIME_COMPONENT "core_runtime" DEVEL_COMPONENT "core_devel")
-#avoid fftw and gsl link in dependent libraries:
set_target_properties(gnuradio-core PROPERTIES LINK_INTERFACE_LIBRARIES "gruel")
########################################################################
diff --git a/gnuradio-core/src/lib/Makefile.am b/gnuradio-core/src/lib/Makefile.am
deleted file mode 100644
index 21e721073..000000000
--- a/gnuradio-core/src/lib/Makefile.am
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2001,2004,2009,2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-## Process this file with automake to produce Makefile.in
-
-# We've got to build . before swig
-SUBDIRS = missing runtime filter viterbi general gengen reed-solomon io hier . swig
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
-
-# generate libgnuradio-core.la from the convenience libraries in subdirs
-
-lib_LTLIBRARIES = libgnuradio-core.la
-noinst_LTLIBRARIES = libgnuradio-core-qa.la
-
-libgnuradio_core_la_SOURCES = bug_work_around_6.cc
-libgnuradio_core_la_LDFLAGS = $(NO_UNDEFINED) $(LTVERSIONFLAGS)
-
-libgnuradio_core_qa_la_SOURCES = bug_work_around_6.cc
-libgnuradio_core_qa_la_LDFLAGS = $(NO_UNDEFINED) -version-info 0:0:0 \
- $(LIBGNURADIO_CORE_EXTRA_LDFLAGS)
-
-
-libgnuradio_core_la_LIBADD = \
- filter/libfilter.la \
- viterbi/libviterbi.la \
- general/libgeneral.la \
- gengen/libgengen.la \
- io/libio.la \
- missing/libmissing.la \
- reed-solomon/librs.la \
- runtime/libruntime.la \
- hier/libhier.la \
- $(GRUEL_LA) \
- $(VOLK_LA) \
- $(FFTW3F_LIBS) \
- $(GSL_LIBS) \
- $(CBLAS_LIBS) \
- $(BOOST_FILESYSTEM_LIB)
-
-libgnuradio_core_qa_la_LIBADD = \
- filter/libfilter-qa.la \
- general/libgeneral-qa.la \
- runtime/libruntime-qa.la \
- libgnuradio-core.la \
- $(CPPUNIT_LIBS)
-
-bin_PROGRAMS = gnuradio-config-info
-gnuradio_config_info_SOURCES = gnuradio-config-info.cc
-gnuradio_config_info_LDADD = libgnuradio-core.la \
- $(BOOST_LDFLAGS) \
- $(BOOST_PROGRAM_OPTIONS_LIB) \
- $(BOOST_FILESYSTEM_LIB)
diff --git a/gnuradio-core/src/lib/filter/.gitignore b/gnuradio-core/src/lib/filter/.gitignore
deleted file mode 100644
index faaf02cb8..000000000
--- a/gnuradio-core/src/lib/filter/.gitignore
+++ /dev/null
@@ -1,226 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
-/*.pyc
-/generate-stamp
-/#
-/---
-/generate
-/files:
-/don't
-/go
-/in
-/CVS
-/---
-/GrFIRfilterCCC.cc
-/GrFIRfilterCCC.h
-/GrFIRfilterCCF.cc
-/GrFIRfilterCCF.h
-/GrFIRfilterFCC.cc
-/GrFIRfilterFCC.h
-/GrFIRfilterFFF.cc
-/GrFIRfilterFFF.h
-/GrFIRfilterFSF.cc
-/GrFIRfilterFSF.h
-/GrFIRfilterSCC.cc
-/GrFIRfilterSCC.h
-/GrFIRfilterSIS.cc
-/GrFIRfilterSIS.h
-/GrFreqXlatingFIRfilterCCC.cc
-/GrFreqXlatingFIRfilterCCC.h
-/GrFreqXlatingFIRfilterCCF.cc
-/GrFreqXlatingFIRfilterCCF.h
-/GrFreqXlatingFIRfilterFCC.cc
-/GrFreqXlatingFIRfilterFCC.h
-/GrFreqXlatingFIRfilterFCF.cc
-/GrFreqXlatingFIRfilterFCF.h
-/GrFreqXlatingFIRfilterSCC.cc
-/GrFreqXlatingFIRfilterSCC.h
-/GrFreqXlatingFIRfilterSCF.cc
-/GrFreqXlatingFIRfilterSCF.h
-/gr_fir_CCC.cc
-/gr_fir_CCC.h
-/gr_fir_CCC_generic.cc
-/gr_fir_CCC_generic.h
-/gr_fir_CCF.cc
-/gr_fir_CCF.h
-/gr_fir_CCF_generic.cc
-/gr_fir_CCF_generic.h
-/gr_fir_FCC.cc
-/gr_fir_FCC.h
-/gr_fir_FCC_generic.cc
-/gr_fir_FCC_generic.h
-/gr_fir_FFF.cc
-/gr_fir_FFF.h
-/gr_fir_FFF_generic.cc
-/gr_fir_FFF_generic.h
-/gr_fir_FSF.cc
-/gr_fir_FSF.h
-/gr_fir_FSF_generic.cc
-/gr_fir_FSF_generic.h
-/gr_fir_SCC.cc
-/gr_fir_SCC.h
-/gr_fir_SCC_generic.cc
-/gr_fir_SCC_generic.h
-/gr_fir_SIS.cc
-/gr_fir_SIS.h
-/gr_fir_SIS_generic.cc
-/gr_fir_SIS_generic.h
-/gr_fir_sysconfig.cc
-/gr_fir_sysconfig.h
-/gr_fir_sysconfig_generic.cc
-/gr_fir_sysconfig_generic.h
-/gr_fir_util.cc
-/gr_fir_util.h
-/GrFIRfilterCCC.i
-/GrFIRfilterCCF.i
-/GrFIRfilterFCC.i
-/GrFIRfilterFFF.i
-/GrFIRfilterFSF.i
-/GrFIRfilterSCC.i
-/GrFIRfilterSIS.i
-/GrFreqXlatingFIRfilterCCC.i
-/GrFreqXlatingFIRfilterCCF.i
-/GrFreqXlatingFIRfilterFCC.i
-/GrFreqXlatingFIRfilterFCF.i
-/GrFreqXlatingFIRfilterSCC.i
-/GrFreqXlatingFIRfilterSCF.i
-/#
-/---
-/end
-/generated
-/files
-/---
-/filter_generated.i
-/gr_fir_ccc.cc
-/gr_fir_ccc.h
-/gr_fir_ccc_generic.cc
-/gr_fir_ccc_generic.h
-/gr_fir_ccf.cc
-/gr_fir_ccf.h
-/gr_fir_ccf_generic.cc
-/gr_fir_ccf_generic.h
-/gr_fir_fcc.cc
-/gr_fir_fcc.h
-/gr_fir_fcc_generic.cc
-/gr_fir_fcc_generic.h
-/gr_fir_fff.cc
-/gr_fir_fff.h
-/gr_fir_fff_generic.cc
-/gr_fir_fff_generic.h
-/gr_fir_fsf.cc
-/gr_fir_fsf.h
-/gr_fir_fsf_generic.cc
-/gr_fir_fsf_generic.h
-/gr_fir_scc.cc
-/gr_fir_scc.h
-/gr_fir_scc_generic.cc
-/gr_fir_scc_generic.h
-/gr_fir_filter_ccc.cc
-/gr_fir_filter_ccc.h
-/gr_fir_filter_ccc.i
-/gr_fir_filter_ccf.cc
-/gr_fir_filter_ccf.h
-/gr_fir_filter_ccf.i
-/gr_fir_filter_fcc.cc
-/gr_fir_filter_fcc.h
-/gr_fir_filter_fcc.i
-/gr_fir_filter_fff.cc
-/gr_fir_filter_fff.h
-/gr_fir_filter_fff.i
-/gr_fir_filter_fsf.cc
-/gr_fir_filter_fsf.h
-/gr_fir_filter_fsf.i
-/gr_fir_filter_scc.cc
-/gr_fir_filter_scc.h
-/gr_fir_filter_scc.i
-/gr_freq_xlating_fir_filter_ccc.cc
-/gr_freq_xlating_fir_filter_ccc.h
-/gr_freq_xlating_fir_filter_ccc.i
-/gr_freq_xlating_fir_filter_ccf.cc
-/gr_freq_xlating_fir_filter_ccf.h
-/gr_freq_xlating_fir_filter_ccf.i
-/gr_freq_xlating_fir_filter_fcc.cc
-/gr_freq_xlating_fir_filter_fcc.h
-/gr_freq_xlating_fir_filter_fcc.i
-/gr_freq_xlating_fir_filter_fcf.cc
-/gr_freq_xlating_fir_filter_fcf.h
-/gr_freq_xlating_fir_filter_fcf.i
-/gr_freq_xlating_fir_filter_scc.cc
-/gr_freq_xlating_fir_filter_scc.h
-/gr_freq_xlating_fir_filter_scc.i
-/gr_freq_xlating_fir_filter_scf.cc
-/gr_freq_xlating_fir_filter_scf.h
-/gr_freq_xlating_fir_filter_scf.i
-/gr_interp_fir_filter_ccc.cc
-/gr_interp_fir_filter_ccc.h
-/gr_interp_fir_filter_ccc.i
-/gr_interp_fir_filter_ccf.cc
-/gr_interp_fir_filter_ccf.h
-/gr_interp_fir_filter_ccf.i
-/gr_interp_fir_filter_fcc.cc
-/gr_interp_fir_filter_fcc.h
-/gr_interp_fir_filter_fcc.i
-/gr_interp_fir_filter_fff.cc
-/gr_interp_fir_filter_fff.h
-/gr_interp_fir_filter_fff.i
-/gr_interp_fir_filter_fsf.cc
-/gr_interp_fir_filter_fsf.h
-/gr_interp_fir_filter_fsf.i
-/gr_interp_fir_filter_scc.cc
-/gr_interp_fir_filter_scc.h
-/gr_interp_fir_filter_scc.i
-/gr_rational_resampler_ccc.cc
-/gr_rational_resampler_ccc.h
-/gr_rational_resampler_ccc.i
-/gr_rational_resampler_ccf.cc
-/gr_rational_resampler_ccf.h
-/gr_rational_resampler_ccf.i
-/gr_rational_resampler_fcc.cc
-/gr_rational_resampler_fcc.h
-/gr_rational_resampler_fcc.i
-/gr_rational_resampler_fff.cc
-/gr_rational_resampler_fff.h
-/gr_rational_resampler_fff.i
-/gr_rational_resampler_fsf.cc
-/gr_rational_resampler_fsf.h
-/gr_rational_resampler_fsf.i
-/gr_rational_resampler_scc.cc
-/gr_rational_resampler_scc.h
-/gr_rational_resampler_scc.i
-/gr_rational_resampler_base_ccc.cc
-/gr_rational_resampler_base_ccc.h
-/gr_rational_resampler_base_ccc.i
-/gr_rational_resampler_base_ccf.cc
-/gr_rational_resampler_base_ccf.h
-/gr_rational_resampler_base_ccf.i
-/gr_rational_resampler_base_fcc.cc
-/gr_rational_resampler_base_fcc.h
-/gr_rational_resampler_base_fcc.i
-/gr_rational_resampler_base_fff.cc
-/gr_rational_resampler_base_fff.h
-/gr_rational_resampler_base_fff.i
-/gr_rational_resampler_base_fsf.cc
-/gr_rational_resampler_base_fsf.h
-/gr_rational_resampler_base_fsf.i
-/gr_rational_resampler_base_scc.cc
-/gr_rational_resampler_base_scc.h
-/gr_rational_resampler_base_scc.i
-/gri_fir_filter_with_buffer_ccc.cc
-/gri_fir_filter_with_buffer_ccc.h
-/gri_fir_filter_with_buffer_ccf.cc
-/gri_fir_filter_with_buffer_ccf.h
-/gri_fir_filter_with_buffer_fcc.cc
-/gri_fir_filter_with_buffer_fcc.h
-/gri_fir_filter_with_buffer_fff.cc
-/gri_fir_filter_with_buffer_fff.h
-/gri_fir_filter_with_buffer_fsf.cc
-/gri_fir_filter_with_buffer_fsf.h
-/gri_fir_filter_with_buffer_scc.cc
-/gri_fir_filter_with_buffer_scc.h
-/stamp-*
diff --git a/gnuradio-core/src/lib/filter/CMakeLists.txt b/gnuradio-core/src/lib/filter/CMakeLists.txt
index d26e55fb8..02a72191c 100644
--- a/gnuradio-core/src/lib/filter/CMakeLists.txt
+++ b/gnuradio-core/src/lib/filter/CMakeLists.txt
@@ -333,7 +333,7 @@ set(gr_core_filter_triple_threats
gr_single_pole_iir_filter_ff
gr_single_pole_iir_filter_cc
gr_pfb_channelizer_ccf
- gr_pfb_synthesis_filterbank_ccf
+ gr_pfb_synthesizer_ccf
gr_pfb_decimator_ccf
gr_pfb_interpolator_ccf
gr_pfb_arb_resampler_ccf
diff --git a/gnuradio-core/src/lib/filter/Makefile.am b/gnuradio-core/src/lib/filter/Makefile.am
deleted file mode 100644
index c314431bf..000000000
--- a/gnuradio-core/src/lib/filter/Makefile.am
+++ /dev/null
@@ -1,402 +0,0 @@
-#
-# Copyright 2001,2002,2004-2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-#
-# This directory contains mostly filter routines, plus a few
-# other performance critical items
-#
-
-# $(WITH_INCLUDES) must _always_ be last
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) \
- $(FFTW3F_CPPFLAGS) $(WITH_INCLUDES)
-
-noinst_LTLIBRARIES = libfilter.la libfilter-qa.la
-
-# ----------------------------------------------------------------
-# these scripts generate FIR code
-#
-
-code_generator = \
- generate_all.py \
- generate_gr_fir_XXX.py \
- generate_gr_fir_filter_XXX.py \
- generate_gr_interp_fir_filter_XXX.py \
- generate_gr_rational_resampler_base_XXX.py \
- generate_gr_fir_sysconfig.py \
- generate_gr_fir_sysconfig_generic.py \
- generate_gr_fir_util.py \
- generate_gr_freq_xlating_fir_filter_XXX.py \
- generate_gri_fir_filter_with_buffer_XXX.py \
- generate_utils.py \
- gr_fir_XXX.cc.t \
- gr_fir_XXX.h.t \
- gr_fir_XXX_generic.cc.t \
- gr_fir_XXX_generic.h.t \
- gr_fir_filter_XXX.cc.t \
- gr_fir_filter_XXX.h.t \
- gr_fir_filter_XXX.i.t \
- gr_interp_fir_filter_XXX.cc.t \
- gr_interp_fir_filter_XXX.h.t \
- gr_interp_fir_filter_XXX.i.t \
- gr_rational_resampler_base_XXX.cc.t \
- gr_rational_resampler_base_XXX.h.t \
- gr_rational_resampler_base_XXX.i.t \
- gr_freq_xlating_fir_filter_XXX.cc.t \
- gr_freq_xlating_fir_filter_XXX.h.t \
- gr_freq_xlating_fir_filter_XXX.i.t \
- gri_fir_filter_with_buffer_XXX.cc.t \
- gri_fir_filter_with_buffer_XXX.h.t
-
-
-# Source built by Python into $(builddir)
-BUILT_SOURCES += \
- $(GENERATED_H) \
- $(GENERATED_I) \
- $(GENERATED_CC) \
- filter_generated.i
-
-# ----------------------------------------------------------------
-# MD_CPU and MD_SUBCPU are set at configure time by way of
-# gnuradio/config/gr_set_md_cpu.m4.
-# It indicates which set of machine dependent code we should be building.
-# We currently implement "generic" and "x86"
-
-#
-# <foo>_CODE entry for each set of machine specific speedups
-#
-
-generic_CODE = \
- sysconfig_generic.cc
-
-generic_qa_CODE = \
- qa_dotprod_generic.cc
-
-x86_CODE = \
- sysconfig_x86.cc \
- gr_fir_sysconfig_x86.cc \
- gr_cpu_x86.cc \
- gr_fir_ccc_simd.cc \
- gr_fir_ccc_x86.cc \
- gr_fir_fff_simd.cc \
- gr_fir_fff_x86.cc \
- gr_fir_fsf_simd.cc \
- gr_fir_fsf_x86.cc \
- gr_fir_scc_simd.cc \
- gr_fir_scc_x86.cc \
- gr_fir_fcc_simd.cc \
- gr_fir_fcc_x86.cc \
- gr_fir_ccf_simd.cc \
- gr_fir_ccf_x86.cc \
- sse_debug.c
-
-x86_SUBCODE = \
- float_dotprod_sse.S \
- float_dotprod_3dnow.S \
- complex_dotprod_3dnowext.S \
- complex_dotprod_3dnow.S \
- complex_dotprod_sse.S \
- ccomplex_dotprod_3dnowext.S \
- ccomplex_dotprod_3dnow.S \
- ccomplex_dotprod_sse.S \
- fcomplex_dotprod_3dnow.S \
- fcomplex_dotprod_sse.S \
- short_dotprod_mmx.S
-
-x86_64_SUBCODE = \
- float_dotprod_sse64.S \
- float_dotprod_3dnow64.S \
- complex_dotprod_3dnowext64.S \
- complex_dotprod_3dnow64.S \
- complex_dotprod_sse64.S \
- ccomplex_dotprod_3dnowext64.S \
- ccomplex_dotprod_3dnow64.S \
- ccomplex_dotprod_sse64.S \
- fcomplex_dotprod_3dnow64.S \
- fcomplex_dotprod_sse64.S \
- short_dotprod_mmx64.S
-
-x86_qa_CODE = \
- qa_dotprod_x86.cc \
- qa_float_dotprod_x86.cc \
- qa_complex_dotprod_x86.cc \
- qa_ccomplex_dotprod_x86.cc
-
-powerpc_CODE = \
- sysconfig_powerpc.cc \
- gr_fir_sysconfig_powerpc.cc \
- gr_cpu_powerpc.cc \
- gr_fir_fff_altivec.cc \
- gr_altivec.c \
- dotprod_fff_altivec.c
-
-powerpc_qa_CODE = \
- qa_dotprod_powerpc.cc
-
-armv7_a_CODE = \
- sysconfig_armv7_a.cc \
- gr_fir_sysconfig_armv7_a.cc \
- gr_cpu_armv7_a.cc \
- gr_fir_fff_armv7_a.cc \
- dotprod_fff_armv7_a.c \
- gr_fir_ccf_armv7_a.cc \
- dotprod_ccf_armv7_a.c
-
-armv7_a_qa_CODE = \
- qa_dotprod_armv7_a.cc
-
-#
-# include each <foo>_CODE entry here...
-#
-EXTRA_libfilter_la_SOURCES = \
- $(generic_CODE) \
- $(generic_qa_CODE) \
- $(x86_CODE) \
- $(x86_SUBCODE) \
- $(x86_64_SUBCODE) \
- $(x86_qa_CODE) \
- $(powerpc_CODE) \
- $(powerpc_qa_CODE) \
- $(armv7_a_CODE) \
- $(armv7_a_qa_CODE)
-
-
-EXTRA_DIST += \
- 3dnow_float_dotprod_really_simple.S \
- 3dnow_float_dotprod_simple.S \
- $(code_generator)
-
-# work around automake deficiency
-libfilter_la_common_SOURCES = \
- $(GENERATED_CC) \
- gr_adaptive_fir_ccc.cc \
- gr_adaptive_fir_ccf.cc \
- gri_fft_filter_fff_generic.cc \
- gri_fft_filter_ccc_generic.cc \
- gr_fft_filter_ccc.cc \
- gr_fft_filter_fff.cc \
- gr_goertzel_fc.cc \
- gr_filter_delay_fc.cc \
- gr_fractional_interpolator_ff.cc \
- gr_fractional_interpolator_cc.cc \
- gr_hilbert_fc.cc \
- gr_iir_filter_ffd.cc \
- gr_sincos.c \
- gr_single_pole_iir_filter_ff.cc \
- gr_single_pole_iir_filter_cc.cc \
- gri_goertzel.cc \
- gri_mmse_fir_interpolator.cc \
- gri_mmse_fir_interpolator_cc.cc \
- complex_dotprod_generic.cc \
- ccomplex_dotprod_generic.cc \
- float_dotprod_generic.c \
- short_dotprod_generic.c \
- gr_pfb_channelizer_ccf.cc \
- gr_pfb_synthesis_filterbank_ccf.cc\
- gr_pfb_decimator_ccf.cc \
- gr_pfb_interpolator_ccf.cc \
- gr_pfb_arb_resampler_ccf.cc \
- gr_pfb_arb_resampler_fff.cc \
- gr_pfb_clock_sync_ccf.cc \
- gr_pfb_clock_sync_fff.cc \
- gr_dc_blocker_cc.cc \
- gr_dc_blocker_ff.cc
-
-libfilter_qa_la_common_SOURCES = \
- qa_filter.cc \
- qa_gr_fir_ccf.cc \
- qa_gr_fir_fcc.cc \
- qa_gr_fir_fff.cc \
- qa_gr_fir_ccc.cc \
- qa_gr_fir_scc.cc \
- qa_gr_rotator.cc \
- qa_gri_mmse_fir_interpolator.cc \
- qa_gri_mmse_fir_interpolator_cc.cc \
- qa_gri_fir_filter_with_buffer_ccf.cc \
- qa_gri_fir_filter_with_buffer_ccc.cc \
- qa_gri_fir_filter_with_buffer_fcc.cc \
- qa_gri_fir_filter_with_buffer_fff.cc \
- qa_gri_fir_filter_with_buffer_fsf.cc \
- qa_gri_fir_filter_with_buffer_scc.cc
-
-if MD_CPU_generic
-libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(generic_CODE)
-libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(generic_qa_CODE)
-endif
-
-if MD_CPU_x86
-if MD_SUBCPU_x86_64
-libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(x86_64_SUBCODE) $(x86_CODE)
-else
-libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(x86_SUBCODE) $(x86_CODE)
-endif
-
-libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(x86_qa_CODE)
-endif
-
-if MD_CPU_powerpc
-libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(powerpc_CODE)
-libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(powerpc_qa_CODE)
-endif
-
-if MD_CPU_armv7_a
-libfilter_la_SOURCES = $(libfilter_la_common_SOURCES) $(armv7_a_CODE)
-libfilter_qa_la_SOURCES = $(libfilter_qa_la_common_SOURCES) $(armv7_a_qa_CODE)
-endif
-
-
-grinclude_HEADERS = \
- $(GENERATED_H) \
- complex_dotprod_generic.h \
- complex_dotprod_x86.h \
- fcomplex_dotprod_x86.h \
- ccomplex_dotprod_generic.h \
- ccomplex_dotprod_x86.h \
- float_dotprod_generic.h \
- float_dotprod_x86.h \
- gr_adaptive_fir_ccc.h \
- gr_adaptive_fir_ccf.h \
- gr_altivec.h \
- gr_cpu.h \
- gri_fft_filter_fff_generic.h \
- gri_fft_filter_ccc_generic.h \
- gr_fft_filter_ccc.h \
- gr_fft_filter_fff.h \
- gr_filter_delay_fc.h \
- gr_fir_sysconfig_x86.h \
- gr_fir_sysconfig_powerpc.h \
- gr_fractional_interpolator_ff.h \
- gr_fractional_interpolator_cc.h \
- gr_goertzel_fc.h \
- gr_hilbert_fc.h \
- gr_iir_filter_ffd.h \
- gr_rotator.h \
- gr_sincos.h \
- gr_single_pole_iir.h \
- gr_single_pole_iir_filter_ff.h \
- gr_single_pole_iir_filter_cc.h \
- gr_vec_types.h \
- gri_goertzel.h \
- gri_iir.h \
- gri_mmse_fir_interpolator.h \
- gri_mmse_fir_interpolator_cc.h \
- qa_filter.h \
- short_dotprod_generic.h \
- short_dotprod_x86.h \
- sse_debug.h \
- gr_pfb_channelizer_ccf.h \
- gr_pfb_synthesis_filterbank_ccf.h\
- gr_pfb_decimator_ccf.h \
- gr_pfb_interpolator_ccf.h \
- gr_pfb_arb_resampler_ccf.h \
- gr_pfb_arb_resampler_fff.h \
- gr_pfb_clock_sync_ccf.h \
- gr_pfb_clock_sync_fff.h \
- gr_dc_blocker_cc.h \
- gr_dc_blocker_ff.h
-
-noinst_HEADERS = \
- assembly.h \
- gcc_x86_cpuid.h \
- dotprod_fff_altivec.h \
- dotprod_fff_armv7_a.h \
- dotprod_ccf_armv7_a.h \
- gr_fir_scc_simd.h \
- gr_fir_scc_x86.h \
- gr_fir_fcc_simd.h \
- gr_fir_fcc_x86.h \
- gr_fir_ccf_simd.h \
- gr_fir_ccf_x86.h \
- gr_fir_ccc_simd.h \
- gr_fir_ccc_x86.h \
- gr_fir_fff_altivec.h \
- gr_fir_fff_armv7_a.h \
- gr_fir_ccf_armv7_a.h \
- gr_fir_fff_simd.h \
- gr_fir_fff_x86.h \
- gr_fir_fsf_simd.h \
- gr_fir_fsf_x86.h \
- interpolator_taps.h \
- qa_complex_dotprod_x86.h \
- qa_ccomplex_dotprod_x86.h \
- qa_dotprod.h \
- qa_float_dotprod_x86.h \
- qa_gr_fir_ccf.h \
- qa_gr_fir_fcc.h \
- qa_gr_fir_fff.h \
- qa_gr_fir_ccc.h \
- qa_gr_fir_scc.h \
- qa_gr_rotator.h \
- qa_gri_mmse_fir_interpolator.h \
- qa_gri_mmse_fir_interpolator_cc.h \
- qa_gri_fir_filter_with_buffer_ccf.h \
- qa_gri_fir_filter_with_buffer_ccc.h \
- qa_gri_fir_filter_with_buffer_fcc.h \
- qa_gri_fir_filter_with_buffer_fff.h \
- qa_gri_fir_filter_with_buffer_fsf.h \
- qa_gri_fir_filter_with_buffer_scc.h
-
-
-swiginclude_HEADERS = \
- filter.i \
- filter_generated.i \
- gr_adaptive_fir_ccc.i \
- gr_adaptive_fir_ccf.i \
- gr_fft_filter_ccc.i \
- gr_fft_filter_fff.i \
- gr_filter_delay_fc.i \
- gr_fractional_interpolator_ff.i \
- gr_fractional_interpolator_cc.i \
- gr_goertzel_fc.i \
- gr_hilbert_fc.i \
- gr_iir_filter_ffd.i \
- gr_single_pole_iir_filter_ff.i \
- gr_single_pole_iir_filter_cc.i \
- gr_pfb_channelizer_ccf.i \
- gr_pfb_synthesis_filterbank_ccf.i\
- gr_pfb_decimator_ccf.i \
- gr_pfb_interpolator_ccf.i \
- gr_pfb_arb_resampler_ccf.i \
- gr_pfb_arb_resampler_fff.i \
- gr_pfb_clock_sync_ccf.i \
- gr_pfb_clock_sync_fff.i \
- gr_dc_blocker_cc.i \
- gr_dc_blocker_ff.i \
- $(GENERATED_I)
-
-
-# Do creation and inclusion of other Makefiles last
-
-# include the srcdir's Makefile.gen; doing this creates an implicit
-# dependency between $(srcdir)/Makefile.in and $(srcdir)/Makefile.gen.
-include $(srcdir)/Makefile.gen
-
-# common way for generating local Makefile.gen
-makefile_gen_gen_command = PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) do_makefile=1 do_sources=0 $(PYTHON) $(srcdir)/generate_all.py
-include $(top_srcdir)/Makefile.gen.gen
-
-# common way for generating sources from templates when using
-# BUILT_SOURCES, using parallel build protection.
-gen_sources = $(BUILT_SOURCES)
-gen_sources_deps = $(core_generator)
-par_gen_command = PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) $(PYTHON) $(srcdir)/generate_all.py
-include $(top_srcdir)/Makefile.par.gen
diff --git a/gnuradio-core/src/lib/filter/filter.i b/gnuradio-core/src/lib/filter/filter.i
index 8c3bb9eb6..2b7d9d0b7 100644
--- a/gnuradio-core/src/lib/filter/filter.i
+++ b/gnuradio-core/src/lib/filter/filter.i
@@ -32,7 +32,7 @@
#include <gr_fractional_interpolator_cc.h>
#include <gr_goertzel_fc.h>
#include <gr_pfb_channelizer_ccf.h>
-#include <gr_pfb_synthesis_filterbank_ccf.h>
+#include <gr_pfb_synthesizer_ccf.h>
#include <gr_pfb_decimator_ccf.h>
#include <gr_pfb_interpolator_ccf.h>
#include <gr_pfb_arb_resampler_ccf.h>
@@ -54,7 +54,7 @@
%include "gr_fractional_interpolator_cc.i"
%include "gr_goertzel_fc.i"
%include "gr_pfb_channelizer_ccf.i"
-%include "gr_pfb_synthesis_filterbank_ccf.i"
+%include "gr_pfb_synthesizer_ccf.i"
%include "gr_pfb_decimator_ccf.i"
%include "gr_pfb_interpolator_ccf.i"
%include "gr_pfb_arb_resampler_ccf.i"
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc
index db16a634b..a82d3901c 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc
+++ b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc
@@ -46,7 +46,7 @@ gr_pfb_channelizer_ccf::gr_pfb_channelizer_ccf (unsigned int numchans,
float oversample_rate)
: gr_block ("pfb_channelizer_ccf",
gr_make_io_signature (numchans, numchans, sizeof(gr_complex)),
- gr_make_io_signature (1, 1, numchans*sizeof(gr_complex))),
+ gr_make_io_signature (1, numchans, sizeof(gr_complex))),
d_updated (false), d_numchans(numchans), d_oversample_rate(oversample_rate)
{
// The over sampling rate must be rationally related to the number of channels
@@ -62,11 +62,13 @@ gr_pfb_channelizer_ccf::gr_pfb_channelizer_ccf (unsigned int numchans,
set_relative_rate(1.0/intp);
d_filters = std::vector<gr_fir_ccf*>(d_numchans);
+ d_channel_map.resize(d_numchans);
// Create an FIR filter for each channel and zero out the taps
std::vector<float> vtaps(0, d_numchans);
for(unsigned int i = 0; i < d_numchans; i++) {
d_filters[i] = gr_fir_util::create_gr_fir_ccf(vtaps);
+ d_channel_map[i] = i;
}
// Now, actually set the filters' taps
@@ -104,6 +106,7 @@ gr_pfb_channelizer_ccf::~gr_pfb_channelizer_ccf ()
void
gr_pfb_channelizer_ccf::set_taps (const std::vector<float> &taps)
{
+ gruel::scoped_lock guard(d_mutex);
unsigned int i,j;
unsigned int ntaps = taps.size();
@@ -151,6 +154,33 @@ gr_pfb_channelizer_ccf::print_taps()
}
}
+std::vector< std::vector<float> >
+gr_pfb_channelizer_ccf::taps() const
+{
+ return d_taps;
+}
+
+void
+gr_pfb_channelizer_ccf::set_channel_map(const std::vector<int> &map)
+{
+ gruel::scoped_lock guard(d_mutex);
+
+ if(map.size() > 0) {
+ unsigned int max = (unsigned int)*std::max_element(map.begin(), map.end());
+ unsigned int min = (unsigned int)*std::min_element(map.begin(), map.end());
+ if((max >= d_numchans) || (min < 0)) {
+ throw std::invalid_argument("gr_pfb_channelizer_ccf::set_channel_map: map range out of bounds.\n");
+ }
+ d_channel_map = map;
+ }
+}
+
+std::vector<int>
+gr_pfb_channelizer_ccf::channel_map() const
+{
+ return d_channel_map;
+}
+
int
gr_pfb_channelizer_ccf::general_work (int noutput_items,
@@ -158,6 +188,8 @@ gr_pfb_channelizer_ccf::general_work (int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
+ gruel::scoped_lock guard(d_mutex);
+
gr_complex *in = (gr_complex *) input_items[0];
gr_complex *out = (gr_complex *) output_items[0];
@@ -166,7 +198,9 @@ gr_pfb_channelizer_ccf::general_work (int noutput_items,
return 0; // history requirements may have changed.
}
- int n=1, i=-1, j=0, last;
+ size_t noutputs = output_items.size();
+
+ int n=1, i=-1, j=0, oo=0, last;
int toconsume = (int)rintf(noutput_items/d_oversample_rate);
while(n <= toconsume) {
j = 0;
@@ -191,8 +225,13 @@ gr_pfb_channelizer_ccf::general_work (int noutput_items,
// despin through FFT
d_fft->execute();
- memcpy(out, d_fft->get_outbuf(), d_numchans*sizeof(gr_complex));
- out += d_numchans;
+
+ // Send to output channels
+ for(unsigned int nn = 0; nn < noutputs; nn++) {
+ out = (gr_complex*)output_items[nn];
+ out[oo] = d_fft->get_outbuf()[d_channel_map[nn]];
+ }
+ oo++;
}
consume_each(toconsume);
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.h b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.h
index 8fd5c4f78..040b93e73 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.h
+++ b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.h
@@ -26,6 +26,7 @@
#include <gr_core_api.h>
#include <gr_block.h>
+#include <gruel/thread.h>
class gr_pfb_channelizer_ccf;
typedef boost::shared_ptr<gr_pfb_channelizer_ccf> gr_pfb_channelizer_ccf_sptr;
@@ -146,6 +147,8 @@ class GR_CORE_API gr_pfb_channelizer_ccf : public gr_block
int *d_idxlut;
int d_rate_ratio;
int d_output_multiple;
+ std::vector<int> d_channel_map;
+ gruel::mutex d_mutex; // mutex to protect set/work access
/*!
* Build the polyphase filterbank decimator.
@@ -170,6 +173,49 @@ public:
* Print all of the filterbank taps to screen.
*/
void print_taps();
+
+ /*!
+ * Return a vector<vector<>> of the filterbank taps
+ */
+ std::vector<std::vector<float> > taps() const;
+
+ /*!
+ * Set the channel map. Channels are numbers as:
+ *
+ * N/2+1 | ... | N-1 | 0 | 1 | 2 | ... | N/2
+ * <------------------- 0 -------------------->
+ * freq
+ *
+ * So output stream 0 comes from channel 0, etc. Setting a new
+ * channel map allows the user to specify which channel in frequency
+ * he/she wants to got to which output stream.
+ *
+ * The map should have the same number of elements as the number of
+ * output connections from the block. The minimum value of the map
+ * is 0 (for the 0th channel) and the maximum number is N-1 where N
+ * is the number of channels.
+ *
+ * We specify M as the number of output connections made where M <=
+ * N, so only M out of N channels are driven to an output
+ * stream. The number of items in the channel map should be at least
+ * M long. If there are more channels specified, any value in the
+ * map over M-1 will be ignored. If the size of the map is less than
+ * M the behavior is unknown (we don't wish to check every entry
+ * into the work function).
+ *
+ * This means that if the channelizer is splitting the signal up
+ * into N channels but only M channels are specified in the map
+ * (where M <= N), then M output streams must be connected and the
+ * map and the channel numbers used must be less than N-1. Output
+ * channel number can be reused, too. By default, the map is
+ * [0...M-1] with M = N.
+ */
+ void set_channel_map(const std::vector<int> &map);
+
+ /*!
+ * Gets the current channel map.
+ */
+ std::vector<int> channel_map() const;
int general_work (int noutput_items,
gr_vector_int &ninput_items,
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.i b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.i
index 63e3e0fe6..f5edba5b7 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.i
+++ b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.i
@@ -37,4 +37,9 @@ class gr_pfb_channelizer_ccf : public gr_block
~gr_pfb_channelizer_ccf ();
void set_taps (const std::vector<float> &taps);
+ void print_taps();
+ std::vector<std::vector<float> > taps() const;
+
+ void set_channel_map(const std::vector<int> &map);
+ std::vector<int> channel_map() const;
};
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.cc
deleted file mode 100644
index 9fad1bd0d..000000000
--- a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.cc
+++ /dev/null
@@ -1,169 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2010 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gr_pfb_synthesis_filterbank_ccf.h>
-#include <gri_fft.h>
-#include <gr_io_signature.h>
-#include <cstdio>
-#include <cstring>
-
-gr_pfb_synthesis_filterbank_ccf_sptr gr_make_pfb_synthesis_filterbank_ccf
- (unsigned int numchans, const std::vector<float> &taps)
-{
- return gr_pfb_synthesis_filterbank_ccf_sptr
- (new gr_pfb_synthesis_filterbank_ccf (numchans, taps));
-}
-
-
-gr_pfb_synthesis_filterbank_ccf::gr_pfb_synthesis_filterbank_ccf
- (unsigned int numchans, const std::vector<float> &taps)
- : gr_sync_interpolator ("pfb_synthesis_filterbank_ccf",
- gr_make_io_signature (1, numchans, sizeof(gr_complex)),
- gr_make_io_signature (1, 1, sizeof(gr_complex)),
- numchans),
- d_updated (false), d_numchans(numchans)
-{
- d_filters = std::vector<gri_fir_filter_with_buffer_ccf*>(d_numchans);
-
- // Create an FIR filter for each channel and zero out the taps
- std::vector<float> vtaps(0, d_numchans);
- for(unsigned int i = 0; i < d_numchans; i++) {
- d_filters[i] = new gri_fir_filter_with_buffer_ccf(vtaps);
- }
-
- // Now, actually set the filters' taps
- set_taps(taps);
-
- // Create the IFFT to handle the input channel rotations
- d_fft = new gri_fft_complex (d_numchans, true);
-}
-
-gr_pfb_synthesis_filterbank_ccf::~gr_pfb_synthesis_filterbank_ccf ()
-{
- for(unsigned int i = 0; i < d_numchans; i++) {
- delete d_filters[i];
- }
-}
-
-void
-gr_pfb_synthesis_filterbank_ccf::set_taps (const std::vector<float> &taps)
-{
- unsigned int i,j;
-
- unsigned int ntaps = taps.size();
- d_taps_per_filter = (unsigned int)ceil((double)ntaps/(double)d_numchans);
-
- // Create d_numchan vectors to store each channel's taps
- d_taps.resize(d_numchans);
-
- // Make a vector of the taps plus fill it out with 0's to fill
- // each polyphase filter with exactly d_taps_per_filter
- std::vector<float> tmp_taps;
- tmp_taps = taps;
- while((float)(tmp_taps.size()) < d_numchans*d_taps_per_filter) {
- tmp_taps.push_back(0.0);
- }
-
- // Partition the filter
- for(i = 0; i < d_numchans; i++) {
- // Each channel uses all d_taps_per_filter with 0's if not enough taps to fill out
- d_taps[i] = std::vector<float>(d_taps_per_filter, 0);
- for(j = 0; j < d_taps_per_filter; j++) {
- d_taps[i][j] = tmp_taps[i + j*d_numchans]; // add taps to channels in reverse order
- }
-
- // Build a filter for each channel and add it's taps to it
- d_filters[i]->set_taps(d_taps[i]);
- }
-
- // Set the history to ensure enough input items for each filter
- set_history (d_taps_per_filter+1);
-
- d_updated = true;
-}
-
-void
-gr_pfb_synthesis_filterbank_ccf::print_taps()
-{
- unsigned int i, j;
- for(i = 0; i < d_numchans; i++) {
- printf("filter[%d]: [", i);
- for(j = 0; j < d_taps_per_filter; j++) {
- printf(" %.4e", d_taps[i][j]);
- }
- printf("]\n\n");
- }
-}
-
-
-int
-gr_pfb_synthesis_filterbank_ccf::work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
-{
- gr_complex *in = (gr_complex*) input_items[0];
- gr_complex *out = (gr_complex *) output_items[0];
- int numsigs = input_items.size();
- int ndiff = d_numchans - numsigs;
- unsigned int nhalf = (unsigned int)ceil((float)numsigs/2.0f);
-
- if (d_updated) {
- d_updated = false;
- return 0; // history requirements may have changed.
- }
-
- unsigned int n, i;
- for(n = 0; n < noutput_items/d_numchans; n++) {
- // fill up the populated channels based on the
- // number of real input streams
- for(i = 0; i < nhalf; i++) {
- in = (gr_complex*)input_items[i];
- d_fft->get_inbuf()[i] = (in+i)[n];
- }
-
- // Make the ndiff channels around N/2 0
- for(; i < nhalf+ndiff; i++) {
- d_fft->get_inbuf()[i] = gr_complex(0,0);
- }
-
- // Finish off channels with data
- for(; i < d_numchans; i++) {
- in = (gr_complex*)input_items[i-ndiff];
- d_fft->get_inbuf()[i] = (in+i)[n];
- }
-
- // spin through IFFT
- d_fft->execute();
-
- for(i = 0; i < d_numchans; i++) {
- out[d_numchans-i-1] = d_filters[d_numchans-i-1]->filter(d_fft->get_outbuf()[i]);
- }
-
- out += d_numchans;
- }
-
- return noutput_items;
-}
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.h b/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.h
deleted file mode 100644
index 1f772b1dd..000000000
--- a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2010 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-
-#ifndef INCLUDED_GR_PFB_SYNTHESIS_FILTERBANK_CCF_H
-#define INCLUDED_GR_PFB_SYNTHESIS_FILTERBANK_CCF_H
-
-#include <gr_core_api.h>
-#include <gr_sync_interpolator.h>
-#include <gri_fir_filter_with_buffer_ccf.h>
-
-class gr_pfb_synthesis_filterbank_ccf;
-typedef boost::shared_ptr<gr_pfb_synthesis_filterbank_ccf> gr_pfb_synthesis_filterbank_ccf_sptr;
-GR_CORE_API gr_pfb_synthesis_filterbank_ccf_sptr gr_make_pfb_synthesis_filterbank_ccf
- (unsigned int numchans, const std::vector<float> &taps);
-
-class gri_fft_complex;
-
-
-/*!
- * \class gr_pfb_synthesis_filterbank_ccf
- *
- * \brief Polyphase synthesis filterbank with
- * gr_complex input, gr_complex output and float taps
- *
- * \ingroup filter_blk
- * \ingroup pfb_blk
- */
-
-class GR_CORE_API gr_pfb_synthesis_filterbank_ccf : public gr_sync_interpolator
-{
- private:
- /*!
- * Build the polyphase synthesis filterbank.
- * \param numchans (unsigned integer) Specifies the number of
- channels <EM>M</EM>
- * \param taps (vector/list of floats) The prototype filter to
- populate the filterbank.
- */
- friend GR_CORE_API gr_pfb_synthesis_filterbank_ccf_sptr gr_make_pfb_synthesis_filterbank_ccf
- (unsigned int numchans, const std::vector<float> &taps);
-
- bool d_updated;
- unsigned int d_numchans;
- unsigned int d_taps_per_filter;
- gri_fft_complex *d_fft;
- std::vector< gri_fir_filter_with_buffer_ccf*> d_filters;
- std::vector< std::vector<float> > d_taps;
-
-
- /*!
- * Build the polyphase synthesis filterbank.
- * \param numchans (unsigned integer) Specifies the number of
- channels <EM>M</EM>
- * \param taps (vector/list of floats) The prototype filter
- to populate the filterbank.
- */
- gr_pfb_synthesis_filterbank_ccf (unsigned int numchans,
- const std::vector<float> &taps);
-
-public:
- ~gr_pfb_synthesis_filterbank_ccf ();
-
- /*!
- * Resets the filterbank's filter taps with the new prototype filter
- * \param taps (vector/list of floats) The prototype filter to
- populate the filterbank.
- */
- void set_taps (const std::vector<float> &taps);
-
- /*!
- * Print all of the filterbank taps to screen.
- */
- void print_taps();
-
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-};
-
-#endif
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.cc
new file mode 100644
index 000000000..08fbd3df7
--- /dev/null
+++ b/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.cc
@@ -0,0 +1,286 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2010,2012 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gr_pfb_synthesizer_ccf.h>
+#include <gri_fft.h>
+#include <gr_io_signature.h>
+#include <cstdio>
+#include <cstring>
+
+gr_pfb_synthesizer_ccf_sptr gr_make_pfb_synthesizer_ccf
+ (unsigned int numchans, const std::vector<float> &taps, bool twox)
+{
+ return gr_pfb_synthesizer_ccf_sptr
+ (new gr_pfb_synthesizer_ccf (numchans, taps, twox));
+}
+
+
+gr_pfb_synthesizer_ccf::gr_pfb_synthesizer_ccf
+ (unsigned int numchans, const std::vector<float> &taps, bool twox)
+ : gr_sync_interpolator ("pfb_synthesizer_ccf",
+ gr_make_io_signature (1, numchans, sizeof(gr_complex)),
+ gr_make_io_signature (1, 1, sizeof(gr_complex)),
+ numchans),
+ d_updated (false), d_numchans(numchans), d_state(0)
+{
+ // set up 2x multiplier; if twox==True, set to 2, otherwise to 1
+ d_twox = (twox ? 2 : 1);
+ if(d_numchans % d_twox != 0) {
+ throw std::invalid_argument("gr_pfb_synthesizer_ccf: number of channels must be even for 2x oversampling.\n");
+ }
+
+ d_filters = std::vector<gri_fir_filter_with_buffer_ccf*>(d_twox*d_numchans);
+ d_channel_map.resize(d_twox*d_numchans);
+
+ // Create an FIR filter for each channel and zero out the taps
+ std::vector<float> vtaps(0, d_twox*d_numchans);
+ for(unsigned int i = 0; i < d_twox*d_numchans; i++) {
+ d_filters[i] = new gri_fir_filter_with_buffer_ccf(vtaps);
+ d_channel_map[i] = i;
+ }
+
+ // Now, actually set the filters' taps
+ set_taps(taps);
+
+ // Create the IFFT to handle the input channel rotations
+ d_fft = new gri_fft_complex (d_twox*d_numchans, false);
+ memset(d_fft->get_inbuf(), 0, d_twox*d_numchans*sizeof(gr_complex));
+
+ set_output_multiple(d_numchans);
+}
+
+gr_pfb_synthesizer_ccf::~gr_pfb_synthesizer_ccf ()
+{
+ for(unsigned int i = 0; i < d_twox*d_numchans; i++) {
+ delete d_filters[i];
+ }
+}
+
+void
+gr_pfb_synthesizer_ccf::set_taps(const std::vector<float> &taps)
+{
+ gruel::scoped_lock guard(d_mutex);
+ if(d_twox == 1)
+ set_taps1(taps);
+ else
+ set_taps2(taps);
+}
+
+void
+gr_pfb_synthesizer_ccf::set_taps1(const std::vector<float> &taps)
+{
+ unsigned int i,j;
+
+ unsigned int ntaps = taps.size();
+ d_taps_per_filter = (unsigned int)ceil((double)ntaps/(double)d_numchans);
+
+ // Create d_numchan vectors to store each channel's taps
+ d_taps.resize(d_numchans);
+
+ // Make a vector of the taps plus fill it out with 0's to fill
+ // each polyphase filter with exactly d_taps_per_filter
+ std::vector<float> tmp_taps;
+ tmp_taps = taps;
+ while((float)(tmp_taps.size()) < d_numchans*d_taps_per_filter) {
+ tmp_taps.push_back(0.0);
+ }
+
+ // Partition the filter
+ for(i = 0; i < d_numchans; i++) {
+ // Each channel uses all d_taps_per_filter with 0's if not enough taps to fill out
+ d_taps[i] = std::vector<float>(d_taps_per_filter, 0);
+ for(j = 0; j < d_taps_per_filter; j++) {
+ d_taps[i][j] = tmp_taps[i + j*d_numchans]; // add taps to channels in reverse order
+ }
+
+ // Build a filter for each channel and add it's taps to it
+ d_filters[i]->set_taps(d_taps[i]);
+ }
+
+ // Set the history to ensure enough input items for each filter
+ set_history (d_taps_per_filter+1);
+
+ d_updated = true;
+}
+
+void
+gr_pfb_synthesizer_ccf::set_taps2 (const std::vector<float> &taps)
+{
+ unsigned int i,j;
+ int state = 0;
+
+ unsigned int ntaps = taps.size();
+ d_taps_per_filter = (unsigned int)ceil((double)ntaps/(double)d_numchans);
+
+ // Create d_numchan vectors to store each channel's taps
+ d_taps.resize(d_twox*d_numchans);
+
+ // Make a vector of the taps plus fill it out with 0's to fill
+ // each polyphase filter with exactly d_taps_per_filter
+ std::vector<float> tmp_taps;
+ tmp_taps = taps;
+ while((float)(tmp_taps.size()) < d_numchans*d_taps_per_filter) {
+ tmp_taps.push_back(0.0);
+ }
+
+ // Partition the filter
+ for(i = 0; i < d_numchans; i++) {
+ // Each channel uses all d_taps_per_filter with 0's if not enough taps to fill out
+ d_taps[i] = std::vector<float>(d_taps_per_filter, 0);
+ d_taps[d_numchans+i] = std::vector<float>(d_taps_per_filter, 0);
+ state = 0;
+ for(j = 0; j < d_taps_per_filter; j++) {
+ // add taps to channels in reverse order
+ // Zero out every other tap
+ if(state == 0) {
+ d_taps[i][j] = tmp_taps[i + j*d_numchans];
+ d_taps[d_numchans + i][j] = 0;
+ state = 1;
+ }
+ else {
+ d_taps[i][j] = 0;
+ d_taps[d_numchans + i][j] = tmp_taps[i + j*d_numchans];
+ state = 0;
+ }
+ }
+
+ // Build a filter for each channel and add it's taps to it
+ d_filters[i]->set_taps(d_taps[i]);
+ d_filters[d_numchans + i]->set_taps(d_taps[d_numchans + i]);
+ }
+
+ // Set the history to ensure enough input items for each filter
+ set_history (d_taps_per_filter+1);
+
+ d_updated = true;
+}
+
+void
+gr_pfb_synthesizer_ccf::print_taps()
+{
+ unsigned int i, j;
+ for(i = 0; i < d_twox*d_numchans; i++) {
+ printf("filter[%d]: [", i);
+ for(j = 0; j < d_taps_per_filter; j++) {
+ printf(" %.4e", d_taps[i][j]);
+ }
+ printf("]\n\n");
+ }
+}
+
+
+std::vector< std::vector<float> >
+gr_pfb_synthesizer_ccf::taps() const
+{
+ return d_taps;
+}
+
+void
+gr_pfb_synthesizer_ccf::set_channel_map(const std::vector<int> &map)
+{
+ gruel::scoped_lock guard(d_mutex);
+
+ if(map.size() > 0) {
+ unsigned int max = (unsigned int)*std::max_element(map.begin(), map.end());
+ unsigned int min = (unsigned int)*std::min_element(map.begin(), map.end());
+ if((max >= d_twox*d_numchans) || (min < 0)) {
+ throw std::invalid_argument("gr_pfb_synthesizer_ccf::set_channel_map: map range out of bounds.\n");
+ }
+ d_channel_map = map;
+
+ // Zero out fft buffer so that unused channels are always 0
+ memset(d_fft->get_inbuf(), 0,d_twox*d_numchans*sizeof(gr_complex));
+ }
+}
+
+std::vector<int>
+gr_pfb_synthesizer_ccf::channel_map() const
+{
+ return d_channel_map;
+}
+
+int
+gr_pfb_synthesizer_ccf::work (int noutput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items)
+{
+ gruel::scoped_lock guard(d_mutex);
+
+ gr_complex *in = (gr_complex*) input_items[0];
+ gr_complex *out = (gr_complex *) output_items[0];
+
+ if (d_updated) {
+ d_updated = false;
+ return 0; // history requirements may have changed.
+ }
+
+ unsigned int n, i;
+ size_t ninputs = input_items.size();
+
+ // Algoritm for critically sampled channels
+ if(d_twox == 1) {
+ for(n = 0; n < noutput_items/d_numchans; n++) {
+ for(i = 0; i < ninputs; i++) {
+ in = (gr_complex*)input_items[i];
+ d_fft->get_inbuf()[d_channel_map[i]] = in[n];
+ }
+
+ // spin through IFFT
+ d_fft->execute();
+
+ for(i = 0; i < d_numchans; i++) {
+ out[i] = d_filters[i]->filter(d_fft->get_outbuf()[i]);
+ }
+ out += d_numchans;
+ }
+ }
+
+ // Algorithm for oversampling by 2x
+ else {
+ for(n = 0; n < noutput_items/d_numchans; n++) {
+ for(i = 0; i < ninputs; i++) {
+ in = (gr_complex*)input_items[i];
+ d_fft->get_inbuf()[d_channel_map[i]] = in[n];
+ }
+
+ // spin through IFFT
+ d_fft->execute();
+
+ // Output is sum of two filters, but the input buffer to the filters must be circularly
+ // shifted by numchans every time through, done by using d_state to determine which IFFT
+ // buffer position to pull from.
+ for(i = 0; i < d_numchans; i++) {
+ out[i] = d_filters[i]->filter(d_fft->get_outbuf()[d_state*d_numchans+i]);
+ out[i] += d_filters[d_numchans+i]->filter(d_fft->get_outbuf()[(d_state^1)*d_numchans+i]);
+ }
+ d_state ^= 1;
+
+ out += d_numchans;
+ }
+ }
+
+ return noutput_items;
+}
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.h b/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.h
new file mode 100644
index 000000000..4c127b22f
--- /dev/null
+++ b/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.h
@@ -0,0 +1,147 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2010,2012 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Radio
+ *
+ * GNU Radio is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING. If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+
+
+#ifndef INCLUDED_GR_PFB_SYNTHESIZER_CCF_H
+#define INCLUDED_GR_PFB_SYNTHESIZER_CCF_H
+
+#include <gr_core_api.h>
+#include <gr_sync_interpolator.h>
+#include <gri_fir_filter_with_buffer_ccf.h>
+#include <gruel/thread.h>
+
+class gr_pfb_synthesizer_ccf;
+typedef boost::shared_ptr<gr_pfb_synthesizer_ccf> gr_pfb_synthesizer_ccf_sptr;
+GR_CORE_API gr_pfb_synthesizer_ccf_sptr gr_make_pfb_synthesizer_ccf
+ (unsigned int numchans, const std::vector<float> &taps, bool twox=false);
+
+class gri_fft_complex;
+
+
+/*!
+ * \class gr_pfb_synthesizer_ccf
+ *
+ * \brief Polyphase synthesis filterbank with
+ * gr_complex input, gr_complex output and float taps
+ *
+ * \ingroup filter_blk
+ * \ingroup pfb_blk
+ */
+
+class GR_CORE_API gr_pfb_synthesizer_ccf : public gr_sync_interpolator
+{
+ private:
+ /*!
+ * Build the polyphase synthesis filterbank.
+ * \param numchans (unsigned integer) Specifies the number of
+ channels <EM>M</EM>
+ * \param taps (vector/list of floats) The prototype filter to
+ populate the filterbank.
+ * \param twox (bool) use 2x oversampling or not (default is no)
+ */
+ friend GR_CORE_API gr_pfb_synthesizer_ccf_sptr gr_make_pfb_synthesizer_ccf
+ (unsigned int numchans, const std::vector<float> &taps, bool twox);
+
+ bool d_updated;
+ unsigned int d_numchans;
+ unsigned int d_taps_per_filter;
+ gri_fft_complex *d_fft;
+ std::vector< gri_fir_filter_with_buffer_ccf*> d_filters;
+ std::vector< std::vector<float> > d_taps;
+ int d_state;
+ std::vector<int> d_channel_map;
+ unsigned int d_twox;
+ gruel::mutex d_mutex; // mutex to protect set/work access
+
+ /*!
+ * \brief Tap setting algorithm for critically sampled channels
+ */
+ void set_taps1(const std::vector<float> &taps);
+
+ /*!
+ * \brief Tap setting algorithm for 2x over-sampled channels
+ */
+ void set_taps2(const std::vector<float> &taps);
+
+ /*!
+ * Build the polyphase synthesis filterbank.
+ * \param numchans (unsigned integer) Specifies the number of
+ channels <EM>M</EM>
+ * \param taps (vector/list of floats) The prototype filter
+ to populate the filterbank.
+ * \param twox (bool) use 2x oversampling or not (default is no)
+ */
+ gr_pfb_synthesizer_ccf (unsigned int numchans,
+ const std::vector<float> &taps,
+ bool twox);
+
+public:
+ ~gr_pfb_synthesizer_ccf ();
+
+ /*!
+ * Resets the filterbank's filter taps with the new prototype filter
+ * \param taps (vector/list of floats) The prototype filter to
+ populate the filterbank.
+ */
+ void set_taps (const std::vector<float> &taps);
+
+ /*!
+ * Print all of the filterbank taps to screen.
+ */
+ void print_taps();
+
+ /*!
+ * Return a vector<vector<>> of the filterbank taps
+ */
+ std::vector<std::vector<float> > taps() const;
+
+ /*!
+ * Set the channel map. Channels are numbers as:
+ * N/2+1 | ... | N-1 | 0 | 1 | 2 | ... | N/2
+ * <------------------- 0 -------------------->
+ * freq
+ *
+ * So input stream 0 goes to channel 0, etc. Setting a new channel
+ * map allows the user to specify where in frequency he/she wants
+ * the input stream to go. This is especially useful to avoid
+ * putting signals into the channels on the edge of the spectrum
+ * which can either wrap around (in the case of odd number of
+ * channels) and be affected by filter rolloff in the transmitter.
+ *
+ * The map must be at least the number of streams being sent to the
+ * block. Less and the algorithm will not have enough data to
+ * properly setup the buffers. Any more channels specified will be
+ * ignored.
+ */
+ void set_channel_map(const std::vector<int> &map);
+
+ /*!
+ * Gets the current channel map.
+ */
+ std::vector<int> channel_map() const;
+
+ int work (int noutput_items,
+ gr_vector_const_void_star &input_items,
+ gr_vector_void_star &output_items);
+};
+
+#endif
diff --git a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.i b/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.i
index 02a9f0255..1e2c057ba 100644
--- a/gnuradio-core/src/lib/filter/gr_pfb_synthesis_filterbank_ccf.i
+++ b/gnuradio-core/src/lib/filter/gr_pfb_synthesizer_ccf.i
@@ -1,6 +1,6 @@
/* -*- c++ -*- */
/*
- * Copyright 2010 Free Software Foundation, Inc.
+ * Copyright 2010,2012 Free Software Foundation, Inc.
*
* This file is part of GNU Radio
*
@@ -20,19 +20,25 @@
* Boston, MA 02110-1301, USA.
*/
-GR_SWIG_BLOCK_MAGIC(gr,pfb_synthesis_filterbank_ccf);
+GR_SWIG_BLOCK_MAGIC(gr,pfb_synthesizer_ccf);
-gr_pfb_synthesis_filterbank_ccf_sptr gr_make_pfb_synthesis_filterbank_ccf
- (unsigned int numchans, const std::vector<float> &taps);
+gr_pfb_synthesizer_ccf_sptr gr_make_pfb_synthesizer_ccf
+ (unsigned int numchans, const std::vector<float> &taps, bool twox=false);
-class gr_pfb_synthesis_filterbank_ccf : public gr_sync_interpolator
+class gr_pfb_synthesizer_ccf : public gr_sync_interpolator
{
private:
- gr_pfb_synthesis_filterbank_ccf (unsigned int numchans,
- const std::vector<float> &taps);
-
+ gr_pfb_synthesizer_ccf (unsigned int numchans,
+ const std::vector<float> &taps,
+ bool twox=false);
+
public:
- ~gr_pfb_synthesis_filterbank_ccf ();
+ ~gr_pfb_synthesizer_ccf ();
void set_taps (const std::vector<float> &taps);
+ void print_taps();
+ std::vector< std::vector<float> > taps() const;
+
+ void set_channel_map(const std::vector<int> &map);
+ std::vector<int> channel_map() const;
};
diff --git a/gnuradio-core/src/lib/general/.gitignore b/gnuradio-core/src/lib/general/.gitignore
deleted file mode 100644
index 795dc793c..000000000
--- a/gnuradio-core/src/lib/general/.gitignore
+++ /dev/null
@@ -1,308 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
-/*.pyc
-/generate-stamp
-/gr_constants.cc
-/GrFIRfilterCCC.cc
-/GrFIRfilterCCC.h
-/GrFIRfilterCCF.cc
-/GrFIRfilterCCF.h
-/GrFIRfilterFCC.cc
-/GrFIRfilterFCC.h
-/GrFIRfilterFFF.cc
-/GrFIRfilterFFF.h
-/GrFIRfilterFSF.cc
-/GrFIRfilterFSF.h
-/GrFIRfilterSCC.cc
-/GrFIRfilterSCC.h
-/GrFIRfilterSIS.cc
-/GrFIRfilterSIS.h
-/GrFreqXlatingFIRfilterCCC.cc
-/GrFreqXlatingFIRfilterCCC.h
-/GrFreqXlatingFIRfilterCCF.cc
-/GrFreqXlatingFIRfilterCCF.h
-/GrFreqXlatingFIRfilterFCC.cc
-/GrFreqXlatingFIRfilterFCC.h
-/GrFreqXlatingFIRfilterFCF.cc
-/GrFreqXlatingFIRfilterFCF.h
-/GrFreqXlatingFIRfilterSCC.cc
-/GrFreqXlatingFIRfilterSCC.h
-/GrFreqXlatingFIRfilterSCF.cc
-/GrFreqXlatingFIRfilterSCF.h
-/gr_fir_CCC.cc
-/gr_fir_CCC.h
-/gr_fir_CCC_generic.cc
-/gr_fir_CCC_generic.h
-/gr_fir_CCF.cc
-/gr_fir_CCF.h
-/gr_fir_CCF_generic.cc
-/gr_fir_CCF_generic.h
-/gr_fir_FCC.cc
-/gr_fir_FCC.h
-/gr_fir_FCC_generic.cc
-/gr_fir_FCC_generic.h
-/gr_fir_FFF.cc
-/gr_fir_FFF.h
-/gr_fir_FFF_generic.cc
-/gr_fir_FFF_generic.h
-/gr_fir_FSF.cc
-/gr_fir_FSF.h
-/gr_fir_FSF_generic.cc
-/gr_fir_FSF_generic.h
-/gr_fir_SCC.cc
-/gr_fir_SCC.h
-/gr_fir_SCC_generic.cc
-/gr_fir_SCC_generic.h
-/gr_fir_SIS.cc
-/gr_fir_SIS.h
-/gr_fir_SIS_generic.cc
-/gr_fir_SIS_generic.h
-/gr_fir_sysconfig.cc
-/gr_fir_sysconfig.h
-/gr_fir_sysconfig_generic.cc
-/gr_fir_sysconfig_generic.h
-/gr_fir_util.cc
-/gr_fir_util.h
-/GrFIRfilterCCC.i
-/GrFIRfilterCCF.i
-/GrFIRfilterFCC.i
-/GrFIRfilterFFF.i
-/GrFIRfilterFSF.i
-/GrFIRfilterSCC.i
-/GrFIRfilterSIS.i
-/GrFreqXlatingFIRfilterCCC.i
-/GrFreqXlatingFIRfilterCCF.i
-/GrFreqXlatingFIRfilterFCC.i
-/GrFreqXlatingFIRfilterFCF.i
-/GrFreqXlatingFIRfilterSCC.i
-/GrFreqXlatingFIRfilterSCF.i
-/# --- generated files ---
-/gr_add_cc.cc
-/gr_add_cc.h
-/gr_add_cc.i
-/gr_add_const_c.cc
-/gr_add_const_c.h
-/gr_add_const_c.i
-/gr_add_const_cc.cc
-/gr_add_const_cc.h
-/gr_add_const_cc.i
-/gr_add_const_f.cc
-/gr_add_const_f.h
-/gr_add_const_f.i
-/gr_add_const_ff.cc
-/gr_add_const_ff.h
-/gr_add_const_ff.i
-/gr_add_const_i.cc
-/gr_add_const_i.h
-/gr_add_const_i.i
-/gr_add_const_ii.cc
-/gr_add_const_ii.h
-/gr_add_const_ii.i
-/gr_add_const_s.cc
-/gr_add_const_s.h
-/gr_add_const_s.i
-/gr_add_const_sf.cc
-/gr_add_const_sf.h
-/gr_add_const_sf.i
-/gr_add_const_ss.cc
-/gr_add_const_ss.h
-/gr_add_const_ss.i
-/gr_add_const_vcc.cc
-/gr_add_const_vcc.h
-/gr_add_const_vcc.i
-/gr_add_const_vff.cc
-/gr_add_const_vff.h
-/gr_add_const_vff.i
-/gr_add_const_vii.cc
-/gr_add_const_vii.h
-/gr_add_const_vii.i
-/gr_add_const_vss.cc
-/gr_add_const_vss.h
-/gr_add_const_vss.i
-/gr_add_ii.cc
-/gr_add_ii.h
-/gr_add_ii.i
-/gr_add_ss.cc
-/gr_add_ss.h
-/gr_add_ss.i
-/gr_add_vcc.cc
-/gr_add_vcc.h
-/gr_add_vcc.i
-/gr_add_vff.cc
-/gr_add_vff.h
-/gr_add_vff.i
-/gr_add_vii.cc
-/gr_add_vii.h
-/gr_add_vii.i
-/gr_add_vss.cc
-/gr_add_vss.h
-/gr_add_vss.i
-/gr_divide_cc.cc
-/gr_divide_cc.h
-/gr_divide_cc.i
-/gr_divide_ff.cc
-/gr_divide_ff.h
-/gr_divide_ff.i
-/gr_divide_ii.cc
-/gr_divide_ii.h
-/gr_divide_ii.i
-/gr_divide_ss.cc
-/gr_divide_ss.h
-/gr_divide_ss.i
-/gr_multiply_const_ii.cc
-/gr_multiply_const_ii.h
-/gr_multiply_const_ii.i
-/gr_multiply_const_ss.cc
-/gr_multiply_const_ss.h
-/gr_multiply_const_ss.i
-/gr_multiply_ii.cc
-/gr_multiply_ii.h
-/gr_multiply_ii.i
-/gr_multiply_ss.cc
-/gr_multiply_ss.h
-/gr_multiply_ss.i
-/gr_multiply_vcc.cc
-/gr_multiply_vcc.h
-/gr_multiply_vcc.i
-/gr_multiply_vff.cc
-/gr_multiply_vff.h
-/gr_multiply_vff.i
-/gr_multiply_vii.cc
-/gr_multiply_vii.h
-/gr_multiply_vii.i
-/gr_multiply_vss.cc
-/gr_multiply_vss.h
-/gr_multiply_vss.i
-/gr_multiply_const_vcc.cc
-/gr_multiply_const_vcc.h
-/gr_multiply_const_vcc.i
-/gr_multiply_const_vff.cc
-/gr_multiply_const_vff.h
-/gr_multiply_const_vff.i
-/gr_multiply_const_vii.cc
-/gr_multiply_const_vii.h
-/gr_multiply_const_vii.i
-/gr_multiply_const_vss.cc
-/gr_multiply_const_vss.h
-/gr_multiply_const_vss.i
-/gr_noise_source_c.cc
-/gr_noise_source_c.h
-/gr_noise_source_c.i
-/gr_noise_source_f.cc
-/gr_noise_source_f.h
-/gr_noise_source_f.i
-/gr_noise_source_i.cc
-/gr_noise_source_i.h
-/gr_noise_source_i.i
-/gr_noise_source_s.cc
-/gr_noise_source_s.h
-/gr_noise_source_s.i
-/gr_sig_source_c.cc
-/gr_sig_source_c.h
-/gr_sig_source_c.i
-/gr_sig_source_f.cc
-/gr_sig_source_f.h
-/gr_sig_source_f.i
-/gr_sig_source_i.cc
-/gr_sig_source_i.h
-/gr_sig_source_i.i
-/gr_sig_source_s.cc
-/gr_sig_source_s.h
-/gr_sig_source_s.i
-/gr_sub_cc.cc
-/gr_sub_cc.h
-/gr_sub_cc.i
-/gr_sub_ff.cc
-/gr_sub_ff.h
-/gr_sub_ff.i
-/gr_sub_ii.cc
-/gr_sub_ii.h
-/gr_sub_ii.i
-/gr_sub_ss.cc
-/gr_sub_ss.h
-/gr_sub_ss.i
-/gr_vector_sink_b.cc
-/gr_vector_sink_b.h
-/gr_vector_sink_b.i
-/gr_vector_sink_c.cc
-/gr_vector_sink_c.h
-/gr_vector_sink_c.i
-/gr_vector_sink_f.cc
-/gr_vector_sink_f.h
-/gr_vector_sink_f.i
-/gr_vector_sink_i.cc
-/gr_vector_sink_i.h
-/gr_vector_sink_i.i
-/gr_vector_sink_s.cc
-/gr_vector_sink_s.h
-/gr_vector_sink_s.i
-/gr_vector_source_b.cc
-/gr_vector_source_b.h
-/gr_vector_source_b.i
-/gr_vector_source_c.cc
-/gr_vector_source_c.h
-/gr_vector_source_c.i
-/gr_vector_source_f.cc
-/gr_vector_source_f.h
-/gr_vector_source_f.i
-/gr_vector_source_i.cc
-/gr_vector_source_i.h
-/gr_vector_source_i.i
-/gr_vector_source_s.cc
-/gr_vector_source_s.h
-/gr_vector_source_s.i
-/gr_mute_cc.cc
-/gr_mute_cc.h
-/gr_mute_cc.i
-/gr_mute_ff.cc
-/gr_mute_ff.h
-/gr_mute_ff.i
-/gr_mute_ii.cc
-/gr_mute_ii.h
-/gr_mute_ii.i
-/gr_mute_ss.cc
-/gr_mute_ss.h
-/gr_mute_ss.i
-/gr_chunks_to_symbols_bc.cc
-/gr_chunks_to_symbols_bc.h
-/gr_chunks_to_symbols_bc.i
-/gr_chunks_to_symbols_bf.cc
-/gr_chunks_to_symbols_bf.h
-/gr_chunks_to_symbols_bf.i
-/gr_chunks_to_symbols_ic.cc
-/gr_chunks_to_symbols_ic.h
-/gr_chunks_to_symbols_ic.i
-/gr_chunks_to_symbols_if.cc
-/gr_chunks_to_symbols_if.h
-/gr_chunks_to_symbols_if.i
-/gr_chunks_to_symbols_sc.cc
-/gr_chunks_to_symbols_sc.h
-/gr_chunks_to_symbols_sc.i
-/gr_chunks_to_symbols_sf.cc
-/gr_chunks_to_symbols_sf.h
-/gr_chunks_to_symbols_sf.i
-/gr_packed_to_unpacked_bb.cc
-/gr_packed_to_unpacked_bb.h
-/gr_packed_to_unpacked_bb.i
-/gr_packed_to_unpacked_ii.cc
-/gr_packed_to_unpacked_ii.h
-/gr_packed_to_unpacked_ii.i
-/gr_packed_to_unpacked_ss.cc
-/gr_packed_to_unpacked_ss.h
-/gr_packed_to_unpacked_ss.i
-/gr_unpacked_to_packed_bb.cc
-/gr_unpacked_to_packed_bb.h
-/gr_unpacked_to_packed_bb.i
-/gr_unpacked_to_packed_ii.cc
-/gr_unpacked_to_packed_ii.h
-/gr_unpacked_to_packed_ii.i
-/gr_unpacked_to_packed_ss.cc
-/gr_unpacked_to_packed_ss.h
-/gr_unpacked_to_packed_ss.i
-/# --- end generated files ---
diff --git a/gnuradio-core/src/lib/general/CMakeLists.txt b/gnuradio-core/src/lib/general/CMakeLists.txt
index ee6e4c4e6..207d85c4c 100644
--- a/gnuradio-core/src/lib/general/CMakeLists.txt
+++ b/gnuradio-core/src/lib/general/CMakeLists.txt
@@ -267,7 +267,6 @@ set(gr_core_general_triple_threats
gr_simple_framer
gr_simple_squelch_cc
gr_skiphead
- gr_squash_ff
gr_squelch_base_cc
gr_squelch_base_ff
gr_stream_mux
@@ -285,11 +284,8 @@ set(gr_core_general_triple_threats
gr_vector_to_stream
gr_vector_to_streams
gr_unpack_k_bits_bb
- gr_wavelet_ff
- gr_wvps_ff
gr_descrambler_bb
gr_scrambler_bb
- gr_probe_mpsk_snr_c
gr_probe_density_b
gr_annotator_alltoall
gr_annotator_1to1
diff --git a/gnuradio-core/src/lib/general/Makefile.am b/gnuradio-core/src/lib/general/Makefile.am
deleted file mode 100644
index ba1f686ab..000000000
--- a/gnuradio-core/src/lib/general/Makefile.am
+++ /dev/null
@@ -1,491 +0,0 @@
-#
-# Copyright 2001,2002,2004,2006-2012 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-# $(WITH_INCLUDES) must _always_ be last
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) \
- $(FFTW3F_CPPFLAGS) $(GSL_CPPFLAGS) $(WITH_INCLUDES)
-
-noinst_LTLIBRARIES = libgeneral.la libgeneral-qa.la
-
-BUILT_SOURCES =
-
-# ----------------------------------------------------------------
-
-EXTRA_DIST += \
- gen_sine_table.py \
- gr_constants.cc.in
-
-libgeneral_la_SOURCES = \
- complex_vec_test.cc \
- gr_add_ff.cc \
- gr_additive_scrambler_bb.cc \
- gr_agc_cc.cc \
- gr_agc_ff.cc \
- gr_agc2_cc.cc \
- gr_agc2_ff.cc \
- gr_align_on_samplenumbers_ss.cc \
- gr_bin_statistics_f.cc \
- gr_bytes_to_syms.cc \
- gr_char_to_float.cc \
- gr_char_to_short.cc \
- gr_check_counting_s.cc \
- gr_check_lfsr_32k_s.cc \
- gr_circular_file.cc \
- gr_complex_to_interleaved_short.cc \
- gr_complex_to_xxx.cc \
- gr_conjugate_cc.cc \
- gr_copy.cc \
- gr_count_bits.cc \
- gr_cpfsk_bc.cc \
- gr_cpm.cc \
- gr_ctcss_squelch_ff.cc \
- gr_decode_ccsds_27_fb.cc \
- gr_deinterleave.cc \
- gr_delay.cc \
- gr_diff_decoder_bb.cc \
- gr_diff_encoder_bb.cc \
- gr_diff_phasor_cc.cc \
- gr_dpll_bb.cc \
- gr_encode_ccsds_27_bb.cc \
- gr_fake_channel_coder_pp.cc \
- gr_fast_atan2f.cc \
- gr_feedforward_agc_cc.cc \
- gr_feval.cc \
- gr_fft_vcc.cc \
- gr_fft_vcc_fftw.cc \
- gr_fft_vfc.cc \
- gr_firdes.cc \
- gr_float_to_char.cc \
- gr_float_to_complex.cc \
- gr_float_to_int.cc \
- gr_float_to_short.cc \
- gr_float_to_uchar.cc \
- gr_fmdet_cf.cc \
- gr_frequency_modulator_fc.cc \
- gr_fxpt.cc \
- gr_framer_sink_1.cc \
- gr_glfsr_source_b.cc \
- gr_glfsr_source_f.cc \
- gr_head.cc \
- gr_interleave.cc \
- gr_interleaved_short_to_complex.cc \
- gr_iqcomp_cc.cc \
- gr_keep_one_in_n.cc \
- gr_kludge_copy.cc \
- gr_lfsr_32k_source_s.cc \
- gr_map_bb.cc \
- gr_misc.cc \
- gr_multiply_cc.cc \
- gr_multiply_ff.cc \
- gr_multiply_const_cc.cc \
- gr_multiply_const_ff.cc \
- gr_multiply_conjugate_cc.cc \
- gr_nlog10_ff.cc \
- gr_nop.cc \
- gr_null_sink.cc \
- gr_null_source.cc \
- gr_pa_2x2_phase_combiner.cc \
- gr_packet_sink.cc \
- gr_peak_detector2_fb.cc \
- gr_phase_modulator_fc.cc \
- gr_pll_carriertracking_cc.cc \
- gr_pll_freqdet_cf.cc \
- gr_pll_refout_cc.cc \
- gr_pn_correlator_cc.cc \
- gr_constants.cc \
- gr_prefs.cc \
- gr_probe_avg_mag_sqrd_c.cc \
- gr_probe_avg_mag_sqrd_cf.cc \
- gr_probe_avg_mag_sqrd_f.cc \
- gr_pwr_squelch_cc.cc \
- gr_pwr_squelch_ff.cc \
- gr_quadrature_demod_cf.cc \
- gr_rail_ff.cc \
- gr_random.cc \
- gr_regenerate_bb.cc \
- gr_remez.cc \
- gr_repeat.cc \
- gr_reverse.cc \
- gr_rms_cf.cc \
- gr_rms_ff.cc \
- gr_short_to_char.cc \
- gr_short_to_float.cc \
- gr_int_to_float.cc \
- gr_simple_correlator.cc \
- gr_simple_framer.cc \
- gr_simple_squelch_cc.cc \
- gr_skiphead.cc \
- gr_squash_ff.cc \
- gr_squelch_base_cc.cc \
- gr_squelch_base_ff.cc \
- gr_stream_mux.cc \
- gr_stream_to_streams.cc \
- gr_stream_to_vector.cc \
- gr_streams_to_stream.cc \
- gr_streams_to_vector.cc \
- gr_stretch_ff.cc \
- gr_test.cc \
- gr_threshold_ff.cc \
- gr_throttle.cc \
- gr_transcendental.cc \
- gr_uchar_to_float.cc \
- gr_vco_f.cc \
- gr_vector_to_stream.cc \
- gr_vector_to_streams.cc \
- gr_wavelet_ff.cc \
- gr_wvps_ff.cc \
- gri_add_const_ss_generic.cc \
- gri_char_to_float.cc \
- gri_control_loop.cc \
- gri_debugger_hook.cc \
- gri_fft.cc \
- gri_float_to_char.cc \
- gri_float_to_int.cc \
- gri_float_to_short.cc \
- gri_float_to_uchar.cc \
- gri_glfsr.cc \
- gri_interleaved_short_to_complex.cc \
- gri_int_to_float.cc \
- gri_short_to_float.cc \
- gri_uchar_to_float.cc \
- malloc16.c \
- gr_unpack_k_bits_bb.cc \
- gr_descrambler_bb.cc \
- gr_scrambler_bb.cc \
- gr_probe_mpsk_snr_c.cc \
- gr_probe_density_b.cc \
- gr_annotator_alltoall.cc \
- gr_annotator_1to1.cc \
- gr_burst_tagger.cc \
- gr_correlate_access_code_tag_bb.cc
-
-libgeneral_qa_la_SOURCES = \
- qa_general.cc \
- qa_gr_circular_file.cc \
- qa_gr_cpm.cc \
- qa_gr_firdes.cc \
- qa_gr_fxpt.cc \
- qa_gr_fxpt_nco.cc \
- qa_gr_fxpt_vco.cc \
- qa_gr_math.cc \
- qa_gri_lfsr.cc
-
-grinclude_HEADERS = \
- gr_core_api.h \
- complex_vec_test.h \
- gr_additive_scrambler_bb.h \
- gr_add_ff.h \
- gr_agc_cc.h \
- gr_agc_ff.h \
- gr_agc2_cc.h \
- gr_agc2_ff.h \
- gr_align_on_samplenumbers_ss.h \
- gr_bin_statistics_f.h \
- gr_bytes_to_syms.h \
- gr_char_to_float.h \
- gr_char_to_short.h \
- gr_check_counting_s.h \
- gr_check_lfsr_32k_s.h \
- gr_circular_file.h \
- gr_complex_to_interleaved_short.h \
- gr_complex_to_xxx.h \
- gr_conjugate_cc.h \
- gr_copy.h \
- gr_count_bits.h \
- gr_cpfsk_bc.h \
- gr_cpm.h \
- gr_ctcss_squelch_ff.h \
- gr_decode_ccsds_27_fb.h \
- gr_diff_decoder_bb.h \
- gr_diff_encoder_bb.h \
- gr_deinterleave.h \
- gr_delay.h \
- gr_diff_phasor_cc.h \
- gr_dpll_bb.h \
- gr_encode_ccsds_27_bb.h \
- gr_expj.h \
- gr_fake_channel_coder_pp.h \
- gr_feedforward_agc_cc.h \
- gr_feval.h \
- gr_fft_vcc.h \
- gr_fft_vcc_fftw.h \
- gr_fft_vfc.h \
- gr_firdes.h \
- gr_float_to_char.h \
- gr_float_to_complex.h \
- gr_float_to_int.h \
- gr_float_to_short.h \
- gr_float_to_uchar.h \
- gr_fmdet_cf.h \
- gr_framer_sink_1.h \
- gr_frequency_modulator_fc.h \
- gr_fxpt.h \
- gr_fxpt_nco.h \
- gr_fxpt_vco.h \
- gr_glfsr_source_b.h \
- gr_glfsr_source_f.h \
- gr_head.h \
- gr_interleave.h \
- gr_interleaved_short_to_complex.h \
- gr_iqcomp_cc.h \
- gr_keep_one_in_n.h \
- gr_kludge_copy.h \
- gr_lfsr_32k_source_s.h \
- gr_log2_const.h \
- gr_map_bb.h \
- gr_math.h \
- gr_misc.h \
- gr_multiply_cc.h \
- gr_multiply_ff.h \
- gr_multiply_const_cc.h \
- gr_multiply_const_ff.h \
- gr_multiply_conjugate_cc.h \
- gr_nco.h \
- gr_nlog10_ff.h \
- gr_nop.h \
- gr_null_sink.h \
- gr_null_source.h \
- gr_pa_2x2_phase_combiner.h \
- gr_packet_sink.h \
- gr_peak_detector2_fb.h \
- gr_phase_modulator_fc.h \
- gr_pll_carriertracking_cc.h \
- gr_pll_freqdet_cf.h \
- gr_pll_refout_cc.h \
- gr_pn_correlator_cc.h \
- gr_constants.h \
- gr_prefs.h \
- gr_probe_avg_mag_sqrd_c.h \
- gr_probe_avg_mag_sqrd_cf.h \
- gr_probe_avg_mag_sqrd_f.h \
- gr_pwr_squelch_cc.h \
- gr_pwr_squelch_ff.h \
- gr_quadrature_demod_cf.h \
- gr_rail_ff.h \
- gr_random.h \
- gr_regenerate_bb.h \
- gr_remez.h \
- gr_repeat.h \
- gr_reverse.h \
- gr_rms_cf.h \
- gr_rms_ff.h \
- gr_short_to_char.h \
- gr_short_to_float.h \
- gr_int_to_float.h \
- gr_simple_correlator.h \
- gr_simple_framer.h \
- gr_simple_framer_sync.h \
- gr_simple_squelch_cc.h \
- gr_squash_ff.h \
- gr_skiphead.h \
- gr_squelch_base_cc.h \
- gr_squelch_base_ff.h \
- gr_stream_mux.h \
- gr_stream_to_streams.h \
- gr_stream_to_vector.h \
- gr_streams_to_stream.h \
- gr_streams_to_vector.h \
- gr_stretch_ff.h \
- gr_test_types.h \
- gr_test.h \
- gr_threshold_ff.h \
- gr_throttle.h \
- gr_transcendental.h \
- gr_uchar_to_float.h \
- gr_vco.h \
- gr_vco_f.h \
- gr_vector_to_stream.h \
- gr_vector_to_streams.h \
- gr_wavelet_ff.h \
- gr_wvps_ff.h \
- gri_add_const_ss.h \
- gri_agc_cc.h \
- gri_agc_ff.h \
- gri_agc2_cc.h \
- gri_agc2_ff.h \
- gri_char_to_float.h \
- gri_control_loop.h \
- gri_debugger_hook.h \
- gri_fft.h \
- gri_float_to_char.h \
- gri_float_to_int.h \
- gri_float_to_short.h \
- gri_float_to_uchar.h \
- gri_lfsr.h \
- gri_glfsr.h \
- gri_interleaved_short_to_complex.h \
- gri_int_to_float.h \
- gri_lfsr_15_1_0.h \
- gri_lfsr_32k.h \
- gri_short_to_float.h \
- gri_uchar_to_float.h \
- malloc16.h \
- random.h \
- gr_unpack_k_bits_bb.h \
- gr_descrambler_bb.h \
- gr_scrambler_bb.h \
- gr_probe_mpsk_snr_c.h \
- gr_probe_density_b.h \
- gr_annotator_alltoall.h \
- gr_annotator_1to1.h \
- gr_burst_tagger.h \
- gr_correlate_access_code_tag_bb.h
-
-noinst_HEADERS = \
- qa_general.h \
- qa_gr_circular_file.h \
- qa_gr_cpm.h \
- qa_gr_firdes.h \
- qa_gr_fxpt.h \
- qa_gr_fxpt_nco.h \
- qa_gr_fxpt_vco.h \
- qa_gri_lfsr.h \
- sine_table.h \
- qa_gr_math.h
-
-swiginclude_HEADERS = \
- complex_vec_test.i \
- general.i \
- gr_additive_scrambler_bb.i \
- gr_add_ff.i \
- gr_agc_cc.i \
- gr_agc_ff.i \
- gr_agc2_cc.i \
- gr_agc2_ff.i \
- gr_align_on_samplenumbers_ss.i \
- gr_bin_statistics_f.i \
- gr_bytes_to_syms.i \
- gr_char_to_float.i \
- gr_char_to_short.i \
- gr_check_counting_s.i \
- gr_check_lfsr_32k_s.i \
- gr_complex_to_interleaved_short.i \
- gr_complex_to_xxx.i \
- gr_conjugate_cc.i \
- gr_copy.i \
- gr_cpfsk_bc.i \
- gr_cpm.i \
- gr_ctcss_squelch_ff.i \
- gr_decode_ccsds_27_fb.i \
- gr_diff_decoder_bb.i \
- gr_diff_encoder_bb.i \
- gr_diff_phasor_cc.i \
- gr_dpll_bb.i \
- gr_deinterleave.i \
- gr_delay.i \
- gr_encode_ccsds_27_bb.i \
- gr_fake_channel_coder_pp.i \
- gr_feedforward_agc_cc.i \
- gr_feval.i \
- gr_fft_vcc.i \
- gr_fft_vfc.i \
- gr_firdes.i \
- gr_float_to_char.i \
- gr_float_to_complex.i \
- gr_float_to_int.i \
- gr_float_to_short.i \
- gr_float_to_uchar.i \
- gr_fmdet_cf.i \
- gr_frequency_modulator_fc.i \
- gr_framer_sink_1.i \
- gr_glfsr_source_b.i \
- gr_glfsr_source_f.i \
- gr_head.i \
- gr_int_to_float.i \
- gr_interleave.i \
- gr_interleaved_short_to_complex.i \
- gr_iqcomp_cc.i \
- gr_keep_one_in_n.i \
- gr_kludge_copy.i \
- gr_lfsr_32k_source_s.i \
- gr_map_bb.i \
- gr_multiply_cc.i \
- gr_multiply_ff.i \
- gr_multiply_const_cc.i \
- gr_multiply_const_ff.i \
- gr_multiply_conjugate_cc.i \
- gr_nlog10_ff.i \
- gr_nop.i \
- gr_null_sink.i \
- gr_null_source.i \
- gr_pa_2x2_phase_combiner.i \
- gr_packet_sink.i \
- gr_peak_detector2_fb.i \
- gr_phase_modulator_fc.i \
- gr_pll_carriertracking_cc.i \
- gr_pll_freqdet_cf.i \
- gr_pll_refout_cc.i \
- gr_pn_correlator_cc.i \
- gr_constants.i \
- gr_prefs.i \
- gr_probe_avg_mag_sqrd_c.i \
- gr_probe_avg_mag_sqrd_cf.i \
- gr_probe_avg_mag_sqrd_f.i \
- gr_pwr_squelch_cc.i \
- gr_pwr_squelch_ff.i \
- gr_quadrature_demod_cf.i \
- gr_rail_ff.i \
- gr_regenerate_bb.i \
- gr_remez.i \
- gr_rms_cf.i \
- gr_rms_ff.i \
- gr_repeat.i \
- gr_short_to_char.i \
- gr_short_to_float.i \
- gr_simple_correlator.i \
- gr_simple_framer.i \
- gr_simple_squelch_cc.i \
- gr_skiphead.i \
- gr_squash_ff.i \
- gr_squelch_base_cc.i \
- gr_squelch_base_ff.i \
- gr_stream_mux.i \
- gr_stream_to_streams.i \
- gr_stream_to_vector.i \
- gr_streams_to_stream.i \
- gr_streams_to_vector.i \
- gr_stretch_ff.i \
- gr_test.i \
- gr_threshold_ff.i \
- gr_throttle.i \
- gr_transcendental.i \
- gr_uchar_to_float.i \
- gr_vco_f.i \
- gr_vector_to_stream.i \
- gr_vector_to_streams.i \
- gr_unpack_k_bits_bb.i \
- gr_wavelet_ff.i \
- gr_wvps_ff.i \
- gri_agc_cc.i \
- gri_agc_ff.i \
- gri_agc2_cc.i \
- gri_agc2_ff.i \
- gri_control_loop.i \
- gr_descrambler_bb.i \
- gr_scrambler_bb.i \
- gr_probe_mpsk_snr_c.i \
- gr_probe_density_b.i \
- gr_annotator_alltoall.i \
- gr_annotator_1to1.i \
- gr_burst_tagger.i \
- gr_correlate_access_code_tag_bb.i
diff --git a/gnuradio-core/src/lib/general/general.i b/gnuradio-core/src/lib/general/general.i
index fcf60c927..f7759c614 100644
--- a/gnuradio-core/src/lib/general/general.i
+++ b/gnuradio-core/src/lib/general/general.i
@@ -125,13 +125,9 @@
#include <gr_decode_ccsds_27_fb.h>
#include <gr_descrambler_bb.h>
#include <gr_scrambler_bb.h>
-#include <gr_probe_mpsk_snr_c.h>
#include <gr_probe_density_b.h>
#include <gr_rail_ff.h>
-#include <gr_squash_ff.h>
#include <gr_stretch_ff.h>
-#include <gr_wavelet_ff.h>
-#include <gr_wvps_ff.h>
#include <gr_copy.h>
#include <gr_additive_scrambler_bb.h>
#include <complex_vec_test.h>
@@ -246,13 +242,9 @@
%include "gr_decode_ccsds_27_fb.i"
%include "gr_descrambler_bb.i"
%include "gr_scrambler_bb.i"
-%include "gr_probe_mpsk_snr_c.i"
%include "gr_probe_density_b.i"
%include "gr_rail_ff.i"
-%include "gr_squash_ff.i"
%include "gr_stretch_ff.i"
-%include "gr_wavelet_ff.i"
-%include "gr_wvps_ff.i"
%include "gr_copy.i"
%include "gr_additive_scrambler_bb.i"
%include "complex_vec_test.i"
diff --git a/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc b/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc
deleted file mode 100644
index fed9ad66e..000000000
--- a/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.cc
+++ /dev/null
@@ -1,85 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008,2010 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include <gr_probe_mpsk_snr_c.h>
-#include <gr_io_signature.h>
-
-gr_probe_mpsk_snr_c_sptr
-gr_make_probe_mpsk_snr_c(double alpha)
-{
- return gnuradio::get_initial_sptr(new gr_probe_mpsk_snr_c(alpha));
-}
-
-gr_probe_mpsk_snr_c::gr_probe_mpsk_snr_c(double alpha)
- : gr_sync_block ("probe_mpsk_snr_c",
- gr_make_io_signature(1, 1, sizeof(gr_complex)),
- gr_make_io_signature(0, 0, 0)),
- d_signal_mean(0.0),
- d_noise_variance(0.0)
-{
- set_alpha(alpha);
-}
-
-gr_probe_mpsk_snr_c::~gr_probe_mpsk_snr_c()
-{
-}
-
-int
-gr_probe_mpsk_snr_c::work(int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
-{
- const gr_complex *in = (const gr_complex *) input_items[0];
-
- for (int i = 0; i < noutput_items; i++){
- // Update of signal mean estimate
- double mag = abs(in[i]);
- d_signal_mean = d_alpha*abs(in[i]) + d_beta*d_signal_mean;
-
- // Update noise variance estimate
- double noise = mag-d_signal_mean;
- double var = noise*noise;
- d_noise_variance = d_alpha*var + d_beta*d_noise_variance;
- }
-
- return noutput_items;
-}
-
-double
-gr_probe_mpsk_snr_c::snr() const
-{
- if (d_noise_variance == 0.0)
- return 0.0;
- else
- return 10*log10(d_signal_mean*d_signal_mean/d_noise_variance);
-}
-
-void
-gr_probe_mpsk_snr_c::set_alpha(double alpha)
-{
- d_alpha = alpha;
- d_beta = 1.0-alpha;
-}
diff --git a/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.h b/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.h
deleted file mode 100644
index 870e46701..000000000
--- a/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-#ifndef INCLUDED_GR_PROBE_MPSK_SNR_C_H
-#define INCLUDED_GR_PROBE_MPSK_SNR_C_H
-
-#include <gr_core_api.h>
-#include <gr_sync_block.h>
-
-class gr_probe_mpsk_snr_c;
-typedef boost::shared_ptr<gr_probe_mpsk_snr_c> gr_probe_mpsk_snr_c_sptr;
-
-GR_CORE_API gr_probe_mpsk_snr_c_sptr
-gr_make_probe_mpsk_snr_c(double alpha = 0.0001);
-
-/*!
- * Compute the estimate SNR of an MPSK signal using the Squared Signal
- * to Noise Variance (SNV) technique.
- *
- * This technique assumes an AWGN channel.
- *
- * \param alpha Mean and variance smoothing filter constant
- * \ingroup sink_blk
- *
- * Compute the running average of the signal mean and noise variance.
- * The estimated signal mean, noise variance, and SNR are available
- * via accessors.
- *
- * This SNR estimator is inaccurate below about 7dB SNR.
- *
- */
-class GR_CORE_API gr_probe_mpsk_snr_c : public gr_sync_block
-{
- double d_alpha;
- double d_beta;
- double d_signal_mean;
- double d_noise_variance;
-
- // Factory function returning shared pointer of this class
- friend GR_CORE_API gr_probe_mpsk_snr_c_sptr
- gr_make_probe_mpsk_snr_c(double alpha);
-
- // Private constructor
- gr_probe_mpsk_snr_c(double alpha);
-
-public:
- ~gr_probe_mpsk_snr_c();
-
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
- // Return the estimated signal mean
- double signal_mean() const { return d_signal_mean; }
-
- // Return the estimated noise variance
- double noise_variance() const { return d_noise_variance; }
-
- // Return the estimated signal-to-noise ratio in decibels
- double snr() const;
-
- void set_alpha(double alpha);
-};
-
-#endif /* INCLUDED_GR_PROBE_MPSK_SNR_C_H */
diff --git a/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.i b/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.i
deleted file mode 100644
index 37a86b23d..000000000
--- a/gnuradio-core/src/lib/general/gr_probe_mpsk_snr_c.i
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-GR_SWIG_BLOCK_MAGIC(gr,probe_mpsk_snr_c);
-
-gr_probe_mpsk_snr_c_sptr
-gr_make_probe_mpsk_snr_c(double alpha = 0.0001);
-
-class gr_probe_mpsk_snr_c : public gr_sync_block
-{
-private:
- void gr_probe_mpsk_snr_c(double alpha);
-
-public:
- double signal_mean();
- double noise_variance();
- double snr();
-
- void set_alpha (double alpha);
-};
diff --git a/gnuradio-core/src/lib/general/gr_squash_ff.cc b/gnuradio-core/src/lib/general/gr_squash_ff.cc
deleted file mode 100644
index 479204fdb..000000000
--- a/gnuradio-core/src/lib/general/gr_squash_ff.cc
+++ /dev/null
@@ -1,93 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008,2010 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdexcept>
-#include <gr_squash_ff.h>
-#include <gr_io_signature.h>
-
-// expect input vector of igrid.size y-values,
-// produce output vector of ogrid.size y-values
-
-gr_squash_ff_sptr
-gr_make_squash_ff(const std::vector<float> &igrid,
- const std::vector<float> &ogrid)
-{
- return gnuradio::get_initial_sptr(new gr_squash_ff(igrid, ogrid));
-}
-
-gr_squash_ff::gr_squash_ff(const std::vector<float> &igrid,
- const std::vector<float> &ogrid)
- : gr_sync_block("squash_ff",
- gr_make_io_signature(1, 1, sizeof(float) * igrid.size()),
- gr_make_io_signature(1, 1, sizeof(float) * ogrid.size()))
-{
- d_inum = igrid.size();
- d_onum = ogrid.size();
- d_igrid = (double *) malloc(d_inum * sizeof(double));
- d_iwork = (double *) malloc(d_inum * sizeof(double));
- d_ogrid = (double *) malloc(d_onum * sizeof(double));
- for (unsigned int i = 0; i < d_inum; i++)
- d_igrid[i] = igrid[i];
- for (unsigned int i = 0; i < d_onum; i++)
- d_ogrid[i] = ogrid[i];
-
- d_accel = gsl_interp_accel_alloc();
- d_spline = gsl_spline_alloc(gsl_interp_cspline, d_inum); // FIXME check w/ Frank
-}
-
-gr_squash_ff::~gr_squash_ff()
-{
- free((char *) d_igrid);
- free((char *) d_iwork);
- free((char *) d_ogrid);
- gsl_interp_accel_free(d_accel);
- gsl_spline_free(d_spline);
-}
-
-int
-gr_squash_ff::work(int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
-{
- const float *in = (const float *) input_items[0];
- float *out = (float *) output_items[0];
-
- for (int count = 0; count < noutput_items; count++) {
-
- for (unsigned int i = 0; i < d_inum; i++)
- d_iwork[i] = in[i];
-
- gsl_spline_init(d_spline, d_igrid, d_iwork, d_inum);
-
- for (unsigned int i = 0; i < d_onum; i++)
- out[i] = gsl_spline_eval(d_spline, d_ogrid[i], d_accel);
-
- in += d_inum;
- out += d_onum;
- }
-
- return noutput_items;
-}
diff --git a/gnuradio-core/src/lib/general/gr_squash_ff.h b/gnuradio-core/src/lib/general/gr_squash_ff.h
deleted file mode 100644
index f7fea1648..000000000
--- a/gnuradio-core/src/lib/general/gr_squash_ff.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef INCLUDED_GR_SQUASH_FF_H_
-# define INCLUDED_GR_SQUASH_FF_H_
-
-#include <gr_core_api.h>
-#include <gr_sync_block.h>
-#include <gsl/gsl_errno.h>
-#include <gsl/gsl_interp.h>
-#include <gsl/gsl_spline.h>
-/*!
- * \brief implements cheap resampling of spectrum directly from
- * spectral points, using gsl interpolation
- * \ingroup misc
- */
-
-class gr_squash_ff;
-typedef boost::shared_ptr<gr_squash_ff> gr_squash_ff_sptr;
-
-GR_CORE_API gr_squash_ff_sptr gr_make_squash_ff(const std::vector<float> &igrid,
- const std::vector<float> &ogrid);
-
-class GR_CORE_API gr_squash_ff : public gr_sync_block
-{
- friend GR_CORE_API gr_squash_ff_sptr gr_make_squash_ff(const std::vector<float> &igrid,
- const std::vector<float> &ogrid);
-
- size_t d_inum;
- size_t d_onum;
- double *d_igrid;
- double *d_iwork;
- double *d_ogrid;
-
- gsl_interp_accel *d_accel;
- gsl_spline *d_spline;
-
- gr_squash_ff(const std::vector<float> &igrid,
- const std::vector<float> &ogrid);
-
- public:
- ~gr_squash_ff();
-
- int work(int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-};
-
-#endif
diff --git a/gnuradio-core/src/lib/general/gr_squash_ff.i b/gnuradio-core/src/lib/general/gr_squash_ff.i
deleted file mode 100644
index c89b1c28d..000000000
--- a/gnuradio-core/src/lib/general/gr_squash_ff.i
+++ /dev/null
@@ -1,34 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-GR_SWIG_BLOCK_MAGIC(gr,squash_ff);
-
-gr_squash_ff_sptr gr_make_squash_ff(const std::vector<float> &igrid,
- const std::vector<float> &ogrid);
-
-class gr_squash_ff : public gr_sync_block
-{
-private:
- gr_squash_ff(const std::vector<float> &igrid,
- const std::vector<float> &ogrid);
-
-};
-
diff --git a/gnuradio-core/src/lib/general/gr_wavelet_ff.cc b/gnuradio-core/src/lib/general/gr_wavelet_ff.cc
deleted file mode 100644
index f77c96e99..000000000
--- a/gnuradio-core/src/lib/general/gr_wavelet_ff.cc
+++ /dev/null
@@ -1,107 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008,2010 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the tewavelet of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <stdexcept>
-#include <gr_wavelet_ff.h>
-#include <gr_io_signature.h>
-
-#include <stdio.h>
-
-// NB in this version, only Daubechies wavelets
-// order is wavelet length, even, 2...20
-
-gr_wavelet_ff_sptr
-gr_make_wavelet_ff(int size,
- int order,
- bool forward)
-{
- return gnuradio::get_initial_sptr(new gr_wavelet_ff(size,
- order,
- forward));
-}
-
-gr_wavelet_ff::gr_wavelet_ff(int size,
- int order,
- bool forward)
- : gr_sync_block("wavelet_ff",
- gr_make_io_signature(1, 1, size * sizeof(float)),
- gr_make_io_signature(1, 1, size * sizeof(float))),
- d_size(size),
- d_order(order),
- d_forward(forward)
-{
- d_wavelet = gsl_wavelet_alloc(gsl_wavelet_daubechies, d_order);
- if (d_wavelet == NULL)
- throw std::runtime_error("can't allocate wavelet");
- d_workspace = gsl_wavelet_workspace_alloc(d_size);
- if (d_workspace == NULL)
- throw std::runtime_error("can't allocate wavelet workspace");
- d_temp = (double *) malloc(d_size*sizeof(double));
- if (d_workspace == NULL)
- throw std::runtime_error("can't allocate wavelet double conversion temp");
-}
-
-gr_wavelet_ff::~gr_wavelet_ff()
-{
- gsl_wavelet_free(d_wavelet);
- gsl_wavelet_workspace_free(d_workspace);
- free((char *) d_temp);
-}
-
-int
-gr_wavelet_ff::work(int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
-{
- const float *in = (const float *) input_items[0];
- float *out = (float *) output_items[0];
-
- for (int count = 0; count < noutput_items; count++) {
- for (int i = 0; i < d_size; i++)
- d_temp[i] = in[i];
-
- if (d_forward)
- gsl_wavelet_transform_forward(d_wavelet,
- d_temp,
- 1,
- d_size,
- d_workspace);
- else
- gsl_wavelet_transform_inverse(d_wavelet,
- d_temp,
- 1,
- d_size,
- d_workspace);
-
- for (int i = 0; i < d_size; i++)
- out[i] = d_temp[i];
-
- in += d_size;
- out += d_size;
- }
-
- return noutput_items;
-}
diff --git a/gnuradio-core/src/lib/general/gr_wavelet_ff.h b/gnuradio-core/src/lib/general/gr_wavelet_ff.h
deleted file mode 100644
index 107a50fe2..000000000
--- a/gnuradio-core/src/lib/general/gr_wavelet_ff.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2005 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-#ifndef INCLUDED_GR_WAVELET_FF_H
-#define INCLUDED_GR_WAVELET_FF_H
-
-#include <gr_core_api.h>
-#include <iostream>
-#include <gr_sync_block.h>
-
-#include <gsl/gsl_errno.h>
-#include <gsl/gsl_wavelet.h>
-
-class gr_wavelet_ff;
-typedef boost::shared_ptr<gr_wavelet_ff> gr_wavelet_ff_sptr;
-
-GR_CORE_API gr_wavelet_ff_sptr
-gr_make_wavelet_ff(int size = 1024,
- int order = 20,
- bool forward = true);
-
-/*!
- * \brief compute wavelet transform using gsl routines
- * \ingroup wavelet_blk
- */
-
-class GR_CORE_API gr_wavelet_ff : public gr_sync_block
-{
- int d_size;
- int d_order;
- bool d_forward;
- gsl_wavelet *d_wavelet;
- gsl_wavelet_workspace *d_workspace;
- double *d_temp;
-
- friend GR_CORE_API gr_wavelet_ff_sptr
- gr_make_wavelet_ff(int size,
- int order,
- bool forward);
-
- gr_wavelet_ff(int size,
- int order,
- bool forward);
-
-public:
- ~gr_wavelet_ff();
-
- int work (int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-};
-
-#endif /* INCLUDED_GR_WAVELET_FF_H */
diff --git a/gnuradio-core/src/lib/general/gr_wavelet_ff.i b/gnuradio-core/src/lib/general/gr_wavelet_ff.i
deleted file mode 100644
index 9d4264170..000000000
--- a/gnuradio-core/src/lib/general/gr_wavelet_ff.i
+++ /dev/null
@@ -1,31 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-GR_SWIG_BLOCK_MAGIC(gr,wavelet_ff);
-
-gr_wavelet_ff_sptr gr_make_wavelet_ff(int size, int order, bool forward);
-
-class gr_wavelet_ff : public gr_sync_block
-{
-private:
- gr_wavelet_ff(int size, int order, bool forward);
-};
-
diff --git a/gnuradio-core/src/lib/general/gr_wvps_ff.cc b/gnuradio-core/src/lib/general/gr_wvps_ff.cc
deleted file mode 100644
index 8a8dc56ac..000000000
--- a/gnuradio-core/src/lib/general/gr_wvps_ff.cc
+++ /dev/null
@@ -1,98 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2004,2010 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <gr_wvps_ff.h>
-#include <gr_io_signature.h>
-#include <string.h>
-
-static int
-ceil_log2(int k)
-{
- int m = 0;
- for (int n = k-1; n > 0; n >>= 1) m++;
- return m;
-}
-
-gr_wvps_ff_sptr
-gr_make_wvps_ff(int ilen)
-{
- return gnuradio::get_initial_sptr(new gr_wvps_ff(ilen));
-}
-
-gr_wvps_ff::gr_wvps_ff(int ilen)
- : gr_sync_block("wvps_ff",
- gr_make_io_signature(1, 1, sizeof(float) * ilen),
- gr_make_io_signature(1, 1, sizeof(float) * ceil_log2(ilen))),
- d_ilen(ilen), d_olen(ceil_log2(ilen))
-{
-}
-
-// input vector assumed to be output from gsl wavelet computation
-
-int
-gr_wvps_ff::work(int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items)
-{
- const float *in = (const float *) input_items[0];
- float *out = (float *) output_items[0];
-
- for (int count = 0; count < noutput_items; count++) {
-
- // any power?
-
- if (in[0] == 0.0) {
- for (int i = 0; i < d_olen; i++)
- out[i] = 0.0;
-
- } else {
-
- // get power normalization from 0-th wavelet coefficient
-
- float scl = 1.0/(in[0]*in[0]);
- int k = 1;
-
- // sum powers over sequences of bins,
- // sequence lengths in increasing powers of 2
-
- for (int e = 0; e < d_olen; e++) {
- int m = 01<<e;
- float sum = 0.0;
-
- for (int l = 0; l < m; l++)
- sum += (in[k+l]*in[k+l]);
-
- out[e] = scl*sum;
- k += m;
- }
- }
-
- in += d_ilen;
- out += d_olen;
- }
-
- return noutput_items;
-}
diff --git a/gnuradio-core/src/lib/general/gr_wvps_ff.h b/gnuradio-core/src/lib/general/gr_wvps_ff.h
deleted file mode 100644
index 7c8f26066..000000000
--- a/gnuradio-core/src/lib/general/gr_wvps_ff.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU Radio; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street,
- * Boston, MA 02110-1301, USA.
- */
-
-#ifndef INCLUDED_GR_WVPS_FF_H
-#define INCLUDED_GR_WVPS_FF_H
-
-#include <gr_core_api.h>
-#include <gr_sync_decimator.h>
-
-class gr_wvps_ff;
-typedef boost::shared_ptr<gr_wvps_ff> gr_wvps_ff_sptr;
-
-GR_CORE_API gr_wvps_ff_sptr
-gr_make_wvps_ff(int ilen);
-
-
-/*!
- * \brief computes the Wavelet Power Spectrum from a set of wavelet coefficients
- * \ingroup wavelet_blk
- */
-class GR_CORE_API gr_wvps_ff : public gr_sync_block
-{
- friend GR_CORE_API gr_wvps_ff_sptr
- gr_make_wvps_ff(int ilen);
-
- int d_ilen;
- int d_olen;
-
- protected:
- gr_wvps_ff(int ilen);
-
- public:
- int work(int noutput_items,
- gr_vector_const_void_star &input_items,
- gr_vector_void_star &output_items);
-
-};
-
-#endif /* INCLUDED_GR_WVPS_FF_H */
diff --git a/gnuradio-core/src/lib/general/gr_wvps_ff.i b/gnuradio-core/src/lib/general/gr_wvps_ff.i
deleted file mode 100644
index 877126fb2..000000000
--- a/gnuradio-core/src/lib/general/gr_wvps_ff.i
+++ /dev/null
@@ -1,29 +0,0 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2008 Free Software Foundation, Inc.
- *
- * This file is part of GNU Radio
- *
- * GNU Radio is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * GNU Radio is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-GR_SWIG_BLOCK_MAGIC(gr,wvps_ff);
-
-gr_wvps_ff_sptr gr_make_wvps_ff(int ilen);
-
-class gr_wvps_ff : public gr_sync_block
-{
-private:
- gr_wvps_ff(int ilen);
-};
diff --git a/gnuradio-core/src/lib/gengen/.gitignore b/gnuradio-core/src/lib/gengen/.gitignore
deleted file mode 100644
index 2f53eba9a..000000000
--- a/gnuradio-core/src/lib/gengen/.gitignore
+++ /dev/null
@@ -1,433 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
-/*.pyc
-/generate-stamp
-/GrFIRfilterCCC.cc
-/GrFIRfilterCCC.h
-/GrFIRfilterCCF.cc
-/GrFIRfilterCCF.h
-/GrFIRfilterFCC.cc
-/GrFIRfilterFCC.h
-/GrFIRfilterFFF.cc
-/GrFIRfilterFFF.h
-/GrFIRfilterFSF.cc
-/GrFIRfilterFSF.h
-/GrFIRfilterSCC.cc
-/GrFIRfilterSCC.h
-/GrFIRfilterSIS.cc
-/GrFIRfilterSIS.h
-/GrFreqXlatingFIRfilterCCC.cc
-/GrFreqXlatingFIRfilterCCC.h
-/GrFreqXlatingFIRfilterCCF.cc
-/GrFreqXlatingFIRfilterCCF.h
-/GrFreqXlatingFIRfilterFCC.cc
-/GrFreqXlatingFIRfilterFCC.h
-/GrFreqXlatingFIRfilterFCF.cc
-/GrFreqXlatingFIRfilterFCF.h
-/GrFreqXlatingFIRfilterSCC.cc
-/GrFreqXlatingFIRfilterSCC.h
-/GrFreqXlatingFIRfilterSCF.cc
-/GrFreqXlatingFIRfilterSCF.h
-/gr_fir_CCC.cc
-/gr_fir_CCC.h
-/gr_fir_CCC_generic.cc
-/gr_fir_CCC_generic.h
-/gr_fir_CCF.cc
-/gr_fir_CCF.h
-/gr_fir_CCF_generic.cc
-/gr_fir_CCF_generic.h
-/gr_fir_FCC.cc
-/gr_fir_FCC.h
-/gr_fir_FCC_generic.cc
-/gr_fir_FCC_generic.h
-/gr_fir_FFF.cc
-/gr_fir_FFF.h
-/gr_fir_FFF_generic.cc
-/gr_fir_FFF_generic.h
-/gr_fir_FSF.cc
-/gr_fir_FSF.h
-/gr_fir_FSF_generic.cc
-/gr_fir_FSF_generic.h
-/gr_fir_SCC.cc
-/gr_fir_SCC.h
-/gr_fir_SCC_generic.cc
-/gr_fir_SCC_generic.h
-/gr_fir_SIS.cc
-/gr_fir_SIS.h
-/gr_fir_SIS_generic.cc
-/gr_fir_SIS_generic.h
-/gr_fir_sysconfig.cc
-/gr_fir_sysconfig.h
-/gr_fir_sysconfig_generic.cc
-/gr_fir_sysconfig_generic.h
-/gr_fir_util.cc
-/gr_fir_util.h
-/GrFIRfilterCCC.i
-/GrFIRfilterCCF.i
-/GrFIRfilterFCC.i
-/GrFIRfilterFFF.i
-/GrFIRfilterFSF.i
-/GrFIRfilterSCC.i
-/GrFIRfilterSIS.i
-/GrFreqXlatingFIRfilterCCC.i
-/GrFreqXlatingFIRfilterCCF.i
-/GrFreqXlatingFIRfilterFCC.i
-/GrFreqXlatingFIRfilterFCF.i
-/GrFreqXlatingFIRfilterSCC.i
-/GrFreqXlatingFIRfilterSCF.i
-/# --- generated files ---
-/gr_add_cc.cc
-/gr_add_cc.h
-/gr_add_cc.i
-/gr_add_const_c.cc
-/gr_add_const_cc.cc
-/gr_add_const_cc.h
-/gr_add_const_cc.i
-/gr_add_const_c.h
-/gr_add_const_c.i
-/gr_add_const_f.cc
-/gr_add_const_ff.cc
-/gr_add_const_ff.h
-/gr_add_const_ff.i
-/gr_add_const_f.h
-/gr_add_const_f.i
-/gr_add_const_i.cc
-/gr_add_const_i.h
-/gr_add_const_i.i
-/gr_add_const_ii.cc
-/gr_add_const_ii.h
-/gr_add_const_ii.i
-/gr_add_const_s.cc
-/gr_add_const_sf.cc
-/gr_add_const_sf.h
-/gr_add_const_sf.i
-/gr_add_const_s.h
-/gr_add_const_s.i
-/gr_add_const_ss.cc
-/gr_add_const_ss.h
-/gr_add_const_ss.i
-/gr_add_const_vcc.cc
-/gr_add_const_vcc.h
-/gr_add_const_vcc.i
-/gr_add_const_vff.cc
-/gr_add_const_vff.h
-/gr_add_const_vff.i
-/gr_add_const_vii.cc
-/gr_add_const_vii.h
-/gr_add_const_vii.i
-/gr_add_const_vss.cc
-/gr_add_const_vss.h
-/gr_add_const_vss.i
-/gr_add_ii.cc
-/gr_add_ii.h
-/gr_add_ii.i
-/gr_add_ss.cc
-/gr_add_ss.h
-/gr_add_ss.i
-/gr_and_bb.cc
-/gr_and_bb.h
-/gr_and_bb.i
-/gr_and_ii.cc
-/gr_and_ii.h
-/gr_and_ii.i
-/gr_and_ss.cc
-/gr_and_ss.h
-/gr_and_ss.i
-/gr_argmax_fs.cc
-/gr_argmax_fs.h
-/gr_argmax_fs.i
-/gr_argmax_is.cc
-/gr_argmax_is.h
-/gr_argmax_is.i
-/gr_argmax_ss.cc
-/gr_argmax_ss.h
-/gr_argmax_ss.i
-/gr_chunks_to_symbols_bc.cc
-/gr_chunks_to_symbols_bc.h
-/gr_chunks_to_symbols_bc.i
-/gr_chunks_to_symbols_bf.cc
-/gr_chunks_to_symbols_bf.h
-/gr_chunks_to_symbols_bf.i
-/gr_chunks_to_symbols_ic.cc
-/gr_chunks_to_symbols_ic.h
-/gr_chunks_to_symbols_ic.i
-/gr_chunks_to_symbols_if.cc
-/gr_chunks_to_symbols_if.h
-/gr_chunks_to_symbols_if.i
-/gr_chunks_to_symbols_sc.cc
-/gr_chunks_to_symbols_sc.h
-/gr_chunks_to_symbols_sc.i
-/gr_chunks_to_symbols_sf.cc
-/gr_chunks_to_symbols_sf.h
-/gr_chunks_to_symbols_sf.i
-/gr_divide_cc.cc
-/gr_divide_cc.h
-/gr_divide_cc.i
-/gr_divide_ff.cc
-/gr_divide_ff.h
-/gr_divide_ff.i
-/gr_divide_ii.cc
-/gr_divide_ii.h
-/gr_divide_ii.i
-/gr_divide_ss.cc
-/gr_divide_ss.h
-/gr_divide_ss.i
-/gr_integrate_cc.cc
-/gr_integrate_cc.h
-/gr_integrate_cc.i
-/gr_integrate_ff.cc
-/gr_integrate_ff.h
-/gr_integrate_ff.i
-/gr_integrate_ii.cc
-/gr_integrate_ii.h
-/gr_integrate_ii.i
-/gr_integrate_ss.cc
-/gr_integrate_ss.h
-/gr_integrate_ss.i
-/gr_max_ff.cc
-/gr_max_ff.h
-/gr_max_ff.i
-/gr_max_ii.cc
-/gr_max_ii.h
-/gr_max_ii.i
-/gr_max_ss.cc
-/gr_max_ss.h
-/gr_max_ss.i
-/gr_multiply_const_ii.cc
-/gr_multiply_const_ii.h
-/gr_multiply_const_ii.i
-/gr_multiply_const_ss.cc
-/gr_multiply_const_ss.h
-/gr_multiply_const_ss.i
-/gr_multiply_const_vcc.cc
-/gr_multiply_const_vcc.h
-/gr_multiply_const_vcc.i
-/gr_multiply_const_vff.cc
-/gr_multiply_const_vff.h
-/gr_multiply_const_vff.i
-/gr_multiply_const_vii.cc
-/gr_multiply_const_vii.h
-/gr_multiply_const_vii.i
-/gr_multiply_const_vss.cc
-/gr_multiply_const_vss.h
-/gr_multiply_const_vss.i
-/gr_multiply_ii.cc
-/gr_multiply_ii.h
-/gr_multiply_ii.i
-/gr_multiply_ss.cc
-/gr_multiply_ss.h
-/gr_multiply_ss.i
-/gr_mute_cc.cc
-/gr_mute_cc.h
-/gr_mute_cc.i
-/gr_mute_ff.cc
-/gr_mute_ff.h
-/gr_mute_ff.i
-/gr_mute_ii.cc
-/gr_mute_ii.h
-/gr_mute_ii.i
-/gr_mute_ss.cc
-/gr_mute_ss.h
-/gr_mute_ss.i
-/gr_noise_source_c.cc
-/gr_noise_source_c.h
-/gr_noise_source_c.i
-/gr_noise_source_f.cc
-/gr_noise_source_f.h
-/gr_noise_source_f.i
-/gr_noise_source_i.cc
-/gr_noise_source_i.h
-/gr_noise_source_i.i
-/gr_noise_source_s.cc
-/gr_noise_source_s.h
-/gr_noise_source_s.i
-/gr_not_bb.cc
-/gr_not_bb.h
-/gr_not_bb.i
-/gr_not_ii.cc
-/gr_not_ii.h
-/gr_not_ii.i
-/gr_not_ss.cc
-/gr_not_ss.h
-/gr_not_ss.i
-/gr_or_bb.cc
-/gr_or_bb.h
-/gr_or_bb.i
-/gr_or_ii.cc
-/gr_or_ii.h
-/gr_or_ii.i
-/gr_or_ss.cc
-/gr_or_ss.h
-/gr_or_ss.i
-/gr_packed_to_unpacked_bb.cc
-/gr_packed_to_unpacked_bb.h
-/gr_packed_to_unpacked_bb.i
-/gr_packed_to_unpacked_ii.cc
-/gr_packed_to_unpacked_ii.h
-/gr_packed_to_unpacked_ii.i
-/gr_packed_to_unpacked_ss.cc
-/gr_packed_to_unpacked_ss.h
-/gr_packed_to_unpacked_ss.i
-/gr_peak_detector_fb.cc
-/gr_peak_detector_fb.h
-/gr_peak_detector_fb.i
-/gr_peak_detector_ff.cc
-/gr_peak_detector_ff.h
-/gr_peak_detector_ff.i
-/gr_peak_detector_ib.cc
-/gr_peak_detector_ib.h
-/gr_peak_detector_ib.i
-/gr_peak_detector_ii.cc
-/gr_peak_detector_ii.h
-/gr_peak_detector_ii.i
-/gr_peak_detector_sb.cc
-/gr_peak_detector_sb.h
-/gr_peak_detector_sb.i
-/gr_peak_detector_ss.cc
-/gr_peak_detector_ss.h
-/gr_peak_detector_ss.i
-/gr_prefix.cc
-/gr_probe_signal_b.cc
-/gr_probe_signal_b.h
-/gr_probe_signal_b.i
-/gr_probe_signal_s.cc
-/gr_probe_signal_s.h
-/gr_probe_signal_s.i
-/gr_probe_signal_i.cc
-/gr_probe_signal_i.h
-/gr_probe_signal_i.i
-/gr_probe_signal_f.cc
-/gr_probe_signal_f.h
-/gr_probe_signal_f.i
-/gr_probe_signal_c.cc
-/gr_probe_signal_c.h
-/gr_probe_signal_c.i
-/gr_probe_signal_vb.cc
-/gr_probe_signal_vb.h
-/gr_probe_signal_vb.i
-/gr_probe_signal_vs.cc
-/gr_probe_signal_vs.h
-/gr_probe_signal_vs.i
-/gr_probe_signal_vi.cc
-/gr_probe_signal_vi.h
-/gr_probe_signal_vi.i
-/gr_probe_signal_vf.cc
-/gr_probe_signal_vf.h
-/gr_probe_signal_vf.i
-/gr_probe_signal_vc.cc
-/gr_probe_signal_vc.h
-/gr_probe_signal_vc.i
-/gr_sample_and_hold_bb.cc
-/gr_sample_and_hold_bb.h
-/gr_sample_and_hold_bb.i
-/gr_sample_and_hold_ff.cc
-/gr_sample_and_hold_ff.h
-/gr_sample_and_hold_ff.i
-/gr_sample_and_hold_ii.cc
-/gr_sample_and_hold_ii.h
-/gr_sample_and_hold_ii.i
-/gr_sample_and_hold_ss.cc
-/gr_sample_and_hold_ss.h
-/gr_sample_and_hold_ss.i
-/gr_sig_source_c.cc
-/gr_sig_source_c.h
-/gr_sig_source_c.i
-/gr_sig_source_f.cc
-/gr_sig_source_f.h
-/gr_sig_source_f.i
-/gr_sig_source_i.cc
-/gr_sig_source_i.h
-/gr_sig_source_i.i
-/gr_sig_source_s.cc
-/gr_sig_source_s.h
-/gr_sig_source_s.i
-/gr_sub_cc.cc
-/gr_sub_cc.h
-/gr_sub_cc.i
-/gr_sub_ff.cc
-/gr_sub_ff.h
-/gr_sub_ff.i
-/gr_sub_ii.cc
-/gr_sub_ii.h
-/gr_sub_ii.i
-/gr_sub_ss.cc
-/gr_sub_ss.h
-/gr_sub_ss.i
-/gr_unpacked_to_packed_bb.cc
-/gr_unpacked_to_packed_bb.h
-/gr_unpacked_to_packed_bb.i
-/gr_unpacked_to_packed_ii.cc
-/gr_unpacked_to_packed_ii.h
-/gr_unpacked_to_packed_ii.i
-/gr_unpacked_to_packed_ss.cc
-/gr_unpacked_to_packed_ss.h
-/gr_unpacked_to_packed_ss.i
-/gr_vector_sink_b.cc
-/gr_vector_sink_b.h
-/gr_vector_sink_b.i
-/gr_vector_sink_c.cc
-/gr_vector_sink_c.h
-/gr_vector_sink_c.i
-/gr_vector_sink_f.cc
-/gr_vector_sink_f.h
-/gr_vector_sink_f.i
-/gr_vector_sink_i.cc
-/gr_vector_sink_i.h
-/gr_vector_sink_i.i
-/gr_vector_sink_s.cc
-/gr_vector_sink_s.h
-/gr_vector_sink_s.i
-/gr_vector_source_b.cc
-/gr_vector_source_b.h
-/gr_vector_source_b.i
-/gr_vector_source_c.cc
-/gr_vector_source_c.h
-/gr_vector_source_c.i
-/gr_vector_source_f.cc
-/gr_vector_source_f.h
-/gr_vector_source_f.i
-/gr_vector_source_i.cc
-/gr_vector_source_i.h
-/gr_vector_source_i.i
-/gr_vector_source_s.cc
-/gr_vector_source_s.h
-/gr_vector_source_s.i
-/gr_xor_bb.cc
-/gr_xor_bb.h
-/gr_xor_bb.i
-/gr_xor_ii.cc
-/gr_xor_ii.h
-/gr_xor_ii.i
-/gr_xor_ss.cc
-/gr_xor_ss.h
-/gr_xor_ss.i
-/gr_moving_average_cc.cc
-/gr_moving_average_cc.h
-/gr_moving_average_cc.i
-/gr_moving_average_ff.cc
-/gr_moving_average_ff.h
-/gr_moving_average_ff.i
-/gr_moving_average_ss.cc
-/gr_moving_average_ss.h
-/gr_moving_average_ss.i
-/gr_moving_average_ii.cc
-/gr_moving_average_ii.h
-/gr_moving_average_ii.i
-/gr_and_const_bb.cc
-/gr_and_const_ss.h
-/gr_and_const_ss.i
-/gr_and_const_ii.cc
-/gr_and_const_bb.h
-/gr_and_const_ss.cc
-/gr_and_const_bb.i
-/gr_and_const_ii.h
-/gr_and_const_ii.i
-/# --- end generated files ---
-/stamp-*
-/gengen_generated.i
diff --git a/gnuradio-core/src/lib/gengen/Makefile.am b/gnuradio-core/src/lib/gengen/Makefile.am
deleted file mode 100644
index e2f65c5da..000000000
--- a/gnuradio-core/src/lib/gengen/Makefile.am
+++ /dev/null
@@ -1,165 +0,0 @@
-#
-# Copyright 2001,2002,2004,2006,2007,2008,2009 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
-
-#noinst_LTLIBRARIES = libgengen.la libgengen-qa.la
-noinst_LTLIBRARIES = libgengen.la
-
-# ----------------------------------------------------------------
-# these scripts generate code
-
-core_generator = \
- generate_all.py \
- generate_common.py \
- gr_add_XX.cc.t \
- gr_add_XX.h.t \
- gr_add_XX.i.t \
- gr_add_const_XX.cc.t \
- gr_add_const_XX.h.t \
- gr_add_const_XX.i.t \
- gr_add_const_vXX.cc.t \
- gr_add_const_vXX.h.t \
- gr_add_const_vXX.i.t \
- gr_argmax_XX.cc.t \
- gr_argmax_XX.h.t \
- gr_argmax_XX.i.t \
- gr_chunks_to_symbols_XX.cc.t \
- gr_chunks_to_symbols_XX.h.t \
- gr_chunks_to_symbols_XX.i.t \
- gr_divide_XX.cc.t \
- gr_divide_XX.h.t \
- gr_divide_XX.i.t \
- gr_integrate_XX.cc.t \
- gr_integrate_XX.h.t \
- gr_integrate_XX.i.t \
- gr_max_XX.cc.t \
- gr_max_XX.h.t \
- gr_max_XX.i.t \
- gr_multiply_XX.cc.t \
- gr_multiply_XX.h.t \
- gr_multiply_XX.i.t \
- gr_multiply_const_XX.cc.t \
- gr_multiply_const_XX.h.t \
- gr_multiply_const_XX.i.t \
- gr_multiply_const_vXX.cc.t \
- gr_multiply_const_vXX.h.t \
- gr_multiply_const_vXX.i.t \
- gr_mute_XX.cc.t \
- gr_mute_XX.h.t \
- gr_mute_XX.i.t \
- gr_noise_source_X.cc.t \
- gr_noise_source_X.h.t \
- gr_noise_source_X.i.t \
- gr_packed_to_unpacked_XX.cc.t \
- gr_packed_to_unpacked_XX.h.t \
- gr_packed_to_unpacked_XX.i.t \
- gr_peak_detector_XX.cc.t \
- gr_peak_detector_XX.h.t \
- gr_peak_detector_XX.i.t \
- gr_probe_signal_X.cc.t \
- gr_probe_signal_X.h.t \
- gr_probe_signal_X.i.t \
- gr_probe_signal_vX.cc.t \
- gr_probe_signal_vX.h.t \
- gr_probe_signal_vX.i.t \
- gr_sample_and_hold_XX.cc.t \
- gr_sample_and_hold_XX.h.t \
- gr_sample_and_hold_XX.i.t \
- gr_sig_source_X.cc.t \
- gr_sig_source_X.h.t \
- gr_sig_source_X.i.t \
- gr_sub_XX.cc.t \
- gr_sub_XX.h.t \
- gr_sub_XX.i.t \
- gr_unpacked_to_packed_XX.cc.t \
- gr_unpacked_to_packed_XX.h.t \
- gr_unpacked_to_packed_XX.i.t \
- gr_vector_source_X.cc.t \
- gr_vector_source_X.h.t \
- gr_vector_source_X.i.t \
- gr_vector_sink_X.cc.t \
- gr_vector_sink_X.h.t \
- gr_vector_sink_X.i.t \
- gr_xor_XX.cc.t \
- gr_xor_XX.h.t \
- gr_xor_XX.i.t \
- gr_and_XX.cc.t \
- gr_and_XX.h.t \
- gr_and_XX.i.t \
- gr_and_const_XX.cc.t \
- gr_and_const_XX.h.t \
- gr_and_const_XX.i.t \
- gr_or_XX.cc.t \
- gr_or_XX.h.t \
- gr_or_XX.i.t \
- gr_not_XX.cc.t \
- gr_not_XX.h.t \
- gr_not_XX.i.t \
- gr_moving_average_XX.cc.t \
- gr_moving_average_XX.h.t \
- gr_moving_average_XX.i.t
-
-# Source built by Python into $(builddir)
-BUILT_SOURCES += \
- $(GENERATED_H) \
- $(GENERATED_I) \
- $(GENERATED_CC) \
- gengen_generated.i
-
-# ----------------------------------------------------------------
-
-EXTRA_DIST += \
- $(core_generator)
-
-libgengen_la_SOURCES = \
- $(GENERATED_CC)
-
-grinclude_HEADERS = \
- $(GENERATED_H) \
- gr_endianness.h \
- gr_noise_type.h \
- gr_sig_source_waveform.h
-
-swiginclude_HEADERS = \
- $(GENERATED_I) \
- gr_endianness.i \
- gengen.i \
- gengen_generated.i
-
-# Do creation and inclusion of other Makefiles last
-
-# include the srcdir's Makefile.gen; doing this creates an implicit
-# dependency between $(srcdir)/Makefile.in and $(srcdir)/Makefile.gen.
-include $(srcdir)/Makefile.gen
-
-# common way for generating local Makefile.gen
-makefile_gen_gen_command = PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) do_makefile=1 do_sources=0 $(PYTHON) $(srcdir)/generate_all.py
-include $(top_srcdir)/Makefile.gen.gen
-
-# common way for generating sources from templates when using
-# BUILT_SOURCES, using parallel build protection.
-gen_sources = $(BUILT_SOURCES)
-gen_sources_deps = $(core_generator)
-par_gen_command = PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) $(PYTHON) $(srcdir)/generate_all.py
-include $(top_srcdir)/Makefile.par.gen
diff --git a/gnuradio-core/src/lib/hier/.gitignore b/gnuradio-core/src/lib/hier/.gitignore
deleted file mode 100644
index 89a768d46..000000000
--- a/gnuradio-core/src/lib/hier/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-/Makefile
-/Makefile.in
-/.libs
-/.deps
diff --git a/gnuradio-core/src/lib/hier/Makefile.am b/gnuradio-core/src/lib/hier/Makefile.am
deleted file mode 100644
index 369feef75..000000000
--- a/gnuradio-core/src/lib/hier/Makefile.am
+++ /dev/null
@@ -1,37 +0,0 @@
-#
-# Copyright 2009,2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(WITH_INCLUDES)
-
-noinst_LTLIBRARIES = libhier.la
-
-libhier_la_SOURCES = \
- gr_channel_model.cc
-
-grinclude_HEADERS = \
- gr_channel_model.h
-
-swiginclude_HEADERS = \
- hier.i \
- gr_channel_model.i
diff --git a/gnuradio-core/src/lib/io/.gitignore b/gnuradio-core/src/lib/io/.gitignore
deleted file mode 100644
index a02b6ff73..000000000
--- a/gnuradio-core/src/lib/io/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
diff --git a/gnuradio-core/src/lib/io/Makefile.am b/gnuradio-core/src/lib/io/Makefile.am
deleted file mode 100644
index 442d5e3a9..000000000
--- a/gnuradio-core/src/lib/io/Makefile.am
+++ /dev/null
@@ -1,116 +0,0 @@
-#
-# Copyright 2001,2003,2004,2006,2007,2008 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(WITH_INCLUDES)
-
-noinst_LTLIBRARIES = libio.la
-
-
-libio_la_SOURCES = \
- gr_file_sink.cc \
- gr_file_sink_base.cc \
- gr_file_source.cc \
- gr_file_descriptor_sink.cc \
- gr_file_descriptor_source.cc \
- gr_histo_sink_f.cc \
- gr_message_sink.cc \
- gr_message_source.cc \
- gr_oscope_guts.cc \
- gr_oscope_sink_f.cc \
- gr_oscope_sink_x.cc \
- i2c.cc \
- i2c_bitbang.cc \
- i2c_bbio.cc \
- i2c_bbio_pp.cc \
- microtune_4702.cc \
- microtune_4937.cc \
- microtune_4702_eval_board.cc \
- microtune_4937_eval_board.cc \
- microtune_xxxx.cc \
- microtune_xxxx_eval_board.cc \
- ppio.cc \
- ppio_ppdev.cc \
- sdr_1000.cc \
- gr_udp_sink.cc \
- gr_udp_source.cc \
- gr_wavfile_sink.cc \
- gr_wavfile_source.cc \
- gri_wavfile.cc \
- gr_tagged_file_sink.cc
-
-grinclude_HEADERS = \
- gr_file_sink.h \
- gr_file_sink_base.h \
- gr_file_source.h \
- gr_file_descriptor_sink.h \
- gr_file_descriptor_source.h \
- gr_histo_sink_f.h \
- gr_message_sink.h \
- gr_message_source.h \
- gr_oscope_guts.h \
- gr_oscope_sink_f.h \
- gr_oscope_sink_x.h \
- gr_trigger_mode.h \
- i2c.h \
- i2c_bitbang.h \
- i2c_bbio.h \
- i2c_bbio_pp.h \
- microtune_4702.h \
- microtune_4937.h \
- microtune_4702_eval_board.h \
- microtune_4937_eval_board.h \
- microtune_eval_board_defs.h \
- microtune_xxxx.h \
- microtune_xxxx_eval_board.h \
- ppio.h \
- ppio_ppdev.h \
- sdr_1000.h \
- gr_udp_sink.h \
- gr_udp_source.h \
- gr_wavfile_source.h \
- gr_wavfile_sink.h \
- gri_wavfile.h \
- gr_tagged_file_sink.h
-
-swiginclude_HEADERS = \
- io.i \
- gr_file_sink.i \
- gr_file_sink_base.i \
- gr_file_source.i \
- gr_file_descriptor_sink.i \
- gr_file_descriptor_source.i \
- gr_histo_sink.i \
- gr_message_sink.i \
- gr_message_source.i \
- gr_oscope_sink.i \
- microtune_xxxx_eval_board.i \
- microtune_4702_eval_board.i \
- microtune_4937_eval_board.i \
- ppio.i \
- sdr_1000.i \
- gr_udp_sink.i \
- gr_udp_source.i \
- gr_wavfile_source.i \
- gr_wavfile_sink.i \
- gr_tagged_file_sink.i
diff --git a/gnuradio-core/src/lib/io/gr_message_source.i b/gnuradio-core/src/lib/io/gr_message_source.i
index e4e2016d0..8a9c762d0 100644
--- a/gnuradio-core/src/lib/io/gr_message_source.i
+++ b/gnuradio-core/src/lib/io/gr_message_source.i
@@ -22,14 +22,6 @@
GR_SWIG_BLOCK_MAGIC(gr,message_source);
-#ifdef SWIGGUILE
-// Rename these. Without this, the primitive bindings are OK, but the
-// goops bindings try to create a bogus generic-function...
-// See core.scm for the second part of the workaround.
-%rename(message_source_limit_ctor) gr_make_message_source(size_t itemsize, int msgq_limit);
-%rename(message_source_msgq_ctor) gr_make_message_source(size_t itemsize, gr_msg_queue_sptr msgq);
-#endif
-
gr_message_source_sptr gr_make_message_source (size_t itemsize, int msgq_limit=0);
gr_message_source_sptr gr_make_message_source (size_t itemsize, gr_msg_queue_sptr msgq);
diff --git a/gnuradio-core/src/lib/io/gr_wavfile_sink.cc b/gnuradio-core/src/lib/io/gr_wavfile_sink.cc
index a96aadc72..88b232343 100644
--- a/gnuradio-core/src/lib/io/gr_wavfile_sink.cc
+++ b/gnuradio-core/src/lib/io/gr_wavfile_sink.cc
@@ -184,6 +184,7 @@ gr_wavfile_sink::work (int noutput_items,
int nwritten;
+ gruel::scoped_lock guard(d_mutex); // hold mutex for duration of this block
do_update(); // update: d_fp is reqd
if (!d_fp) // drop output on the floor
return noutput_items;
@@ -254,7 +255,6 @@ gr_wavfile_sink::do_update()
return;
}
- gruel::scoped_lock guard(d_mutex); // hold mutex for duration of this block
if (d_fp) {
close_wav();
}
diff --git a/gnuradio-core/src/lib/io/gr_wavfile_sink.h b/gnuradio-core/src/lib/io/gr_wavfile_sink.h
index 348f789ae..6d06d74e9 100644
--- a/gnuradio-core/src/lib/io/gr_wavfile_sink.h
+++ b/gnuradio-core/src/lib/io/gr_wavfile_sink.h
@@ -86,6 +86,13 @@ private:
short convert_to_short(float sample);
/*!
+ * \brief If any file changes have occurred, update now. This is called
+ * internally by work() and thus doesn't usually need to be called by
+ * hand.
+ */
+ void do_update();
+
+ /*!
* \brief Writes information to the WAV header which is not available
* a-priori (chunk size etc.) and closes the file. Not thread-safe and
* assumes d_fp is a valid file pointer, should thus only be called by
@@ -108,13 +115,6 @@ public:
void close();
/*!
- * \brief If any file changes have occurred, update now. This is called
- * internally by work() and thus doesn't usually need to be called by
- * hand.
- */
- void do_update();
-
- /*!
* \brief Set the sample rate. This will not affect the WAV file
* currently opened. Any following open() calls will use this new
* sample rate.
diff --git a/gnuradio-core/src/lib/missing/.gitignore b/gnuradio-core/src/lib/missing/.gitignore
deleted file mode 100644
index a02b6ff73..000000000
--- a/gnuradio-core/src/lib/missing/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
diff --git a/gnuradio-core/src/lib/missing/Makefile.am b/gnuradio-core/src/lib/missing/Makefile.am
deleted file mode 100644
index 1cc6014a1..000000000
--- a/gnuradio-core/src/lib/missing/Makefile.am
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Copyright 2003,2004,2008,2009,2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-AM_CPPFLAGS = $(GRUEL_INCLUDES) $(GNURADIO_INCLUDES) $(WITH_INCLUDES)
-
-EXTRA_DIST += \
- getopt.h \
- getopt.c \
- gettimeofday.c \
- posix_memalign.cc \
- posix_memalign.h \
- usleep.c
-
-noinst_LTLIBRARIES = libmissing.la
-
-libmissing_la_common_SOURCES = \
- bug_work_around_8.cc
-
-powerpc_CODE = \
- posix_memalign.cc
-
-if MD_CPU_powerpc
-libmissing_la_SOURCES = $(libmissing_la_common_SOURCES) $(powerpc_CODE)
-else
-libmissing_la_SOURCES = $(libmissing_la_common_SOURCES)
-endif
diff --git a/gnuradio-core/src/lib/reed-solomon/.gitignore b/gnuradio-core/src/lib/reed-solomon/.gitignore
deleted file mode 100644
index f137f5c67..000000000
--- a/gnuradio-core/src/lib/reed-solomon/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
-/rstest
diff --git a/gnuradio-core/src/lib/reed-solomon/Makefile.am b/gnuradio-core/src/lib/reed-solomon/Makefile.am
deleted file mode 100644
index 5548f4280..000000000
--- a/gnuradio-core/src/lib/reed-solomon/Makefile.am
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# Copyright 2002,2008 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-# Note, this Makefile.am only builds the char versions of the reed soloman routines.
-# If you need the int versions too, please figure out how to add them *cleanly* to
-# this Makefile.am.
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
-
-TESTS = rstest
-
-EXTRA_DIST += \
- README.karn
-
-noinst_LTLIBRARIES = librs.la
-
-noinst_PROGRAMS = \
- rstest
-
-librs_la_SOURCES = \
- encode_rs.c \
- decode_rs.c \
- init_rs.c
-
-grinclude_HEADERS = \
- rs.h
-
-noinst_HEADERS = \
- ccsds.h \
- char.h \
- int.h \
- fixed.h
-
-rstest_SOURCES = rstest.c exercise.c
-rstest_LDADD = librs.la
diff --git a/gnuradio-core/src/lib/runtime/.gitignore b/gnuradio-core/src/lib/runtime/.gitignore
deleted file mode 100644
index a02b6ff73..000000000
--- a/gnuradio-core/src/lib/runtime/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
diff --git a/gnuradio-core/src/lib/runtime/Makefile.am b/gnuradio-core/src/lib/runtime/Makefile.am
deleted file mode 100644
index 38da3d5fd..000000000
--- a/gnuradio-core/src/lib/runtime/Makefile.am
+++ /dev/null
@@ -1,165 +0,0 @@
-#
-# Copyright 2003,2004,2007,2008,2009,2010,2011 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-AM_CPPFLAGS = $(GRUEL_INCLUDES) $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES) $(WITH_INCLUDES)
-
-noinst_LTLIBRARIES = libruntime.la libruntime-qa.la
-
-libruntime_la_LIBADD = \
- $(SHM_OPEN_LIBS)
-
-
-libruntime_la_SOURCES = \
- gr_basic_block.cc \
- gr_flowgraph.cc \
- gr_flat_flowgraph.cc \
- gr_block.cc \
- gr_block_detail.cc \
- gr_block_executor.cc \
- gr_hier_block2.cc \
- gr_hier_block2_detail.cc \
- gr_buffer.cc \
- gr_dispatcher.cc \
- gr_error_handler.cc \
- gr_io_signature.cc \
- gr_local_sighandler.cc \
- gr_message.cc \
- gr_msg_accepter.cc \
- gr_msg_handler.cc \
- gr_msg_queue.cc \
- gr_pagesize.cc \
- gr_preferences.cc \
- gr_realtime.cc \
- gr_scheduler.cc \
- gr_scheduler_sts.cc \
- gr_scheduler_tpb.cc \
- gr_single_threaded_scheduler.cc \
- gr_sptr_magic.cc \
- gr_sync_block.cc \
- gr_sync_decimator.cc \
- gr_sync_interpolator.cc \
- gr_sys_paths.cc \
- gr_top_block.cc \
- gr_top_block_impl.cc \
- gr_tpb_detail.cc \
- gr_tpb_thread_body.cc \
- gr_vmcircbuf.cc \
- gr_vmcircbuf_mmap_shm_open.cc \
- gr_vmcircbuf_mmap_tmpfile.cc \
- gr_vmcircbuf_createfilemapping.cc \
- gr_vmcircbuf_sysv_shm.cc \
- gr_select_handler.cc
-
-libruntime_qa_la_SOURCES = \
- qa_gr_block.cc \
- qa_gr_hier_block2.cc \
- qa_gr_hier_block2_derived.cc \
- qa_gr_buffer.cc \
- qa_gr_flowgraph.cc \
- qa_gr_top_block.cc \
- qa_gr_io_signature.cc \
- qa_gr_vmcircbuf.cc \
- qa_block_tags.cc \
- qa_set_msg_handler.cc \
- qa_runtime.cc
-
-grinclude_HEADERS = \
- gr_basic_block.h \
- gr_flowgraph.h \
- gr_flat_flowgraph.h \
- gr_block.h \
- gr_block_detail.h \
- gr_block_executor.h \
- gr_hier_block2.h \
- gr_hier_block2_detail.h \
- gr_buffer.h \
- gr_complex.h \
- gr_dispatcher.h \
- gr_error_handler.h \
- gr_io_signature.h \
- gr_local_sighandler.h \
- gr_message.h \
- gr_msg_accepter.h \
- gr_msg_handler.h \
- gr_msg_queue.h \
- gr_pagesize.h \
- gr_preferences.h \
- gr_realtime.h \
- gr_runtime_types.h \
- gr_scheduler.h \
- gr_scheduler_sts.h \
- gr_scheduler_tpb.h \
- gr_select_handler.h \
- gr_single_threaded_scheduler.h \
- gr_sptr_magic.h \
- gr_sync_block.h \
- gr_sync_decimator.h \
- gr_sync_interpolator.h \
- gr_top_block.h \
- gr_top_block_impl.h \
- gr_tpb_detail.h \
- gr_tpb_thread_body.h \
- gr_timer.h \
- gr_sys_paths.h \
- gr_types.h \
- gr_unittests.h \
- gr_vmcircbuf.h \
- gr_tags.h
-
-noinst_HEADERS = \
- gr_vmcircbuf_mmap_shm_open.h \
- gr_vmcircbuf_mmap_tmpfile.h \
- gr_vmcircbuf_sysv_shm.h \
- gr_vmcircbuf_createfilemapping.h \
- qa_gr_block.h \
- qa_gr_flowgraph.h \
- qa_gr_hier_block2.h \
- qa_gr_hier_block2_derived.h \
- qa_gr_buffer.h \
- qa_gr_io_signature.h \
- qa_gr_top_block.h \
- qa_gr_vmcircbuf.h \
- qa_block_tags.h \
- qa_set_msg_handler.h \
- qa_runtime.h
-
-swiginclude_HEADERS = \
- gr_basic_block.i \
- gr_block.i \
- gr_block_detail.i \
- gr_hier_block2.i \
- gr_buffer.i \
- gr_dispatcher.i \
- gr_error_handler.i \
- gr_io_signature.i \
- gr_message.i \
- gr_msg_handler.i \
- gr_msg_queue.i \
- gr_realtime.i \
- gr_single_threaded_scheduler.i \
- gr_sync_block.i \
- gr_sync_decimator.i \
- gr_sync_interpolator.i \
- gr_tags.i \
- gr_top_block.i \
- runtime.i
diff --git a/gnuradio-core/src/lib/runtime/gr_basic_block.h b/gnuradio-core/src/lib/runtime/gr_basic_block.h
index 2adca8ccb..7e95509e2 100644
--- a/gnuradio-core/src/lib/runtime/gr_basic_block.h
+++ b/gnuradio-core/src/lib/runtime/gr_basic_block.h
@@ -103,7 +103,7 @@ public:
std::string name() const { return d_name; }
gr_io_signature_sptr input_signature() const { return d_input_signature; }
gr_io_signature_sptr output_signature() const { return d_output_signature; }
- gr_basic_block_sptr to_basic_block(); // Needed for Python/Guile type coercion
+ gr_basic_block_sptr to_basic_block(); // Needed for Python type coercion
/*!
* \brief Confirm that ninputs and noutputs is an acceptable combination.
diff --git a/gnuradio-core/src/lib/runtime/gr_hier_block2.h b/gnuradio-core/src/lib/runtime/gr_hier_block2.h
index 9652f6bf4..12bcf10e7 100644
--- a/gnuradio-core/src/lib/runtime/gr_hier_block2.h
+++ b/gnuradio-core/src/lib/runtime/gr_hier_block2.h
@@ -150,7 +150,7 @@ public:
// ignored by the user.
gr_flat_flowgraph_sptr flatten() const;
- gr_hier_block2_sptr to_hier_block2(); // Needed for Python/Guile type coercion
+ gr_hier_block2_sptr to_hier_block2(); // Needed for Python type coercion
};
inline gr_hier_block2_sptr cast_to_hier_block2_sptr(gr_basic_block_sptr block) {
diff --git a/gnuradio-core/src/lib/runtime/gr_hier_block2.i b/gnuradio-core/src/lib/runtime/gr_hier_block2.i
index 32b656e24..4fa7c3bc0 100644
--- a/gnuradio-core/src/lib/runtime/gr_hier_block2.i
+++ b/gnuradio-core/src/lib/runtime/gr_hier_block2.i
@@ -63,5 +63,5 @@ public:
void lock();
void unlock();
- gr_hier_block2_sptr to_hier_block2(); // Needed for Python/Guile type coercion
+ gr_hier_block2_sptr to_hier_block2(); // Needed for Python type coercion
};
diff --git a/gnuradio-core/src/lib/runtime/gr_msg_queue.i b/gnuradio-core/src/lib/runtime/gr_msg_queue.i
index 0a4eda78a..2a78253b3 100644
--- a/gnuradio-core/src/lib/runtime/gr_msg_queue.i
+++ b/gnuradio-core/src/lib/runtime/gr_msg_queue.i
@@ -105,64 +105,3 @@ gr_msg_queue_sptr.insert_tail = gr_py_msg_queue__insert_tail
gr_msg_queue_sptr.handle = gr_py_msg_queue__insert_tail
%}
#endif // SWIGPYTHON
-
-/*
- * Similar trickery as above, only this time for Guile
- */
-#ifdef SWIGGUILE
-
-%{
- struct arg_holder {
- gr_msg_queue_sptr q;
- gr_message_sptr msg;
- };
-
- static void *
- insert_tail_shim(void *arg)
- {
- arg_holder *a = (arg_holder *)arg;
- a->q->insert_tail(a->msg);
- return 0;
- }
-
- static void *
- delete_head_shim(void *arg)
- {
- arg_holder *a = (arg_holder *)arg;
- a->msg = a->q->delete_head();
- return 0;
- }
-%}
-
-%inline %{
-
- // handle and insert_tail are equivalent
- static void
- handle(gr_msg_queue_sptr q, gr_message_sptr msg)
- {
- arg_holder a;
- a.q = q;
- a.msg = msg;
- scm_without_guile(insert_tail_shim, (void *) &a);
- }
-
- static void
- insert_tail(gr_msg_queue_sptr q, gr_message_sptr msg)
- {
- arg_holder a;
- a.q = q;
- a.msg = msg;
- scm_without_guile(insert_tail_shim, (void *) &a);
- }
-
- static gr_message_sptr
- delete_head(gr_msg_queue_sptr q)
- {
- arg_holder a;
- a.q = q;
- scm_without_guile(delete_head_shim, (void *) &a);
- return a.msg;
- }
-%}
-
-#endif // SWIGGUILE
diff --git a/gnuradio-core/src/lib/runtime/gr_top_block.h b/gnuradio-core/src/lib/runtime/gr_top_block.h
index 9d01ba3ef..e837700c3 100644
--- a/gnuradio-core/src/lib/runtime/gr_top_block.h
+++ b/gnuradio-core/src/lib/runtime/gr_top_block.h
@@ -122,7 +122,7 @@ public:
//! Set the maximum number of noutput_items in the flowgraph
void set_max_noutput_items(int nmax);
- gr_top_block_sptr to_top_block(); // Needed for Python/Guile type coercion
+ gr_top_block_sptr to_top_block(); // Needed for Python type coercion
};
inline gr_top_block_sptr cast_to_top_block_sptr(gr_basic_block_sptr block) {
diff --git a/gnuradio-core/src/lib/runtime/gr_top_block.i b/gnuradio-core/src/lib/runtime/gr_top_block.i
index 70c627ffd..ea5534c17 100644
--- a/gnuradio-core/src/lib/runtime/gr_top_block.i
+++ b/gnuradio-core/src/lib/runtime/gr_top_block.i
@@ -51,7 +51,7 @@ public:
int max_noutput_items();
void set_max_noutput_items(int nmax);
- gr_top_block_sptr to_top_block(); // Needed for Python/Guile type coercion
+ gr_top_block_sptr to_top_block(); // Needed for Python type coercion
};
#ifdef SWIGPYTHON
@@ -73,34 +73,3 @@ void top_block_wait_unlocked(gr_top_block_sptr r) throw (std::runtime_error)
%}
#endif
-
-#ifdef SWIGGUILE
-
-%{
- struct tb_arg_holder {
- gr_top_block_sptr tb;
- };
-
- static void *
- tb_wait_shim(void *arg)
- {
- tb_arg_holder *a = (tb_arg_holder *)arg;
- a->tb->wait();
- return 0;
- }
-
-%}
-
-%inline %{
-
- static void
- top_block_wait_unlocked(gr_top_block_sptr r) throw (std::runtime_error)
- {
- tb_arg_holder a;
- a.tb = r;
- scm_without_guile(tb_wait_shim, (void *) &a);
- }
-
-%}
-
-#endif
diff --git a/gnuradio-core/src/lib/swig/.gitignore b/gnuradio-core/src/lib/swig/.gitignore
deleted file mode 100644
index a6f145618..000000000
--- a/gnuradio-core/src/lib/swig/.gitignore
+++ /dev/null
@@ -1,49 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
-/*.pyc
-/swigrun.py
-/swigrun_wrap.c
-/Makefile.swigdeps.new
-gnuradio_core_filter.cc
-gnuradio_core_filter.d
-gnuradio_core_filter.h
-gnuradio_core_filter.py
-gnuradio_core_filter.scm
-gnuradio_core_filter-primitive.scm
-gnuradio_core_general.cc
-gnuradio_core_general.d
-gnuradio_core_general.h
-gnuradio_core_general.py
-gnuradio_core_general.scm
-gnuradio_core_general-primitive.scm
-gnuradio_core_gengen.cc
-gnuradio_core_gengen.d
-gnuradio_core_gengen.h
-gnuradio_core_gengen.py
-gnuradio_core_gengen.scm
-gnuradio_core_gengen-primitive.scm
-gnuradio_core_hier.cc
-gnuradio_core_hier.d
-gnuradio_core_hier.h
-gnuradio_core_hier.py
-gnuradio_core_hier.scm
-gnuradio_core_hier-primitive.scm
-gnuradio_core_io.cc
-gnuradio_core_io.d
-gnuradio_core_io.h
-gnuradio_core_io.py
-gnuradio_core_io.scm
-gnuradio_core_io-primitive.scm
-gnuradio_core_runtime.cc
-gnuradio_core_runtime.d
-gnuradio_core_runtime.h
-gnuradio_core_runtime.py
-gnuradio_core_runtime.scm
-gnuradio_core_runtime-primitive.scm
-
diff --git a/gnuradio-core/src/lib/swig/Makefile.am b/gnuradio-core/src/lib/swig/Makefile.am
deleted file mode 100644
index 91c1746e6..000000000
--- a/gnuradio-core/src/lib/swig/Makefile.am
+++ /dev/null
@@ -1,109 +0,0 @@
-#
-# Copyright 2001,2003,2004,2005,2006,2007,2008,2009,2010 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-include $(top_srcdir)/Makefile.swig
-
-AM_CPPFLAGS = -I$(srcdir) $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) \
- $(WITH_INCLUDES)
-
-# ----------------------------------------------------------------
-# We've split the previously monstrous gnuradio_core into 6
-# smaller pieces. This reduces compile time coupling and creates
-# smaller pieces for the compiler to digest. prior to this change, on
-# X86_64, g++'s resident set size was 650MB!
-# ----------------------------------------------------------------
-
-TOP_SWIG_DOC_IFILES = \
- filter_swig_doc.i \
- general_swig_doc.i \
- gengen_swig_doc.i \
- hier_swig_doc.i \
- io_swig_doc.i \
- runtime_swig_doc.i
-
-TOP_SWIG_IFILES = \
- $(TOP_SWIG_DOC_IFILES) \
- gnuradio_core_runtime.i \
- gnuradio_core_general.i \
- gnuradio_core_gengen.i \
- gnuradio_core_filter.i \
- gnuradio_core_io.i \
- gnuradio_core_hier.i
-
-BUILT_SOURCES += \
- $(TOP_SWIG_DOC_IFILES)
-
-EXTRA_DIST += \
- $(TOP_SWIG_DOC_IFILES)
-
-$(TOP_SWIG_DOC_IFILES):
- `echo "" > $@`
-
-# SWIG headers get installed in ${prefix}/include/gnuradio/swig
-swiginclude_HEADERS = \
- gnuradio.i \
- gr_swig_block_magic.i \
- gr_shared_ptr.i \
- $(TOP_SWIG_DOC_IFILES)
-
-# SWIG headers that get installed in ${prefix}/include/gnuradio/swig/...
-nobase_swiginclude_HEADERS = \
- guile/std_complex.i \
- guile/std_vector.i
-
-
-# special install for this top-level Python script which includes all
-# of the split Python libraries.
-ourpythondir = $(grpythondir)/gr
-ourpython_PYTHON = gnuradio_core.py
-
-# ----------------------------------------------------------------
-# FIXME As of swig 1.3.31, this still seems to be required...
-# gnuradio_swig_bug_workaround.h : gnuradio_core_runtime.py $(srcdir)/gen-swig-bug-fix
-# $(PYTHON) $(srcdir)/gen-swig-bug-fix python/gnuradio_core_runtime.cc $@
-
-EXTRA_DIST += gen-swig-bug-fix
-
-# C/C++ headers get installed in ${prefix}/include/gnuradio
-grinclude_HEADERS = gnuradio_swig_bug_workaround.h
-
-
-# Install so that they end up available as:
-# import gnuradio.gr
-# This ends up at:
-# ${prefix}/lib/python${python_version}/site-packages/gnuradio/gr
-gnuradio_core_runtime_pythondir_category = gnuradio/gr
-gnuradio_core_general_pythondir_category = gnuradio/gr
-gnuradio_core_gengen_pythondir_category = gnuradio/gr
-gnuradio_core_filter_pythondir_category = gnuradio/gr
-gnuradio_core_io_pythondir_category = gnuradio/gr
-gnuradio_core_hier_pythondir_category = gnuradio/gr
-
-# additional libraries for linking with each SWIG-generated library
-gnuradio_core_runtime_la_swig_libadd = $(GNURADIO_CORE_LA)
-gnuradio_core_general_la_swig_libadd = $(GNURADIO_CORE_LA)
-gnuradio_core_gengen_la_swig_libadd = $(GNURADIO_CORE_LA)
-gnuradio_core_filter_la_swig_libadd = $(GNURADIO_CORE_LA)
-gnuradio_core_io_la_swig_libadd = $(GNURADIO_CORE_LA)
-gnuradio_core_hier_la_swig_libadd = $(GNURADIO_CORE_LA)
-
-SWIG_GUILE_FLAGS += -DIN_GNURADIO_CORE
diff --git a/gnuradio-core/src/lib/swig/Makefile.swig.gen b/gnuradio-core/src/lib/swig/Makefile.swig.gen
deleted file mode 100644
index cede68817..000000000
--- a/gnuradio-core/src/lib/swig/Makefile.swig.gen
+++ /dev/null
@@ -1,870 +0,0 @@
-# -*- Makefile -*-
-#
-# Copyright 2009 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-# Makefile.swig.gen for gnuradio_core_runtime.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_runtime
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_runtime
-##
-## The following can be overloaded to change the install location, but
-## this has to be done in the including Makefile.am -before-
-## Makefile.swig is included.
-
-gnuradio_core_runtime_pythondir_category ?= gnuradio/gnuradio_core_runtime
-gnuradio_core_runtime_pylibdir_category ?= $(gnuradio_core_runtime_pythondir_category)
-gnuradio_core_runtime_pythondir = $(pythondir)/$(gnuradio_core_runtime_pythondir_category)
-gnuradio_core_runtime_pylibdir = $(pyexecdir)/$(gnuradio_core_runtime_pylibdir_category)
-
-# The .so libraries for the guile modules get installed whereever guile
-# is installed, usually /usr/lib/guile/gnuradio/
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_runtime_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/gnuradio_core_runtime
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_runtime_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-gnuradio_core_runtime_swigincludedir = $(swigincludedir)
-
-## This is a template file for a "generated" Makefile addition (in
-## this case, "Makefile.swig.gen"). By including the top-level
-## Makefile.swig, this file will be used to generate the SWIG
-## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
-## SWIG .i files to generated wrappings for; there can be more than 1
-## so long as the names are unique (no sorting is done on the
-## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
-## file will generate .cc, .py, and possibly .h files -- meaning that
-## all of these files will have the same base name (that provided for
-## the SWIG .i file).
-##
-## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
-## right thing. For more info, see <
-## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
-
-## Other cleaned files: dependency files generated by SWIG or this Makefile
-
-MOSTLYCLEANFILES += $(DEPDIR)/*.S*
-
-## Various SWIG variables. These can be overloaded in the including
-## Makefile.am by setting the variable value there, then including
-## Makefile.swig .
-
-gnuradio_core_runtime_swiginclude_HEADERS = \
- gnuradio_core_runtime.i \
- $(gnuradio_core_runtime_swiginclude_headers)
-
-if PYTHON
-gnuradio_core_runtime_pylib_LTLIBRARIES = \
- _gnuradio_core_runtime.la
-
-_gnuradio_core_runtime_la_SOURCES = \
- python/gnuradio_core_runtime.cc \
- $(gnuradio_core_runtime_la_swig_sources)
-
-gnuradio_core_runtime_python_PYTHON = \
- gnuradio_core_runtime.py \
- $(gnuradio_core_runtime_python)
-
-_gnuradio_core_runtime_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_runtime_la_swig_libadd)
-
-_gnuradio_core_runtime_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_runtime_la_swig_ldflags)
-
-_gnuradio_core_runtime_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_runtime_la_swig_cxxflags)
-
-python/gnuradio_core_runtime.cc: gnuradio_core_runtime.py
-gnuradio_core_runtime.py: gnuradio_core_runtime.i
-
-# Include the python dependencies for this file
--include python/gnuradio_core_runtime.d
-
-endif # end of if python
-
-if GUILE
-
-gnuradio_core_runtime_scmlib_LTLIBRARIES = \
- libguile-gnuradio-gnuradio_core_runtime.la
-libguile_gnuradio_gnuradio_core_runtime_la_SOURCES = \
- guile/gnuradio_core_runtime.cc \
- $(gnuradio_core_runtime_la_swig_sources)
-nobase_gnuradio_core_runtime_scm_DATA = \
- gnuradio/gnuradio_core_runtime.scm \
- gnuradio/gnuradio_core_runtime-primitive.scm
-libguile_gnuradio_gnuradio_core_runtime_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_runtime_la_swig_libadd)
-libguile_gnuradio_gnuradio_core_runtime_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_runtime_la_swig_ldflags)
-libguile_gnuradio_gnuradio_core_runtime_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_runtime_la_swig_cxxflags)
-
-guile/gnuradio_core_runtime.cc: gnuradio/gnuradio_core_runtime.scm
-gnuradio/gnuradio_core_runtime.scm: gnuradio_core_runtime.i
-gnuradio/gnuradio_core_runtime-primitive.scm: gnuradio/gnuradio_core_runtime.scm
-
-# Include the guile dependencies for this file
--include guile/gnuradio_core_runtime.d
-
-endif # end of GUILE
-
-
-# -*- Makefile -*-
-#
-# Copyright 2009 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-# Makefile.swig.gen for gnuradio_core_general.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_general
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_general
-##
-## The following can be overloaded to change the install location, but
-## this has to be done in the including Makefile.am -before-
-## Makefile.swig is included.
-
-gnuradio_core_general_pythondir_category ?= gnuradio/gnuradio_core_general
-gnuradio_core_general_pylibdir_category ?= $(gnuradio_core_general_pythondir_category)
-gnuradio_core_general_pythondir = $(pythondir)/$(gnuradio_core_general_pythondir_category)
-gnuradio_core_general_pylibdir = $(pyexecdir)/$(gnuradio_core_general_pylibdir_category)
-
-# The .so libraries for the guile modules get installed whereever guile
-# is installed, usually /usr/lib/guile/gnuradio/
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_general_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/gnuradio_core_general
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_general_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-gnuradio_core_general_swigincludedir = $(swigincludedir)
-
-## This is a template file for a "generated" Makefile addition (in
-## this case, "Makefile.swig.gen"). By including the top-level
-## Makefile.swig, this file will be used to generate the SWIG
-## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
-## SWIG .i files to generated wrappings for; there can be more than 1
-## so long as the names are unique (no sorting is done on the
-## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
-## file will generate .cc, .py, and possibly .h files -- meaning that
-## all of these files will have the same base name (that provided for
-## the SWIG .i file).
-##
-## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
-## right thing. For more info, see <
-## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
-
-## Other cleaned files: dependency files generated by SWIG or this Makefile
-
-MOSTLYCLEANFILES += $(DEPDIR)/*.S*
-
-## Various SWIG variables. These can be overloaded in the including
-## Makefile.am by setting the variable value there, then including
-## Makefile.swig .
-
-gnuradio_core_general_swiginclude_HEADERS = \
- gnuradio_core_general.i \
- $(gnuradio_core_general_swiginclude_headers)
-
-if PYTHON
-gnuradio_core_general_pylib_LTLIBRARIES = \
- _gnuradio_core_general.la
-
-_gnuradio_core_general_la_SOURCES = \
- python/gnuradio_core_general.cc \
- $(gnuradio_core_general_la_swig_sources)
-
-gnuradio_core_general_python_PYTHON = \
- gnuradio_core_general.py \
- $(gnuradio_core_general_python)
-
-_gnuradio_core_general_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_general_la_swig_libadd)
-
-_gnuradio_core_general_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_general_la_swig_ldflags)
-
-_gnuradio_core_general_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_general_la_swig_cxxflags)
-
-python/gnuradio_core_general.cc: gnuradio_core_general.py
-gnuradio_core_general.py: gnuradio_core_general.i
-
-# Include the python dependencies for this file
--include python/gnuradio_core_general.d
-
-endif # end of if python
-
-if GUILE
-
-gnuradio_core_general_scmlib_LTLIBRARIES = \
- libguile-gnuradio-gnuradio_core_general.la
-libguile_gnuradio_gnuradio_core_general_la_SOURCES = \
- guile/gnuradio_core_general.cc \
- $(gnuradio_core_general_la_swig_sources)
-nobase_gnuradio_core_general_scm_DATA = \
- gnuradio/gnuradio_core_general.scm \
- gnuradio/gnuradio_core_general-primitive.scm
-libguile_gnuradio_gnuradio_core_general_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_general_la_swig_libadd)
-libguile_gnuradio_gnuradio_core_general_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_general_la_swig_ldflags)
-libguile_gnuradio_gnuradio_core_general_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_general_la_swig_cxxflags)
-
-guile/gnuradio_core_general.cc: gnuradio/gnuradio_core_general.scm
-gnuradio/gnuradio_core_general.scm: gnuradio_core_general.i
-gnuradio/gnuradio_core_general-primitive.scm: gnuradio/gnuradio_core_general.scm
-
-# Include the guile dependencies for this file
--include guile/gnuradio_core_general.d
-
-endif # end of GUILE
-
-
-# -*- Makefile -*-
-#
-# Copyright 2009 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-# Makefile.swig.gen for gnuradio_core_gengen.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_gengen
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_gengen
-##
-## The following can be overloaded to change the install location, but
-## this has to be done in the including Makefile.am -before-
-## Makefile.swig is included.
-
-gnuradio_core_gengen_pythondir_category ?= gnuradio/gnuradio_core_gengen
-gnuradio_core_gengen_pylibdir_category ?= $(gnuradio_core_gengen_pythondir_category)
-gnuradio_core_gengen_pythondir = $(pythondir)/$(gnuradio_core_gengen_pythondir_category)
-gnuradio_core_gengen_pylibdir = $(pyexecdir)/$(gnuradio_core_gengen_pylibdir_category)
-
-# The .so libraries for the guile modules get installed whereever guile
-# is installed, usually /usr/lib/guile/gnuradio/
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_gengen_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/gnuradio_core_gengen
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_gengen_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-gnuradio_core_gengen_swigincludedir = $(swigincludedir)
-
-## This is a template file for a "generated" Makefile addition (in
-## this case, "Makefile.swig.gen"). By including the top-level
-## Makefile.swig, this file will be used to generate the SWIG
-## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
-## SWIG .i files to generated wrappings for; there can be more than 1
-## so long as the names are unique (no sorting is done on the
-## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
-## file will generate .cc, .py, and possibly .h files -- meaning that
-## all of these files will have the same base name (that provided for
-## the SWIG .i file).
-##
-## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
-## right thing. For more info, see <
-## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
-
-## Other cleaned files: dependency files generated by SWIG or this Makefile
-
-MOSTLYCLEANFILES += $(DEPDIR)/*.S*
-
-## Various SWIG variables. These can be overloaded in the including
-## Makefile.am by setting the variable value there, then including
-## Makefile.swig .
-
-gnuradio_core_gengen_swiginclude_HEADERS = \
- gnuradio_core_gengen.i \
- $(gnuradio_core_gengen_swiginclude_headers)
-
-if PYTHON
-gnuradio_core_gengen_pylib_LTLIBRARIES = \
- _gnuradio_core_gengen.la
-
-_gnuradio_core_gengen_la_SOURCES = \
- python/gnuradio_core_gengen.cc \
- $(gnuradio_core_gengen_la_swig_sources)
-
-gnuradio_core_gengen_python_PYTHON = \
- gnuradio_core_gengen.py \
- $(gnuradio_core_gengen_python)
-
-_gnuradio_core_gengen_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_gengen_la_swig_libadd)
-
-_gnuradio_core_gengen_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_gengen_la_swig_ldflags)
-
-_gnuradio_core_gengen_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_gengen_la_swig_cxxflags)
-
-python/gnuradio_core_gengen.cc: gnuradio_core_gengen.py
-gnuradio_core_gengen.py: gnuradio_core_gengen.i
-
-# Include the python dependencies for this file
--include python/gnuradio_core_gengen.d
-
-endif # end of if python
-
-if GUILE
-
-gnuradio_core_gengen_scmlib_LTLIBRARIES = \
- libguile-gnuradio-gnuradio_core_gengen.la
-libguile_gnuradio_gnuradio_core_gengen_la_SOURCES = \
- guile/gnuradio_core_gengen.cc \
- $(gnuradio_core_gengen_la_swig_sources)
-nobase_gnuradio_core_gengen_scm_DATA = \
- gnuradio/gnuradio_core_gengen.scm \
- gnuradio/gnuradio_core_gengen-primitive.scm
-libguile_gnuradio_gnuradio_core_gengen_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_gengen_la_swig_libadd)
-libguile_gnuradio_gnuradio_core_gengen_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_gengen_la_swig_ldflags)
-libguile_gnuradio_gnuradio_core_gengen_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_gengen_la_swig_cxxflags)
-
-guile/gnuradio_core_gengen.cc: gnuradio/gnuradio_core_gengen.scm
-gnuradio/gnuradio_core_gengen.scm: gnuradio_core_gengen.i
-gnuradio/gnuradio_core_gengen-primitive.scm: gnuradio/gnuradio_core_gengen.scm
-
-# Include the guile dependencies for this file
--include guile/gnuradio_core_gengen.d
-
-endif # end of GUILE
-
-
-# -*- Makefile -*-
-#
-# Copyright 2009 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-# Makefile.swig.gen for gnuradio_core_filter.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_filter
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_filter
-##
-## The following can be overloaded to change the install location, but
-## this has to be done in the including Makefile.am -before-
-## Makefile.swig is included.
-
-gnuradio_core_filter_pythondir_category ?= gnuradio/gnuradio_core_filter
-gnuradio_core_filter_pylibdir_category ?= $(gnuradio_core_filter_pythondir_category)
-gnuradio_core_filter_pythondir = $(pythondir)/$(gnuradio_core_filter_pythondir_category)
-gnuradio_core_filter_pylibdir = $(pyexecdir)/$(gnuradio_core_filter_pylibdir_category)
-
-# The .so libraries for the guile modules get installed whereever guile
-# is installed, usually /usr/lib/guile/gnuradio/
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_filter_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/gnuradio_core_filter
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_filter_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-gnuradio_core_filter_swigincludedir = $(swigincludedir)
-
-## This is a template file for a "generated" Makefile addition (in
-## this case, "Makefile.swig.gen"). By including the top-level
-## Makefile.swig, this file will be used to generate the SWIG
-## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
-## SWIG .i files to generated wrappings for; there can be more than 1
-## so long as the names are unique (no sorting is done on the
-## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
-## file will generate .cc, .py, and possibly .h files -- meaning that
-## all of these files will have the same base name (that provided for
-## the SWIG .i file).
-##
-## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
-## right thing. For more info, see <
-## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
-
-## Other cleaned files: dependency files generated by SWIG or this Makefile
-
-MOSTLYCLEANFILES += $(DEPDIR)/*.S*
-
-## Various SWIG variables. These can be overloaded in the including
-## Makefile.am by setting the variable value there, then including
-## Makefile.swig .
-
-gnuradio_core_filter_swiginclude_HEADERS = \
- gnuradio_core_filter.i \
- $(gnuradio_core_filter_swiginclude_headers)
-
-if PYTHON
-gnuradio_core_filter_pylib_LTLIBRARIES = \
- _gnuradio_core_filter.la
-
-_gnuradio_core_filter_la_SOURCES = \
- python/gnuradio_core_filter.cc \
- $(gnuradio_core_filter_la_swig_sources)
-
-gnuradio_core_filter_python_PYTHON = \
- gnuradio_core_filter.py \
- $(gnuradio_core_filter_python)
-
-_gnuradio_core_filter_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_filter_la_swig_libadd)
-
-_gnuradio_core_filter_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_filter_la_swig_ldflags)
-
-_gnuradio_core_filter_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_filter_la_swig_cxxflags)
-
-python/gnuradio_core_filter.cc: gnuradio_core_filter.py
-gnuradio_core_filter.py: gnuradio_core_filter.i
-
-# Include the python dependencies for this file
--include python/gnuradio_core_filter.d
-
-endif # end of if python
-
-if GUILE
-
-gnuradio_core_filter_scmlib_LTLIBRARIES = \
- libguile-gnuradio-gnuradio_core_filter.la
-libguile_gnuradio_gnuradio_core_filter_la_SOURCES = \
- guile/gnuradio_core_filter.cc \
- $(gnuradio_core_filter_la_swig_sources)
-nobase_gnuradio_core_filter_scm_DATA = \
- gnuradio/gnuradio_core_filter.scm \
- gnuradio/gnuradio_core_filter-primitive.scm
-libguile_gnuradio_gnuradio_core_filter_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_filter_la_swig_libadd)
-libguile_gnuradio_gnuradio_core_filter_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_filter_la_swig_ldflags)
-libguile_gnuradio_gnuradio_core_filter_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_filter_la_swig_cxxflags)
-
-guile/gnuradio_core_filter.cc: gnuradio/gnuradio_core_filter.scm
-gnuradio/gnuradio_core_filter.scm: gnuradio_core_filter.i
-gnuradio/gnuradio_core_filter-primitive.scm: gnuradio/gnuradio_core_filter.scm
-
-# Include the guile dependencies for this file
--include guile/gnuradio_core_filter.d
-
-endif # end of GUILE
-
-
-# -*- Makefile -*-
-#
-# Copyright 2009 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-# Makefile.swig.gen for gnuradio_core_io.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_io
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_io
-##
-## The following can be overloaded to change the install location, but
-## this has to be done in the including Makefile.am -before-
-## Makefile.swig is included.
-
-gnuradio_core_io_pythondir_category ?= gnuradio/gnuradio_core_io
-gnuradio_core_io_pylibdir_category ?= $(gnuradio_core_io_pythondir_category)
-gnuradio_core_io_pythondir = $(pythondir)/$(gnuradio_core_io_pythondir_category)
-gnuradio_core_io_pylibdir = $(pyexecdir)/$(gnuradio_core_io_pylibdir_category)
-
-# The .so libraries for the guile modules get installed whereever guile
-# is installed, usually /usr/lib/guile/gnuradio/
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_io_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/gnuradio_core_io
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_io_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-gnuradio_core_io_swigincludedir = $(swigincludedir)
-
-## This is a template file for a "generated" Makefile addition (in
-## this case, "Makefile.swig.gen"). By including the top-level
-## Makefile.swig, this file will be used to generate the SWIG
-## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
-## SWIG .i files to generated wrappings for; there can be more than 1
-## so long as the names are unique (no sorting is done on the
-## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
-## file will generate .cc, .py, and possibly .h files -- meaning that
-## all of these files will have the same base name (that provided for
-## the SWIG .i file).
-##
-## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
-## right thing. For more info, see <
-## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
-
-## Other cleaned files: dependency files generated by SWIG or this Makefile
-
-MOSTLYCLEANFILES += $(DEPDIR)/*.S*
-
-## Various SWIG variables. These can be overloaded in the including
-## Makefile.am by setting the variable value there, then including
-## Makefile.swig .
-
-gnuradio_core_io_swiginclude_HEADERS = \
- gnuradio_core_io.i \
- $(gnuradio_core_io_swiginclude_headers)
-
-if PYTHON
-gnuradio_core_io_pylib_LTLIBRARIES = \
- _gnuradio_core_io.la
-
-_gnuradio_core_io_la_SOURCES = \
- python/gnuradio_core_io.cc \
- $(gnuradio_core_io_la_swig_sources)
-
-gnuradio_core_io_python_PYTHON = \
- gnuradio_core_io.py \
- $(gnuradio_core_io_python)
-
-_gnuradio_core_io_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_io_la_swig_libadd)
-
-_gnuradio_core_io_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_io_la_swig_ldflags)
-
-_gnuradio_core_io_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_io_la_swig_cxxflags)
-
-python/gnuradio_core_io.cc: gnuradio_core_io.py
-gnuradio_core_io.py: gnuradio_core_io.i
-
-# Include the python dependencies for this file
--include python/gnuradio_core_io.d
-
-endif # end of if python
-
-if GUILE
-
-gnuradio_core_io_scmlib_LTLIBRARIES = \
- libguile-gnuradio-gnuradio_core_io.la
-libguile_gnuradio_gnuradio_core_io_la_SOURCES = \
- guile/gnuradio_core_io.cc \
- $(gnuradio_core_io_la_swig_sources)
-nobase_gnuradio_core_io_scm_DATA = \
- gnuradio/gnuradio_core_io.scm \
- gnuradio/gnuradio_core_io-primitive.scm
-libguile_gnuradio_gnuradio_core_io_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_io_la_swig_libadd)
-libguile_gnuradio_gnuradio_core_io_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_io_la_swig_ldflags)
-libguile_gnuradio_gnuradio_core_io_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_io_la_swig_cxxflags)
-
-guile/gnuradio_core_io.cc: gnuradio/gnuradio_core_io.scm
-gnuradio/gnuradio_core_io.scm: gnuradio_core_io.i
-gnuradio/gnuradio_core_io-primitive.scm: gnuradio/gnuradio_core_io.scm
-
-# Include the guile dependencies for this file
--include guile/gnuradio_core_io.d
-
-endif # end of GUILE
-
-
-# -*- Makefile -*-
-#
-# Copyright 2009 Free Software Foundation, Inc.
-#
-# This file is part of GNU Radio
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-# Makefile.swig.gen for gnuradio_core_hier.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_hier
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/gnuradio_core_hier
-##
-## The following can be overloaded to change the install location, but
-## this has to be done in the including Makefile.am -before-
-## Makefile.swig is included.
-
-gnuradio_core_hier_pythondir_category ?= gnuradio/gnuradio_core_hier
-gnuradio_core_hier_pylibdir_category ?= $(gnuradio_core_hier_pythondir_category)
-gnuradio_core_hier_pythondir = $(pythondir)/$(gnuradio_core_hier_pythondir_category)
-gnuradio_core_hier_pylibdir = $(pyexecdir)/$(gnuradio_core_hier_pylibdir_category)
-
-# The .so libraries for the guile modules get installed whereever guile
-# is installed, usually /usr/lib/guile/gnuradio/
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_hier_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/gnuradio_core_hier
-# FIXME: determince whether these should be installed with gnuradio.
-gnuradio_core_hier_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-gnuradio_core_hier_swigincludedir = $(swigincludedir)
-
-## This is a template file for a "generated" Makefile addition (in
-## this case, "Makefile.swig.gen"). By including the top-level
-## Makefile.swig, this file will be used to generate the SWIG
-## dependencies. Assign the variable TOP_SWIG_FILES to be the list of
-## SWIG .i files to generated wrappings for; there can be more than 1
-## so long as the names are unique (no sorting is done on the
-## TOP_SWIG_FILES list). This file explicitly assumes that a SWIG .i
-## file will generate .cc, .py, and possibly .h files -- meaning that
-## all of these files will have the same base name (that provided for
-## the SWIG .i file).
-##
-## This code is setup to ensure parallel MAKE ("-j" or "-jN") does the
-## right thing. For more info, see <
-## http://sources.redhat.com/automake/automake.html#Multiple-Outputs >
-
-## Other cleaned files: dependency files generated by SWIG or this Makefile
-
-MOSTLYCLEANFILES += $(DEPDIR)/*.S*
-
-## Various SWIG variables. These can be overloaded in the including
-## Makefile.am by setting the variable value there, then including
-## Makefile.swig .
-
-gnuradio_core_hier_swiginclude_HEADERS = \
- gnuradio_core_hier.i \
- $(gnuradio_core_hier_swiginclude_headers)
-
-if PYTHON
-gnuradio_core_hier_pylib_LTLIBRARIES = \
- _gnuradio_core_hier.la
-
-_gnuradio_core_hier_la_SOURCES = \
- python/gnuradio_core_hier.cc \
- $(gnuradio_core_hier_la_swig_sources)
-
-gnuradio_core_hier_python_PYTHON = \
- gnuradio_core_hier.py \
- $(gnuradio_core_hier_python)
-
-_gnuradio_core_hier_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_hier_la_swig_libadd)
-
-_gnuradio_core_hier_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_hier_la_swig_ldflags)
-
-_gnuradio_core_hier_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_hier_la_swig_cxxflags)
-
-python/gnuradio_core_hier.cc: gnuradio_core_hier.py
-gnuradio_core_hier.py: gnuradio_core_hier.i
-
-# Include the python dependencies for this file
--include python/gnuradio_core_hier.d
-
-endif # end of if python
-
-if GUILE
-
-gnuradio_core_hier_scmlib_LTLIBRARIES = \
- libguile-gnuradio-gnuradio_core_hier.la
-libguile_gnuradio_gnuradio_core_hier_la_SOURCES = \
- guile/gnuradio_core_hier.cc \
- $(gnuradio_core_hier_la_swig_sources)
-nobase_gnuradio_core_hier_scm_DATA = \
- gnuradio/gnuradio_core_hier.scm \
- gnuradio/gnuradio_core_hier-primitive.scm
-libguile_gnuradio_gnuradio_core_hier_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(gnuradio_core_hier_la_swig_libadd)
-libguile_gnuradio_gnuradio_core_hier_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(gnuradio_core_hier_la_swig_ldflags)
-libguile_gnuradio_gnuradio_core_hier_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(gnuradio_core_hier_la_swig_cxxflags)
-
-guile/gnuradio_core_hier.cc: gnuradio/gnuradio_core_hier.scm
-gnuradio/gnuradio_core_hier.scm: gnuradio_core_hier.i
-gnuradio/gnuradio_core_hier-primitive.scm: gnuradio/gnuradio_core_hier.scm
-
-# Include the guile dependencies for this file
--include guile/gnuradio_core_hier.d
-
-endif # end of GUILE
-
-
diff --git a/gnuradio-core/src/lib/swig/gnuradio.i b/gnuradio-core/src/lib/swig/gnuradio.i
index 972d56c84..35dbd5359 100644
--- a/gnuradio-core/src/lib/swig/gnuradio.i
+++ b/gnuradio-core/src/lib/swig/gnuradio.i
@@ -39,30 +39,11 @@
%feature("autodoc","1");
-#ifdef SWIGGUILE
-// Export constants and enums as scheme variables, not functions.
-%feature("constasvar");
-#endif
-
// local file
%include <gr_shared_ptr.i>
-
-// non-local SWIG files
-#ifdef SWIGGUILE // Local overrides to support complex
-// It's kind of screwy, but the target language subdir isn't
-// searched automatically except for under ./swig_lib which
-// doesn't really help us since we run swig in many directories
-%include <guile/std_complex.i>
-%include <guile/std_vector.i>
-%include <std_common.i>
-%include <std_string.i>
-%include <std_map.i>
-%include <std_pair.i>
-#else
%include <std_complex.i>
%include <std_vector.i>
%include <stl.i>
-#endif
%include <std_except.i>
typedef std::complex<float> gr_complex;
diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_filter.i b/gnuradio-core/src/lib/swig/gnuradio_core_filter.i
index 952bf93b4..e9a44e54b 100644
--- a/gnuradio-core/src/lib/swig/gnuradio_core_filter.i
+++ b/gnuradio-core/src/lib/swig/gnuradio_core_filter.i
@@ -30,13 +30,3 @@
%include "gnuradio.i" // the common stuff
%include "filter.i"
-
-#if SWIGGUILE
-%scheme %{
-(load-extension-global "libguile-gnuradio-gnuradio_core_filter" "scm_init_gnuradio_gnuradio_core_filter_module")
-%}
-
-%goops %{
- (use-modules (gnuradio gnuradio_core_runtime))
-%}
-#endif
diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_general.i b/gnuradio-core/src/lib/swig/gnuradio_core_general.i
index e39a0197a..33f97815e 100644
--- a/gnuradio-core/src/lib/swig/gnuradio_core_general.i
+++ b/gnuradio-core/src/lib/swig/gnuradio_core_general.i
@@ -52,13 +52,3 @@
}
%}
-
-#if SWIGGUILE
-%scheme %{
-(load-extension-global "libguile-gnuradio-gnuradio_core_general" "scm_init_gnuradio_gnuradio_core_general_module")
-%}
-
-%goops %{
-(use-modules (gnuradio gnuradio_core_runtime))
-%}
-#endif
diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_gengen.i b/gnuradio-core/src/lib/swig/gnuradio_core_gengen.i
index 8753cd36b..b90a5bab3 100644
--- a/gnuradio-core/src/lib/swig/gnuradio_core_gengen.i
+++ b/gnuradio-core/src/lib/swig/gnuradio_core_gengen.i
@@ -30,13 +30,3 @@
%include "gnuradio.i" // the common stuff
%include "gengen.i"
-
-#if SWIGGUILE
-%scheme %{
-(load-extension-global "libguile-gnuradio-gnuradio_core_gengen" "scm_init_gnuradio_gnuradio_core_gengen_module")
-%}
-
-%goops %{
- (use-modules (gnuradio gnuradio_core_runtime))
-%}
-#endif
diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_hier.i b/gnuradio-core/src/lib/swig/gnuradio_core_hier.i
index bb9c71f53..141d9b163 100644
--- a/gnuradio-core/src/lib/swig/gnuradio_core_hier.i
+++ b/gnuradio-core/src/lib/swig/gnuradio_core_hier.i
@@ -30,13 +30,3 @@
%include "gnuradio.i" // the common stuff
%include "hier.i"
-
-#if SWIGGUILE
-%scheme %{
-(load-extension-global "libguile-gnuradio-gnuradio_core_hier" "scm_init_gnuradio_gnuradio_core_hier_module")
-%}
-
-%goops %{
- (use-modules (gnuradio gnuradio_core_runtime))
-%}
-#endif
diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_io.i b/gnuradio-core/src/lib/swig/gnuradio_core_io.i
index d2fa0aede..522b12b34 100644
--- a/gnuradio-core/src/lib/swig/gnuradio_core_io.i
+++ b/gnuradio-core/src/lib/swig/gnuradio_core_io.i
@@ -30,13 +30,3 @@
%include "gnuradio.i" // the common stuff
%include "io.i"
-
-#if SWIGGUILE
-%scheme %{
-(load-extension-global "libguile-gnuradio-gnuradio_core_io" "scm_init_gnuradio_gnuradio_core_io_module")
-%}
-
-%goops %{
- (use-modules (gnuradio gnuradio_core_runtime))
-%}
-#endif
diff --git a/gnuradio-core/src/lib/swig/gnuradio_core_runtime.i b/gnuradio-core/src/lib/swig/gnuradio_core_runtime.i
index 7fcac5069..fb311d226 100644
--- a/gnuradio-core/src/lib/swig/gnuradio_core_runtime.i
+++ b/gnuradio-core/src/lib/swig/gnuradio_core_runtime.i
@@ -32,28 +32,3 @@
%include "gnuradio.i" // the common stuff
%include "runtime.i"
-
-
-#if SWIGGUILE
-%scheme %{
-
-;; Load our gsubr that loads libraries using the RTLD_GLOBAL option
-(load-extension "libguile-gnuradio-dynl-global" "scm_init_gnuradio_dynl_global_module")
-
-;; Define load-extension-global in module '(guile)
-(module-define! (resolve-module '(guile))
- 'load-extension-global
- (lambda (lib init)
- (dynamic-call init (dynamic-link-global lib))))
-
-;; Use load-extension-global to load our swig modules
-(load-extension-global "libguile-gnuradio-gnuradio_core_runtime" "scm_init_gnuradio_gnuradio_core_runtime_module")
-%}
-
-%goops %{
-(use-modules (gnuradio export-safely))
-(re-export export-syms-if-not-imported-gf)
-(re-export-syntax export-safely)
-(re-export re-export-all)
-%}
-#endif
diff --git a/gnuradio-core/src/lib/swig/gr_swig_block_magic.i b/gnuradio-core/src/lib/swig/gr_swig_block_magic.i
index a080c2b27..79055bd95 100644
--- a/gnuradio-core/src/lib/swig/gr_swig_block_magic.i
+++ b/gnuradio-core/src/lib/swig/gr_swig_block_magic.i
@@ -40,21 +40,3 @@ FULL_NAME ## _sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(),
%}
%enddef
#endif
-
-#ifdef SWIGGUILE
-#ifdef IN_GNURADIO_CORE // normal behavior
-%define _GR_SWIG_BLOCK_MAGIC_HELPER(PKG, BASE_NAME, FULL_NAME)
-_GR_SWIG_BLOCK_MAGIC_HELPER_COMMON(PKG, BASE_NAME, FULL_NAME)
-/* FIXME May want to add something here to get a friendlier printed representation */
-%enddef
-#else // Don't strip PKG from name
-%define _GR_SWIG_BLOCK_MAGIC_HELPER(PKG, BASE_NAME, FULL_NAME)
-class FULL_NAME;
-typedef boost::shared_ptr<FULL_NAME> FULL_NAME ## _sptr;
-%template(FULL_NAME ## _sptr) boost::shared_ptr<FULL_NAME>;
-%ignore FULL_NAME;
-%rename(FULL_NAME) PKG ## _make_ ## BASE_NAME;
-/* FIXME May want to add something here to get a friendlier printed representation */
-%enddef
-#endif
-#endif
diff --git a/gnuradio-core/src/lib/swig/guile/std_complex.i b/gnuradio-core/src/lib/swig/guile/std_complex.i
deleted file mode 100644
index 2a5c72aa2..000000000
--- a/gnuradio-core/src/lib/swig/guile/std_complex.i
+++ /dev/null
@@ -1,37 +0,0 @@
-%{
-#include <complex>
-%}
-
-// To the target language, complex number conversion
-%typemap(out) complex, complex<double>, std::complex<double> {
- $result = scm_make_rectangular( gh_double2scm ($1.real ()),
- gh_double2scm ($1.imag ()) );
-}
-
-// To the target language, complex number conversion
-%typemap(out) complex, complex<float>, std::complex<float> {
- $result = scm_make_rectangular( gh_double2scm ($1.real ()),
- gh_double2scm ($1.imag ()) );
-}
-
-// From the target language, complex number conversion
-%typemap(in) complex, complex<double>, std::complex<double> {
- $1 = std::complex<double>( gh_scm2double (scm_real_part ($input)),
- gh_scm2double (scm_imag_part ($input)) );
-}
-
-// From the target language, complex number conversion
-%typemap(in) complex, complex<float>, std::complex<float> {
- $1 = std::complex<float>( gh_scm2double (scm_real_part ($input)),
- gh_scm2double (scm_imag_part ($input)) );
-}
-
-%typemaps_primitive(%checkcode(CPLXDBL), std::complex<double>);
-%typemaps_primitive(%checkcode(CPLXFLT), std::complex<float>);
-
-%typecheck(SWIG_TYPECHECK_COMPLEX)
- std::complex<float>, std::complex<double>,
- const std::complex<float> &, const std::complex<double> &
-{
- $1 = scm_is_complex($input) ? 1 : 0;
-}
diff --git a/gnuradio-core/src/lib/swig/guile/std_vector.i b/gnuradio-core/src/lib/swig/guile/std_vector.i
deleted file mode 100644
index ef1f20667..000000000
--- a/gnuradio-core/src/lib/swig/guile/std_vector.i
+++ /dev/null
@@ -1,437 +0,0 @@
-/* -----------------------------------------------------------------------------
- * See the LICENSE file for information on copyright, usage and redistribution
- * of SWIG, and the README file for authors - http://www.swig.org/release.html.
- *
- * std_vector.i
- *
- * SWIG typemaps for std::vector
- * ----------------------------------------------------------------------------- */
-
-%include <std_common.i>
-
-// ------------------------------------------------------------------------
-// std::vector
-//
-// The aim of all that follows would be to integrate std::vector with
-// Guile as much as possible, namely, to allow the user to pass and
-// be returned Guile vectors or lists.
-// const declarations are used to guess the intent of the function being
-// exported; therefore, the following rationale is applied:
-//
-// -- f(std::vector<T>), f(const std::vector<T>&), f(const std::vector<T>*):
-// the parameter being read-only, either a Guile sequence or a
-// previously wrapped std::vector<T> can be passed.
-// -- f(std::vector<T>&), f(std::vector<T>*):
-// the parameter must be modified; therefore, only a wrapped std::vector
-// can be passed.
-// -- std::vector<T> f():
-// the vector is returned by copy; therefore, a Guile vector of T:s
-// is returned which is most easily used in other Guile functions
-// -- std::vector<T>& f(), std::vector<T>* f(), const std::vector<T>& f(),
-// const std::vector<T>* f():
-// the vector is returned by reference; therefore, a wrapped std::vector
-// is returned
-// ------------------------------------------------------------------------
-
-%{
-#include <vector>
-#include <algorithm>
-#include <stdexcept>
-#include <complex>
-%}
-
-%{
- inline std::complex<float> SWIG_scm2cmplxfloat(SCM x){
- return std::complex<float>(scm_c_real_part(x), scm_c_imag_part(x));
- }
-
- inline std::complex<double> SWIG_scm2cmplxdouble(SCM x){
- return std::complex<double>(scm_c_real_part(x), scm_c_imag_part(x));
- }
-
- inline SCM SWIG_cmplxfloat2scm(std::complex<float> x){
- return scm_c_make_rectangular(x.real(), x.imag());
- }
-
- inline SCM SWIG_cmplxdouble2scm(std::complex<double> x){
- return scm_c_make_rectangular(x.real(), x.imag());
- }
-%}
-
-// exported class
-
-namespace std {
-
- template<class T> class vector {
- %typemap(in) vector<T> {
- if (gh_vector_p($input)) {
- unsigned long size = gh_vector_length($input);
- $1 = std::vector<T >(size);
- for (unsigned long i=0; i<size; i++) {
- SCM o = gh_vector_ref($input,gh_ulong2scm(i));
- (($1_type &)$1)[i] =
- *((T*) SWIG_MustGetPtr(o,$descriptor(T *),$argnum, 0));
- }
- } else if (gh_null_p($input)) {
- $1 = std::vector<T >();
- } else if (gh_pair_p($input)) {
- SCM head, tail;
- $1 = std::vector<T >();
- tail = $input;
- while (!gh_null_p(tail)) {
- head = gh_car(tail);
- tail = gh_cdr(tail);
- $1.push_back(*((T*)SWIG_MustGetPtr(head,
- $descriptor(T *),
- $argnum, 0)));
- }
- } else {
- $1 = *(($&1_type)
- SWIG_MustGetPtr($input,$&1_descriptor,$argnum, 0));
- }
- }
- %typemap(in) const vector<T>& (std::vector<T> temp),
- const vector<T>* (std::vector<T> temp) {
- if (gh_vector_p($input)) {
- unsigned long size = gh_vector_length($input);
- temp = std::vector<T >(size);
- $1 = &temp;
- for (unsigned long i=0; i<size; i++) {
- SCM o = gh_vector_ref($input,gh_ulong2scm(i));
- temp[i] = *((T*) SWIG_MustGetPtr(o,
- $descriptor(T *),
- $argnum, 0));
- }
- } else if (gh_null_p($input)) {
- temp = std::vector<T >();
- $1 = &temp;
- } else if (gh_pair_p($input)) {
- temp = std::vector<T >();
- $1 = &temp;
- SCM head, tail;
- tail = $input;
- while (!gh_null_p(tail)) {
- head = gh_car(tail);
- tail = gh_cdr(tail);
- temp.push_back(*((T*) SWIG_MustGetPtr(head,
- $descriptor(T *),
- $argnum, 0)));
- }
- } else {
- $1 = ($1_ltype) SWIG_MustGetPtr($input,$1_descriptor,$argnum, 0);
- }
- }
- %typemap(out) vector<T> {
- $result = gh_make_vector(gh_long2scm($1.size()),SCM_UNSPECIFIED);
- for (unsigned int i=0; i<$1.size(); i++) {
- T* x = new T((($1_type &)$1)[i]);
- gh_vector_set_x($result,gh_long2scm(i),
- SWIG_NewPointerObj(x, $descriptor(T *), 1));
- }
- }
- %typecheck(SWIG_TYPECHECK_VECTOR) vector<T> {
- /* native sequence? */
- if (gh_vector_p($input)) {
- unsigned int size = gh_vector_length($input);
- if (size == 0) {
- /* an empty sequence can be of any type */
- $1 = 1;
- } else {
- /* check the first element only */
- SCM o = gh_vector_ref($input,gh_ulong2scm(0));
- T* x;
- if (SWIG_ConvertPtr(o,(void**) &x,
- $descriptor(T *), 0) != -1)
- $1 = 1;
- else
- $1 = 0;
- }
- } else if (gh_null_p($input)) {
- /* again, an empty sequence can be of any type */
- $1 = 1;
- } else if (gh_pair_p($input)) {
- /* check the first element only */
- T* x;
- SCM head = gh_car($input);
- if (SWIG_ConvertPtr(head,(void**) &x,
- $descriptor(T *), 0) != -1)
- $1 = 1;
- else
- $1 = 0;
- } else {
- /* wrapped vector? */
- std::vector<T >* v;
- if (SWIG_ConvertPtr($input,(void **) &v,
- $&1_descriptor, 0) != -1)
- $1 = 1;
- else
- $1 = 0;
- }
- }
- %typecheck(SWIG_TYPECHECK_VECTOR) const vector<T>&,
- const vector<T>* {
- /* native sequence? */
- if (gh_vector_p($input)) {
- unsigned int size = gh_vector_length($input);
- if (size == 0) {
- /* an empty sequence can be of any type */
- $1 = 1;
- } else {
- /* check the first element only */
- T* x;
- SCM o = gh_vector_ref($input,gh_ulong2scm(0));
- if (SWIG_ConvertPtr(o,(void**) &x,
- $descriptor(T *), 0) != -1)
- $1 = 1;
- else
- $1 = 0;
- }
- } else if (gh_null_p($input)) {
- /* again, an empty sequence can be of any type */
- $1 = 1;
- } else if (gh_pair_p($input)) {
- /* check the first element only */
- T* x;
- SCM head = gh_car($input);
- if (SWIG_ConvertPtr(head,(void**) &x,
- $descriptor(T *), 0) != -1)
- $1 = 1;
- else
- $1 = 0;
- } else {
- /* wrapped vector? */
- std::vector<T >* v;
- if (SWIG_ConvertPtr($input,(void **) &v,
- $1_descriptor, 0) != -1)
- $1 = 1;
- else
- $1 = 0;
- }
- }
- public:
- vector(unsigned int size = 0);
- vector(unsigned int size, const T& value);
- vector(const vector<T>&);
- %rename(length) size;
- unsigned int size() const;
- %rename("empty?") empty;
- bool empty() const;
- %rename("clear!") clear;
- void clear();
- %rename("set!") set;
- %rename("pop!") pop;
- %rename("push!") push_back;
- void push_back(const T& x);
- %extend {
- T pop() throw (std::out_of_range) {
- if (self->size() == 0)
- throw std::out_of_range("pop from empty vector");
- T x = self->back();
- self->pop_back();
- return x;
- }
- T& ref(int i) throw (std::out_of_range) {
- int size = int(self->size());
- if (i>=0 && i<size)
- return (*self)[i];
- else
- throw std::out_of_range("vector index out of range");
- }
- void set(int i, const T& x) throw (std::out_of_range) {
- int size = int(self->size());
- if (i>=0 && i<size)
- (*self)[i] = x;
- else
- throw std::out_of_range("vector index out of range");
- }
- }
- };
-
-
- // specializations for built-ins
- %define specialize_stl_vector(T,CHECK,CONVERT_FROM,CONVERT_TO)
- template<> class vector<T > {
- %typemap(in) vector<T > {
- if (gh_vector_p($input)) {
- unsigned long size = gh_vector_length($input);
- $1 = std::vector<T >(size);
- for (unsigned long i=0; i<size; i++) {
- SCM o = gh_vector_ref($input,gh_ulong2scm(i));
- if (CHECK(o))
- (($1_type &)$1)[i] = (T)(CONVERT_FROM(o));
- else
- scm_wrong_type_arg(FUNC_NAME, $argnum, $input);
- }
- } else if (gh_null_p($input)) {
- $1 = std::vector<T >();
- } else if (gh_pair_p($input)) {
- SCM v = gh_list_to_vector($input);
- unsigned long size = gh_vector_length(v);
- $1 = std::vector<T >(size);
- for (unsigned long i=0; i<size; i++) {
- SCM o = gh_vector_ref(v,gh_ulong2scm(i));
- if (CHECK(o))
- (($1_type &)$1)[i] = (T)(CONVERT_FROM(o));
- else
- scm_wrong_type_arg(FUNC_NAME, $argnum, $input);
- }
- } else {
- $1 = *(($&1_type)
- SWIG_MustGetPtr($input,$&1_descriptor,$argnum, 0));
- }
- }
- %typemap(in) const vector<T >& (std::vector<T > temp),
- const vector<T >* (std::vector<T > temp) {
- if (gh_vector_p($input)) {
- unsigned long size = gh_vector_length($input);
- temp = std::vector<T >(size);
- $1 = &temp;
- for (unsigned long i=0; i<size; i++) {
- SCM o = gh_vector_ref($input,gh_ulong2scm(i));
- if (CHECK(o))
- temp[i] = (T)(CONVERT_FROM(o));
- else
- scm_wrong_type_arg(FUNC_NAME, $argnum, $input);
- }
- } else if (gh_null_p($input)) {
- temp = std::vector<T >();
- $1 = &temp;
- } else if (gh_pair_p($input)) {
- SCM v = gh_list_to_vector($input);
- unsigned long size = gh_vector_length(v);
- temp = std::vector<T >(size);
- $1 = &temp;
- for (unsigned long i=0; i<size; i++) {
- SCM o = gh_vector_ref(v,gh_ulong2scm(i));
- if (CHECK(o))
- temp[i] = (T)(CONVERT_FROM(o));
- else
- scm_wrong_type_arg(FUNC_NAME, $argnum, $input);
- }
- } else {
- $1 = ($1_ltype) SWIG_MustGetPtr($input,$1_descriptor,$argnum, 0);
- }
- }
- %typemap(out) vector<T > {
- $result = gh_make_vector(gh_long2scm($1.size()),SCM_UNSPECIFIED);
- for (unsigned int i=0; i<$1.size(); i++) {
- SCM x = CONVERT_TO((($1_type &)$1)[i]);
- gh_vector_set_x($result,gh_long2scm(i),x);
- }
- }
- %typecheck(SWIG_TYPECHECK_VECTOR) vector<T > {
- /* native sequence? */
- if (gh_vector_p($input)) {
- unsigned int size = gh_vector_length($input);
- if (size == 0) {
- /* an empty sequence can be of any type */
- $1 = 1;
- } else {
- /* check the first element only */
- T* x;
- SCM o = gh_vector_ref($input,gh_ulong2scm(0));
- $1 = CHECK(o) ? 1 : 0;
- }
- } else if (gh_null_p($input)) {
- /* again, an empty sequence can be of any type */
- $1 = 1;
- } else if (gh_pair_p($input)) {
- /* check the first element only */
- T* x;
- SCM head = gh_car($input);
- $1 = CHECK(head) ? 1 : 0;
- } else {
- /* wrapped vector? */
- std::vector<T >* v;
- $1 = (SWIG_ConvertPtr($input,(void **) &v,
- $&1_descriptor, 0) != -1) ? 1 : 0;
- }
- }
- %typecheck(SWIG_TYPECHECK_VECTOR) const vector<T >&,
- const vector<T >* {
- /* native sequence? */
- if (gh_vector_p($input)) {
- unsigned int size = gh_vector_length($input);
- if (size == 0) {
- /* an empty sequence can be of any type */
- $1 = 1;
- } else {
- /* check the first element only */
- T* x;
- SCM o = gh_vector_ref($input,gh_ulong2scm(0));
- $1 = CHECK(o) ? 1 : 0;
- }
- } else if (gh_null_p($input)) {
- /* again, an empty sequence can be of any type */
- $1 = 1;
- } else if (gh_pair_p($input)) {
- /* check the first element only */
- T* x;
- SCM head = gh_car($input);
- $1 = CHECK(head) ? 1 : 0;
- } else {
- /* wrapped vector? */
- std::vector<T >* v;
- $1 = (SWIG_ConvertPtr($input,(void **) &v,
- $1_descriptor, 0) != -1) ? 1 : 0;
- }
- }
- public:
- vector(unsigned int size = 0);
- vector(unsigned int size, const T& value);
- vector(const vector<T >&);
- %rename(length) size;
- unsigned int size() const;
- %rename("empty?") empty;
- bool empty() const;
- %rename("clear!") clear;
- void clear();
- %rename("set!") set;
- %rename("pop!") pop;
- %rename("push!") push_back;
- void push_back(T x);
- %extend {
- T pop() throw (std::out_of_range) {
- if (self->size() == 0)
- throw std::out_of_range("pop from empty vector");
- T x = self->back();
- self->pop_back();
- return x;
- }
- T ref(int i) throw (std::out_of_range) {
- int size = int(self->size());
- if (i>=0 && i<size)
- return (*self)[i];
- else
- throw std::out_of_range("vector index out of range");
- }
- void set(int i, T x) throw (std::out_of_range) {
- int size = int(self->size());
- if (i>=0 && i<size)
- (*self)[i] = x;
- else
- throw std::out_of_range("vector index out of range");
- }
- }
- };
- %enddef
-
- specialize_stl_vector(bool,gh_boolean_p,gh_scm2bool,SWIG_bool2scm);
- specialize_stl_vector(char,gh_number_p,gh_scm2long,gh_long2scm);
- specialize_stl_vector(int,gh_number_p,gh_scm2long,gh_long2scm);
- specialize_stl_vector(long,gh_number_p,gh_scm2long,gh_long2scm);
- specialize_stl_vector(short,gh_number_p,gh_scm2long,gh_long2scm);
- specialize_stl_vector(unsigned char,gh_number_p,gh_scm2ulong,gh_ulong2scm);
- specialize_stl_vector(unsigned int,gh_number_p,gh_scm2ulong,gh_ulong2scm);
- specialize_stl_vector(unsigned long,gh_number_p,gh_scm2ulong,gh_ulong2scm);
- specialize_stl_vector(unsigned short,gh_number_p,gh_scm2ulong,gh_ulong2scm);
- specialize_stl_vector(float,gh_number_p,gh_scm2double,gh_double2scm);
- specialize_stl_vector(double,gh_number_p,gh_scm2double,gh_double2scm);
- specialize_stl_vector(std::string,gh_string_p,SWIG_scm2string,SWIG_string2scm);
- specialize_stl_vector(std::complex<float>, scm_is_complex,
- SWIG_scm2cmplxfloat, SWIG_cmplxfloat2scm);
- specialize_stl_vector(std::complex<double>, scm_is_complex,
- SWIG_scm2cmplxdouble,SWIG_cmplxdouble2scm);
-
-}
-
diff --git a/gnuradio-core/src/lib/viterbi/.gitignore b/gnuradio-core/src/lib/viterbi/.gitignore
deleted file mode 100644
index 85bb5cc04..000000000
--- a/gnuradio-core/src/lib/viterbi/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-/Makefile
-/Makefile.in
-/.libs
-/.deps
-/encode
-/decode
diff --git a/gnuradio-core/src/lib/viterbi/Makefile.am b/gnuradio-core/src/lib/viterbi/Makefile.am
deleted file mode 100644
index 7e65880b3..000000000
--- a/gnuradio-core/src/lib/viterbi/Makefile.am
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Copyright 2008 Free Software Foundation, Inc.
-#
-# GNU Radio is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3, or (at your option)
-# any later version.
-#
-# GNU Radio is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Radio; see the file COPYING. If not, write to
-# the Free Software Foundation, Inc., 51 Franklin Street,
-# Boston, MA 02110-1301, USA.
-#
-
-include $(top_srcdir)/Makefile.common
-
-LIBS = -lm
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(GRUEL_INCLUDES) \
- -I$(top_srcdir)/gnuradio-core/src/lib/general \
- $(WITH_INCLUDES)
-
-noinst_LTLIBRARIES = libviterbi.la
-
-libviterbi_la_SOURCES = \
- metrics.c \
- tab.c \
- viterbi.c
-
-noinst_HEADERS = \
- viterbi.h
-
-noinst_PROGRAMS = encode decode
-
-encode_SOURCES = encode.cc
-
-encode_LDADD = libviterbi.la
-
-decode_SOURCES = decode.cc
-
-decode_LDADD = libviterbi.la