⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.c

📁 该文件为c++的数学函数库!是一个非常有用的编程工具.它含有各种数学函数,为科学计算、工程应用等程序编写提供方便!
💻 C
📖 第 1 页 / 共 3 页
字号:
}doubletest_binomial_tpe (void){  return gsl_ran_binomial_tpe (r_global, 0.3, 5);}doubletest_binomial_tpe_pdf (unsigned int n){  return gsl_ran_binomial_pdf (n, 0.3, 5);}doubletest_binomial_large (void){  return gsl_ran_binomial (r_global, 0.3, 55);}doubletest_binomial_large_pdf (unsigned int n){  return gsl_ran_binomial_pdf (n, 0.3, 55);}doubletest_binomial_large_tpe (void){  return gsl_ran_binomial_tpe (r_global, 0.3, 55);}doubletest_binomial_large_tpe_pdf (unsigned int n){  return gsl_ran_binomial_pdf (n, 0.3, 55);}doubletest_binomial_huge (void){  return gsl_ran_binomial (r_global, 0.3, 5500);}doubletest_binomial_huge_pdf (unsigned int n){  return gsl_ran_binomial_pdf (n, 0.3, 5500);}doubletest_binomial_huge_tpe (void){  return gsl_ran_binomial_tpe (r_global, 0.3, 5500);}doubletest_binomial_huge_tpe_pdf (unsigned int n){  return gsl_ran_binomial_pdf (n, 0.3, 5500);}doubletest_cauchy (void){  return gsl_ran_cauchy (r_global, 2.0);}doubletest_cauchy_pdf (double x){  return gsl_ran_cauchy_pdf (x, 2.0);}doubletest_chisq (void){  return gsl_ran_chisq (r_global, 13.0);}doubletest_chisq_pdf (double x){  return gsl_ran_chisq_pdf (x, 13.0);}doubletest_dir2d (void){  double x = 0, y = 0, theta;  gsl_ran_dir_2d (r_global, &x, &y);  theta = atan2 (x, y);  return theta;}doubletest_dir2d_pdf (double x){  if (x > -M_PI && x <= M_PI)    {      return 1 / (2 * M_PI);    }  else    {      return 0;    }}doubletest_dir2d_trig_method (void){  double x = 0, y = 0, theta;  gsl_ran_dir_2d_trig_method (r_global, &x, &y);  theta = atan2 (x, y);  return theta;}doubletest_dir2d_trig_method_pdf (double x){  if (x > -M_PI && x <= M_PI)    {      return 1 / (2 * M_PI);    }  else    {      return 0;    }}doubletest_dir3dxy (void){  double x = 0, y = 0, z = 0, theta;  gsl_ran_dir_3d (r_global, &x, &y, &z);  theta = atan2 (x, y);  return theta;}doubletest_dir3dxy_pdf (double x){  if (x > -M_PI && x <= M_PI)    {      return 1 / (2 * M_PI);    }  else    {      return 0;    }}doubletest_dir3dyz (void){  double x = 0, y = 0, z = 0, theta;  gsl_ran_dir_3d (r_global, &x, &y, &z);  theta = atan2 (y, z);  return theta;}doubletest_dir3dyz_pdf (double x){  if (x > -M_PI && x <= M_PI)    {      return 1 / (2 * M_PI);    }  else    {      return 0;    }}doubletest_dir3dzx (void){  double x = 0, y = 0, z = 0, theta;  gsl_ran_dir_3d (r_global, &x, &y, &z);  theta = atan2 (z, x);  return theta;}doubletest_dir3dzx_pdf (double x){  if (x > -M_PI && x <= M_PI)    {      return 1 / (2 * M_PI);    }  else    {      return 0;    }}doubletest_dirichlet (void){  /* This is a bit of a lame test, since when K=2, the Dirichlet distribution     becomes a beta distribution */  size_t K = 2;  double alpha[2] = { 2.5, 5.0 };  double theta[2] = { 0.0, 0.0 };  gsl_ran_dirichlet (r_global, K, alpha, theta);  return theta[0];}doubletest_dirichlet_pdf (double x){  size_t K = 2;  double alpha[2] = { 2.5, 5.0 };  double theta[2];  if (x <= 0.0 || x >= 1.0)    return 0.0;                 /* Out of range */  theta[0] = x;  theta[1] = 1.0 - x;  return gsl_ran_dirichlet_pdf (K, alpha, theta);}/* Check that the observed means of the Dirichlet variables are   within reasonable statistical errors of their correct values. */#define DIRICHLET_K 10voidtest_dirichlet_moments (void){  double alpha[DIRICHLET_K];  double theta[DIRICHLET_K];  double theta_sum[DIRICHLET_K];  double alpha_sum = 0.0;  double mean, obs_mean, sd, sigma;  int status, k, n;  for (k = 0; k < DIRICHLET_K; k++)    {      alpha[k] = gsl_ran_exponential (r_global, 0.1);      alpha_sum += alpha[k];      theta_sum[k] = 0.0;    }  for (n = 0; n < N; n++)    {      gsl_ran_dirichlet (r_global, DIRICHLET_K, alpha, theta);      for (k = 0; k < DIRICHLET_K; k++)        theta_sum[k] += theta[k];    }  for (k = 0; k < DIRICHLET_K; k++)    {      mean = alpha[k] / alpha_sum;      sd =        sqrt ((alpha[k] * (1. - alpha[k] / alpha_sum)) /              (alpha_sum * (alpha_sum + 1.)));      obs_mean = theta_sum[k] / N;      sigma = sqrt ((double) N) * fabs (mean - obs_mean) / sd;      status = (sigma > 3.0);      gsl_test (status,                "test gsl_ran_dirichlet: mean (%g observed vs %g expected)",                obs_mean, mean);    }}/* Check that the observed means of the multinomial variables are   within reasonable statistical errors of their correct values. */voidtest_multinomial_moments (void){  const unsigned int sum_n = 100;  const double p[MULTI_DIM] ={ 0.2, 0.20, 0.17, 0.14, 0.12,                               0.07, 0.05, 0.02, 0.02, 0.01 };  unsigned int  x[MULTI_DIM];  double x_sum[MULTI_DIM];  double mean, obs_mean, sd, sigma;  int status, k, n;  for (k = 0; k < MULTI_DIM; k++)    x_sum[k] =0.0;  for (n = 0; n < N; n++)    {      gsl_ran_multinomial (r_global, MULTI_DIM, sum_n, p, x);      for (k = 0; k < MULTI_DIM; k++)        x_sum[k] += x[k];    }  for (k = 0; k < MULTI_DIM; k++)    {      mean = p[k] * sum_n;      sd = p[k] * (1.-p[k]) * sum_n;      obs_mean = x_sum[k] / N;      sigma = sqrt ((double) N) * fabs (mean - obs_mean) / sd;      status = (sigma > 3.0);      gsl_test (status,                "test gsl_ran_multinomial: mean (%g observed vs %g expected)",                obs_mean, mean);    }}static gsl_ran_discrete_t *g1 = NULL;static gsl_ran_discrete_t *g2 = NULL;static gsl_ran_discrete_t *g3 = NULL;doubletest_discrete1 (void){  static double P[3] = { 0.59, 0.4, 0.01 };  if (g1 == NULL)    {      g1 = gsl_ran_discrete_preproc (3, P);    }  return gsl_ran_discrete (r_global, g1);}doubletest_discrete1_pdf (unsigned int n){  return gsl_ran_discrete_pdf ((size_t) n, g1);}doubletest_discrete2 (void){  static double P[10] = { 1, 9, 3, 4, 5, 8, 6, 7, 2, 0 };  if (g2 == NULL)    {      g2 = gsl_ran_discrete_preproc (10, P);    }  return gsl_ran_discrete (r_global, g2);}doubletest_discrete2_pdf (unsigned int n){  return gsl_ran_discrete_pdf ((size_t) n, g2);}doubletest_discrete3 (void){  static double P[20];  if (g3 == NULL)    { int i;      for (i=0; i<20; ++i) P[i]=1.0/20;      g3 = gsl_ran_discrete_preproc (20, P);    }  return gsl_ran_discrete (r_global, g3);}doubletest_discrete3_pdf (unsigned int n){  return gsl_ran_discrete_pdf ((size_t) n, g3);}doubletest_erlang (void){  return gsl_ran_erlang (r_global, 3.0, 4.0);}doubletest_erlang_pdf (double x){  return gsl_ran_erlang_pdf (x, 3.0, 4.0);}doubletest_exponential (void){  return gsl_ran_exponential (r_global, 2.0);}doubletest_exponential_pdf (double x){  return gsl_ran_exponential_pdf (x, 2.0);}doubletest_exppow0 (void){  return gsl_ran_exppow (r_global, 3.7, 0.3);}doubletest_exppow0_pdf (double x){  return gsl_ran_exppow_pdf (x, 3.7, 0.3);}doubletest_exppow1 (void){  return gsl_ran_exppow (r_global, 3.7, 1.0);}doubletest_exppow1_pdf (double x){  return gsl_ran_exppow_pdf (x, 3.7, 1.0);}doubletest_exppow1a (void){  return gsl_ran_exppow (r_global, 3.7, 1.9);}doubletest_exppow1a_pdf (double x){  return gsl_ran_exppow_pdf (x, 3.7, 1.9);}doubletest_exppow2 (void){  return gsl_ran_exppow (r_global, 3.7, 2.0);}doubletest_exppow2_pdf (double x){  return gsl_ran_exppow_pdf (x, 3.7, 2.0);}doubletest_exppow2a (void){  return gsl_ran_exppow (r_global, 3.7, 7.5);}doubletest_exppow2a_pdf (double x){  return gsl_ran_exppow_pdf (x, 3.7, 7.5);}doubletest_fdist (void){  return gsl_ran_fdist (r_global, 3.0, 4.0);}doubletest_fdist_pdf (double x){  return gsl_ran_fdist_pdf (x, 3.0, 4.0);}doubletest_flat (void){  return gsl_ran_flat (r_global, 3.0, 4.0);}doubletest_flat_pdf (double x){  return gsl_ran_flat_pdf (x, 3.0, 4.0);}doubletest_gamma (void){  return gsl_ran_gamma (r_global, 2.5, 2.17);}doubletest_gamma_pdf (double x){  return gsl_ran_gamma_pdf (x, 2.5, 2.17);}doubletest_gamma1 (void){  return gsl_ran_gamma (r_global, 1.0, 2.17);}doubletest_gamma1_pdf (double x){  return gsl_ran_gamma_pdf (x, 1.0, 2.17);}doubletest_gamma_int (void){  return gsl_ran_gamma (r_global, 10.0, 2.17);}doubletest_gamma_int_pdf (double x){  return gsl_ran_gamma_pdf (x, 10.0, 2.17);}doubletest_gamma_large (void){  return gsl_ran_gamma (r_global, 20.0, 2.17);}doubletest_gamma_large_pdf (double x){  return gsl_ran_gamma_pdf (x, 20.0, 2.17);}doubletest_gaussian (void){  return gsl_ran_gaussian (r_global, 3.0);}doubletest_gaussian_pdf (double x){  return gsl_ran_gaussian_pdf (x, 3.0);}doubletest_gaussian_ratio_method (void){  return gsl_ran_gaussian_ratio_method (r_global, 3.0);}doubletest_gaussian_ratio_method_pdf (double x){  return gsl_ran_gaussian_pdf (x, 3.0);}doubletest_gaussian_tail (void){  return gsl_ran_gaussian_tail (r_global, 1.7, 0.25);}doubletest_gaussian_tail_pdf (double x){  return gsl_ran_gaussian_tail_pdf (x, 1.7, 0.25);}doubletest_gaussian_tail1 (void){  return gsl_ran_gaussian_tail (r_global, -1.7, 5.0);}doubletest_gaussian_tail1_pdf (double x){  return gsl_ran_gaussian_tail_pdf (x, -1.7, 5.0);}doubletest_gaussian_tail2 (void){  return gsl_ran_gaussian_tail (r_global, 0.1, 2.0);}doubletest_gaussian_tail2_pdf (double x){  return gsl_ran_gaussian_tail_pdf (x, 0.1, 2.0);}doubletest_ugaussian (void){  return gsl_ran_ugaussian (r_global);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -