arduino-audio-tools
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
soft_float_t.h File Reference
#include <cmath>
#include <cstdint>
#include "AudioTools/CoreAudio/AudioBasic/int24_t.h"

Go to the source code of this file.

Classes

class  soft_float_t
 Software "pseudo-float": a real number represented as a signed 16-bit mantissa plus a 16-bit exponent (value = mantissa * 2^exponent), computed with integer multiply/shift/compare only – no hardware floating-point instructions. This generalizes speexdsp's classic fixed-point trick of tracking a handful of wide-dynamic-range control variables as a normalized mantissa+exponent pair into a full, operator-overloaded numeric type usable as a drop-in replacement for float (see MDFFixedPoint in MDFEchoCancellation.h, which uses this class as the element type for the MDF echo canceller's sample/spectrum arrays and internal state, so the whole algorithm runs without native float arithmetic). More...
 

Namespaces

namespace  audio_tools
 Generic Implementation of sound input and output for desktop environments using portaudio.
 

Typedefs

using PseudoFloat = soft_float_t
 

Functions

bool operator!= (double a, soft_float_t b)
 
bool operator!= (float a, soft_float_t b)
 
bool operator!= (int a, soft_float_t b)
 
soft_float_t operator* (double a, soft_float_t b)
 
soft_float_t operator* (float a, soft_float_t b)
 
soft_float_t operator* (int a, soft_float_t b)
 
soft_float_t operator+ (double a, soft_float_t b)
 
soft_float_t operator+ (float a, soft_float_t b)
 
soft_float_t operator+ (int a, soft_float_t b)
 
soft_float_t operator- (double a, soft_float_t b)
 
soft_float_t operator- (float a, soft_float_t b)
 
soft_float_t operator- (int a, soft_float_t b)
 
soft_float_t operator/ (double a, soft_float_t b)
 
soft_float_t operator/ (float a, soft_float_t b)
 
soft_float_t operator/ (int a, soft_float_t b)
 
bool operator< (double a, soft_float_t b)
 
bool operator< (float a, soft_float_t b)
 
bool operator< (int a, soft_float_t b)
 
bool operator<= (double a, soft_float_t b)
 
bool operator<= (float a, soft_float_t b)
 
bool operator<= (int a, soft_float_t b)
 
bool operator== (double a, soft_float_t b)
 
bool operator== (float a, soft_float_t b)
 
bool operator== (int a, soft_float_t b)
 
bool operator> (double a, soft_float_t b)
 
bool operator> (float a, soft_float_t b)
 
bool operator> (int a, soft_float_t b)
 
bool operator>= (double a, soft_float_t b)
 
bool operator>= (float a, soft_float_t b)
 
bool operator>= (int a, soft_float_t b)