hmatrix-gsl-stats 0.3 → 0.3.0.1
raw patch · 3 files changed
+59/−41 lines, 3 files
Files
- CHANGES +4/−0
- hmatrix-gsl-stats.cabal +1/−1
- lib/Numeric/GSL/distribution-aux.c +54/−40
CHANGES view
@@ -76,3 +76,7 @@ 0.3: Added vectors of samples++0.3.0.1:+ fixed int declaration for for loops+ fixed up some C errors in distribution-aux.c
hmatrix-gsl-stats.cabal view
@@ -1,5 +1,5 @@ Name: hmatrix-gsl-stats-Version: 0.3+Version: 0.3.0.1 License: BSD3 License-file: LICENSE Copyright: (c) A.V.H. McPhail 2010, 2011, 2013, 2015
lib/Numeric/GSL/distribution-aux.c view
@@ -31,8 +31,10 @@ rng = gsl_rng_alloc(T); gsl_rng_set(rng,s); + int i;+ switch(type) {- case 0: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_landau(rng); break; }+ case 0: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_landau(rng); break; } } gsl_rng_free(rng);@@ -92,15 +94,17 @@ rng = gsl_rng_alloc(T); gsl_rng_set(rng,s); + int i;+ switch(type) {- case 0: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_gaussian(rng,par); break; }- case 1: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_exponential(rng,par); break; }- case 2: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_laplace(rng,par); break; }- case 3: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_cauchy(rng,par); break; }- case 4: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_rayleigh(rng,par); break; }- case 5: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_chisq(rng,par); break; }- case 6: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_tdist(rng,par); break; }- case 7: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_logistic(rng,par); break; }+ case 0: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_gaussian(rng,par); break; }+ case 1: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_exponential(rng,par); break; }+ case 2: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_laplace(rng,par); break; }+ case 3: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_cauchy(rng,par); break; }+ case 4: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_rayleigh(rng,par); break; }+ case 5: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_chisq(rng,par); break; }+ case 6: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_tdist(rng,par); break; }+ case 7: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_logistic(rng,par); break; } } gsl_rng_free(rng);@@ -232,20 +236,22 @@ rng = gsl_rng_alloc(T); gsl_rng_set(rng,s); + int i;+ switch(type) {- case 0: { for (int i = 0; i < rs; i ++) r[i] (*r) = gsl_ran_gaussian_tail(rng,par1,par2); break; }- case 1: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_exppow(rng,par1,par2); break; }- case 2: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_rayleigh_tail(rng,par1,par2); break; }- case 3: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_levy(rng,par1,par2); break; }- case 4: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_gamma(rng,par1,par2); break; }- case 5: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_flat(rng,par1,par2); break; }- case 6: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_lognormal(rng,par1,par2); break; }- case 7: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_fdist(rng,par1,par2); break; }- case 8: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_beta(rng,par1,par2); break; }- case 9: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_pareto(rng,par1,par2); break; }- case 10: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_weibull(rng,par1,par2); break; }- case 11: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_gumbel1(rng,par1,par2); break; }- case 12: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_gumbel2(rng,par1,par2); break; }+ case 0: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_gaussian_tail(rng,par1,par2); break; }+ case 1: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_exppow(rng,par1,par2); break; }+ case 2: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_rayleigh_tail(rng,par1,par2); break; }+ case 3: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_levy(rng,par1,par2); break; }+ case 4: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_gamma(rng,par1,par2); break; }+ case 5: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_flat(rng,par1,par2); break; }+ case 6: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_lognormal(rng,par1,par2); break; }+ case 7: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_fdist(rng,par1,par2); break; }+ case 8: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_beta(rng,par1,par2); break; }+ case 9: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_pareto(rng,par1,par2); break; }+ case 10: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_weibull(rng,par1,par2); break; }+ case 11: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_gumbel1(rng,par1,par2); break; }+ case 12: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_gumbel2(rng,par1,par2); break; } } gsl_rng_free(rng);@@ -375,8 +381,10 @@ rng = gsl_rng_alloc(T); gsl_rng_set(rng,s); + int i;+ switch(type) {- case 0: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_levy_skew(rng,par1,par2,par3); break; }+ case 0: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_levy_skew(rng,par1,par2,par3); break; } } gsl_rng_free(rng);@@ -384,8 +392,6 @@ return 0; } -for (int i = 0; i < rs; i ++) r[i] - double random3_pdf(int type, double x, double par1, double par2, double par3) { switch (type) {@@ -455,6 +461,8 @@ int random_biv_v(int s, int type, double par1, double par2, double par3, int rs1, double* r1, int rs2, double* r2) {+ if (rs1 != rs2) return 2000; // BAD_SIZE+ const gsl_rng_type * T; gsl_rng * rng; @@ -463,8 +471,10 @@ rng = gsl_rng_alloc(T); gsl_rng_set(rng,s); + int i;+ switch(type) {- case 0: { for (int i = 0; i < rs; i ++) gsl_ran_bivariate_gaussian(rng,par1,par2,par3,r1[i],r2[i]); break; }+ case 0: { for (i = 0; i < rs1; i++) gsl_ran_bivariate_gaussian(rng,par1,par2,par3,&r1[i],&r2[i]); break; } } gsl_rng_free(rng);@@ -642,11 +652,13 @@ rng = gsl_rng_alloc(T); gsl_rng_set(rng,s); + int i;+ switch(type) {- case 0: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_poisson(rng,par); break; }- case 1: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_bernoulli(rng,par); break; }- case 2: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_laplace(rng,par); break; }- case 3: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_logarithmic(rng,par); break; }+ case 0: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_poisson(rng,par); break; }+ case 1: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_bernoulli(rng,par); break; }+ case 2: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_laplace(rng,par); break; }+ case 3: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_logarithmic(rng,par); break; } } gsl_rng_free(rng);@@ -654,8 +666,6 @@ return 0; } -for (int i = 0; i < rs; i ++) r[i]- double discrete1_pdf(int type, unsigned int x, double par) { switch (type) {@@ -730,7 +740,7 @@ return 0; } -int discrete2(int s, int type, double par1, unsigned int par2, int rs, unsigned int* r)+int discrete2_v(int s, int type, double par1, unsigned int par2, int rs, unsigned int* r) { const gsl_rng_type * T; gsl_rng * rng;@@ -740,17 +750,19 @@ rng = gsl_rng_alloc(T); gsl_rng_set(rng,s); + int i;+ switch(type) {- case 0: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_binomial(rng,par1,par2); break; }- case 1: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_negative_binomial(rng,par1,par2*1.0); break; }- case 2: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_pascal(rng,par1,par2); break; }+ case 0: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_binomial(rng,par1,par2); break; }+ case 1: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_negative_binomial(rng,par1,par2*1.0); break; }+ case 2: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_pascal(rng,par1,par2); break; } } gsl_rng_free(rng); return 0; }-for (int i = 0; i < rs; i ++) r[i] + double discrete2_pdf(int type, unsigned int x, double par1, unsigned int par2) { switch (type) {@@ -824,7 +836,7 @@ return 0; } -int discrete3(int s, int type, unsigned int par1, unsigned int par2, int rs, unsigned int par3, double* r)+int discrete3_v(int s, int type, unsigned int par1, unsigned int par2, unsigned int par3, int rs, double* r) { const gsl_rng_type * T; gsl_rng * rng;@@ -834,15 +846,17 @@ rng = gsl_rng_alloc(T); gsl_rng_set(rng,s); + int i;+ switch(type) {- case 0: { for (int i = 0; i < rs; i ++) r[i] = gsl_ran_hypergeometric(rng,par1,par2,par3); break; }+ case 0: { for (i = 0; i < rs; i ++) r[i] = gsl_ran_hypergeometric(rng,par1,par2,par3); break; } } gsl_rng_free(rng); return 0; }-for (int i = 0; i < rs; i ++) r[i] + double discrete3_pdf(int type, double x, unsigned int par1, unsigned int par2, unsigned int par3) { switch (type) {