let a = order as f32;
for i in 0..(order * 2) {
let x = frac - ((i as f32) + 1.0 - a);
- let fp = std::f32::consts::PI * (x as f32);
- coeffs[i] = a * fp.sin() * (fp / a).sin() / (norm * (x as f32) * (x as f32));
+ let fp = std::f32::consts::PI * x;
+ coeffs[i] = a * fp.sin() * (fp / a).sin() / (norm * x * x);
}
}
fn create_cache(order: usize, den: usize) -> Vec<Vec<f32>> {
}
}
let resizer = &mut $scalers[idx].1;
- for (dline, sline) in $tbuf.chunks_mut(tstride).zip(src[ioff..].chunks(istride)).take(dh) {
+ for (dline, sline) in $tbuf.chunks_mut(tstride).zip(src[ioff..].chunks(istride)).take(sh) {
resizer.resize_line(sline, sw, 1, dline, dw, 1);
}
} else {
- for (dline, sline) in $tbuf.chunks_mut(tstride).zip(src[ioff..].chunks(istride)).take(dh) {
+ for (dline, sline) in $tbuf.chunks_mut(tstride).zip(src[ioff..].chunks(istride)).take(sh) {
dline[..dw].copy_from_slice(&sline[..sw]);
}
}