\hypertarget{a00842}{}\doxysection{AAX\+\_\+\+Denormal.\+h File Reference}
\label{a00842}\index{AAX\_Denormal.h@{AAX\_Denormal.h}}
{\ttfamily \#include \char`\"{}AAX.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}AAX\+\_\+\+Platform\+Optimization\+Constants.\+h\char`\"{}}\newline
{\ttfamily \#include $<$limits$>$}\newline
{\ttfamily \#include $<$math.\+h$>$}\newline


\doxysubsection{Description}
Signal processing utilities for denormal/subnormal floating point numbers. 

\doxysubsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
namespace \mbox{\hyperlink{a00935}{AAX}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{a00842_aebb709c3232ca8ebe6ea366ca8391dad}{AAX\+\_\+\+DENORMAL\+\_\+H}}
\item 
\#define \mbox{\hyperlink{a00842_ad45309abfd0e2faa7a28c9ed753f7806}{AAX\+\_\+\+SCOPE\+\_\+\+COMPUTE\+\_\+\+DENORMALS}}()~do \{\} while(0)
\begin{DoxyCompactList}\small\item\em Sets the run-\/time environment to handle denormal floats within the scope of this macro. \end{DoxyCompactList}\item 
\#define \mbox{\hyperlink{a00842_aeb63901cb0661447fb69b6d10f5f1cba}{AAX\+\_\+\+SCOPE\+\_\+\+DENORMALS\+\_\+\+AS\+\_\+\+ZERO}}()~do \{\} while(0)
\begin{DoxyCompactList}\small\item\em Sets the run-\/time environment to treat denormal floats as zero within the scope of this macro. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{a00935_aaf103dc75b68b6c4f6792dd26f9b4fd0}{AAX\+::\+De\+Denormal}} (double \&i\+Value)
\begin{DoxyCompactList}\small\item\em Clamps very small floating point values to zero. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{a00935_aedfd1762f559291ceddd53f8ce8862a5}{AAX\+::\+De\+Denormal}} (float \&i\+Value)
\begin{DoxyCompactList}\small\item\em Clamps very small floating point values to zero.   \end{DoxyCompactList}\item 
void \mbox{\hyperlink{a00935_ac52b6214a1de32e59b90ddbc1878e515}{AAX\+::\+De\+Denormal\+Fine}} (float \&i\+Value)
\item 
void \mbox{\hyperlink{a00935_a73dd9a17abecc28625c4d34279e4534f}{AAX\+::\+Filter\+Denormals}} (float $\ast$in\+Samples, int32\+\_\+t in\+Length)
\begin{DoxyCompactList}\small\item\em Round all denormal/subnormal samples in a buffer to zero. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const double \mbox{\hyperlink{a00935_a5c2e1bff2891a4b11252759e152cf520}{AAX\+::c\+Denormal\+Avoidance\+Offset}} =3.\+0e-\/34
\item 
const float \mbox{\hyperlink{a00935_ae3a66eee97cfe006ffbf11f901ddd286}{AAX\+::c\+Float\+Denormal\+Avoidance\+Offset}} =3.\+0e-\/20f
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{a00842_aebb709c3232ca8ebe6ea366ca8391dad}\label{a00842_aebb709c3232ca8ebe6ea366ca8391dad}} 
\index{AAX\_Denormal.h@{AAX\_Denormal.h}!AAX\_DENORMAL\_H@{AAX\_DENORMAL\_H}}
\index{AAX\_DENORMAL\_H@{AAX\_DENORMAL\_H}!AAX\_Denormal.h@{AAX\_Denormal.h}}
\doxysubsubsection{\texorpdfstring{AAX\_DENORMAL\_H}{AAX\_DENORMAL\_H}}
{\footnotesize\ttfamily \#define AAX\+\_\+\+DENORMAL\+\_\+H}

\mbox{\Hypertarget{a00842_ad45309abfd0e2faa7a28c9ed753f7806}\label{a00842_ad45309abfd0e2faa7a28c9ed753f7806}} 
\index{AAX\_Denormal.h@{AAX\_Denormal.h}!AAX\_SCOPE\_COMPUTE\_DENORMALS@{AAX\_SCOPE\_COMPUTE\_DENORMALS}}
\index{AAX\_SCOPE\_COMPUTE\_DENORMALS@{AAX\_SCOPE\_COMPUTE\_DENORMALS}!AAX\_Denormal.h@{AAX\_Denormal.h}}
\doxysubsubsection{\texorpdfstring{AAX\_SCOPE\_COMPUTE\_DENORMALS}{AAX\_SCOPE\_COMPUTE\_DENORMALS}}
{\footnotesize\ttfamily \#define AAX\+\_\+\+SCOPE\+\_\+\+COMPUTE\+\_\+\+DENORMALS(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~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 \mbox{\hyperlink{a00935}{AAX}} threads and may use settings which treat denormal float values as zero (DAZ+\+FZ). This macro forces non-\/\+DAZ behavior. \mbox{\Hypertarget{a00842_aeb63901cb0661447fb69b6d10f5f1cba}\label{a00842_aeb63901cb0661447fb69b6d10f5f1cba}} 
\index{AAX\_Denormal.h@{AAX\_Denormal.h}!AAX\_SCOPE\_DENORMALS\_AS\_ZERO@{AAX\_SCOPE\_DENORMALS\_AS\_ZERO}}
\index{AAX\_SCOPE\_DENORMALS\_AS\_ZERO@{AAX\_SCOPE\_DENORMALS\_AS\_ZERO}!AAX\_Denormal.h@{AAX\_Denormal.h}}
\doxysubsubsection{\texorpdfstring{AAX\_SCOPE\_DENORMALS\_AS\_ZERO}{AAX\_SCOPE\_DENORMALS\_AS\_ZERO}}
{\footnotesize\ttfamily \#define AAX\+\_\+\+SCOPE\+\_\+\+DENORMALS\+\_\+\+AS\+\_\+\+ZERO(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~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 \mbox{\hyperlink{a00935}{AAX}} threads and may already use settings which treat denormal float values as zero (DAZ+\+FZ). This macro forces DAZ behavior. 