// The Uniform Crossover works for Binary, Integer and Reals but not for Permuted Integers,
// so the implementations are in each module.
/// # Uniform Crossover
///
/// For each gene, it selects whether to swap them between the parents based on the `toss_probability`.