Fixed-Accuracy Arithmetic Functions

This chapter describes Intel® IPP fixed-accuracy transcendental mathematical real and complex functions of vector arguments. These functions take an input vector as argument, compute values of the respective elementary function element-wise, and return the results in an output vector.

Function specifications comply with the common API agreement of Intel IPP, but include some new features essential to scientific arithmetic functions. The main feature is a more elaborate specification of accuracy that differs from the common definition in adding several new levels of accuracy, besides original levels introduced by single precision and double precision data formats.

Fixed-accuracy vector functions implementation supports the IEEE-754 standard in all flavors, which means that:

The choice of accuracy levels should be based on practical experience and identified application demands. Available options are specified in the function name suffix and include A11, A21, or A24 for the single precision, and A26, A50, or A53 for the double precision data format. Flavors A11, A21, A26, and A50 provide approximately 3, 6, 8, and 15 exact decimal digits, respectively. For flavors A24 and A53, the maximum guaranteed error is within 1 ulp and in most cases does not exceed 0.55 ulp.

Fixed-accuracy arithmetic functions subset of Intel IPP has the similar functionality as the respective part of the Intel® Math Kernel Library (Intel® MKL).

However, Intel IPP provides lower-level transcendental functions that have separate flavors for each mode of operations and data type and are better suitable for multimedia and signal processing in real time applications. The full list of these functions is given in the table below.

Intel IPP Fixed-Accuracy Arithmetic Functions
Function Short Name Description
Arithmetic Functions
Add Adds elements of a vector to corresponding elements of another vector.
Sub Subtracts elements of a vector from corresponding elements of another vector.
Sqr Computes square of each vector element.
Mul Multiplies elements of a vector by corresponding elements of another vector.
MulByConj Multiplies elements of a vector by conjugated corresponding elements of another vector.
Conj Conjugates the value of each vector element.
Abs Computes the absolute value of each vector element.
Arg Computes an agrument of vector elements.
Power and Root Functions
Inv Computes inverse value of each vector element.
Div Divides elements of one vector by corresponding elements of another vector.
Sqrt Computes square root of each vector element.
InvSqrt Computes inverse square root of each vector element.
Cbrt Computes cube root of each vector element.
InvCbrt Computes inverse cube root of each vector element.
Pow2o3 Computes the value of each vector element raised to the power of 2/3.
Pow3o2 Computes the value of each vector element raised to the power of 3/2.
Pow Raises each element of one vector to the power of corresponding element of another vector.
Powx Raises each element of a vector to a constant power.
Hypot Computes a square root of sum of two squared elements.
Exponential and Logarithmic Functions
Exp Raises e to the power of each vector element.
Expm1 Computes e raised to the power of each vector element and decreased by 1.
Ln Computes natural logarithm of each vector element.
Log10 Computes common logarithm of each vector element.
Log1p Computes natural logarithm of each vector element decreased by 1.
Trigonometric Functions
Cos Computes cosine of each vector element.
Sin Computes sine of each vector element.
SinCos Computes sine and cosine of each vector element.
CIS Computes complex exponent of each vector element.
Tan Computes tangent of each vector element.
Acos Computes inverse cosine of each vector element.
Asin Computes inverse sine of each vector element.
Atan Computes inverse tangent of each vector element.
Atan2 Computes four-quadrant inverse tangent of elements of two vectors.
Hyperbolic Functions
Cosh Computes hyperbolic cosine of each vector element.
Sinh Computes hyperbolic sine of each vector element.
Tanh Computes hyperbolic tangent of each vector element.
Acosh Computes inverse hyperbolic cosine of each vector element.
Asinh Computes inverse hyperbolic sine of each vector element.
Atanh Computes inverse hyperbolic tangent of each vector element.
Special Functions
Erf Computes the error function value.
Erfc Computes the complementary error function value.
CdfNorm Computes the cumulative normal distribution function values of vector elements.
ErfInv Computes the inverse error function value for each vector element.
ErfcInv Computes the inverse complementary error function value of vector elements.
CdfNormInv Computes the inverse cumulative normal distribution function values of vector elements.
Rounding Functions
Floor Computes integer value rounded toward minus infinity for each vector element.
Ceil Computes integer value rounded toward plus infinity for each vector element.
Trunc Computes integer value rounded toward zero for each vector element.
Round Computes integer value rounded to nearest for each vector element.
NearbyInt Computes rounded integer value in current rounding mode for each vector element.
Rint Computes rounded integer value in current rounding mode for each vector element with inexact result exception raised for each changed value.
Modf Computes truncated integer value and remaining fraction part for each vector element.

Note iconNote

Do not confuse fixed-accuracy arithmetic functions described here with common arithmetic functions that have similar functionality but follow different accuracy specifications.

Intel IPP fixed-accuracy arithmetic functions may return status codes of the specific warnings listed in the table below. In this case, the value returned is positive and the computation is continued.

Warning Status Codes for Fixed-Accuracy Arithmetic Functions
  Value Message
IppStsOverflow 12 Overflow occurred in the operation.
IppStsUnderflow 17 Underflow occurred in the operation.
IppStsSingularity 18 Singularity occurred in the operation.
IppStsDomain 19 Argument is out of the function domain.

See appendix A "Handling of Special Cases" for more information on function operation in cases when their arguments take on specific values that are outside the range of function definition.

Note iconNote

All functions described in this chapter support in-place operation.


Submit feedback on this help topic

Copyright © 2000 - 2011, Intel Corporation. All rights reserved.