| 63 | } |
| 64 | |
| 65 | void IChannelArray::ResizeArrays() { |
| 66 | const size_t dim = Dimensions(); |
| 67 | const size_t sum_of_array = static_cast<size_t>( SumOfArray() ); |
| 68 | const size_t prod_of_array = static_cast<size_t>( ProductOfArray() ); |
| 69 | if (Storage() == ArrayStorage::DgTemplate && |
| 70 | data_links_.size() != prod_of_array) { |
| 71 | data_links_.resize(prod_of_array,0); |
| 72 | } |
| 73 | if ((Flags() & CaFlag::DynamicSize) != 0 && |
| 74 | dynamic_size_list_.size() != dim) { |
| 75 | dynamic_size_list_.resize(dim); |
| 76 | } |
| 77 | if ((Flags() & CaFlag::InputQuantity) != 0 && |
| 78 | input_quantity_list_.size() != dim) { |
| 79 | input_quantity_list_.resize(dim); |
| 80 | } |
| 81 | if ((Flags() & CaFlag::Axis) != 0 && (Flags() & CaFlag::FixedAxis) == 0 && |
| 82 | axis_list_.size() != dim) { |
| 83 | axis_list_.resize(dim); |
| 84 | } |
| 85 | auto& value_list = AxisValues(); |
| 86 | if ((Flags() & CaFlag::FixedAxis) != 0 && value_list.size() != sum_of_array) { |
| 87 | value_list.resize(sum_of_array, 0.0); |
| 88 | } |
| 89 | auto& cycle_list = CycleCounts(); |
| 90 | switch (Storage()) { |
| 91 | case ArrayStorage::DgTemplate: |
| 92 | case ArrayStorage::CgTemplate: |
| 93 | if (cycle_list.size() != prod_of_array) { |
| 94 | cycle_list.resize(prod_of_array, 0); |
| 95 | } |
| 96 | break; |
| 97 | |
| 98 | default: |
| 99 | break; |
| 100 | } |
| 101 | } |
| 102 | |
| 103 | } // namespace mdf |