Существует ли какой-либо возможный способ использования generics для создания библиотеки Math, которая не зависит от базового типа, выбранного для хранения данных?
Другими словами, допустим, что я хочу написать класс фракции. Дробь может быть представлена двумя целыми или двумя удвоениями или еще что-то. Важно то, что основные четыре арифметические операции хорошо определены. Поэтому я хотел бы написать Fraction<int> frac = new Fraction<int>(1,2)
и/или Fraction<double> frac = new Fraction<double>(0.1, 1.0)
.
К сожалению, нет интерфейса, представляющего четыре основные операции (+, -, *,/). Кто-нибудь нашел практичный, осуществимый способ реализации этого?