📄 ranlib.c
字号:
/* include */
#include "ranlib.h"
/*
* generate X for "exponential" distribute
* CDF: F(x) = 1 - e-lambdax
* X = -ln(U)/lambda
* input: lambda
* output: X
*/
double generate_exp_X(double lambda)
{
/* X value */
double X = 0.0f;
/* rand value */
double rand_val = 0.0f;
/* rand it to 0 ~ 1 */
rand_val = ((rand()%10001)+1) / 10000.0; /* rand 0 ~ 10000 first, then get 0 ~ 1 value */
/* calculate X */
X = - log(rand_val) / lambda;
return X; /* return X */
}
/*
* generate Rvalue for "uniformly" distribute
* CDF: F(x) = x-a / b-a
* X = U * (b-a) + a
* input: R
* output: X
*/
int generate_normal_R(int R)
{
/* Random value */
int X = 0;
/* rand value */
double rand_val = 0.0f;
/* rand it to 0 ~ 1 */
rand_val = (rand()%10001) / 10000.0; /* rand 0 ~ 10000 first, then get 0 ~ 1 value */
/* calculate X */
X = (int)(round(rand_val * (R - 1) + 1));
return X;
}
/*
* gererate which base stations
*/
u8 generate_bs(u8 bs_size)
{
return (rand()%bs_size);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -