`netrange_width()`: Add a base_width parameter
There are sometimes cases where calculating the total width of a `vector<netrange_t>` has to take into account an existing base width. E.g. when chaining multiple `vector<netrange_t>`. Add support to the `netrange_width()` function to be able to handle this case. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
parent
4b66d40d62
commit
4269388878
|
|
@ -97,9 +97,10 @@ ivl_variable_type_t netarray_t::base_type() const
|
|||
return element_type_->base_type();
|
||||
}
|
||||
|
||||
unsigned long netrange_width(const vector<netrange_t>&packed)
|
||||
unsigned long netrange_width(const vector<netrange_t>&packed,
|
||||
unsigned int base_width)
|
||||
{
|
||||
unsigned wid = 1;
|
||||
unsigned wid = base_width;
|
||||
for (vector<netrange_t>::const_iterator cur = packed.begin()
|
||||
; cur != packed.end() ; ++cur) {
|
||||
unsigned use_wid = cur->width();
|
||||
|
|
|
|||
|
|
@ -149,7 +149,8 @@ class netrange_t {
|
|||
extern std::ostream&operator << (std::ostream&out, const std::list<netrange_t>&rlist);
|
||||
extern std::ostream&operator << (std::ostream&out, const std::vector<netrange_t>&rlist);
|
||||
|
||||
extern unsigned long netrange_width(const std::vector<netrange_t>&dims);
|
||||
extern unsigned long netrange_width(const std::vector<netrange_t>&dims,
|
||||
unsigned int base_width = 1);
|
||||
extern bool netrange_equivalent(const std::vector<netrange_t> &a,
|
||||
const std::vector<netrange_t> &b);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue