summaryrefslogtreecommitdiff
path: root/lib/block_handlers.cpp
diff options
context:
space:
mode:
authorJosh Blum2012-08-28 15:27:42 -0700
committerJosh Blum2012-08-28 15:27:42 -0700
commit4044977deba6d64124763836d875b4da2b70eeaf (patch)
tree45b785eca8769ab1e65fa4e84940c0f2ea60718c /lib/block_handlers.cpp
parent43a371895a821efde490db1df20a0c445b534ba8 (diff)
downloadsandhi-4044977deba6d64124763836d875b4da2b70eeaf.tar.gz
sandhi-4044977deba6d64124763836d875b4da2b70eeaf.tar.bz2
sandhi-4044977deba6d64124763836d875b4da2b70eeaf.zip
some work on work consume/produce buffers
Diffstat (limited to 'lib/block_handlers.cpp')
-rw-r--r--lib/block_handlers.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/block_handlers.cpp b/lib/block_handlers.cpp
index e5a117f..7825868 100644
--- a/lib/block_handlers.cpp
+++ b/lib/block_handlers.cpp
@@ -35,9 +35,10 @@ void resize_fill(V &v, const size_t new_len, const T &fill)
}
template <typename V>
-void resize_fill_front(V &v, const size_t new_len)
+void resize_fill_back(V &v, const size_t new_len)
{
- resize_fill(v, new_len, v.front());
+ if (v.empty()) v.push_back(0);
+ resize_fill(v, new_len, v.back());
}
template <typename V, typename Sig>
@@ -60,8 +61,8 @@ void ElementImpl::topology_update(const tsbe::TaskInterface &task_iface, const t
fill_item_sizes_from_sig(this->output_items_sizes, this->output_signature, num_outputs);
//resize and fill port properties
- resize_fill_front(this->input_history_items, num_inputs);
- resize_fill_front(this->output_multiple_items, num_outputs);
+ resize_fill_back(this->input_history_items, num_inputs);
+ resize_fill_back(this->output_multiple_items, num_outputs);
//resize the bytes consumed/produced
resize_fill(this->items_consumed, num_inputs, 0);
@@ -73,8 +74,9 @@ void ElementImpl::topology_update(const tsbe::TaskInterface &task_iface, const t
this->work_ninput_items.resize(num_inputs);
this->input_items.resize(num_inputs);
this->output_items.resize(num_outputs);
- this->consume_items.resize(num_inputs);
- this->produce_items.resize(num_outputs);
+ this->consume_items.resize(num_inputs, 0);
+ this->produce_items.resize(num_outputs, 0);
+ this->input_buff_offsets.resize(num_inputs, 0);
//resize tags vector to match sizes
this->input_tags_changed.resize(num_inputs);