Merge branch 'feature-60-tm4-fork' into feature-59-tm4
1. TM4 works on dlsim_tm4.c with full HARQ support for both PIA and SIC.
This commit is contained in:
@@ -183,6 +183,9 @@ typedef enum {
|
||||
Rayleigh8_orth_eff_ch_TM4_prec_real,
|
||||
Rayleigh8_orth_eff_ch_TM4_prec_imag,
|
||||
TS_SHIFT,
|
||||
EPA_low,
|
||||
EPA_medium,
|
||||
EPA_high,
|
||||
} SCM_t;
|
||||
|
||||
/**
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -46,7 +46,7 @@ static unsigned int seed, iy, ir[98];
|
||||
#define a 1664525lu
|
||||
#define mod 4294967296.0 /* is 2**32 */
|
||||
|
||||
|
||||
#if 1
|
||||
void randominit(unsigned seed_init)
|
||||
{
|
||||
int i;
|
||||
@@ -69,17 +69,18 @@ void randominit(unsigned seed_init)
|
||||
}
|
||||
|
||||
iy=1;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/*void randominit(unsigned seed_init)
|
||||
#if 0
|
||||
void randominit(unsigned seed_init)
|
||||
{
|
||||
int i;
|
||||
// this need to be integrated with the existing rng, like taus: navid
|
||||
msg("Initializing random number generator, seed %x\n",seed_init);
|
||||
|
||||
seed_init = 62110;
|
||||
|
||||
|
||||
if (seed_init == 0) {
|
||||
srand((unsigned)time(NULL));
|
||||
|
||||
@@ -90,14 +91,14 @@ void randominit(unsigned seed_init)
|
||||
|
||||
if (seed % 2 == 0) seed += 1; /* seed and mod are relative prime */
|
||||
|
||||
// for (i=1; i<=97; i++) {
|
||||
// seed = a*seed; /* mod 2**32 */
|
||||
// ir[i]= seed; /* initialize the shuffle table */
|
||||
// }
|
||||
|
||||
// iy=1;
|
||||
//}
|
||||
for (i=1; i<=97; i++) {
|
||||
seed = a*seed; /* mod 2**32 */
|
||||
ir[i]= seed; /* initialize the shuffle table */
|
||||
}
|
||||
|
||||
iy=1;
|
||||
}
|
||||
#endif
|
||||
/*!\brief Uniform linear congruential random number generator on \f$[0,1)\f$. Returns a double-precision floating-point number.*/
|
||||
|
||||
double uniformrandom(void)
|
||||
|
||||
@@ -58,7 +58,7 @@ unsigned int taus(void)
|
||||
s2 = (((s2 & 0xFFFFFFF0) << 17)^ b);
|
||||
return s0 ^ s1 ^ s2;
|
||||
}
|
||||
|
||||
#if 1
|
||||
void set_taus_seed(unsigned int seed_init)
|
||||
{
|
||||
|
||||
@@ -87,9 +87,11 @@ void set_taus_seed(unsigned int seed_init)
|
||||
s2 = result;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
/* void set_taus_seed(unsigned int seed_init)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
void set_taus_seed(unsigned int seed_init)
|
||||
{
|
||||
|
||||
#ifdef USER_MODE
|
||||
@@ -113,18 +115,17 @@ void set_taus_seed(unsigned int seed_init)
|
||||
s2 = (unsigned int)0xfe1a133e;
|
||||
#else
|
||||
// Use reentrant version of rand48 to ensure that no conflicts with other generators occur */
|
||||
// srand48_r((long int)seed_init, &buffer);
|
||||
// mrand48_r(&buffer, (long int *)&result);
|
||||
// s0 = result;
|
||||
// mrand48_r(&buffer, (long int *)&result);
|
||||
// s1 = result;
|
||||
// mrand48_r(&buffer, (long int *)&result);
|
||||
// s2 = result;
|
||||
//#endif
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
srand48_r((long int)seed_init, &buffer);
|
||||
mrand48_r(&buffer, (long int *)&result);
|
||||
s0 = result;
|
||||
mrand48_r(&buffer, (long int *)&result);
|
||||
s1 = result;
|
||||
mrand48_r(&buffer, (long int *)&result);
|
||||
s2 = result;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef MAIN
|
||||
|
||||
|
||||
Reference in New Issue
Block a user