commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r4252 - in gnuradio/branches/developers/eb/swig-split:


From: eb
Subject: [Commit-gnuradio] r4252 - in gnuradio/branches/developers/eb/swig-split: . config gnuradio-core/src/lib gnuradio-core/src/lib/general gnuradio-core/src/lib/gengen gnuradio-core/src/lib/swig gr-error-correcting-codes/src/lib/libecc/mld
Date: Fri, 12 Jan 2007 13:32:38 -0700 (MST)

Author: eb
Date: 2007-01-12 13:32:37 -0700 (Fri, 12 Jan 2007)
New Revision: 4252

Added:
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/Makefile.am
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/Makefile.gen
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/generate_all.py
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/generate_common.py
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gengen.i
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gengen_generated.i
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_vXX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_vXX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_vXX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_vXX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_vXX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_divide_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_divide_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_endianness.h
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_endianness.i
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_vXX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_vXX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_vXX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_mute_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_mute_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_X.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_X.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_waveform.h
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sub_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sub_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_sink_X.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_sink_X.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_source_X.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_source_X.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig/sw_gengen.i
Removed:
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/generate_all.py
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/generate_common.py
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_vXX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_vXX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_vXX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_vXX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_vXX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_vXX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_divide_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_divide_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_divide_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_endianness.h
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_endianness.i
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_vXX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_vXX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_vXX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_vXX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_vXX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_vXX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_mute_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_mute_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_mute_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_noise_source_X.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_noise_source_X.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_noise_source_X.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sig_source_X.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sig_source_X.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sig_source_X.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sig_source_waveform.h
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sub_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sub_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sub_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_sink_X.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_sink_X.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_sink_X.i.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_source_X.cc.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_source_X.h.t
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_source_X.i.t
Modified:
   gnuradio/branches/developers/eb/swig-split/Makefile.common
   gnuradio/branches/developers/eb/swig-split/config/grc_gnuradio_core.m4
   gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/Makefile.am
   gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/Makefile.am
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/general.i
   gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/
   gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig/
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig/Makefile.am
   
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig/gnuradio_swig_python.py
   
gnuradio/branches/developers/eb/swig-split/gr-error-correcting-codes/src/lib/libecc/mld/Makefile.am
   gnuradio/branches/developers/eb/swig-split/run_tests.sh.in
Log:
gnuradio_swig_python.cc was split into 5 separate pieces,
corresponding to the runtime, general, filter and io directories.  In
addition, the general directory was split into general and gengen,
where gengen contains the generated code that was originally in
general.  

These changes keep gnuradio_swig_python from being rebuilt when you
touch any *.h file, and also reduces the memory footprint of the c++
compiler.  This code passes make distcheck.



Modified: gnuradio/branches/developers/eb/swig-split/Makefile.common
===================================================================
--- gnuradio/branches/developers/eb/swig-split/Makefile.common  2007-01-09 
21:26:24 UTC (rev 4251)
+++ gnuradio/branches/developers/eb/swig-split/Makefile.common  2007-01-12 
20:32:37 UTC (rev 4252)
@@ -41,6 +41,8 @@
 GNURADIO_INCLUDES = -I$(top_srcdir)/gnuradio-core/src/lib/runtime \
                    -I$(top_srcdir)/gnuradio-core/src/lib/general \
                    -I$(top_builddir)/gnuradio-core/src/lib/general \
+                   -I$(top_srcdir)/gnuradio-core/src/lib/gengen \
+                   -I$(top_builddir)/gnuradio-core/src/lib/gengen \
                    -I$(top_srcdir)/gnuradio-core/src/lib/filter \
                    -I$(top_builddir)/gnuradio-core/src/lib/filter \
                    -I$(top_srcdir)/gnuradio-core/src/lib/reed-solomon \

Modified: gnuradio/branches/developers/eb/swig-split/config/grc_gnuradio_core.m4
===================================================================
--- gnuradio/branches/developers/eb/swig-split/config/grc_gnuradio_core.m4      
2007-01-09 21:26:24 UTC (rev 4251)
+++ gnuradio/branches/developers/eb/swig-split/config/grc_gnuradio_core.m4      
2007-01-12 20:32:37 UTC (rev 4252)
@@ -34,6 +34,7 @@
         gnuradio-core/src/lib/g72x/Makefile \
         gnuradio-core/src/lib/general/Makefile \
         gnuradio-core/src/lib/general/gr_prefix.cc \
+        gnuradio-core/src/lib/gengen/Makefile \
         gnuradio-core/src/lib/io/Makefile \
         gnuradio-core/src/lib/missing/Makefile \
         gnuradio-core/src/lib/omnithread/Makefile \
@@ -62,6 +63,7 @@
         AC_CONFIG_COMMANDS([swig_deps],        [
                touch gnuradio-core/src/lib/swig/gnuradio_swig_py_runtime.d
                touch gnuradio-core/src/lib/swig/gnuradio_swig_py_general.d
+               touch gnuradio-core/src/lib/swig/gnuradio_swig_py_gengen.d
                touch gnuradio-core/src/lib/swig/gnuradio_swig_py_filter.d
                touch gnuradio-core/src/lib/swig/gnuradio_swig_py_io.d
                ])

Modified: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/Makefile.am
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/Makefile.am    
    2007-01-09 21:26:24 UTC (rev 4251)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/Makefile.am    
    2007-01-12 20:32:37 UTC (rev 4252)
@@ -24,7 +24,7 @@
 ## Process this file with automake to produce Makefile.in
 
 # We've got to build . before swig
-SUBDIRS = missing runtime filter general g72x reed-solomon omnithread io . swig
+SUBDIRS = missing runtime filter general gengen g72x reed-solomon omnithread 
io . swig
 
 # generate libgnuradio-core.la from the convenience libraries in subdirs
 
@@ -41,6 +41,7 @@
        filter/libfilter.la             \
        g72x/libccitt.la                \
        general/libgeneral.la           \
+       gengen/libgengen.la             \
        io/libio.la                     \
        missing/libmissing.la           \
        omnithread/libomnithread.la     \


Property changes on: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general
___________________________________________________________________
Name: svn:ignore
   - Makefile
Makefile.in
.la
.lo
.deps
.libs
*.la
*.lo
*.pyc
GrFIRfilterCCC.cc
GrFIRfilterCCC.h
GrFIRfilterCCF.cc
GrFIRfilterCCF.h
GrFIRfilterFCC.cc
GrFIRfilterFCC.h
GrFIRfilterFFF.cc
GrFIRfilterFFF.h
GrFIRfilterFSF.cc
GrFIRfilterFSF.h
GrFIRfilterSCC.cc
GrFIRfilterSCC.h
GrFIRfilterSIS.cc
GrFIRfilterSIS.h
GrFreqXlatingFIRfilterCCC.cc
GrFreqXlatingFIRfilterCCC.h
GrFreqXlatingFIRfilterCCF.cc
GrFreqXlatingFIRfilterCCF.h
GrFreqXlatingFIRfilterFCC.cc
GrFreqXlatingFIRfilterFCC.h
GrFreqXlatingFIRfilterFCF.cc
GrFreqXlatingFIRfilterFCF.h
GrFreqXlatingFIRfilterSCC.cc
GrFreqXlatingFIRfilterSCC.h
GrFreqXlatingFIRfilterSCF.cc
GrFreqXlatingFIRfilterSCF.h
gr_fir_CCC.cc
gr_fir_CCC.h
gr_fir_CCC_generic.cc
gr_fir_CCC_generic.h
gr_fir_CCF.cc
gr_fir_CCF.h
gr_fir_CCF_generic.cc
gr_fir_CCF_generic.h
gr_fir_FCC.cc
gr_fir_FCC.h
gr_fir_FCC_generic.cc
gr_fir_FCC_generic.h
gr_fir_FFF.cc
gr_fir_FFF.h
gr_fir_FFF_generic.cc
gr_fir_FFF_generic.h
gr_fir_FSF.cc
gr_fir_FSF.h
gr_fir_FSF_generic.cc
gr_fir_FSF_generic.h
gr_fir_SCC.cc
gr_fir_SCC.h
gr_fir_SCC_generic.cc
gr_fir_SCC_generic.h
gr_fir_SIS.cc
gr_fir_SIS.h
gr_fir_SIS_generic.cc
gr_fir_SIS_generic.h
gr_fir_sysconfig.cc
gr_fir_sysconfig.h
gr_fir_sysconfig_generic.cc
gr_fir_sysconfig_generic.h
gr_fir_util.cc
gr_fir_util.h
GrFIRfilterCCC.i
GrFIRfilterCCF.i
GrFIRfilterFCC.i
GrFIRfilterFFF.i
GrFIRfilterFSF.i
GrFIRfilterSCC.i
GrFIRfilterSIS.i
GrFreqXlatingFIRfilterCCC.i
GrFreqXlatingFIRfilterCCF.i
GrFreqXlatingFIRfilterFCC.i
GrFreqXlatingFIRfilterFCF.i
GrFreqXlatingFIRfilterSCC.i
GrFreqXlatingFIRfilterSCF.i
#
---
generated
files:
don't
go
in
CVS
---
gr_add_cc.cc
gr_add_cc.h
gr_add_cc.i
gr_add_const_c.cc
gr_add_const_c.h
gr_add_const_c.i
gr_add_const_cc.cc
gr_add_const_cc.h
gr_add_const_cc.i
gr_add_const_f.cc
gr_add_const_f.h
gr_add_const_f.i
gr_add_const_ff.cc
gr_add_const_ff.h
gr_add_const_ff.i
gr_add_const_i.cc
gr_add_const_i.h
gr_add_const_i.i
gr_add_const_ii.cc
gr_add_const_ii.h
gr_add_const_ii.i
gr_add_const_s.cc
gr_add_const_s.h
gr_add_const_s.i
gr_add_const_sf.cc
gr_add_const_sf.h
gr_add_const_sf.i
gr_add_const_ss.cc
gr_add_const_ss.h
gr_add_const_ss.i
gr_add_const_vcc.cc
gr_add_const_vcc.h
gr_add_const_vcc.i
gr_add_const_vff.cc
gr_add_const_vff.h
gr_add_const_vff.i
gr_add_const_vii.cc
gr_add_const_vii.h
gr_add_const_vii.i
gr_add_const_vss.cc
gr_add_const_vss.h
gr_add_const_vss.i
gr_add_ff.cc
gr_add_ff.h
gr_add_ff.i
gr_add_ii.cc
gr_add_ii.h
gr_add_ii.i
gr_add_ss.cc
gr_add_ss.h
gr_add_ss.i
gr_add_vcc.cc
gr_add_vcc.h
gr_add_vcc.i
gr_add_vff.cc
gr_add_vff.h
gr_add_vff.i
gr_add_vii.cc
gr_add_vii.h
gr_add_vii.i
gr_add_vss.cc
gr_add_vss.h
gr_add_vss.i
gr_divide_cc.cc
gr_divide_cc.h
gr_divide_cc.i
gr_divide_ff.cc
gr_divide_ff.h
gr_divide_ff.i
gr_divide_ii.cc
gr_divide_ii.h
gr_divide_ii.i
gr_divide_ss.cc
gr_divide_ss.h
gr_divide_ss.i
gr_multiply_cc.cc
gr_multiply_cc.h
gr_multiply_cc.i
gr_multiply_const_cc.cc
gr_multiply_const_cc.h
gr_multiply_const_cc.i
gr_multiply_const_ff.cc
gr_multiply_const_ff.h
gr_multiply_const_ff.i
gr_multiply_const_ii.cc
gr_multiply_const_ii.h
gr_multiply_const_ii.i
gr_multiply_const_ss.cc
gr_multiply_const_ss.h
gr_multiply_const_ss.i
gr_multiply_ff.cc
gr_multiply_ff.h
gr_multiply_ff.i
gr_multiply_ii.cc
gr_multiply_ii.h
gr_multiply_ii.i
gr_multiply_ss.cc
gr_multiply_ss.h
gr_multiply_ss.i
gr_multiply_vcc.cc
gr_multiply_vcc.h
gr_multiply_vcc.i
gr_multiply_vff.cc
gr_multiply_vff.h
gr_multiply_vff.i
gr_multiply_vii.cc
gr_multiply_vii.h
gr_multiply_vii.i
gr_multiply_vss.cc
gr_multiply_vss.h
gr_multiply_vss.i
gr_multiply_const_vcc.cc
gr_multiply_const_vcc.h
gr_multiply_const_vcc.i
gr_multiply_const_vff.cc
gr_multiply_const_vff.h
gr_multiply_const_vff.i
gr_multiply_const_vii.cc
gr_multiply_const_vii.h
gr_multiply_const_vii.i
gr_multiply_const_vss.cc
gr_multiply_const_vss.h
gr_multiply_const_vss.i
gr_noise_source_c.cc
gr_noise_source_c.h
gr_noise_source_c.i
gr_noise_source_f.cc
gr_noise_source_f.h
gr_noise_source_f.i
gr_noise_source_i.cc
gr_noise_source_i.h
gr_noise_source_i.i
gr_noise_source_s.cc
gr_noise_source_s.h
gr_noise_source_s.i
gr_sig_source_c.cc
gr_sig_source_c.h
gr_sig_source_c.i
gr_sig_source_f.cc
gr_sig_source_f.h
gr_sig_source_f.i
gr_sig_source_i.cc
gr_sig_source_i.h
gr_sig_source_i.i
gr_sig_source_s.cc
gr_sig_source_s.h
gr_sig_source_s.i
gr_sub_cc.cc
gr_sub_cc.h
gr_sub_cc.i
gr_sub_ff.cc
gr_sub_ff.h
gr_sub_ff.i
gr_sub_ii.cc
gr_sub_ii.h
gr_sub_ii.i
gr_sub_ss.cc
gr_sub_ss.h
gr_sub_ss.i
gr_vector_sink_b.cc
gr_vector_sink_b.h
gr_vector_sink_b.i
gr_vector_sink_c.cc
gr_vector_sink_c.h
gr_vector_sink_c.i
gr_vector_sink_f.cc
gr_vector_sink_f.h
gr_vector_sink_f.i
gr_vector_sink_i.cc
gr_vector_sink_i.h
gr_vector_sink_i.i
gr_vector_sink_s.cc
gr_vector_sink_s.h
gr_vector_sink_s.i
gr_vector_source_b.cc
gr_vector_source_b.h
gr_vector_source_b.i
gr_vector_source_c.cc
gr_vector_source_c.h
gr_vector_source_c.i
gr_vector_source_f.cc
gr_vector_source_f.h
gr_vector_source_f.i
gr_vector_source_i.cc
gr_vector_source_i.h
gr_vector_source_i.i
gr_vector_source_s.cc
gr_vector_source_s.h
gr_vector_source_s.i
gr_mute_cc.cc
gr_mute_cc.h
gr_mute_cc.i
gr_mute_ff.cc
gr_mute_ff.h
gr_mute_ff.i
gr_mute_ii.cc
gr_mute_ii.h
gr_mute_ii.i
gr_mute_ss.cc
gr_mute_ss.h
gr_mute_ss.i
gr_prefix.cc
gr_chunks_to_symbols_bc.cc
gr_chunks_to_symbols_bc.h
gr_chunks_to_symbols_bc.i
gr_chunks_to_symbols_bf.cc
gr_chunks_to_symbols_bf.h
gr_chunks_to_symbols_bf.i
gr_chunks_to_symbols_ic.cc
gr_chunks_to_symbols_ic.h
gr_chunks_to_symbols_ic.i
gr_chunks_to_symbols_if.cc
gr_chunks_to_symbols_if.h
gr_chunks_to_symbols_if.i
gr_chunks_to_symbols_sc.cc
gr_chunks_to_symbols_sc.h
gr_chunks_to_symbols_sc.i
gr_chunks_to_symbols_sf.cc
gr_chunks_to_symbols_sf.h
gr_chunks_to_symbols_sf.i
gr_packed_to_unpacked_bb.cc
gr_packed_to_unpacked_bb.h
gr_packed_to_unpacked_bb.i
gr_packed_to_unpacked_ii.cc
gr_packed_to_unpacked_ii.h
gr_packed_to_unpacked_ii.i
gr_packed_to_unpacked_ss.cc
gr_packed_to_unpacked_ss.h
gr_packed_to_unpacked_ss.i
gr_unpacked_to_packed_bb.cc
gr_unpacked_to_packed_bb.h
gr_unpacked_to_packed_bb.i
gr_unpacked_to_packed_ii.cc
gr_unpacked_to_packed_ii.h
gr_unpacked_to_packed_ii.i
gr_unpacked_to_packed_ss.cc
gr_unpacked_to_packed_ss.h
gr_unpacked_to_packed_ss.i
#
---
end
generated
files
---
   + Makefile
