+
+ // Normalize so that the sum becomes one. Note that we do it twice;
+ // this sometimes helps a tiny little bit when we have many samples.
+ for (int normalize_pass = 0; normalize_pass < 2; ++normalize_pass) {
+ float sum = 0.0;
+ for (int i = 0; i < src_bilinear_samples; ++i) {
+ sum += bilinear_weights[(y * src_bilinear_samples + i) * 2 + 0];
+ }
+ for (int i = 0; i < src_bilinear_samples; ++i) {
+ bilinear_weights[(y * src_bilinear_samples + i) * 2 + 0] /= sum;
+ }
+ }