Я дополнил свою велосипедную библиотеку всяким-разным.
Например, из того, что мне нравится - класс многочлена, в котором реализована операция деления (в отличие от Boost).
Особенности реализации - функции расширения многочлена нулевыми коэффициентами и удаление нулевых коэффициентов.
А вот и само деление:
copy to clipboardподсветка кода- 148 template
- 149 void polynomial::operator/=(const polynomial& p) {
- 150 std::deque result;
- 151 TYPE value;
- 152 while (degree() >= p.degree()) {
- 153 value = coefficients.back() / p.coefficients.back();
- 154 result.push_front(value);
- 155 *this -= polynomial(value, degree() - p.degree()) * p;
- 156 }
- 157 *this = polynomial(result);
- 158 normalize();
- 159 }
Собственно, сама ссылка на код:
https://github.com/mcroitor/mclibОшибки есть, особенно в комментариях :)