Makefile.in
.la
.lo
.deps
.libs
*.la
*.lo
*.pyc
GrFIRfilterCCC.cc
GrFIRfilterCCC.h
GrFIRfilterCCF.cc
GrFIRfilterCCF.h
GrFIRfilterFCC.cc
GrFIRfilterFCC.h
GrFIRfilterFFF.cc
GrFIRfilterFFF.h
GrFIRfilterFSF.cc
GrFIRfilterFSF.h
GrFIRfilterSCC.cc
GrFIRfilterSCC.h
GrFIRfilterSIS.cc
GrFIRfilterSIS.h
GrFreqXlatingFIRfilterCCC.cc
GrFreqXlatingFIRfilterCCC.h
GrFreqXlatingFIRfilterCCF.cc
GrFreqXlatingFIRfilterCCF.h
GrFreqXlatingFIRfilterFCC.cc
GrFreqXlatingFIRfilterFCC.h
GrFreqXlatingFIRfilterFCF.cc
GrFreqXlatingFIRfilterFCF.h
GrFreqXlatingFIRfilterSCC.cc
GrFreqXlatingFIRfilterSCC.h
GrFreqXlatingFIRfilterSCF.cc
GrFreqXlatingFIRfilterSCF.h
gr_fir_CCC.cc
gr_fir_CCC.h
gr_fir_CCC_generic.cc
gr_fir_CCC_generic.h
gr_fir_CCF.cc
gr_fir_CCF.h
gr_fir_CCF_generic.cc
gr_fir_CCF_generic.h
gr_fir_FCC.cc
gr_fir_FCC.h
gr_fir_FCC_generic.cc
gr_fir_FCC_generic.h
gr_fir_FFF.cc
gr_fir_FFF.h
gr_fir_FFF_generic.cc
gr_fir_FFF_generic.h
gr_fir_FSF.cc
gr_fir_FSF.h
gr_fir_FSF_generic.cc
gr_fir_FSF_generic.h
gr_fir_SCC.cc
gr_fir_SCC.h
gr_fir_SCC_generic.cc
gr_fir_SCC_generic.h
gr_fir_SIS.cc
gr_fir_SIS.h
gr_fir_SIS_generic.cc
gr_fir_SIS_generic.h
gr_fir_sysconfig.cc
gr_fir_sysconfig.h
gr_fir_sysconfig_generic.cc
gr_fir_sysconfig_generic.h
gr_fir_util.cc
gr_fir_util.h
GrFIRfilterCCC.i
GrFIRfilterCCF.i
GrFIRfilterFCC.i
GrFIRfilterFFF.i
GrFIRfilterFSF.i
GrFIRfilterSCC.i
GrFIRfilterSIS.i
GrFreqXlatingFIRfilterCCC.i
GrFreqXlatingFIRfilterCCF.i
GrFreqXlatingFIRfilterFCC.i
GrFreqXlatingFIRfilterFCF.i
GrFreqXlatingFIRfilterSCC.i
GrFreqXlatingFIRfilterSCF.i
# --- generated files ---
gr_add_cc.cc
gr_add_cc.h
gr_add_cc.i
gr_add_const_c.cc
gr_add_const_c.h
gr_add_const_c.i
gr_add_const_cc.cc
gr_add_const_cc.h
gr_add_const_cc.i
gr_add_const_f.cc
gr_add_const_f.h
gr_add_const_f.i
gr_add_const_ff.cc
gr_add_const_ff.h
gr_add_const_ff.i
gr_add_const_i.cc
gr_add_const_i.h
gr_add_const_i.i
gr_add_const_ii.cc
gr_add_const_ii.h
gr_add_const_ii.i
gr_add_const_s.cc
gr_add_const_s.h
gr_add_const_s.i
gr_add_const_sf.cc
gr_add_const_sf.h
gr_add_const_sf.i
gr_add_const_ss.cc
gr_add_const_ss.h
gr_add_const_ss.i
gr_add_const_vcc.cc
gr_add_const_vcc.h
gr_add_const_vcc.i
gr_add_const_vff.cc
gr_add_const_vff.h
gr_add_const_vff.i
gr_add_const_vii.cc
gr_add_const_vii.h
gr_add_const_vii.i
gr_add_const_vss.cc
gr_add_const_vss.h
gr_add_const_vss.i
gr_add_ff.cc
gr_add_ff.h
gr_add_ff.i
gr_add_ii.cc
gr_add_ii.h
gr_add_ii.i
gr_add_ss.cc
gr_add_ss.h
gr_add_ss.i
gr_add_vcc.cc
gr_add_vcc.h
gr_add_vcc.i
gr_add_vff.cc
gr_add_vff.h
gr_add_vff.i
gr_add_vii.cc
gr_add_vii.h
gr_add_vii.i
gr_add_vss.cc
gr_add_vss.h
gr_add_vss.i
gr_divide_cc.cc
gr_divide_cc.h
gr_divide_cc.i
gr_divide_ff.cc
gr_divide_ff.h
gr_divide_ff.i
gr_divide_ii.cc
gr_divide_ii.h
gr_divide_ii.i
gr_divide_ss.cc
gr_divide_ss.h
gr_divide_ss.i
gr_multiply_cc.cc
gr_multiply_cc.h
gr_multiply_cc.i
gr_multiply_const_cc.cc
gr_multiply_const_cc.h
gr_multiply_const_cc.i
gr_multiply_const_ff.cc
gr_multiply_const_ff.h
gr_multiply_const_ff.i
gr_multiply_const_ii.cc
gr_multiply_const_ii.h
gr_multiply_const_ii.i
gr_multiply_const_ss.cc
gr_multiply_const_ss.h
gr_multiply_const_ss.i
gr_multiply_ff.cc
gr_multiply_ff.h
gr_multiply_ff.i
gr_multiply_ii.cc
gr_multiply_ii.h
gr_multiply_ii.i
gr_multiply_ss.cc
gr_multiply_ss.h
gr_multiply_ss.i
gr_multiply_vcc.cc
gr_multiply_vcc.h
gr_multiply_vcc.i
gr_multiply_vff.cc
gr_multiply_vff.h
gr_multiply_vff.i
gr_multiply_vii.cc
gr_multiply_vii.h
gr_multiply_vii.i
gr_multiply_vss.cc
gr_multiply_vss.h
gr_multiply_vss.i
gr_multiply_const_vcc.cc
gr_multiply_const_vcc.h
gr_multiply_const_vcc.i
gr_multiply_const_vff.cc
gr_multiply_const_vff.h
gr_multiply_const_vff.i
gr_multiply_const_vii.cc
gr_multiply_const_vii.h
gr_multiply_const_vii.i
gr_multiply_const_vss.cc
gr_multiply_const_vss.h
gr_multiply_const_vss.i
gr_noise_source_c.cc
gr_noise_source_c.h
gr_noise_source_c.i
gr_noise_source_f.cc
gr_noise_source_f.h
gr_noise_source_f.i
gr_noise_source_i.cc
gr_noise_source_i.h
gr_noise_source_i.i
gr_noise_source_s.cc
gr_noise_source_s.h
gr_noise_source_s.i
gr_sig_source_c.cc
gr_sig_source_c.h
gr_sig_source_c.i
gr_sig_source_f.cc
gr_sig_source_f.h
gr_sig_source_f.i
gr_sig_source_i.cc
gr_sig_source_i.h
gr_sig_source_i.i
gr_sig_source_s.cc
gr_sig_source_s.h
gr_sig_source_s.i
gr_sub_cc.cc
gr_sub_cc.h
gr_sub_cc.i
gr_sub_ff.cc
gr_sub_ff.h
gr_sub_ff.i
gr_sub_ii.cc
gr_sub_ii.h
gr_sub_ii.i
gr_sub_ss.cc
gr_sub_ss.h
gr_sub_ss.i
gr_vector_sink_b.cc
gr_vector_sink_b.h
gr_vector_sink_b.i
gr_vector_sink_c.cc
gr_vector_sink_c.h
gr_vector_sink_c.i
gr_vector_sink_f.cc
gr_vector_sink_f.h
gr_vector_sink_f.i
gr_vector_sink_i.cc
gr_vector_sink_i.h
gr_vector_sink_i.i
gr_vector_sink_s.cc
gr_vector_sink_s.h
gr_vector_sink_s.i
gr_vector_source_b.cc
gr_vector_source_b.h
gr_vector_source_b.i
gr_vector_source_c.cc
gr_vector_source_c.h
gr_vector_source_c.i
gr_vector_source_f.cc
gr_vector_source_f.h
gr_vector_source_f.i
gr_vector_source_i.cc
gr_vector_source_i.h
gr_vector_source_i.i
gr_vector_source_s.cc
gr_vector_source_s.h
gr_vector_source_s.i
gr_mute_cc.cc
gr_mute_cc.h
gr_mute_cc.i
gr_mute_ff.cc
gr_mute_ff.h
gr_mute_ff.i
gr_mute_ii.cc
gr_mute_ii.h
gr_mute_ii.i
gr_mute_ss.cc
gr_mute_ss.h
gr_mute_ss.i
gr_prefix.cc
gr_chunks_to_symbols_bc.cc
gr_chunks_to_symbols_bc.h
gr_chunks_to_symbols_bc.i
gr_chunks_to_symbols_bf.cc
gr_chunks_to_symbols_bf.h
gr_chunks_to_symbols_bf.i
gr_chunks_to_symbols_ic.cc
gr_chunks_to_symbols_ic.h
gr_chunks_to_symbols_ic.i
gr_chunks_to_symbols_if.cc
gr_chunks_to_symbols_if.h
gr_chunks_to_symbols_if.i
gr_chunks_to_symbols_sc.cc
gr_chunks_to_symbols_sc.h
gr_chunks_to_symbols_sc.i
gr_chunks_to_symbols_sf.cc
gr_chunks_to_symbols_sf.h
gr_chunks_to_symbols_sf.i
gr_packed_to_unpacked_bb.cc
gr_packed_to_unpacked_bb.h
gr_packed_to_unpacked_bb.i
gr_packed_to_unpacked_ii.cc
gr_packed_to_unpacked_ii.h
gr_packed_to_unpacked_ii.i
gr_packed_to_unpacked_ss.cc
gr_packed_to_unpacked_ss.h
gr_packed_to_unpacked_ss.i
gr_unpacked_to_packed_bb.cc
gr_unpacked_to_packed_bb.h
gr_unpacked_to_packed_bb.i
gr_unpacked_to_packed_ii.cc
gr_unpacked_to_packed_ii.h
gr_unpacked_to_packed_ii.i
gr_unpacked_to_packed_ss.cc
gr_unpacked_to_packed_ss.h
gr_unpacked_to_packed_ss.i
# --- end generated files ---


Modified: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/Makefile.am
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/Makefile.am
        2007-01-09 21:26:24 UTC (rev 4251)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/Makefile.am
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -25,86 +25,15 @@
 
 noinst_LTLIBRARIES = libgeneral.la libgeneral-qa.la
 
-# ----------------------------------------------------------------
-# these scripts generate code
+BUILT_SOURCES = 
 
-CODE_GENERATOR =                       \
-       generate_all.py                 \
-       generate_common.py              \
-       gr_add_XX.cc.t                  \
-       gr_add_XX.h.t                   \
-       gr_add_XX.i.t                   \
-       gr_add_const_XX.cc.t            \
-       gr_add_const_XX.h.t             \
-       gr_add_const_XX.i.t             \
-       gr_add_vXX.cc.t                 \
-       gr_add_vXX.h.t                  \
-       gr_add_vXX.i.t                  \
-       gr_add_const_vXX.cc.t           \
-       gr_add_const_vXX.h.t            \
-       gr_add_const_vXX.i.t            \
-       gr_chunks_to_symbols_XX.cc.t    \
-       gr_chunks_to_symbols_XX.h.t     \
-       gr_chunks_to_symbols_XX.i.t     \
-       gr_divide_XX.cc.t               \
-       gr_divide_XX.h.t                \
-       gr_divide_XX.i.t                \
-       gr_multiply_XX.cc.t             \
-       gr_multiply_XX.h.t              \
-       gr_multiply_XX.i.t              \
-       gr_multiply_const_XX.cc.t       \
-       gr_multiply_const_XX.h.t        \
-       gr_multiply_const_XX.i.t        \
-       gr_multiply_vXX.cc.t            \
-       gr_multiply_vXX.h.t             \
-       gr_multiply_vXX.i.t             \
-       gr_multiply_const_vXX.cc.t      \
-       gr_multiply_const_vXX.h.t       \
-       gr_multiply_const_vXX.i.t       \
-       gr_mute_XX.cc.t                 \
-       gr_mute_XX.h.t                  \
-       gr_mute_XX.i.t                  \
-       gr_noise_source_X.cc.t          \
-       gr_noise_source_X.h.t           \
-       gr_noise_source_X.i.t           \
-       gr_packed_to_unpacked_XX.cc.t   \
-       gr_packed_to_unpacked_XX.h.t    \
-       gr_packed_to_unpacked_XX.i.t    \
-       gr_sig_source_X.cc.t            \
-       gr_sig_source_X.h.t             \
-       gr_sig_source_X.i.t             \
-       gr_sub_XX.cc.t                  \
-       gr_sub_XX.h.t                   \
-       gr_sub_XX.i.t                   \
-       gr_unpacked_to_packed_XX.cc.t   \
-       gr_unpacked_to_packed_XX.h.t    \
-       gr_unpacked_to_packed_XX.i.t    \
-       gr_vector_source_X.cc.t         \
-       gr_vector_source_X.h.t          \
-       gr_vector_source_X.i.t          \
-       gr_vector_sink_X.cc.t           \
-       gr_vector_sink_X.h.t            \
-       gr_vector_sink_X.i.t            
-
-# include $(srcdir)/Makefile.gen
-include Makefile.gen
-
-
-$(GENERATED_H) $(GENERATED_I) $(GENERATED_CC): $(CODE_GENERATOR)
-       PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) 
$(srcdir)/generate_all.py
-
-
-BUILT_SOURCES = $(GENERATED_H) $(GENERATED_I) $(GENERATED_CC)
-
 # ----------------------------------------------------------------
 
 EXTRA_DIST =                           \
-       $(CODE_GENERATOR)               \
        gen_sine_table.py               \
        gr_prefix.cc.in                 
 
 libgeneral_la_SOURCES =                \
-       $(GENERATED_CC)                 \
        gr_agc_cc.cc                    \
        gr_agc_ff.cc                    \
        gr_agc2_cc.cc                   \
@@ -223,7 +152,6 @@
 
 
 grinclude_HEADERS =                    \
-       $(GENERATED_H)                  \
        gr_agc_cc.h                     \
        gr_agc_ff.h                     \
        gr_agc2_cc.h                    \
@@ -252,7 +180,6 @@
        gr_diff_encoder_bb.h            \
        gr_deinterleave.h               \
        gr_diff_phasor_cc.h             \
-       gr_endianness.h                 \
        gr_expj.h                       \
        gr_fake_channel_coder_pp.h      \
        gr_feedforward_agc_cc.h         \
@@ -307,7 +234,6 @@
        gr_rms_cf.h                     \
        gr_rms_ff.h                     \
        gr_short_to_float.h             \
-       gr_sig_source_waveform.h        \
        gr_simple_correlator.h          \
        gr_simple_framer.h              \
        gr_simple_framer_sync.h         \
@@ -359,9 +285,7 @@
        sine_table.h                    
 
 swiginclude_HEADERS =                  \
-       $(GENERATED_I)                  \
        general.i                       \
-       general_generated.i             \
        gr_agc_cc.i                     \
        gr_agc_ff.i                     \
        gr_agc2_cc.i                    \
@@ -388,7 +312,6 @@
        gr_diff_encoder_bb.i            \
        gr_diff_phasor_cc.i             \
        gr_deinterleave.i               \
-       gr_endianness.i                 \
        gr_fake_channel_coder_pp.i      \
        gr_feedforward_agc_cc.i         \
        gr_feval.i                      \

Modified: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/general.i
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/general.i
  2007-01-09 21:26:24 UTC (rev 4251)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/general.i
  2007-01-12 20:32:37 UTC (rev 4252)
@@ -27,7 +27,7 @@
 #include <gr_null_source.h>
 #include <gr_head.h>
 #include <gr_skiphead.h>
-#include <gr_sig_source_waveform.h>
+#include <gr_noise_type.h>
 #include <gr_quadrature_demod_cf.h>
 #include <gr_remez.h>
 #include <gr_float_to_complex.h>
@@ -117,7 +117,6 @@
 %include "gr_null_source.i"
 %include "gr_head.i"
 %include "gr_skiphead.i"
-%include "gr_sig_source_waveform.h"
 %include "gr_noise_type.h"
 %include "gr_quadrature_demod_cf.i"
 %include "gr_remez.i"
@@ -201,5 +200,3 @@
 %include "gr_ctcss_squelch_ff.i"
 %include "gr_feedforward_agc_cc.i"
 %include "gr_bin_statistics_f.i"
-
-%include "general_generated.i"

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/generate_all.py

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/generate_common.py

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_XX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_XX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_XX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_XX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_XX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_XX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_vXX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_vXX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_vXX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_vXX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_vXX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_vXX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_divide_XX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_divide_XX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_divide_XX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_endianness.h

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_endianness.i

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_XX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_XX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_XX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_XX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_XX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_XX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_vXX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_vXX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_vXX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_vXX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_vXX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_vXX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_mute_XX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_mute_XX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_mute_XX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_noise_source_X.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_noise_source_X.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_noise_source_X.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sig_source_X.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sig_source_X.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sig_source_X.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sig_source_waveform.h

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sub_XX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sub_XX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sub_XX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_sink_X.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_sink_X.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_sink_X.i.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_source_X.cc.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_source_X.h.t

Deleted: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_source_X.i.t


Property changes on: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen
___________________________________________________________________
Name: svn:ignore
   + Makefile
