Function names in Intel IPP for Microcontrollers have the following general format:
ipp<data domain ><name>_< datatype>[_<descriptor>)
The data domain element consists of two characters that denote the group of functionality to which a given function belongs. Currently, the Intel IPP for Microcontrollers library supports the sq data domain, which includes functions for signal and data processing with fixed-point data types.
The name element indicates what function does and has the following format:
<name>=<operation>[_<modifier >]The operation component is one ore more words, acronyms, and abbreviations that describe the core operation. The modifier component, if present, is a word or abbreviation that denotes a slight modification or variation of the given function.
The datatype element indicates the data type used by the function in the following format:
<bit depth><bit interpretation >
bit depth = <1|8|16|32|64>
bit interpretation<u| s|f>[ c]
Here u indicates “unsigned integer”, s indicates “signed integer”, f indicates “floating point”, and c indicates “complex”.
Intel IPP for Microcontrollers library functions support the source and destination data types listed in the table below.
|Type||Usual C Type||Intel IPP-style Type||DSP Type from stdint.h||DSP Fixed-point Type|
|64s||__int64 (Windows*) or long long (Linux*)||Ipp64s||int64_t||q63_t|
The descriptor element further describes the operation. Descriptors are individual characters that indicate additional details of the operation.
The following descriptors are used in Intel IPP for Microcontrollers functions:
Result saturation. If a result exceeds the data-range limit for its data type, it saturates to the upper data-range limit. When the result is less than the lower data-range limit, it saturates to the lower data-range.
Result scaling. Before the function returns a result, it performs result scaling by multiplying the output values by 2-scaleFactor, where scaleFactor is one of the function parameters.
Rx, where x is either m or z