commit-gnuradio
[Top][All Lists]
Advanced

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

[Commit-gnuradio] [gnuradio] 02/16: Add vector support to abs block. Rem


From: git
Subject: [Commit-gnuradio] [gnuradio] 02/16: Add vector support to abs block. Remove unused num_inputs from xml.
Date: Fri, 19 Sep 2014 19:07:58 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

jcorgan pushed a commit to branch master
in repository gnuradio.

commit c687f249a6208450e295a6dd1671e57747a84cbe
Author: jwl <address@hidden>
Date:   Sun Sep 7 20:03:56 2014 -0400

    Add vector support to abs block. Remove unused num_inputs from xml.
---
 gr-blocks/grc/blocks_abs_xx.xml              | 19 +++++++++----------
 gr-blocks/include/gnuradio/blocks/abs_XX.h.t |  2 +-
 gr-blocks/lib/abs_XX_impl.cc.t               | 13 +++++++------
 gr-blocks/lib/abs_XX_impl.h.t                |  5 ++++-
 4 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/gr-blocks/grc/blocks_abs_xx.xml b/gr-blocks/grc/blocks_abs_xx.xml
index 65ef97d..7729871 100644
--- a/gr-blocks/grc/blocks_abs_xx.xml
+++ b/gr-blocks/grc/blocks_abs_xx.xml
@@ -8,7 +8,13 @@
        <name>Abs</name>
        <key>blocks_abs_xx</key>
        <import>from gnuradio import blocks</import>
-       <make>blocks.abs_$(type.fcn)()</make>
+       <make>blocks.abs_$(type.fcn)($vlen)</make>
+       <param>
+               <name>Vec Length</name>
+               <key>vlen</key>
+               <value>1</value>
+               <type>int</type>
+       </param>
        <param>
                <name>IO Type</name>
                <key>type</key>
@@ -29,21 +35,14 @@
                        <opt>fcn:ff</opt>
                </option>
        </param>
-       <param>
-               <name>Num Inputs</name>
-               <key>num_inputs</key>
-               <value>1</value>
-               <type>int</type>
-       </param>
-       <check>$num_inputs &gt;= 1</check>
        <sink>
                <name>in</name>
                <type>$type</type>
-               <nports>$num_inputs</nports>
+               <vlen>$vlen</vlen>
        </sink>
        <source>
                <name>out</name>
                <type>$type</type>
-               <nports>$num_inputs</nports>
+               <vlen>$vlen</vlen>
        </source>
 </block>
diff --git a/gr-blocks/include/gnuradio/blocks/abs_XX.h.t 
b/gr-blocks/include/gnuradio/blocks/abs_XX.h.t
index f8688ed..5417162 100644
--- a/gr-blocks/include/gnuradio/blocks/abs_XX.h.t
+++ b/gr-blocks/include/gnuradio/blocks/abs_XX.h.t
@@ -49,7 +49,7 @@ namespace gr {
       /*!
        * \brief Create an instance of @NAME@
        */
-      static sptr make();
+      static sptr make(size_t vlen=1);
     };
 
   } /* namespace blocks */
diff --git a/gr-blocks/lib/abs_XX_impl.cc.t b/gr-blocks/lib/abs_XX_impl.cc.t
index 6bb9f14..195d8df 100644
--- a/gr-blocks/lib/abs_XX_impl.cc.t
+++ b/gr-blocks/lib/abs_XX_impl.cc.t
@@ -32,15 +32,16 @@
 namespace gr {
   namespace blocks {
 
-    @NAME@::sptr @NAME@::make()
+    @NAME@::sptr @NAME@::make(size_t vlen)
     {
-      return gnuradio::get_initial_sptr(new @NAME_IMPL@());
+      return gnuradio::get_initial_sptr(new @NAME_IMPL@(vlen));
     }
 
-    @NAME_IMPL@::@NAME_IMPL@()
+    @NAME_IMPL@::@NAME_IMPL@(size_t vlen)
       : sync_block ("@NAME@",
-                      io_signature::make (1, 1, sizeof (@I_TYPE@)),
-                      io_signature::make (1, 1, sizeof (@O_TYPE@)))
+                      io_signature::make (1, 1, sizeof (@I_TYPE@)*vlen),
+                      io_signature::make (1, 1, sizeof (@O_TYPE@)*vlen)),
+        d_vlen(vlen)
     {
     }
 
@@ -52,7 +53,7 @@ namespace gr {
       @I_TYPE@ *iptr = (@I_TYPE@ *) input_items[0];
       @O_TYPE@ *optr = (@O_TYPE@ *) output_items[0];
 
-      for(int i=0; i<noutput_items; i++) {
+      for(size_t i=0; i<noutput_items*d_vlen; i++) {
         @I_TYPE@ val = iptr[i];
         optr[i] = ((val < ((@I_TYPE@)0)) ? -val : val);
       }
diff --git a/gr-blocks/lib/abs_XX_impl.h.t b/gr-blocks/lib/abs_XX_impl.h.t
index b31ef5f..fa96c84 100644
--- a/gr-blocks/lib/abs_XX_impl.h.t
+++ b/gr-blocks/lib/abs_XX_impl.h.t
@@ -32,8 +32,11 @@ namespace gr {
 
     class BLOCKS_API @NAME_IMPL@ : public @NAME@
     {
+    private:
+      size_t d_vlen;
+
     public:
-      @NAME_IMPL@();
+      @NAME_IMPL@(size_t vlen);
 
       int work(int noutput_items,
               gr_vector_const_void_star &input_items,



reply via email to

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