quickspec.h File Reference
#include <cstddef>
#include <stdlib.h>
#include "xcomplex.h"
#include "windowfunctions.h"
#include "fft.h"
Include dependency graph for quickspec.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  __pint24
 
struct  __int24
 
class  TQuickSpectrogram
 

Macros

#define QSPEC_FORMAT   float
 
#define QSpec_BufferSize   1024
 
#define INT24
 

Typedefs

typedef void(* GetBuf) (int Id, cdouble *&w, cdouble *&x, double *&win, int *&hbi, void *Parent)
 

Macro Definition Documentation

#define INT24

__int24 is a 24bit signed integer type and __pint24 is its pointer type. Although __int24* will also return a pointer to an __int24 structure, operations based on __int24* may have unspecified results, depending on structure alignments imposed by compiler. It is therefore necessary to have an explicit pointer type __pint24 to enforce 24-bit data alighment.

Using __int24: When storage format is not a concern, __int24 can be used the same way as __int16 or __int32. However, a default 32-bit compiler may fail to implement compact 24-bit alignment to entries of an __int24[] array. If 24-bit alignment is desired, then always create the array dynamically with new[], which returns a __pint24 type pointer. Assigning a __pint24 type pointer to __int24* type variable should be avoided.