3 #include <funcy/concepts.h> 4 #include <funcy/util/chainer.h> 20 struct Tan : Chainer< Tan >
23 explicit Tan(
double x = 0. ) noexcept
32 firstDerivative = 1 + ( value * value );
36 [[nodiscard]]
double d0() const noexcept
42 [[nodiscard]]
double d1(
double dx = 1. ) const noexcept
44 return firstDerivative * dx;
48 [[nodiscard]]
double d2(
double dx = 1.,
double dy = 1. ) const noexcept
50 return ( 2 * value * firstDerivative ) * dx * dy;
54 [[nodiscard]]
double d3(
double dx = 1.,
double dy = 1.,
double dz = 1. ) const noexcept
56 return 2 * firstDerivative * ( 1 + ( 3 * value * value ) ) * dx * dy * dz;
60 double value = 0., firstDerivative = 1.;
68 template < Function F >
69 [[nodiscard]]
auto tan(
const F& f )
double d3(double dx=1., double dy=1., double dz=1.) const noexcept
Third (directional) derivative.
Definition: tan.h:54
double d0() const noexcept
Function value.
Definition: tan.h:36
double d1(double dx=1.) const noexcept
First (directional) derivative.
Definition: tan.h:42
auto tan(const F &f)
Generate .
Definition: tan.h:69
void update(double x) noexcept
Set point of evaluation.
Definition: tan.h:29
Main namespace of the funcy library.
double d2(double dx=1., double dy=1.) const noexcept
Second (directional) derivative.
Definition: tan.h:48
Tangent function.
Definition: tan.h:20
Tan(double x=0.) noexcept
Constructor.
Definition: tan.h:23