示例#1
0
文件: main.c 项目: szabolor/FEC
uint8_t addnoise(uint8_t sym, double amp, double gain){
  double sample;
    
  sample = 127.5 + gain * normal_rand(sym ? amp : -amp, 1.0);

  if (sample < 0.)
    sample = 0.;
  else if (sample > 255.0)
    sample = 255.0;
  return (uint8_t) sample;
}
示例#2
0
文件: main.cpp 项目: CCJY/coliru
int main(void)
{
    srand(time(NULL));
    params_t params={1.0,2.0}; // on choisit la moyenne à 1.0 et l'equart type à 2.0
    {
        /* test de l'implémentation */
        double y= uniform_rand(); /* y */
        double x = quantile(y,params); /* F(x)=y */
        printf("y= %.15f; F(%.15f)= %.15f\n", y, x, cumulative_normal_distribution(x, params)); /* on vérifie bien que y= F(x) */
    }
    /* générer les X */
    for(size_t i=0;i<MAX;++i)
    {
        random_variables[i] = normal_rand(params); // on génère un tableau de X et on les affiche au fur et à mesure. Ces nombres aléatoires suivent la loi normale.
        printf("%0.5f\n",random_variables[i]);
    }
    return 0;
}