📄 main.c
字号:
S16 sStep = rand();
U16 shft = ((U16)rand()) & 0x1f;
if (sStep < 0) sStep = -sStep;
sStep >>= 3;
slC = rand() + ((S32)rand()) << 16;
if (slC < 0) slC = -slC;
slC >>= shft;
if (slC == 0) slC = 1;
// slC = 0x20000000L; sStep = 2048;
slA = slC;
sC = _invertC((S32*)&slC, sStep);
sA = _invert((S32*)&slA, sStep);
if (sC != sA) sErr++;
if (slC != slA) sErr++;
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 221)
{
void gaec_get_energy2C(GAEC_tDb *pDb,S16 blk);
void gaec_get_energy2 (GAEC_tDb *pDb,S16 blk);
for (k = 0; k < 221; k++)
{
S16 blk = rand() % GAEC_BLKS;
S16 amp = 200;//abs(rand()) % 8200;
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2*GAEC_BANDS, amp);
// memset(GaecDbC.psRcv, 200, GAEC_RCV_SZ*2*GAEC_BANDS);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ*2*GAEC_BANDS);
gaec_get_energy2C(&GaecDbC, blk);
gaec_get_energy2 (&GaecDbA, blk);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 222)
{
extern void gaec_adapt_dc2p (GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk, S16 band);
extern void gaec_adapt_dc2pC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk, S16 band);
extern void gaec_get_energy2(GAEC_tDb *pDb,S16 blk);
GaecDbC.aslAdEn[0] = GaecDbA.aslAdEn[0] = 0x30;
GaecDbC.aslEn2[0] = GaecDbA.aslEn2[0] = 0x30L;
for (k = 0; k < 2220; k++)
{
S16 blk = rand() % GAEC_BLKS;
S16 amp = 820;//abs(rand()) % 8200;
S16 zer = rand() % 5;
memset(GaecScC.u.aA2, 0, sizeof(GAEC_tScA2));
memset(GaecScA.u.aA2, 0, sizeof(GAEC_tScA2));
GaecScC.asSSC[0] = GaecScA.asSSC[0] = 2000;
GaecDbC.asShft[0] = GaecDbA.asShft[0] = (rand()%7) - 3;
if (zer == 0)
GaecScC.asSSC[0] = GaecScA.asSSC[0] = 0;
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ/*2*GAEC_BANDS*/, amp);
// memset(GaecDbC.psRcv, 200, GAEC_RCV_SZ/*2*GAEC_BANDS*/);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ/*2*GAEC_BANDS*/);
gaec_get_energy2(&GaecDbC, blk);
gaec_get_energy2(&GaecDbA, blk);
fill_rand(&GaecScC.aasErr[0][0], GAEC_BLKS, amp/4);
// memset(&GaecScC.aasErr[0][0], 34, GAEC_BLKS);
memcpy(&GaecScA.aasErr[0][0], &GaecScC.aasErr[0][0], GAEC_BLKS);
gaec_adapt_dc2pC(&GaecDbC, &GaecScC, blk, 0);
gaec_adapt_dc2p (&GaecDbA, &GaecScA, blk, 0);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 223)
{
extern void gaec_adapt_dc2dC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk, S16 band);
extern void gaec_adapt_dc2pC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk, S16 band);
GaecDbC.aslAdEn[0] = GaecDbA.aslAdEn[0] = 0x30;
GaecDbC.aslEn2[0] = GaecDbA.aslEn2[0] = 0x300L;
for (k = 0; k < 223; k++)
{
S16 blk = rand() % GAEC_BLKS;
S16 amp = abs(rand()) % 8200;
S16 zer = rand() % 5;
memset(GaecScC.u.aA2, 0, sizeof(GAEC_tScA2));
memset(GaecScA.u.aA2, 0, sizeof(GAEC_tScA2));
GaecScC.asSSC[0] = GaecScA.asSSC[0] = rand()&4095;
GaecDbC.asShft[0] = GaecDbA.asShft[0] = (rand()%7) - 3;
if (zer == 0)
GaecScC.asSSC[0] = GaecScA.asSSC[0] = 0;
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ/*2*GAEC_BANDS*/, amp);
// memset(GaecDbC.psRcv, 200, GAEC_RCV_SZ/*2*GAEC_BANDS*/);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ/*2*GAEC_BANDS*/);
gaec_get_energy2(&GaecDbC, blk);
gaec_get_energy2(&GaecDbA, blk);
fill_rand(&GaecScC.aasErr[0][0], GAEC_BLKS, amp/4);
// memset(&GaecScC.aasErr[0][0], 34, GAEC_BLKS);
memcpy(&GaecScA.aasErr[0][0], &GaecScC.aasErr[0][0], GAEC_BLKS);
gaec_adapt_dc2pC(&GaecDbC, &GaecScC, blk, 0);
gaec_adapt_dc2p (&GaecDbA, &GaecScA, blk, 0);
gaec_adapt_dc2dC(&GaecDbC, &GaecScC, blk, 0);
gaec_adapt_dc2d (&GaecDbA, &GaecScA, blk, 0);
sErr += compare(asAdfC, asAdfA, GAEC_ADF_SZ*GAEC_BANDS*2);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 224)
{
extern void gaec_adapt_dc2pC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk,S16 band);
extern void gaec_adapt_dc2dC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk,S16 band);
GaecDbC.aslAdEn[GAEC_BANDS] = GaecDbA.aslAdEn[GAEC_BANDS] = 0x30;
GaecDbC.aslEn2[GAEC_BANDS] = GaecDbA.aslEn2[GAEC_BANDS] = 0x30L;
for (k = 0; k < 224; k++)
{
S16 blk = rand() % GAEC_BLKS;
S16 amp = 8200;//abs(rand()) % 8200;
S16 zer = rand() % 5;
memset(GaecScC.u.aA2, 0, sizeof(GAEC_tScA2));
memset(GaecScA.u.aA2, 0, sizeof(GAEC_tScA2));
GaecScC.asSSC[GAEC_BANDS] = GaecScA.asSSC[GAEC_BANDS] = 2000;
if (zer == 0)
GaecScC.asSSC[GAEC_BANDS] = GaecScA.asSSC[GAEC_BANDS] = 0;
GaecDbC.asShft[GAEC_BANDS] =
GaecDbA.asShft[GAEC_BANDS] =
(rand()%7) - 3;
fill_rand(GaecDbC.psRcv+GAEC_RCV_SZ*GAEC_BANDS, GAEC_RCV_SZ/*2*GAEC_BANDS*/, amp);
memcpy (GaecDbA.psRcv+GAEC_RCV_SZ*GAEC_BANDS,
GaecDbC.psRcv+GAEC_RCV_SZ*GAEC_BANDS,
GAEC_RCV_SZ/*2*GAEC_BANDS*/);
gaec_get_energy2(&GaecDbC, blk);
gaec_get_energy2(&GaecDbA, blk);
fill_rand(&GaecScC.aasErr[GAEC_BANDS][0], GAEC_BLKS, amp/10);
memcpy(&GaecScA.aasErr[GAEC_BANDS][0], &GaecScC.aasErr[GAEC_BANDS][0], GAEC_BLKS);
gaec_adapt_dc2pC(&GaecDbC, &GaecScC, blk, GAEC_BANDS);
gaec_adapt_dc2p (&GaecDbA, &GaecScA, blk, GAEC_BANDS);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 225)
{
extern void gaec_adapt_dc2pC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk,S16 band);
extern void gaec_adapt_dc2dC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk,S16 band);
GaecDbC.aslAdEn[GAEC_BANDS] = GaecDbA.aslAdEn[GAEC_BANDS] = 0x30;
GaecDbC.aslEn2[GAEC_BANDS] = GaecDbA.aslEn2[GAEC_BANDS] = 0x30L;
for (k = 0; k < 225; k++)
{
S16 blk = rand() % GAEC_BLKS;
S16 amp = abs(rand()) % 8200;
S16 zer = rand() % 5;
memset(GaecScC.u.aA2, 0, sizeof(GAEC_tScA2));
memset(GaecScA.u.aA2, 0, sizeof(GAEC_tScA2));
GaecScC.asSSC[GAEC_BANDS] = GaecScA.asSSC[GAEC_BANDS] = rand() & 4095;
if (zer == 0)
GaecScC.asSSC[GAEC_BANDS] = GaecScA.asSSC[GAEC_BANDS] = 0;
GaecDbC.asShft[GAEC_BANDS] =
GaecDbA.asShft[GAEC_BANDS] =
(rand()%7) - 3;
fill_rand(GaecDbC.psRcv+GAEC_RCV_SZ*GAEC_BANDS, GAEC_RCV_SZ/*2*GAEC_BANDS*/, amp);
memcpy (GaecDbA.psRcv+GAEC_RCV_SZ*GAEC_BANDS,
GaecDbC.psRcv+GAEC_RCV_SZ*GAEC_BANDS,
GAEC_RCV_SZ/*2*GAEC_BANDS*/);
gaec_get_energy2(&GaecDbC, blk);
gaec_get_energy2(&GaecDbA, blk);
fill_rand(&GaecScC.aasErr[GAEC_BANDS][0], GAEC_BLKS, amp/10);
memcpy(&GaecScA.aasErr[GAEC_BANDS][0], &GaecScC.aasErr[GAEC_BANDS][0], GAEC_BLKS);
gaec_adapt_dc2pC(&GaecDbC, &GaecScC, blk, GAEC_BANDS);
gaec_adapt_dc2p (&GaecDbA, &GaecScA, blk, GAEC_BANDS);
gaec_adapt_dc2dC(&GaecDbC, &GaecScC, blk, GAEC_BANDS);
gaec_adapt_dc2d (&GaecDbA, &GaecScA, blk, GAEC_BANDS);
sErr += compare(asAdfC, asAdfA, GAEC_ADF_SZ*GAEC_BANDS*2);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 226)
{
extern void gaec_adapt_ac2pC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk);
extern void gaec_adapt_ac2dC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk);
S16 band;
GaecDbC.aslAdEn[0] = GaecDbA.aslAdEn[0] = 0x12345678L;
GaecScC.asSSC[0] = GaecScA.asSSC[0] = 0xdead;
GaecDbC.aslEn2[0] = GaecDbA.aslEn2[0] = 0x2345678L;
for (band = 1; band < GAEC_BANDS; band++)
{
GaecDbC.aslAdEn[band] = GaecDbA.aslAdEn[band] = 0x30;
GaecDbC.aslEn2[band] = GaecDbA.aslEn2[band] = 0x30000L;
}
for (k = 0; k < 226; k++)
{
S16 blk = rand() % GAEC_BLKS;
S16 amp = abs(rand()) % 8200;
S16 band0;
memset(GaecScC.u.aA2, 0, sizeof(GaecScC.u.aA2));
memset(GaecScA.u.aA2, 0, sizeof(GaecScA.u.aA2));
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2*GAEC_BANDS, amp);
// fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2, amp);
// memset(GaecDbC.psRcv, 6000, GAEC_RCV_SZ*2);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ*2*GAEC_BANDS);
gaec_get_energy2(&GaecDbC, blk);
gaec_get_energy2(&GaecDbA, blk);
for (band = 1; band < GAEC_BANDS; band++)
{
GaecScC.asSSC[band] = GaecScA.asSSC[band] = rand() & 4095;
GaecDbC.asShft[band] =
GaecDbA.asShft[band] =
(rand()%7) - 3;
}
band0 = rand() % GAEC_BANDS;
GaecScC.asSSC[band0] = GaecScA.asSSC[band0] = 0;
fill_rand(&GaecScC.aasErr[0][0], GAEC_BANDS*GAEC_BLKS*2, amp/10);
memcpy(&GaecScA.aasErr[0][0], &GaecScC.aasErr[0][0], GAEC_BLKS*GAEC_BANDS*2);
gaec_adapt_ac2pC(&GaecDbC, &GaecScC, blk);
gaec_adapt_ac2p (&GaecDbA, &GaecScA, blk);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 227)
{
extern void gaec_adapt_ac2pC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk);
extern void gaec_adapt_ac2dC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk);
S16 band;
GaecDbC.aslAdEn[0] = GaecDbA.aslAdEn[0] = 0x12345678L;
GaecScC.asSSC[0] = GaecScA.asSSC[0] = 0xdead;
GaecDbC.aslEn2[0] = GaecDbA.aslEn2[0] = 0x2345678L;
for (band = 1; band < GAEC_BANDS; band++)
{
GaecDbC.aslAdEn[band] = GaecDbA.aslAdEn[band] = 0x30;
GaecDbC.aslEn2[band] = GaecDbA.aslEn2[band] = 0x30000L;
}
for (k = 0; k < 227; k++)
{
S16 blk = rand() % GAEC_BLKS;
S16 amp = rand() & 8191;
S16 band0;
memset(GaecScC.u.aA2, 0, sizeof(GaecScC.u.aA2));
memset(GaecScA.u.aA2, 0, sizeof(GaecScA.u.aA2));
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2*GAEC_BANDS, amp);
// fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2, amp);
// memset(GaecDbC.psRcv, 6000, GAEC_RCV_SZ*2);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ*2*GAEC_BANDS);
gaec_get_energy2(&GaecDbC, blk);
gaec_get_energy2(&GaecDbA, blk);
for (band = 1; band < GAEC_BANDS; band++)
{
GaecScC.asSSC[band] = GaecScA.asSSC[band] = rand() & 4095;
GaecDbC.asShft[band] =
GaecDbA.asShft[band] =
(rand()%7) - 3;
}
band0 = rand() % GAEC_BANDS;
GaecScC.asSSC[band0] = GaecScA.asSSC[band0] = 0;
fill_rand(&GaecScC.aasErr[0][0], GAEC_BANDS*GAEC_BLKS*2, amp/10);
memcpy(&GaecScA.aasErr[0][0], &GaecScC.aasErr[0][0], GAEC_BLKS*GAEC_BANDS*2);
gaec_adapt_ac2pC(&GaecDbC, &GaecScC, blk);
gaec_adapt_ac2p (&GaecDbA, &GaecScA, blk);
gaec_adapt_ac2dC(&GaecDbC, &GaecScC, blk);
gaec_adapt_ac2d (&GaecDbA, &GaecScA, blk);
sErr += compare(asAdfC, asAdfA, GAEC_ADF_SZ*GAEC_BANDS*2);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 231)
{
void gaec_get_energy3C(GAEC_tDb *pDb,S16 blk);
void gaec_get_energy3 (GAEC_tDb *pDb,S16 blk);
for (k = 0; k < 231; k++)
{
S16 blk = rand() % GAEC_BLKS;
S16 amp = abs(rand()) % 8200;
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ*2*GAEC_BANDS, amp);
// memset(GaecDbC.psRcv, 40, GAEC_RCV_SZ*2*GAEC_BANDS);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ*2*GAEC_BANDS);
gaec_get_energy3C(&GaecDbC, blk);
gaec_get_energy3 (&GaecDbA, blk);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 232)
{
extern void gaec_adapt_dc3pC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk,S16 band);
extern void gaec_adapt_dc3dC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk,S16 band);
GaecDbC.aslAdEn[0] = GaecDbA.aslAdEn[0] = 0x30;
GaecScC.asSSC[0] = GaecScA.asSSC[0] = 2000;
GaecDbC.aslEn3[0] = GaecDbA.aslEn3[0] = 0x3000L;
for (k = 0; k < 232; k++)
{
S16 blk = (rand() &1) << 1;
S16 amp = abs(rand()) % 8200;
S16 zer = rand() % 5;
GaecScC.asSSC[0] = GaecScA.asSSC[0] = rand() & 4095;
if (zer == 0)
GaecScC.asSSC[0] = GaecScA.asSSC[0] = 0;
GaecDbC.asShft[0] = GaecDbA.asShft[0] = (rand()%7) - 3;
memset(GaecScC.u.aA3, 0, sizeof(GaecScC.u.aA3));
memset(GaecScA.u.aA3, 0, sizeof(GaecScA.u.aA3));
fill_rand(GaecDbC.psRcv, GAEC_RCV_SZ/*2*GAEC_BANDS*/, amp);
// memset(GaecDbC.psRcv, amp, GAEC_RCV_SZ/*2*GAEC_BANDS*/);
memcpy (GaecDbA.psRcv,
GaecDbC.psRcv,
GAEC_RCV_SZ/*2*GAEC_BANDS*/);
gaec_get_energy3(&GaecDbC, blk);
gaec_get_energy3(&GaecDbA, blk);
fill_rand(&GaecScC.aasErr[0][0], GAEC_BLKS, amp/10);
memcpy(&GaecScA.aasErr[0][0], &GaecScC.aasErr[0][0], GAEC_BLKS);
gaec_adapt_dc3pC(&GaecDbC, &GaecScC, blk, 0);
gaec_adapt_dc3p (&GaecDbA, &GaecScA, blk, 0);
sErr += compare(asAdfA, asAdfC, GAEC_ADF_SZ*GAEC_BANDS*2);
sErr += compare_sc();
sErr += compare_db();
if (sErr)
{
sTrap = gaec_utl_en2log(sErr);
// sErr = 0;
}
}
}
#elif (DBG_IT == 233)
{
extern void gaec_adapt_dc3pC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk,S16 band);
extern void gaec_adapt_dc3dC(GAEC_tDb *pDb,GAEC_tSc *pSc,S16 blk,S16 band);
GaecDbC.aslAdEn[0] = GaecDbA.aslAdEn[0] = 0x30;
GaecScC.asSSC[0] = GaecScA.asSSC[0] = 2000;
GaecDbC.aslEn3[0] = GaecDbA.aslEn3[0] = 0x3000L;
for (k = 0; k < 233; k++)
{
S16 blk = (rand() &1) << 1;
S16 amp = abs(rand()) % 8200;
S16 zer = rand() % 5;
GaecScC.asSSC[0] = GaecScA.asSSC[0] = rand() & 4095;
if (zer == 0)
GaecScC.asSSC[0] = GaecScA.asSSC[0] = 0;
GaecDbC.asShft[0] = GaecDbA.asShft[0] = (rand()%7) - 3;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -