/
BirdLeon
/
ROBLOX2016
Обзор
Документация
Войти
/
BirdLeon
/
ROBLOX2016
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Library/boost/libs/math/example/autodiff_fourth_power.cpp
34 строки
1 KB
PatoFlamejanteTV
full source code
19 дек 2024, 19:11
19 дек 2024, 19:11
05db15d
Код
Авторство
О чём код?
// Copyright Matthew Pulver 2018 - 2019. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // https://www.boost.org/LICENSE_1_0.txt) #include <boost/math/differentiation/autodiff.hpp> #include <iostream> template <typename T> T fourth_power(T const& x) { T x4 = x * x; // retval in operator*() uses x4's memory via NRVO. x4 *= x4; // No copies of x4 are made within operator*=() even when squaring. return x4; // x4 uses y's memory in main() via NRVO. } int main() { using namespace boost::math::differentiation; constexpr unsigned Order = 5; // Highest order derivative to be calculated. auto const x = make_fvar<double, Order>(2.0); // Find derivatives at x=2. auto const y = fourth_power(x); for (unsigned i = 0; i <= Order; ++i) std::cout << "y.derivative(" << i << ") = " << y.derivative(i) << std::endl; return 0; } /* Output: y.derivative(0) = 16 y.derivative(1) = 32 y.derivative(2) = 48 y.derivative(3) = 48 y.derivative(4) = 24 y.derivative(5) = 0 **/