ref: 662587d9c5d8f68aebb6d8b9207c086239eff27d
parent: d9636c5d1900006674ecb38c0ebe087a85f4cbf1
author: Gregory Maxwell <[email protected]>
date: Mon Aug 1 16:41:54 EDT 2011
Remove many unused defines and convert some double constants to float.
--- a/libcelt/_kiss_fft_guts.h
+++ b/libcelt/_kiss_fft_guts.h
@@ -23,7 +23,6 @@
typedef struct { kiss_fft_scalar r; kiss_fft_scalar i; }kiss_fft_cpx; */
#include "kiss_fft.h"
-
/*
Explanation of macros dealing with complex math:
@@ -40,20 +39,16 @@
#ifdef DOUBLE_PRECISION
-# define FRACBITS 31
# define SAMPPROD long long
#define SAMP_MAX 2147483647
#define TWID_MAX 32767
#define TRIG_UPSCALE 1
-#define EXT32(a) (a)
#else /* DOUBLE_PRECISION */
-# define FRACBITS 15
# define SAMPPROD opus_int32
#define SAMP_MAX 32767
#define TRIG_UPSCALE 1
-#define EXT32(a) EXTEND32(a)
#endif /* !DOUBLE_PRECISION */
@@ -65,10 +60,6 @@
fprintf(stderr,"WARNING:overflow @ " __FILE__ "(%d): (%d " #op" %d) = %ld\n",__LINE__,(a),(b),(SAMPPROD)(a) op (SAMPPROD)(b) ); }
#endif
-# define smul(a,b) ( (SAMPPROD)(a)*(b) )
-# define sround( x ) (kiss_fft_scalar)( ( (x) + ((SAMPPROD)1<<(FRACBITS-1)) ) >> FRACBITS )
-
-
# define S_MUL(a,b) MULT16_32_Q15(b, a)
# define C_MUL(m,a,b) \
@@ -108,13 +99,8 @@
do {(res).r = ADD32((res).r,(a).r); (res).i = SUB32((res).i,(a).i); \
}while(0)
-
-
-
#else /* not FIXED_POINT*/
-#define EXT32(a) (a)
-
# define S_MUL(a,b) ( (a)*(b) )
#define C_MUL(m,a,b) \
do{ (m).r = (a).r*(b).r - (a).i*(b).i;\
@@ -131,8 +117,6 @@
(c).i *= (s); }while(0)
#endif
-
-
#ifndef CHECK_OVERFLOW_OP
# define CHECK_OVERFLOW_OP(a,op,b) /* noop */
#endif
@@ -192,6 +176,5 @@
(x)->r = TRIG_UPSCALE*celt_cos_norm((phase));\
(x)->i = TRIG_UPSCALE*celt_cos_norm((phase)-32768);\
}while(0)
-
#endif /* KISS_FFT_GUTS_H */
--- a/libcelt/arch.h
+++ b/libcelt/arch.h
@@ -71,8 +71,6 @@
#endif
#define IMUL32(a,b) ((a)*(b))
-#define UMUL32(a,b) ((opus_int32)(a)*(opus_int32)(b))
-#define UMUL16_16(a,b) ((opus_int32)(a)*(opus_int32)(b))
#define ABS(x) ((x) < 0 ? (-(x)) : (x)) /**< Absolute integer value. */
#define ABS16(x) ((x) < 0 ? (-(x)) : (x)) /**< Absolute 16-bit value. */
@@ -99,30 +97,16 @@
typedef opus_val32 celt_mask;
#define Q15ONE 32767
-#define Q30ONE 1073741823
#define SIG_SHIFT 12
#define NORM_SCALING 16384
-#define NORM_SCALING_1 (1.f/16384.f)
-#define NORM_SHIFT 14
-#define ENER_SCALING 16384.f
-#define ENER_SCALING_1 (1.f/16384.f)
-#define ENER_SHIFT 14
-
-#define PGAIN_SCALING 32768.f
-#define PGAIN_SCALING_1 (1.f/32768.f)
-#define PGAIN_SHIFT 15
-
#define DB_SHIFT 10
#define EPSILON 1
-#define VERY_SMALL 0
-#define VERY_LARGE32 ((opus_val32)2147483647)
#define VERY_LARGE16 ((opus_val16)32767)
#define Q15_ONE ((opus_val16)32767)
-#define Q15_ONE_1 (1.f/32768.f)
#define SCALEIN(a) (a)
#define SCALEOUT(a) (a)
@@ -147,7 +131,6 @@
#endif
-
#else /* FIXED_POINT */
typedef float opus_val16;
@@ -160,21 +143,12 @@
typedef float celt_mask;
#define Q15ONE 1.0f
-#define Q30ONE 1.0f
#define NORM_SCALING 1.f
-#define NORM_SCALING_1 1.f
-#define ENER_SCALING 1.f
-#define ENER_SCALING_1 1.f
-#define PGAIN_SCALING 1.f
-#define PGAIN_SCALING_1 1.f
#define EPSILON 1e-15f
-#define VERY_SMALL 1e-15f
-#define VERY_LARGE32 1e15f
#define VERY_LARGE16 1e15f
#define Q15_ONE ((opus_val16)1.f)
-#define Q15_ONE_1 ((opus_val16)1.f)
#define QCONST16(x,bits) (x)
#define QCONST32(x,bits) (x)
@@ -187,11 +161,8 @@
#define SHL16(a,shift) (a)
#define SHR32(a,shift) (a)
#define SHL32(a,shift) (a)
-#define PSHR16(a,shift) (a)
#define PSHR32(a,shift) (a)
#define VSHR32(a,shift) (a)
-#define SATURATE16(x,a) (x)
-#define SATURATE32(x,a) (x)
#define PSHR(a,shift) (a)
#define SHR(a,shift) (a)
@@ -210,21 +181,13 @@
#define MULT16_16(a,b) ((opus_val32)(a)*(opus_val32)(b))
#define MAC16_16(c,a,b) ((c)+(opus_val32)(a)*(opus_val32)(b))
-#define MULT16_32_Q11(a,b) ((a)*(b))
-#define MULT16_32_Q13(a,b) ((a)*(b))
-#define MULT16_32_Q14(a,b) ((a)*(b))
#define MULT16_32_Q15(a,b) ((a)*(b))
#define MULT16_32_Q16(a,b) ((a)*(b))
-#define MULT16_32_P15(a,b) ((a)*(b))
#define MULT32_32_Q31(a,b) ((a)*(b))
-#define MAC16_32_Q11(c,a,b) ((c)+(a)*(b))
#define MAC16_32_Q15(c,a,b) ((c)+(a)*(b))
-#define MAC16_16_Q11(c,a,b) ((c)+(a)*(b))
-#define MAC16_16_Q13(c,a,b) ((c)+(a)*(b))
-#define MAC16_16_P13(c,a,b) ((c)+(a)*(b))
#define MULT16_16_Q11_32(a,b) ((a)*(b))
#define MULT16_16_Q13(a,b) ((a)*(b))
#define MULT16_16_Q14(a,b) ((a)*(b))
@@ -234,30 +197,12 @@
#define MULT16_16_P14(a,b) ((a)*(b))
#define DIV32_16(a,b) (((opus_val32)(a))/(opus_val16)(b))
-#define PDIV32_16(a,b) (((opus_val32)(a))/(opus_val16)(b))
#define DIV32(a,b) (((opus_val32)(a))/(opus_val32)(b))
-#define PDIV32(a,b) (((opus_val32)(a))/(opus_val32)(b))
#define SCALEIN(a) ((a)*CELT_SIG_SCALE)
#define SCALEOUT(a) ((a)*(1/CELT_SIG_SCALE))
#endif /* !FIXED_POINT */
-
-
-#if defined (CONFIG_TI_C54X) || defined (CONFIG_TI_C55X)
-
-/* 2 on TI C5x DSP */
-#define BYTES_PER_CHAR 2
-#define BITS_PER_CHAR 16
-#define LOG2_BITS_PER_CHAR 4
-
-#else /* CONFIG_TI_C54X */
-
-#define BYTES_PER_CHAR 1
-#define BITS_PER_CHAR 8
-#define LOG2_BITS_PER_CHAR 3
-
-#endif /* !CONFIG_TI_C54X */
#ifndef GLOBAL_STACK_SIZE
#ifdef FIXED_POINT
--- a/libcelt/bands.c
+++ b/libcelt/bands.c
@@ -296,9 +296,7 @@
renormalise_vector(X, N0<<LM, Q15ONE);
} while (++c<C);
}
-
}
-
static void intensity_stereo(const CELTMode *m, celt_norm *X, celt_norm *Y, const celt_ener *bank, int bandID, int N)
{
--- a/libcelt/bands.h
+++ b/libcelt/bands.h
@@ -86,7 +86,6 @@
int time_domain, int fold, int dual_stereo, int intensity, int *tf_res, int resynth,
opus_int32 total_bits, opus_int32 balance, ec_ctx *ec, int M, int codedBands, opus_uint32 *seed);
-
void stereo_decision(const CELTMode *m, celt_norm * restrict X, int *stereo_mode, int len, int M);
void anti_collapse(const CELTMode *m, celt_norm *_X, unsigned char *collapse_masks, int LM, int C, int CC, int size,
--- a/libcelt/celt.c
+++ b/libcelt/celt.c
@@ -1180,7 +1180,7 @@
#ifdef FIXED_POINT
qg = ((gain1+1536)>>10)/3-1;
#else
- qg = floor(.5+gain1*32/3)-1;
+ qg = (int)floor(.5f+gain1*32/3)-1;
#endif
qg = IMAX(0, IMIN(7, qg));
ec_enc_bit_logp(enc, 1, 1);
--- a/libcelt/celt.h
+++ b/libcelt/celt.h
@@ -71,7 +71,6 @@
/** Memory allocation has failed */
#define CELT_ALLOC_FAIL -7
-
/* Encoder/decoder Requests */
#define CELT_SET_COMPLEXITY_REQUEST 2
@@ -122,8 +121,6 @@
#define CELT_SET_END_BAND_REQUEST 10001
#define CELT_SET_END_BAND(x) CELT_SET_END_BAND_REQUEST, _celt_check_int(x)
-
-
/** Contains the state of an encoder. One encoder state is needed
for each stream. It is initialised once at the beginning of the
stream. Do *not* re-initialise the state for every frame.
@@ -142,7 +139,6 @@
bad */
typedef struct CELTMode CELTMode;
-
/** \defgroup codec Encoding and decoding */
/* @{ */
@@ -308,7 +304,6 @@
*/
CELT_EXPORT int celt_decoder_ctl(CELTDecoder * st, int request, ...);
-
/** Returns the English string that corresponds to an error code
* @param error Error code (negative for an error, 0 for success
* @return Constant string (must NOT be freed)
@@ -316,7 +311,6 @@
CELT_EXPORT const char *celt_strerror(int error);
/* @} */
-
#ifdef __cplusplus
}
--- a/libcelt/cwrs.c
+++ b/libcelt/cwrs.c
@@ -71,7 +71,6 @@
#ifndef SMALL_FOOTPRINT
-
#define MASK32 (0xFFFFFFFF)
/*INV_TABLE[i] holds the multiplicative inverse of (2*i+1) mod 2**32.*/
@@ -267,11 +266,6 @@
#ifndef SMALL_FOOTPRINT
-/*Compute U(1,_k).*/
-static inline unsigned ucwrs1(int _k){
- return _k?1:0;
-}
-
/*Compute V(1,_k).*/
static inline unsigned ncwrs1(int _k){
return _k?2:1;
@@ -538,7 +532,6 @@
}
while(++j<_n);
}
-
/*Returns the index of the given combination of K elements chosen from a set
of size 1 with associated sign bits.
--- a/libcelt/dump_modes.c
+++ b/libcelt/dump_modes.c
@@ -38,7 +38,7 @@
#define INT16 "%d"
#define INT32 "%d"
-#define FLOAT "%f"
+#define FLOAT "%0.9ff"
#ifdef FIXED_POINT
#define WORD16 INT16
@@ -48,7 +48,6 @@
#define WORD32 FLOAT
#endif
-
void dump_modes(FILE *file, CELTMode **modes, int nb_modes)
{
int i, j, k;
@@ -167,7 +166,7 @@
mode->Fs, mdctSize, k);
fprintf (file, "%d,\t/* nfft */\n", mode->mdct.kfft[k]->nfft);
#ifndef FIXED_POINT
- fprintf (file, "%f,\t/* scale */\n", mode->mdct.kfft[k]->scale);
+ fprintf (file, "%0.9ff,\t/* scale */\n", mode->mdct.kfft[k]->scale);
#endif
fprintf (file, "%d,\t/* shift */\n", mode->mdct.kfft[k]->shift);
fprintf (file, "{");
--- a/libcelt/ecintrin.h
+++ b/libcelt/ecintrin.h
@@ -57,26 +57,8 @@
are just as fast, and do not require any special target architecture.
Earlier gcc versions (3.x) compiled both code to the same assembly
instructions, because of the way they represented ((_b)>(_a)) internally.*/
-#define EC_MAXI(_a,_b) ((_a)-((_a)-(_b)&-((_b)>(_a))))
-#define EC_MINI(_a,_b) ((_a)+((_b)-(_a)&-((_b)<(_a))))
-/*This has a chance of compiling branchless, and is just as fast as the
- bit-twiddling method, which is slightly less portable, since it relies on a
- sign-extended rightshift, which is not guaranteed by ANSI (but present on
- every relevant platform).*/
-#define EC_SIGNI(_a) (((_a)>0)-((_a)<0))
-/*Slightly more portable than relying on a sign-extended right-shift (which is
- not guaranteed by ANSI), and just as fast, since gcc (3.x and 4.x both)
- compile it into the right-shift anyway.*/
-#define EC_SIGNMASK(_a) (-((_a)<0))
-/*Clamps an integer into the given range.
- If _a>_c, then the lower bound _a is respected over the upper bound _c (this
- behavior is required to meet our documented API behavior).
- _a: The lower bound.
- _b: The value to clamp.
- _c: The upper boud.*/
-#define EC_CLAMPI(_a,_b,_c) (EC_MAXI(_a,EC_MINI(_b,_c)))
+# define EC_MINI(_a,_b) ((_a)+((_b)-(_a)&-((_b)<(_a))))
-
/*Count leading zeros.
This macro should only be used for implementing ec_ilog(), if it is defined.
All other code should use EC_ILOG() instead.*/
@@ -116,8 +98,6 @@
# define EC_ILOG(_x) (EC_CLZ0-EC_CLZ(_x))
#else
int ec_ilog(opus_uint32 _v);
-
# define EC_ILOG(_x) (ec_ilog(_x))
#endif
-
#endif
--- a/libcelt/entcode.c
+++ b/libcelt/entcode.c
@@ -32,8 +32,6 @@
#include "entcode.h"
#include "arch.h"
-
-
#if !defined(EC_CLZ)
int ec_ilog(opus_uint32 _v){
/*On a Pentium M, this branchless version tested as the fastest on
@@ -58,7 +56,6 @@
return ret;
}
#endif
-
opus_uint32 ec_tell_frac(ec_ctx *_this){
opus_uint32 nbits;
--- a/libcelt/entcode.h
+++ b/libcelt/entcode.h
@@ -33,8 +33,6 @@
# include <stddef.h>
# include "ecintrin.h"
-
-
/*OPT: ec_window must be at least 32 bits, but if you have fast arithmetic on a
larger type, you can speed up the decoder by using it here.*/
typedef opus_uint32 ec_window;
@@ -42,8 +40,6 @@
typedef struct ec_ctx ec_enc;
typedef struct ec_ctx ec_dec;
-
-
# define EC_WINDOW_SIZE ((int)sizeof(ec_window)*CHAR_BIT)
/*The number of bits to use for the range-coded part of unsigned integers.*/
@@ -53,8 +49,6 @@
3 => 1/8th bits.*/
# define BITRES 3
-
-
/*The entropy encoder/decoder context.
We use the same structure for both, so that common functions like ec_tell()
can be used on either one.*/
@@ -88,12 +82,6 @@
/*Nonzero if an error occurred.*/
int error;
};
-
-
-/*Shared functions.*/
-static inline void ec_reset(ec_ctx *_this){
- _this->offs=_this->end_offs=0;
-}
static inline opus_uint32 ec_range_bytes(ec_ctx *_this){
return _this->offs;
--- a/libcelt/entdec.c
+++ b/libcelt/entdec.c
@@ -35,8 +35,6 @@
#include "entdec.h"
#include "mfrngcod.h"
-
-
/*A range decoder.
This is an entropy decoder based upon \cite{Mar79}, which is itself a
rediscovery of the FIFO arithmetic code introduced by \cite{Pas76}.
@@ -94,8 +92,6 @@
URL="http://www.stanford.edu/class/ee398/handouts/papers/Moffat98ArithmCoding.pdf"
}*/
-
-
static int ec_read_byte(ec_dec *_this){
return _this->offs<_this->storage?_this->buf[_this->offs++]:0;
}
@@ -105,7 +101,6 @@
_this->buf[_this->storage-++(_this->end_offs)]:0;
}
-
/*Normalizes the contents of val and rng so that rng lies entirely in the
high-order symbol.*/
static void ec_dec_normalize(ec_dec *_this){
@@ -143,7 +138,6 @@
compensate for the bits that are read there.*/
_this->nbits_total=EC_CODE_BITS+1;
}
-
unsigned ec_decode(ec_dec *_this,unsigned _ft){
unsigned s;
--- a/libcelt/entdec.h
+++ b/libcelt/entdec.h
@@ -30,8 +30,6 @@
# include <limits.h>
# include "entcode.h"
-
-
/*Initializes the decoder.
_buf: The input buffer to use.
Return: 0 on success, or a negative value on error.*/
--- a/libcelt/entenc.c
+++ b/libcelt/entenc.c
@@ -33,8 +33,6 @@
#include "entenc.h"
#include "mfrngcod.h"
-
-
/*A range encoder.
See entdec.c and the references for implementation details \cite{Mar79,MNW98}.
@@ -59,8 +57,6 @@
URL="http://www.stanford.edu/class/ee398/handouts/papers/Moffat98ArithmCoding.pdf"
}*/
-
-
static int ec_write_byte(ec_enc *_this,unsigned _value){
if(_this->offs+_this->end_offs>=_this->storage)return -1;
_this->buf[_this->offs++]=(unsigned char)_value;
@@ -72,7 +68,6 @@
_this->buf[_this->storage-++(_this->end_offs)]=(unsigned char)_value;
return 0;
}
-
/*Outputs a symbol, with a carry bit.
If there is a potential to propagate a carry over several symbols, they are
--- a/libcelt/entenc.h
+++ b/libcelt/entenc.h
@@ -30,8 +30,6 @@
# include <stddef.h>
# include "entcode.h"
-
-
/*Initializes the encoder.
_buf: The buffer to store output bytes in.
_size: The size of the buffer, in chars.*/
--- a/libcelt/fixed_c5x.h
+++ b/libcelt/fixed_c5x.h
@@ -70,20 +70,10 @@
#undef MULT16_32_Q15
#define MULT16_32_Q15(a,b) ADD32(SHL(MULT16_16((a),SHR((b),16)),1), SHR(MULT16_16SU((a),(b)),15))
-
#define celt_ilog2(x) (30 - _lnorm(x))
#define OVERRIDE_CELT_ILOG2
#define celt_maxabs16(x, len) MAX16(maxval((DATA *)x, len),-minval((DATA *)x, len))
#define OVERRIDE_CELT_MAXABS16
-
-#define OVERRIDE_FIND_MAX16
-static inline int find_max16(opus_val16 *x, int len)
-{
- DATA max_corr16 = -VERY_LARGE16;
- DATA pitch16 = 0;
- maxvec((DATA *)x, len, &max_corr16, &pitch16);
- return pitch16;
-}
#endif /* FIXED_C5X_H */
--- a/libcelt/fixed_c6x.h
+++ b/libcelt/fixed_c6x.h
@@ -67,14 +67,4 @@
#define celt_maxabs16(x, len) MAX16(maxval((DATA *)x, len),-minval((DATA *)x, len))
#define OVERRIDE_CELT_MAXABS16
-#define OVERRIDE_FIND_MAX16
-static inline int find_max16(opus_val16 *x, int len)
-{
- DATA max_corr16 = -VERY_LARGE16;
- DATA pitch16 = 0;
- maxvec((DATA *)x, len, &max_corr16, &pitch16);
- return pitch16;
-}
-#endif
-
#endif /* FIXED_C6X_H */
--- a/libcelt/fixed_debug.h
+++ b/libcelt/fixed_debug.h
@@ -40,8 +40,6 @@
extern long long celt_mips;
#endif
-#define MIPS_INC celt_mips++,
-
#define MULT16_16SU(a,b) ((opus_val32)(opus_val16)(a)*(opus_val32)(opus_uint16)(b))
#define MULT32_32_Q31(a,b) ADD32(ADD32(SHL32(MULT16_16(SHR32((a),16),SHR((b),16)),1), SHR32(MULT16_16SU(SHR32((a),16),((b)&0x0000ffff)),15)), SHR32(MULT16_16SU(SHR32((b),16),((a)&0x0000ffff)),15))
@@ -51,7 +49,6 @@
#define QCONST16(x,bits) ((opus_val16)(.5+(x)*(((opus_val32)1)<<(bits))))
#define QCONST32(x,bits) ((opus_val32)(.5+(x)*(((opus_val32)1)<<(bits))))
-
#define VERIFY_SHORT(x) ((x)<=32767&&(x)>=-32768)
#define VERIFY_INT(x) ((x)<=2147483647LL&&(x)>=-2147483648LL)
#define VERIFY_UINT(x) ((x)<=(2147483647LLU<<1))
@@ -172,13 +169,9 @@
return res;
}
-#define PSHR16(a,shift) (celt_mips--,SHR16(ADD16((a),((1<<((shift))>>1))),shift))
#define PSHR32(a,shift) (celt_mips--,SHR32(ADD32((a),(((opus_val32)(1)<<((shift))>>1))),shift))
#define VSHR32(a, shift) (((shift)>0) ? SHR32(a, shift) : SHL32(a, -(shift)))
-#define SATURATE16(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
-#define SATURATE32(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
-
#define ROUND16(x,a) (celt_mips--,EXTRACT16(PSHR32((x),(a))))
#define HALF16(x) (SHR16(x,1))
#define HALF32(x) (SHR32(x,1))
@@ -286,8 +279,6 @@
return res;
}
-
-
/* result fits in 16 bits */
static inline short MULT16_16_16(int a, int b)
{
@@ -319,11 +310,7 @@
}
#define MAC16_16(c,a,b) (celt_mips-=2,ADD32((c),MULT16_16((a),(b))))
-#define MAC16_16_Q11(c,a,b) (ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),11))))
-#define MAC16_16_Q13(c,a,b) (ADD16((c),EXTRACT16(SHR32(MULT16_16((a),(b)),13))))
-#define MAC16_16_P13(c,a,b) (ADD16((c),SHR32(ADD32(4096,MULT16_16((a),(b))),13)))
-
#define MULT16_32_QX(a, b, Q) _MULT16_32_QX(a, b, Q, __FILE__, __LINE__)
static inline int _MULT16_32_QX(int a, long long b, int Q, char *file, int line)
{
@@ -344,33 +331,7 @@
return res;
}
-static inline int MULT16_32_PX(int a, long long b, int Q)
-{
- long long res;
- if (!VERIFY_SHORT(a) || !VERIFY_INT(b))
- {
- fprintf (stderr, "MULT16_32_P%d: inputs are not short+int: %d %d\n", Q, (int)a, (int)b);
- }
- if (ABS32(b)>=((opus_val32)(1)<<(15+Q)))
- fprintf (stderr, "MULT16_32_Q%d: second operand too large: %d %d\n", Q, (int)a, (int)b);
- res = ((((long long)a)*(long long)b) + (((opus_val32)(1)<<Q)>>1))>> Q;
- if (!VERIFY_INT(res))
- fprintf (stderr, "MULT16_32_P%d: output is not int: %d*%d=%d\n", Q, (int)a, (int)b,(int)res);
- if (Q==15)
- celt_mips+=4;
- else
- celt_mips+=5;
- return res;
-}
-
-
-#define MULT16_32_Q11(a,b) MULT16_32_QX(a,b,11)
-#define MAC16_32_Q11(c,a,b) ADD32((c),MULT16_32_Q11((a),(b)))
-#define MULT16_32_Q12(a,b) MULT16_32_QX(a,b,12)
-#define MULT16_32_Q13(a,b) MULT16_32_QX(a,b,13)
-#define MULT16_32_Q14(a,b) MULT16_32_QX(a,b,14)
#define MULT16_32_Q15(a,b) MULT16_32_QX(a,b,15)
-#define MULT16_32_P15(a,b) MULT16_32_PX(a,b,15)
#define MAC16_32_Q15(c,a,b) (celt_mips-=2,ADD32((c),MULT16_32_Q15((a),(b))))
static inline int SATURATE(int a, int b)
@@ -543,8 +504,6 @@
celt_mips+=70;
return res;
}
-#define PDIV32(a,b) DIV32(ADD32((a),(b)>>1),b)
-#define PDIV32_16(a,b) DIV32_16(ADD32((a),(b)>>1),b)
#undef PRINT_MIPS
#define PRINT_MIPS(file) do {fprintf (file, "total complexity = %llu MIPS\n", celt_mips);} while (0);
--- a/libcelt/fixed_generic.h
+++ b/libcelt/fixed_generic.h
@@ -45,11 +45,9 @@
/** 32x32 multiplication, followed by a 31-bit shift right. Results fits in 32 bits */
#define MULT32_32_Q31(a,b) ADD32(ADD32(SHL(MULT16_16(SHR((a),16),SHR((b),16)),1), SHR(MULT16_16SU(SHR((a),16),((b)&0x0000ffff)),15)), SHR(MULT16_16SU(SHR((b),16),((a)&0x0000ffff)),15))
-/** 32x32 multiplication, followed by a 32-bit shift right. Results fits in 32 bits */
-#define MULT32_32_Q32(a,b) ADD32(ADD32(MULT16_16(SHR((a),16),SHR((b),16)), SHR(MULT16_16SU(SHR((a),16),((b)&0x0000ffff)),16)), SHR(MULT16_16SU(SHR((b),16),((a)&0x0000ffff)),16))
-
/** Compile-time conversion of float constant to 16-bit value */
#define QCONST16(x,bits) ((opus_val16)(.5+(x)*(((opus_val32)1)<<(bits))))
+
/** Compile-time conversion of float constant to 32-bit value */
#define QCONST32(x,bits) ((opus_val32)(.5+(x)*(((opus_val32)1)<<(bits))))
@@ -72,18 +70,11 @@
/** Arithmetic shift-left of a 32-bit value */
#define SHL32(a,shift) ((opus_val32)(a) << (shift))
-/** 16-bit arithmetic shift right with rounding-to-nearest instead of rounding down */
-#define PSHR16(a,shift) (SHR16((a)+((1<<((shift))>>1)),shift))
/** 32-bit arithmetic shift right with rounding-to-nearest instead of rounding down */
#define PSHR32(a,shift) (SHR32((a)+((EXTEND32(1)<<((shift))>>1)),shift))
/** 32-bit arithmetic shift right where the argument can be negative */
#define VSHR32(a, shift) (((shift)>0) ? SHR32(a, shift) : SHL32(a, -(shift)))
-/** Saturates 16-bit value to +/- a */
-#define SATURATE16(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
-/** Saturates 32-bit value to +/- a */
-#define SATURATE32(x,a) (((x)>(a) ? (a) : (x)<-(a) ? -(a) : (x)))
-
/** "RAW" macros, should not be used outside of this header file */
#define SHR(a,shift) ((a) >> (shift))
#define SHL(a,shift) ((opus_val32)(a) << (shift))
@@ -105,7 +96,6 @@
/** Subtract two 32-bit values */
#define SUB32(a,b) ((opus_val32)(a)-(opus_val32)(b))
-
/** 16x16 multiplication where the result fits in 16 bits */
#define MULT16_16_16(a,b) ((((opus_val16)(a))*((opus_val16)(b))))
@@ -115,28 +105,9 @@
/** 16x16 multiply-add where the result fits in 32 bits */
#define MAC16_16(c,a,b) (ADD32((c),MULT16_16((a),(b))))
-/** 16x32 multiplication, followed by a 12-bit shift right. Results fits in 32 bits */
-#define MULT16_32_Q12(a,b) ADD32(MULT16_16((a),SHR((b),12)), SHR(MULT16_16((a),((b)&0x00000fff)),12))
-/** 16x32 multiplication, followed by a 13-bit shift right. Results fits in 32 bits */
-#define MULT16_32_Q13(a,b) ADD32(MULT16_16((a),SHR((b),13)), SHR(MULT16_16((a),((b)&0x00001fff)),13))
-/** 16x32 multiplication, followed by a 14-bit shift right. Results fits in 32 bits */
-#define MULT16_32_Q14(a,b) ADD32(MULT16_16((a),SHR((b),14)), SHR(MULT16_16((a),((b)&0x00003fff)),14))
-
-/** 16x32 multiplication, followed by an 11-bit shift right. Results fits in 32 bits */
-#define MULT16_32_Q11(a,b) ADD32(MULT16_16((a),SHR((b),11)), SHR(MULT16_16((a),((b)&0x000007ff)),11))
-/** 16x32 multiply-add, followed by an 11-bit shift right. Results fits in 32 bits */
-#define MAC16_32_Q11(c,a,b) ADD32(c,ADD32(MULT16_16((a),SHR((b),11)), SHR(MULT16_16((a),((b)&0x000007ff)),11)))
-
-/** 16x32 multiplication, followed by a 15-bit shift right (round-to-nearest). Results fits in 32 bits */
-#define MULT16_32_P15(a,b) ADD32(MULT16_16((a),SHR((b),15)), PSHR(MULT16_16((a),((b)&0x00007fff)),15))
/** 16x32 multiply-add, followed by a 15-bit shift right. Results fits in 32 bits */
#define MAC16_32_Q15(c,a,b) ADD32(c,ADD32(MULT16_16((a),SHR((b),15)), SHR(MULT16_16((a),((b)&0x00007fff)),15)))
-
-#define MAC16_16_Q11(c,a,b) (ADD32((c),SHR(MULT16_16((a),(b)),11)))
-#define MAC16_16_Q13(c,a,b) (ADD32((c),SHR(MULT16_16((a),(b)),13)))
-#define MAC16_16_P13(c,a,b) (ADD32((c),SHR(ADD32(4096,MULT16_16((a),(b))),13)))
-
#define MULT16_16_Q11_32(a,b) (SHR(MULT16_16((a),(b)),11))
#define MULT16_16_Q13(a,b) (SHR(MULT16_16((a),(b)),13))
#define MULT16_16_Q14(a,b) (SHR(MULT16_16((a),(b)),14))
@@ -148,11 +119,8 @@
/** Divide a 32-bit value by a 16-bit value. Result fits in 16 bits */
#define DIV32_16(a,b) ((opus_val16)(((opus_val32)(a))/((opus_val16)(b))))
-/** Divide a 32-bit value by a 16-bit value and round to nearest. Result fits in 16 bits */
-#define PDIV32_16(a,b) ((opus_val16)(((opus_val32)(a)+((opus_val16)(b)>>1))/((opus_val16)(b))))
+
/** Divide a 32-bit value by a 32-bit value. Result fits in 32 bits */
#define DIV32(a,b) (((opus_val32)(a))/((opus_val32)(b)))
-/** Divide a 32-bit value by a 32-bit value and round to nearest. Result fits in 32 bits */
-#define PDIV32(a,b) (((opus_val32)(a)+((opus_val16)(b)>>1))/((opus_val32)(b)))
#endif
--- a/libcelt/float_cast.h
+++ b/libcelt/float_cast.h
@@ -95,7 +95,6 @@
return _mm_cvtss_si32(_mm_load_ss(&value));
}
#elif (defined (WIN32) || defined (_WIN32))
-
#include <math.h>
/* Win32 doesn't seem to have these functions.
@@ -120,12 +119,8 @@
#warning "Don't have the functions lrint() and lrintf ()."
#warning "Replacing these functions with a standard C cast."
#endif /* __GNUC__ */
-
#include <math.h>
-
#define float2int(flt) ((int)(floor(.5+flt)))
-
#endif
-
#endif /* FLOAT_CAST_H */
--- a/libcelt/kiss_fft.c
+++ b/libcelt/kiss_fft.c
@@ -292,7 +292,6 @@
}
}
-
static void kf_bfly5(
kiss_fft_cpx * Fout,
const size_t fstride,
@@ -462,7 +461,6 @@
}
}
-
static void ki_work(
kiss_fft_cpx * Fout,
const kiss_fft_cpx * f,
@@ -493,7 +491,6 @@
}
}
-
#ifdef CUSTOM_MODES
static
@@ -529,7 +526,6 @@
}
}
-
/* facbuf is populated by p1,m1,p2,m2, ...
where
p[i] * m[i] = m[i-1]
@@ -581,7 +577,6 @@
}
#endif
}
-
/*
*
--- a/libcelt/kiss_fft.h
+++ b/libcelt/kiss_fft.h
@@ -14,7 +14,6 @@
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
#ifndef KISS_FFT_H
#define KISS_FFT_H
@@ -47,7 +46,6 @@
#define KISS_FFT_MALLOC celt_alloc
#endif
-
#ifdef FIXED_POINT
#include "arch.h"
#define DOUBLE_PRECISION
@@ -156,7 +154,6 @@
void kiss_ifft(const kiss_fft_state *cfg,const kiss_fft_cpx *fin,kiss_fft_cpx *fout);
void kiss_fft_free(const kiss_fft_state *cfg);
-
#ifdef __cplusplus
}
--- a/libcelt/laplace.c
+++ b/libcelt/laplace.c
@@ -90,7 +90,6 @@
ec_encode_bin(enc, fl, fl+fs, 15);
}
-
int ec_laplace_decode(ec_dec *dec, int fs, int decay)
{
int val=0;
--- a/libcelt/mathops.h
+++ b/libcelt/mathops.h
@@ -48,7 +48,6 @@
#define celt_sqrt(x) ((float)sqrt(x))
#define celt_rsqrt(x) (1.f/celt_sqrt(x))
#define celt_rsqrt_norm(x) (celt_rsqrt(x))
-#define celt_acos acos
#define celt_exp exp
#define celt_cos_norm(x) ((float)cos((.5f*M_PI)*(x)))
#define celt_atan atan
@@ -106,8 +105,6 @@
#endif
-
-
#ifdef FIXED_POINT
#include "os_support.h"
@@ -121,7 +118,6 @@
}
#endif
-
#ifndef OVERRIDE_CELT_MAXABS16
static inline opus_val16 celt_maxabs16(opus_val16 *x, int len)
{
@@ -145,7 +141,6 @@
opus_val16 celt_cos_norm(opus_val32 x);
-
static inline opus_val16 celt_log2(opus_val32 x)
{
int i;
@@ -229,6 +224,4 @@
}
#endif /* FIXED_POINT */
-
-
#endif /* MATHOPS_H */
--- a/libcelt/mdct.c
+++ b/libcelt/mdct.c
@@ -53,9 +53,7 @@
#include "mathops.h"
#include "stack_alloc.h"
-#ifndef M_PI
-#define M_PI 3.141592653
-#endif
+#define PI 3.141592653f
#ifdef CUSTOM_MODES
@@ -119,7 +117,7 @@
#ifdef FIXED_POINT
sine = TRIG_UPSCALE*(QCONST16(0.7853981f, 15)+N2)/N;
#else
- sine = (kiss_twiddle_scalar)2*M_PI*(.125f)/N;
+ sine = (kiss_twiddle_scalar)2*PI*(.125f)/N;
#endif
/* Consider the input to be composed of four blocks: [a, b, c, d] */
@@ -206,7 +204,6 @@
RESTORE_STACK;
}
-
void clt_mdct_backward(const mdct_lookup *l, kiss_fft_scalar *in, kiss_fft_scalar * restrict out, const opus_val16 * restrict window, int overlap, int shift)
{
int i;
@@ -225,7 +222,7 @@
#ifdef FIXED_POINT
sine = TRIG_UPSCALE*(QCONST16(0.7853981f, 15)+N2)/N;
#else
- sine = (kiss_twiddle_scalar)2*M_PI*(.125f)/N;
+ sine = (kiss_twiddle_scalar)2*PI*(.125f)/N;
#endif
/* Pre-rotate */
@@ -330,5 +327,3 @@
}
RESTORE_STACK;
}
-
-
--- a/libcelt/mfrngcod.h
+++ b/libcelt/mfrngcod.h
@@ -43,14 +43,6 @@
# define EC_CODE_TOP (((opus_uint32)1U)<<EC_CODE_BITS-1)
/*Low-order bit of the high-order range symbol.*/
# define EC_CODE_BOT (EC_CODE_TOP>>EC_SYM_BITS)
-/*Code for which propagating carries are possible.*/
-# define EC_CODE_CARRY (((opus_uint32)EC_SYM_MAX)<<EC_CODE_SHIFT)
/*The number of bits available for the last, partial symbol in the code field.*/
# define EC_CODE_EXTRA ((EC_CODE_BITS-2)%EC_SYM_BITS+1)
-/*A mask for the bits available in the coding buffer.
- This allows different platforms to use a variable with more bits, if it is
- convenient.
- We will only use EC_CODE_BITS of it.*/
-# define EC_CODE_MASK ((((opus_uint32)1U)<<EC_CODE_BITS-1)-1<<1|1)
-
#endif
--- a/libcelt/modes.c
+++ b/libcelt/modes.c
@@ -73,7 +73,6 @@
#define M_PI 3.141592653
#endif
-
#ifdef CUSTOM_MODES
/* Defining 25 critical bands for the full 0-20 kHz audio bandwidth
--- a/libcelt/modes.h
+++ b/libcelt/modes.h
@@ -37,8 +37,6 @@
#include "entenc.h"
#include "entdec.h"
-#define CELT_BITSTREAM_VERSION 0x80000010
-
#define MAX_PERIOD 1024
#ifndef CHANNELS
--- a/libcelt/opus_types.h
+++ b/libcelt/opus_types.h
@@ -156,5 +156,4 @@
#define opus_uint64 unsigned long long
#define opus_uint8 unsigned char
-
#endif /* _OPUS_TYPES_H */
--- a/libcelt/os_support.h
+++ b/libcelt/os_support.h
@@ -42,7 +42,7 @@
/** CELT wrapper for calloc(). To do your own dynamic allocation, all you need to do is replace this function, celt_realloc and celt_free
NOTE: celt_alloc needs to CLEAR THE MEMORY */
#ifndef OVERRIDE_CELT_ALLOC
-static inline void *celt_alloc (int size)
+static inline void *celt_alloc (size_t size)
{
/* WARNING: this is not equivalent to malloc(). If you want to use malloc()
or your own allocator, YOU NEED TO CLEAR THE MEMORY ALLOCATED. Otherwise
@@ -53,7 +53,7 @@
/** Same as celt_alloc(), except that the area is only needed inside a CELT call (might cause problem with wideband though) */
#ifndef OVERRIDE_CELT_ALLOC_SCRATCH
-static inline void *celt_alloc_scratch (int size)
+static inline void *celt_alloc_scratch (size_t size)
{
/* Scratch space doesn't need to be cleared */
return calloc(size,1);
@@ -63,14 +63,6 @@
/** CELT wrapper for free(). To do your own dynamic allocation, all you need to do is replace this function, celt_realloc and celt_alloc */
#ifndef OVERRIDE_CELT_FREE
static inline void celt_free (void *ptr)
-{
- free(ptr);
-}
-#endif
-
-/** Same as celt_free(), except that the area is only needed inside a CELT call (might cause problem with wideband though) */
-#ifndef OVERRIDE_CELT_FREE_SCRATCH
-static inline void celt_free_scratch (void *ptr)
{
free(ptr);
}
--- a/libcelt/pitch.c
+++ b/libcelt/pitch.c
@@ -31,7 +31,6 @@
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -279,7 +278,7 @@
g = g0 = VSHR32(MULT16_32_Q15(celt_rsqrt_norm(t), xy),sh+1);
}
#else
- g = g0 = xy/sqrt(1+xx*yy);
+ g = g0 = xy/celt_sqrt(1+xx*yy);
#endif
/* Look for any pitch at T/k */
for (k=2;k<=15;k++)
@@ -320,7 +319,7 @@
g1 = VSHR32(MULT16_32_Q15(celt_rsqrt_norm(t), xy),sh+1);
}
#else
- g1 = xy/sqrt(1+2.f*xx*1.f*yy);
+ g1 = xy/celt_sqrt(1+2.f*xx*1.f*yy);
#endif
if (abs(T1-prev_period)<=1)
cont = prev_gain;
--- a/libcelt/pitch.h
+++ b/libcelt/pitch.h
@@ -31,7 +31,6 @@
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
#ifndef _PITCH_H
#define _PITCH_H
--- a/libcelt/plc.c
+++ b/libcelt/plc.c
@@ -33,9 +33,6 @@
#include "stack_alloc.h"
#include "mathops.h"
-
-
-
void _celt_lpc(
opus_val16 *_lpc, /* out: [0...p-1] LPC coefficients */
const opus_val32 *ac, /* in: [0...p] autocorrelation values */
--- a/libcelt/plc.h
+++ b/libcelt/plc.h
@@ -48,8 +48,6 @@
int ord,
opus_val16 *mem);
-
void _celt_autocorr(const opus_val16 *x, opus_val32 *ac, const opus_val16 *window, int overlap, int lag, int n);
-
#endif /* PLC_H */
--- a/libcelt/quant_bands.c
+++ b/libcelt/quant_bands.c
@@ -432,7 +432,6 @@
opus_int32 budget;
opus_int32 tell;
-
if (intra)
{
coef = 0;
--- a/libcelt/rate.c
+++ b/libcelt/rate.c
@@ -39,7 +39,6 @@
#include "entcode.h"
#include "rate.h"
-
static const unsigned char LOG2_FRAC_TABLE[24]={
0,
8,13,
@@ -243,7 +242,6 @@
}
#endif /* CUSTOM_MODES */
-
#define ALLOC_STEPS 6
--- a/libcelt/rate.h
+++ b/libcelt/rate.h
@@ -40,8 +40,6 @@
#define QTHETA_OFFSET 4
#define QTHETA_OFFSET_TWOPHASE 16
-#define BITOVERFLOW 30000
-
#include "cwrs.h"
#include "modes.h"
@@ -102,6 +100,5 @@
*/
int compute_allocation(const CELTMode *m, int start, int end, const int *offsets, const int *cap, int alloc_trim, int *intensity, int *dual_stero,
opus_int32 total, opus_int32 *balance, int *pulses, int *ebits, int *fine_priority, int _C, int LM, ec_ctx *ec, int encode, int prev);
-
#endif
--- a/libcelt/stack_alloc.h
+++ b/libcelt/stack_alloc.h
@@ -81,7 +81,6 @@
* @param type Type of element
*/
-
#if defined(VAR_ARRAYS)
#define VARDECL(type, var)
@@ -142,6 +141,5 @@
#define SAVE_STACK char *_saved_stack = global_stack;
#endif /*VAR_ARRAYS*/
-
#endif /*STACK_ALLOC_H*/
--- a/libcelt/static_modes_float.c
+++ b/libcelt/static_modes_float.c
@@ -6,7 +6,7 @@
#ifndef DEF_WINDOW120
#define DEF_WINDOW120
static const opus_val16 window120[120] = {
-0.000067, 0.000606, 0.001682, 0.003295, 0.005444, 0.008128, 0.011344, 0.015091, 0.019365, 0.024164, 0.029483, 0.035320, 0.041669, 0.048525, 0.055884, 0.063738, 0.072082, 0.080907, 0.090208, 0.099974, 0.110198, 0.120869, 0.131977, 0.143512, 0.155462, 0.167814, 0.180555, 0.193673, 0.207152, 0.220977, 0.235132, 0.249602, 0.264369, 0.279414, 0.294720, 0.310268, 0.326038, 0.342009, 0.358162, 0.374474, 0.390925, 0.407491, 0.424152, 0.440884, 0.457665, 0.474471, 0.491280, 0.508068, 0.524813, 0.541491, 0.558080, 0.574557, 0.590900, 0.607088, 0.623100, 0.638913, 0.654509, 0.669868, 0.684971, 0.699800, 0.714339, 0.728571, 0.742480, 0.756054, 0.769279, 0.782143, 0.794634, 0.806744, 0.818465, 0.829787, 0.840707, 0.851218, 0.861317, 0.871002, 0.880271, 0.889125, 0.897564, 0.905591, 0.913209, 0.920423, 0.927237, 0.933660, 0.939697, 0.945357, 0.950649, 0.955584, 0.960171, 0.964422, 0.968349, 0.971963, 0.975279, 0.978309, 0.981066, 0.983565, 0.985819, 0.987842, 0.989649, 0.991253, 0.992669, 0.993910, 0.994990, 0.995923, 0.996722, 0.997399, 0.997967, 0.998437, 0.998822, 0.999132, 0.999376, 0.999565, 0.999708, 0.999812, 0.999886, 0.999936, 0.999967, 0.999985, 0.999995, 0.999999, 1.000000, 1.000000, };
+0.000067000f, 0.000606000f, 0.001682000f, 0.003295000f, 0.005444000f, 0.008128000f, 0.011344000f, 0.015091000f, 0.019365000f, 0.024164001f, 0.029483000f, 0.035319999f, 0.041669000f, 0.048525002f, 0.055884000f, 0.063738003f, 0.072081998f, 0.080907002f, 0.090208001f, 0.099973999f, 0.110197999f, 0.120869003f, 0.131977007f, 0.143511996f, 0.155461997f, 0.167814001f, 0.180555001f, 0.193673000f, 0.207151994f, 0.220976993f, 0.235131994f, 0.249602005f, 0.264369011f, 0.279413998f, 0.294719994f, 0.310268015f, 0.326038003f, 0.342009008f, 0.358161986f, 0.374473989f, 0.390924990f, 0.407490999f, 0.424151987f, 0.440883994f, 0.457664996f, 0.474471003f, 0.491279989f, 0.508068025f, 0.524812996f, 0.541490972f, 0.558080018f, 0.574557006f, 0.590900004f, 0.607088029f, 0.623099983f, 0.638912976f, 0.654509008f, 0.669867992f, 0.684970975f, 0.699800014f, 0.714339018f, 0.728570998f, 0.742479980f, 0.756053984f, 0.769279003f, 0.782142997f, 0.794633985f, 0.806743979f, 0.818464994f, 0.829787016f, 0.840707004f, 0.851217985f, 0.861316979f, 0.871002018f, 0.880271018f, 0.889124990f, 0.897563994f, 0.905591011f, 0.913209021f, 0.920422971f, 0.927236974f, 0.933659971f, 0.939697027f, 0.945357025f, 0.950649023f, 0.955583990f, 0.960170984f, 0.964421988f, 0.968348980f, 0.971962988f, 0.975278974f, 0.978308976f, 0.981065989f, 0.983564973f, 0.985818982f, 0.987842023f, 0.989648998f, 0.991253018f, 0.992668986f, 0.993910015f, 0.994989991f, 0.995922983f, 0.996721983f, 0.997398973f, 0.997967005f, 0.998436987f, 0.998821974f, 0.999131978f, 0.999375999f, 0.999565005f, 0.999707997f, 0.999812007f, 0.999885976f, 0.999935985f, 0.999966979f, 0.999984980f, 0.999994993f, 0.999998987f, 1.000000000f, 1.000000000f, };
#endif
#ifndef DEF_LOGN400
@@ -28,7 +28,7 @@
#ifndef FFT_TWIDDLES48000_960
#define FFT_TWIDDLES48000_960
static const kiss_twiddle_cpx fft_twiddles48000_960[480] = {
-{1.000000, -0.000000}, {0.999914, -0.013090}, {0.999657, -0.026177}, {0.999229, -0.039260}, {0.998630, -0.052336}, {0.997859, -0.065403}, {0.996917, -0.078459}, {0.995805, -0.091502}, {0.994522, -0.104528}, {0.993068, -0.117537}, {0.991445, -0.130526}, {0.989651, -0.143493}, {0.987688, -0.156434}, {0.985556, -0.169350}, {0.983255, -0.182236}, {0.980785, -0.195090}, {0.978148, -0.207912}, {0.975342, -0.220697}, {0.972370, -0.233445}, {0.969231, -0.246153}, {0.965926, -0.258819}, {0.962455, -0.271440}, {0.958820, -0.284015}, {0.955020, -0.296542}, {0.951057, -0.309017}, {0.946930, -0.321439}, {0.942641, -0.333807}, {0.938191, -0.346117}, {0.933580, -0.358368}, {0.928810, -0.370557}, {0.923880, -0.382683}, {0.918791, -0.394744}, {0.913545, -0.406737}, {0.908143, -0.418660}, {0.902585, -0.430511}, {0.896873, -0.442289}, {0.891007, -0.453990}, {0.884988, -0.465615}, {0.878817, -0.477159}, {0.872496, -0.488621}, {0.866025, -0.500000}, {0.859406, -0.511293}, {0.852640, -0.522499}, {0.845728, -0.533615}, {0.838671, -0.544639}, {0.831470, -0.555570}, {0.824126, -0.566406}, {0.816642, -0.577145}, {0.809017, -0.587785}, {0.801254, -0.598325}, {0.793353, -0.608761}, {0.785317, -0.619094}, {0.777146, -0.629320}, {0.768842, -0.639439}, {0.760406, -0.649448}, {0.751840, -0.659346}, {0.743145, -0.669131}, {0.734322, -0.678801}, {0.725374, -0.688355}, {0.716302, -0.697790}, {0.707107, -0.707107}, {0.697790, -0.716302}, {0.688355, -0.725374}, {0.678801, -0.734322}, {0.669131, -0.743145}, {0.659346, -0.751840}, {0.649448, -0.760406}, {0.639439, -0.768842}, {0.629320, -0.777146}, {0.619094, -0.785317}, {0.608761, -0.793353}, {0.598325, -0.801254}, {0.587785, -0.809017}, {0.577145, -0.816642}, {0.566406, -0.824126}, {0.555570, -0.831470}, {0.544639, -0.838671}, {0.533615, -0.845728}, {0.522499, -0.852640}, {0.511293, -0.859406}, {0.500000, -0.866025}, {0.488621, -0.872496}, {0.477159, -0.878817}, {0.465615, -0.884988}, {0.453990, -0.891007}, {0.442289, -0.896873}, {0.430511, -0.902585}, {0.418660, -0.908143}, {0.406737, -0.913545}, {0.394744, -0.918791}, {0.382683, -0.923880}, {0.370557, -0.928810}, {0.358368, -0.933580}, {0.346117, -0.938191}, {0.333807, -0.942641}, {0.321439, -0.946930}, {0.309017, -0.951057}, {0.296542, -0.955020}, {0.284015, -0.958820}, {0.271440, -0.962455}, {0.258819, -0.965926}, {0.246153, -0.969231}, {0.233445, -0.972370}, {0.220697, -0.975342}, {0.207912, -0.978148}, {0.195090, -0.980785}, {0.182236, -0.983255}, {0.169350, -0.985556}, {0.156434, -0.987688}, {0.143493, -0.989651}, {0.130526, -0.991445}, {0.117537, -0.993068}, {0.104528, -0.994522}, {0.091502, -0.995805}, {0.078459, -0.996917}, {0.065403, -0.997859}, {0.052336, -0.998630}, {0.039260, -0.999229}, {0.026177, -0.999657}, {0.013090, -0.999914}, {0.000000, -1.000000}, {-0.013090, -0.999914}, {-0.026177, -0.999657}, {-0.039260, -0.999229}, {-0.052336, -0.998630}, {-0.065403, -0.997859}, {-0.078459, -0.996917}, {-0.091502, -0.995805}, {-0.104528, -0.994522}, {-0.117537, -0.993068}, {-0.130526, -0.991445}, {-0.143493, -0.989651}, {-0.156434, -0.987688}, {-0.169350, -0.985556}, {-0.182236, -0.983255}, {-0.195090, -0.980785}, {-0.207912, -0.978148}, {-0.220697, -0.975342}, {-0.233445, -0.972370}, {-0.246153, -0.969231}, {-0.258819, -0.965926}, {-0.271440, -0.962455}, {-0.284015, -0.958820}, {-0.296542, -0.955020}, {-0.309017, -0.951057}, {-0.321439, -0.946930}, {-0.333807, -0.942641}, {-0.346117, -0.938191}, {-0.358368, -0.933580}, {-0.370557, -0.928810}, {-0.382683, -0.923880}, {-0.394744, -0.918791}, {-0.406737, -0.913545}, {-0.418660, -0.908143}, {-0.430511, -0.902585}, {-0.442289, -0.896873}, {-0.453990, -0.891007}, {-0.465615, -0.884988}, {-0.477159, -0.878817}, {-0.488621, -0.872496}, {-0.500000, -0.866025}, {-0.511293, -0.859406}, {-0.522499, -0.852640}, {-0.533615, -0.845728}, {-0.544639, -0.838671}, {-0.555570, -0.831470}, {-0.566406, -0.824126}, {-0.577145, -0.816642}, {-0.587785, -0.809017}, {-0.598325, -0.801254}, {-0.608761, -0.793353}, {-0.619094, -0.785317}, {-0.629320, -0.777146}, {-0.639439, -0.768842}, {-0.649448, -0.760406}, {-0.659346, -0.7
\ No newline at end of file
+{1.000000000f, -0.000000000f}, {0.999913990f, -0.013090000f}, {0.999656975f, -0.026177000f}, {0.999229014f, -0.039260000f}, {0.998629987f, -0.052336000f}, {0.997859001f, -0.065403000f}, {0.996917009f, -0.078459002f}, {0.995805025f, -0.091502003f}, {0.994521976f, -0.104528002f}, {0.993067980f, -0.117536999f}, {0.991445005f, -0.130526006f}, {0.989651024f, -0.143492997f}, {0.987688005f, -0.156434000f}, {0.985556006f, -0.169349998f}, {0.983255029f, -0.182236001f}, {0.980785012f, -0.195089996f}, {0.978147984f, -0.207911998f}, {0.975341976f, -0.220697001f}, {0.972370028f, -0.233445004f}, {0.969231009f, -0.246152997f}, {0.965925992f, -0.258819014f}, {0.962454975f, -0.271439999f}, {0.958819985f, -0.284015000f}, {0.955020010f, -0.296541989f}, {0.951057017f, -0.309017003f}, {0.946929991f, -0.321438998f}, {0.942641020f, -0.333806992f}, {0.938190997f, -0.346116990f}, {0.933579981f, -0.358368009f}, {0.928810000f, -0.370557010f}, {0.923879981f, -0.382683009f}, {0.918790996f, -0.394744009f}, {0.913545012f, -0.406737000f}, {0.908142984f, -0.418660015f}, {0.902585030f, -0.430510998f}, {0.896872997f, -0.442288995f}, {0.891007006f, -0.453990012f}, {0.884988010f, -0.465615004f}, {0.878817022f, -0.477158993f}, {0.872496009f, -0.488620996f}, {0.866024971f, -0.500000000f}, {0.859405994f, -0.511292994f}, {0.852639973f, -0.522499025f}, {0.845727980f, -0.533614993f}, {0.838671029f, -0.544638991f}, {0.831470013f, -0.555570006f}, {0.824126005f, -0.566406012f}, {0.816641986f, -0.577144980f}, {0.809017003f, -0.587785006f}, {0.801253974f, -0.598325014f}, {0.793353021f, -0.608761013f}, {0.785317004f, -0.619094014f}, {0.777145982f, -0.629320025f}, {0.768841982f, -0.639438987f}, {0.760406017f, -0.649447978f}, {0.751839995f, -0.659345984f}, {0.743144989f, -0.669130981f}, {0.734322011f, -0.678801000f}, {0.725373983f, -0.688355029f}, {0.716301978f, -0.697790027f}, {0.707107008f, -0.707107008f}, {0.697790027f, -0.716301978f}, {0.688355029f, -0.725373983f}, {0.678801000f, -0.734322011f}, {0.669130981f, -0.743144989f}, {0.659345984f, -0.751839995f}, {0.649447978f, -0.760406017f}, {0.639438987f, -0.768841982f}, {0.629320025f, -0.777145982f}, {0.619094014f, -0.785317004f}, {0.608761013f, -0.793353021f}, {0.598325014f, -0.801253974f}, {0.587785006f, -0.809017003f}, {0.577144980f, -0.816641986f}, {0.566406012f, -0.824126005f}, {0.555570006f, -0.831470013f}, {0.544638991f, -0.838671029f}, {0.533614993f, -0.845727980f}, {0.522499025f, -0.852639973f}, {0.511292994f, -0.859405994f}, {0.500000000f, -0.866024971f}, {0.488620996f, -0.872496009f}, {0.477158993f, -0.878817022f}, {0.465615004f, -0.884988010f}, {0.453990012f, -0.891007006f}, {0.442288995f, -0.896872997f}, {0.430510998f, -0.902585030f}, {0.418660015f, -0.908142984f}, {0.406737000f, -0.913545012f}, {0.394744009f, -0.918790996f}, {0.382683009f, -0.923879981f}, {0.370557010f, -0.928810000f}, {0.358368009f, -0.933579981f}, {0.346116990f, -0.938190997f}, {0.333806992f, -0.942641020f}, {0.321438998f, -0.946929991f}, {0.309017003f, -0.951057017f}, {0.296541989f, -0.955020010f}, {0.284015000f, -0.958819985f}, {0.271439999f, -0.962454975f}, {0.258819014f, -0.965925992f}, {0.246152997f, -0.969231009f}, {0.233445004f, -0.972370028f}, {0.220697001f, -0.975341976f}, {0.207911998f, -0.978147984f}, {0.195089996f, -0.980785012f}, {0.182236001f, -0.983255029f}, {0.169349998f, -0.985556006f}, {0.156434000f, -0.987688005f}, {0.143492997f, -0.989651024f}, {0.130526006f, -0.991445005f}, {0.117536999f, -0.993067980f}, {0.104528002f, -0.994521976f}, {0.091502003f, -0.995805025f}, {0.078459002f, -0.996917009f}, {0.065403000f, -0.997859001f}, {0.052336000f, -0.998629987f}, {0.039260000f, -0.999229014f}, {0.026177000f, -0.999656975f}, {0.013090000f, -0.999913990f}, {0.000000000f, -1.000000000f}, {-0.013090000f, -0.999913990f}, {-0.026177000f, -0.999656975f}, {-0.039260000f, -0.999229014f}, {-0.052336000f, -0.998629987f}, {-0.065403000f, -0.997859001f}, {-0.078459002f, -0.996917009f}, {-0.091502003f, -0.995805025f}, {-0.104528002f, -0.994521976f}, {-0.117536999f, -0.993067980f}, {-0.130526006f, -0.991445005f}, {-0.143492997f, -0.98965
\ No newline at end of file
51840}, {-0.669131, -0.743145}, {-0.678801, -0.734322}, {-0.688355, -0.725374}, {-0.697790, -0.716302}, {-0.707107, -0.707107}, {-0.716302, -0.697790}, {-0.725374, -0.688355}, {-0.734322, -0.678801}, {-0.743145, -0.669131}, {-0.751840, -0.659346}, {-0.760406, -0.649448}, {-0.768842, -0.639439}, {-0.777146, -0.629320}, {-0.785317, -0.619094}, {-0.793353, -0.608761}, {-0.801254, -0.598325}, {-0.809017, -0.587785}, {-0.816642, -0.577145}, {-0.824126, -0.566406}, {-0.831470, -0.555570}, {-0.838671, -0.544639}, {-0.845728, -0.533615}, {-0.852640, -0.522499}, {-0.859406, -0.511293}, {-0.866025, -0.500000}, {-0.872496, -0.488621}, {-0.878817, -0.477159}, {-0.884988, -0.465615}, {-0.891007, -0.453990}, {-0.896873, -0.442289}, {-0.902585, -0.430511}, {-0.908143, -0.418660}, {-0.913545, -0.406737}, {-0.918791, -0.394744}, {-0.923880, -0.382683}, {-0.928810, -0.370557}, {-0.933580, -0.358368}, {-0.938191, -0.346117}, {-0.942641, -0.333807}, {-0.946930, -0.321439}, {-0.951057, -0.309017}, {-0.955020, -0.296542}, {-0.958820, -0.284015}, {-0.962455, -0.271440}, {-0.965926, -0.258819}, {-0.969231, -0.246153}, {-0.972370, -0.233445}, {-0.975342, -0.220697}, {-0.978148, -0.207912}, {-0.980785, -0.195090}, {-0.983255, -0.182236}, {-0.985556, -0.169350}, {-0.987688, -0.156434}, {-0.989651, -0.143493}, {-0.991445, -0.130526}, {-0.993068, -0.117537}, {-0.994522, -0.104528}, {-0.995805, -0.091502}, {-0.996917, -0.078459}, {-0.997859, -0.065403}, {-0.998630, -0.052336}, {-0.999229, -0.039260}, {-0.999657, -0.026177}, {-0.999914, -0.013090}, {-1.000000, -0.000000}, {-0.999914, 0.013090}, {-0.999657, 0.026177}, {-0.999229, 0.039260}, {-0.998630, 0.052336}, {-0.997859, 0.065403}, {-0.996917, 0.078459}, {-0.995805, 0.091502}, {-0.994522, 0.104528}, {-0.993068, 0.117537}, {-0.991445, 0.130526}, {-0.989651, 0.143493}, {-0.987688, 0.156434}, {-0.985556, 0.169350}, {-0.983255, 0.182236}, {-0.980785, 0.195090}, {-0.978148, 0.207912}, {-0.975342, 0.220697}, {-0.972370, 0.233445}, {-0.969231, 0.246153}, {-0.965926, 0.258819}, {-0.962455, 0.271440}, {-0.958820, 0.284015}, {-0.955020, 0.296542}, {-0.951057, 0.309017}, {-0.946930, 0.321439}, {-0.942641, 0.333807}, {-0.938191, 0.346117}, {-0.933580, 0.358368}, {-0.928810, 0.370557}, {-0.923880, 0.382683}, {-0.918791, 0.394744}, {-0.913545, 0.406737}, {-0.908143, 0.418660}, {-0.902585, 0.430511}, {-0.896873, 0.442289}, {-0.891007, 0.453990}, {-0.884988, 0.465615}, {-0.878817, 0.477159}, {-0.872496, 0.488621}, {-0.866025, 0.500000}, {-0.859406, 0.511293}, {-0.852640, 0.522499}, {-0.845728, 0.533615}, {-0.838671, 0.544639}, {-0.831470, 0.555570}, {-0.824126, 0.566406}, {-0.816642, 0.577145}, {-0.809017, 0.587785}, {-0.801254, 0.598325}, {-0.793353, 0.608761}, {-0.785317, 0.619094}, {-0.777146, 0.629320}, {-0.768842, 0.639439}, {-0.760406, 0.649448}, {-0.751840, 0.659346}, {-0.743145, 0.669131}, {-0.734322, 0.678801}, {-0.725374, 0.688355}, {-0.716302, 0.697790}, {-0.707107, 0.707107}, {-0.697790, 0.716302}, {-0.688355, 0.725374}, {-0.678801, 0.734322}, {-0.669131, 0.743145}, {-0.659346, 0.751840}, {-0.649448, 0.760406}, {-0.639439, 0.768842}, {-0.629320, 0.777146}, {-0.619094, 0.785317}, {-0.608761, 0.793353}, {-0.598325, 0.801254}, {-0.587785, 0.809017}, {-0.577145, 0.816642}, {-0.566406, 0.824126}, {-0.555570, 0.831470}, {-0.544639, 0.838671}, {-0.533615, 0.845728}, {-0.522499, 0.852640}, {-0.511293, 0.859406}, {-0.500000, 0.866025}, {-0.488621, 0.872496}, {-0.477159, 0.878817}, {-0.465615, 0.884988}, {-0.453990, 0.891007}, {-0.442289, 0.896873}, {-0.430511, 0.902585}, {-0.418660, 0.908143}, {-0.406737, 0.913545}, {-0.394744, 0.918791}, {-0.382683, 0.923880}, {-0.370557, 0.928810}, {-0.358368, 0.933580}, {-0.346117, 0.938191}, {-0.333807, 0.942641}, {-0.321439, 0.946930}, {-0.309017, 0.951057}, {-0.296542, 0.955020}, {-0.284015, 0.958820}, {-0.271440, 0.962455}, {-0.258819, 0.965926}, {-0.246153, 0.969231}, {-0.233445, 0.972370}, {-0.220697, 0.975342}, {-0.207912, 0.978148}, {-0.195090, 0.980785}, {-0.182236, 0.983255}, {-0.169350, 0.985556}, {-0.156434, 0.987688}, {-0.143493, 0.989651}, {-0.130526, 0.991445
\ No newline at end of file
#ifndef FFT_BITREV480
#define FFT_BITREV480
@@ -57,7 +57,7 @@
26, 0.991445}, {0.143493, 0.989651}, {0.156434, 0.987688}, {0.169350, 0.985556}, {0.182236, 0.983255}, {0.195090, 0.980785}, {0.207912, 0.978148}, {0.220697, 0.975342}, {0.233445, 0.972370}, {0.246153, 0.969231}, {0.258819, 0.965926}, {0.271440, 0.962455}, {0.284015, 0.958820}, {0.296542, 0.955020}, {0.309017, 0.951057}, {0.321439, 0.946930}, {0.333807, 0.942641}, {0.346117, 0.938191}, {0.358368, 0.933580}, {0.370557, 0.928810}, {0.382683, 0.923880}, {0.394744, 0.918791}, {0.406737, 0.913545}, {0.418660, 0.908143}, {0.430511, 0.902585}, {0.442289, 0.896873}, {0.453990, 0.891007}, {0.465615, 0.884988}, {0.477159, 0.878817}, {0.488621, 0.872496}, {0.500000, 0.866025}, {0.511293, 0.859406}, {0.522499, 0.852640}, {0.533615, 0.845728}, {0.544639, 0.838671}, {0.555570, 0.831470}, {0.566406, 0.824126}, {0.577145, 0.816642}, {0.587785, 0.809017}, {0.598325, 0.801254}, {0.608761, 0.793353}, {0.619094, 0.785317}, {0.629320, 0.777146}, {0.639439, 0.768842}, {0.649448, 0.760406}, {0.659346, 0.751840}, {0.669131, 0.743145}, {0.678801, 0.734322}, {0.688355, 0.725374}, {0.697790, 0.716302}, {0.707107, 0.707107}, {0.716302, 0.697790}, {0.725374, 0.688355}, {0.734322, 0.678801}, {0.743145, 0.669131}, {0.751840, 0.659346}, {0.760406, 0.649448}, {0.768842, 0.639439}, {0.777146, 0.629320}, {0.785317, 0.619094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
#ifndef FFT_BITREV480
#define FFT_BITREV480
-55}, {0.195090, 0.980785}, {0.207912, 0.978148}, {0.220697, 0.975342}, {0.233445, 0.972370}, {0.246153, 0.969231}, {0.258819, 0.965926}, {0.271440, 0.962455}, {0.284015, 0.958820}, {0.296542, 0.955020}, {0.309017, 0.951057}, {0.321439, 0.946930}, {0.333807, 0.942641}, {0.346117, 0.938191}, {0.358368, 0.933580}, {0.370557, 0.928810}, {0.382683, 0.923880}, {0.394744, 0.918791}, {0.406737, 0.913545}, {0.418660, 0.908143}, {0.430511, 0.902585}, {0.442289, 0.896873}, {0.453990, 0.891007}, {0.465615, 0.884988}, {0.477159, 0.878817}, {0.488621, 0.872496}, {0.500000, 0.866025}, {0.511293, 0.859406}, {0.522499, 0.852640}, {0.533615, 0.845728}, {0.544639, 0.838671}, {0.555570, 0.831470}, {0.566406, 0.824126}, {0.577145, 0.816642}, {0.587785, 0.809017}, {0.598325, 0.801254}, {0.608761, 0.793353}, {0.619094, 0.785317}, {0.629320, 0.777146}, {0.639439, 0.768842}, {0.649448, 0.760406}, {0.659346, 0.751840}, {0.669131, 0.743145}, {0.678801, 0.734322}, {0.688355, 0.725374}, {0.697790, 0.716302}, {0.707107, 0.707107}, {0.716302, 0.697790}, {0.725374, 0.688355}, {0.734322, 0.678801}, {0.743145, 0.669131}, {0.751840, 0.659346}, {0.760406, 0.649448}, {0.768842, 0.639439}, {0.777146, 0.629320}, {0.785317, 0.619094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
+65615004f}, {-0.878817022f, 0.477158993f}, {-0.872496009f, 0.488620996f}, {-0.866024971f, 0.500000000f}, {-0.859405994f, 0.511292994f}, {-0.852639973f, 0.522499025f}, {-0.845727980f, 0.533614993f}, {-0.838671029f, 0.544638991f}, {-0.831470013f, 0.555570006f}, {-0.824126005f, 0.566406012f}, {-0.816641986f, 0.577144980f}, {-0.809017003f, 0.587785006f}, {-0.801253974f, 0.598325014f}, {-0.793353021f, 0.608761013f}, {-0.785317004f, 0.619094014f}, {-0.777145982f, 0.629320025f}, {-0.768841982f, 0.639438987f}, {-0.760406017f, 0.649447978f}, {-0.751839995f, 0.659345984f}, {-0.743144989f, 0.669130981f}, {-0.734322011f, 0.678801000f}, {-0.725373983f, 0.688355029f}, {-0.716301978f, 0.697790027f}, {-0.707107008f, 0.707107008f}, {-0.697790027f, 0.716301978f}, {-0.688355029f, 0.725373983f}, {-0.678801000f, 0.734322011f}, {-0.669130981f, 0.743144989f}, {-0.659345984f, 0.751839995f}, {-0.649447978f, 0.760406017f}, {-0.639438987f, 0.768841982f}, {-0.629320025f, 0.777145982f}, {-0.619094014f, 0.785317004f}, {-0.608761013f, 0.793353021f}, {-0.598325014f, 0.801253974f}, {-0.587785006f, 0.809017003f}, {-0.577144980f, 0.816641986f}, {-0.566406012f, 0.824126005f}, {-0.555570006f, 0.831470013f}, {-0.544638991f, 0.838671029f}, {-0.533614993f, 0.845727980f}, {-0.522499025f, 0.852639973f}, {-0.511292994f, 0.859405994f}, {-0.500000000f, 0.866024971f}, {-0.488620996f, 0.872496009f}, {-0.477158993f, 0.878817022f}, {-0.465615004f, 0.884988010f}, {-0.453990012f, 0.891007006f}, {-0.442288995f, 0.896872997f}, {-0.430510998f, 0.902585030f}, {-0.418660015f, 0.908142984f}, {-0.406737000f, 0.913545012f}, {-0.394744009f, 0.918790996f}, {-0.382683009f, 0.923879981f}, {-0.370557010f, 0.928810000f}, {-0.358368009f, 0.933579981f}, {-0.346116990f, 0.938190997f}, {-0.333806992f, 0.942641020f}, {-0.321438998f, 0.946929991f}, {-0.309017003f, 0.951057017f}, {-0.296541989f, 0.955020010f}, {-0.284015000f, 0.958819985f}, {-0.271439999f, 0.962454975f}, {-0.258819014f, 0.965925992f}, {-0.246152997f, 0.969231009f}, {-0.233445004f, 0.972370028f}, {-0.220697001f, 0.975341976f}, {-0.207911998f, 0.978147984f}, {-0.195089996f, 0.980785012f}, {-0.182236001f, 0.983255029f}, {-0.169349998f, 0.985556006f}, {-0.156434000f, 0.987688005f}, {-0.143492997f, 0.989651024f}, {-0.130526006f, 0.991445005f}, {-0.117536999f, 0.993067980f}, {-0.104528002f, 0.994521976f}, {-0.091502003f, 0.995805025f}, {-0.078459002f, 0.996917009f}, {-0.065403000f, 0.997859001f}, {-0.052336000f, 0.998629987f}, {-0.039260000f, 0.999229014f}, {-0.026177000f, 0.999656975f}, {-0.013090000f, 0.999913990f}, {-0.000000000f, 1.000000000f}, {0.013090000f, 0.999913990f}, {0.026177000f, 0.999656975f}, {0.039260000f, 0.999229014f}, {0.052336000f, 0.998629987f}, {0.065403000f, 0.997859001f}, {0.078459002f, 0.996917009f}, {0.091502003f, 0.995805025f}, {0.104528002f, 0.994521976f}, {0.117536999f, 0.993067980f}, {0.130526006f, 0.991445005f}, {0.143492997f, 0.989651024f}, {0.156434000f, 0.987688005f}, {0.169349998f, 0.985556006f}, {0.182236001f, 0.983255029f}, {0.195089996f, 0.980785012f}, {0.207911998f, 0.978147984f}, {0.220697001f, 0.975341976f}, {0.233445004f, 0.972370028f}, {0.246152997f, 0.969231009f}, {0.258819014f, 0.965925992f}, {0.271439999f, 0.962454975f}, {0.284015000f, 0.958819985f}, {0.296541989f, 0.955020010f}, {0.309017003f, 0.951057017f}, {0.321438998f, 0.946929991f}, {0.333806992f, 0.942641020f}, {0.346116990f, 0.938190997f}, {0.358368009f, 0.933579981f}, {0.370557010f, 0.928810000f}, {0.382683009f, 0.923879981f}, {0.394744009f, 0.918790996f}, {0.406737000f, 0.913545012f}, {0.418660015f, 0.908142984f}, {0.430510998f, 0.902585030f}, {0.442288995f, 0.896872997f}, {0.453990012f, 0.891007006f}, {0.465615004f, 0.884988010f}, {0.477158993f, 0.878817022f}, {0.488620996f, 0.872496009f}, {0.500000000f, 0.866024971f}, {0.511292994f, 0.859405994f}, {0.522499025f, 0.852639973f}, {0.533614993f, 0.845727980f}, {0.544638991f, 0.838671029f}, {0.555570006f, 0.831470013f}, {0.566406012f, 0.824126005f}, {0.577144980f, 0.816641986f}, {0.587785006f, 0.809017003f}, {0.598325014f, 0.801253974f}, {0.608761013f, 0.793353021f}, {0.6190940
\ No newline at end of file
85}, {0.207912, 0.978148}, {0.220697, 0.975342}, {0.233445, 0.972370}, {0.246153, 0.969231}, {0.258819, 0.965926}, {0.271440, 0.962455}, {0.284015, 0.958820}, {0.296542, 0.955020}, {0.309017, 0.951057}, {0.321439, 0.946930}, {0.333807, 0.942641}, {0.346117, 0.938191}, {0.358368, 0.933580}, {0.370557, 0.928810}, {0.382683, 0.923880}, {0.394744, 0.918791}, {0.406737, 0.913545}, {0.418660, 0.908143}, {0.430511, 0.902585}, {0.442289, 0.896873}, {0.453990, 0.891007}, {0.465615, 0.884988}, {0.477159, 0.878817}, {0.488621, 0.872496}, {0.500000, 0.866025}, {0.511293, 0.859406}, {0.522499, 0.852640}, {0.533615, 0.845728}, {0.544639, 0.838671}, {0.555570, 0.831470}, {0.566406, 0.824126}, {0.577145, 0.816642}, {0.587785, 0.809017}, {0.598325, 0.801254}, {0.608761, 0.793353}, {0.619094, 0.785317}, {0.629320, 0.777146}, {0.639439, 0.768842}, {0.649448, 0.760406}, {0.659346, 0.751840}, {0.669131, 0.743145}, {0.678801, 0.734322}, {0.688355, 0.725374}, {0.697790, 0.716302}, {0.707107, 0.707107}, {0.716302, 0.697790}, {0.725374, 0.688355}, {0.734322, 0.678801}, {0.743145, 0.669131}, {0.751840, 0.659346}, {0.760406, 0.649448}, {0.768842, 0.639439}, {0.777146, 0.629320}, {0.785317, 0.619094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
#ifndef FFT_BITREV480
#define FFT_BITREV480
@@ -69,7 +69,7 @@
, 0.951057}, {0.321439, 0.946930}, {0.333807, 0.942641}, {0.346117, 0.938191}, {0.358368, 0.933580}, {0.370557, 0.928810}, {0.382683, 0.923880}, {0.394744, 0.918791}, {0.406737, 0.913545}, {0.418660, 0.908143}, {0.430511, 0.902585}, {0.442289, 0.896873}, {0.453990, 0.891007}, {0.465615, 0.884988}, {0.477159, 0.878817}, {0.488621, 0.872496}, {0.500000, 0.866025}, {0.511293, 0.859406}, {0.522499, 0.852640}, {0.533615, 0.845728}, {0.544639, 0.838671}, {0.555570, 0.831470}, {0.566406, 0.824126}, {0.577145, 0.816642}, {0.587785, 0.809017}, {0.598325, 0.801254}, {0.608761, 0.793353}, {0.619094, 0.785317}, {0.629320, 0.777146}, {0.639439, 0.768842}, {0.649448, 0.760406}, {0.659346, 0.751840}, {0.669131, 0.743145}, {0.678801, 0.734322}, {0.688355, 0.725374}, {0.697790, 0.716302}, {0.707107, 0.707107}, {0.716302, 0.697790}, {0.725374, 0.688355}, {0.734322, 0.678801}, {0.743145, 0.669131}, {0.751840, 0.659346}, {0.760406, 0.649448}, {0.768842, 0.639439}, {0.777146, 0.629320}, {0.785317, 0.619094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
#ifndef FFT_BITREV480
#define FFT_BITREV480
-}, {0.370557, 0.928810}, {0.382683, 0.923880}, {0.394744, 0.918791}, {0.406737, 0.913545}, {0.418660, 0.908143}, {0.430511, 0.902585}, {0.442289, 0.896873}, {0.453990, 0.891007}, {0.465615, 0.884988}, {0.477159, 0.878817}, {0.488621, 0.872496}, {0.500000, 0.866025}, {0.511293, 0.859406}, {0.522499, 0.852640}, {0.533615, 0.845728}, {0.544639, 0.838671}, {0.555570, 0.831470}, {0.566406, 0.824126}, {0.577145, 0.816642}, {0.587785, 0.809017}, {0.598325, 0.801254}, {0.608761, 0.793353}, {0.619094, 0.785317}, {0.629320, 0.777146}, {0.639439, 0.768842}, {0.649448, 0.760406}, {0.659346, 0.751840}, {0.669131, 0.743145}, {0.678801, 0.734322}, {0.688355, 0.725374}, {0.697790, 0.716302}, {0.707107, 0.707107}, {0.716302, 0.697790}, {0.725374, 0.688355}, {0.734322, 0.678801}, {0.743145, 0.669131}, {0.751840, 0.659346}, {0.760406, 0.649448}, {0.768842, 0.639439}, {0.777146, 0.629320}, {0.785317, 0.619094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
+4980f}, {-0.809017003f, 0.587785006f}, {-0.801253974f, 0.598325014f}, {-0.793353021f, 0.608761013f}, {-0.785317004f, 0.619094014f}, {-0.777145982f, 0.629320025f}, {-0.768841982f, 0.639438987f}, {-0.760406017f, 0.649447978f}, {-0.751839995f, 0.659345984f}, {-0.743144989f, 0.669130981f}, {-0.734322011f, 0.678801000f}, {-0.725373983f, 0.688355029f}, {-0.716301978f, 0.697790027f}, {-0.707107008f, 0.707107008f}, {-0.697790027f, 0.716301978f}, {-0.688355029f, 0.725373983f}, {-0.678801000f, 0.734322011f}, {-0.669130981f, 0.743144989f}, {-0.659345984f, 0.751839995f}, {-0.649447978f, 0.760406017f}, {-0.639438987f, 0.768841982f}, {-0.629320025f, 0.777145982f}, {-0.619094014f, 0.785317004f}, {-0.608761013f, 0.793353021f}, {-0.598325014f, 0.801253974f}, {-0.587785006f, 0.809017003f}, {-0.577144980f, 0.816641986f}, {-0.566406012f, 0.824126005f}, {-0.555570006f, 0.831470013f}, {-0.544638991f, 0.838671029f}, {-0.533614993f, 0.845727980f}, {-0.522499025f, 0.852639973f}, {-0.511292994f, 0.859405994f}, {-0.500000000f, 0.866024971f}, {-0.488620996f, 0.872496009f}, {-0.477158993f, 0.878817022f}, {-0.465615004f, 0.884988010f}, {-0.453990012f, 0.891007006f}, {-0.442288995f, 0.896872997f}, {-0.430510998f, 0.902585030f}, {-0.418660015f, 0.908142984f}, {-0.406737000f, 0.913545012f}, {-0.394744009f, 0.918790996f}, {-0.382683009f, 0.923879981f}, {-0.370557010f, 0.928810000f}, {-0.358368009f, 0.933579981f}, {-0.346116990f, 0.938190997f}, {-0.333806992f, 0.942641020f}, {-0.321438998f, 0.946929991f}, {-0.309017003f, 0.951057017f}, {-0.296541989f, 0.955020010f}, {-0.284015000f, 0.958819985f}, {-0.271439999f, 0.962454975f}, {-0.258819014f, 0.965925992f}, {-0.246152997f, 0.969231009f}, {-0.233445004f, 0.972370028f}, {-0.220697001f, 0.975341976f}, {-0.207911998f, 0.978147984f}, {-0.195089996f, 0.980785012f}, {-0.182236001f, 0.983255029f}, {-0.169349998f, 0.985556006f}, {-0.156434000f, 0.987688005f}, {-0.143492997f, 0.989651024f}, {-0.130526006f, 0.991445005f}, {-0.117536999f, 0.993067980f}, {-0.104528002f, 0.994521976f}, {-0.091502003f, 0.995805025f}, {-0.078459002f, 0.996917009f}, {-0.065403000f, 0.997859001f}, {-0.052336000f, 0.998629987f}, {-0.039260000f, 0.999229014f}, {-0.026177000f, 0.999656975f}, {-0.013090000f, 0.999913990f}, {-0.000000000f, 1.000000000f}, {0.013090000f, 0.999913990f}, {0.026177000f, 0.999656975f}, {0.039260000f, 0.999229014f}, {0.052336000f, 0.998629987f}, {0.065403000f, 0.997859001f}, {0.078459002f, 0.996917009f}, {0.091502003f, 0.995805025f}, {0.104528002f, 0.994521976f}, {0.117536999f, 0.993067980f}, {0.130526006f, 0.991445005f}, {0.143492997f, 0.989651024f}, {0.156434000f, 0.987688005f}, {0.169349998f, 0.985556006f}, {0.182236001f, 0.983255029f}, {0.195089996f, 0.980785012f}, {0.207911998f, 0.978147984f}, {0.220697001f, 0.975341976f}, {0.233445004f, 0.972370028f}, {0.246152997f, 0.969231009f}, {0.258819014f, 0.965925992f}, {0.271439999f, 0.962454975f}, {0.284015000f, 0.958819985f}, {0.296541989f, 0.955020010f}, {0.309017003f, 0.951057017f}, {0.321438998f, 0.946929991f}, {0.333806992f, 0.942641020f}, {0.346116990f, 0.938190997f}, {0.358368009f, 0.933579981f}, {0.370557010f, 0.928810000f}, {0.382683009f, 0.923879981f}, {0.394744009f, 0.918790996f}, {0.406737000f, 0.913545012f}, {0.418660015f, 0.908142984f}, {0.430510998f, 0.902585030f}, {0.442288995f, 0.896872997f}, {0.453990012f, 0.891007006f}, {0.465615004f, 0.884988010f}, {0.477158993f, 0.878817022f}, {0.488620996f, 0.872496009f}, {0.500000000f, 0.866024971f}, {0.511292994f, 0.859405994f}, {0.522499025f, 0.852639973f}, {0.533614993f, 0.845727980f}, {0.544638991f, 0.838671029f}, {0.555570006f, 0.831470013f}, {0.566406012f, 0.824126005f}, {0.577144980f, 0.816641986f}, {0.587785006f, 0.809017003f}, {0.598325014f, 0.801253974f}, {0.608761013f, 0.793353021f}, {0.619094014f, 0.785317004f}, {0.629320025f, 0.777145982f}, {0.639438987f, 0.768841982f}, {0.649447978f, 0.760406017f}, {0.659345984f, 0.751839995f}, {0.669130981f, 0.743144989f}, {0.678801000f, 0.734322011f}, {0.688355029f, 0.725373983f}, {0.697790027f, 0.716301978f}, {0.707107008f, 0.707107008f}, {0.716301978f, 0.6977900
\ No newline at end of file
}, {0.382683, 0.923880}, {0.394744, 0.918791}, {0.406737, 0.913545}, {0.418660, 0.908143}, {0.430511, 0.902585}, {0.442289, 0.896873}, {0.453990, 0.891007}, {0.465615, 0.884988}, {0.477159, 0.878817}, {0.488621, 0.872496}, {0.500000, 0.866025}, {0.511293, 0.859406}, {0.522499, 0.852640}, {0.533615, 0.845728}, {0.544639, 0.838671}, {0.555570, 0.831470}, {0.566406, 0.824126}, {0.577145, 0.816642}, {0.587785, 0.809017}, {0.598325, 0.801254}, {0.608761, 0.793353}, {0.619094, 0.785317}, {0.629320, 0.777146}, {0.639439, 0.768842}, {0.649448, 0.760406}, {0.659346, 0.751840}, {0.669131, 0.743145}, {0.678801, 0.734322}, {0.688355, 0.725374}, {0.697790, 0.716302}, {0.707107, 0.707107}, {0.716302, 0.697790}, {0.725374, 0.688355}, {0.734322, 0.678801}, {0.743145, 0.669131}, {0.751840, 0.659346}, {0.760406, 0.649448}, {0.768842, 0.639439}, {0.777146, 0.629320}, {0.785317, 0.619094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
#ifndef FFT_BITREV480
#define FFT_BITREV480
@@ -81,7 +81,7 @@
9, 0.878817}, {0.488621, 0.872496}, {0.500000, 0.866025}, {0.511293, 0.859406}, {0.522499, 0.852640}, {0.533615, 0.845728}, {0.544639, 0.838671}, {0.555570, 0.831470}, {0.566406, 0.824126}, {0.577145, 0.816642}, {0.587785, 0.809017}, {0.598325, 0.801254}, {0.608761, 0.793353}, {0.619094, 0.785317}, {0.629320, 0.777146}, {0.639439, 0.768842}, {0.649448, 0.760406}, {0.659346, 0.751840}, {0.669131, 0.743145}, {0.678801, 0.734322}, {0.688355, 0.725374}, {0.697790, 0.716302}, {0.707107, 0.707107}, {0.716302, 0.697790}, {0.725374, 0.688355}, {0.734322, 0.678801}, {0.743145, 0.669131}, {0.751840, 0.659346}, {0.760406, 0.649448}, {0.768842, 0.639439}, {0.777146, 0.629320}, {0.785317, 0.619094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
#ifndef FFT_BITREV480
#define FFT_BITREV480
-0}, {0.533615, 0.845728}, {0.544639, 0.838671}, {0.555570, 0.831470}, {0.566406, 0.824126}, {0.577145, 0.816642}, {0.587785, 0.809017}, {0.598325, 0.801254}, {0.608761, 0.793353}, {0.619094, 0.785317}, {0.629320, 0.777146}, {0.639439, 0.768842}, {0.649448, 0.760406}, {0.659346, 0.751840}, {0.669131, 0.743145}, {0.678801, 0.734322}, {0.688355, 0.725374}, {0.697790, 0.716302}, {0.707107, 0.707107}, {0.716302, 0.697790}, {0.725374, 0.688355}, {0.734322, 0.678801}, {0.743145, 0.669131}, {0.751840, 0.659346}, {0.760406, 0.649448}, {0.768842, 0.639439}, {0.777146, 0.629320}, {0.785317, 0.619094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
+000f}, {-0.725373983f, 0.688355029f}, {-0.716301978f, 0.697790027f}, {-0.707107008f, 0.707107008f}, {-0.697790027f, 0.716301978f}, {-0.688355029f, 0.725373983f}, {-0.678801000f, 0.734322011f}, {-0.669130981f, 0.743144989f}, {-0.659345984f, 0.751839995f}, {-0.649447978f, 0.760406017f}, {-0.639438987f, 0.768841982f}, {-0.629320025f, 0.777145982f}, {-0.619094014f, 0.785317004f}, {-0.608761013f, 0.793353021f}, {-0.598325014f, 0.801253974f}, {-0.587785006f, 0.809017003f}, {-0.577144980f, 0.816641986f}, {-0.566406012f, 0.824126005f}, {-0.555570006f, 0.831470013f}, {-0.544638991f, 0.838671029f}, {-0.533614993f, 0.845727980f}, {-0.522499025f, 0.852639973f}, {-0.511292994f, 0.859405994f}, {-0.500000000f, 0.866024971f}, {-0.488620996f, 0.872496009f}, {-0.477158993f, 0.878817022f}, {-0.465615004f, 0.884988010f}, {-0.453990012f, 0.891007006f}, {-0.442288995f, 0.896872997f}, {-0.430510998f, 0.902585030f}, {-0.418660015f, 0.908142984f}, {-0.406737000f, 0.913545012f}, {-0.394744009f, 0.918790996f}, {-0.382683009f, 0.923879981f}, {-0.370557010f, 0.928810000f}, {-0.358368009f, 0.933579981f}, {-0.346116990f, 0.938190997f}, {-0.333806992f, 0.942641020f}, {-0.321438998f, 0.946929991f}, {-0.309017003f, 0.951057017f}, {-0.296541989f, 0.955020010f}, {-0.284015000f, 0.958819985f}, {-0.271439999f, 0.962454975f}, {-0.258819014f, 0.965925992f}, {-0.246152997f, 0.969231009f}, {-0.233445004f, 0.972370028f}, {-0.220697001f, 0.975341976f}, {-0.207911998f, 0.978147984f}, {-0.195089996f, 0.980785012f}, {-0.182236001f, 0.983255029f}, {-0.169349998f, 0.985556006f}, {-0.156434000f, 0.987688005f}, {-0.143492997f, 0.989651024f}, {-0.130526006f, 0.991445005f}, {-0.117536999f, 0.993067980f}, {-0.104528002f, 0.994521976f}, {-0.091502003f, 0.995805025f}, {-0.078459002f, 0.996917009f}, {-0.065403000f, 0.997859001f}, {-0.052336000f, 0.998629987f}, {-0.039260000f, 0.999229014f}, {-0.026177000f, 0.999656975f}, {-0.013090000f, 0.999913990f}, {-0.000000000f, 1.000000000f}, {0.013090000f, 0.999913990f}, {0.026177000f, 0.999656975f}, {0.039260000f, 0.999229014f}, {0.052336000f, 0.998629987f}, {0.065403000f, 0.997859001f}, {0.078459002f, 0.996917009f}, {0.091502003f, 0.995805025f}, {0.104528002f, 0.994521976f}, {0.117536999f, 0.993067980f}, {0.130526006f, 0.991445005f}, {0.143492997f, 0.989651024f}, {0.156434000f, 0.987688005f}, {0.169349998f, 0.985556006f}, {0.182236001f, 0.983255029f}, {0.195089996f, 0.980785012f}, {0.207911998f, 0.978147984f}, {0.220697001f, 0.975341976f}, {0.233445004f, 0.972370028f}, {0.246152997f, 0.969231009f}, {0.258819014f, 0.965925992f}, {0.271439999f, 0.962454975f}, {0.284015000f, 0.958819985f}, {0.296541989f, 0.955020010f}, {0.309017003f, 0.951057017f}, {0.321438998f, 0.946929991f}, {0.333806992f, 0.942641020f}, {0.346116990f, 0.938190997f}, {0.358368009f, 0.933579981f}, {0.370557010f, 0.928810000f}, {0.382683009f, 0.923879981f}, {0.394744009f, 0.918790996f}, {0.406737000f, 0.913545012f}, {0.418660015f, 0.908142984f}, {0.430510998f, 0.902585030f}, {0.442288995f, 0.896872997f}, {0.453990012f, 0.891007006f}, {0.465615004f, 0.884988010f}, {0.477158993f, 0.878817022f}, {0.488620996f, 0.872496009f}, {0.500000000f, 0.866024971f}, {0.511292994f, 0.859405994f}, {0.522499025f, 0.852639973f}, {0.533614993f, 0.845727980f}, {0.544638991f, 0.838671029f}, {0.555570006f, 0.831470013f}, {0.566406012f, 0.824126005f}, {0.577144980f, 0.816641986f}, {0.587785006f, 0.809017003f}, {0.598325014f, 0.801253974f}, {0.608761013f, 0.793353021f}, {0.619094014f, 0.785317004f}, {0.629320025f, 0.777145982f}, {0.639438987f, 0.768841982f}, {0.649447978f, 0.760406017f}, {0.659345984f, 0.751839995f}, {0.669130981f, 0.743144989f}, {0.678801000f, 0.734322011f}, {0.688355029f, 0.725373983f}, {0.697790027f, 0.716301978f}, {0.707107008f, 0.707107008f}, {0.716301978f, 0.697790027f}, {0.725373983f, 0.688355029f}, {0.734322011f, 0.678801000f}, {0.743144989f, 0.669130981f}, {0.751839995f, 0.659345984f}, {0.760406017f, 0.649447978f}, {0.768841982f, 0.639438987f}, {0.777145982f, 0.629320025f}, {0.785317004f, 0.619094014f}, {0.793353021f, 0.608761013f}, {0.801253974f, 0.598325014f}, {0.80
\ No newline at end of file
8}, {0.544639, 0.838671}, {0.555570, 0.831470}, {0.566406, 0.824126}, {0.577145, 0.816642}, {0.587785, 0.809017}, {0.598325, 0.801254}, {0.608761, 0.793353}, {0.619094, 0.785317}, {0.629320, 0.777146}, {0.639439, 0.768842}, {0.649448, 0.760406}, {0.659346, 0.751840}, {0.669131, 0.743145}, {0.678801, 0.734322}, {0.688355, 0.725374}, {0.697790, 0.716302}, {0.707107, 0.707107}, {0.716302, 0.697790}, {0.725374, 0.688355}, {0.734322, 0.678801}, {0.743145, 0.669131}, {0.751840, 0.659346}, {0.760406, 0.649448}, {0.768842, 0.639439}, {0.777146, 0.629320}, {0.785317, 0.619094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
#ifndef FFT_BITREV480
#define FFT_BITREV480
@@ -93,7 +93,7 @@
20, 0.777146}, {0.639439, 0.768842}, {0.649448, 0.760406}, {0.659346, 0.751840}, {0.669131, 0.743145}, {0.678801, 0.734322}, {0.688355, 0.725374}, {0.697790, 0.716302}, {0.707107, 0.707107}, {0.716302, 0.697790}, {0.725374, 0.688355}, {0.734322, 0.678801}, {0.743145, 0.669131}, {0.751840, 0.659346}, {0.760406, 0.649448}, {0.768842, 0.639439}, {0.777146, 0.629320}, {0.785317, 0.619094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
#ifndef FFT_BITREV480
#define FFT_BITREV480
-145}, {0.678801, 0.734322}, {0.688355, 0.725374}, {0.697790, 0.716302}, {0.707107, 0.707107}, {0.716302, 0.697790}, {0.725374, 0.688355}, {0.734322, 0.678801}, {0.743145, 0.669131}, {0.751840, 0.659346}, {0.760406, 0.649448}, {0.768842, 0.639439}, {0.777146, 0.629320}, {0.785317, 0.619094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
+982f}, {-0.629320025f, 0.777145982f}, {-0.619094014f, 0.785317004f}, {-0.608761013f, 0.793353021f}, {-0.598325014f, 0.801253974f}, {-0.587785006f, 0.809017003f}, {-0.577144980f, 0.816641986f}, {-0.566406012f, 0.824126005f}, {-0.555570006f, 0.831470013f}, {-0.544638991f, 0.838671029f}, {-0.533614993f, 0.845727980f}, {-0.522499025f, 0.852639973f}, {-0.511292994f, 0.859405994f}, {-0.500000000f, 0.866024971f}, {-0.488620996f, 0.872496009f}, {-0.477158993f, 0.878817022f}, {-0.465615004f, 0.884988010f}, {-0.453990012f, 0.891007006f}, {-0.442288995f, 0.896872997f}, {-0.430510998f, 0.902585030f}, {-0.418660015f, 0.908142984f}, {-0.406737000f, 0.913545012f}, {-0.394744009f, 0.918790996f}, {-0.382683009f, 0.923879981f}, {-0.370557010f, 0.928810000f}, {-0.358368009f, 0.933579981f}, {-0.346116990f, 0.938190997f}, {-0.333806992f, 0.942641020f}, {-0.321438998f, 0.946929991f}, {-0.309017003f, 0.951057017f}, {-0.296541989f, 0.955020010f}, {-0.284015000f, 0.958819985f}, {-0.271439999f, 0.962454975f}, {-0.258819014f, 0.965925992f}, {-0.246152997f, 0.969231009f}, {-0.233445004f, 0.972370028f}, {-0.220697001f, 0.975341976f}, {-0.207911998f, 0.978147984f}, {-0.195089996f, 0.980785012f}, {-0.182236001f, 0.983255029f}, {-0.169349998f, 0.985556006f}, {-0.156434000f, 0.987688005f}, {-0.143492997f, 0.989651024f}, {-0.130526006f, 0.991445005f}, {-0.117536999f, 0.993067980f}, {-0.104528002f, 0.994521976f}, {-0.091502003f, 0.995805025f}, {-0.078459002f, 0.996917009f}, {-0.065403000f, 0.997859001f}, {-0.052336000f, 0.998629987f}, {-0.039260000f, 0.999229014f}, {-0.026177000f, 0.999656975f}, {-0.013090000f, 0.999913990f}, {-0.000000000f, 1.000000000f}, {0.013090000f, 0.999913990f}, {0.026177000f, 0.999656975f}, {0.039260000f, 0.999229014f}, {0.052336000f, 0.998629987f}, {0.065403000f, 0.997859001f}, {0.078459002f, 0.996917009f}, {0.091502003f, 0.995805025f}, {0.104528002f, 0.994521976f}, {0.117536999f, 0.993067980f}, {0.130526006f, 0.991445005f}, {0.143492997f, 0.989651024f}, {0.156434000f, 0.987688005f}, {0.169349998f, 0.985556006f}, {0.182236001f, 0.983255029f}, {0.195089996f, 0.980785012f}, {0.207911998f, 0.978147984f}, {0.220697001f, 0.975341976f}, {0.233445004f, 0.972370028f}, {0.246152997f, 0.969231009f}, {0.258819014f, 0.965925992f}, {0.271439999f, 0.962454975f}, {0.284015000f, 0.958819985f}, {0.296541989f, 0.955020010f}, {0.309017003f, 0.951057017f}, {0.321438998f, 0.946929991f}, {0.333806992f, 0.942641020f}, {0.346116990f, 0.938190997f}, {0.358368009f, 0.933579981f}, {0.370557010f, 0.928810000f}, {0.382683009f, 0.923879981f}, {0.394744009f, 0.918790996f}, {0.406737000f, 0.913545012f}, {0.418660015f, 0.908142984f}, {0.430510998f, 0.902585030f}, {0.442288995f, 0.896872997f}, {0.453990012f, 0.891007006f}, {0.465615004f, 0.884988010f}, {0.477158993f, 0.878817022f}, {0.488620996f, 0.872496009f}, {0.500000000f, 0.866024971f}, {0.511292994f, 0.859405994f}, {0.522499025f, 0.852639973f}, {0.533614993f, 0.845727980f}, {0.544638991f, 0.838671029f}, {0.555570006f, 0.831470013f}, {0.566406012f, 0.824126005f}, {0.577144980f, 0.816641986f}, {0.587785006f, 0.809017003f}, {0.598325014f, 0.801253974f}, {0.608761013f, 0.793353021f}, {0.619094014f, 0.785317004f}, {0.629320025f, 0.777145982f}, {0.639438987f, 0.768841982f}, {0.649447978f, 0.760406017f}, {0.659345984f, 0.751839995f}, {0.669130981f, 0.743144989f}, {0.678801000f, 0.734322011f}, {0.688355029f, 0.725373983f}, {0.697790027f, 0.716301978f}, {0.707107008f, 0.707107008f}, {0.716301978f, 0.697790027f}, {0.725373983f, 0.688355029f}, {0.734322011f, 0.678801000f}, {0.743144989f, 0.669130981f}, {0.751839995f, 0.659345984f}, {0.760406017f, 0.649447978f}, {0.768841982f, 0.639438987f}, {0.777145982f, 0.629320025f}, {0.785317004f, 0.619094014f}, {0.793353021f, 0.608761013f}, {0.801253974f, 0.598325014f}, {0.809017003f, 0.587785006f}, {0.816641986f, 0.577144980f}, {0.824126005f, 0.566406012f}, {0.831470013f, 0.555570006f}, {0.838671029f, 0.544638991f}, {0.845727980f, 0.533614993f}, {0.852639973f, 0.522499025f}, {0.859405994f, 0.511292994f}, {0.866024971f, 0.500000000f}, {0.872496009f, 0.488620996f}, {0.878817022f,
\ No newline at end of file
322}, {0.688355, 0.725374}, {0.697790, 0.716302}, {0.707107, 0.707107}, {0.716302, 0.697790}, {0.725374, 0.688355}, {0.734322, 0.678801}, {0.743145, 0.669131}, {0.751840, 0.659346}, {0.760406, 0.649448}, {0.768842, 0.639439}, {0.777146, 0.629320}, {0.785317, 0.619094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
#ifndef FFT_BITREV480
#define FFT_BITREV480
@@ -106,7 +106,7 @@
51840, 0.659346}, {0.760406, 0.649448}, {0.768842, 0.639439}, {0.777146, 0.629320}, {0.785317, 0.619094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
#ifndef FFT_BITREV480
#define FFT_BITREV480
-094}, {0.793353, 0.608761}, {0.801254, 0.598325}, {0.809017, 0.587785}, {0.816642, 0.577145}, {0.824126, 0.566406}, {0.831470, 0.555570}, {0.838671, 0.544639}, {0.845728, 0.533615}, {0.852640, 0.522499}, {0.859406, 0.511293}, {0.866025, 0.500000}, {0.872496, 0.488621}, {0.878817, 0.477159}, {0.884988, 0.465615}, {0.891007, 0.453990}, {0.896873, 0.442289}, {0.902585, 0.430511}, {0.908143, 0.418660}, {0.913545, 0.406737}, {0.918791, 0.394744}, {0.923880, 0.382683}, {0.928810, 0.370557}, {0.933580, 0.358368}, {0.938191, 0.346117}, {0.942641, 0.333807}, {0.946930, 0.321439}, {0.951057, 0.309017}, {0.955020, 0.296542}, {0.958820, 0.284015}, {0.962455, 0.271440}, {0.965926, 0.258819}, {0.969231, 0.246153}, {0.972370, 0.233445}, {0.975342, 0.220697}, {0.978148, 0.207912}, {0.980785, 0.195090}, {0.983255, 0.182236}, {0.985556, 0.169350}, {0.987688, 0.156434}, {0.989651, 0.143493}, {0.991445, 0.130526}, {0.993068, 0.117537}, {0.994522, 0.104528}, {0.995805, 0.091502}, {0.996917, 0.078459}, {0.997859, 0.065403}, {0.998630, 0.052336}, {0.999229, 0.039260}, {0.999657, 0.026177}, {0.999914, 0.013090}, };
+533614993f, 0.845727980f}, {-0.522499025f, 0.852639973f}, {-0.511292994f, 0.859405994f}, {-0.500000000f, 0.866024971f}, {-0.488620996f, 0.872496009f}, {-0.477158993f, 0.878817022f}, {-0.465615004f, 0.884988010f}, {-0.453990012f, 0.891007006f}, {-0.442288995f, 0.896872997f}, {-0.430510998f, 0.902585030f}, {-0.418660015f, 0.908142984f}, {-0.406737000f, 0.913545012f}, {-0.394744009f, 0.918790996f}, {-0.382683009f, 0.923879981f}, {-0.370557010f, 0.928810000f}, {-0.358368009f, 0.933579981f}, {-0.346116990f, 0.938190997f}, {-0.333806992f, 0.942641020f}, {-0.321438998f, 0.946929991f}, {-0.309017003f, 0.951057017f}, {-0.296541989f, 0.955020010f}, {-0.284015000f, 0.958819985f}, {-0.271439999f, 0.962454975f}, {-0.258819014f, 0.965925992f}, {-0.246152997f, 0.969231009f}, {-0.233445004f, 0.972370028f}, {-0.220697001f, 0.975341976f}, {-0.207911998f, 0.978147984f}, {-0.195089996f, 0.980785012f}, {-0.182236001f, 0.983255029f}, {-0.169349998f, 0.985556006f}, {-0.156434000f, 0.987688005f}, {-0.143492997f, 0.989651024f}, {-0.130526006f, 0.991445005f}, {-0.117536999f, 0.993067980f}, {-0.104528002f, 0.994521976f}, {-0.091502003f, 0.995805025f}, {-0.078459002f, 0.996917009f}, {-0.065403000f, 0.997859001f}, {-0.052336000f, 0.998629987f}, {-0.039260000f, 0.999229014f}, {-0.026177000f, 0.999656975f}, {-0.013090000f, 0.999913990f}, {-0.000000000f, 1.000000000f}, {0.013090000f, 0.999913990f}, {0.026177000f, 0.999656975f}, {0.039260000f, 0.999229014f}, {0.052336000f, 0.998629987f}, {0.065403000f, 0.997859001f}, {0.078459002f, 0.996917009f}, {0.091502003f, 0.995805025f}, {0.104528002f, 0.994521976f}, {0.117536999f, 0.993067980f}, {0.130526006f, 0.991445005f}, {0.143492997f, 0.989651024f}, {0.156434000f, 0.987688005f}, {0.169349998f, 0.985556006f}, {0.182236001f, 0.983255029f}, {0.195089996f, 0.980785012f}, {0.207911998f, 0.978147984f}, {0.220697001f, 0.975341976f}, {0.233445004f, 0.972370028f}, {0.246152997f, 0.969231009f}, {0.258819014f, 0.965925992f}, {0.271439999f, 0.962454975f}, {0.284015000f, 0.958819985f}, {0.296541989f, 0.955020010f}, {0.309017003f, 0.951057017f}, {0.321438998f, 0.946929991f}, {0.333806992f, 0.942641020f}, {0.346116990f, 0.938190997f}, {0.358368009f, 0.933579981f}, {0.370557010f, 0.928810000f}, {0.382683009f, 0.923879981f}, {0.394744009f, 0.918790996f}, {0.406737000f, 0.913545012f}, {0.418660015f, 0.908142984f}, {0.430510998f, 0.902585030f}, {0.442288995f, 0.896872997f}, {0.453990012f, 0.891007006f}, {0.465615004f, 0.884988010f}, {0.477158993f, 0.878817022f}, {0.488620996f, 0.872496009f}, {0.500000000f, 0.866024971f}, {0.511292994f, 0.859405994f}, {0.522499025f, 0.852639973f}, {0.533614993f, 0.845727980f}, {0.544638991f, 0.838671029f}, {0.555570006f, 0.831470013f}, {0.566406012f, 0.824126005f}, {0.577144980f, 0.816641986f}, {0.587785006f, 0.809017003f}, {0.598325014f, 0.801253974f}, {0.608761013f, 0.793353021f}, {0.619094014f, 0.785317004f}, {0.629320025f, 0.777145982f}, {0.639438987f, 0.768841982f}, {0.649447978f, 0.760406017f}, {0.659345984f, 0.751839995f}, {0.669130981f, 0.743144989f}, {0.678801000f, 0.734322011f}, {0.688355029f, 0.725373983f}, {0.697790027f, 0.716301978f}, {0.707107008f, 0.707107008f}, {0.716301978f, 0.697790027f}, {0.725373983f, 0.688355029f}, {0.734322011f, 0.678801000f}, {0.743144989f, 0.669130981f}, {0.751839995f, 0.659345984f}, {0.760406017f, 0.649447978f}, {0.768841982f, 0.639438987f}, {0.777145982f, 0.629320025f}, {0.785317004f, 0.619094014f}, {0.793353021f, 0.608761013f}, {0.801253974f, 0.598325014f}, {0.809017003f, 0.587785006f}, {0.816641986f, 0.577144980f}, {0.824126005f, 0.566406012f}, {0.831470013f, 0.555570006f}, {0.838671029f, 0.544638991f}, {0.845727980f, 0.533614993f}, {0.852639973f, 0.522499025f}, {0.859405994f, 0.511292994f}, {0.866024971f, 0.500000000f}, {0.872496009f, 0.488620996f}, {0.878817022f, 0.477158993f}, {0.884988010f, 0.465615004f}, {0.891007006f, 0.453990012f}, {0.896872997f, 0.442288995f}, {0.902585030f, 0.430510998f}, {0.908142984f, 0.418660015f}, {0.913545012f, 0.406737000f}, {0.918790996f, 0.394744009f}, {0.923879981f, 0.382683009f}, {0.928810000f, 0.370557010f}, {0.93
\ No newline at end of file
227, 7, 67, 127, 187, 22, 82, 142, 202, 37, 97, 157, 217, 52, 112, 172, 232, 12, 72, 132, 192, 27, 87, 147, 207, 42, 102, 162, 222, 57, 117, 177, 237, 3, 63, 123, 183, 18, 78, 138, 198, 33, 93, 153, 213, 48, 108, 168, 228, 8, 68, 128, 188, 23, 83, 143, 203, 38, 98, 158, 218, 53, 113, 173, 233, 13, 73, 133, 193, 28, 88, 148, 208, 43, 103, 163, 223, 58, 118, 178, 238, 4, 64, 124, 184, 19, 79, 139, 199, 34, 94, 154, 214, 49, 109, 169, 229, 9, 69, 129, 189, 24, 84, 144, 204, 39, 99, 159, 219, 54, 114, 174, 234, 14, 74, 134, 194, 29, 89, 149, 209, 44, 104, 164, 224, 59, 119, 179, 239, };
#endif
@@ -114,7 +114,7 @@
72, 232, 12, 72, 132, 192, 27, 87, 147, 207, 42, 102, 162, 222, 57, 117, 177, 237, 3, 63, 123, 183, 18, 78, 138, 198, 33, 93, 153, 213, 48, 108, 168, 228, 8, 68, 128, 188, 23, 83, 143, 203, 38, 98, 158, 218, 53, 113, 173, 233, 13, 73, 133, 193, 28, 88, 148, 208, 43, 103, 163, 223, 58, 118, 178, 238, 4, 64, 124, 184, 19, 79, 139, 199, 34, 94, 154, 214, 49, 109, 169, 229, 9, 69, 129, 189, 24, 84, 144, 204, 39, 99, 159, 219, 54, 114, 174, 234, 14, 74, 134, 194, 29, 89, 149, 209, 44, 104, 164, 224, 59, 119, 179, 239, };
#endif
- 222, 57, 117, 177, 237, 3, 63, 123, 183, 18, 78, 138, 198, 33, 93, 153, 213, 48, 108, 168, 228, 8, 68, 128, 188, 23, 83, 143, 203, 38, 98, 158, 218, 53, 113, 173, 233, 13, 73, 133, 193, 28, 88, 148, 208, 43, 103, 163, 223, 58, 118, 178, 238, 4, 64, 124, 184, 19, 79, 139, 199, 34, 94, 154, 214, 49, 109, 169, 229, 9, 69, 129, 189, 24, 84, 144, 204, 39, 99, 159, 219, 54, 114, 174, 234, 14, 74, 134, 194, 29, 89, 149, 209, 44, 104, 164, 224, 59, 119, 179, 239, };
+7f, 0.309017003f}, {0.955020010f, 0.296541989f}, {0.958819985f, 0.284015000f}, {0.962454975f, 0.271439999f}, {0.965925992f, 0.258819014f}, {0.969231009f, 0.246152997f}, {0.972370028f, 0.233445004f}, {0.975341976f, 0.220697001f}, {0.978147984f, 0.207911998f}, {0.980785012f, 0.195089996f}, {0.983255029f, 0.182236001f}, {0.985556006f, 0.169349998f}, {0.987688005f, 0.156434000f}, {0.989651024f, 0.143492997f}, {0.991445005f, 0.130526006f}, {0.993067980f, 0.117536999f}, {0.994521976f, 0.104528002f}, {0.995805025f, 0.091502003f}, {0.996917009f, 0.078459002f}, {0.997859001f, 0.065403000f}, {0.998629987f, 0.052336000f}, {0.999229014f, 0.039260000f}, {0.999656975f, 0.026177000f}, {0.999913990f, 0.013090000f}, };
, 33, 93, 153, 213, 48, 108, 168, 228, 8, 68, 128, 188, 23, 83, 143, 203, 38, 98, 158, 218, 53, 113, 173, 233, 13, 73, 133, 193, 28, 88, 148, 208, 43, 103, 163, 223, 58, 118, 178, 238, 4, 64, 124, 184, 19, 79, 139, 199, 34, 94, 154, 214, 49, 109, 169, 229, 9, 69, 129, 189, 24, 84, 144, 204, 39, 99, 159, 219, 54, 114, 174, 234, 14, 74, 134, 194, 29, 89, 149, 209, 44, 104, 164, 224, 59, 119, 179, 239, };
#endif
--- a/libcelt/vq.c
+++ b/libcelt/vq.c
@@ -38,10 +38,6 @@
#include "bands.h"
#include "rate.h"
-#ifndef M_PI
-#define M_PI 3.141592653
-#endif
-
static void exp_rotation1(celt_norm *X, int len, int stride, opus_val16 c, opus_val16 s)
{
int i;
@@ -332,7 +328,6 @@
RESTORE_STACK;
return collapse_mask;
}
-
/** Decode pulse vector and combine the result with the pitch vector to produce
the final normalised signal in the current band. */
--- a/silk/float/silk_LTP_scale_ctrl_FLP.c
+++ b/silk/float/silk_LTP_scale_ctrl_FLP.c
@@ -36,7 +36,7 @@
/* 1st order high-pass filter */
//g_HP(n) = g(n) - 0.5 * g(n-1) + 0.5 * g_HP(n-1);
- psEnc->HPLTPredCodGain = SKP_max_float( psEncCtrl->LTPredCodGain - 0.5 * psEnc->prevLTPredCodGain, 0.0f )
+ psEnc->HPLTPredCodGain = SKP_max_float( psEncCtrl->LTPredCodGain - 0.5f * psEnc->prevLTPredCodGain, 0.0f )
+ 0.5f * psEnc->HPLTPredCodGain;
psEnc->prevLTPredCodGain = psEncCtrl->LTPredCodGain;