Makefile.in
.la
.lo
.deps
.libs
*.la
*.lo
*.pyc
GrFIRfilterCCC.cc
GrFIRfilterCCC.h
GrFIRfilterCCF.cc
GrFIRfilterCCF.h
GrFIRfilterFCC.cc
GrFIRfilterFCC.h
GrFIRfilterFFF.cc
GrFIRfilterFFF.h
GrFIRfilterFSF.cc
GrFIRfilterFSF.h
GrFIRfilterSCC.cc
GrFIRfilterSCC.h
GrFIRfilterSIS.cc
GrFIRfilterSIS.h
GrFreqXlatingFIRfilterCCC.cc
GrFreqXlatingFIRfilterCCC.h
GrFreqXlatingFIRfilterCCF.cc
GrFreqXlatingFIRfilterCCF.h
GrFreqXlatingFIRfilterFCC.cc
GrFreqXlatingFIRfilterFCC.h
GrFreqXlatingFIRfilterFCF.cc
GrFreqXlatingFIRfilterFCF.h
GrFreqXlatingFIRfilterSCC.cc
GrFreqXlatingFIRfilterSCC.h
GrFreqXlatingFIRfilterSCF.cc
GrFreqXlatingFIRfilterSCF.h
gr_fir_CCC.cc
gr_fir_CCC.h
gr_fir_CCC_generic.cc
gr_fir_CCC_generic.h
gr_fir_CCF.cc
gr_fir_CCF.h
gr_fir_CCF_generic.cc
gr_fir_CCF_generic.h
gr_fir_FCC.cc
gr_fir_FCC.h
gr_fir_FCC_generic.cc
gr_fir_FCC_generic.h
gr_fir_FFF.cc
gr_fir_FFF.h
gr_fir_FFF_generic.cc
gr_fir_FFF_generic.h
gr_fir_FSF.cc
gr_fir_FSF.h
gr_fir_FSF_generic.cc
gr_fir_FSF_generic.h
gr_fir_SCC.cc
gr_fir_SCC.h
gr_fir_SCC_generic.cc
gr_fir_SCC_generic.h
gr_fir_SIS.cc
gr_fir_SIS.h
gr_fir_SIS_generic.cc
gr_fir_SIS_generic.h
gr_fir_sysconfig.cc
gr_fir_sysconfig.h
gr_fir_sysconfig_generic.cc
gr_fir_sysconfig_generic.h
gr_fir_util.cc
gr_fir_util.h
GrFIRfilterCCC.i
GrFIRfilterCCF.i
GrFIRfilterFCC.i
GrFIRfilterFFF.i
GrFIRfilterFSF.i
GrFIRfilterSCC.i
GrFIRfilterSIS.i
GrFreqXlatingFIRfilterCCC.i
GrFreqXlatingFIRfilterCCF.i
GrFreqXlatingFIRfilterFCC.i
GrFreqXlatingFIRfilterFCF.i
GrFreqXlatingFIRfilterSCC.i
GrFreqXlatingFIRfilterSCF.i
# --- generated files ---
gr_add_cc.cc
gr_add_cc.h
gr_add_cc.i
gr_add_const_c.cc
gr_add_const_c.h
gr_add_const_c.i
gr_add_const_cc.cc
gr_add_const_cc.h
gr_add_const_cc.i
gr_add_const_f.cc
gr_add_const_f.h
gr_add_const_f.i
gr_add_const_ff.cc
gr_add_const_ff.h
gr_add_const_ff.i
gr_add_const_i.cc
gr_add_const_i.h
gr_add_const_i.i
gr_add_const_ii.cc
gr_add_const_ii.h
gr_add_const_ii.i
gr_add_const_s.cc
gr_add_const_s.h
gr_add_const_s.i
gr_add_const_sf.cc
gr_add_const_sf.h
gr_add_const_sf.i
gr_add_const_ss.cc
gr_add_const_ss.h
gr_add_const_ss.i
gr_add_const_vcc.cc
gr_add_const_vcc.h
gr_add_const_vcc.i
gr_add_const_vff.cc
gr_add_const_vff.h
gr_add_const_vff.i
gr_add_const_vii.cc
gr_add_const_vii.h
gr_add_const_vii.i
gr_add_const_vss.cc
gr_add_const_vss.h
gr_add_const_vss.i
gr_add_ff.cc
gr_add_ff.h
gr_add_ff.i
gr_add_ii.cc
gr_add_ii.h
gr_add_ii.i
gr_add_ss.cc
gr_add_ss.h
gr_add_ss.i
gr_add_vcc.cc
gr_add_vcc.h
gr_add_vcc.i
gr_add_vff.cc
gr_add_vff.h
gr_add_vff.i
gr_add_vii.cc
gr_add_vii.h
gr_add_vii.i
gr_add_vss.cc
gr_add_vss.h
gr_add_vss.i
gr_divide_cc.cc
gr_divide_cc.h
gr_divide_cc.i
gr_divide_ff.cc
gr_divide_ff.h
gr_divide_ff.i
gr_divide_ii.cc
gr_divide_ii.h
gr_divide_ii.i
gr_divide_ss.cc
gr_divide_ss.h
gr_divide_ss.i
gr_multiply_cc.cc
gr_multiply_cc.h
gr_multiply_cc.i
gr_multiply_const_cc.cc
gr_multiply_const_cc.h
gr_multiply_const_cc.i
gr_multiply_const_ff.cc
gr_multiply_const_ff.h
gr_multiply_const_ff.i
gr_multiply_const_ii.cc
gr_multiply_const_ii.h
gr_multiply_const_ii.i
gr_multiply_const_ss.cc
gr_multiply_const_ss.h
gr_multiply_const_ss.i
gr_multiply_ff.cc
gr_multiply_ff.h
gr_multiply_ff.i
gr_multiply_ii.cc
gr_multiply_ii.h
gr_multiply_ii.i
gr_multiply_ss.cc
gr_multiply_ss.h
gr_multiply_ss.i
gr_multiply_vcc.cc
gr_multiply_vcc.h
gr_multiply_vcc.i
gr_multiply_vff.cc
gr_multiply_vff.h
gr_multiply_vff.i
gr_multiply_vii.cc
gr_multiply_vii.h
gr_multiply_vii.i
gr_multiply_vss.cc
gr_multiply_vss.h
gr_multiply_vss.i
gr_multiply_const_vcc.cc
gr_multiply_const_vcc.h
gr_multiply_const_vcc.i
gr_multiply_const_vff.cc
gr_multiply_const_vff.h
gr_multiply_const_vff.i
gr_multiply_const_vii.cc
gr_multiply_const_vii.h
gr_multiply_const_vii.i
gr_multiply_const_vss.cc
gr_multiply_const_vss.h
gr_multiply_const_vss.i
gr_noise_source_c.cc
gr_noise_source_c.h
gr_noise_source_c.i
gr_noise_source_f.cc
gr_noise_source_f.h
gr_noise_source_f.i
gr_noise_source_i.cc
gr_noise_source_i.h
gr_noise_source_i.i
gr_noise_source_s.cc
gr_noise_source_s.h
gr_noise_source_s.i
gr_sig_source_c.cc
gr_sig_source_c.h
gr_sig_source_c.i
gr_sig_source_f.cc
gr_sig_source_f.h
gr_sig_source_f.i
gr_sig_source_i.cc
gr_sig_source_i.h
gr_sig_source_i.i
gr_sig_source_s.cc
gr_sig_source_s.h
gr_sig_source_s.i
gr_sub_cc.cc
gr_sub_cc.h
gr_sub_cc.i
gr_sub_ff.cc
gr_sub_ff.h
gr_sub_ff.i
gr_sub_ii.cc
gr_sub_ii.h
gr_sub_ii.i
gr_sub_ss.cc
gr_sub_ss.h
gr_sub_ss.i
gr_vector_sink_b.cc
gr_vector_sink_b.h
gr_vector_sink_b.i
gr_vector_sink_c.cc
gr_vector_sink_c.h
gr_vector_sink_c.i
gr_vector_sink_f.cc
gr_vector_sink_f.h
gr_vector_sink_f.i
gr_vector_sink_i.cc
gr_vector_sink_i.h
gr_vector_sink_i.i
gr_vector_sink_s.cc
gr_vector_sink_s.h
gr_vector_sink_s.i
gr_vector_source_b.cc
gr_vector_source_b.h
gr_vector_source_b.i
gr_vector_source_c.cc
gr_vector_source_c.h
gr_vector_source_c.i
gr_vector_source_f.cc
gr_vector_source_f.h
gr_vector_source_f.i
gr_vector_source_i.cc
gr_vector_source_i.h
gr_vector_source_i.i
gr_vector_source_s.cc
gr_vector_source_s.h
gr_vector_source_s.i
gr_mute_cc.cc
gr_mute_cc.h
gr_mute_cc.i
gr_mute_ff.cc
gr_mute_ff.h
gr_mute_ff.i
gr_mute_ii.cc
gr_mute_ii.h
gr_mute_ii.i
gr_mute_ss.cc
gr_mute_ss.h
gr_mute_ss.i
gr_prefix.cc
gr_chunks_to_symbols_bc.cc
gr_chunks_to_symbols_bc.h
gr_chunks_to_symbols_bc.i
gr_chunks_to_symbols_bf.cc
gr_chunks_to_symbols_bf.h
gr_chunks_to_symbols_bf.i
gr_chunks_to_symbols_ic.cc
gr_chunks_to_symbols_ic.h
gr_chunks_to_symbols_ic.i
gr_chunks_to_symbols_if.cc
gr_chunks_to_symbols_if.h
gr_chunks_to_symbols_if.i
gr_chunks_to_symbols_sc.cc
gr_chunks_to_symbols_sc.h
gr_chunks_to_symbols_sc.i
gr_chunks_to_symbols_sf.cc
gr_chunks_to_symbols_sf.h
gr_chunks_to_symbols_sf.i
gr_packed_to_unpacked_bb.cc
gr_packed_to_unpacked_bb.h
gr_packed_to_unpacked_bb.i
gr_packed_to_unpacked_ii.cc
gr_packed_to_unpacked_ii.h
gr_packed_to_unpacked_ii.i
gr_packed_to_unpacked_ss.cc
gr_packed_to_unpacked_ss.h
gr_packed_to_unpacked_ss.i
gr_unpacked_to_packed_bb.cc
gr_unpacked_to_packed_bb.h
gr_unpacked_to_packed_bb.i
gr_unpacked_to_packed_ii.cc
gr_unpacked_to_packed_ii.h
gr_unpacked_to_packed_ii.i
gr_unpacked_to_packed_ss.cc
gr_unpacked_to_packed_ss.h
gr_unpacked_to_packed_ss.i
# --- end generated files ---



Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/Makefile.am
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/Makefile.am)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/Makefile.am
                         (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/Makefile.am
 2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,123 @@
+#
+# Copyright 2001,2002,2004,2006 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 2, 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
+
+INCLUDES = $(STD_DEFINES_AND_INCLUDES) $(CPPUNIT_INCLUDES)
+
+#noinst_LTLIBRARIES = libgengen.la libgengen-qa.la
+noinst_LTLIBRARIES = libgengen.la
+
+# ----------------------------------------------------------------
+# these scripts generate code
+
+CODE_GENERATOR =                       \
+       generate_all.py                 \
+       generate_common.py              \
+       gr_add_XX.cc.t                  \
+       gr_add_XX.h.t                   \
+       gr_add_XX.i.t                   \
+       gr_add_const_XX.cc.t            \
+       gr_add_const_XX.h.t             \
+       gr_add_const_XX.i.t             \
+       gr_add_vXX.cc.t                 \
+       gr_add_vXX.h.t                  \
+       gr_add_vXX.i.t                  \
+       gr_add_const_vXX.cc.t           \
+       gr_add_const_vXX.h.t            \
+       gr_add_const_vXX.i.t            \
+       gr_chunks_to_symbols_XX.cc.t    \
+       gr_chunks_to_symbols_XX.h.t     \
+       gr_chunks_to_symbols_XX.i.t     \
+       gr_divide_XX.cc.t               \
+       gr_divide_XX.h.t                \
+       gr_divide_XX.i.t                \
+       gr_multiply_XX.cc.t             \
+       gr_multiply_XX.h.t              \
+       gr_multiply_XX.i.t              \
+       gr_multiply_const_XX.cc.t       \
+       gr_multiply_const_XX.h.t        \
+       gr_multiply_const_XX.i.t        \
+       gr_multiply_vXX.cc.t            \
+       gr_multiply_vXX.h.t             \
+       gr_multiply_vXX.i.t             \
+       gr_multiply_const_vXX.cc.t      \
+       gr_multiply_const_vXX.h.t       \
+       gr_multiply_const_vXX.i.t       \
+       gr_mute_XX.cc.t                 \
+       gr_mute_XX.h.t                  \
+       gr_mute_XX.i.t                  \
+       gr_noise_source_X.cc.t          \
+       gr_noise_source_X.h.t           \
+       gr_noise_source_X.i.t           \
+       gr_packed_to_unpacked_XX.cc.t   \
+       gr_packed_to_unpacked_XX.h.t    \
+       gr_packed_to_unpacked_XX.i.t    \
+       gr_sig_source_X.cc.t            \
+       gr_sig_source_X.h.t             \
+       gr_sig_source_X.i.t             \
+       gr_sub_XX.cc.t                  \
+       gr_sub_XX.h.t                   \
+       gr_sub_XX.i.t                   \
+       gr_unpacked_to_packed_XX.cc.t   \
+       gr_unpacked_to_packed_XX.h.t    \
+       gr_unpacked_to_packed_XX.i.t    \
+       gr_vector_source_X.cc.t         \
+       gr_vector_source_X.h.t          \
+       gr_vector_source_X.i.t          \
+       gr_vector_sink_X.cc.t           \
+       gr_vector_sink_X.h.t            \
+       gr_vector_sink_X.i.t            
+
+# include $(srcdir)/Makefile.gen
+include Makefile.gen
+
+
+$(GENERATED_H) $(GENERATED_I) $(GENERATED_CC): $(CODE_GENERATOR)
+       PYTHONPATH=$(top_srcdir)/gnuradio-core/src/python srcdir=$(srcdir) 
$(srcdir)/generate_all.py
+
+
+BUILT_SOURCES = $(GENERATED_H) $(GENERATED_I) $(GENERATED_CC)
+
+# ----------------------------------------------------------------
+
+EXTRA_DIST =                           \
+       $(CODE_GENERATOR)               
+
+libgengen_la_SOURCES =                         \
+       $(GENERATED_CC)                 
+
+#libgengen_qa_la_SOURCES =             
+
+grinclude_HEADERS =                    \
+       $(GENERATED_H)                  \
+       gr_endianness.h                 \
+       gr_sig_source_waveform.h        
+
+noinst_HEADERS =                       
+
+swiginclude_HEADERS =                  \
+       $(GENERATED_I)                  \
+       gr_endianness.i                 \
+       gengen.i                        \
+       gengen_generated.i              
+
+CLEANFILES = $(BUILT_SOURCES) *.pyc

Added: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/Makefile.gen
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/Makefile.gen
                                (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/Makefile.gen
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,234 @@
+#
+# This file is machine generated.  All edits will be overwritten
+#
+GENERATED_H = \
+       gr_add_cc.h \
+       gr_add_const_cc.h \
+       gr_add_const_ff.h \
+       gr_add_const_ii.h \
+       gr_add_const_sf.h \
+       gr_add_const_ss.h \
+       gr_add_const_vcc.h \
+       gr_add_const_vff.h \
+       gr_add_const_vii.h \
+       gr_add_const_vss.h \
+       gr_add_ff.h \
+       gr_add_ii.h \
+       gr_add_ss.h \
+       gr_add_vcc.h \
+       gr_add_vff.h \
+       gr_add_vii.h \
+       gr_add_vss.h \
+       gr_chunks_to_symbols_bc.h \
+       gr_chunks_to_symbols_bf.h \
+       gr_chunks_to_symbols_ic.h \
+       gr_chunks_to_symbols_if.h \
+       gr_chunks_to_symbols_sc.h \
+       gr_chunks_to_symbols_sf.h \
+       gr_divide_cc.h \
+       gr_divide_ff.h \
+       gr_divide_ii.h \
+       gr_divide_ss.h \
+       gr_multiply_cc.h \
+       gr_multiply_const_cc.h \
+       gr_multiply_const_ff.h \
+       gr_multiply_const_ii.h \
+       gr_multiply_const_ss.h \
+       gr_multiply_const_vcc.h \
+       gr_multiply_const_vff.h \
+       gr_multiply_const_vii.h \
+       gr_multiply_const_vss.h \
+       gr_multiply_ff.h \
+       gr_multiply_ii.h \
+       gr_multiply_ss.h \
+       gr_multiply_vcc.h \
+       gr_multiply_vff.h \
+       gr_multiply_vii.h \
+       gr_multiply_vss.h \
+       gr_mute_cc.h \
+       gr_mute_ff.h \
+       gr_mute_ii.h \
+       gr_mute_ss.h \
+       gr_noise_source_c.h \
+       gr_noise_source_f.h \
+       gr_noise_source_i.h \
+       gr_noise_source_s.h \
+       gr_packed_to_unpacked_bb.h \
+       gr_packed_to_unpacked_ii.h \
+       gr_packed_to_unpacked_ss.h \
+       gr_sig_source_c.h \
+       gr_sig_source_f.h \
+       gr_sig_source_i.h \
+       gr_sig_source_s.h \
+       gr_sub_cc.h \
+       gr_sub_ff.h \
+       gr_sub_ii.h \
+       gr_sub_ss.h \
+       gr_unpacked_to_packed_bb.h \
+       gr_unpacked_to_packed_ii.h \
+       gr_unpacked_to_packed_ss.h \
+       gr_vector_sink_b.h \
+       gr_vector_sink_c.h \
+       gr_vector_sink_f.h \
+       gr_vector_sink_i.h \
+       gr_vector_sink_s.h \
+       gr_vector_source_b.h \
+       gr_vector_source_c.h \
+       gr_vector_source_f.h \
+       gr_vector_source_i.h \
+       gr_vector_source_s.h
+
+GENERATED_I = \
+       gr_add_cc.i \
+       gr_add_const_cc.i \
+       gr_add_const_ff.i \
+       gr_add_const_ii.i \
+       gr_add_const_sf.i \
+       gr_add_const_ss.i \
+       gr_add_const_vcc.i \
+       gr_add_const_vff.i \
+       gr_add_const_vii.i \
+       gr_add_const_vss.i \
+       gr_add_ff.i \
+       gr_add_ii.i \
+       gr_add_ss.i \
+       gr_add_vcc.i \
+       gr_add_vff.i \
+       gr_add_vii.i \
+       gr_add_vss.i \
+       gr_chunks_to_symbols_bc.i \
+       gr_chunks_to_symbols_bf.i \
+       gr_chunks_to_symbols_ic.i \
+       gr_chunks_to_symbols_if.i \
+       gr_chunks_to_symbols_sc.i \
+       gr_chunks_to_symbols_sf.i \
+       gr_divide_cc.i \
+       gr_divide_ff.i \
+       gr_divide_ii.i \
+       gr_divide_ss.i \
+       gr_multiply_cc.i \
+       gr_multiply_const_cc.i \
+       gr_multiply_const_ff.i \
+       gr_multiply_const_ii.i \
+       gr_multiply_const_ss.i \
+       gr_multiply_const_vcc.i \
+       gr_multiply_const_vff.i \
+       gr_multiply_const_vii.i \
+       gr_multiply_const_vss.i \
+       gr_multiply_ff.i \
+       gr_multiply_ii.i \
+       gr_multiply_ss.i \
+       gr_multiply_vcc.i \
+       gr_multiply_vff.i \
+       gr_multiply_vii.i \
+       gr_multiply_vss.i \
+       gr_mute_cc.i \
+       gr_mute_ff.i \
+       gr_mute_ii.i \
+       gr_mute_ss.i \
+       gr_noise_source_c.i \
+       gr_noise_source_f.i \
+       gr_noise_source_i.i \
+       gr_noise_source_s.i \
+       gr_packed_to_unpacked_bb.i \
+       gr_packed_to_unpacked_ii.i \
+       gr_packed_to_unpacked_ss.i \
+       gr_sig_source_c.i \
+       gr_sig_source_f.i \
+       gr_sig_source_i.i \
+       gr_sig_source_s.i \
+       gr_sub_cc.i \
+       gr_sub_ff.i \
+       gr_sub_ii.i \
+       gr_sub_ss.i \
+       gr_unpacked_to_packed_bb.i \
+       gr_unpacked_to_packed_ii.i \
+       gr_unpacked_to_packed_ss.i \
+       gr_vector_sink_b.i \
+       gr_vector_sink_c.i \
+       gr_vector_sink_f.i \
+       gr_vector_sink_i.i \
+       gr_vector_sink_s.i \
+       gr_vector_source_b.i \
+       gr_vector_source_c.i \
+       gr_vector_source_f.i \
+       gr_vector_source_i.i \
+       gr_vector_source_s.i
+
+GENERATED_CC = \
+       gr_add_cc.cc \
+       gr_add_const_cc.cc \
+       gr_add_const_ff.cc \
+       gr_add_const_ii.cc \
+       gr_add_const_sf.cc \
+       gr_add_const_ss.cc \
+       gr_add_const_vcc.cc \
+       gr_add_const_vff.cc \
+       gr_add_const_vii.cc \
+       gr_add_const_vss.cc \
+       gr_add_ff.cc \
+       gr_add_ii.cc \
+       gr_add_ss.cc \
+       gr_add_vcc.cc \
+       gr_add_vff.cc \
+       gr_add_vii.cc \
+       gr_add_vss.cc \
+       gr_chunks_to_symbols_bc.cc \
+       gr_chunks_to_symbols_bf.cc \
+       gr_chunks_to_symbols_ic.cc \
+       gr_chunks_to_symbols_if.cc \
+       gr_chunks_to_symbols_sc.cc \
+       gr_chunks_to_symbols_sf.cc \
+       gr_divide_cc.cc \
+       gr_divide_ff.cc \
+       gr_divide_ii.cc \
+       gr_divide_ss.cc \
+       gr_multiply_cc.cc \
+       gr_multiply_const_cc.cc \
+       gr_multiply_const_ff.cc \
+       gr_multiply_const_ii.cc \
+       gr_multiply_const_ss.cc \
+       gr_multiply_const_vcc.cc \
+       gr_multiply_const_vff.cc \
+       gr_multiply_const_vii.cc \
+       gr_multiply_const_vss.cc \
+       gr_multiply_ff.cc \
+       gr_multiply_ii.cc \
+       gr_multiply_ss.cc \
+       gr_multiply_vcc.cc \
+       gr_multiply_vff.cc \
+       gr_multiply_vii.cc \
+       gr_multiply_vss.cc \
+       gr_mute_cc.cc \
+       gr_mute_ff.cc \
+       gr_mute_ii.cc \
+       gr_mute_ss.cc \
+       gr_noise_source_c.cc \
+       gr_noise_source_f.cc \
+       gr_noise_source_i.cc \
+       gr_noise_source_s.cc \
+       gr_packed_to_unpacked_bb.cc \
+       gr_packed_to_unpacked_ii.cc \
+       gr_packed_to_unpacked_ss.cc \
+       gr_sig_source_c.cc \
+       gr_sig_source_f.cc \
+       gr_sig_source_i.cc \
+       gr_sig_source_s.cc \
+       gr_sub_cc.cc \
+       gr_sub_ff.cc \
+       gr_sub_ii.cc \
+       gr_sub_ss.cc \
+       gr_unpacked_to_packed_bb.cc \
+       gr_unpacked_to_packed_ii.cc \
+       gr_unpacked_to_packed_ss.cc \
+       gr_vector_sink_b.cc \
+       gr_vector_sink_c.cc \
+       gr_vector_sink_f.cc \
+       gr_vector_sink_i.cc \
+       gr_vector_sink_s.cc \
+       gr_vector_source_b.cc \
+       gr_vector_source_c.cc \
+       gr_vector_source_f.cc \
+       gr_vector_source_i.cc \
+       gr_vector_source_s.cc
+

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/generate_all.py
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/generate_all.py)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/generate_all.py
                             (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/generate_all.py
     2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+#
+# 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 2, 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
+
+import generate_common
+
+def generate_all ():
+    generate_common.generate ()
+    output_glue ('gengen')
+
+
+if __name__ == '__main__':
+    generate_all ()

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/generate_common.py
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/generate_common.py)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/generate_common.py
                          (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/generate_common.py
  2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,93 @@
+#!/usr/bin/env python
+#
+# Copyright 2004,2006 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 2, 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, standard_dict
+from build_utils_codes import *
+
+import re
+
+
+# sources and sinks
+ss_signatures = ['s', 'i', 'f', 'c']
+
+ss_roots = [
+    'gr_vector_source_X',
+    'gr_vector_sink_X',
+    'gr_noise_source_X',
+    'gr_sig_source_X'
+    ]
+
+# regular blocks
+reg_signatures = ['ss', 'ii', 'ff', 'cc']
+
+reg_roots = [
+    'gr_add_const_XX',
+    'gr_multiply_const_XX',
+    'gr_add_XX',
+    'gr_sub_XX',
+    'gr_multiply_XX',
+    'gr_divide_XX',
+    'gr_mute_XX',
+    'gr_add_vXX',
+    'gr_multiply_vXX',
+    'gr_add_const_vXX',
+    'gr_multiply_const_vXX'
+    ]
+
+# other blocks
+others = (
+    ('gr_chunks_to_symbols_XX',     ('bf', 'bc', 'sf', 'sc', 'if', 'ic')),
+    ('gr_unpacked_to_packed_XX',    ('bb','ss','ii')),
+    ('gr_packed_to_unpacked_XX',    ('bb','ss','ii'))
+    )
+
+
+def expand_h_cc_i (root, sig):
+    # root looks like 'gr_vector_sink_X'
+    name = re.sub ('X+', sig, root)
+    d = standard_dict (name, sig)
+    expand_template (d, root + '.h.t')
+    expand_template (d, root + '.cc.t')
+    expand_template (d, root + '.i.t')
+
+
+def generate ():
+    expand_h_cc_i ('gr_add_const_XX', 'sf')     # for MC4020
+    expand_h_cc_i ('gr_vector_sink_X', 'b')
+    expand_h_cc_i ('gr_vector_source_X', 'b')
+    for r in ss_roots:
+        for s in ss_signatures:
+            expand_h_cc_i (r, s)
+    for r in reg_roots :
+        for s in reg_signatures:
+            expand_h_cc_i (r, s)
+            
+    for root, sigs in others:
+        for s in sigs:
+            expand_h_cc_i (root, s)
+
+
+
+if __name__ == '__main__':
+    generate ()
+
+    

Added: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gengen.i
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gengen.i
                            (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gengen.i
    2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,9 @@
+%{
+#include "gr_endianness.h"
+#include "gr_sig_source_waveform.h"
+%}
+
+%include "gr_endianness.i"
+%include "gr_sig_source_waveform.h"
+
+%include "gengen_generated.i"

Added: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gengen_generated.i
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gengen_generated.i
                          (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gengen_generated.i
  2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,156 @@
+//
+// This file is machine generated.  All edits will be overwritten
+//
+%{
+#include <gr_add_cc.h>
+#include <gr_add_const_cc.h>
+#include <gr_add_const_ff.h>
+#include <gr_add_const_ii.h>
+#include <gr_add_const_sf.h>
+#include <gr_add_const_ss.h>
+#include <gr_add_const_vcc.h>
+#include <gr_add_const_vff.h>
+#include <gr_add_const_vii.h>
+#include <gr_add_const_vss.h>
+#include <gr_add_ff.h>
+#include <gr_add_ii.h>
+#include <gr_add_ss.h>
+#include <gr_add_vcc.h>
+#include <gr_add_vff.h>
+#include <gr_add_vii.h>
+#include <gr_add_vss.h>
+#include <gr_chunks_to_symbols_bc.h>
+#include <gr_chunks_to_symbols_bf.h>
+#include <gr_chunks_to_symbols_ic.h>
+#include <gr_chunks_to_symbols_if.h>
+#include <gr_chunks_to_symbols_sc.h>
+#include <gr_chunks_to_symbols_sf.h>
+#include <gr_divide_cc.h>
+#include <gr_divide_ff.h>
+#include <gr_divide_ii.h>
+#include <gr_divide_ss.h>
+#include <gr_multiply_cc.h>
+#include <gr_multiply_const_cc.h>
+#include <gr_multiply_const_ff.h>
+#include <gr_multiply_const_ii.h>
+#include <gr_multiply_const_ss.h>
+#include <gr_multiply_const_vcc.h>
+#include <gr_multiply_const_vff.h>
+#include <gr_multiply_const_vii.h>
+#include <gr_multiply_const_vss.h>
+#include <gr_multiply_ff.h>
+#include <gr_multiply_ii.h>
+#include <gr_multiply_ss.h>
+#include <gr_multiply_vcc.h>
+#include <gr_multiply_vff.h>
+#include <gr_multiply_vii.h>
+#include <gr_multiply_vss.h>
+#include <gr_mute_cc.h>
+#include <gr_mute_ff.h>
+#include <gr_mute_ii.h>
+#include <gr_mute_ss.h>
+#include <gr_noise_source_c.h>
+#include <gr_noise_source_f.h>
+#include <gr_noise_source_i.h>
+#include <gr_noise_source_s.h>
+#include <gr_packed_to_unpacked_bb.h>
+#include <gr_packed_to_unpacked_ii.h>
+#include <gr_packed_to_unpacked_ss.h>
+#include <gr_sig_source_c.h>
+#include <gr_sig_source_f.h>
+#include <gr_sig_source_i.h>
+#include <gr_sig_source_s.h>
+#include <gr_sub_cc.h>
+#include <gr_sub_ff.h>
+#include <gr_sub_ii.h>
+#include <gr_sub_ss.h>
+#include <gr_unpacked_to_packed_bb.h>
+#include <gr_unpacked_to_packed_ii.h>
+#include <gr_unpacked_to_packed_ss.h>
+#include <gr_vector_sink_b.h>
+#include <gr_vector_sink_c.h>
+#include <gr_vector_sink_f.h>
+#include <gr_vector_sink_i.h>
+#include <gr_vector_sink_s.h>
+#include <gr_vector_source_b.h>
+#include <gr_vector_source_c.h>
+#include <gr_vector_source_f.h>
+#include <gr_vector_source_i.h>
+#include <gr_vector_source_s.h>
+%}
+
+%include <gr_add_cc.i>
+%include <gr_add_const_cc.i>
+%include <gr_add_const_ff.i>
+%include <gr_add_const_ii.i>
+%include <gr_add_const_sf.i>
+%include <gr_add_const_ss.i>
+%include <gr_add_const_vcc.i>
+%include <gr_add_const_vff.i>
+%include <gr_add_const_vii.i>
+%include <gr_add_const_vss.i>
+%include <gr_add_ff.i>
+%include <gr_add_ii.i>
+%include <gr_add_ss.i>
+%include <gr_add_vcc.i>
+%include <gr_add_vff.i>
+%include <gr_add_vii.i>
+%include <gr_add_vss.i>
+%include <gr_chunks_to_symbols_bc.i>
+%include <gr_chunks_to_symbols_bf.i>
+%include <gr_chunks_to_symbols_ic.i>
+%include <gr_chunks_to_symbols_if.i>
+%include <gr_chunks_to_symbols_sc.i>
+%include <gr_chunks_to_symbols_sf.i>
+%include <gr_divide_cc.i>
+%include <gr_divide_ff.i>
+%include <gr_divide_ii.i>
+%include <gr_divide_ss.i>
+%include <gr_multiply_cc.i>
+%include <gr_multiply_const_cc.i>
+%include <gr_multiply_const_ff.i>
+%include <gr_multiply_const_ii.i>
+%include <gr_multiply_const_ss.i>
+%include <gr_multiply_const_vcc.i>
+%include <gr_multiply_const_vff.i>
+%include <gr_multiply_const_vii.i>
+%include <gr_multiply_const_vss.i>
+%include <gr_multiply_ff.i>
+%include <gr_multiply_ii.i>
+%include <gr_multiply_ss.i>
+%include <gr_multiply_vcc.i>
+%include <gr_multiply_vff.i>
+%include <gr_multiply_vii.i>
+%include <gr_multiply_vss.i>
+%include <gr_mute_cc.i>
+%include <gr_mute_ff.i>
+%include <gr_mute_ii.i>
+%include <gr_mute_ss.i>
+%include <gr_noise_source_c.i>
+%include <gr_noise_source_f.i>
+%include <gr_noise_source_i.i>
+%include <gr_noise_source_s.i>
+%include <gr_packed_to_unpacked_bb.i>
+%include <gr_packed_to_unpacked_ii.i>
+%include <gr_packed_to_unpacked_ss.i>
+%include <gr_sig_source_c.i>
+%include <gr_sig_source_f.i>
+%include <gr_sig_source_i.i>
+%include <gr_sig_source_s.i>
+%include <gr_sub_cc.i>
+%include <gr_sub_ff.i>
+%include <gr_sub_ii.i>
+%include <gr_sub_ss.i>
+%include <gr_unpacked_to_packed_bb.i>
+%include <gr_unpacked_to_packed_ii.i>
+%include <gr_unpacked_to_packed_ss.i>
+%include <gr_vector_sink_b.i>
+%include <gr_vector_sink_c.i>
+%include <gr_vector_sink_f.i>
+%include <gr_vector_sink_i.i>
+%include <gr_vector_sink_s.i>
+%include <gr_vector_source_b.i>
+%include <gr_vector_source_c.i>
+%include <gr_vector_source_f.i>
+%include <gr_vector_source_i.i>
+%include <gr_vector_source_s.i>

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_XX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t
                              (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_XX.cc.t
      2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,62 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+
address@hidden@
address@hidden@ ()
+{
+  return @SPTR_NAME@ (new @NAME@ ());
+}
+
address@hidden@::@NAME@ ()
+  : gr_sync_block ("@BASE_NAME@",
+                  gr_make_io_signature (1, -1, sizeof (@I_TYPE@)),
+                  gr_make_io_signature (1,  1, sizeof (@O_TYPE@)))
+{
+}
+
+int
address@hidden@::work (int noutput_items,
+                  gr_vector_const_void_star &input_items,
+                  gr_vector_void_star &output_items)
+{
+  @O_TYPE@ *optr = (@O_TYPE@ *) output_items[0];
+
+  int ninputs = input_items.size ();
+
+  for (int i = 0; i < noutput_items; i++){
+    @I_TYPE@ acc = ((@I_TYPE@ *) input_items[0])[i];
+    for (int j = 1; j < ninputs; j++)
+      acc += ((@I_TYPE@ *) input_items[j])[i];
+
+    *optr++ = (@O_TYPE@) acc;
+  }
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_XX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_XX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_XX.h.t
                               (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_XX.h.t
       2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,54 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
+
address@hidden@ address@hidden@ ();
+
+/*!
+ * \brief output = sum (input_0, input_1, ...)
+ * \ingroup block
+ *
+ * Add across all input streams.
+ */
+class @NAME@ : public gr_sync_block
+{
+  friend @SPTR_NAME@ address@hidden@ ();
+
+  @NAME@ ();
+
+ public:
+
+  int work (int noutput_items,
+           gr_vector_const_void_star &input_items,
+           gr_vector_void_star &output_items);
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_XX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_XX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_XX.i.t
                               (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_XX.i.t
       2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,33 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@)
+
address@hidden@ address@hidden@ ();
+
+class @NAME@ : public gr_sync_block
+{
+ private:
+  @NAME@ ();
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_XX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t
                                (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_XX.cc.t
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,72 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+
address@hidden@
address@hidden@ (@O_TYPE@ k)
+{
+  return @SPTR_NAME@ (new @NAME@ (k));
+}
+
address@hidden@::@NAME@ (@O_TYPE@ k)
+  : gr_sync_block ("@BASE_NAME@",
+                  gr_make_io_signature (1, 1, sizeof (@I_TYPE@)),
+                  gr_make_io_signature (1, 1, sizeof (@O_TYPE@))),
+    d_k (k)
+{
+}
+
+int
address@hidden@::work (int noutput_items,
+                  gr_vector_const_void_star &input_items,
+                  gr_vector_void_star &output_items)
+{
+  @I_TYPE@ *iptr = (@I_TYPE@ *) input_items[0];
+  @O_TYPE@ *optr = (@O_TYPE@ *) output_items[0];
+
+  int  size = noutput_items;
+
+  while (size >= 8){
+    *optr++ = *iptr++ + d_k;
+    *optr++ = *iptr++ + d_k;
+    *optr++ = *iptr++ + d_k;
+    *optr++ = *iptr++ + d_k;
+    *optr++ = *iptr++ + d_k;
+    *optr++ = *iptr++ + d_k;
+    *optr++ = *iptr++ + d_k;
+    *optr++ = *iptr++ + d_k;
+    size -= 8;
+  }
+
+  while (size-- > 0)
+    *optr++ = *iptr++ + d_k;
+  
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_XX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_XX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_XX.h.t
                         (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_XX.h.t
 2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,55 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
+
address@hidden@ address@hidden@ (@O_TYPE@ k);
+
+/*!
+ * \brief output = input + constant
+ * \ingroup block
+ */
+class @NAME@ : public gr_sync_block
+{
+  friend @SPTR_NAME@ address@hidden@ (@O_TYPE@ k);
+
+  @O_TYPE@     d_k;            // the constant
+  @NAME@ (@O_TYPE@ k);
+
+ public:
+  @O_TYPE@ k () const { return d_k; }
+  void set_k (@O_TYPE@ k) { d_k = k; }
+
+  int work (int noutput_items,
+           gr_vector_const_void_star &input_items,
+           gr_vector_void_star &output_items);
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_XX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_XX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_XX.i.t
                         (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_XX.i.t
 2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,37 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@)
+
address@hidden@ address@hidden@ (@TYPE@ k);
+
+class @NAME@ : public gr_sync_block
+{
+ private:
+  @NAME@ (@TYPE@ k);
+
+ public:
+  @TYPE@ k () const { return d_k; }
+  void set_k (@TYPE@ k) { d_k = k; }
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_vXX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t
                               (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_vXX.cc.t
       2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,61 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2004,2006 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+
address@hidden@
address@hidden@ (const std::vector<@I_TYPE@> k)
+{
+  return @SPTR_NAME@ (new @NAME@ (k));
+}
+
address@hidden@::@NAME@ (const std::vector<@I_TYPE@> k)
+  : gr_sync_block ("@BASE_NAME@",
+                  gr_make_io_signature (1, 1, sizeof(@I_TYPE@)*k.size()),
+                  gr_make_io_signature (1, 1, sizeof(@O_TYPE@)*k.size()))
+{
+  d_k = k;
+}
+
+int
address@hidden@::work (int noutput_items,
+                  gr_vector_const_void_star &input_items,
+                  gr_vector_void_star &output_items)
+{
+  @I_TYPE@ *iptr = (@O_TYPE@ *)input_items[0];
+  @O_TYPE@ *optr = (@O_TYPE@ *)output_items[0];
+ 
+  int nitems_per_block = 
output_signature()->sizeof_stream_item(0)/sizeof(@I_TYPE@);
+
+  for (int i = 0; i < noutput_items; i++)
+    for (int j = 0; j < nitems_per_block; j++)
+      *optr++ = *iptr++ + d_k[j];
+  
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_vXX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_vXX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_vXX.h.t
                                (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_vXX.h.t
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,55 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2004,2006 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
+
address@hidden@ address@hidden@ (const std::vector<@I_TYPE@> k);
+
+/*!
+ * \brief output vector = input vector + constant vector
+ * \ingroup block
+ */
+class @NAME@ : public gr_sync_block
+{
+  friend @SPTR_NAME@ address@hidden@ (const std::vector<@I_TYPE@> k);
+
+  std::vector<@I_TYPE@> d_k; // the constant
+  @NAME@ (const std::vector<@I_TYPE@> k);
+
+ public:
+  const std::vector<@I_TYPE@> k () const { return d_k; }
+  void set_k (const std::vector<@I_TYPE@> k) { d_k = k; }
+
+  int work (int noutput_items,
+           gr_vector_const_void_star &input_items,
+           gr_vector_void_star &output_items);
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_vXX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_const_vXX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_vXX.i.t
                                (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_const_vXX.i.t
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,37 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2004,2006 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@)
+
address@hidden@ address@hidden@ (const std::vector<@I_TYPE@> k);
+
+class @NAME@ : public gr_sync_block
+{
+ private:
+  @NAME@ (const std::vector<@I_TYPE@> k);
+
+ public:
+  std::vector<@I_TYPE@> k () const { return d_k; }
+  void set_k (const std::vector<@I_TYPE@> k) { d_k = k; }
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_vXX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_vXX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_vXX.cc.t
                             (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_vXX.cc.t
     2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,65 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+
address@hidden@
address@hidden@ (size_t nitems_per_block)
+{
+  return @SPTR_NAME@ (new @NAME@ (nitems_per_block));
+}
+
address@hidden@::@NAME@ (size_t nitems_per_block)
+  : gr_sync_block ("@BASE_NAME@",
+                  gr_make_io_signature (1, -1, sizeof 
(@I_TYPE@)*nitems_per_block),
+                  gr_make_io_signature (1,  1, sizeof 
(@O_TYPE@)*nitems_per_block))
+{
+}
+
+int
address@hidden@::work (int noutput_items,
+                  gr_vector_const_void_star &input_items,
+                  gr_vector_void_star &output_items)
+{
+  @O_TYPE@ *optr = (@O_TYPE@ *) output_items[0];
+
+  int ninputs = input_items.size ();
+  int nitems_per_block = 
output_signature()->sizeof_stream_item(0)/sizeof(@I_TYPE@);
+
+  for (int i = 0; i < noutput_items; i++){
+    for (int j = 0; j < nitems_per_block; j++){
+      @I_TYPE@ acc = ((@I_TYPE@ *) input_items[0])[i*nitems_per_block+j];
+      for (int k = 1; k < ninputs; k++)
+        acc += ((@I_TYPE@ *) input_items[k])[i*nitems_per_block+j];
+
+      *optr++ = (@O_TYPE@) acc;
+    }
+  }
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_vXX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_vXX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_vXX.h.t
                              (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_vXX.h.t
      2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,54 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
+
address@hidden@ address@hidden@ (size_t nitems_per_block);
+
+/*!
+ * \brief output = sum (input_0, input_1, ...)
+ * \ingroup block
+ *
+ * Add across all input vectors.
+ */
+class @NAME@ : public gr_sync_block
+{
+  friend @SPTR_NAME@ address@hidden@ (size_t nitems_per_block);
+
+  @NAME@ (size_t nitems_per_block);
+
+ public:
+
+  int work (int noutput_items,
+           gr_vector_const_void_star &input_items,
+           gr_vector_void_star &output_items);
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_vXX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_add_vXX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_vXX.i.t
                              (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_add_vXX.i.t
      2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,33 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@)
+
address@hidden@ address@hidden@ (size_t nitems_per_block);
+
+class @NAME@ : public gr_sync_block
+{
+ private:
+  @NAME@ (size_t nitems_per_block);
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t
                                (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.cc.t
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,73 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+#include <assert.h>
+#include <iostream>
+
address@hidden@
address@hidden@ (const std::vector<@O_TYPE@> &symbol_table, const int D)
+{
+  return @SPTR_NAME@ (new @NAME@ (symbol_table,D));
+}
+
address@hidden@::@NAME@ (const std::vector<@O_TYPE@> &symbol_table, const int D)
+  : gr_sync_interpolator ("@BASE_NAME@",
+                         gr_make_io_signature (1, -1, sizeof (@I_TYPE@)),
+                         gr_make_io_signature (1, -1, sizeof (@O_TYPE@)),
+                         D),
+  d_D (D),
+  d_symbol_table (symbol_table)
+{
+}
+
+int
address@hidden@::work (int noutput_items,
+                       gr_vector_const_void_star &input_items,
+                       gr_vector_void_star &output_items)
+{
+  assert (noutput_items % d_D == 0);
+  assert (input_items.size() == output_items.size());
+  int nstreams = input_items.size();
+
+  for (int m=0;m<nstreams;m++) {
+    const @I_TYPE@ *in = (@I_TYPE@ *) input_items[m];
+    @O_TYPE@ *out = (@O_TYPE@ *) output_items[m];
+
+    // per stream processing
+    for (int i = 0; i < noutput_items / d_D; i++){
+      assert (((unsigned int)in[i]*d_D+d_D) <= d_symbol_table.size());
+      memcpy(out, &d_symbol_table[(unsigned int)in[i]*d_D], 
d_D*sizeof(@O_TYPE@));
+      out+=d_D;
+    }
+    // end of per stream processing
+
+  }
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.h.t
                         (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.h.t
 2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,72 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_interpolator.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
+
address@hidden@ address@hidden@ (const std::vector<@O_TYPE@> &symbol_table, 
const int D = 1);
+
+/*!
+ * \brief Map a stream of symbol indexes (unpacked bytes or shorts) to stream 
of float or complex onstellation points.in \p D dimensions (\p D = 1 by default)
+ * \ingroup block
+ *
+ * input: stream of @I_TYPE@; output: stream of @O_TYPE@
+ *
+ * out[n D + k] = symbol_table[in[n] D + k], k=0,1,...,D-1
+ *
+ * The combination of gr_packed_to_unpacked_XX followed by
+ * gr_chunks_to_symbols_XY handles the general case of mapping 
+ * from a stream of bytes or shorts into arbitrary float
+ * or complex symbols.
+ *
+ * \sa gr_packed_to_unpacked_bb, gr_unpacked_to_packed_bb,
+ * \sa gr_packed_to_unpacked_ss, gr_unpacked_to_packed_ss,
+ * \sa gr_chunks_to_symbols_bf, gr_chunks_to_symbols_bc.
+ * \sa gr_chunks_to_symbols_sf, gr_chunks_to_symbols_sc.
+ */
+
+class @NAME@ : public gr_sync_interpolator
+{
+  friend @SPTR_NAME@ address@hidden@ (const std::vector<@O_TYPE@> 
&symbol_table, const int D);
+
+  int d_D;
+  std::vector<@O_TYPE@> d_symbol_table;
+  @NAME@ (const std::vector<@O_TYPE@> &symbol_table, const int D = 1);
+
+ public:
+  int D () const { return d_D; }
+  std::vector<@O_TYPE@> symbol_table () const { return d_symbol_table; }
+  int work (int noutput_items,
+           gr_vector_const_void_star &input_items,
+           gr_vector_void_star &output_items);
+
+  bool check_topology(int ninputs, int noutputs) { return ninputs == noutputs; 
}
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_chunks_to_symbols_XX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.i.t
                         (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_chunks_to_symbols_XX.i.t
 2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,37 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@);
+
address@hidden@ address@hidden@ (const std::vector<@O_TYPE@> &symbol_table, 
const int D = 1);
+
+class @NAME@ : public gr_sync_interpolator
+{
+private:
+  @NAME@ (const std::vector<@O_TYPE@> &symbol_table, const int D = 1);
+
+public:
+  int D () const { return d_D; }
+  std::vector<@O_TYPE@> symbol_table () const { return d_symbol_table; }
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_divide_XX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t
                           (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_divide_XX.cc.t
   2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,71 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+
address@hidden@
address@hidden@ ()
+{
+  return @SPTR_NAME@ (new @NAME@ ());
+}
+
address@hidden@::@NAME@ ()
+  : gr_sync_block ("@BASE_NAME@",
+                  gr_make_io_signature (1, -1, sizeof (@I_TYPE@)),
+                  gr_make_io_signature (1,  1, sizeof (@O_TYPE@)))
+{
+}
+
+int
address@hidden@::work (int noutput_items,
+                  gr_vector_const_void_star &input_items,
+                  gr_vector_void_star &output_items)
+{
+  @O_TYPE@ *optr = (@O_TYPE@ *) output_items[0];
+
+  int ninputs = input_items.size ();
+
+  if (ninputs == 1){           // compute reciprocal
+    for (int i = 0; i < noutput_items; i++)
+      *optr++ = (@O_TYPE@) ((@O_TYPE@) 1 /
+                           ((@I_TYPE@ *) input_items[0])[i]);
+  }
+
+  else {
+    for (int i = 0; i < noutput_items; i++){
+      @I_TYPE@ acc = ((@I_TYPE@ *) input_items[0])[i];
+      for (int j = 1; j < ninputs; j++)
+       acc /= ((@I_TYPE@ *) input_items[j])[i];
+
+      *optr++ = (@O_TYPE@) acc;
+    }
+  }
+
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_divide_XX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_divide_XX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_divide_XX.h.t
                            (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_divide_XX.h.t
    2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,54 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
+
address@hidden@ address@hidden@ ();
+
+/*!
+ * \brief output = input_0 / input_1 / input_x ...)
+ * \ingroup block
+ *
+ * Divide across all input streams.
+ */
+class @NAME@ : public gr_sync_block
+{
+  friend @SPTR_NAME@ address@hidden@ ();
+
+  @NAME@ ();
+
+ public:
+
+  int work (int noutput_items,
+           gr_vector_const_void_star &input_items,
+           gr_vector_void_star &output_items);
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_divide_XX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_divide_XX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_divide_XX.i.t
                            (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_divide_XX.i.t
    2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,33 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@)
+
address@hidden@ address@hidden@ ();
+
+class @NAME@ : public gr_sync_block
+{
+ private:
+  @NAME@ ();
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_endianness.h
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_endianness.h)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_endianness.h
                             (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_endianness.h
     2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,27 @@
+/* -*- 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 2, or (at your option)
+ * any later version.
+ * 
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+#ifndef INCLUDED_GR_ENDIANNESS_H
+#define INCLUDED_GR_ENDIANNESS_H
+
+typedef enum {GR_MSB_FIRST, GR_LSB_FIRST} gr_endianness_t;
+
+#endif /* INCLUDED_GR_ENDIANNESS_H */

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_endianness.i
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_endianness.i)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_endianness.i
                             (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_endianness.i
     2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,23 @@
+/* -*- 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 2, 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 <gr_endianness.h>

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_XX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t
                         (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_XX.cc.t
 2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,62 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+
address@hidden@
address@hidden@ ()
+{
+  return @SPTR_NAME@ (new @NAME@ ());
+}
+
address@hidden@::@NAME@ ()
+  : gr_sync_block ("@BASE_NAME@",
+                  gr_make_io_signature (1, -1, sizeof (@I_TYPE@)),
+                  gr_make_io_signature (1,  1, sizeof (@O_TYPE@)))
+{
+}
+
+int
address@hidden@::work (int noutput_items,
+                  gr_vector_const_void_star &input_items,
+                  gr_vector_void_star &output_items)
+{
+  @O_TYPE@ *optr = (@O_TYPE@ *) output_items[0];
+
+  int ninputs = input_items.size ();
+
+  for (int i = 0; i < noutput_items; i++){
+    @I_TYPE@ acc = ((@I_TYPE@ *) input_items[0])[i];
+    for (int j = 1; j < ninputs; j++)
+      acc *= ((@I_TYPE@ *) input_items[j])[i];
+
+    *optr++ = (@O_TYPE@) acc;
+  }
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_XX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_XX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_XX.h.t
                          (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_XX.h.t
  2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,54 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
+
address@hidden@ address@hidden@ ();
+
+/*!
+ * \brief output = prod (input_0, input_1, ...)
+ * \ingroup block
+ *
+ * Multiply across all input streams.
+ */
+class @NAME@ : public gr_sync_block
+{
+  friend @SPTR_NAME@ address@hidden@ ();
+
+  @NAME@ ();
+
+ public:
+
+  int work (int noutput_items,
+           gr_vector_const_void_star &input_items,
+           gr_vector_void_star &output_items);
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_XX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_XX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_XX.i.t
                          (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_XX.i.t
  2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,33 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@)
+
address@hidden@ address@hidden@ ();
+
+class @NAME@ : public gr_sync_block
+{
+ private:
+  @NAME@ ();
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_XX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t
                           (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.cc.t
   2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,72 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+
address@hidden@
address@hidden@ (@O_TYPE@ k)
+{
+  return @SPTR_NAME@ (new @NAME@ (k));
+}
+
address@hidden@::@NAME@ (@O_TYPE@ k)
+  : gr_sync_block ("@BASE_NAME@",
+                  gr_make_io_signature (1, 1, sizeof (@I_TYPE@)),
+                  gr_make_io_signature (1, 1, sizeof (@O_TYPE@))),
+    d_k (k)
+{
+}
+
+int
address@hidden@::work (int noutput_items,
+                  gr_vector_const_void_star &input_items,
+                  gr_vector_void_star &output_items)
+{
+  @I_TYPE@ *iptr = (@I_TYPE@ *) input_items[0];
+  @O_TYPE@ *optr = (@O_TYPE@ *) output_items[0];
+
+  int  size = noutput_items;
+
+  while (size >= 8){
+    *optr++ = *iptr++ * d_k;
+    *optr++ = *iptr++ * d_k;
+    *optr++ = *iptr++ * d_k;
+    *optr++ = *iptr++ * d_k;
+    *optr++ = *iptr++ * d_k;
+    *optr++ = *iptr++ * d_k;
+    *optr++ = *iptr++ * d_k;
+    *optr++ = *iptr++ * d_k;
+    size -= 8;
+  }
+
+  while (size-- > 0)
+    *optr++ = *iptr++ * d_k;
+  
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_XX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.h.t
                            (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.h.t
    2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,55 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
+
address@hidden@ address@hidden@ (@O_TYPE@ k);
+
+/*!
+ * \brief output = input * constant
+ * \ingroup block
+ */
+class @NAME@ : public gr_sync_block
+{
+  friend @SPTR_NAME@ address@hidden@ (@O_TYPE@ k);
+
+  @O_TYPE@     d_k;            // the constant
+  @NAME@ (@O_TYPE@ k);
+
+ public:
+  @O_TYPE@ k () const { return d_k; }
+  void set_k (@O_TYPE@ k) { d_k = k; }
+
+  int work (int noutput_items,
+           gr_vector_const_void_star &input_items,
+           gr_vector_void_star &output_items);
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_XX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.i.t
                            (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_XX.i.t
    2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,37 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@)
+
address@hidden@ address@hidden@ (@TYPE@ k);
+
+class @NAME@ : public gr_sync_block
+{
+ private:
+  @NAME@ (@TYPE@ k);
+
+ public:
+  @TYPE@ k () const { return d_k; }
+  void set_k (@TYPE@ k) { d_k = k; }
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_vXX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t
                          (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.cc.t
  2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,61 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2004,2006 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+
address@hidden@
address@hidden@ (const std::vector<@I_TYPE@> k)
+{
+  return @SPTR_NAME@ (new @NAME@ (k));
+}
+
address@hidden@::@NAME@ (const std::vector<@I_TYPE@> k)
+  : gr_sync_block ("@BASE_NAME@",
+                  gr_make_io_signature (1, 1, sizeof(@I_TYPE@)*k.size()),
+                  gr_make_io_signature (1, 1, sizeof(@O_TYPE@)*k.size()))
+{
+  d_k = k;
+}
+
+int
address@hidden@::work (int noutput_items,
+                  gr_vector_const_void_star &input_items,
+                  gr_vector_void_star &output_items)
+{
+  @I_TYPE@ *iptr = (@O_TYPE@ *)input_items[0];
+  @O_TYPE@ *optr = (@O_TYPE@ *)output_items[0];
+ 
+  int nitems_per_block = 
output_signature()->sizeof_stream_item(0)/sizeof(@I_TYPE@);
+
+  for (int i = 0; i < noutput_items; i++)
+    for (int j = 0; j < nitems_per_block; j++)
+      *optr++ = *iptr++ * d_k[j];
+  
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_vXX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.h.t
                           (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.h.t
   2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,55 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2004,2006 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
+
address@hidden@ address@hidden@ (const std::vector<@I_TYPE@> k);
+
+/*!
+ * \brief output vector = input vector * constant vector (element-wise)
+ * \ingroup block
+ */
+class @NAME@ : public gr_sync_block
+{
+  friend @SPTR_NAME@ address@hidden@ (const std::vector<@I_TYPE@> k);
+
+  std::vector<@I_TYPE@> d_k; // the constant
+  @NAME@ (const std::vector<@I_TYPE@> k);
+
+ public:
+  const std::vector<@I_TYPE@> k () const { return d_k; }
+  void set_k (const std::vector<@I_TYPE@> k) { d_k = k; }
+
+  int work (int noutput_items,
+           gr_vector_const_void_star &input_items,
+           gr_vector_void_star &output_items);
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_const_vXX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.i.t
                           (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_const_vXX.i.t
   2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,37 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2004,2006 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@)
+
address@hidden@ address@hidden@ (const std::vector<@I_TYPE@> k);
+
+class @NAME@ : public gr_sync_block
+{
+ private:
+  @NAME@ (const std::vector<@I_TYPE@> k);
+
+ public:
+  std::vector<@I_TYPE@> k () const { return d_k; }
+  void set_k (const std::vector<@I_TYPE@> k) { d_k = k; }
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_vXX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_vXX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_vXX.cc.t
                                (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_vXX.cc.t
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,65 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+
address@hidden@
address@hidden@ (size_t nitems_per_block)
+{
+  return @SPTR_NAME@ (new @NAME@ (nitems_per_block));
+}
+
address@hidden@::@NAME@ (size_t nitems_per_block)
+  : gr_sync_block ("@BASE_NAME@",
+                  gr_make_io_signature (1, -1, sizeof 
(@I_TYPE@)*nitems_per_block),
+                  gr_make_io_signature (1,  1, sizeof 
(@O_TYPE@)*nitems_per_block))
+{
+}
+
+int
address@hidden@::work (int noutput_items,
+                  gr_vector_const_void_star &input_items,
+                  gr_vector_void_star &output_items)
+{
+  @O_TYPE@ *optr = (@O_TYPE@ *) output_items[0];
+
+  int ninputs = input_items.size ();
+  int nitems_per_block = 
output_signature()->sizeof_stream_item(0)/sizeof(@I_TYPE@);
+
+  for (int i = 0; i < noutput_items; i++){
+    for (int j = 0; j < nitems_per_block; j++){
+      @I_TYPE@ acc = ((@I_TYPE@ *) input_items[0])[i*nitems_per_block+j];
+      for (int k = 1; k < ninputs; k++)
+        acc *= ((@I_TYPE@ *) input_items[k])[i*nitems_per_block+j];
+
+      *optr++ = (@O_TYPE@) acc;
+    }
+  }
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_vXX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_vXX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_vXX.h.t
                         (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_vXX.h.t
 2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,54 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
+
address@hidden@ address@hidden@ (size_t nitems_per_block);
+
+/*!
+ * \brief output = prod (input_0, input_1, ...)
+ * \ingroup block
+ *
+ * Element-wise multiply across all input vectors.
+ */
+class @NAME@ : public gr_sync_block
+{
+  friend @SPTR_NAME@ address@hidden@ (size_t nitems_per_block);
+
+  @NAME@ (size_t nitems_per_block);
+
+ public:
+
+  int work (int noutput_items,
+           gr_vector_const_void_star &input_items,
+           gr_vector_void_star &output_items);
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_vXX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_multiply_vXX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_vXX.i.t
                         (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_multiply_vXX.i.t
 2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,33 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@)
+
address@hidden@ address@hidden@ (size_t nitems_per_block);
+
+class @NAME@ : public gr_sync_block
+{
+ private:
+  @NAME@ (size_t nitems_per_block);
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_mute_XX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t
                             (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_mute_XX.cc.t
     2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,79 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+#include <string.h>
+
+
address@hidden@
address@hidden@ (bool mute)
+{
+  return @SPTR_NAME@ (new @NAME@ (mute));
+}
+
address@hidden@::@NAME@ (bool mute)
+  : gr_sync_block ("@BASE_NAME@",
+                  gr_make_io_signature (1, 1, sizeof (@I_TYPE@)),
+                  gr_make_io_signature (1, 1, sizeof (@O_TYPE@))),
+    d_mute (mute)
+{
+}
+
+int
address@hidden@::work (int noutput_items,
+                  gr_vector_const_void_star &input_items,
+                  gr_vector_void_star &output_items)
+{
+  @I_TYPE@ *iptr = (@I_TYPE@ *) input_items[0];
+  @O_TYPE@ *optr = (@O_TYPE@ *) output_items[0];
+
+  int  size = noutput_items;
+
+  if (d_mute){
+    memset (optr, 0, noutput_items * sizeof(@O_TYPE@));
+  }
+  else {
+    while (size >= 8){
+      *optr++ = *iptr++;
+      *optr++ = *iptr++;
+      *optr++ = *iptr++;
+      *optr++ = *iptr++;
+      *optr++ = *iptr++;
+      *optr++ = *iptr++;
+      *optr++ = *iptr++;
+      *optr++ = *iptr++;
+      size -= 8;
+    }
+
+    while (size-- > 0)
+      *optr++ = *iptr++;
+  }
+  
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_mute_XX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_mute_XX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_mute_XX.h.t
                              (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_mute_XX.h.t
      2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,55 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
+
address@hidden@ address@hidden@ (bool mute=false);
+
+/*!
+ * \brief output = input or zero if muted.
+ * \ingroup block
+ */
+class @NAME@ : public gr_sync_block
+{
+  friend @SPTR_NAME@ address@hidden@ (bool mute);
+
+  bool         d_mute;
+  @NAME@ (bool mute);
+
+ public:
+  bool mute () const { return d_mute; }
+  void set_mute (bool mute) { d_mute = mute; }
+
+  int work (int noutput_items,
+           gr_vector_const_void_star &input_items,
+           gr_vector_void_star &output_items);
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_mute_XX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_mute_XX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_mute_XX.i.t
                              (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_mute_XX.i.t
      2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,37 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@)
+
address@hidden@ address@hidden@(bool mute=false);
+
+class @NAME@ : public gr_sync_block
+{
+ private:
+  @NAME@ (bool mute);
+
+ public:
+  bool mute () const { return d_mute; }
+  void set_mute (bool mute) { d_mute = mute; }
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_noise_source_X.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t
                              (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_noise_source_X.cc.t
      2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,99 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include <@address@hidden>
+#include <gr_io_signature.h>
+#include <stdexcept>
+
+
address@hidden@_sptr 
address@hidden@ (gr_noise_type_t type, float ampl, long seed)
+{
+  return @address@hidden (new @NAME@ (type, ampl, seed));
+}
+
+
address@hidden@::@NAME@ (gr_noise_type_t type, float ampl, long seed)
+  : gr_sync_block ("@BASE_NAME@",
+                  gr_make_io_signature (0, 0, 0),
+                  gr_make_io_signature (1, 1, sizeof (@TYPE@))),
+    d_type (type),
+    d_ampl (ampl),
+    d_rng (seed)
+{
+}
+
+int
address@hidden@::work (int noutput_items,
+                  gr_vector_const_void_star &input_items,
+                  gr_vector_void_star &output_items)
+{
+  @TYPE@ *out = (@TYPE@ *) output_items[0];
+  
+  switch (d_type){
+#if @IS_COMPLEX@       // complex?
+
+  case GR_UNIFORM:
+    for (int i = 0; i < noutput_items; i++)
+      out[i] = gr_complex (d_ampl * ((d_rng.ran1 () * 2.0) - 1.0),
+                          d_ampl * ((d_rng.ran1 () * 2.0) - 1.0));
+    break;
+
+  case GR_GAUSSIAN:
+    for (int i = 0; i < noutput_items; i++)
+      out[i] = d_ampl * d_rng.rayleigh_complex ();
+    break;
+
+#else                  // nope...
+
+  case GR_UNIFORM:
+    for (int i = 0; i < noutput_items; i++)
+      out[i] = (@TYPE@)(d_ampl * ((d_rng.ran1 () * 2.0) - 1.0));
+    break;
+
+  case GR_GAUSSIAN:
+    for (int i = 0; i < noutput_items; i++)
+      out[i] = (@TYPE@)(d_ampl * d_rng.gasdev ());
+    break;
+    
+  case GR_LAPLACIAN:
+    for (int i = 0; i < noutput_items; i++)
+      out[i] = (@TYPE@)(d_ampl * d_rng.laplacian ());
+    break;
+    
+  case GR_IMPULSE:     // FIXME changeable impulse settings
+    for (int i = 0; i < noutput_items; i++)
+      out[i] = (@TYPE@)(d_ampl * d_rng.impulse (9));
+    break;
+#endif
+    
+  default:
+    throw std::runtime_error ("invalid type");
+  }
+
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_noise_source_X.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t
                               (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_noise_source_X.h.t
       2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,63 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+#include <gr_noise_type.h>
+#include <gr_random.h>
+
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @address@hidden;
+
address@hidden@_sptr 
address@hidden@ (gr_noise_type_t type, float ampl, long seed = 3021);
+
+/*!
+ * \brief random number source
+ * \ingroup source
+ */
+class @NAME@ : public gr_sync_block {
+  friend @address@hidden 
+  address@hidden@ (gr_noise_type_t type, float ampl, long seed);
+
+  gr_noise_type_t      d_type;
+  float                        d_ampl;
+  gr_random            d_rng;
+
+  @NAME@ (gr_noise_type_t type, float ampl, long seed = 3021);
+
+ public:
+  void set_type (gr_noise_type_t type) { d_type = type; }
+  void set_amplitude (float ampl) { d_ampl = ampl; }
+
+  virtual int work (int noutput_items,
+                        gr_vector_const_void_star &input_items,
+                        gr_vector_void_star &output_items);
+};
+
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_noise_source_X.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t
                               (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_noise_source_X.i.t
       2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,37 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@);
+
address@hidden@_sptr 
address@hidden@ (gr_noise_type_t type, float ampl, long seed = 3021);
+
+class @NAME@ : public gr_block {
+ private:
+  @NAME@ (gr_noise_type_t type, float ampl, long seed = 3021);
+
+ public:
+  void set_type (gr_noise_type_t type) { d_type = type; }
+  void set_amplitude (float ampl) { d_ampl = ampl; }
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.cc.t
                               (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.cc.t
       2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,137 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+#include <assert.h>
+#include <gr_log2_const.h>
+
+static const unsigned int BITS_PER_TYPE = sizeof(@I_TYPE@) * 8;
+static const unsigned int LOG2_L_TYPE = gr_log2_const<sizeof(@I_TYPE@) * 8>();
+
+
address@hidden@ 
address@hidden@ (unsigned int bits_per_chunk, gr_endianness_t endianness)
+{
+  return @SPTR_NAME@ 
+    (new @NAME@ (bits_per_chunk,endianness));
+}
+
address@hidden@::@NAME@ (unsigned int bits_per_chunk, 
+                                                   gr_endianness_t endianness)
+  : gr_block ("@BASE_NAME@",
+             gr_make_io_signature (1, -1, sizeof (@I_TYPE@)),
+             gr_make_io_signature (1, -1, sizeof (@O_TYPE@))),
+    d_bits_per_chunk(bits_per_chunk),d_endianness(endianness),d_index(0)
+{
+  assert (bits_per_chunk <= BITS_PER_TYPE);
+  assert (bits_per_chunk > 0);
+
+  set_relative_rate ((1.0 * BITS_PER_TYPE) / bits_per_chunk);
+}
+
+void
address@hidden@::forecast(int noutput_items, gr_vector_int 
&ninput_items_required)
+{
+
+  int input_required = (int) ceil((d_index + noutput_items * d_bits_per_chunk) 
/ (1.0 * BITS_PER_TYPE));
+  unsigned ninputs = ninput_items_required.size();
+  for (unsigned int i = 0; i < ninputs; i++) {
+    ninput_items_required[i] = input_required;
+    //printf("Forecast wants %d needs 
%d\n",noutput_items,ninput_items_required[i]);
+  }
+}
+
+unsigned int
+get_bit_le (const @I_TYPE@ *in_vector,unsigned int bit_addr)
+{
+  @I_TYPE@ x = in_vector[bit_addr>>LOG2_L_TYPE];
+  return (x>>(bit_addr&(BITS_PER_TYPE-1)))&1;
+}
+
+unsigned int
+get_bit_be (const @I_TYPE@ *in_vector,unsigned int bit_addr)
+{
+  @I_TYPE@ x = in_vector[bit_addr>>LOG2_L_TYPE];
+  return (x>>((BITS_PER_TYPE-1)-(bit_addr&(BITS_PER_TYPE-1))))&1;
+}
+
+int
address@hidden@::general_work (int noutput_items,
+                                       gr_vector_int &ninput_items,
+                                       gr_vector_const_void_star &input_items,
+                                       gr_vector_void_star &output_items)
+{
+  unsigned int index_tmp = d_index;
+
+  assert (input_items.size() == output_items.size());
+  int nstreams = input_items.size();
+
+  for (int m=0; m < nstreams; m++){
+    const @I_TYPE@ *in = (@I_TYPE@ *) input_items[m];
+    @O_TYPE@ *out = (@O_TYPE@ *) output_items[m];
+    index_tmp = d_index;
+
+    // per stream processing
+
+    switch (d_endianness){
+
+    case GR_MSB_FIRST:
+      for (int i = 0; i < noutput_items; i++){
+       //printf("here msb %d\n",i);
+       @O_TYPE@ x = 0;
+       for(unsigned int j=0; j<d_bits_per_chunk; j++, index_tmp++)
+         x = (x<<1) | get_bit_be(in, index_tmp);
+       out[i] = x;
+      }
+      break;
+
+    case GR_LSB_FIRST:
+      for (int i = 0; i < noutput_items; i++){
+       //printf("here lsb %d\n",i);
+       @O_TYPE@ x = 0;
+       for(unsigned int j=0; j<d_bits_per_chunk; j++, index_tmp++)
+         x = (x<<1) | get_bit_le(in, index_tmp);
+       out[i] = x;
+      }
+      break;
+
+    default:
+      assert(0);
+    }
+
+    //printf("almost got to end\n");
+    assert(ninput_items[m] >= (int) 
((d_index+(BITS_PER_TYPE-1))>>LOG2_L_TYPE));
+  }
+
+  d_index = index_tmp;
+  consume_each (d_index >> LOG2_L_TYPE);
+  d_index = d_index & (BITS_PER_TYPE-1);
+  //printf("got to end\n");
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.h.t
                                (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.h.t
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,84 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_block.h>
+#include <gr_endianness.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
+
address@hidden@ 
address@hidden@ (unsigned int bits_per_chunk, gr_endianness_t endianness);
+
+/*!
+ * \brief Convert a stream of packed bytes or shorts to stream of unpacked 
bytes or shorts.
+ * \ingroup block
+ *
+ * input: stream of @I_TYPE@; output: stream of @O_TYPE@
+ *
+ * This is the inverse of gr_unpacked_to_packed_XX.
+ *
+ * The bits in the bytes or shorts input stream are grouped into chunks of 
+ * \p bits_per_chunk bits and each resulting chunk is written right-
+ * justified to the output stream of bytes or shorts.  
+ * All b or 16 bits of the each input bytes or short are processed.  
+ * The right thing is done if bits_per_chunk is not a power of two.
+ *
+ * The combination of gr_packed_to_unpacked_XX_ followed by
+ * gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the
+ * general case of mapping from a stream of bytes or shorts into 
+ * arbitrary float or complex symbols.
+ *
+ * \sa gr_packed_to_unpacked_bb, gr_unpacked_to_packed_bb,
+ * \sa gr_packed_to_unpacked_ss, gr_unpacked_to_packed_ss,
+ * \sa gr_chunks_to_symbols_bf, gr_chunks_to_symbols_bc.
+ * \sa gr_chunks_to_symbols_sf, gr_chunks_to_symbols_sc.
+ */
+
+class @NAME@ : public gr_block
+{
+  friend @SPTR_NAME@ 
+  address@hidden@ (unsigned int bits_per_chunk, gr_endianness_t endianness);
+
+  @NAME@ (unsigned int bits_per_chunk, gr_endianness_t endianness);
+
+  unsigned int    d_bits_per_chunk;
+  gr_endianness_t d_endianness;
+  unsigned int    d_index;
+
+ public:
+  void forecast(int noutput_items, gr_vector_int &ninput_items_required);
+  int general_work (int noutput_items,
+                   gr_vector_int &ninput_items,
+                   gr_vector_const_void_star &input_items,
+                   gr_vector_void_star &output_items);
+
+  bool check_topology(int ninputs, int noutputs) { return ninputs == noutputs; 
}
+
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_packed_to_unpacked_XX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.i.t
                                (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_packed_to_unpacked_XX.i.t
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,33 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@);
+
address@hidden@ 
address@hidden@ (unsigned int bits_per_chunk, gr_endianness_t endianness);
+
+class @NAME@ : public gr_block
+{
+  @NAME@ (unsigned int bits_per_chunk, gr_endianness_t endianness);
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sig_source_X.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t
                                (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_X.cc.t
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,149 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include <@address@hidden>
+#include <algorithm>
+#include <gr_io_signature.h>
+#include <stdexcept>
+#include <gr_complex.h>
+
+
address@hidden@::@NAME@ (double sampling_freq, gr_waveform_t waveform,
+               double frequency, double ampl, @TYPE@ offset)
+  : gr_sync_block ("@BASE_NAME@",
+                  gr_make_io_signature (0, 0, 0),
+                  gr_make_io_signature (1, 1, sizeof (@TYPE@))),
+    d_sampling_freq (sampling_freq), d_waveform (waveform), d_frequency 
(frequency),
+    d_ampl (ampl), d_offset (offset)
+{
+  d_nco.set_freq (2 * M_PI * d_frequency / d_sampling_freq);
+}
+
address@hidden@_sptr
address@hidden@ (double sampling_freq, gr_waveform_t waveform,
+                    double frequency, double ampl, @TYPE@ offset)
+{
+  return @address@hidden (new @NAME@ (sampling_freq, waveform, frequency, 
ampl, offset));
+}
+
+int
address@hidden@::work (int noutput_items,
+                   gr_vector_const_void_star &input_items,
+                   gr_vector_void_star &output_items)
+{
+  @TYPE@ *optr = (@TYPE@ *) output_items[0];
+  @TYPE@ t;
+
+  switch (d_waveform){
+
+#if @IS_COMPLEX@       // complex?
+
+  case GR_CONST_WAVE:
+    t = (gr_complex) d_ampl + d_offset;
+    for (int i = 0; i < noutput_items; i++)    // FIXME unroll
+      optr[i] = t;
+    break;
+    
+  case GR_SIN_WAVE:
+  case GR_COS_WAVE:
+    d_nco.sincos (optr, noutput_items, d_ampl);
+    if (d_offset == gr_complex(0,0))
+      break;
+
+    for (int i = 0; i < noutput_items; i++){
+      optr[i] += d_offset;
+    }
+    break;
+
+#else                  // nope...
+
+  case GR_CONST_WAVE:
+    t = (@TYPE@) d_ampl + d_offset;
+    for (int i = 0; i < noutput_items; i++)    // FIXME unroll
+      optr[i] = t;
+    break;
+    
+  case GR_SIN_WAVE:
+    d_nco.sin (optr, noutput_items, d_ampl);
+    if (d_offset == 0)
+      break;
+
+    for (int i = 0; i < noutput_items; i++){
+      optr[i] += d_offset;
+    }
+    break;
+
+  case GR_COS_WAVE:
+    d_nco.cos (optr, noutput_items, d_ampl);
+    if (d_offset == 0)
+      break;
+
+    for (int i = 0; i < noutput_items; i++){
+      optr[i] += d_offset;
+    }
+    break;
+#endif
+
+  default:
+    throw std::runtime_error ("gr_sig_source: invalid waveform");
+  }
+
+  return noutput_items;
+}
+
+void
address@hidden@::set_sampling_freq (double sampling_freq)
+{
+  d_sampling_freq = sampling_freq;
+  d_nco.set_freq (2 * M_PI * d_frequency / d_sampling_freq);
+}
+
+void
address@hidden@::set_waveform (gr_waveform_t waveform)
+{
+  d_waveform = waveform;
+}
+
+void
address@hidden@::set_frequency (double frequency)
+{
+  d_frequency = frequency;
+  d_nco.set_freq (2 * M_PI * d_frequency / d_sampling_freq);
+}
+
+void
address@hidden@::set_amplitude (double ampl)
+{
+  d_ampl = ampl;
+}
+
+void
address@hidden@::set_offset (@TYPE@ offset)
+{
+  d_offset = offset;
+}
+

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_X.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sig_source_X.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_X.h.t
                         (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_X.h.t
 2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,81 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+#include <gr_sig_source_waveform.h>
+#include <gr_fxpt_nco.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @address@hidden;
+
+/*!
+ * \brief signal generator with @TYPE@ output.
+ * \ingroup source
+ */
+
+class @NAME@ : public gr_sync_block {
+  friend @address@hidden 
+  address@hidden@ (double sampling_freq, gr_waveform_t waveform,
+                      double frequency, double ampl, @TYPE@ offset);
+
+  double               d_sampling_freq;
+  gr_waveform_t                d_waveform;
+  double               d_frequency;
+  double               d_ampl;
+  @TYPE@               d_offset;
+  gr_fxpt_nco          d_nco;
+
+
+  @NAME@ (double sampling_freq, gr_waveform_t waveform,
+         double wave_freq, double ampl, @TYPE@ offset);
+
+ public:
+  virtual int work (int noutput_items,
+                   gr_vector_const_void_star &input_items,
+                   gr_vector_void_star &output_items);
+
+  // ACCESSORS
+  double sampling_freq () const { return d_sampling_freq; }
+  gr_waveform_t waveform () const { return d_waveform; }
+  double frequency () const { return d_frequency; }
+  double amplitude () const { return d_ampl; }
+  @TYPE@ offset () const { return d_offset; }
+
+  // MANIPULATORS
+  void set_sampling_freq (double sampling_freq);
+  void set_waveform (gr_waveform_t waveform);
+  void set_frequency (double frequency);
+  void set_amplitude (double ampl);
+  void set_offset (@TYPE@ offset);
+};
+
address@hidden@_sptr
address@hidden@ (double sampling_freq, gr_waveform_t waveform,
+                    double wave_freq, double ampl, @TYPE@ offset = 0);
+
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_X.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sig_source_X.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_X.i.t
                         (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_X.i.t
 2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,52 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@);
+
address@hidden@_sptr
address@hidden@ (double sampling_freq, gr_waveform_t waveform,
+                    double wave_freq, double ampl, @TYPE@ offset = 0);
+
+
+class @NAME@ : public gr_sync_block {
+ private:
+  @NAME@ (double sampling_freq, gr_waveform_t waveform,
+         double wave_freq, double ampl, @TYPE@ offset);
+
+ public:
+
+  // ACCESSORS
+  double sampling_freq () const { return d_sampling_freq; }
+  gr_waveform_t waveform () const { return d_waveform; }
+  double frequency () const { return d_frequency; }
+  double amplitude () const { return d_ampl; }
+  @TYPE@ offset () const { return d_offset; }
+
+  // MANIPULATORS
+  void set_sampling_freq (double sampling_freq);
+  void set_waveform (gr_waveform_t waveform);
+  void set_frequency (double frequency);
+  void set_amplitude (double ampl);
+  void set_offset (@TYPE@ offset);
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_waveform.h
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sig_source_waveform.h)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_waveform.h
                            (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sig_source_waveform.h
    2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,29 @@
+/* -*- 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 2, or (at your option)
+ * any later version.
+ * 
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Radio; see the file COPYING.  If not, write to
+ * the Free Software Foundation, Inc., 51 Franklin Street,
+ * Boston, MA 02110-1301, USA.
+ */
+#ifndef INCLUDED_GR_SIG_SOURCE_WAVEFORM_H
+#define INCLUDED_GR_SIG_SOURCE_WAVEFORM_H
+
+typedef enum {
+  GR_CONST_WAVE = 100, GR_SIN_WAVE, GR_COS_WAVE
+} gr_waveform_t;
+
+#endif /* INCLUDED_GR_SIG_SOURCE_WAVEFORM_H */

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sub_XX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t
                              (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sub_XX.cc.t
      2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,70 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+
address@hidden@
address@hidden@ ()
+{
+  return @SPTR_NAME@ (new @NAME@ ());
+}
+
address@hidden@::@NAME@ ()
+  : gr_sync_block ("@BASE_NAME@",
+                  gr_make_io_signature (1, -1, sizeof (@I_TYPE@)),
+                  gr_make_io_signature (1,  1, sizeof (@O_TYPE@)))
+{
+}
+
+int
address@hidden@::work (int noutput_items,
+                  gr_vector_const_void_star &input_items,
+                  gr_vector_void_star &output_items)
+{
+  @O_TYPE@ *optr = (@O_TYPE@ *) output_items[0];
+
+  int ninputs = input_items.size ();
+
+  if (ninputs == 1){           // negate
+    for (int i = 0; i < noutput_items; i++)
+      *optr++ = (@O_TYPE@) -((@I_TYPE@ *) input_items[0])[i];
+  }
+
+  else {
+    for (int i = 0; i < noutput_items; i++){
+      @I_TYPE@ acc = ((@I_TYPE@ *) input_items[0])[i];
+      for (int j = 1; j < ninputs; j++)
+       acc -= ((@I_TYPE@ *) input_items[j])[i];
+
+      *optr++ = (@O_TYPE@) acc;
+    }
+  }
+
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sub_XX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sub_XX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sub_XX.h.t
                               (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sub_XX.h.t
       2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,54 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @SPTR_NAME@;
+
address@hidden@ address@hidden@ ();
+
+/*!
+ * \brief output = input_0 -  input_1 - ...)
+ * \ingroup block
+ *
+ * Subtract across all input streams.
+ */
+class @NAME@ : public gr_sync_block
+{
+  friend @SPTR_NAME@ address@hidden@ ();
+
+  @NAME@ ();
+
+ public:
+
+  int work (int noutput_items,
+           gr_vector_const_void_star &input_items,
+           gr_vector_void_star &output_items);
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sub_XX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_sub_XX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sub_XX.i.t
                               (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_sub_XX.i.t
       2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,33 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@)
+
address@hidden@ address@hidden@ ();
+
+class @NAME@ : public gr_sync_block
+{
+ private:
+  @NAME@ ();
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.cc.t
                               (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.cc.t
       2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,129 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2004,2006 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <@address@hidden>
+#include <gr_io_signature.h>
+#include <assert.h>
+
+static const unsigned int BITS_PER_TYPE = sizeof(@O_TYPE@) * 8;
+
+
address@hidden@ 
address@hidden@ (unsigned int bits_per_chunk, gr_endianness_t endianness)
+{
+  return @SPTR_NAME@ 
+    (new @NAME@ (bits_per_chunk,endianness));
+}
+
address@hidden@::@NAME@ (unsigned int bits_per_chunk, 
+                                                   gr_endianness_t endianness)
+  : gr_block ("@BASE_NAME@",
+             gr_make_io_signature (1, -1, sizeof (@I_TYPE@)),
+             gr_make_io_signature (1, -1, sizeof (@O_TYPE@))),
+    d_bits_per_chunk(bits_per_chunk),d_endianness(endianness),d_index(0)
+{
+  assert (bits_per_chunk <= BITS_PER_TYPE);
+  assert (bits_per_chunk > 0);
+
+  set_relative_rate (bits_per_chunk/(1.0 * BITS_PER_TYPE));
+}
+
+void
address@hidden@::forecast(int noutput_items, gr_vector_int 
&ninput_items_required)
+{
+  int input_required = (int) ceil( (d_index+noutput_items * 1.0 * 
BITS_PER_TYPE)/d_bits_per_chunk);
+  unsigned ninputs = ninput_items_required.size();
+  for (unsigned int i = 0; i < ninputs; i++) {
+    ninput_items_required[i] = input_required;
+  }
+}
+
+unsigned int
+get_bit_be1 (const @I_TYPE@ *in_vector,unsigned int bit_addr, unsigned int 
bits_per_chunk) {
+  unsigned int byte_addr = (int)bit_addr/bits_per_chunk;
+  @I_TYPE@ x = in_vector[byte_addr];
+  unsigned int residue = bit_addr - byte_addr * bits_per_chunk;
+  //printf("Bit addr %d  byte addr %d  residue %d  val  
%d\n",bit_addr,byte_addr,residue,(x>>(bits_per_chunk-1-residue))&1);
+  return (x >> (bits_per_chunk-1-residue))&1;
+}
+
+int
address@hidden@::general_work (int noutput_items,
+                                       gr_vector_int &ninput_items,
+                                       gr_vector_const_void_star &input_items,
+                                       gr_vector_void_star &output_items)
+{
+  unsigned int index_tmp = d_index;
+
+  assert (input_items.size() == output_items.size());
+  int nstreams = input_items.size();
+
+  for (int m=0; m< nstreams; m++) {
+    const @I_TYPE@ *in = (@I_TYPE@ *) input_items[m];
+    @O_TYPE@ *out = (@O_TYPE@ *) output_items[m];
+    index_tmp=d_index;
+
+    // per stream processing
+
+    //assert((ninput_items[m]-d_index)*d_bits_per_chunk >= 
noutput_items*BITS_PER_TYPE);
+  
+    switch(d_endianness){
+
+    case GR_MSB_FIRST:
+      for(int i=0;i<noutput_items;i++) {
+       @O_TYPE@ tmp=0;
+       for(unsigned int j=0; j<BITS_PER_TYPE; j++) {
+         tmp = (tmp<<1) | get_bit_be1(in,index_tmp,d_bits_per_chunk);
+         index_tmp++;
+       }
+       out[i] = tmp;
+      }
+      break;
+
+    case GR_LSB_FIRST:
+      for(int i=0;i<noutput_items;i++) {
+       unsigned long tmp=0;
+       for(unsigned int j=0; j<BITS_PER_TYPE; j++) {
+         tmp = (tmp>>1)| 
(get_bit_be1(in,index_tmp,d_bits_per_chunk)<<(BITS_PER_TYPE-1));
+         index_tmp++;
+       }
+       out[i] = tmp;
+      }
+      break;
+      
+    default:
+      assert(0);
+    }
+  }
+
+  d_index = index_tmp;
+  consume_each ((int)(d_index/d_bits_per_chunk));
+  d_index = d_index%d_bits_per_chunk;
+
+  return noutput_items;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.h.t
                                (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.h.t
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,81 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_block.h>
+#include <gr_endianness.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @address@hidden;
+
address@hidden@ 
address@hidden@ (unsigned int bits_per_chunk, gr_endianness_t endianness);
+
+/*!
+ * \brief Convert a stream of unpacked bytes or shorts into a stream of packed 
bytes or shorts.
+ * \ingroup block
+ *
+ * input: stream of @I_TYPE@; output: stream of @O_TYPE@
+ *
+ * This is the inverse of gr_packed_to_unpacked_XX.
+ *
+ * The low \p bits_per_chunk bits are extracted from each input byte or short.
+ * These bits are then packed densely into the output bytes or shorts, such 
that
+ * all 8 or 16 bits of the output bytes or shorts are filled with valid input 
bits.
+ * The right thing is done if bits_per_chunk is not a power of two.
+ *
+ * The combination of gr_packed_to_unpacked_XX followed by
+ * gr_chunks_to_symbols_Xf or gr_chunks_to_symbols_Xc handles the
+ * general case of mapping from a stream of bytes or shorts into arbitrary 
float
+ * or complex symbols.
+ *
+ * \sa gr_packed_to_unpacked_bb, gr_unpacked_to_packed_bb,
+ * \sa gr_packed_to_unpacked_ss, gr_unpacked_to_packed_ss,
+ * \sa gr_chunks_to_symbols_bf, gr_chunks_to_symbols_bc.
+ * \sa gr_chunks_to_symbols_sf, gr_chunks_to_symbols_sc.
+ */
+class @NAME@ : public gr_block
+{
+  friend @SPTR_NAME@
+  address@hidden@ (unsigned int bits_per_chunk, gr_endianness_t endianness);
+
+  @NAME@ (unsigned int bits_per_chunk, gr_endianness_t endianness);
+
+  unsigned int    d_bits_per_chunk;
+  gr_endianness_t d_endianness;
+  unsigned int    d_index;
+
+ public:
+  void forecast(int noutput_items, gr_vector_int &ninput_items_required);
+  int general_work (int noutput_items,
+                   gr_vector_int &ninput_items,
+                   gr_vector_const_void_star &input_items,
+                   gr_vector_void_star &output_items);
+
+  bool check_topology(int ninputs, int noutputs) { return ninputs == noutputs; 
}
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_unpacked_to_packed_XX.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.i.t
                                (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_unpacked_to_packed_XX.i.t
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,33 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@);
+
address@hidden@
address@hidden@ (unsigned int bits_per_chunk, gr_endianness_t endianness);
+
+class @NAME@ : public gr_block
+{
+  @NAME@ (unsigned int bits_per_chunk, gr_endianness_t endianness);
+};

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_sink_X.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t
                               (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_sink_X.cc.t
       2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,63 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include <@address@hidden>
+#include <algorithm>
+#include <gr_io_signature.h>
+
+
address@hidden@::@NAME@ ()
+  : gr_sync_block ("@BASE_NAME@",
+              gr_make_io_signature (1, 1, sizeof (@TYPE@)),
+              gr_make_io_signature (0, 0, 0))
+{
+}
+
+int
address@hidden@::work (int noutput_items,
+                   gr_vector_const_void_star &input_items,
+                   gr_vector_void_star &output_items)
+{
+  @TYPE@ *iptr = (@TYPE@ *) input_items[0];
+  for (int i = 0; i < noutput_items; i++)
+    d_data.push_back (iptr[i]);
+
+  return noutput_items;
+}
+
+
address@hidden@_sptr
address@hidden@ ()
+{
+  return @address@hidden (new @NAME@ ());
+}
+
+std::vector<@TYPE@>
address@hidden@::data () const
+{
+  return d_data;
+}

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_sink_X.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_sink_X.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_sink_X.h.t
                                (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_sink_X.h.t
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,55 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @address@hidden;
+
address@hidden@_sptr
address@hidden@ ();
+
+
+/*!
+ * \brief @TYPE@ sink that writes to a vector
+ * \ingroup sink
+ */
+
+class @NAME@ : public gr_sync_block {
+  friend @address@hidden address@hidden@ ();
+  std::vector<@TYPE@>  d_data;
+  @NAME@ ();
+
+ public:
+  virtual int work (int noutput_items,
+                   gr_vector_const_void_star &input_items,
+                   gr_vector_void_star &output_items);
+
+  std::vector<@TYPE@> data () const;
+};
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_sink_X.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_sink_X.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_sink_X.i.t
                                (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_sink_X.i.t
        2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,37 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@);
+
address@hidden@ address@hidden@ ();
+
+class @NAME@ : public gr_sync_block {
+ private:
+  @NAME@ ();
+
+ public:
+  std::vector<@TYPE@> data () const;
+};
+

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_source_X.cc.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t
                             (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_source_X.cc.t
     2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,85 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include <@address@hidden>
+#include <algorithm>
+#include <gr_io_signature.h>
+
+
address@hidden@::@NAME@ (const std::vector<@TYPE@> &data, bool repeat)
+  : gr_sync_block ("@BASE_NAME@",
+              gr_make_io_signature (0, 0, 0),
+              gr_make_io_signature (1, 1, sizeof (@TYPE@))),
+    d_data (data),
+    d_repeat (repeat),
+    d_offset (0)
+{
+}
+
+int
address@hidden@::work (int noutput_items,
+                   gr_vector_const_void_star &input_items,
+                   gr_vector_void_star &output_items)
+{
+  @TYPE@ *optr = (@TYPE@ *) output_items[0];
+
+  if (d_repeat){
+    unsigned int size = d_data.size ();
+    unsigned int offset = d_offset;
+    
+    if (size == 0)
+      return -1;
+    
+    for (int i = 0; i < noutput_items; i++){
+      optr[i] = d_data[offset++];
+      if (offset >= size)
+       offset = 0;
+    }
+    d_offset = offset;
+    return noutput_items;
+  }
+
+  else {
+    if (d_offset >= d_data.size ())
+      return -1;                       // Done!
+
+    unsigned n = std::min ((unsigned) d_data.size () - d_offset,
+                          (unsigned) noutput_items);
+    for (unsigned i = 0; i < n; i++)
+      optr[i] = d_data[d_offset + i];
+
+    d_offset += n;
+    return n;
+  }
+}
+
address@hidden@_sptr
address@hidden@ (const std::vector<@TYPE@> &data, bool repeat)
+{
+  return @address@hidden (new @NAME@ (data, repeat));
+}
+

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_source_X.h.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_source_X.h.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_source_X.h.t
                              (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_source_X.h.t
      2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,57 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+#ifndef @GUARD_NAME@
+#define @GUARD_NAME@
+
+#include <gr_sync_block.h>
+
+class @NAME@;
+typedef boost::shared_ptr<@NAME@> @address@hidden;
+
+/*!
+ * \brief source of @TYPE@'s that gets its data from a vector
+ * \ingroup source
+ */
+
+class @NAME@ : public gr_sync_block {
+  friend @address@hidden 
+  address@hidden@ (const std::vector<@TYPE@> &data, bool repeat = false);
+
+  std::vector<@TYPE@>  d_data;
+  bool                 d_repeat;
+  unsigned int         d_offset;
+
+  @NAME@ (const std::vector<@TYPE@> &data, bool repeat);
+
+ public:
+  virtual int work (int noutput_items,
+                   gr_vector_const_void_star &input_items,
+                   gr_vector_void_star &output_items);
+};
+
address@hidden@_sptr
address@hidden@ (const std::vector<@TYPE@> &data, bool repeat);
+
+#endif

Copied: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_source_X.i.t
 (from rev 4251, 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/general/gr_vector_source_X.i.t)
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_source_X.i.t
                              (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/gengen/gr_vector_source_X.i.t
      2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,33 @@
+/* -*- 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 2, 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.
+ */
+
+// @WARNING@
+
+GR_SWIG_BLOCK_MAGIC(gr,@BASE_NAME@);
+
address@hidden@_sptr
address@hidden@ (const std::vector<@TYPE@> &data, bool repeat = false);
+
+class @NAME@ : public gr_sync_block {
+ private:
+  @NAME@ (const std::vector<@TYPE@> &data);
+};


Property changes on: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig
___________________________________________________________________
Name: svn:ignore
   - Makefile
Makefile.in
.la
.lo
.deps
.libs
*.la
*.lo
*.pyc
swigrun.py
swigrun_wrap.c
Makefile.swigdeps.new
gnuradio_swig_py_runtime.d
gnuradio_swig_py_general.d
gnuradio_swig_py_filter.d
gnuradio_swig_py_io.d
gnuradio_swig_bug_workaround.h
gnuradio_swig_py_runtime.cc
gnuradio_swig_py_runtime.h
gnuradio_swig_py_runtime.py
gnuradio_swig_py_general.cc
gnuradio_swig_py_general.h
gnuradio_swig_py_general.py
gnuradio_swig_py_filter.cc
gnuradio_swig_py_filter.h
gnuradio_swig_py_filter.py
gnuradio_swig_py_io.cc
gnuradio_swig_py_io.h
gnuradio_swig_py_io.py

   + Makefile
Makefile.in
.la
.lo
.deps
.libs
*.la
*.lo
*.pyc
swigrun.py
swigrun_wrap.c
Makefile.swigdeps.new
gnuradio_swig_py_runtime.d
gnuradio_swig_py_general.d
gnuradio_swig_py_gengen.d
gnuradio_swig_py_filter.d
gnuradio_swig_py_io.d
gnuradio_swig_bug_workaround.h
gnuradio_swig_py_runtime.cc
gnuradio_swig_py_runtime.h
gnuradio_swig_py_runtime.py
gnuradio_swig_py_general.cc
gnuradio_swig_py_general.h
gnuradio_swig_py_general.py
gnuradio_swig_py_gengen.cc
gnuradio_swig_py_gengen.h
gnuradio_swig_py_gengen.py
gnuradio_swig_py_filter.cc
gnuradio_swig_py_filter.h
gnuradio_swig_py_filter.py
gnuradio_swig_py_io.cc
gnuradio_swig_py_io.h
gnuradio_swig_py_io.py


Modified: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig/Makefile.am
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig/Makefile.am
   2007-01-09 21:26:24 UTC (rev 4251)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig/Makefile.am
   2007-01-12 20:32:37 UTC (rev 4252)
@@ -1,5 +1,5 @@
 #
-# Copyright 2001,2003,2004,2005 Free Software Foundation, Inc.
+# Copyright 2001,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
 # 
 # This file is part of GNU Radio
 # 
@@ -39,6 +39,7 @@
        gnuradio.i                      \
        shared_ptr.i                    \
        sw_general.i                    \
+       sw_gengen.i                     \
        sw_filter.i                     \
        sw_io.i                         
 
@@ -51,7 +52,7 @@
 
 # ----------------------------------------------------------------
 # We've split the previously monstrous gnuradio_swig_python into
-# 4 smaller pieces.  This reduces compile time coupling and
+# 5 smaller pieces.  This reduces compile time coupling and
 # creates smaller pieces for the compiler to digest.
 # prior to this change, on X86_64, g++'s resident set size was
 # 650MB!
@@ -63,6 +64,9 @@
        gnuradio_swig_py_general.cc     \
        gnuradio_swig_py_general.py     \
        gnuradio_swig_py_general.h      \
+       gnuradio_swig_py_gengen.cc      \
+       gnuradio_swig_py_gengen.py      \
+       gnuradio_swig_py_gengen.h       \
        gnuradio_swig_py_filter.cc      \
        gnuradio_swig_py_filter.py      \
        gnuradio_swig_py_filter.h       \
@@ -80,6 +84,7 @@
 grgrlib_LTLIBRARIES =                          \
        _gnuradio_swig_py_runtime.la            \
        _gnuradio_swig_py_general.la            \
+       _gnuradio_swig_py_gengen.la             \
        _gnuradio_swig_py_filter.la             \
        _gnuradio_swig_py_io.la                 
 
@@ -88,6 +93,7 @@
        gnuradio_swig_python.py         \
        gnuradio_swig_py_runtime.py     \
        gnuradio_swig_py_general.py     \
+       gnuradio_swig_py_gengen.py      \
        gnuradio_swig_py_filter.py      \
        gnuradio_swig_py_io.py          
 
@@ -156,9 +162,40 @@
 
 
 # ----------------------------------------------------------------
-# Part 3: sw_filter.i -> gnuradio_swig_py_filter
+# Part 3: sw_gengen.i -> gnuradio_swig_py_gengen
 #
 
+_gnuradio_swig_py_gengen_la_SOURCES =          \
+       gnuradio_swig_py_gengen.cc              
+
+
+_gnuradio_swig_py_gengen_la_LIBADD  =          \
+       $(top_builddir)/gnuradio-core/src/lib/libgnuradio-core.la       \
+       $(PYTHON_LDFLAGS)                       \
+       -lstdc++
+
+_gnuradio_swig_py_gengen_la_LDFLAGS = -module -avoid-version $(NO_UNDEFINED)
+
+
+# KLUDGE: Force gengen include of gnuradio_swig_py_gengen.d dependency file.
+# This is not guaranteed to be portable, but will probably work.
+# If it works, we have accurate dependencies for our swig stuff, which is good.
address@hidden@ @address@hidden/address@hidden@
+
+gnuradio_swig_py_gengen.py gnuradio_swig_py_gengen.h: 
gnuradio_swig_py_gengen.cc
+
+gnuradio_swig_py_gengen.cc : sw_gengen.i
+       if $(SWIG) $(SWIGPYTHONARGS) -MMD -MF gnuradio_swig_py_gengen.Td 
-module gnuradio_swig_py_gengen -o gnuradio_swig_py_gengen.cc sw_gengen.i ;\
+       then if test $(host_os) = mingw32; \
+            then sed 's,\\\\,/,g' <gnuradio_swig_py_gengen.Td 
>gnuradio_swig_py_gengen.d; rm -f gnuradio_swig_py_gengen.Td; \
+            else mv -f gnuradio_swig_py_gengen.Td gnuradio_swig_py_gengen.d; 
fi \
+       else rm -f gnuradio_swig_py_gengen.Td; exit 1; fi 
+
+
+# ----------------------------------------------------------------
+# Part 4: sw_filter.i -> gnuradio_swig_py_filter
+#
+
 _gnuradio_swig_py_filter_la_SOURCES =          \
        gnuradio_swig_py_filter.cc              
 
@@ -187,7 +224,7 @@
 
 
 # ----------------------------------------------------------------
-# Part 4: sw_io.i -> gnuradio_swig_py_io
+# Part 5: sw_io.i -> gnuradio_swig_py_io
 #
 
 _gnuradio_swig_py_io_la_SOURCES =              \
@@ -243,5 +280,6 @@
 DISTCLEANFILES =                       \
        gnuradio_swig_py_runtime.d      \
        gnuradio_swig_py_general.d      \
+       gnuradio_swig_py_gengen.d       \
        gnuradio_swig_py_filter.d       \
        gnuradio_swig_py_io.d           

Modified: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig/gnuradio_swig_python.py
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig/gnuradio_swig_python.py
       2007-01-09 21:26:24 UTC (rev 4251)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig/gnuradio_swig_python.py
       2007-01-12 20:32:37 UTC (rev 4252)
@@ -22,5 +22,6 @@
 
 from gnuradio_swig_py_runtime import *
 from gnuradio_swig_py_general import *
+from gnuradio_swig_py_gengen import *
 from gnuradio_swig_py_filter import *
 from gnuradio_swig_py_io import *

Added: 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig/sw_gengen.i
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig/sw_gengen.i
                           (rev 0)
+++ 
gnuradio/branches/developers/eb/swig-split/gnuradio-core/src/lib/swig/sw_gengen.i
   2007-01-12 20:32:37 UTC (rev 4252)
@@ -0,0 +1,36 @@
+/* -*- c++ -*- */
+/*
+ * Copyright 2006 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 2, or (at your option)
+ * any later version.
+ * 
+ * GNU Radio is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef SWIGIMPORTED
+%module(directors="1") gnuradio_swig_py_gengen
+#endif
+
+
+%feature("autodoc", "1");              // generate python docstrings
+
+%include "exception.i"
+%import "gnuradio.i"                           // the common stuff
+
+%{
+#include "gnuradio_swig_bug_workaround.h"      // mandatory bug fix
+%}
+
+%include "gengen.i"

Modified: 
gnuradio/branches/developers/eb/swig-split/gr-error-correcting-codes/src/lib/libecc/mld/Makefile.am
===================================================================
--- 
gnuradio/branches/developers/eb/swig-split/gr-error-correcting-codes/src/lib/libecc/mld/Makefile.am
 2007-01-09 21:26:24 UTC (rev 4251)
+++ 
gnuradio/branches/developers/eb/swig-split/gr-error-correcting-codes/src/lib/libecc/mld/Makefile.am
 2007-01-12 20:32:37 UTC (rev 4252)
@@ -33,4 +33,3 @@
 
 MOSTLYCLEANFILES = *.loT *~
 
-CONFIG_CLEAN_FILES = *.in

Modified: gnuradio/branches/developers/eb/swig-split/run_tests.sh.in
===================================================================
--- gnuradio/branches/developers/eb/swig-split/run_tests.sh.in  2007-01-09 
21:26:24 UTC (rev 4251)
+++ gnuradio/branches/developers/eb/swig-split/run_tests.sh.in  2007-01-12 
20:32:37 UTC (rev 4252)
@@ -17,6 +17,9 @@
 address@hidden@/gnuradio-core/src/lib/swig
 grswigdir=$grswigdir:$grswigdir/.libs
 
+# Where to find core's hand generated swig glue
address@hidden@/gnuradio-core/src/lib/swig
+
 # Where to find core's python modules
 address@hidden@/gnuradio-core/src/python
 
@@ -25,7 +28,7 @@
 grlibdir=$grlibdir:$grlibdir/.libs
 
 # Construct search path for python modules
-PYTHONPATH="$mylibdir:$mysrcdir:$mypydir:$grswigdir:$grpydir:$PYTHONPATH"
+PYTHONPATH="$mylibdir:$mysrcdir:$mypydir:$grswigdir:$grswigsrcdir:$grpydir:$PYTHONPATH"
 export PYTHONPATH
 
 # For OS/X





reply via email to

[Prev in Thread] Current Thread [Next in Thread]