let merge cluster distribution nb_samples_distribution =
    let cd = cluster.distribution in
    Array.iteri (fun i bin -> cd.(i) <- cd.(i) + bin) distribution;
    cluster.nb_samples <- cluster.nb_samples + nb_samples_distribution