MCPcopy Create free account
hub / github.com/dask/dask / _split_up_single_chunk

Function _split_up_single_chunk

dask/array/core.py:3434–3450  ·  view source on GitHub ↗
(
    c: int, this_chunksize_tolerance: float, max_chunk_size: int, proposed: int
)

Source from the content-addressed store, hash-verified

3432
3433
3434def _split_up_single_chunk(
3435 c: int, this_chunksize_tolerance: float, max_chunk_size: int, proposed: int
3436) -> list[int]:
3437 # Calculate by what factor we have to split this chunk
3438 m = c / proposed
3439 if math.ceil(m) / m > this_chunksize_tolerance:
3440 # We want to smooth things potentially if rounding up would change the result
3441 # by a lot
3442 m = math.ceil(c / max_chunk_size)
3443 else:
3444 m = math.ceil(m)
3445 # split the chunk
3446 new_c, remainder = divmod(c, min(m, c))
3447 x = [new_c] * min(m, c)
3448 for i in range(remainder):
3449 x[i] += 1
3450 return x
3451
3452
3453def round_to(c, s):

Callers

nothing calls this directly

Calls 2

divmodFunction · 0.90
minFunction · 0.90

Tested by

no test coverage detected