AAX SDK  2.4.1
Avid Audio Extensions Development Kit
Namespaces | Macros | Functions | Variables
AAX_Denormal.h File Reference
#include "AAX.h"
#include "AAX_PlatformOptimizationConstants.h"
#include <limits>
#include <math.h>

Go to the source code of this file.

Description

Signal processing utilities for denormal/subnormal floating point numbers.

Namespaces

 AAX
 

Macros

#define AAX_DENORMAL_H
 
#define AAX_SCOPE_COMPUTE_DENORMALS()   do {} while(0)
 Sets the run-time environment to handle denormal floats within the scope of this macro. More...
 
#define AAX_SCOPE_DENORMALS_AS_ZERO()   do {} while(0)
 Sets the run-time environment to treat denormal floats as zero within the scope of this macro. More...
 

Functions

void AAX::DeDenormal (double &iValue)
 Clamps very small floating point values to zero. More...
 
void AAX::DeDenormal (float &iValue)
 Clamps very small floating point values to zero. More...
 
void AAX::DeDenormalFine (float &iValue)
 
void AAX::FilterDenormals (float *inSamples, int32_t inLength)
 Round all denormal/subnormal samples in a buffer to zero. More...
 

Variables

const double AAX::cDenormalAvoidanceOffset =3.0e-34
 
const float AAX::cFloatDenormalAvoidanceOffset =3.0e-20f
 

Macro Definition Documentation

◆ AAX_DENORMAL_H

#define AAX_DENORMAL_H

◆ AAX_SCOPE_COMPUTE_DENORMALS

#define AAX_SCOPE_COMPUTE_DENORMALS ( )    do {} while(0)

Sets the run-time environment to handle denormal floats within the scope of this macro.

The host sets the denormal policy for all AAX threads and may use settings which treat denormal float values as zero (DAZ+FZ). This macro forces non-DAZ behavior.

◆ AAX_SCOPE_DENORMALS_AS_ZERO

#define AAX_SCOPE_DENORMALS_AS_ZERO ( )    do {} while(0)

Sets the run-time environment to treat denormal floats as zero within the scope of this macro.

The host sets the denormal policy for all AAX threads and may already use settings which treat denormal float values as zero (DAZ+FZ). This macro forces DAZ behavior.