int main (void) { gsl_ieee_env_setup (); gsl_rng_env_setup() ; r_global = gsl_rng_alloc (gsl_rng_default); #define FUNC(x) test_ ## x, "test gsl_ran_" #x #define FUNC2(x) test_ ## x, test_ ## x ## _pdf, "test gsl_ran_" #x test_shuffle() ; test_choose() ; testMoments (FUNC (ugaussian), 0.0, 100.0, 0.5); testMoments (FUNC (ugaussian), -1.0, 1.0, 0.6826895); testMoments (FUNC (ugaussian), 3.0, 3.5, 0.0011172689); testMoments (FUNC (ugaussian_tail), 3.0, 3.5, 0.0011172689/0.0013498981); testMoments (FUNC (exponential), 0.0, 1.0, 1- exp(-0.5)); testMoments (FUNC (cauchy), 0.0, 10000.0, 0.5); testMoments (FUNC (discrete1), -0.5, 0.5, 0.59 ); testMoments (FUNC (discrete1), 0.5, 1.5, 0.40 ); testMoments (FUNC (discrete1), 1.5, 3.5, 0.01 ); testPDF (FUNC2(beta)); testPDF (FUNC2(cauchy)); testPDF (FUNC2(chisq)); testPDF (FUNC2(erlang)); testPDF (FUNC2(exponential)); testPDF (FUNC2(exppow0)); testPDF (FUNC2(exppow1)); testPDF (FUNC2(exppow1a)); testPDF (FUNC2(exppow2)); testPDF (FUNC2(exppow2a)); testPDF (FUNC2(fdist)); testPDF (FUNC2(flat)); testPDF (FUNC2(gamma)); testPDF (FUNC2(gamma1)); testPDF (FUNC2(gamma_int)); testPDF (FUNC2(gamma_large)); testPDF (FUNC2(gaussian)); testPDF (FUNC2(gaussian_ratio_method)); testPDF (FUNC2(ugaussian)); testPDF (FUNC2(ugaussian_ratio_method)); testPDF (FUNC2(gaussian_tail)); testPDF (FUNC2(gaussian_tail1)); testPDF (FUNC2(gaussian_tail2)); testPDF (FUNC2(ugaussian_tail)); testPDF (FUNC2(bivariate_gaussian1)); testPDF (FUNC2(bivariate_gaussian2)); testPDF (FUNC2(bivariate_gaussian3)); testPDF (FUNC2(bivariate_gaussian4)); testPDF (FUNC2(gumbel1)); testPDF (FUNC2(gumbel2)); testPDF (FUNC2(landau)); testPDF (FUNC2(levy1)); testPDF (FUNC2(levy2)); testPDF (FUNC2(levy1a)); testPDF (FUNC2(levy2a)); testPDF (FUNC2(levy_skew1)); testPDF (FUNC2(levy_skew2)); testPDF (FUNC2(levy_skew1a)); testPDF (FUNC2(levy_skew2a)); testPDF (FUNC2(levy_skew1b)); testPDF (FUNC2(levy_skew2b)); testPDF (FUNC2(logistic)); testPDF (FUNC2(lognormal)); testPDF (FUNC2(pareto)); testPDF (FUNC2(rayleigh)); testPDF (FUNC2(rayleigh_tail)); testPDF (FUNC2(tdist1)); testPDF (FUNC2(tdist2)); testPDF (FUNC2(laplace)); testPDF (FUNC2(weibull)); testPDF (FUNC2(weibull1)); testPDF (FUNC2(dir2d)); testPDF (FUNC2(dir2d_trig_method)); testPDF (FUNC2(dir3dxy)); testPDF (FUNC2(dir3dyz)); testPDF (FUNC2(dir3dzx)); testDiscretePDF (FUNC2(discrete1)); testDiscretePDF (FUNC2(discrete2)); testDiscretePDF (FUNC2(poisson)); testDiscretePDF (FUNC2(poisson_large)); testDiscretePDF (FUNC2(bernoulli)); testDiscretePDF (FUNC2(binomial)); testDiscretePDF (FUNC2(binomial_large)); testDiscretePDF (FUNC2(geometric)); testDiscretePDF (FUNC2(geometric1)); testDiscretePDF (FUNC2(hypergeometric1)); testDiscretePDF (FUNC2(hypergeometric2)); testDiscretePDF (FUNC2(hypergeometric3)); testDiscretePDF (FUNC2(hypergeometric4)); testDiscretePDF (FUNC2(hypergeometric5)); testDiscretePDF (FUNC2(hypergeometric6)); testDiscretePDF (FUNC2(logarithmic)); testDiscretePDF (FUNC2(negative_binomial)); testDiscretePDF (FUNC2(pascal)); exit (gsl_test_summary()); }
void selftest(void) { // for handling "errout" if (setjmp(jbuf)) return; #if SELFTEST test_low_level(); test_multiply(); test_scan(); test_power(); test_factor_number(); test_test(); test_tensor(); test_bake(); test(__FILE__, s, sizeof (s) / sizeof (char *)); // "s" is in selftest.h test_abs(); test_adj(); test_arg(); test_besselj(); test_bessely(); test_ceiling(); test_choose(); test_circexp(); test_clock(); test_cofactor(); test_condense(); test_contract(); test_defint(); test_denominator(); test_derivative(); test_dirac(); test_erf(); test_erfc(); test_expand(); test_expcos(); test_expsin(); test_factorpoly(); test_float(); test_floor(); test_gamma(); test_gcd(); test_imag(); test_inner(); test_lcm(); test_log(); test_mag(); test_mod(); test_nroots(); test_numerator(); test_outer(); test_polar(); test_quotient(); test_rationalize(); test_real(); test_rect(); test_sgn(); test_taylor(); test_transpose(); test_zero(); test_hermite(); test_laguerre(); test_legendre(); test_binomial(); test_divisors(); test_coeff(); test_sin(); test_cos(); test_tan(); test_sinh(); test_cosh(); test_tanh(); test_arcsin(); test_arcsinh(); test_arccos(); test_arccosh(); test_arctan(); test_arctanh(); test_index(); test_isprime(); test_integral(); test_simplify(); test_roots(); test_eigen(); #endif mini_test(); logout("OK, all tests passed.\n"); }