00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if (defined(DSP_X86_64) && (!defined(DSP_X86)))
00024
00025 #ifndef X86_64_H
00026 #define X86_64_H
00027
00028 #define X86_64_ASM asm volatile
00029
00030 #pragma pack(1)
00031
00032 typedef struct _stm64
00033 {
00034 float f[2];
00035 } stm64, *stpm64;
00036
00037 typedef struct _stm128
00038 {
00039 union
00040 {
00041 float f[4];
00042 double d[2];
00043 };
00044 } stm128, *stpm128;
00045
00046 #pragma pack()
00047
00048
00049 #ifdef __cplusplus
00050 extern "C"
00051 {
00052 #endif
00053
00054 void dsp_x86_64_minmaxf (float *, float *, const float *, long);
00055 void dsp_x86_64_minmax (double *, double *, const double *, long);
00056 float dsp_x86_64_crosscorrf (const float *, const float *, long);
00057 double dsp_x86_64_crosscorr (const double *, const double *, long);
00058
00059 void dsp_x86_64_firf (float *, const float *, long, const float *, long);
00060 void dsp_x86_64_fir (double *, const double *, long, const double *, long);
00061 void dsp_x86_64_iirf (float *, long, const float *, float *, float *);
00062 void dsp_x86_64_iir (double *, long, const double *, double *, double *);
00063 void dsp_x86_64_iirf_nip (float *, const float *, long, const float *,
00064 float *, float *);
00065 void dsp_x86_64_iir_nip (double *, const double *, long, const double *,
00066 double *, double *);
00067
00068 #ifdef __cplusplus
00069 }
00070 #endif
00071
00072 #endif
00073
00074 #endif