223 {
224 u16 dx_inv = 256 - dx;
225 u16 dy_inv = 256 - dy;
226
227
228 u16 w00 = (dx_inv * dy_inv) >> 8;
229 u16 w10 = (dx * dy_inv) >> 8;
230 u16 w01 = (dx_inv * dy) >> 8;
231 u16 w11 = (dx * dy) >> 8;
232
233
234 u16 weight_sum = w00 + w10 + w01 + w11;
235
236
237 u16 sum = v00 * w00 + v10 * w10 + v01 * w01 + v11 * w11;
238
239
240 u8 result = (sum + (weight_sum >> 1)) / weight_sum;
241
243}
Result type for promise operations.