using System; using System.Linq.Expressions; namespace MonoGame.Extended.Tweening; public class LinearOperations { static LinearOperations() { var a = Expression.Parameter(typeof(T)); var b = Expression.Parameter(typeof(T)); var c = Expression.Parameter(typeof(float)); Add = Expression.Lambda>(Expression.Add(a, b), a, b).Compile(); Subtract = Expression.Lambda>(Expression.Subtract(a, b), a, b).Compile(); Multiply = Expression.Lambda>(Expression.Multiply(a, c), a, c).Compile(); } public static Func Add { get; } public static Func Subtract { get; } public static Func Multiply { get; } }