166 def get_child_at_index(self, index):
168 name =
"rows" if self._row_major
else "cols"
169 return self._valobj.GetChildMemberWithName(
"m_outerSize") \
170 .CreateChildAtOffset(name, 0, self._index_type)
172 name =
"cols" if self._row_major
else "rows"
173 return self._valobj.GetChildMemberWithName(
"m_innerSize") \
174 .CreateChildAtOffset(name, 0, self._index_type)
177 outer_index = bisect.bisect_right(self._child_indices, index) - 1
178 total_nnzs = self._child_indices[outer_index]
181 inner_index = self._inner_indices \
182 .CreateChildAtOffset(
"", item_index * self._index_size, self._index_type) \
183 .GetValueAsUnsigned()
184 return self._values \
185 .CreateChildAtOffset(self._child_name(outer_index, inner_index),
186 item_index * self._scalar_size,
189 index_begin = self._outer_starts \
190 .CreateChildAtOffset(
"", outer_index * self._index_size, self._index_type) \
191 .GetValueAsUnsigned()
192 item_index = index - total_nnzs + index_begin
193 inner_index = self._inner_indices \
194 .CreateChildAtOffset(
"", item_index * self._index_size, self._index_type) \
195 .GetValueAsUnsigned()
196 return self._values \
197 .CreateChildAtOffset(self._child_name(outer_index, inner_index),
198 item_index * self._scalar_size,