/// <summary> /// Use supplied linear interpolators in x and y to scale the source matrix into the target /// matrix. /// </summary> public static void SetScaledLinear <T1>(this Matrix <float, C4f> targetMat, Matrix <float, C4f> sourceMat, Func <double, C4f, C4f, T1> xinterpolator, Func <double, T1, T1, C4f> yinterpolator) { var scale = sourceMat.Size.ToV2d() / targetMat.Size.ToV2d(); targetMat.SetScaled4(sourceMat, scale.X, scale.Y, 0.5 * scale.X - 0.5, 0.5 * scale.Y - 0.5, xinterpolator, yinterpolator, Tensor.Index2SamplesClamped, Tensor.Index2SamplesClamped); }