import numpy as np


def extent_to_extent_idx(extent, bins):
    return np.digitize(extent, bins)


def extent_idx_to_extent(idx, bins):
    if idx <= 0:
        return bins[0]
    if idx >= len(bins):
        return bins[-1]

    return (bins[idx - 1] + bins[idx]) / 2.0
