# lib_xs3_math Header Files¶

## xs3_math.h¶

This header includes the header files necessary to use `lib_xs3_math`

’s low-level vector API, including types and functions for 16- and 32-bit vectors.

To access the block floating-point API, include bfp_math.h instead (which will include this file).

## bfp_math.h¶

This header includes the header files necessary to use `lib_xs3_math`

’s high-level block floating- point API as well as its low-level vector API, including types and functions for 16- and 32-bit BFP vectors.

## bfp_init.h¶

This header contains functions for initializing the structs representing block floating-point vectors. Initialization comes in two flavors: static and dynamic.

Static initialization requires the user to supply the buffer which is used to store the mantissa vector. Static initiaization is accomplished using the `bfp_*_init()`

functions.

Dynamic initialization allocates the buffer for the mantissa vectors from the heap using `malloc()`

(unless overridden by the user via configuration of XS3_MALLOC). Dynamic allocation is accomplished using the `bfp_*_alloc()`

functions. If dynamically allocated vectors are to be temporary, to avoid memory leaks they much be deallocated using the corresponding `bfp_*_dealloc()`

functions.

See also

Note

This header is included automatically through `bfp_math.h`

.

## bfp_s16.h¶

This header contains functions implementing arithmetic operations on 16-bit block floating-point vectors.

Functions for initializing BFP vectors can be found in bfp_init.h.

See also

Note

This header is included automatically through `bfp_math.h`

.

## bfp_complex_s16.h¶

This header contains functions implementing arithmetic operations on 16-bit complex block floating-point vectors.

Functions for initializing complex BFP vectors can be found in bfp_init.h.

See also

Note

This header is included automatically through `bfp_math.h`

.

## bfp_s32.h¶

This header contains functions implementing arithmetic operations on 32-bit block floating-point vectors.

Functions for initializing BFP vectors can be found in bfp_init.h.

See also

Note

This header is included automatically through `bfp_math.h`

.

## bfp_complex_s32.h¶

This header contains functions implementing arithmetic operations on 32-bit complex block floating-point vectors.

Functions for initializing complex BFP vectors can be found in bfp_init.h.

See also

Note

This header is included automatically through `bfp_math.h`

.

## bfp_fft.h¶

This header contains functions for performing block floating-point Fast Fourier Transforms (FFTs) and inverse FFTs on BFP vectors of types `bfp_s32_t`

, `bfp_complex_s32_t`

.

Note

This header is included automatically through `bfp_math.h`

.

## xs3_vect_s8.h¶

This header contains functions implementing arithmetic operations on 8-bit vectors, optimized for xCore XS3.

Note

This header is included automatically through `xs3_math.h`

or `bfp_math.h`

.

## xs3_vect_s16.h¶

This header contains functions implementing arithmetic operations on 16-bit vectors, optimized for xCore XS3.

Note

This header is included automatically through `xs3_math.h`

or `bfp_math.h`

.

## xs3_vect_complex_s16.h¶

This header contains functions implementing arithmetic operations on complex 16-bit vectors, optimized for xCore XS3.

Note

This header is included automatically through `xs3_math.h`

or `bfp_math.h`

.

## xs3_vect_s32.h¶

This header contains functions implementing arithmetic operations on 32-bit vectors, optimized for xCore XS3.

Note

This header is included automatically through `xs3_math.h`

or `bfp_math.h`

.

## xs3_vect_complex_s32.h¶

This header contains functions implementing arithmetic operations on complex 32-bit vectors, optimized for xCore XS3.

Note

This header is included automatically through `xs3_math.h`

or `bfp_math.h`

.

## xs3_mixed.h¶

This header contains XS3-optimized functions implementing arithmetic operations where the input(s) and output vectors are not of the same bit-depth.

Note

This header is included automatically through `xs3_math.h`

or `bfp_math.h`

.

## xs3_fft.h¶

This header contains XS3-optimized functions for performing Fast Fourier Transforms (FFTs) and inverse FFTs on 32-bit vectors, as well as several utility functions required to perform the transforms.

Note

This header is included automatically through `xs3_math.h`

or `bfp_math.h`

.

## xs3_filters.h¶

This header contains XS3-optimized functions and types for initializing and executing 16- and 32-bit FIR filters, as well as 32-bit biquad filters.

Note

This header is included automatically through `xs3_math.h`

or `bfp_math.h`

.

## xs3_api.h¶

This header defines several macros used throughout the API to provide consistent, descriptive and human-readable code.

Note

This header is included automatically through `xs3_math.h`

or `bfp_math.h`

.

## xs3_math_conf.h¶

This header is used for detecting/setting several compile-time configuration macros.

See also

Compile Time Options

Note

This header is included automatically through `xs3_math.h`

or `bfp_math.h`

.

## xs3_math_types.h¶

This header contains definitions for most of the library-defined types which are used throughout this API. Several other types (such as those used for filtering) are defined locally if they’re only used within a single header.

Note

This header is included automatically through `xs3_math.h`

or `bfp_math.h`

.

## xs3_util.h¶

This header contains various macros and functions.

Note

This header is included automatically through `xs3_math.h`

or `bfp_math.h`

.

## xs3_vpu_info.h¶

This header contains macros and types which may be useful for interacting with the XS3 VPU at a relatively low level.

Note

This header is included automatically through `xs3_math.h`

or `bfp_math.h`

.