о которой Страус упоминал сам как о более сфокусированной именно на С++ и его особенностях.Не стоит так об уважаемом человеке.
self.requires.add("MySQLClient/6.1.6@hklabbers/stable")
# raise Exception("MySQL not supported yet, open an issue here please: %s" % self.url)если нет-посоветуйте какую-нибудь альтернативу.
template <typename U, typename V>
void multiply(const polynomial<U>& a, const polynomial<V>& b) {
if (!a || !b)
{
this->set_zero();
return;
}
std::vector<T> prod(a.size() + b.size() - 1, T(0));
for (unsigned i = 0; i < a.size(); ++i)
for (unsigned j = 0; j < b.size(); ++j)
prod[i+j] += a.m_data[i] * b.m_data[j];
m_data.swap(prod);
}
template <class U>
polynomial& operator *=(const polynomial<U>& value)
{
this->multiply(*this, value);
return *this;
}Функцию для возведения полинома в степень, писал как раз для реализации этого метода.
polynomial<T> pow(polynomial<T> base, int exp)
{
if (exp < 0)
return policies::raise_domain_error(
"boost::math::tools::pow<%1%>",
"Negative powers are not supported for polynomials.",
base, policies::policy<>());
// if the policy is ignore_error or errno_on_error, raise_domain_error
// will return std::numeric_limits<polynomial<T>>::quiet_NaN(), which
// defaults to polynomial<T>(), which is the zero polynomial
polynomial<T> result(T(1));
if (exp & 1)
result = base;
/* "Exponentiation by squaring" */
while (exp >>= 1)
{
base *= base;
if (exp & 1)
result *= base;
}
return result;
}
#define number 10
#define cat(x, y) x # y
#define xcat(x, y) cat(x, y)
#define stamp xcat("stamp n.", number)
Помогите выбрать страну и университет: Украина, Россия или Европа ( Польша, Чехия)
Куда пойти учиться на программиста?Computer Science & Information Systems
Во что верить?
Implicit initialization
If an initializer is not provided:
objects with automatic storage duration are initialized to indeterminate values (which may be trap representations)
...
If an indeterminate value is used as an argument to any standard library call, the behavior is undefined. Otherwise, the result of any expression involving indeterminate values is an indeterminate value (e.g. int n;, n may not compare equal to itself and it may appear to change its value on subsequent reads)
букварь
Предисловие
Глава 1. Введение
Глава 2. Основы анализа эффективности алгоритмов
Глава 3. Метод грубой силы
Глава 4. Метод декомпозиции
Глава 5. Метод уменьшения размера задачи
Глава 6. Метод преобразования
Глава 7. Пространственно-временной компромисс
Глава 8. Динамическое программирование
Глава 9. Жадные методы
Глава 10. Ограничения мощи алгоритмов
Глава 11. Преодоление ограничений
Эпилог
Приложение А. Формулы, использующиеся при анализе алгоритмов
Приложение Б. Краткое руководство по рекуррентным соотношениям
Список литературы
Указания к упражнениям
Предметный указатель