fn turbulence(
color_channel: usize,
x: f64,
y: f64,
tile_x: f64,
tile_y: f64,
tile_width: f64,
tile_height: f64,
base_freq_x: f64,
base_freq_y: f64,
num_octaves: u32,
fractal_sum: bool,
do_stitching: bool,
lattice_selector: &[usize],
gradient: &[Vec<Vec<f64>>],
) -> f64