# Math and statistics » Trigonometric operators module#include "diplib/math.h"

• Reference

## Functions

void dip::Sin(dip::Image const& in, dip::Image& out)
Computes the sine of each sample.
void dip::Cos(dip::Image const& in, dip::Image& out)
Computes the cosine of each sample.
void dip::Tan(dip::Image const& in, dip::Image& out)
Computes the tangent of each sample.
void dip::Asin(dip::Image const& in, dip::Image& out)
Computes the arc sine of each sample.
void dip::Acos(dip::Image const& in, dip::Image& out)
Computes the arc cosine of each sample.
void dip::Atan(dip::Image const& in, dip::Image& out)
Computes the arc tangent of each sample.
void dip::Sinh(dip::Image const& in, dip::Image& out)
Computes the hyperbolic sine of each sample.
void dip::Cosh(dip::Image const& in, dip::Image& out)
Computes the hyperbolic cosine of each sample.
void dip::Tanh(dip::Image const& in, dip::Image& out)
Computes the hyperbolic tangent of each sample.
void dip::BesselJ0(dip::Image const& in, dip::Image& out)
Computes the Bessel functions of the first kind of each sample, of order alpha = 0. Precise up to about 7 digits.
void dip::BesselJ1(dip::Image const& in, dip::Image& out)
Computes the Bessel functions of the first kind of each sample, of order alpha = 1. Precise up to about 7 digits.
void dip::BesselJN(dip::Image const& in, dip::Image& out, dip::uint alpha)
Computes the Bessel functions of the first kind of each sample, of order alpha. Precise up to about 7 digits.
void dip::BesselY0(dip::Image const& in, dip::Image& out)
Computes the Bessel functions of the second kind of each sample, of order alpha = 0. Precise up to about 7 digits.
void dip::BesselY1(dip::Image const& in, dip::Image& out)
Computes the Bessel functions of the second kind of each sample, of order alpha = 1. Precise up to about 7 digits.
void dip::BesselYN(dip::Image const& in, dip::Image& out, dip::uint alpha)
Computes the Bessel functions of the second kind of each sample, of order alpha. Precise up to about 7 digits.
void dip::LnGamma(dip::Image const& in, dip::Image& out)
Computes the natural logarithm of the gamma function of each sample.
void dip::Erf(dip::Image const& in, dip::Image& out)
Computes the error function of each sample.
void dip::Erfc(dip::Image const& in, dip::Image& out)
Computes the complementary error function of each sample.
void dip::Sinc(dip::Image const& in, dip::Image& out)
Computes the sinc function of each sample. .
void dip::Atan2(dip::Image const& y, dip::Image const& x, dip::Image& out)
Computes the four-quadrant arc tangent of y/x.
void dip::Hypot(dip::Image const& a, dip::Image const& b, dip::Image& out)
Computes the square root of the sum of the squares of corresponding samples in a and b.

## Function documentation

### void dip::Atan2(dip::Image const& y, dip::Image const& x, dip::Image& out)

Computes the four-quadrant arc tangent of y/x.

The operation can be understood as the angle of the vector formed by the two input images. The result is always in the range . The inputs must be a real type.

### void dip::Hypot(dip::Image const& a, dip::Image const& b, dip::Image& out)

Computes the square root of the sum of the squares of corresponding samples in a and b.

The computation is performed carefully, so there is no undue overflow or underflow at intermediate stages of the computation. The inputs must be a real type.