# VM Mathematical Functions¶

This section describes VM functions that compute values of mathematical functions on real and complex vector arguments.

Each function is introduced by its short name, a brief description of its purpose, and the calling sequence for each type of data, as well as a description of the input/output arguments.

The input range of parameters is equal to the mathematical range of the input data type, unless the function description specifies input threshold values, which mark off the precision overflow, as follows:

• FLT_MAX denotes the maximum number representable in single precision real data type

• DBL_MAX denotes the maximum number representable in double precision real data type

Table “VM Mathematical Functions” lists available mathematical functions and associated data types.

Function

Data Types

Description

Arithmetic Functions

s, d, c, z

sub

s, d, c, z

Subtracts vector elements

sqr

s, d

Squares vector elements

mul

s, d, c, z

Multiplies vector elements

mulbyconj

c, z

Multiplies elements of one vector by conjugated elements of the second vector

conj

c, z

Conjugates vector elements

abs

s, d, c, z

Computes the absolute value of vector elements

arg

c, z

Computes the argument of vector elements

linearfrac

s, d

Performs linear fraction transformation of vectors

fmod

s, d

Performs element by element computation of the modulus function of vector `a` with respect to vector `b`

remainder

s, d

Performs element by element computation of the remainder function on the elements of vector `a` and the corresponding elements of vector `b`

Power and Root Functions

inv

s, d

Inverts vector elements

div

s, d, c, z

Divides elements of one vector by elements of the second vector

sqrt

s, d, c, z

Computes the square root of vector elements

invsqrt

s, d

Computes the inverse square root of vector elements

cbrt

s, d

Computes the cube root of vector elements

invcbrt

s, d

Computes the inverse cube root of vector elements

pow2o3

s, d

Computes the cube root of the square of each vector element

pow3o2

s, d

Computes the square root of the cube of each vector element

pow

s, d, c, z

Raises each vector element to the specified power

powx

s, d, c, z

Raises each vector element to the constant power

powr

s, d

Computes `a` to the power `b` for elements of two vectors, where the elements of vector argument `a` are all non-negative

hypot

s, d

Computes the square root of sum of squares

Exponential and Logarithmic Functions

exp

s, d, c, z

Computes the base `e` exponential of vector elements

exp2

s, d

Computes the base 2 exponential of vector elements

exp10

s, d

Computes the base 10 exponential of vector elements

expm1

s, d

Computes the base `e` exponential of vector elements decreased by 1

ln

s, d, c, z

Computes the natural logarithm of vector elements

log2

s, d

Computes the base 2 logarithm of vector elements

log10

s, d, c, z

Computes the base 10 logarithm of vector elements

log1p

s, d

Computes the natural logarithm of vector elements that are increased by 1

logb

s, d

Computes the exponents of the elements of input vector `a`

Trigonometric Functions

cos

s, d, c, z

Computes the cosine of vector elements

sin

s, d, c, z

Computes the sine of vector elements

sincos

s, d

Computes the sine and cosine of vector elements

cis

c, z

Computes the complex exponent of vector elements (cosine and sine combined to complex value)

tan

s, d, c, z

Computes the tangent of vector elements

acos

s, d, c, z

Computes the inverse cosine of vector elements

asin

s, d, c, z

Computes the inverse sine of vector elements

atan

s, d, c, z

Computes the inverse tangent of vector elements

atan2

s, d

Computes the four-quadrant inverse tangent of ratios of the elements of two vectors

cospi

s, d

Computes the cosine of vector elements multiplied by `π`

sinpi

s, d

Computes the sine of vector elements multiplied by `π`

tanpi

s, d

Computes the tangent of vector elements multiplied by `π`

acospi

s, d

Computes the inverse cosine of vector elements divided by `π`

asinpi

s, d

Computes the inverse sine of vector elements divided by `π`

atanpi

s, d

Computes the inverse tangent of vector elements divided by `π`

atan2pi

s, d

Computes the four-quadrant inverse tangent of the ratios of the corresponding elementss of two vectors divided by `π`

cosd

s, d

Computes the cosine of vector elements multiplied by `π`/180

sind

s, d

Computes the sine of vector elements multiplied by `π`/180

tand

s, d

Computes the tangent of vector elements multiplied by `π`/180

Hyperbolic Functions

cosh

s, d, c, z

Computes the hyperbolic cosine of vector elements

sinh

s, d, c, z

Computes the hyperbolic sine of vector elements

tanh

s, d, c, z

Computes the hyperbolic tangent of vector elements

acosh

s, d, c, z

Computes the inverse hyperbolic cosine of vector elements

asinh

s, d, c, z

Computes the inverse hyperbolic sine of vector elements

atanh

s, d, c, z

Computes the inverse hyperbolic tangent of vector elements.

Special Functions

erf

s, d

Computes the error function value of vector elements

erfc

s, d

Computes the complementary error function value of vector elements

cdfnorm

s, d

Computes the cumulative normal distribution function value of vector elements

erfinv

s, d

Computes the inverse error function value of vector elements

erfcinv

s, d

Computes the inverse complementary error function value of vector elements

cdfnorminv

s, d

Computes the inverse cumulative normal distribution function value of vector elements

lgamma

s, d

Computes the natural logarithm for the absolute value of the gamma function of vector elements

tgamma

s, d

Computes the gamma function of vector elements

expint1

s, d

Computes the exponential integral of vector elements

Rounding Functions

floor

s, d

Rounds towards minus infinity

ceil

s, d

Rounds towards plus infinity

trunc

s, d

Rounds towards zero infinity

round

s, d

Rounds to nearest integer

nearbyint

s, d

Rounds according to current mode

rint

s, d

Rounds according to current mode and raising inexact result exception

modf

s, d

Computes the integer and fractional parts

frac

s, d

Computes the fractional part

Miscellaneous Functions

copysign

s, d

Returns vector of elements of one argument with signs changed to match other argument elements

nextafter

s, d

Returns vector of elements containing the next representable floating-point values following the values from the elements of one vector in the direction of the corresponding elements of another vector

fdim

s, d

Returns vector containing the differences of the corresponding elements of the vector arguments if the first is larger and +0 otherwise

fmax

s, d

Returns the larger of each pair of elements of the two vector arguments

fmin

s, d

Returns the smaller of each pair of elements of the two vector arguments

maxmag

s, d

Returns the element with the larger magnitude between each pair of elements of the two vector arguments

minmag

s, d

Returns the element with the smaller magnitude between each pair of elements of the two vector arguments