(&self, indexes: &[isize], vm: &VirtualMachine)
| 219 | } |
| 220 | |
| 221 | fn pos_from_multi_index(&self, indexes: &[isize], vm: &VirtualMachine) -> PyResult<usize> { |
| 222 | match indexes.len().cmp(&self.desc.ndim()) { |
| 223 | Ordering::Less => { |
| 224 | return Err(vm.new_not_implemented_error("sub-views are not implemented")); |
| 225 | } |
| 226 | Ordering::Greater => { |
| 227 | return Err(vm.new_type_error(format!( |
| 228 | "cannot index {}-dimension view with {}-element tuple", |
| 229 | self.desc.ndim(), |
| 230 | indexes.len() |
| 231 | ))); |
| 232 | } |
| 233 | Ordering::Equal => (), |
| 234 | } |
| 235 | |
| 236 | let pos = self.desc.position(indexes, vm)?; |
| 237 | let pos = (pos + self.start as isize) as usize; |
| 238 | Ok(pos) |
| 239 | } |
| 240 | |
| 241 | fn init_len(&mut self) { |
| 242 | let product: usize = self.desc.dim_desc.iter().map(|x| x.0).product(); |
no test coverage detected