summaryrefslogtreecommitdiff
path: root/gr-trellis/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'gr-trellis/src/lib')
-rw-r--r--gr-trellis/src/lib/.gitignore193
-rw-r--r--gr-trellis/src/lib/Makefile.am188
-rw-r--r--gr-trellis/src/lib/Makefile.swig.gen145
-rw-r--r--gr-trellis/src/lib/calc_metric.cc14
-rw-r--r--gr-trellis/src/lib/calc_metric.h10
-rw-r--r--gr-trellis/src/lib/core_algorithms.cc72
-rw-r--r--gr-trellis/src/lib/core_algorithms.h12
-rw-r--r--gr-trellis/src/lib/fsm.cc38
-rw-r--r--gr-trellis/src/lib/fsm.h6
-rw-r--r--gr-trellis/src/lib/generate_all.py10
-rw-r--r--gr-trellis/src/lib/generate_trellis.py10
-rw-r--r--gr-trellis/src/lib/interleaver.cc16
-rw-r--r--gr-trellis/src/lib/interleaver.i76
-rw-r--r--gr-trellis/src/lib/quicksort_index.cc8
-rw-r--r--gr-trellis/src/lib/quicksort_index.h8
-rw-r--r--gr-trellis/src/lib/run_guile_tests.in14
-rw-r--r--gr-trellis/src/lib/trellis.i10
-rw-r--r--gr-trellis/src/lib/trellis.test53
-rw-r--r--gr-trellis/src/lib/trellis_constellation_metrics_cf.cc12
-rw-r--r--gr-trellis/src/lib/trellis_constellation_metrics_cf.h10
-rw-r--r--gr-trellis/src/lib/trellis_encoder_XX.cc.t12
-rw-r--r--gr-trellis/src/lib/trellis_encoder_XX.h.t10
-rw-r--r--gr-trellis/src/lib/trellis_metrics_X.cc.t10
-rw-r--r--gr-trellis/src/lib/trellis_metrics_X.h.t8
-rw-r--r--gr-trellis/src/lib/trellis_pccc_decoder_X.cc.t16
-rw-r--r--gr-trellis/src/lib/trellis_pccc_decoder_X.h.t12
-rw-r--r--gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.cc.t20
-rw-r--r--gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.h.t12
-rw-r--r--gr-trellis/src/lib/trellis_pccc_encoder_XX.cc.t14
-rw-r--r--gr-trellis/src/lib/trellis_pccc_encoder_XX.h.t10
-rw-r--r--gr-trellis/src/lib/trellis_permutation.cc18
-rw-r--r--gr-trellis/src/lib/trellis_permutation.h10
-rw-r--r--gr-trellis/src/lib/trellis_permutation.i10
-rw-r--r--gr-trellis/src/lib/trellis_sccc_decoder_X.cc.t16
-rw-r--r--gr-trellis/src/lib/trellis_sccc_decoder_X.h.t12
-rw-r--r--gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.cc.t20
-rw-r--r--gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t12
-rw-r--r--gr-trellis/src/lib/trellis_sccc_encoder_XX.cc.t14
-rw-r--r--gr-trellis/src/lib/trellis_sccc_encoder_XX.h.t10
-rw-r--r--gr-trellis/src/lib/trellis_siso_combined_f.cc40
-rw-r--r--gr-trellis/src/lib/trellis_siso_combined_f.h10
-rw-r--r--gr-trellis/src/lib/trellis_siso_f.cc40
-rw-r--r--gr-trellis/src/lib/trellis_siso_f.h10
-rw-r--r--gr-trellis/src/lib/trellis_viterbi_X.cc.t20
-rw-r--r--gr-trellis/src/lib/trellis_viterbi_X.h.t10
-rw-r--r--gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t24
-rw-r--r--gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t8
47 files changed, 355 insertions, 958 deletions
diff --git a/gr-trellis/src/lib/.gitignore b/gr-trellis/src/lib/.gitignore
deleted file mode 100644
index 7a866aead..000000000
--- a/gr-trellis/src/lib/.gitignore
+++ /dev/null
@@ -1,193 +0,0 @@
-/Makefile
-/Makefile.in
-/.la
-/.lo
-/.deps
-/.libs
-/*.la
-/*.lo
-/*.pyc
-/trellis.cc
-/trellis.py
-/wip
-/trellis_encoder_bs.cc
-/trellis_metrics_c.h
-/trellis_metrics_c.i
-/trellis_metrics_f.cc
-/trellis_viterbi_i.h
-/trellis_viterbi_combined_i.h
-/trellis_viterbi_i.i
-/trellis_viterbi_combined_i.i
-/trellis_metrics_i.h
-/trellis_metrics_i.i
-/trellis_encoder_bb.cc
-/trellis_encoder_ss.cc
-/trellis_viterbi_combined_s.h
-/trellis_viterbi_s.h
-/trellis_viterbi_combined_s.i
-/trellis_viterbi_s.i
-/trellis_metrics_s.h
-/trellis_metrics_s.i
-/trellis_encoder_si.h
-/trellis_encoder_si.i
-/trellis_metrics_i.cc
-/trellis_viterbi_s.cc
-/trellis_viterbi_combined_s.cc
-/trellis_encoder_ss.h
-/trellis_encoder_ss.i
-/trellis_encoder_bi.cc
-/trellis_encoder_bi.h
-/trellis_encoder_bi.i
-/trellis_encoder_ii.cc
-/trellis_viterbi_combined_b.cc
-/trellis_viterbi_b.cc
-/trellis_encoder_bs.h
-/trellis_encoder_bs.i
-/trellis_viterbi_combined_b.h
-/trellis_viterbi_b.h
-/trellis_viterbi_combined_b.i
-/trellis_viterbi_b.i
-/trellis_encoder_si.cc
-/trellis_metrics_f.h
-/trellis_metrics_f.i
-/trellis_encoder_ii.h
-/trellis_encoder_ii.i
-/trellis_metrics_c.cc
-/trellis_viterbi_combined_i.cc
-/trellis_viterbi_i.cc
-/trellis_encoder_bb.h
-/trellis_encoder_bb.i
-/trellis_sccc_encoder_bb.cc
-/trellis_sccc_encoder_bb.h
-/trellis_sccc_encoder_bb.i
-/trellis_sccc_encoder_bi.cc
-/trellis_sccc_encoder_bi.h
-/trellis_sccc_encoder_bi.i
-/trellis_sccc_encoder_bs.cc
-/trellis_sccc_encoder_bs.h
-/trellis_sccc_encoder_bs.i
-/trellis_sccc_encoder_ii.cc
-/trellis_sccc_encoder_ii.h
-/trellis_sccc_encoder_ii.i
-/trellis_sccc_encoder_si.cc
-/trellis_sccc_encoder_si.h
-/trellis_sccc_encoder_si.i
-/trellis_sccc_encoder_ss.cc
-/trellis_sccc_encoder_ss.h
-/trellis_sccc_encoder_ss.i
-/trellis_metrics_s.cc
-/trellis_viterbi_combined_fs.h
-/trellis_viterbi_combined_fs.i
-/trellis_viterbi_combined_fi.cc
-/trellis_viterbi_combined_is.h
-/trellis_viterbi_combined_is.i
-/trellis_viterbi_combined_ci.h
-/trellis_viterbi_combined_ci.i
-/trellis_viterbi_combined_cs.cc
-/trellis_viterbi_combined_is.cc
-/trellis_viterbi_combined_si.h
-/trellis_viterbi_combined_si.i
-/trellis_viterbi_combined_ss.cc
-/trellis_viterbi_combined_fb.cc
-/trellis_viterbi_combined_fi.h
-/trellis_viterbi_combined_fi.i
-/trellis_viterbi_combined_cb.h
-/trellis_viterbi_combined_cb.i
-/trellis_viterbi_combined_ci.cc
-/trellis_viterbi_combined_ii.cc
-/trellis_viterbi_combined_ii.h
-/trellis_viterbi_combined_ii.i
-/trellis_viterbi_combined_sb.h
-/trellis_viterbi_combined_sb.i
-/trellis_viterbi_combined_si.cc
-/trellis_viterbi_combined_fb.h
-/trellis_viterbi_combined_fb.i
-/trellis_viterbi_combined_ib.h
-/trellis_viterbi_combined_ib.i
-/trellis_viterbi_combined_cs.h
-/trellis_viterbi_combined_cs.i
-/trellis_viterbi_combined_fs.cc
-/trellis_viterbi_combined_cb.cc
-/trellis_viterbi_combined_ss.h
-/trellis_viterbi_combined_ss.i
-/trellis_viterbi_combined_ib.cc
-/trellis_viterbi_combined_sb.cc
-/trellis_sccc_decoder_combined_fb.h
-/trellis_sccc_decoder_combined_fb.i
-/trellis_sccc_decoder_combined_fb.cc
-/trellis_sccc_decoder_combined_fs.h
-/trellis_sccc_decoder_combined_fs.i
-/trellis_sccc_decoder_combined_fs.cc
-/trellis_sccc_decoder_combined_fi.h
-/trellis_sccc_decoder_combined_fi.i
-/trellis_sccc_decoder_combined_fi.cc
-/trellis_sccc_decoder_combined_cb.h
-/trellis_sccc_decoder_combined_cb.i
-/trellis_sccc_decoder_combined_cb.cc
-/trellis_sccc_decoder_combined_cs.h
-/trellis_sccc_decoder_combined_cs.i
-/trellis_sccc_decoder_combined_cs.cc
-/trellis_sccc_decoder_combined_ci.h
-/trellis_sccc_decoder_combined_ci.i
-/trellis_sccc_decoder_combined_ci.cc
-/trellis_sccc_decoder_b.h
-/trellis_sccc_decoder_b.i
-/trellis_sccc_decoder_b.cc
-/trellis_sccc_decoder_s.h
-/trellis_sccc_decoder_s.i
-/trellis_sccc_decoder_s.cc
-/trellis_sccc_decoder_i.h
-/trellis_sccc_decoder_i.i
-/trellis_sccc_decoder_i.cc
-/trellis_pccc_decoder_b.h
-/trellis_pccc_decoder_b.i
-/trellis_pccc_decoder_b.cc
-/trellis_pccc_decoder_s.h
-/trellis_pccc_decoder_s.i
-/trellis_pccc_decoder_s.cc
-/trellis_pccc_decoder_i.h
-/trellis_pccc_decoder_i.i
-/trellis_pccc_decoder_i.cc
-/trellis_pccc_encoder_bb.cc
-/trellis_pccc_encoder_bb.h
-/trellis_pccc_encoder_bb.i
-/trellis_pccc_encoder_bi.cc
-/trellis_pccc_encoder_bi.h
-/trellis_pccc_encoder_bi.i
-/trellis_pccc_encoder_bs.cc
-/trellis_pccc_encoder_bs.h
-/trellis_pccc_encoder_bs.i
-/trellis_pccc_encoder_ii.cc
-/trellis_pccc_encoder_ii.h
-/trellis_pccc_encoder_ii.i
-/trellis_pccc_encoder_si.cc
-/trellis_pccc_encoder_si.h
-/trellis_pccc_encoder_si.i
-/trellis_pccc_encoder_ss.cc
-/trellis_pccc_encoder_ss.h
-/trellis_pccc_encoder_ss.i
-/trellis_pccc_decoder_combined_cb.cc
-/trellis_pccc_decoder_combined_cb.h
-/trellis_pccc_decoder_combined_cb.i
-/trellis_pccc_decoder_combined_ci.cc
-/trellis_pccc_decoder_combined_ci.h
-/trellis_pccc_decoder_combined_ci.i
-/trellis_pccc_decoder_combined_cs.cc
-/trellis_pccc_decoder_combined_cs.h
-/trellis_pccc_decoder_combined_cs.i
-/trellis_pccc_decoder_combined_fb.cc
-/trellis_pccc_decoder_combined_fb.h
-/trellis_pccc_decoder_combined_fb.i
-/trellis_pccc_decoder_combined_fi.cc
-/trellis_pccc_decoder_combined_fi.h
-/trellis_pccc_decoder_combined_fi.i
-/trellis_pccc_decoder_combined_fs.cc
-/trellis_pccc_decoder_combined_fs.h
-/trellis_pccc_decoder_combined_fs.i
-/trellis_generated.i
-/generate-stamp
-/stamp-*
-/run_guile_tests
-/gnuradio
-/guile
-/python
diff --git a/gr-trellis/src/lib/Makefile.am b/gr-trellis/src/lib/Makefile.am
deleted file mode 100644
index ea28ea538..000000000
--- a/gr-trellis/src/lib/Makefile.am
+++ /dev/null
@@ -1,188 +0,0 @@
-#
-# Copyright 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
-
-TESTS =
-
-EXTRA_DIST += \
- run_guile_tests.in \
- trellis.test
-
-
-AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(PYTHON_CPPFLAGS) \
- $(GR_DIGITAL_INCLUDES) \
- $(WITH_INCLUDES)
-
-# ----------------------------------------------------------------
-# these scripts generate trellis codes from template files
-
-core_generator = \
- generate_all.py \
- generate_trellis.py \
- trellis_encoder_XX.cc.t \
- trellis_encoder_XX.h.t \
- trellis_encoder_XX.i.t \
- trellis_sccc_encoder_XX.cc.t \
- trellis_sccc_encoder_XX.h.t \
- trellis_sccc_encoder_XX.i.t \
- trellis_pccc_encoder_XX.cc.t \
- trellis_pccc_encoder_XX.h.t \
- trellis_pccc_encoder_XX.i.t \
- trellis_metrics_X.cc.t \
- trellis_metrics_X.h.t \
- trellis_metrics_X.i.t \
- trellis_viterbi_combined_XX.cc.t \
- trellis_viterbi_combined_XX.h.t \
- trellis_viterbi_combined_XX.i.t \
- trellis_sccc_decoder_combined_XX.cc.t \
- trellis_sccc_decoder_combined_XX.h.t \
- trellis_sccc_decoder_combined_XX.i.t \
- trellis_sccc_decoder_X.cc.t \
- trellis_sccc_decoder_X.h.t \
- trellis_sccc_decoder_X.i.t \
- trellis_pccc_decoder_X.cc.t \
- trellis_pccc_decoder_X.h.t \
- trellis_pccc_decoder_X.i.t \
- trellis_pccc_decoder_combined_XX.cc.t \
- trellis_pccc_decoder_combined_XX.h.t \
- trellis_pccc_decoder_combined_XX.i.t \
- trellis_viterbi_X.cc.t \
- trellis_viterbi_X.h.t \
- trellis_viterbi_X.i.t
-
-# Source built by Python into $(builddir)
-python_built_sources = \
- $(GENERATED_H) \
- $(GENERATED_I) \
- $(GENERATED_CC) \
- trellis_generated.i
-
-EXTRA_DIST += \
- $(core_generator)
-
-# These headers get installed in ${prefix}/include/gnuradio
-grinclude_HEADERS = \
- trellis_api.h \
- fsm.h \
- quicksort_index.h \
- base.h \
- interleaver.h \
- calc_metric.h \
- core_algorithms.h \
- trellis_permutation.h \
- siso_type.h \
- trellis_siso_f.h \
- trellis_siso_combined_f.h \
- trellis_constellation_metrics_cf.h \
- $(GENERATED_H)
-
-lib_LTLIBRARIES = libgnuradio-trellis.la
-
-libgnuradio_trellis_la_SOURCES = \
- fsm.cc \
- quicksort_index.cc \
- base.cc \
- interleaver.cc \
- calc_metric.cc \
- core_algorithms.cc \
- trellis_permutation.cc \
- trellis_siso_f.cc \
- trellis_siso_combined_f.cc \
- trellis_constellation_metrics_cf.cc \
- $(GENERATED_CC)
-
-libgnuradio_trellis_la_LIBADD = \
- $(GNURADIO_CORE_LA)
-
-libgnuradio_trellis_la_LDFLAGS = $(NO_UNDEFINED) $(LTVERSIONFLAGS)
-
-trellis.py trellis.scm: trellis_generated.i
-
-#################################
-# SWIG interface and library
-
-TOP_SWIG_DOC_IFILES = \
- trellis_swig_doc.i
-
-TOP_SWIG_IFILES = \
- $(TOP_SWIG_DOC_IFILES) \
- trellis.i
-
-BUILT_SOURCES += \
- $(TOP_SWIG_DOC_IFILES)
-
-EXTRA_DIST += \
- $(TOP_SWIG_DOC_IFILES)
-
-$(TOP_SWIG_DOC_IFILES):
- `echo "" > $@`
-
-# Install so that they end up available as:
-# import gnuradio.trellis
-# This ends up at:
-# ${prefix}/lib/python${python_version}/site-packages/gnuradio
-trellis_pythondir_category = \
- gnuradio
-
-# additional libraries for linking with the SWIG-generated library
-trellis_la_swig_libadd = \
- libgnuradio-trellis.la
-
-# additional SWIG files to be installed
-trellis_swiginclude_headers = \
- $(GENERATED_I) \
- fsm.i \
- interleaver.i \
- trellis_permutation.i \
- trellis_siso_f.i \
- trellis_siso_combined_f.i \
- trellis_constellation_metrics_cf.i \
- trellis_generated.i \
- $(TOP_SWIG_DOC_IFILES)
-
-# 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 = $(python_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
-
-BUILT_SOURCES += $(python_built_sources)
-
-# Location of non-standard SWIG interface files
-trellis_swig_args = \
- $(GR_DIGITAL_INCLUDES)
-
-if GUILE
-TESTS += run_guile_tests
-endif
diff --git a/gr-trellis/src/lib/Makefile.swig.gen b/gr-trellis/src/lib/Makefile.swig.gen
deleted file mode 100644
index 2d014b946..000000000
--- a/gr-trellis/src/lib/Makefile.swig.gen
+++ /dev/null
@@ -1,145 +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 trellis.i
-
-## Default install locations for these files:
-##
-## Default location for the Python directory is:
-## ${prefix}/lib/python${python_version}/site-packages/[category]/trellis
-## Default location for the Python exec directory is:
-## ${exec_prefix}/lib/python${python_version}/site-packages/[category]/trellis
-##
-## 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.
-
-trellis_pythondir_category ?= gnuradio/trellis
-trellis_pylibdir_category ?= $(trellis_pythondir_category)
-trellis_pythondir = $(pythondir)/$(trellis_pythondir_category)
-trellis_pylibdir = $(pyexecdir)/$(trellis_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.
-trellis_scmlibdir = $(libdir)
-
-# The scm files for the guile modules get installed where ever guile
-# is installed, usually /usr/share/guile/site/trellis
-# FIXME: determince whether these should be installed with gnuradio.
-trellis_scmdir = $(guiledir)
-
-## SWIG headers are always installed into the same directory.
-
-trellis_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 .
-
-trellis_swiginclude_HEADERS = \
- trellis.i \
- $(trellis_swiginclude_headers)
-
-if PYTHON
-trellis_pylib_LTLIBRARIES = \
- _trellis.la
-
-_trellis_la_SOURCES = \
- python/trellis.cc \
- $(trellis_la_swig_sources)
-
-trellis_python_PYTHON = \
- trellis.py \
- $(trellis_python)
-
-_trellis_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(trellis_la_swig_libadd)
-
-_trellis_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(trellis_la_swig_ldflags)
-
-_trellis_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(trellis_la_swig_cxxflags)
-
-python/trellis.cc: trellis.py
-trellis.py: trellis.i
-
-# Include the python dependencies for this file
--include python/trellis.d
-
-endif # end of if python
-
-if GUILE
-
-trellis_scmlib_LTLIBRARIES = \
- libguile-gnuradio-trellis.la
-libguile_gnuradio_trellis_la_SOURCES = \
- guile/trellis.cc \
- $(trellis_la_swig_sources)
-nobase_trellis_scm_DATA = \
- gnuradio/trellis.scm \
- gnuradio/trellis-primitive.scm
-libguile_gnuradio_trellis_la_LIBADD = \
- $(STD_SWIG_LA_LIB_ADD) \
- $(trellis_la_swig_libadd)
-libguile_gnuradio_trellis_la_LDFLAGS = \
- $(STD_SWIG_LA_LD_FLAGS) \
- $(trellis_la_swig_ldflags)
-libguile_gnuradio_trellis_la_CXXFLAGS = \
- $(STD_SWIG_CXX_FLAGS) \
- -I$(top_builddir) \
- $(trellis_la_swig_cxxflags)
-
-guile/trellis.cc: gnuradio/trellis.scm
-gnuradio/trellis.scm: trellis.i
-gnuradio/trellis-primitive.scm: gnuradio/trellis.scm
-
-# Include the guile dependencies for this file
--include guile/trellis.d
-
-endif # end of GUILE
-
-
diff --git a/gr-trellis/src/lib/calc_metric.cc b/gr-trellis/src/lib/calc_metric.cc
index 0e8f9c2d5..ce628209b 100644
--- a/gr-trellis/src/lib/calc_metric.cc
+++ b/gr-trellis/src/lib/calc_metric.cc
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -26,12 +26,12 @@
-template <class T>
+template <class T>
void calc_metric(int O, int D, const std::vector<T> &TABLE, const T *in, float *metric, trellis_metric_type_t type)
{
float minm = FLT_MAX;
int minmi = 0;
-
+
switch (type){
case TRELLIS_EUCLIDEAN:
@@ -178,7 +178,7 @@ void calc_metric(int O, int D, const std::vector<float> &TABLE, const float *in,
float s=in[m]-TABLE[o*D+m];
metric[o]+=s*s;
}
- }
+ }
break;
case TRELLIS_HARD_SYMBOL:
for(int o=0;o<O;o++) {
diff --git a/gr-trellis/src/lib/calc_metric.h b/gr-trellis/src/lib/calc_metric.h
index fd20f8d36..7cad6160a 100644
--- a/gr-trellis/src/lib/calc_metric.h
+++ b/gr-trellis/src/lib/calc_metric.h
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -28,7 +28,7 @@
#include <digital_metric_type.h>
-template <class T>
+template <class T>
void calc_metric(int O, int D, const std::vector<T> &TABLE, const T *in, float *metric, trellis_metric_type_t type);
/*
diff --git a/gr-trellis/src/lib/core_algorithms.cc b/gr-trellis/src/lib/core_algorithms.cc
index 54193c818..3ed912c08 100644
--- a/gr-trellis/src/lib/core_algorithms.cc
+++ b/gr-trellis/src/lib/core_algorithms.cc
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -42,8 +42,8 @@ float min_star(float a, float b)
-template <class T>
-void viterbi_algorithm(int I, int S, int O,
+template <class T>
+void viterbi_algorithm(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector< std::vector<int> > &PS,
@@ -51,7 +51,7 @@ void viterbi_algorithm(int I, int S, int O,
int K,
int S0,int SK,
const float *in, T *out)//,
- //std::vector<int> &trace)
+ //std::vector<int> &trace)
{
std::vector<int> trace(S*K);
std::vector<float> alpha(S*2);
@@ -84,7 +84,7 @@ void viterbi_algorithm(int I, int S, int O,
alpha[((alphai+1)%2)*S+j]=minm;
if(minm<norm) norm=minm;
}
- for(int j=0;j<S;j++)
+ for(int j=0;j<S;j++)
alpha[((alphai+1)%2)*S+j]-=norm; // normalize total metrics so they do not explode
alphai=(alphai+1)%2;
}
@@ -190,7 +190,7 @@ void viterbi_algorithm_combined(int I, int S, int O,
alpha[((alphai+1)%2)*S+j]=minm;
if(minm<norm) norm=minm;
}
- for(int j=0;j<S;j++)
+ for(int j=0;j<S;j++)
alpha[((alphai+1)%2)*S+j]-=norm; // normalize total metrics so they do not explode
alphai=(alphai+1)%2;
}
@@ -211,7 +211,7 @@ void viterbi_algorithm_combined(int I, int S, int O,
out[k]= (To) PI[st][i0];
st=PS[st][i0];
}
-
+
delete [] metric;
}
@@ -415,7 +415,7 @@ void viterbi_algorithm_combined<gr_complex,int>(int I, int S, int O,
//===============================================
-void siso_algorithm(int I, int S, int O,
+void siso_algorithm(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector< std::vector<int> > &PS,
@@ -427,7 +427,7 @@ void siso_algorithm(int I, int S, int O,
const float *priori, const float *prioro, float *post//,
//std::vector<float> &alpha,
//std::vector<float> &beta
- )
+ )
{
float norm,mm,minm;
std::vector<float> alpha(S*(K+1));
@@ -454,7 +454,7 @@ void siso_algorithm(int I, int S, int O,
alpha[(k+1)*S+j]=minm;
if(minm<norm) norm=minm;
}
- for(int j=0;j<S;j++)
+ for(int j=0;j<S;j++)
alpha[(k+1)*S+j]-=norm; // normalize total metrics so they do not explode
}
@@ -468,7 +468,7 @@ void siso_algorithm(int I, int S, int O,
for(int k=K-1;k>=0;k--) { // backward recursion
norm=INF;
- for(int j=0;j<S;j++) {
+ for(int j=0;j<S;j++) {
minm=INF;
for(int i=0;i<I;i++) {
int i0 = j*I+i;
@@ -517,8 +517,8 @@ if (POSTI && POSTO)
for(int n=0;n<O;n++)
post[k*(I+O)+I+n]-=norm; // normalize metrics
}
-}
-else if(POSTI)
+}
+else if(POSTI)
{
for(int k=0;k<K;k++) { // input combining
norm=INF;
@@ -563,7 +563,7 @@ else
//===========================================================
template <class T>
-void siso_algorithm_combined(int I, int S, int O,
+void siso_algorithm_combined(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector< std::vector<int> > &PS,
@@ -576,7 +576,7 @@ void siso_algorithm_combined(int I, int S, int O,
const std::vector<T> &TABLE,
trellis_metric_type_t TYPE,
const float *priori, const T *observations, float *post
-)
+)
{
float norm,mm,minm;
std::vector<float> alpha(S*(K+1));
@@ -605,7 +605,7 @@ void siso_algorithm_combined(int I, int S, int O,
alpha[(k+1)*S+j]=minm;
if(minm<norm) norm=minm;
}
- for(int j=0;j<S;j++)
+ for(int j=0;j<S;j++)
alpha[(k+1)*S+j]-=norm; // normalize total metrics so they do not explode
}
@@ -619,7 +619,7 @@ void siso_algorithm_combined(int I, int S, int O,
for(int k=K-1;k>=0;k--) { // backward recursion
norm=INF;
- for(int j=0;j<S;j++) {
+ for(int j=0;j<S;j++) {
minm=INF;
for(int i=0;i<I;i++) {
int i0 = j*I+i;
@@ -668,8 +668,8 @@ void siso_algorithm_combined(int I, int S, int O,
for(int n=0;n<O;n++)
post[k*(I+O)+I+n]-=norm; // normalize metrics
}
- }
- else if(POSTI)
+ }
+ else if(POSTI)
{
for(int k=0;k<K;k++) { // input combining
norm=INF;
@@ -828,7 +828,7 @@ for(int rep=0;rep<iterations;rep++) {
//oprioro[k*FSMi.I()+i]=iposti[ki*FSMi.I()+i];
//}
memcpy(&(oprioro[k*FSMi.I()]),&(iposti[ki*FSMi.I()]),FSMi.I()*sizeof(float));
- }
+ }
// run outer SISO
@@ -849,10 +849,10 @@ for(int rep=0;rep<iterations;rep++) {
//ipriori[ki*FSMi.I()+i]=oposto[k*FSMi.I()+i];
//}
memcpy(&(ipriori[ki*FSMi.I()]),&(oposto[k*FSMi.I()]),FSMi.I()*sizeof(float));
- }
+ }
}
else // produce posti but not posto
-
+
siso_algorithm(FSMo.I(),FSMo.S(),FSMo.O(),
FSMo.NS(), FSMo.OS(), FSMo.PS(), FSMo.PI(),
blocklength,
@@ -861,7 +861,7 @@ for(int rep=0;rep<iterations;rep++) {
p2mymin,
&(opriori[0]), &(oprioro[0]), &(oposti[0])
);
-
+
/*
viterbi_algorithm(FSMo.I(),FSMo.S(),FSMo.O(),
FSMo.NS(), FSMo.OS(), FSMo.PS(), FSMo.PI(),
@@ -1006,7 +1006,7 @@ void sccc_decoder(
//oprioro[k*FSMi.I()+i]=iposti[ki*FSMi.I()+i];
//}
memcpy(&(oprioro[k*FSMi.I()]),&(iposti[ki*FSMi.I()]),FSMi.I()*sizeof(float));
- }
+ }
// run outer SISO
@@ -1027,10 +1027,10 @@ void sccc_decoder(
//ipriori[ki*FSMi.I()+i]=oposto[k*FSMi.I()+i];
//}
memcpy(&(ipriori[ki*FSMi.I()]),&(oposto[k*FSMi.I()]),FSMi.I()*sizeof(float));
- }
+ }
}
else {// produce posti but not posto
-
+
siso_algorithm(FSMo.I(),FSMo.S(),FSMo.O(),
FSMo.NS(), FSMo.OS(), FSMo.PS(), FSMo.PI(),
blocklength,
@@ -1039,7 +1039,7 @@ void sccc_decoder(
p2mymin,
&(opriori[0]), &(oprioro[0]), &(oposti[0])
);
-
+
/*
viterbi_algorithm(FSMo.I(),FSMo.S(),FSMo.O(),
FSMo.NS(), FSMo.OS(), FSMo.PS(), FSMo.PI(),
@@ -1120,7 +1120,7 @@ void pccc_decoder(
std::vector<float> priori2(blocklength*FSM2.I(),0.0);
std::vector<float> prioro2(blocklength*FSM2.O());
std::vector<float> posti2(blocklength*FSM2.I());
-
+
//generate prioro1,2 (metrics are not updated per iteration: this is not the best you can do...)
for (int k=0;k<blocklength;k++) {
//std::cout << k << std::endl;
@@ -1150,7 +1150,7 @@ void pccc_decoder(
p2mymin,
&(priori1[0]), &(prioro1[0]), &(posti1[0])
);
-
+
//for(int k=0;k<blocklength;k++){
//for(int i=0;i<FSM1.I();i++)
//std::cout << posti1[k*FSM1.I()+i] << ", ";
@@ -1164,7 +1164,7 @@ void pccc_decoder(
//oprioro[k*FSMi.I()+i]=iposti[ki*FSMi.I()+i];
//}
memcpy(&(priori2[k*FSM2.I()]),&(posti1[ki*FSM1.I()]),FSM1.I()*sizeof(float));
- }
+ }
// run SISO 2
siso_algorithm(FSM2.I(),FSM2.S(),FSM2.O(),
@@ -1272,7 +1272,7 @@ void pccc_decoder_combined(
calc_metric(O, D, TABLE, &(observations[k*D]), &(cprioro[k*O]),METRIC_TYPE);
cprioro[k*O] *= scaling;
}
-
+
//generate prioro1,2 (metrics are not updated per iteration: this is not the best you can do...)
for (int k=0;k<blocklength;k++) {
//std::cout << k << std::endl;
@@ -1302,7 +1302,7 @@ void pccc_decoder_combined(
p2mymin,
&(priori1[0]), &(prioro1[0]), &(posti1[0])
);
-
+
//for(int k=0;k<blocklength;k++){
//for(int i=0;i<FSM1.I();i++)
//std::cout << posti1[k*FSM1.I()+i] << ", ";
@@ -1316,7 +1316,7 @@ void pccc_decoder_combined(
//oprioro[k*FSMi.I()+i]=iposti[ki*FSMi.I()+i];
//}
memcpy(&(priori2[k*FSM2.I()]),&(posti1[ki*FSM1.I()]),FSM1.I()*sizeof(float));
- }
+ }
// run SISO 2
siso_algorithm(FSM2.I(),FSM2.S(),FSM2.O(),
diff --git a/gr-trellis/src/lib/core_algorithms.h b/gr-trellis/src/lib/core_algorithms.h
index cab7086ba..a8765225b 100644
--- a/gr-trellis/src/lib/core_algorithms.h
+++ b/gr-trellis/src/lib/core_algorithms.h
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -34,7 +34,7 @@
float min(float a, float b);
float min_star(float a, float b);
-template <class T>
+template <class T>
void viterbi_algorithm(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
@@ -99,7 +99,7 @@ void sccc_decoder(
float (*p2mymin)(float,float),
const float *iprioro, T *data
);
-
+
template<class Ti, class To>
void sccc_decoder_combined(
diff --git a/gr-trellis/src/lib/fsm.cc b/gr-trellis/src/lib/fsm.cc
index 65c4b4b32..fb2b4d2c9 100644
--- a/gr-trellis/src/lib/fsm.cc
+++ b/gr-trellis/src/lib/fsm.cc
@@ -64,7 +64,7 @@ fsm::fsm(int I, int S, int O, const std::vector<int> &NS, const std::vector<int>
d_O=O;
d_NS=NS;
d_OS=OS;
-
+
generate_PS_PI();
generate_TM();
}
@@ -79,11 +79,11 @@ fsm::fsm(int I, int S, int O, const std::vector<int> &NS, const std::vector<int>
//# output symbol matrix (S lines, each with I integers separated by spaces)
//# optional comments
//######################################################################
-fsm::fsm(const char *name)
+fsm::fsm(const char *name)
{
FILE *fsmfile;
- if((fsmfile=fopen(name,"r"))==NULL)
+ if((fsmfile=fopen(name,"r"))==NULL)
throw std::runtime_error ("fsm::fsm(const char *name): file open error\n");
//printf("file open error in fsm()\n");
@@ -91,7 +91,7 @@ fsm::fsm(const char *name)
if(ferror(fsmfile) != 0)
throw std::runtime_error ("fsm::fsm(const char *name): file read error\n");
}
-
+
d_NS.resize(d_I*d_S);
d_OS.resize(d_I*d_S);
@@ -113,7 +113,7 @@ fsm::fsm(const char *name)
}
fclose(fsmfile);
-
+
generate_PS_PI();
generate_TM();
}
@@ -141,7 +141,7 @@ fsm::fsm(int k, int n, const std::vector<int> &G)
max_mem=mem;
}
}
-
+
//printf("max_mem_x\n");
//for(int j=0;j<max_mem_x.size();j++) printf("%d ",max_mem_x[j]); printf("\n");
@@ -155,7 +155,7 @@ fsm::fsm(int k, int n, const std::vector<int> &G)
d_I=1<<k;
d_S=1<<sum_max_mem;
d_O=1<<n;
-
+
// binary representation of the G matrix
std::vector<std::vector<int> > Gb(k*n);
for(int j=0;j<k*n;j++) {
@@ -165,9 +165,9 @@ fsm::fsm(int k, int n, const std::vector<int> &G)
//for(int m=0;m<Gb[j].size();m++) printf("%d ",Gb[j][m]); printf("\n");
}
- // alphabet size of each shift register
+ // alphabet size of each shift register
std::vector<int> bases_x(k);
- for(int j=0;j<k ;j++)
+ for(int j=0;j<k ;j++)
bases_x[j] = 1 << max_mem_x[j];
//printf("bases_x\n");
//for(int j=0;j<max_mem_x.size();j++) printf("%d ",max_mem_x[j]); printf("\n");
@@ -229,7 +229,7 @@ fsm::fsm(int k, int n, const std::vector<int> &G)
//######################################################################
-//# Automatically generate an FSM specification describing the
+//# Automatically generate an FSM specification describing the
//# ISI for a channel
//# of length ch_length and a modulation of size mod_size
//######################################################################
@@ -243,13 +243,13 @@ fsm::fsm(int mod_size, int ch_length)
d_OS.resize(d_I*d_S);
for(int s=0;s<d_S;s++) {
- for(int i=0;i<d_I;i++) {
+ for(int i=0;i<d_I;i++) {
int t=i*d_S+s;
d_NS[s*d_I+i] = t/d_I;
d_OS[s*d_I+i] = t;
}
}
-
+
generate_PS_PI();
generate_TM();
}
@@ -258,8 +258,8 @@ fsm::fsm(int mod_size, int ch_length)
//######################################################################
-//# Automatically generate an FSM specification describing the
-//# the trellis for a CPM with h=K/P (relatively prime),
+//# Automatically generate an FSM specification describing the
+//# the trellis for a CPM with h=K/P (relatively prime),
//# alphabet size M, and frequency pulse duration L symbols
//#
//# This FSM is based on the paper by B. Rimoldi
@@ -303,7 +303,7 @@ fsm::fsm(int P, int M, int L)
//######################################################################
-//# Automatically generate an FSM specification describing the
+//# Automatically generate an FSM specification describing the
//# the joint trellis of fsm1 and fsm2
//######################################################################
fsm::fsm(const fsm &FSM1, const fsm &FSM2)
@@ -433,7 +433,7 @@ bool fsm::find_es(int es)
{
bool done = true;
for(int s=0;s<d_S;s++) {
- if(d_TMl[s*d_S+es] < d_S)
+ if(d_TMl[s*d_S+es] < d_S)
continue;
int minl=d_S;
int mini=-1;
@@ -477,7 +477,7 @@ void fsm::write_trellis_svg( std::string filename ,int number_stages)
for( int stage_num = 0;stage_num < number_stages;stage_num ++){
// draw states
for ( int state_num = 0;state_num < d_S ; state_num ++ ) {
- trellis_fname << "<circle cx = \"" << stage_num * STAGE_STATE_OFFSETS + TRELLIS_X_OFFSET <<
+ trellis_fname << "<circle cx = \"" << stage_num * STAGE_STATE_OFFSETS + TRELLIS_X_OFFSET <<
"\" cy = \"" << state_num * STAGE_STATE_OFFSETS + TRELLIS_Y_OFFSET << "\" r = \"1\"/>" << std::endl;
//draw branches
if(stage_num != number_stages-1){
@@ -495,7 +495,7 @@ void fsm::write_trellis_svg( std::string filename ,int number_stages)
// label the stages
trellis_fname << "<g font-size = \"4\" font= \"times\" fill = \"black\">" << std::endl;
for( int stage_num = 0;stage_num < number_stages ;stage_num ++){
- trellis_fname << "<text x = \"" << stage_num * STAGE_STATE_OFFSETS + STAGE_LABEL_X_OFFSET <<
+ trellis_fname << "<text x = \"" << stage_num * STAGE_STATE_OFFSETS + STAGE_LABEL_X_OFFSET <<
"\" y = \"" << STAGE_LABEL_Y_OFFSET << "\" >" << std::endl;
trellis_fname << stage_num << std::endl;
trellis_fname << "</text>" << std::endl;
@@ -505,7 +505,7 @@ void fsm::write_trellis_svg( std::string filename ,int number_stages)
// label the states
trellis_fname << "<g font-size = \"4\" font= \"times\" fill = \"black\">" << std::endl;
for( int state_num = 0;state_num < d_S ; state_num ++){
- trellis_fname << "<text y = \"" << state_num * STAGE_STATE_OFFSETS + STATE_LABEL_Y_OFFSET <<
+ trellis_fname << "<text y = \"" << state_num * STAGE_STATE_OFFSETS + STATE_LABEL_Y_OFFSET <<
"\" x = \"" << STATE_LABEL_X_OFFSET << "\" >" << std::endl;
trellis_fname << state_num << std::endl;
trellis_fname << "</text>" << std::endl;
diff --git a/gr-trellis/src/lib/fsm.h b/gr-trellis/src/lib/fsm.h
index 7dc7e0d9d..47e467898 100644
--- a/gr-trellis/src/lib/fsm.h
+++ b/gr-trellis/src/lib/fsm.h
@@ -46,7 +46,7 @@ private:
// next_state = d_NS[current_state * d_I + input_symbol]
std::vector<int> d_NS;
// OS means Output Symbol.
- // output_symbol = d_OS[current_state * d_I + input_symbol]
+ // output_symbol = d_OS[current_state * d_I + input_symbol]
std::vector<int> d_OS;
// PS means Previous State.
std::vector< std::vector<int> > d_PS;
@@ -83,7 +83,7 @@ public:
* \param NS A mapping from (current state, input symbol) to next state.
* next_state = NS[current_state * I + input_symbol]
* \param OS A mapping from (current state, input symbol) to output symbol.
- * output_symbol = OS[current_state * I + input_symbol]
+ * output_symbol = OS[current_state * I + input_symbol]
*
*/
fsm(int I, int S, int O, const std::vector<int> &NS, const std::vector<int> &OS);
@@ -152,7 +152,7 @@ public:
* \param filename filename
* \param number_stages ????
*
- */
+ */
void write_trellis_svg(std::string filename ,int number_stages);
/*!
* \brief Write the FSMS to a file.
diff --git a/gr-trellis/src/lib/generate_all.py b/gr-trellis/src/lib/generate_all.py
index ee1966b89..78e36270c 100644
--- a/gr-trellis/src/lib/generate_all.py
+++ b/gr-trellis/src/lib/generate_all.py
@@ -1,24 +1,24 @@
#!/usr/bin/env python
#
# Copyright 2006,2007 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.
-#
+#
from build_utils import output_glue
diff --git a/gr-trellis/src/lib/generate_trellis.py b/gr-trellis/src/lib/generate_trellis.py
index 31bc44aac..60a81f77a 100644
--- a/gr-trellis/src/lib/generate_trellis.py
+++ b/gr-trellis/src/lib/generate_trellis.py
@@ -1,24 +1,24 @@
#!/usr/bin/env python
#
# Copyright 2006,2007 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.
-#
+#
from build_utils import expand_template, copyright, open_and_log_name
from build_utils_codes import *
diff --git a/gr-trellis/src/lib/interleaver.cc b/gr-trellis/src/lib/interleaver.cc
index 131dcb07b..740f33ab3 100644
--- a/gr-trellis/src/lib/interleaver.cc
+++ b/gr-trellis/src/lib/interleaver.cc
@@ -20,7 +20,7 @@
* Boston, MA 02110-1301, USA.
*/
-#include <cstdlib>
+#include <cstdlib>
#include <cstdio>
#include <iostream>
#include <string>
@@ -52,7 +52,7 @@ interleaver::interleaver(int K, const std::vector<int> &INTER)
d_K=K;
d_INTER=INTER;
d_DEINTER.resize(d_K);
-
+
// generate DEINTER table
for(int i=0;i<d_K;i++) {
d_DEINTER[d_INTER[i]]=i;
@@ -67,14 +67,14 @@ interleaver::interleaver(int K, const std::vector<int> &INTER)
//# list of space separated K integers from 0 to K-1 in appropriate order
//# optional comments
//######################################################################
-interleaver::interleaver(const char *name)
+interleaver::interleaver(const char *name)
{
FILE *interleaverfile;
- if((interleaverfile=fopen(name,"r"))==NULL)
+ if((interleaverfile=fopen(name,"r"))==NULL)
throw std::runtime_error ("file open error in interleaver()");
//printf("file open error in interleaver()\n");
-
+
if(fscanf(interleaverfile,"%d\n",&d_K) == EOF) {
if(ferror(interleaverfile) != 0)
throw std::runtime_error ("interleaver::interleaver(const char *name): file read error\n");
@@ -89,7 +89,7 @@ interleaver::interleaver(const char *name)
throw std::runtime_error ("interleaver::interleaver(const char *name): file read error\n");
}
}
-
+
// generate DEINTER table
for(int i=0;i<d_K;i++) {
d_DEINTER[d_INTER[i]]=i;
@@ -105,11 +105,11 @@ interleaver::interleaver(int K, int seed)
d_INTER.resize(d_K);
d_DEINTER.resize(d_K);
- if(seed>=0) srand((unsigned int)seed);
+ if(seed>=0) srand((unsigned int)seed);
std::vector<int> tmp(d_K);
for(int i=0;i<d_K;i++) {
d_INTER[i]=i;
- tmp[i] = rand();
+ tmp[i] = rand();
}
quicksort_index <int> (tmp,d_INTER,0,d_K-1);
diff --git a/gr-trellis/src/lib/interleaver.i b/gr-trellis/src/lib/interleaver.i
index 403c2d09e..bb9078b1b 100644
--- a/gr-trellis/src/lib/interleaver.i
+++ b/gr-trellis/src/lib/interleaver.i
@@ -1,38 +1,38 @@
-/* -*- c++ -*- */
-/*
- * Copyright 2002 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.
- */
-
-class interleaver {
-private:
- int d_K;
- std::vector<int> d_INTER;
- std::vector<int> d_DEINTER;
-public:
- interleaver();
- interleaver(const interleaver & INTERLEAVER);
- interleaver(int K, const std::vector<int> & INTER);
- interleaver(const char *name);
- interleaver(int K, int seed);
- int K () const { return d_K; }
- const std::vector<int> & INTER () const { return d_INTER; }
- const std::vector<int> & DEINTER () const { return d_DEINTER; }
- void write_interleaver_txt(std::string filename);
-};
+/* -*- c++ -*- */
+/*
+ * Copyright 2002 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.
+ */
+
+class interleaver {
+private:
+ int d_K;
+ std::vector<int> d_INTER;
+ std::vector<int> d_DEINTER;
+public:
+ interleaver();
+ interleaver(const interleaver & INTERLEAVER);
+ interleaver(int K, const std::vector<int> & INTER);
+ interleaver(const char *name);
+ interleaver(int K, int seed);
+ int K () const { return d_K; }
+ const std::vector<int> & INTER () const { return d_INTER; }
+ const std::vector<int> & DEINTER () const { return d_DEINTER; }
+ void write_interleaver_txt(std::string filename);
+};
diff --git a/gr-trellis/src/lib/quicksort_index.cc b/gr-trellis/src/lib/quicksort_index.cc
index b75896a20..cf37e862e 100644
--- a/gr-trellis/src/lib/quicksort_index.cc
+++ b/gr-trellis/src/lib/quicksort_index.cc
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
diff --git a/gr-trellis/src/lib/quicksort_index.h b/gr-trellis/src/lib/quicksort_index.h
index da453972e..9583955db 100644
--- a/gr-trellis/src/lib/quicksort_index.h
+++ b/gr-trellis/src/lib/quicksort_index.h
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004,2007 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,
diff --git a/gr-trellis/src/lib/run_guile_tests.in b/gr-trellis/src/lib/run_guile_tests.in
deleted file mode 100644
index 5d08b0dd5..000000000
--- a/gr-trellis/src/lib/run_guile_tests.in
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-. @top_builddir@/setup_guile_test_env
-
-# 1st argument is absolute path to hand coded guile source directory
-# 2nd argument is absolute path to component C++ shared library build directory
-# 3nd argument is absolute path to component SWIG build directory
-
-add_local_paths \
- @srcdir@ \
- @abs_builddir@ \
- @abs_builddir@
-
-@GUILE@ -e main -c '(use-modules (gnuradio test-suite guile-test))' -t @srcdir@
diff --git a/gr-trellis/src/lib/trellis.i b/gr-trellis/src/lib/trellis.i
index 70775af41..0debf5e5d 100644
--- a/gr-trellis/src/lib/trellis.i
+++ b/gr-trellis/src/lib/trellis.i
@@ -56,13 +56,3 @@
//%pythoncode %{
// from gnuradio.gr import TRELLIS_EUCLIDEAN, TRELLIS_HARD_SYMBOL, TRELLIS_HARD_BIT
// %}
-
-#if SWIGGUILE
-%scheme %{
-(load-extension-global "libguile-gnuradio-trellis" "scm_init_gnuradio_trellis_module")
-%}
-
-%goops %{
-(use-modules (gnuradio gnuradio_core_runtime))
-%}
-#endif
diff --git a/gr-trellis/src/lib/trellis.test b/gr-trellis/src/lib/trellis.test
deleted file mode 100644
index d370ab18c..000000000
--- a/gr-trellis/src/lib/trellis.test
+++ /dev/null
@@ -1,53 +0,0 @@
-;;; -*- Scheme -*-
-;;;
-;;; 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 this program. If not, see <http://www.gnu.org/licenses/>.
-;;;
-
-;;; If you're using Emacs's Scheme mode:
-;;; (put 'with-test-prefix 'scheme-indent-function 1)
-
-;;; See the comments in gnuradio/test-suite/lib.scm for info on writing tests.
-;;; See also the very end of the file, where the test-equal, test-eqv
-;;; and test-eq macros are defined.
-
-(define-module (test-module)
- #:use-module (oop goops)
- #:use-module (gnuradio core)
- #:use-module (gnuradio test-suite lib)
- #:duplicates (merge-generics replace check))
-
-
-;;; See if we can import the module...
-(use-modules (gnuradio trellis))
-
-;;; Now do some real testing, like that in ../python/qa_trellis.py
-;;; FIXME later. Other problems to deal with. Looks like
-;;; I don't understand the constructor to <fsm>
-
-(read-set! keywords 'prefix)
-
-'(with-test-prefix "test-001-fsm"
- (let* ((I 2)
- (S 4)
- (O 4)
- (NS #(0 2 0 2 1 3 1 3))
- (OS #(0 3 3 0 1 2 2 1))
- (f (make <fsm> :I I :S S :O O :NS NS :OS OS)))
- (test-equal (list I S O NS OS)
- (list (gr:I f) (gr:S f) (gr:O f) (gr:NS f) (gr:OS f)))))
-
diff --git a/gr-trellis/src/lib/trellis_constellation_metrics_cf.cc b/gr-trellis/src/lib/trellis_constellation_metrics_cf.cc
index 91520e4ce..6e6aa2dd0 100644
--- a/gr-trellis/src/lib/trellis_constellation_metrics_cf.cc
+++ b/gr-trellis/src/lib/trellis_constellation_metrics_cf.cc
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004,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,
@@ -81,8 +81,8 @@ for (unsigned int m=0;m<nstreams;m++) {
float *out = (float *) output_items[m];
for (unsigned int i = 0; i < noutput_items / d_O ; i++){
- d_constellation->calc_metric(&(in[i*d_D]), &(out[i*d_O]), d_TYPE);
- }
+ d_constellation->calc_metric(&(in[i*d_D]), &(out[i*d_O]), d_TYPE);
+ }
}
consume_each (d_D * noutput_items / d_O);
diff --git a/gr-trellis/src/lib/trellis_constellation_metrics_cf.h b/gr-trellis/src/lib/trellis_constellation_metrics_cf.h
index 1851bb89c..2c2070522 100644
--- a/gr-trellis/src/lib/trellis_constellation_metrics_cf.h
+++ b/gr-trellis/src/lib/trellis_constellation_metrics_cf.h
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004,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,
@@ -48,7 +48,7 @@ class TRELLIS_API trellis_constellation_metrics_cf : public gr_block
gr_vector_void_star &output_items);
protected:
trellis_constellation_metrics_cf (digital_constellation_sptr constellation, trellis_metric_type_t TYPE);
-
+
private:
digital_constellation_sptr d_constellation;
trellis_metric_type_t d_TYPE;
diff --git a/gr-trellis/src/lib/trellis_encoder_XX.cc.t b/gr-trellis/src/lib/trellis_encoder_XX.cc.t
index 698a0b307..dca92b08f 100644
--- a/gr-trellis/src/lib/trellis_encoder_XX.cc.t
+++ b/gr-trellis/src/lib/trellis_encoder_XX.cc.t
@@ -1,19 +1,19 @@
/* -*- 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,
@@ -30,7 +30,7 @@
#include <gr_io_signature.h>
#include <iostream>
-@SPTR_NAME@
+@SPTR_NAME@
trellis_make_@BASE_NAME@ (const fsm &FSM, int ST)
{
return gnuradio::get_initial_sptr (new @NAME@ (FSM,ST));
@@ -47,7 +47,7 @@ trellis_make_@BASE_NAME@ (const fsm &FSM, int ST)
-int
+int
@NAME@::work (int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
diff --git a/gr-trellis/src/lib/trellis_encoder_XX.h.t b/gr-trellis/src/lib/trellis_encoder_XX.h.t
index 4038caac9..7c4250a92 100644
--- a/gr-trellis/src/lib/trellis_encoder_XX.h.t
+++ b/gr-trellis/src/lib/trellis_encoder_XX.h.t
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -44,7 +44,7 @@ private:
friend TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (const fsm &FSM, int ST);
fsm d_FSM;
int d_ST;
- @NAME@ (const fsm &FSM, int ST);
+ @NAME@ (const fsm &FSM, int ST);
public:
fsm FSM () const { return d_FSM; }
diff --git a/gr-trellis/src/lib/trellis_metrics_X.cc.t b/gr-trellis/src/lib/trellis_metrics_X.cc.t
index cd66df6fb..77eb8c81b 100644
--- a/gr-trellis/src/lib/trellis_metrics_X.cc.t
+++ b/gr-trellis/src/lib/trellis_metrics_X.cc.t
@@ -1,19 +1,19 @@
/* -*- 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,
@@ -89,7 +89,7 @@ for (int m=0;m<nstreams;m++) {
for (int i = 0; i < noutput_items / d_O ; i++){
calc_metric(d_O, d_D, d_TABLE,&(in[i*d_D]),&(out[i*d_O]), d_TYPE);
- }
+ }
}
consume_each (d_D * noutput_items / d_O);
diff --git a/gr-trellis/src/lib/trellis_metrics_X.h.t b/gr-trellis/src/lib/trellis_metrics_X.h.t
index 809c27e65..ab406c51e 100644
--- a/gr-trellis/src/lib/trellis_metrics_X.h.t
+++ b/gr-trellis/src/lib/trellis_metrics_X.h.t
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
diff --git a/gr-trellis/src/lib/trellis_pccc_decoder_X.cc.t b/gr-trellis/src/lib/trellis_pccc_decoder_X.cc.t
index 34dd2eb87..d79192491 100644
--- a/gr-trellis/src/lib/trellis_pccc_decoder_X.cc.t
+++ b/gr-trellis/src/lib/trellis_pccc_decoder_X.cc.t
@@ -1,19 +1,19 @@
/* -*- 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,
@@ -32,10 +32,10 @@
#include <iostream>
#include "core_algorithms.h"
-
+
static const float INF = 1.0e9;
-@SPTR_NAME@
+@SPTR_NAME@
trellis_make_@BASE_NAME@ (
const fsm &FSM1, int ST10, int ST1K,
const fsm &FSM2, int ST20, int ST2K,
@@ -65,7 +65,7 @@ trellis_make_@BASE_NAME@ (
)
: gr_block ("@BASE_NAME@",
gr_make_io_signature (1, 1, sizeof (float)),
- gr_make_io_signature (1, 1, sizeof (@O_TYPE@))),
+ gr_make_io_signature (1, 1, sizeof (@O_TYPE@))),
d_FSM1 (FSM1), d_ST10 (ST10), d_ST1K (ST1K),
d_FSM2 (FSM2), d_ST20 (ST20), d_ST2K (ST2K),
d_INTERLEAVER (INTERLEAVER),
@@ -114,7 +114,7 @@ int
d_FSM1, d_ST10, d_ST1K,
d_FSM2, d_ST20, d_ST2K,
d_INTERLEAVER, d_blocklength, d_repetitions,
- p2min,
+ p2min,
&(in[n*d_blocklength*d_FSM1.O()*d_FSM2.O()]),&(out[n*d_blocklength])
);
}
diff --git a/gr-trellis/src/lib/trellis_pccc_decoder_X.h.t b/gr-trellis/src/lib/trellis_pccc_decoder_X.h.t
index a58a03264..e9bc94681 100644
--- a/gr-trellis/src/lib/trellis_pccc_decoder_X.h.t
+++ b/gr-trellis/src/lib/trellis_pccc_decoder_X.h.t
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -41,7 +41,7 @@ TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (
const interleaver &INTERLEAVER,
int blocklength,
int repetitions,
- trellis_siso_type_t SISO_TYPE // perform "min-sum" or "sum-product" combining
+ trellis_siso_type_t SISO_TYPE // perform "min-sum" or "sum-product" combining
);
@@ -77,7 +77,7 @@ class TRELLIS_API @NAME@ : public gr_block
const interleaver &INTERLEAVER,
int blocklength,
int repetitions,
- trellis_siso_type_t SISO_TYPE
+ trellis_siso_type_t SISO_TYPE
);
public:
diff --git a/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.cc.t b/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.cc.t
index 48f68f1fe..03e21de1f 100644
--- a/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.cc.t
+++ b/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.cc.t
@@ -1,19 +1,19 @@
/* -*- 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,
@@ -32,10 +32,10 @@
#include <iostream>
#include "core_algorithms.h"
-
+
static const float INF = 1.0e9;
-@SPTR_NAME@
+@SPTR_NAME@
trellis_make_@BASE_NAME@ (
const fsm &FSMo, int STo0, int SToK,
const fsm &FSMi, int STi0, int STiK,
@@ -76,7 +76,7 @@ trellis_make_@BASE_NAME@ (
)
: gr_block ("@BASE_NAME@",
gr_make_io_signature (1, 1, sizeof (@I_TYPE@)),
- gr_make_io_signature (1, 1, sizeof (@O_TYPE@))),
+ gr_make_io_signature (1, 1, sizeof (@O_TYPE@))),
d_FSMo (FSMo), d_STo0 (STo0), d_SToK (SToK),
d_FSMi (FSMi), d_STi0 (STi0), d_STiK (STiK),
d_INTERLEAVER (INTERLEAVER),
@@ -134,9 +134,9 @@ int
d_FSMo, d_STo0, d_SToK,
d_FSMi, d_STi0, d_STiK,
d_INTERLEAVER, d_blocklength, d_repetitions,
- p2min,
- d_D,d_TABLE,
- d_METRIC_TYPE,
+ p2min,
+ d_D,d_TABLE,
+ d_METRIC_TYPE,
d_scaling,
&(in[n*d_blocklength*d_D]),&(out[n*d_blocklength])
);
diff --git a/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.h.t b/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.h.t
index ce118a3b1..6e45ea10a 100644
--- a/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.h.t
+++ b/gr-trellis/src/lib/trellis_pccc_decoder_combined_XX.h.t
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -42,7 +42,7 @@ TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (
const interleaver &INTERLEAVER,
int blocklength,
int repetitions,
- trellis_siso_type_t SISO_TYPE, // perform "min-sum" or "sum-product" combining
+ trellis_siso_type_t SISO_TYPE, // perform "min-sum" or "sum-product" combining
int D,
const std::vector<@I_TYPE@> &TABLE,
trellis_metric_type_t METRIC_TYPE,
@@ -90,7 +90,7 @@ class TRELLIS_API @NAME@ : public gr_block
const interleaver &INTERLEAVER,
int blocklength,
int repetitions,
- trellis_siso_type_t SISO_TYPE,
+ trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
trellis_metric_type_t METRIC_TYPE,
diff --git a/gr-trellis/src/lib/trellis_pccc_encoder_XX.cc.t b/gr-trellis/src/lib/trellis_pccc_encoder_XX.cc.t
index 40dcd4105..6cab858cd 100644
--- a/gr-trellis/src/lib/trellis_pccc_encoder_XX.cc.t
+++ b/gr-trellis/src/lib/trellis_pccc_encoder_XX.cc.t
@@ -1,19 +1,19 @@
/* -*- 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,
@@ -30,7 +30,7 @@
#include <gr_io_signature.h>
#include <iostream>
-@SPTR_NAME@
+@SPTR_NAME@
trellis_make_@BASE_NAME@ (
const fsm &FSM1, int ST1,
const fsm &FSM2, int ST2,
@@ -64,13 +64,13 @@ trellis_make_@BASE_NAME@ (
-int
+int
@NAME@::work (int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
assert(noutput_items%d_blocklength ==0);
- for (int b = 0 ; b<noutput_items/d_blocklength; b++) {
+ for (int b = 0 ; b<noutput_items/d_blocklength; b++) {
const @I_TYPE@ *in = (const @I_TYPE@ *) input_items[0]+b*d_blocklength;
@O_TYPE@ *out = (@O_TYPE@ *) output_items[0]+b*d_blocklength;
diff --git a/gr-trellis/src/lib/trellis_pccc_encoder_XX.h.t b/gr-trellis/src/lib/trellis_pccc_encoder_XX.h.t
index 2b6110e37..75a22b829 100644
--- a/gr-trellis/src/lib/trellis_pccc_encoder_XX.h.t
+++ b/gr-trellis/src/lib/trellis_pccc_encoder_XX.h.t
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -66,7 +66,7 @@ private:
const fsm &FSM2, int ST2,
const interleaver &INTERLEAVER,
int blocklength
- );
+ );
public:
fsm FSM1 () const { return d_FSM1; }
diff --git a/gr-trellis/src/lib/trellis_permutation.cc b/gr-trellis/src/lib/trellis_permutation.cc
index 416fc58ec..57c6d2693 100644
--- a/gr-trellis/src/lib/trellis_permutation.cc
+++ b/gr-trellis/src/lib/trellis_permutation.cc
@@ -1,19 +1,19 @@
/* -*- 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,
@@ -29,7 +29,7 @@
#include <iostream>
#include <string.h>
-trellis_permutation_sptr
+trellis_permutation_sptr
trellis_make_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t BYTES_PER_SYMBOL)
{
return gnuradio::get_initial_sptr(new trellis_permutation (K,TABLE,SYMS_PER_BLOCK,BYTES_PER_SYMBOL));
@@ -50,7 +50,7 @@ trellis_permutation::trellis_permutation (int K, const std::vector<int> &TABLE,
-int
+int
trellis_permutation::work (int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
@@ -67,13 +67,13 @@ trellis_permutation::work (int noutput_items,
for (int i = 0; i < noutput_items/d_SYMS_PER_BLOCK; i++){
// Index i refers to blocks.
// Begining of packet (in blocks)
- int i0 = d_K*(i/d_K);
+ int i0 = d_K*(i/d_K);
// position of block within packet (in blocks)
int j0 = i%d_K;
// new position of block within packet (in blocks)
int k0 = d_TABLE[j0];
- memcpy(&(out[i*d_SYMS_PER_BLOCK*d_BYTES_PER_SYMBOL]),
- &(in[(i0+k0)*d_SYMS_PER_BLOCK*d_BYTES_PER_SYMBOL]),
+ memcpy(&(out[i*d_SYMS_PER_BLOCK*d_BYTES_PER_SYMBOL]),
+ &(in[(i0+k0)*d_SYMS_PER_BLOCK*d_BYTES_PER_SYMBOL]),
d_BYTES_PER_SYMBOL*d_SYMS_PER_BLOCK);
}
// end per stream processing
diff --git a/gr-trellis/src/lib/trellis_permutation.h b/gr-trellis/src/lib/trellis_permutation.h
index 2786de29a..cc40518c2 100644
--- a/gr-trellis/src/lib/trellis_permutation.h
+++ b/gr-trellis/src/lib/trellis_permutation.h
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -45,7 +45,7 @@ private:
std::vector<int> d_TABLE;
int d_SYMS_PER_BLOCK;
size_t d_BYTES_PER_SYMBOL;
- trellis_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES);
+ trellis_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES);
public:
int K () const { return d_K; }
diff --git a/gr-trellis/src/lib/trellis_permutation.i b/gr-trellis/src/lib/trellis_permutation.i
index 1433a6584..fdfaa44d3 100644
--- a/gr-trellis/src/lib/trellis_permutation.i
+++ b/gr-trellis/src/lib/trellis_permutation.i
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -31,7 +31,7 @@ private:
std::vector<int> d_TABLE;
int d_SYMS_PER_BLOCK;
size_t d_BYTES_PER_SYMBOL;
- trellis_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t BYTES_PER_SYMBOL);
+ trellis_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t BYTES_PER_SYMBOL);
public:
int K () const { return d_K; }
diff --git a/gr-trellis/src/lib/trellis_sccc_decoder_X.cc.t b/gr-trellis/src/lib/trellis_sccc_decoder_X.cc.t
index 4a0f471fa..c9b78aa8f 100644
--- a/gr-trellis/src/lib/trellis_sccc_decoder_X.cc.t
+++ b/gr-trellis/src/lib/trellis_sccc_decoder_X.cc.t
@@ -1,19 +1,19 @@
/* -*- 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,
@@ -32,10 +32,10 @@
#include <iostream>
#include "core_algorithms.h"
-
+
static const float INF = 1.0e9;
-@SPTR_NAME@
+@SPTR_NAME@
trellis_make_@BASE_NAME@ (
const fsm &FSMo, int STo0, int SToK,
const fsm &FSMi, int STi0, int STiK,
@@ -65,7 +65,7 @@ trellis_make_@BASE_NAME@ (
)
: gr_block ("@BASE_NAME@",
gr_make_io_signature (1, 1, sizeof (float)),
- gr_make_io_signature (1, 1, sizeof (@O_TYPE@))),
+ gr_make_io_signature (1, 1, sizeof (@O_TYPE@))),
d_FSMo (FSMo), d_STo0 (STo0), d_SToK (SToK),
d_FSMi (FSMi), d_STi0 (STi0), d_STiK (STiK),
d_INTERLEAVER (INTERLEAVER),
@@ -114,7 +114,7 @@ int
d_FSMo, d_STo0, d_SToK,
d_FSMi, d_STi0, d_STiK,
d_INTERLEAVER, d_blocklength, d_repetitions,
- p2min,
+ p2min,
&(in[n*d_blocklength*d_FSMi.O()]),&(out[n*d_blocklength])
);
}
diff --git a/gr-trellis/src/lib/trellis_sccc_decoder_X.h.t b/gr-trellis/src/lib/trellis_sccc_decoder_X.h.t
index 9857c6a34..d6fb72f68 100644
--- a/gr-trellis/src/lib/trellis_sccc_decoder_X.h.t
+++ b/gr-trellis/src/lib/trellis_sccc_decoder_X.h.t
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -41,7 +41,7 @@ TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (
const interleaver &INTERLEAVER,
int blocklength,
int repetitions,
- trellis_siso_type_t SISO_TYPE // perform "min-sum" or "sum-product" combining
+ trellis_siso_type_t SISO_TYPE // perform "min-sum" or "sum-product" combining
);
@@ -77,7 +77,7 @@ class TRELLIS_API @NAME@ : public gr_block
const interleaver &INTERLEAVER,
int blocklength,
int repetitions,
- trellis_siso_type_t SISO_TYPE
+ trellis_siso_type_t SISO_TYPE
);
public:
diff --git a/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.cc.t b/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.cc.t
index 2927e3fe3..4508ca5cb 100644
--- a/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.cc.t
+++ b/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.cc.t
@@ -1,19 +1,19 @@
/* -*- 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,
@@ -32,10 +32,10 @@
#include <iostream>
#include "core_algorithms.h"
-
+
static const float INF = 1.0e9;
-@SPTR_NAME@
+@SPTR_NAME@
trellis_make_@BASE_NAME@ (
const fsm &FSMo, int STo0, int SToK,
const fsm &FSMi, int STi0, int STiK,
@@ -76,7 +76,7 @@ trellis_make_@BASE_NAME@ (
)
: gr_block ("@BASE_NAME@",
gr_make_io_signature (1, 1, sizeof (@I_TYPE@)),
- gr_make_io_signature (1, 1, sizeof (@O_TYPE@))),
+ gr_make_io_signature (1, 1, sizeof (@O_TYPE@))),
d_FSMo (FSMo), d_STo0 (STo0), d_SToK (SToK),
d_FSMi (FSMi), d_STi0 (STi0), d_STiK (STiK),
d_INTERLEAVER (INTERLEAVER),
@@ -134,9 +134,9 @@ int
d_FSMo, d_STo0, d_SToK,
d_FSMi, d_STi0, d_STiK,
d_INTERLEAVER, d_blocklength, d_repetitions,
- p2min,
- d_D,d_TABLE,
- d_METRIC_TYPE,
+ p2min,
+ d_D,d_TABLE,
+ d_METRIC_TYPE,
d_scaling,
&(in[n*d_blocklength*d_D]),&(out[n*d_blocklength])
);
diff --git a/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t b/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t
index 5d2c2b85c..3fdc53c62 100644
--- a/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t
+++ b/gr-trellis/src/lib/trellis_sccc_decoder_combined_XX.h.t
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -42,7 +42,7 @@ TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (
const interleaver &INTERLEAVER,
int blocklength,
int repetitions,
- trellis_siso_type_t SISO_TYPE, // perform "min-sum" or "sum-product" combining
+ trellis_siso_type_t SISO_TYPE, // perform "min-sum" or "sum-product" combining
int D,
const std::vector<@I_TYPE@> &TABLE,
trellis_metric_type_t METRIC_TYPE,
@@ -90,7 +90,7 @@ class TRELLIS_API @NAME@ : public gr_block
const interleaver &INTERLEAVER,
int blocklength,
int repetitions,
- trellis_siso_type_t SISO_TYPE,
+ trellis_siso_type_t SISO_TYPE,
int D,
const std::vector<@I_TYPE@> &TABLE,
trellis_metric_type_t METRIC_TYPE,
diff --git a/gr-trellis/src/lib/trellis_sccc_encoder_XX.cc.t b/gr-trellis/src/lib/trellis_sccc_encoder_XX.cc.t
index b1a46ca60..8054909db 100644
--- a/gr-trellis/src/lib/trellis_sccc_encoder_XX.cc.t
+++ b/gr-trellis/src/lib/trellis_sccc_encoder_XX.cc.t
@@ -1,19 +1,19 @@
/* -*- 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,
@@ -30,7 +30,7 @@
#include <gr_io_signature.h>
#include <iostream>
-@SPTR_NAME@
+@SPTR_NAME@
trellis_make_@BASE_NAME@ (
const fsm &FSMo, int STo,
const fsm &FSMi, int STi,
@@ -64,13 +64,13 @@ trellis_make_@BASE_NAME@ (
-int
+int
@NAME@::work (int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
assert(noutput_items%d_blocklength ==0);
- for (int b = 0 ; b<noutput_items/d_blocklength; b++) {
+ for (int b = 0 ; b<noutput_items/d_blocklength; b++) {
const @I_TYPE@ *in = (const @I_TYPE@ *) input_items[0]+b*d_blocklength;
@O_TYPE@ *out = (@O_TYPE@ *) output_items[0]+b*d_blocklength;
diff --git a/gr-trellis/src/lib/trellis_sccc_encoder_XX.h.t b/gr-trellis/src/lib/trellis_sccc_encoder_XX.h.t
index 0e8ff45a4..b16d7ffca 100644
--- a/gr-trellis/src/lib/trellis_sccc_encoder_XX.h.t
+++ b/gr-trellis/src/lib/trellis_sccc_encoder_XX.h.t
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -66,7 +66,7 @@ private:
const fsm &FSMi, int STi,
const interleaver &INTERLEAVER,
int blocklength
- );
+ );
public:
fsm FSMo () const { return d_FSMo; }
diff --git a/gr-trellis/src/lib/trellis_siso_combined_f.cc b/gr-trellis/src/lib/trellis_siso_combined_f.cc
index 2a4cfa123..d27fe4425 100644
--- a/gr-trellis/src/lib/trellis_siso_combined_f.cc
+++ b/gr-trellis/src/lib/trellis_siso_combined_f.cc
@@ -1,19 +1,19 @@
/* -*- 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,
@@ -29,10 +29,10 @@
#include <stdexcept>
#include <assert.h>
#include <iostream>
-
+
static const float INF = 1.0e9;
-trellis_siso_combined_f_sptr
+trellis_siso_combined_f_sptr
trellis_make_siso_combined_f (
const fsm &FSM,
int K,
@@ -61,7 +61,7 @@ trellis_siso_combined_f::trellis_siso_combined_f (
trellis_metric_type_t TYPE)
: gr_block ("siso_combined_f",
gr_make_io_signature (1, -1, sizeof (float)),
- gr_make_io_signature (1, -1, sizeof (float))),
+ gr_make_io_signature (1, -1, sizeof (float))),
d_FSM (FSM),
d_K (K),
d_S0 (S0),
@@ -76,7 +76,7 @@ trellis_siso_combined_f::trellis_siso_combined_f (
//d_beta(FSM.S()*(K+1))
{
int multiple;
- if (d_POSTI && d_POSTO)
+ if (d_POSTI && d_POSTO)
multiple = d_FSM.I()+d_FSM.O();
else if(d_POSTI)
multiple = d_FSM.I();
@@ -88,14 +88,14 @@ trellis_siso_combined_f::trellis_siso_combined_f (
set_output_multiple (d_K*multiple);
//what is the meaning of relative rate for a block with 2 inputs?
//set_relative_rate ( multiple / ((double) d_FSM.I()) );
- // it turns out that the above gives problems in the scheduler, so
+ // it turns out that the above gives problems in the scheduler, so
// let's try (assumption O>I)
//set_relative_rate ( multiple / ((double) d_FSM.O()) );
// I am tempted to automate like this
if(d_FSM.I() <= d_D)
set_relative_rate ( multiple / ((double) d_D) );
else
- set_relative_rate ( multiple / ((double) d_FSM.I()) );
+ set_relative_rate ( multiple / ((double) d_FSM.I()) );
}
@@ -111,7 +111,7 @@ trellis_siso_combined_f::forecast (int noutput_items, gr_vector_int &ninput_item
multiple = d_FSM.O();
else
throw std::runtime_error ("Not both POSTI and POSTO can be false.");
- //printf("forecast: Multiple = %d\n",multiple);
+ //printf("forecast: Multiple = %d\n",multiple);
assert (noutput_items % (d_K*multiple) == 0);
int input_required1 = d_FSM.I() * (noutput_items/multiple) ;
int input_required2 = d_D * (noutput_items/multiple) ;
@@ -142,7 +142,7 @@ inline float min_star(float a, float b)
return (a <= b ? a : b)-log(1+exp(a <= b ? a-b : b-a));
}
-void siso_algorithm_combined(int I, int S, int O,
+void siso_algorithm_combined(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector< std::vector<int> > &PS,
@@ -157,7 +157,7 @@ void siso_algorithm_combined(int I, int S, int O,
const float *priori, const float *observations, float *post//,
//std::vector<float> &alpha,
//std::vector<float> &beta
- )
+ )
{
float norm,mm,minm;
std::vector<float> alpha(S*(K+1));
@@ -186,7 +186,7 @@ void siso_algorithm_combined(int I, int S, int O,
alpha[(k+1)*S+j]=minm;
if(minm<norm) norm=minm;
}
- for(int j=0;j<S;j++)
+ for(int j=0;j<S;j++)
alpha[(k+1)*S+j]-=norm; // normalize total metrics so they do not explode
}
@@ -200,7 +200,7 @@ void siso_algorithm_combined(int I, int S, int O,
for(int k=K-1;k>=0;k--) { // backward recursion
norm=INF;
- for(int j=0;j<S;j++) {
+ for(int j=0;j<S;j++) {
minm=INF;
for(int i=0;i<I;i++) {
int i0 = j*I+i;
@@ -249,8 +249,8 @@ void siso_algorithm_combined(int I, int S, int O,
for(int n=0;n<O;n++)
post[k*(I+O)+I+n]-=norm; // normalize metrics
}
- }
- else if(POSTI)
+ }
+ else if(POSTI)
{
for(int k=0;k<K;k++) { // input combining
norm=INF;
@@ -306,7 +306,7 @@ trellis_siso_combined_f::general_work (int noutput_items,
{
assert (input_items.size() == 2*output_items.size());
int nstreams = output_items.size();
- //printf("general_work:Streams: %d\n",nstreams);
+ //printf("general_work:Streams: %d\n",nstreams);
int multiple;
if (d_POSTI && d_POSTO)
multiple = d_FSM.I()+d_FSM.O();
@@ -319,11 +319,11 @@ trellis_siso_combined_f::general_work (int noutput_items,
assert (noutput_items % (d_K*multiple) == 0);
int nblocks = noutput_items / (d_K*multiple);
- //printf("general_work:Blocks: %d\n",nblocks);
+ //printf("general_work:Blocks: %d\n",nblocks);
//for(int i=0;i<ninput_items.size();i++)
//printf("general_work:Input items available: %d\n",ninput_items[i]);
- float (*p2min)(float, float) = NULL;
+ float (*p2min)(float, float) = NULL;
if(d_SISO_TYPE == TRELLIS_MIN_SUM)
p2min = &min;
else if(d_SISO_TYPE == TRELLIS_SUM_PRODUCT)
diff --git a/gr-trellis/src/lib/trellis_siso_combined_f.h b/gr-trellis/src/lib/trellis_siso_combined_f.h
index 2d043df62..4b28e8de4 100644
--- a/gr-trellis/src/lib/trellis_siso_combined_f.h
+++ b/gr-trellis/src/lib/trellis_siso_combined_f.h
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -40,7 +40,7 @@ TRELLIS_API trellis_siso_combined_f_sptr trellis_make_siso_combined_f (
int SK, // final state (put -1 if not specified)
bool POSTI, // true if you want a-posteriori info about the input symbols to be mux-ed in the output
bool POSTO, // true if you want a-posteriori info about the output symbols to be mux-ed in the output
- trellis_siso_type_t d_SISO_TYPE, // perform "min-sum" or "sum-product" combining
+ trellis_siso_type_t d_SISO_TYPE, // perform "min-sum" or "sum-product" combining
int D,
const std::vector<float> &TABLE,
trellis_metric_type_t TYPE
diff --git a/gr-trellis/src/lib/trellis_siso_f.cc b/gr-trellis/src/lib/trellis_siso_f.cc
index d478c13a3..ffebf1928 100644
--- a/gr-trellis/src/lib/trellis_siso_f.cc
+++ b/gr-trellis/src/lib/trellis_siso_f.cc
@@ -1,19 +1,19 @@
/* -*- 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,
@@ -29,10 +29,10 @@
#include <stdexcept>
#include <assert.h>
#include <iostream>
-
+
static const float INF = 1.0e9;
-trellis_siso_f_sptr
+trellis_siso_f_sptr
trellis_make_siso_f (
const fsm &FSM,
int K,
@@ -55,7 +55,7 @@ trellis_siso_f::trellis_siso_f (
trellis_siso_type_t SISO_TYPE)
: gr_block ("siso_f",
gr_make_io_signature (1, -1, sizeof (float)),
- gr_make_io_signature (1, -1, sizeof (float))),
+ gr_make_io_signature (1, -1, sizeof (float))),
d_FSM (FSM),
d_K (K),
d_S0 (S0),
@@ -67,7 +67,7 @@ trellis_siso_f::trellis_siso_f (
//d_beta(FSM.S()*(K+1))
{
int multiple;
- if (d_POSTI && d_POSTO)
+ if (d_POSTI && d_POSTO)
multiple = d_FSM.I()+d_FSM.O();
else if(d_POSTI)
multiple = d_FSM.I();
@@ -79,14 +79,14 @@ trellis_siso_f::trellis_siso_f (
set_output_multiple (d_K*multiple);
//what is the meaning of relative rate for a block with 2 inputs?
//set_relative_rate ( multiple / ((double) d_FSM.I()) );
- // it turns out that the above gives problems in the scheduler, so
+ // it turns out that the above gives problems in the scheduler, so
// let's try (assumption O>I)
//set_relative_rate ( multiple / ((double) d_FSM.O()) );
// I am tempted to automate like this
if(d_FSM.I() <= d_FSM.O())
set_relative_rate ( multiple / ((double) d_FSM.O()) );
else
- set_relative_rate ( multiple / ((double) d_FSM.I()) );
+ set_relative_rate ( multiple / ((double) d_FSM.I()) );
}
@@ -102,7 +102,7 @@ trellis_siso_f::forecast (int noutput_items, gr_vector_int &ninput_items_require
multiple = d_FSM.O();
else
throw std::runtime_error ("Not both POSTI and POSTO can be false.");
- //printf("forecast: Multiple = %d\n",multiple);
+ //printf("forecast: Multiple = %d\n",multiple);
assert (noutput_items % (d_K*multiple) == 0);
int input_required1 = d_FSM.I() * (noutput_items/multiple) ;
int input_required2 = d_FSM.O() * (noutput_items/multiple) ;
@@ -131,7 +131,7 @@ inline float min_star(float a, float b)
return (a <= b ? a : b)-log(1+exp(a <= b ? a-b : b-a));
}
-void siso_algorithm(int I, int S, int O,
+void siso_algorithm(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector< std::vector<int> > &PS,
@@ -143,7 +143,7 @@ void siso_algorithm(int I, int S, int O,
const float *priori, const float *prioro, float *post//,
//std::vector<float> &alpha,
//std::vector<float> &beta
- )
+ )
{
float norm,mm,minm;
std::vector<float> alpha(S*(K+1));
@@ -170,7 +170,7 @@ void siso_algorithm(int I, int S, int O,
alpha[(k+1)*S+j]=minm;
if(minm<norm) norm=minm;
}
- for(int j=0;j<S;j++)
+ for(int j=0;j<S;j++)
alpha[(k+1)*S+j]-=norm; // normalize total metrics so they do not explode
}
@@ -184,7 +184,7 @@ void siso_algorithm(int I, int S, int O,
for(int k=K-1;k>=0;k--) { // backward recursion
norm=INF;
- for(int j=0;j<S;j++) {
+ for(int j=0;j<S;j++) {
minm=INF;
for(int i=0;i<I;i++) {
int i0 = j*I+i;
@@ -233,8 +233,8 @@ if (POSTI && POSTO)
for(int n=0;n<O;n++)
post[k*(I+O)+I+n]-=norm; // normalize metrics
}
-}
-else if(POSTI)
+}
+else if(POSTI)
{
for(int k=0;k<K;k++) { // input combining
norm=INF;
@@ -288,7 +288,7 @@ trellis_siso_f::general_work (int noutput_items,
{
assert (input_items.size() == 2*output_items.size());
int nstreams = output_items.size();
- //printf("general_work:Streams: %d\n",nstreams);
+ //printf("general_work:Streams: %d\n",nstreams);
int multiple;
if (d_POSTI && d_POSTO)
multiple = d_FSM.I()+d_FSM.O();
@@ -301,11 +301,11 @@ trellis_siso_f::general_work (int noutput_items,
assert (noutput_items % (d_K*multiple) == 0);
int nblocks = noutput_items / (d_K*multiple);
- //printf("general_work:Blocks: %d\n",nblocks);
+ //printf("general_work:Blocks: %d\n",nblocks);
//for(int i=0;i<ninput_items.size();i++)
//printf("general_work:Input items available: %d\n",ninput_items[i]);
- float (*p2min)(float, float) = NULL;
+ float (*p2min)(float, float) = NULL;
if(d_SISO_TYPE == TRELLIS_MIN_SUM)
p2min = &min;
else if(d_SISO_TYPE == TRELLIS_SUM_PRODUCT)
diff --git a/gr-trellis/src/lib/trellis_siso_f.h b/gr-trellis/src/lib/trellis_siso_f.h
index b3d02ad05..9341f2468 100644
--- a/gr-trellis/src/lib/trellis_siso_f.h
+++ b/gr-trellis/src/lib/trellis_siso_f.h
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -39,7 +39,7 @@ TRELLIS_API trellis_siso_f_sptr trellis_make_siso_f (
int SK, // final state (put -1 if not specified)
bool POSTI, // true if you want a-posteriori info about the input symbols to be mux-ed in the output
bool POSTO, // true if you want a-posteriori info about the output symbols to be mux-ed in the output
- trellis_siso_type_t d_SISO_TYPE // perform "min-sum" or "sum-product" combining
+ trellis_siso_type_t d_SISO_TYPE // perform "min-sum" or "sum-product" combining
);
diff --git a/gr-trellis/src/lib/trellis_viterbi_X.cc.t b/gr-trellis/src/lib/trellis_viterbi_X.cc.t
index 2254f6450..cadb89d57 100644
--- a/gr-trellis/src/lib/trellis_viterbi_X.cc.t
+++ b/gr-trellis/src/lib/trellis_viterbi_X.cc.t
@@ -1,19 +1,19 @@
/* -*- 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,
@@ -30,10 +30,10 @@
#include <gr_io_signature.h>
#include <assert.h>
#include <iostream>
-
+
static const float INF = 1.0e9;
-@SPTR_NAME@
+@SPTR_NAME@
trellis_make_@BASE_NAME@ (
const fsm &FSM,
int K,
@@ -50,7 +50,7 @@ trellis_make_@BASE_NAME@ (
int SK)
: gr_block ("@BASE_NAME@",
gr_make_io_signature (1, -1, sizeof (float)),
- gr_make_io_signature (1, -1, sizeof (@TYPE@))),
+ gr_make_io_signature (1, -1, sizeof (@TYPE@))),
d_FSM (FSM),
d_K (K),
d_S0 (S0),
@@ -89,7 +89,7 @@ void viterbi_algorithm<@O_TYPE@>(int I, int S, int O,
/* Moved it to "core_algorithms.cc" */
/*
-void viterbi_algorithm(int I, int S, int O,
+void viterbi_algorithm(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector< std::vector<int> > &PS,
@@ -97,7 +97,7 @@ void viterbi_algorithm(int I, int S, int O,
int K,
int S0,int SK,
const float *in, @TYPE@ *out)//,
- //std::vector<int> &trace)
+ //std::vector<int> &trace)
{
std::vector<int> trace(S*K);
std::vector<float> alpha(S*2);
@@ -130,7 +130,7 @@ void viterbi_algorithm(int I, int S, int O,
alpha[((alphai+1)%2)*S+j]=minm;
if(minm<norm) norm=minm;
}
- for(int j=0;j<S;j++)
+ for(int j=0;j<S;j++)
alpha[((alphai+1)%2)*S+j]-=norm; // normalize total metrics so they do not explode
alphai=(alphai+1)%2;
}
diff --git a/gr-trellis/src/lib/trellis_viterbi_X.h.t b/gr-trellis/src/lib/trellis_viterbi_X.h.t
index c679649bb..c0400d341 100644
--- a/gr-trellis/src/lib/trellis_viterbi_X.h.t
+++ b/gr-trellis/src/lib/trellis_viterbi_X.h.t
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,
@@ -34,7 +34,7 @@ class @NAME@;
typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
TRELLIS_API @SPTR_NAME@ trellis_make_@BASE_NAME@ (
- const fsm &FSM,
+ const fsm &FSM,
int K,
int S0,
int SK);
diff --git a/gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t b/gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t
index e883a0ba7..74611ab8f 100644
--- a/gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t
+++ b/gr-trellis/src/lib/trellis_viterbi_combined_XX.cc.t
@@ -1,19 +1,19 @@
/* -*- 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,
@@ -30,10 +30,10 @@
#include <gr_io_signature.h>
#include <assert.h>
#include <iostream>
-
+
static const float INF = 1.0e9;
-@SPTR_NAME@
+@SPTR_NAME@
trellis_make_@BASE_NAME@ (
const fsm &FSM,
int K,
@@ -56,7 +56,7 @@ trellis_make_@BASE_NAME@ (
trellis_metric_type_t TYPE)
: gr_block ("@BASE_NAME@",
gr_make_io_signature (1, -1, sizeof (@I_TYPE@)),
- gr_make_io_signature (1, -1, sizeof (@O_TYPE@))),
+ gr_make_io_signature (1, -1, sizeof (@O_TYPE@))),
d_FSM (FSM),
d_K (K),
d_S0 (S0),
@@ -71,7 +71,7 @@ trellis_make_@BASE_NAME@ (
}
-void @NAME@::set_TABLE(const std::vector<@I_TYPE@> &table)
+void @NAME@::set_TABLE(const std::vector<@I_TYPE@> &table)
{
d_TABLE = table;
}
@@ -91,7 +91,7 @@ void
/*
-void viterbi_algorithm_combined(int I, int S, int O,
+void viterbi_algorithm_combined(int I, int S, int O,
const std::vector<int> &NS,
const std::vector<int> &OS,
const std::vector< std::vector<int> > &PS,
@@ -102,7 +102,7 @@ void viterbi_algorithm_combined(int I, int S, int O,
const std::vector<@I_TYPE@> &TABLE,
trellis_metric_type_t TYPE,
const @I_TYPE@ *in, @O_TYPE@ *out)//,
- //std::vector<int> &trace)
+ //std::vector<int> &trace)
{
std::vector<int> trace(S*K);
std::vector<float> alpha(S*2);
@@ -136,7 +136,7 @@ void viterbi_algorithm_combined(int I, int S, int O,
alpha[((alphai+1)%2)*S+j]=minm;
if(minm<norm) norm=minm;
}
- for(int j=0;j<S;j++)
+ for(int j=0;j<S;j++)
alpha[((alphai+1)%2)*S+j]-=norm; // normalize total metrics so they do not explode
alphai=(alphai+1)%2;
}
@@ -157,7 +157,7 @@ void viterbi_algorithm_combined(int I, int S, int O,
out[k]= (@O_TYPE@) PI[st][i0];
st=PS[st][i0];
}
-
+
delete [] metric;
}
diff --git a/gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t b/gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t
index 072f66158..c7e468e73 100644
--- a/gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t
+++ b/gr-trellis/src/lib/trellis_viterbi_combined_XX.h.t
@@ -1,19 +1,19 @@
/* -*- c++ -*- */
/*
* Copyright 2004 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,