Код: Выделить всё
T Div(T a, T b) where T : INumber
{
return a / b;
}
Код: Выделить всё
public static T LinearBetween((T x1, T y1) a, (T x2, T y2) b, T x) where T : INumber
{
//f(x) = m*x + n
var m = (b.y2 - a.y1) / (float)(b.x2 - a.x1);
var n = b.y2 - m * b.x2;
return (T)Math.Round(x * m + n);
}
Отредактировано: этот код не работает. (float)(b.x2 - a.x1) выдает «Невозможно преобразовать T в число с плавающей запятой»
Подробнее здесь: https://stackoverflow.com/questions/791 ... 7-or-newer
Мобильная версия