pub fn calc_jen_shan_div(x: &[f64], y: &[f64]) -> f64{
let mut avg_dist: Vec<f64> = vec![];
let mut x_kbd = 0.0;
let mut y_kbd: f64 = 0.0;
for(idx, &elements) in x.iter().enumerate(){
println!("{} {}",elements,y[idx]);
let sum = elements + y[idx];
let avg = sum / 2 as f64;
avg_dist.push(avg);
}
println!("{:?}", avg_dist);
for (idx, &elements) in x.iter().enumerate(){
let div: f64 = elements / avg_dist[idx];
let calc: f64 = if div > 0.0 {div} else {f64::EPSILON};
let kdv_calc = elements * f64::log(calc, 2.0);
x_kbd += kdv_calc;
}
for (idy, &elements) in y.iter().enumerate(){
let div: f64 = elements / avg_dist[idy];
let calc: f64 = if div > 0.0 {div} else {f64::EPSILON};
let kdv_calc = elements * f64::log(calc, 2.0);
y_kbd += kdv_calc;
}
let out: f64 = 0.5 * (x_kbd + y_kbd) as f64;
return out;
}