def bounds()

in elastic/shared/utils/corpus.py [0:0]


def bounds(total_docs, client_index, num_clients, ensure_even=False):
    docs_per_client = math.floor(total_docs / num_clients)
    if ensure_even and docs_per_client % 2 == 1:
        docs_per_client += 1
    if docs_per_client == 0:
        docs_per_client = 1
    start_offset_docs = math.floor(docs_per_client * client_index)
    if start_offset_docs >= total_docs:
        return 0, 0
    end_offset_docs = total_docs
    if client_index != num_clients - 1:
        end_offset_docs = math.floor(docs_per_client * (client_index + 1))
    num_docs = end_offset_docs - start_offset_docs
    return start_offset_docs, num_docs