Library Configuration

Configuration Options

BFP Vector Length Checking

XS3_BFP_DEBUG_CHECK_LENGTHS

Iff true, BFP functions will check (assert()) to ensure that each BFP vector argument does not violate any length constraints. Most often this simply ensures that, where BFP functions take multiple vectors as parameters, each of the vectors has the same length.

Defaults to false (0).

16-bit BFP Square Root Depth

XS3_BFP_SQRT_DEPTH_S16

The function bfp_sqrt_s16() computes results one bit at a time, starting with bit 14 (the second-to-most significant bit). Because this is a relatively expensive operation, it may be desirable to trade off precision of results for a speed-up.

The time cost of bfp_sqrt_s16() is approximately linear with respect to the depth.

Defaults to XS3_VECT_SQRT_S16_MAX_DEPTH (15)

See also

bfp_s16_sqrt

32-bit BFP Square Root Depth

XS3_BFP_SQRT_DEPTH_S32

The function bfp_sqrt_s32() computes results one bit at a time, starting with bit 30 (the second-to-most significant bit). Because this is a relatively expensive operation, it may be desirable to trade off precision of results for a speed-up.

The time cost of bfp_sqrt_s32() is approximately linear with respect to the depth.

Defaults to XS3_VECT_SQRT_S32_MAX_DEPTH (31)

See also

bfp_s32_sqrt

Dynamic Allocation Function

XS3_MALLOC

This function is used to dynamically allocate memory. Defaults to malloc. Must have same signature as malloc()

Dynamic Deallocation Function

XS3_FREE

This function is used to deallocate dynamically allocated memory. Defaults to free. Must have same signature as free()

Configuration Macros

XS3_BFP_DEBUG_CHECK_LENGTHS

Indicates whether the BFP functions should check vector lengths for errors.

See BFP Vector Length Checking for more details.

XS3_BFP_SQRT_DEPTH_S16

The number of most significant bits which are computed by bfp_s16_sqrt().

See 16-bit BFP Square Root Depth for details.

XS3_BFP_SQRT_DEPTH_S32

The number of most significant bits which are computed by bfp_s32_sqrt().

See 32-bit BFP Square Root Depth for details.

XS3_MALLOC

Macro resolves to malloc or a user-specified override.

See Dynamic Allocation Function for details.

See also

XS3_FREE

XS3_FREE

Macro resolves to free or a user-specified override.

See Dynamic Deallocation Function for details.

See also

XS3_MALLOC