Translate chunks tuple to a set of slices in product order >>> slices_from_chunks(((2, 2), (3, 3, 3))) # doctest: +NORMALIZE_WHITESPACE [(slice(0, 2, None), slice(0, 3, None)), (slice(0, 2, None), slice(3, 6, None)), (slice(0, 2, None), slice(6, 9, None)), (slice(2, 4, N
(chunks)
| 246 | |
| 247 | |
| 248 | def slices_from_chunks(chunks): |
| 249 | """Translate chunks tuple to a set of slices in product order |
| 250 | |
| 251 | >>> slices_from_chunks(((2, 2), (3, 3, 3))) # doctest: +NORMALIZE_WHITESPACE |
| 252 | [(slice(0, 2, None), slice(0, 3, None)), |
| 253 | (slice(0, 2, None), slice(3, 6, None)), |
| 254 | (slice(0, 2, None), slice(6, 9, None)), |
| 255 | (slice(2, 4, None), slice(0, 3, None)), |
| 256 | (slice(2, 4, None), slice(3, 6, None)), |
| 257 | (slice(2, 4, None), slice(6, 9, None))] |
| 258 | """ |
| 259 | cumdims = [cached_cumsum(bds, initial_zero=True) for bds in chunks] |
| 260 | slices = [ |
| 261 | [slice(s, s + dim) for s, dim in zip(starts, shapes)] |
| 262 | for starts, shapes in zip(cumdims, chunks) |
| 263 | ] |
| 264 | return list(product(*slices)) |
| 265 | |
| 266 | |
| 267 | def graph_from_arraylike( |
no test coverage detected
searching dependent graphs…