Add math::sqrt(dual)

This commit is contained in:
Nikita Lisitsa 2025-09-07 13:59:16 +03:00
parent 1b548f1ba3
commit 3bb8bd36f3

View file

@ -175,6 +175,13 @@ namespace psemek::math
return {std::log(d.scalar), d.delta / d.scalar};
}
template <typename T, std::size_t N>
dual<T, N> sqrt(dual<T, N> const & d)
{
auto s = std::sqrt(d.scalar);
return {s, d.delta / (T{2} * s)};
}
template <typename T, std::size_t N>
dual<T, N> sin(dual<T, N> const & d)
{