diff --git a/php_stats.c b/php_stats.c index 32dc4e9..7418dd8 100644 --- a/php_stats.c +++ b/php_stats.c @@ -16,27 +16,52 @@ +----------------------------------------------------------------------+ */ -/* $Id$ */ - - #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "php.h" -#include "php_stats.h" #include "ext/standard/info.h" #include "ext/standard/head.h" +#include "php_stats.h" +#include "randlib.h" +#include "cdflib.h" + +#ifndef ZEND_ARG_INFO_WITH_DEFAULT_VALUE +#define ZEND_ARG_INFO_WITH_DEFAULT_VALUE(pass_by_ref, name, default_value) \ + ZEND_ARG_INFO(pass_by_ref, name) +#endif + +#if PHP_VERSION_ID < 70200 +#undef ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX +#define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, class_name, allow_null) \ + static const zend_internal_arg_info name[] = { \ + { (const char*)(zend_uintptr_t)(required_num_args), ( #class_name ), 0, return_reference, allow_null, 0 }, +#endif + +#ifndef ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX +#define ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(name, return_reference, required_num_args, class_name, allow_null) \ + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(name, return_reference, required_num_args, class_name, allow_null) +#endif + +#ifndef ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX +# define ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(name, return_reference, num_args, type) \ + ZEND_BEGIN_ARG_INFO_EX(name, 0, return_reference, num_args) +#endif + +#ifndef ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE +#define ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(pass_by_ref, name, type_hint, allow_null, default_value) \ + ZEND_ARG_TYPE_INFO(pass_by_ref, name, type_hint, allow_null) +#endif + +#include "stats_arginfo.h" #include #include #include #include -#include "randlib.h" -#include "cdflib.h" #define STATS_PI 3.14159265358979323846 - #ifdef PHP_WIN32 extern double fd_lgamma(double x); #define lgamma fd_lgamma @@ -52,89 +77,16 @@ static double exponential_quantile(double p); static double exponential_cdf(double x); static double binom(double x, double n); -zend_function_entry statistics_functions[] = { - PHP_FE(stats_cdf_t, NULL) - PHP_FE(stats_cdf_normal, NULL) - PHP_FE(stats_cdf_gamma, NULL) - PHP_FE(stats_cdf_chisquare, NULL) - PHP_FE(stats_cdf_beta, NULL) - PHP_FE(stats_cdf_binomial, NULL) - PHP_FE(stats_cdf_noncentral_chisquare,NULL) - PHP_FE(stats_cdf_f, NULL) - PHP_FE(stats_cdf_noncentral_f, NULL) - PHP_FE(stats_cdf_noncentral_t, NULL) - PHP_FE(stats_cdf_negative_binomial, NULL) - PHP_FE(stats_cdf_poisson, NULL) - PHP_FE(stats_cdf_laplace, NULL) - PHP_FE(stats_cdf_cauchy, NULL) - PHP_FE(stats_cdf_logistic, NULL) - PHP_FE(stats_cdf_weibull, NULL) - PHP_FE(stats_cdf_uniform, NULL) - PHP_FE(stats_cdf_exponential, NULL) - PHP_FE(stats_rand_setall, NULL) - PHP_FE(stats_rand_getsd, NULL) - PHP_FE(stats_rand_gen_iuniform, NULL) - PHP_FE(stats_rand_gen_funiform, NULL) - PHP_FE(stats_rand_ignlgi, NULL) - PHP_FE(stats_rand_ranf, NULL) - PHP_FE(stats_rand_gen_beta, NULL) - PHP_FE(stats_rand_gen_chisquare, NULL) - PHP_FE(stats_rand_gen_exponential, NULL) - PHP_FE(stats_rand_gen_f, NULL) - PHP_FE(stats_rand_gen_gamma, NULL) - PHP_FE(stats_rand_gen_noncentral_chisquare,NULL) - PHP_FE(stats_rand_gen_noncenral_f, NULL) - PHP_FE(stats_rand_gen_normal, NULL) - PHP_FE(stats_rand_phrase_to_seeds, NULL) - PHP_FE(stats_rand_ibinomial, NULL) - PHP_FE(stats_rand_ibinomial_negative,NULL) - PHP_FE(stats_rand_gen_ipoisson, NULL) - PHP_FE(stats_rand_gen_noncentral_t, NULL) - PHP_FE(stats_rand_gen_t, NULL) - PHP_FE(stats_dens_normal, NULL) - PHP_FE(stats_dens_cauchy, NULL) - PHP_FE(stats_dens_laplace, NULL) - PHP_FE(stats_dens_logistic, NULL) - PHP_FE(stats_dens_beta, NULL) - PHP_FE(stats_dens_weibull, NULL) - PHP_FE(stats_dens_uniform, NULL) - PHP_FE(stats_dens_chisquare, NULL) - PHP_FE(stats_dens_t, NULL) - PHP_FE(stats_dens_gamma, NULL) - PHP_FE(stats_dens_exponential, NULL) - PHP_FE(stats_dens_f, NULL) - PHP_FE(stats_dens_pmf_binomial, NULL) - PHP_FE(stats_dens_pmf_poisson, NULL) - PHP_FE(stats_dens_pmf_negative_binomial,NULL) - PHP_FE(stats_dens_pmf_hypergeometric, NULL) - PHP_FE(stats_stat_powersum, NULL) - PHP_FE(stats_stat_innerproduct, NULL) - PHP_FE(stats_stat_independent_t, NULL) - PHP_FE(stats_stat_paired_t, NULL) - PHP_FE(stats_stat_percentile, NULL) - PHP_FE(stats_stat_correlation, NULL) - PHP_FE(stats_stat_binomial_coef, NULL) - PHP_FE(stats_stat_factorial, NULL) - PHP_FE(stats_variance, NULL) - PHP_FE(stats_standard_deviation, NULL) - PHP_FE(stats_absolute_deviation, NULL) - PHP_FE(stats_harmonic_mean, NULL) - PHP_FE(stats_skew, NULL) - PHP_FE(stats_kurtosis, NULL) - PHP_FE(stats_covariance, NULL) - {NULL, NULL, NULL} -}; - zend_module_entry stats_module_entry = { STANDARD_MODULE_HEADER, "stats", - statistics_functions, - NULL, - NULL, - NULL, - NULL, - PHP_MINFO(stats), - PHP_STATS_VERSION, + ext_functions, + NULL, + NULL, + NULL, + NULL, + PHP_MINFO(stats), + PHP_STATS_VERSION, STANDARD_MODULE_PROPERTIES, }; @@ -159,7 +111,7 @@ PHP_MINFO_FUNCTION(stats) * * This is not correct any more, depends on what compare_func is set to. */ -static int stats_array_data_compare(const void *a, const void *b TSRMLS_DC) +static int stats_array_data_compare(const void *a, const void *b) { Bucket *f; Bucket *s; @@ -173,7 +125,7 @@ static int stats_array_data_compare(const void *a, const void *b TSRMLS_DC) first = f->val; second = s->val; - result = numeric_compare_function(&first, &second TSRMLS_CC); + result = numeric_compare_function(&first, &second); if (result < 0) { return -1; @@ -267,12 +219,12 @@ PHP_FUNCTION(stats_cdf_t) zend_long which; int status = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ddl", &arg1, &arg2, &which) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddl", &arg1, &arg2, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 3) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Third parameter should be in the 1..3 range"); + php_error_docref(NULL, E_WARNING, "Third parameter should be in the 1..3 range"); RETURN_FALSE; } @@ -291,7 +243,7 @@ PHP_FUNCTION(stats_cdf_t) cdft((int *)&which, &p, &q, &t, &df, &status, &bound); if (status != 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Computation Error"); + php_error_docref(NULL, E_WARNING, "Computation Error"); RETURN_FALSE; } @@ -397,12 +349,12 @@ PHP_FUNCTION(stats_cdf_normal) zend_long which; int status = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 4) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fourth parameter should be in the 1..4 range"); + php_error_docref(NULL, E_WARNING, "Fourth parameter should be in the 1..4 range"); RETURN_FALSE; } @@ -427,15 +379,15 @@ PHP_FUNCTION(stats_cdf_normal) cdfnor((int *)&which, &p, &q, &x, &mean, &sd, &status, &bound); if (status != 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Computation error"); + php_error_docref(NULL, E_WARNING, "Computation error"); RETURN_FALSE; } switch (which) { - case 1: RETURN_DOUBLE(p); - case 2: RETURN_DOUBLE(x); - case 3: RETURN_DOUBLE(mean); - case 4: RETURN_DOUBLE(sd); + case 1: RETURN_DOUBLE(p); + case 2: RETURN_DOUBLE(x); + case 3: RETURN_DOUBLE(mean); + case 4: RETURN_DOUBLE(sd); } RETURN_FALSE; /* should never be reached */ } @@ -544,13 +496,13 @@ PHP_FUNCTION(stats_cdf_gamma) zend_long which; int status = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 4) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fourth parameter should be in the 1..4 range"); + php_error_docref(NULL, E_WARNING, "Fourth parameter should be in the 1..4 range"); RETURN_FALSE; } @@ -583,15 +535,15 @@ PHP_FUNCTION(stats_cdf_gamma) cdfgam((int *)&which, &p, &q, &x, &shape, &rate, &status, &bound); if (status != 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Computation Error"); + php_error_docref(NULL, E_WARNING, "Computation Error"); RETURN_FALSE; } switch (which) { - case 1: RETURN_DOUBLE(p); - case 2: RETURN_DOUBLE(x); - case 3: RETURN_DOUBLE(shape); - case 4: RETURN_DOUBLE(1 / rate); + case 1: RETURN_DOUBLE(p); + case 2: RETURN_DOUBLE(x); + case 3: RETURN_DOUBLE(shape); + case 4: RETURN_DOUBLE(1 / rate); } RETURN_FALSE; /* should never be reached */ } @@ -679,13 +631,13 @@ PHP_FUNCTION(stats_cdf_chisquare) zend_long which; int status = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddl", &arg1, &arg2, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 3) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Third parameter should be in the 1..3 range"); + php_error_docref(NULL, E_WARNING, "Third parameter should be in the 1..3 range"); RETURN_FALSE; } @@ -702,9 +654,9 @@ PHP_FUNCTION(stats_cdf_chisquare) q = 1.0 - p; } - cdfchi((int *)&which, &p, &q, &x, &df, &status, &bound); + cdfchi((int *)&which, &p, &q, &x, &df, &status, &bound); if (status != 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Computation Error"); + php_error_docref(NULL, E_WARNING, "Computation Error"); RETURN_FALSE; } @@ -816,13 +768,13 @@ PHP_FUNCTION(stats_cdf_beta) zend_long which; int status = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 4) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fourth parameter should be in the 1..4 range"); + php_error_docref(NULL, E_WARNING, "Fourth parameter should be in the 1..4 range"); RETURN_FALSE; } @@ -850,15 +802,15 @@ PHP_FUNCTION(stats_cdf_beta) cdfbet((int *)&which, &p, &q, &x, &y, &a, &b, &status, &bound); if (status != 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Computation Error"); + php_error_docref(NULL, E_WARNING, "Computation Error"); RETURN_FALSE; } switch (which) { - case 1: RETURN_DOUBLE(p); - case 2: RETURN_DOUBLE(x); - case 3: RETURN_DOUBLE(a); - case 4: RETURN_DOUBLE(b); + case 1: RETURN_DOUBLE(p); + case 2: RETURN_DOUBLE(x); + case 3: RETURN_DOUBLE(a); + case 4: RETURN_DOUBLE(b); } RETURN_FALSE; /* never here */ } @@ -956,13 +908,13 @@ PHP_FUNCTION(stats_cdf_binomial) zend_long which; int status = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 4) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fourth parameter should be in the 1..4 range"); + php_error_docref(NULL, E_WARNING, "Fourth parameter should be in the 1..4 range"); RETURN_FALSE; } @@ -989,15 +941,15 @@ PHP_FUNCTION(stats_cdf_binomial) cdfbin((int *)&which, &p, &q, &sn, &xn, &pr, &ompr, &status, &bound); if (status != 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Computation Error in binomialcdf"); + php_error_docref(NULL, E_WARNING, "Computation Error in binomialcdf"); RETURN_FALSE; } switch (which) { - case 1: RETURN_DOUBLE(p); - case 2: RETURN_DOUBLE(sn); - case 3: RETURN_DOUBLE(xn); - case 4: RETURN_DOUBLE(pr); + case 1: RETURN_DOUBLE(p); + case 2: RETURN_DOUBLE(sn); + case 3: RETURN_DOUBLE(xn); + case 4: RETURN_DOUBLE(pr); } RETURN_FALSE; /* never here */ } @@ -1096,13 +1048,13 @@ PHP_FUNCTION(stats_cdf_noncentral_chisquare) zend_long which; int status = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 4) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fourth parameter should be in the 1..4 range"); + php_error_docref(NULL, E_WARNING, "Fourth parameter should be in the 1..4 range"); RETURN_FALSE; } @@ -1127,15 +1079,15 @@ PHP_FUNCTION(stats_cdf_noncentral_chisquare) cdfchn((int *)&which, &p, &q, &x, &df, &pnonc, &status, &bound); if (status != 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Computation Error in cdfchn"); + php_error_docref(NULL, E_WARNING, "Computation Error in cdfchn"); RETURN_FALSE; } switch (which) { - case 1: RETURN_DOUBLE(p); - case 2: RETURN_DOUBLE(x); - case 3: RETURN_DOUBLE(df); - case 4: RETURN_DOUBLE(pnonc); + case 1: RETURN_DOUBLE(p); + case 2: RETURN_DOUBLE(x); + case 3: RETURN_DOUBLE(df); + case 4: RETURN_DOUBLE(pnonc); } RETURN_FALSE; /* never here */ } @@ -1230,13 +1182,13 @@ PHP_FUNCTION(stats_cdf_f) zend_long which; int status = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 4) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fourth parameter should be in the 1..4 range"); + php_error_docref(NULL, E_WARNING, "Fourth parameter should be in the 1..4 range"); RETURN_FALSE; } if (which < 4) { @@ -1258,15 +1210,15 @@ PHP_FUNCTION(stats_cdf_f) cdff((int *)&which, &p, &q, &f, &dfn, &dfd, &status, &bound); if (status != 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Computation Error in cdff"); + php_error_docref(NULL, E_WARNING, "Computation Error in cdff"); RETURN_FALSE; } switch (which) { - case 1: RETURN_DOUBLE(p); - case 2: RETURN_DOUBLE(f); - case 3: RETURN_DOUBLE(dfn); - case 4: RETURN_DOUBLE(dfd); + case 1: RETURN_DOUBLE(p); + case 2: RETURN_DOUBLE(f); + case 3: RETURN_DOUBLE(dfn); + case 4: RETURN_DOUBLE(dfd); } RETURN_FALSE; /* never here */ } @@ -1378,13 +1330,13 @@ PHP_FUNCTION(stats_cdf_noncentral_f) zend_long which; int status = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddddl", &arg1, &arg2, &arg3, &arg4, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 5) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fifth parameter should be in the 1..5 range"); + php_error_docref(NULL, E_WARNING, "Fifth parameter should be in the 1..5 range"); RETURN_FALSE; } @@ -1415,15 +1367,15 @@ PHP_FUNCTION(stats_cdf_noncentral_f) cdffnc((int *)&which, &p, &q, &f, &dfn, &dfd, &pnonc, &status, &bound); if (status != 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Computation Error in cdffnc"); + php_error_docref(NULL, E_WARNING, "Computation Error in cdffnc"); RETURN_FALSE; } switch (which) { - case 1: RETURN_DOUBLE(p); - case 2: RETURN_DOUBLE(f); - case 3: RETURN_DOUBLE(dfn); - case 4: RETURN_DOUBLE(dfd); + case 1: RETURN_DOUBLE(p); + case 2: RETURN_DOUBLE(f); + case 3: RETURN_DOUBLE(dfn); + case 4: RETURN_DOUBLE(dfd); case 5: RETURN_DOUBLE(pnonc); } RETURN_FALSE; /* never here */ @@ -1512,13 +1464,13 @@ PHP_FUNCTION(stats_cdf_noncentral_t) zend_long which; int status = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 4) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fourth parameter should be in the 1..4 range"); + php_error_docref(NULL, E_WARNING, "Fourth parameter should be in the 1..4 range"); RETURN_FALSE; } @@ -1542,7 +1494,7 @@ PHP_FUNCTION(stats_cdf_noncentral_t) cdftnc((int *)&which, &p, &q, &t, &df, &pnonc, &status, &bound); if (status != 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Computation Error"); + php_error_docref(NULL, E_WARNING, "Computation Error"); RETURN_FALSE; } @@ -1657,13 +1609,13 @@ PHP_FUNCTION(stats_cdf_negative_binomial) zend_long which; int status = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 4) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fourth parameter should be in the 1..4 range"); + php_error_docref(NULL, E_WARNING, "Fourth parameter should be in the 1..4 range"); RETURN_FALSE; } @@ -1689,7 +1641,7 @@ PHP_FUNCTION(stats_cdf_negative_binomial) cdfnbn((int *)&which, &p, &q, &sn, &xn, &pr, &ompr, &status, &bound); if (status != 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Computation Error in cdfnbn"); + php_error_docref(NULL, E_WARNING, "Computation Error in cdfnbn"); RETURN_FALSE; } @@ -1780,13 +1732,13 @@ PHP_FUNCTION(stats_cdf_poisson) zend_long which; int status = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddl", &arg1, &arg2, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 3) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Third parameter should be in the 1..3 range"); + php_error_docref(NULL, E_WARNING, "Third parameter should be in the 1..3 range"); RETURN_FALSE; } @@ -1805,7 +1757,7 @@ PHP_FUNCTION(stats_cdf_poisson) cdfpoi((int *)&which, &p, &q, &x, &xlam, &status, &bound); if (status != 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Computation Error"); + php_error_docref(NULL, E_WARNING, "Computation Error"); RETURN_FALSE; } @@ -1839,7 +1791,7 @@ static double laplace_cdf(double x) /* {{{ proto float stats_cdf_laplace(float par1, float par2, float par3, int which) - Calculates any one parameter of the Laplace distribution given values for the others. */ + Calculates any one parameter of the Laplace distribution given values for the others. */ PHP_FUNCTION(stats_cdf_laplace) { double arg1; @@ -1852,13 +1804,13 @@ PHP_FUNCTION(stats_cdf_laplace) double sd; zend_long which; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 4) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fourth parameter should be in the 1..4 range"); + php_error_docref(NULL, E_WARNING, "Fourth parameter should be in the 1..4 range"); RETURN_FALSE; } @@ -1909,7 +1861,7 @@ static double cauchy_cdf (double x) } /* {{{ proto float stats_cdf_cauchy(float par1, float par2, float par3, int which) - Calculates any one parameter of the Cauchy distribution given values for the others. */ + Calculates any one parameter of the Cauchy distribution given values for the others. */ PHP_FUNCTION(stats_cdf_cauchy) { double arg1; @@ -1922,13 +1874,13 @@ PHP_FUNCTION(stats_cdf_cauchy) double sd; zend_long which; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 4) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fourth parameter should be in the 1..4 range"); + php_error_docref(NULL, E_WARNING, "Fourth parameter should be in the 1..4 range"); RETURN_FALSE; } @@ -1978,7 +1930,7 @@ static double logistic_quantile (double p) } /* {{{ proto float stats_cdf_logistic(float par1, float par2, float par3, int which) - Calculates any one parameter of the logistic distribution given values for the others. */ + Calculates any one parameter of the logistic distribution given values for the others. */ PHP_FUNCTION(stats_cdf_logistic) { double arg1; @@ -1991,13 +1943,13 @@ PHP_FUNCTION(stats_cdf_logistic) double mean; zend_long which; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 4) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fourth parameter should be in the 1..4 range"); + php_error_docref(NULL, E_WARNING, "Fourth parameter should be in the 1..4 range"); RETURN_FALSE; } @@ -2037,7 +1989,7 @@ PHP_FUNCTION(stats_cdf_logistic) /* }}} */ /* {{{ proto float stats_cdf_weibull(float par1, float par2, float par3, int which) - Calculates any one parameter of the Weibull distribution given values for the others. */ + Calculates any one parameter of the Weibull distribution given values for the others. */ PHP_FUNCTION(stats_cdf_weibull) { double arg1; @@ -2049,13 +2001,13 @@ PHP_FUNCTION(stats_cdf_weibull) double b; zend_long which; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 4) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fourth parameter should be in the 1..4 range"); + php_error_docref(NULL, E_WARNING, "Fourth parameter should be in the 1..4 range"); RETURN_FALSE; } @@ -2087,7 +2039,7 @@ PHP_FUNCTION(stats_cdf_weibull) /* }}} */ /* {{{ proto float stats_cdf_uniform(float par1, float par2, float par3, int which) - Calculates any one parameter of the uniform distribution given values for the others. */ + Calculates any one parameter of the uniform distribution given values for the others. */ PHP_FUNCTION(stats_cdf_uniform) { double arg1; @@ -2099,13 +2051,13 @@ PHP_FUNCTION(stats_cdf_uniform) double b; zend_long which; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddl", &arg1, &arg2, &arg3, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 4) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Fourth parameter should be in the 1..4 range"); + php_error_docref(NULL, E_WARNING, "Fourth parameter should be in the 1..4 range"); RETURN_FALSE; } @@ -2128,7 +2080,7 @@ PHP_FUNCTION(stats_cdf_uniform) } if (which > 1 && (p < 0.0F || p > 1.0F)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "p is out of range. p : %16.6E", p); + php_error_docref(NULL, E_WARNING, "p is out of range. p : %16.6E", p); RETURN_FALSE; } @@ -2163,7 +2115,7 @@ static double exponential_cdf(double x) } /* {{{ proto float stats_cdf_exponential(float par1, float par2, int which) - Calculates any one parameter of the exponential distribution given values for the others. */ + Calculates any one parameter of the exponential distribution given values for the others. */ PHP_FUNCTION(stats_cdf_exponential) { double arg1; @@ -2173,13 +2125,13 @@ PHP_FUNCTION(stats_cdf_exponential) double scale; zend_long which; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddl", &arg1, &arg2, &which) == FAILURE) { RETURN_FALSE; } if (which < 1 || which > 3) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Third parameter should be in the 1..3 range"); + php_error_docref(NULL, E_WARNING, "Third parameter should be in the 1..3 range"); RETURN_FALSE; } @@ -2209,18 +2161,19 @@ PHP_FUNCTION(stats_cdf_exponential) /* RANDLIB functions */ /*********************/ -/* {{{ proto void stats_rand_setall(int iseed1, int iseed2) +/* {{{ proto bool stats_rand_setall(int iseed1, int iseed2) Not documented */ PHP_FUNCTION(stats_rand_setall) { zend_long iseed_1; zend_long iseed_2; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll", &iseed_1, &iseed_2) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ll", &iseed_1, &iseed_2) == FAILURE) { RETURN_FALSE; } setall(iseed_1, iseed_2); + RETURN_TRUE; } /* }}} */ @@ -2243,22 +2196,22 @@ PHP_FUNCTION(stats_rand_getsd) /* }}} */ /* {{{ proto int stats_rand_gen_iuniform(int low, int high) - Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive) */ + Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive) */ PHP_FUNCTION(stats_rand_gen_iuniform) { zend_long low; zend_long high; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll", &low, &high) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ll", &low, &high) == FAILURE) { RETURN_FALSE; } if (high - low > 2147483561L) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "high - low too large. low : %16ld high %16ld", low, high); + php_error_docref(NULL, E_WARNING, "high - low too large. low : %16ld high %16ld", low, high); RETURN_FALSE; } if (low > high) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "low greater than high. low : %16ld high %16ld", low, high); + php_error_docref(NULL, E_WARNING, "low greater than high. low : %16ld high %16ld", low, high); RETURN_FALSE; } @@ -2267,18 +2220,18 @@ PHP_FUNCTION(stats_rand_gen_iuniform) /* }}} */ /* {{{ proto float stats_rand_gen_funiform(float low, float high) - Generates uniform float between low (exclusive) and high (exclusive) */ + Generates uniform float between low (exclusive) and high (exclusive) */ PHP_FUNCTION(stats_rand_gen_funiform) { double low; double high; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dd", &low, &high) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dd", &low, &high) == FAILURE) { RETURN_FALSE; } if (low > high) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "low greater than high. low : %16.6E high : %16.6E", low, high); + php_error_docref(NULL, E_WARNING, "low greater than high. low : %16.6E high : %16.6E", low, high); RETURN_FALSE; } @@ -2287,7 +2240,7 @@ PHP_FUNCTION(stats_rand_gen_funiform) /* }}} */ /* {{{ proto int stats_rand_ignlgi(void) - Generates random integer between 1 and 2147483562 */ + Generates random integer between 1 and 2147483562 */ PHP_FUNCTION(stats_rand_ignlgi) { if (ZEND_NUM_ARGS() != 0) { @@ -2299,7 +2252,7 @@ PHP_FUNCTION(stats_rand_ignlgi) /* }}} */ /* {{{ proto float stats_rand_ranf(void) - Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator */ + Returns a random floating point number from a uniform distribution over 0 - 1 (endpoints of this interval are not returned) using the current generator */ PHP_FUNCTION(stats_rand_ranf) { if (ZEND_NUM_ARGS() != 0) { @@ -2317,12 +2270,12 @@ PHP_FUNCTION(stats_rand_gen_beta) double a; double b; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dd", &a, &b) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dd", &a, &b) == FAILURE) { RETURN_FALSE; } if (a < 1.0E-37 || b < 1.0E-37) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "'a' or 'b' lower than 1.0E-37. 'a' value : %16.6E 'b' value : %16.6E", a, b); + php_error_docref(NULL, E_WARNING, "'a' or 'b' lower than 1.0E-37. 'a' value : %16.6E 'b' value : %16.6E", a, b); RETURN_FALSE; } @@ -2336,12 +2289,12 @@ PHP_FUNCTION(stats_rand_gen_chisquare) { double df; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "d", &df) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "d", &df) == FAILURE) { RETURN_FALSE; } if (df <= 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "df <= 0.0. df : %16.6E", df); + php_error_docref(NULL, E_WARNING, "df <= 0.0. df : %16.6E", df); RETURN_FALSE; } @@ -2355,12 +2308,12 @@ PHP_FUNCTION(stats_rand_gen_exponential) { double av; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "d", &av) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "d", &av) == FAILURE) { RETURN_FALSE; } if (av < 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "av < 0.0"); + php_error_docref(NULL, E_WARNING, "av < 0.0"); RETURN_FALSE; } @@ -2375,12 +2328,12 @@ PHP_FUNCTION(stats_rand_gen_f) double dfn; double dfd; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dd", &dfn, &dfd) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dd", &dfn, &dfd) == FAILURE) { RETURN_FALSE; } if (dfn < 0.0 || dfd < 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Degrees of freedom nonpositive. DFN value:%16.6E DFD value:%16.6E", dfn, dfd); + php_error_docref(NULL, E_WARNING, "Degrees of freedom nonpositive. DFN value:%16.6E DFD value:%16.6E", dfn, dfd); RETURN_FALSE; } @@ -2395,12 +2348,12 @@ PHP_FUNCTION(stats_rand_gen_gamma) double a; double r; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dd", &a, &r) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dd", &a, &r) == FAILURE) { RETURN_FALSE; } if (!(a > 0.0 && r > 0.0)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "A or R nonpositive. A value : %16.6E , R value : %16.6E", a, r); + php_error_docref(NULL, E_WARNING, "A or R nonpositive. A value : %16.6E , R value : %16.6E", a, r); RETURN_FALSE; } @@ -2415,12 +2368,12 @@ PHP_FUNCTION(stats_rand_gen_noncentral_chisquare) double df; double xnonc; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dd", &df, &xnonc) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dd", &df, &xnonc) == FAILURE) { RETURN_FALSE; } if (df < 1.0 || xnonc < 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "df < 1 or xnonc < 0. df value : %16.6E xnonc value : %16.6E", df, xnonc); + php_error_docref(NULL, E_WARNING, "df < 1 or xnonc < 0. df value : %16.6E xnonc value : %16.6E", df, xnonc); RETURN_FALSE; } @@ -2428,20 +2381,20 @@ PHP_FUNCTION(stats_rand_gen_noncentral_chisquare) } /* }}} */ -/* {{{ proto float stats_rand_gen_noncenral_f(float dfn, float dfd, float xnonc) +/* {{{ proto float stats_rand_gen_noncentral_f(float dfn, float dfd, float xnonc) Generates a random deviate from the noncentral F (variance ratio) distribution with "dfn" degrees of freedom in the numerator, and "dfd" degrees of freedom in the denominator, and noncentrality parameter "xnonc". Method : directly generates ratio of noncentral numerator chisquare variate to central denominator chisquare variate. */ -PHP_FUNCTION(stats_rand_gen_noncenral_f) +PHP_FUNCTION(stats_rand_gen_noncentral_f) { double dfn; double dfd; double xnonc; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ddd", &dfn, &dfd, &xnonc) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddd", &dfn, &dfd, &xnonc) == FAILURE) { RETURN_FALSE; } if (dfn < 1.0 || dfd <= 0.0 || xnonc < 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn: %16.6E dfd: %16.6E xnonc: %16.6E", dfn, dfd, xnonc); + php_error_docref(NULL, E_WARNING, "Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn: %16.6E dfd: %16.6E xnonc: %16.6E", dfn, dfd, xnonc); RETURN_FALSE; } @@ -2456,12 +2409,12 @@ PHP_FUNCTION(stats_rand_gen_normal) double av; double sd; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dd", &av, &sd) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dd", &av, &sd) == FAILURE) { RETURN_FALSE; } if (sd < 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "sd < 0.0 . sd : %16.6E", sd); + php_error_docref(NULL, E_WARNING, "sd < 0.0 . sd : %16.6E", sd); RETURN_FALSE; } @@ -2478,7 +2431,7 @@ PHP_FUNCTION(stats_rand_phrase_to_seeds) long seed_1; long seed_2; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &par1) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "z", &par1) == FAILURE) { RETURN_FALSE; } convert_to_string_ex(par1); @@ -2500,12 +2453,12 @@ PHP_FUNCTION(stats_rand_ibinomial) zend_long n; double pp; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ld", &n, &pp) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ld", &n, &pp) == FAILURE) { RETURN_FALSE; } if ((n < 0) || (pp < 0.0) || (pp > 1.0)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Bad values for the arguments. n : %ld pp : %16.6E", n, pp); + php_error_docref(NULL, E_WARNING, "Bad values for the arguments. n : %ld pp : %16.6E", n, pp); RETURN_FALSE; } @@ -2520,16 +2473,16 @@ PHP_FUNCTION(stats_rand_ibinomial_negative) zend_long n; double p; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ld", &n, &p) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ld", &n, &p) == FAILURE) { RETURN_FALSE; } if (n <= 0L) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "n < 0. n : %ld", n); + php_error_docref(NULL, E_WARNING, "n < 0. n : %ld", n); RETURN_FALSE; } if (p < 0.0F || p > 1.0F) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "p is out of range. p : %16.E", p); + php_error_docref(NULL, E_WARNING, "p is out of range. p : %16.E", p); RETURN_FALSE; } @@ -2543,12 +2496,12 @@ PHP_FUNCTION(stats_rand_gen_ipoisson) { double mu; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "d", &mu) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "d", &mu) == FAILURE) { RETURN_FALSE; } if (mu < 0.0F) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "mu < 0.0 . mu : %16.6E", mu); + php_error_docref(NULL, E_WARNING, "mu < 0.0 . mu : %16.6E", mu); RETURN_FALSE; } @@ -2563,12 +2516,12 @@ PHP_FUNCTION(stats_rand_gen_noncentral_t) double df; double xnonc; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dd", &df, &xnonc) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dd", &df, &xnonc) == FAILURE) { RETURN_FALSE; } if (df < 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "df <= 0 . df : %16.6E", df); + php_error_docref(NULL, E_WARNING, "df <= 0 . df : %16.6E", df); RETURN_FALSE; } @@ -2583,7 +2536,7 @@ PHP_FUNCTION(stats_rand_gen_t) zval *arg1; double df; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &arg1) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "z", &arg1) == FAILURE) { RETURN_FALSE; } @@ -2591,7 +2544,7 @@ PHP_FUNCTION(stats_rand_gen_t) df = Z_DVAL_P(arg1); if (df <= 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "df <= 0 . df : %16.6E", df); + php_error_docref(NULL, E_WARNING, "df <= 0 . df : %16.6E", df); RETURN_FALSE; } @@ -2613,13 +2566,13 @@ PHP_FUNCTION(stats_dens_normal) double y; double z; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddd", &x, &ave, &stdev) == FAILURE) { RETURN_FALSE; } if (stdev == 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "stdev is 0.0"); + php_error_docref(NULL, E_WARNING, "stdev is 0.0"); RETURN_FALSE; } @@ -2640,13 +2593,13 @@ PHP_FUNCTION(stats_dens_cauchy) double y; double z; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddd", &x, &ave, &stdev) == FAILURE) { RETURN_FALSE; } if (stdev == 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "stdev is 0.0"); + php_error_docref(NULL, E_WARNING, "stdev is 0.0"); RETURN_FALSE; } @@ -2667,13 +2620,13 @@ PHP_FUNCTION(stats_dens_laplace) double y; double z; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddd", &x, &ave, &stdev) == FAILURE) { RETURN_FALSE; } if (stdev == 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "stdev is 0.0"); + php_error_docref(NULL, E_WARNING, "stdev is 0.0"); RETURN_FALSE; } @@ -2694,13 +2647,13 @@ PHP_FUNCTION(stats_dens_logistic) double y; double z; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddd", &x, &ave, &stdev) == FAILURE) { RETURN_FALSE; } if (stdev == 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "stdev is 0.0"); + php_error_docref(NULL, E_WARNING, "stdev is 0.0"); RETURN_FALSE; } @@ -2721,7 +2674,7 @@ PHP_FUNCTION(stats_dens_beta) double x; double y; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ddd", &x, &a, &b) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddd", &x, &a, &b) == FAILURE) { RETURN_FALSE; } @@ -2741,12 +2694,12 @@ PHP_FUNCTION(stats_dens_weibull) double x; double y; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ddd", &x, &a, &b) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddd", &x, &a, &b) == FAILURE) { RETURN_FALSE; } if (b == 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "b is 0.0"); + php_error_docref(NULL, E_WARNING, "b is 0.0"); RETURN_FALSE; } @@ -2765,13 +2718,13 @@ PHP_FUNCTION(stats_dens_uniform) double x; double y; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddd", &x, &a, &b) == FAILURE) { RETURN_FALSE; } if (a == b) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "b == a == %16.6E", a); + php_error_docref(NULL, E_WARNING, "b == a == %16.6E", a); RETURN_FALSE; } @@ -2795,7 +2748,7 @@ PHP_FUNCTION(stats_dens_chisquare) double y; double z; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dd", &x, &dfr) == FAILURE) { RETURN_FALSE; } @@ -2820,12 +2773,12 @@ PHP_FUNCTION(stats_dens_t) double fac3; double x; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dd", &x, &dfr) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dd", &x, &dfr) == FAILURE) { RETURN_FALSE; } if (dfr == 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "dfr == 0.0"); + php_error_docref(NULL, E_WARNING, "dfr == 0.0"); RETURN_FALSE; } @@ -2848,12 +2801,12 @@ PHP_FUNCTION(stats_dens_gamma) double x; double z; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ddd", &x, &shape, &scale) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddd", &x, &shape, &scale) == FAILURE) { RETURN_FALSE; } if (scale == 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "scale == 0.0"); + php_error_docref(NULL, E_WARNING, "scale == 0.0"); RETURN_FALSE; } @@ -2875,12 +2828,12 @@ PHP_FUNCTION(stats_dens_exponential) double x; double y; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dd", &x, &scale) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dd", &x, &scale) == FAILURE) { RETURN_FALSE; } if (scale == 0.0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "scale == 0.0"); + php_error_docref(NULL, E_WARNING, "scale == 0.0"); RETURN_FALSE; } @@ -2895,7 +2848,7 @@ PHP_FUNCTION(stats_dens_exponential) /* }}} */ /* {{{ proto float stats_dens_f(float x, float dfr1, float dfr2) - Not documented */ + Not documented */ PHP_FUNCTION(stats_dens_f) { double dfr1; @@ -2909,7 +2862,7 @@ PHP_FUNCTION(stats_dens_f) double x; double z; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ddd", &x, &dfr1, &dfr2) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddd", &x, &dfr1, &dfr2) == FAILURE) { RETURN_FALSE; } @@ -2949,7 +2902,7 @@ PHP_FUNCTION(stats_dens_pmf_binomial) double n; double x; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddd", &x, &n, &pi) == FAILURE) { RETURN_FALSE; } @@ -2957,7 +2910,7 @@ PHP_FUNCTION(stats_dens_pmf_binomial) if ((x == 0.0 && n == 0.0) || (pi == 0.0 && x == 0.0) || ( (1.0 - pi) == 0.0 && (n - x) == 0) ) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Params leading to pow(0, 0). x:%16.6E n:%16.6E pi:%16.6E", x, n, pi); + php_error_docref(NULL, E_WARNING, "Params leading to pow(0, 0). x:%16.6E n:%16.6E pi:%16.6E", x, n, pi); RETURN_FALSE; } @@ -2975,7 +2928,7 @@ PHP_FUNCTION(stats_dens_pmf_poisson) double z; double x; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dd", &x, &lb) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dd", &x, &lb) == FAILURE) { RETURN_FALSE; } @@ -2994,12 +2947,12 @@ PHP_FUNCTION(stats_dens_pmf_negative_binomial) double n; double x; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ddd", &x, &n, &pi) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ddd", &x, &n, &pi) == FAILURE) { RETURN_FALSE; } if ((pi == 0.0 && n == 0.0) || ((1.0 - pi) == 0.0 && x == 0.0)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Params leading to pow(0, 0). x:%16.6E n:%16.6E pi:%16.6E", x, n, pi); + php_error_docref(NULL, E_WARNING, "Params leading to pow(0, 0). x:%16.6E n:%16.6E pi:%16.6E", x, n, pi); RETURN_FALSE; } @@ -3010,7 +2963,7 @@ PHP_FUNCTION(stats_dens_pmf_negative_binomial) /* }}} */ /* {{{ proto float stats_dens_pmf_hypergeometric(float n1, float n2, float N1, float N2) - Not documented */ + Not documented */ PHP_FUNCTION(stats_dens_pmf_hypergeometric) { double y; @@ -3019,12 +2972,12 @@ PHP_FUNCTION(stats_dens_pmf_hypergeometric) double n1; double n2; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "dddd", &n1, &n2, &N1, &N2) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "dddd", &n1, &n2, &N1, &N2) == FAILURE) { RETURN_FALSE; } if ((int)(n1 + n2) >= (int)(N1 + N2)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "possible division by zero - n1+n2 >= N1+N2"); + php_error_docref(NULL, E_WARNING, "possible division by zero - n1+n2 >= N1+N2"); /* RETURN_FALSE; */ } @@ -3047,7 +3000,7 @@ PHP_FUNCTION(stats_stat_powersum) double power; double sum = 0.0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z/z", &arg1, &arg2) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "z/z", &arg1, &arg2) == FAILURE) { RETURN_FALSE; } @@ -3061,7 +3014,7 @@ PHP_FUNCTION(stats_stat_powersum) if (Z_DVAL_P(data) != 0 || power != 0) { sum += pow (Z_DVAL_P(data), power); } else { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Both value and power are zero"); + php_error_docref(NULL, E_WARNING, "Both value and power are zero"); } zend_hash_move_forward_ex(Z_ARRVAL_P(arg1), &pos); } @@ -3071,7 +3024,7 @@ PHP_FUNCTION(stats_stat_powersum) /* }}} */ /* {{{ proto float stats_stat_innerproduct(array arr1, array arr2) - Not documented */ + Not documented */ PHP_FUNCTION(stats_stat_innerproduct) { zval *arg1, *arg2; @@ -3081,14 +3034,14 @@ PHP_FUNCTION(stats_stat_innerproduct) double sum = 0.0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z/z/", &arg1, &arg2) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "z/z/", &arg1, &arg2) == FAILURE) { RETURN_FALSE; } convert_to_array_ex(arg1); convert_to_array_ex(arg2); if (zend_hash_num_elements(Z_ARRVAL_P(arg1)) != zend_hash_num_elements(Z_ARRVAL_P(arg2))) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unequal number of X and Y coordinates"); + php_error_docref(NULL, E_WARNING, "Unequal number of X and Y coordinates"); RETURN_FALSE; } @@ -3130,7 +3083,7 @@ PHP_FUNCTION(stats_stat_independent_t) double fc; double ts; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z/z/", &arg1, &arg2) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "z/z/", &arg1, &arg2) == FAILURE) { RETURN_FALSE; } convert_to_array_ex(arg1); @@ -3139,7 +3092,7 @@ PHP_FUNCTION(stats_stat_independent_t) xnum = zend_hash_num_elements(Z_ARRVAL_P(arg1)); ynum = zend_hash_num_elements(Z_ARRVAL_P(arg2)); if ( xnum < 2 || ynum < 2) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Each argument should have more than 1 element"); + php_error_docref(NULL, E_WARNING, "Each argument should have more than 1 element"); RETURN_FALSE; } @@ -3189,7 +3142,7 @@ PHP_FUNCTION(stats_stat_paired_t) double ts; double cur; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z/z/", &arg1, &arg2) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "z/z/", &arg1, &arg2) == FAILURE) { RETURN_FALSE; } convert_to_array_ex(arg1); @@ -3199,11 +3152,11 @@ PHP_FUNCTION(stats_stat_paired_t) ynum = zend_hash_num_elements(Z_ARRVAL_P(arg2)); if (xnum != ynum) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unequal number of X and Y coordinates"); + php_error_docref(NULL, E_WARNING, "Unequal number of X and Y coordinates"); RETURN_FALSE; } if (xnum < 2) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "arr1 should have atleast 2 elements"); + php_error_docref(NULL, E_WARNING, "arr1 should have atleast 2 elements"); RETURN_FALSE; } @@ -3231,7 +3184,7 @@ PHP_FUNCTION(stats_stat_paired_t) /* }}} */ /* {{{ proto float stats_stat_percentile(array arr, float perc) - Not documented */ + Not documented */ PHP_FUNCTION(stats_stat_percentile) { zval *arg1, *arg2; @@ -3246,7 +3199,7 @@ PHP_FUNCTION(stats_stat_percentile) double upp; double val = 0.0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z/z", &arg1, &arg2) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "z/z", &arg1, &arg2) == FAILURE) { RETURN_FALSE; } @@ -3256,9 +3209,7 @@ PHP_FUNCTION(stats_stat_percentile) xnum = zend_hash_num_elements(Z_ARRVAL_P(arg1)); - if (zend_hash_sort(Z_ARRVAL_P(arg1), stats_array_data_compare, 1) == FAILURE) { - RETURN_FALSE; - } + zend_hash_sort(Z_ARRVAL_P(arg1), stats_array_data_compare, 1); zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(arg1), &pos1); @@ -3317,7 +3268,7 @@ PHP_FUNCTION(stats_stat_correlation) double cc; double rr; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z/z/", &arg1, &arg2) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "z/z/", &arg1, &arg2) == FAILURE) { RETURN_FALSE; } @@ -3328,7 +3279,7 @@ PHP_FUNCTION(stats_stat_correlation) ynum = zend_hash_num_elements(Z_ARRVAL_P(arg2)); if (xnum != ynum) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unequal number of X and Y coordinates"); + php_error_docref(NULL, E_WARNING, "Unequal number of X and Y coordinates"); RETURN_FALSE; } @@ -3371,7 +3322,7 @@ PHP_FUNCTION(stats_stat_binomial_coef) zend_long x; double bc = 1.0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ll", &x, &n) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "ll", &x, &n) == FAILURE) { RETURN_FALSE; } @@ -3391,7 +3342,7 @@ PHP_FUNCTION(stats_stat_factorial) zend_long i; double f = 1; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &n) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &n) == FAILURE) { RETURN_FALSE; } @@ -3459,21 +3410,21 @@ static long double php_population_variance(zval *arr, zend_bool sample) /* {{{ proto float stats_variance(array a [, bool sample = false]) - Returns the population variance */ + Returns the population variance */ PHP_FUNCTION(stats_variance) { zval *arr; zend_bool sample = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/|b", &arr, &sample) == FAILURE) { - return; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "a/|b", &arr, &sample) == FAILURE) { + RETURN_FALSE; } if (zend_hash_num_elements(Z_ARRVAL_P(arr)) == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The array has zero elements"); + php_error_docref(NULL, E_WARNING, "The array has zero elements"); RETURN_FALSE; } if (sample && zend_hash_num_elements(Z_ARRVAL_P(arr)) == 1) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The array has only 1 element"); + php_error_docref(NULL, E_WARNING, "The array has only 1 element"); RETURN_FALSE; } RETURN_DOUBLE(php_population_variance(arr, sample)); @@ -3481,21 +3432,21 @@ PHP_FUNCTION(stats_variance) /* }}} */ /* {{{ proto float stats_standard_deviation(array a [, bool sample = false]) - Returns the standard deviation */ + Returns the standard deviation */ PHP_FUNCTION(stats_standard_deviation) { zval *arr; zend_bool sample = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/|b", &arr, &sample) == FAILURE) { - return; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "a/|b", &arr, &sample) == FAILURE) { + RETURN_FALSE; } if (zend_hash_num_elements(Z_ARRVAL_P(arr)) == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The array has zero elements"); + php_error_docref(NULL, E_WARNING, "The array has zero elements"); RETURN_FALSE; } if (sample && zend_hash_num_elements(Z_ARRVAL_P(arr)) == 1) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The array has only 1 element"); + php_error_docref(NULL, E_WARNING, "The array has only 1 element"); RETURN_FALSE; } RETURN_DOUBLE(sqrt(php_population_variance(arr, sample))); @@ -3504,7 +3455,7 @@ PHP_FUNCTION(stats_standard_deviation) /* {{{ proto float stats_absolute_deviation(array a) - Returns the absolute deviation of an array of values */ + Returns the absolute deviation of an array of values */ PHP_FUNCTION(stats_absolute_deviation) { zval *arr; @@ -3513,11 +3464,11 @@ PHP_FUNCTION(stats_absolute_deviation) HashPosition pos; int elements_num; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/", &arr) == FAILURE) { - return; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "a/", &arr) == FAILURE) { + RETURN_FALSE; } if ((elements_num = zend_hash_num_elements(Z_ARRVAL_P(arr))) == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The array has zero elements"); + php_error_docref(NULL, E_WARNING, "The array has zero elements"); RETURN_FALSE; } @@ -3534,7 +3485,7 @@ PHP_FUNCTION(stats_absolute_deviation) /* }}} */ /* {{{ proto float stats_harmonic_mean(array a) - Returns the harmonic mean of an array of values */ + Returns the harmonic mean of an array of values */ PHP_FUNCTION(stats_harmonic_mean) { zval *arr; @@ -3543,11 +3494,11 @@ PHP_FUNCTION(stats_harmonic_mean) HashPosition pos; int elements_num; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/", &arr) == FAILURE) { - return; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "a/", &arr) == FAILURE) { + RETURN_FALSE; } if ((elements_num = zend_hash_num_elements(Z_ARRVAL_P(arr))) == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The array has zero elements"); + php_error_docref(NULL, E_WARNING, "The array has zero elements"); RETURN_FALSE; } @@ -3566,7 +3517,7 @@ PHP_FUNCTION(stats_harmonic_mean) /* }}} */ /* {{{ proto float stats_skew(array a) - Computes the skewness of the data in the array */ + Computes the skewness of the data in the array */ PHP_FUNCTION(stats_skew) { zval *arr; @@ -3575,11 +3526,11 @@ PHP_FUNCTION(stats_skew) HashPosition pos; int elements_num, i = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/", &arr) == FAILURE) { - return; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "a/", &arr) == FAILURE) { + RETURN_FALSE; } if ((elements_num = zend_hash_num_elements(Z_ARRVAL_P(arr))) == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The array has zero elements"); + php_error_docref(NULL, E_WARNING, "The array has zero elements"); RETURN_FALSE; } @@ -3604,7 +3555,7 @@ PHP_FUNCTION(stats_skew) /* }}} */ /* {{{ proto float stats_kurtosis(array a) - Computes the kurtosis of the data in the array */ + Computes the kurtosis of the data in the array */ PHP_FUNCTION(stats_kurtosis) { zval *arr; @@ -3613,11 +3564,11 @@ PHP_FUNCTION(stats_kurtosis) HashPosition pos; int elements_num, i = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/", &arr) == FAILURE) { - return; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "a/", &arr) == FAILURE) { + RETURN_FALSE; } if ((elements_num = zend_hash_num_elements(Z_ARRVAL_P(arr))) == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The array has zero elements"); + php_error_docref(NULL, E_WARNING, "The array has zero elements"); RETURN_FALSE; } @@ -3644,7 +3595,7 @@ PHP_FUNCTION(stats_kurtosis) /* {{{ proto float stats_covariance(array a, array b) - Computes the covariance of two data sets */ + Computes the covariance of two data sets */ PHP_FUNCTION(stats_covariance) { zval *arr_1, *arr_2; @@ -3653,19 +3604,19 @@ PHP_FUNCTION(stats_covariance) HashPosition pos_1, pos_2; int elements_num, i = 0; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a/a/", &arr_1, &arr_2) == FAILURE) { - return; + if (zend_parse_parameters(ZEND_NUM_ARGS(), "a/a/", &arr_1, &arr_2) == FAILURE) { + RETURN_FALSE; } if ((elements_num = zend_hash_num_elements(Z_ARRVAL_P(arr_1))) == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The first array has zero elements"); + php_error_docref(NULL, E_WARNING, "The first array has zero elements"); RETURN_FALSE; } if (zend_hash_num_elements(Z_ARRVAL_P(arr_2)) == 0) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The second array has zero elements"); + php_error_docref(NULL, E_WARNING, "The second array has zero elements"); RETURN_FALSE; } if (elements_num != zend_hash_num_elements(Z_ARRVAL_P(arr_2))) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "The datasets are not of the same size"); + php_error_docref(NULL, E_WARNING, "The datasets are not of the same size"); RETURN_FALSE; } diff --git a/php_stats.h b/php_stats.h index af449b3..090ef3d 100644 --- a/php_stats.h +++ b/php_stats.h @@ -16,8 +16,6 @@ +----------------------------------------------------------------------+ */ -/* $Id$ */ - #ifndef PHP_STATS_H #define PHP_STATS_H @@ -35,77 +33,6 @@ extern zend_module_entry stats_module_entry; PHP_MINFO_FUNCTION(stats); -PHP_FUNCTION(stats_cdf_t); -PHP_FUNCTION(stats_cdf_normal); -PHP_FUNCTION(stats_cdf_gamma); -PHP_FUNCTION(stats_cdf_chisquare); -PHP_FUNCTION(stats_cdf_beta); -PHP_FUNCTION(stats_cdf_binomial); -PHP_FUNCTION(stats_cdf_noncentral_chisquare); -PHP_FUNCTION(stats_cdf_f); -PHP_FUNCTION(stats_cdf_noncentral_f); -PHP_FUNCTION(stats_cdf_noncentral_t); -PHP_FUNCTION(stats_cdf_negative_binomial); -PHP_FUNCTION(stats_cdf_poisson); -PHP_FUNCTION(stats_cdf_laplace); -PHP_FUNCTION(stats_cdf_cauchy); -PHP_FUNCTION(stats_cdf_logistic); -PHP_FUNCTION(stats_cdf_weibull); -PHP_FUNCTION(stats_cdf_uniform); -PHP_FUNCTION(stats_cdf_exponential); -PHP_FUNCTION(stats_rand_setall); -PHP_FUNCTION(stats_rand_getsd); -PHP_FUNCTION(stats_rand_gen_iuniform); -PHP_FUNCTION(stats_rand_gen_funiform); -PHP_FUNCTION(stats_rand_ignlgi); -PHP_FUNCTION(stats_rand_ranf); -PHP_FUNCTION(stats_rand_gen_beta); -PHP_FUNCTION(stats_rand_gen_chisquare); -PHP_FUNCTION(stats_rand_gen_exponential); -PHP_FUNCTION(stats_rand_gen_f); -PHP_FUNCTION(stats_rand_gen_gamma); -PHP_FUNCTION(stats_rand_gen_noncentral_chisquare); -PHP_FUNCTION(stats_rand_gen_noncenral_f); -PHP_FUNCTION(stats_rand_gen_normal); -PHP_FUNCTION(stats_rand_phrase_to_seeds); -PHP_FUNCTION(stats_rand_ibinomial); -PHP_FUNCTION(stats_rand_ibinomial_negative); -PHP_FUNCTION(stats_rand_gen_ipoisson); -PHP_FUNCTION(stats_rand_gen_noncentral_t); -PHP_FUNCTION(stats_rand_gen_t); -PHP_FUNCTION(stats_dens_normal); -PHP_FUNCTION(stats_dens_cauchy); -PHP_FUNCTION(stats_dens_laplace); -PHP_FUNCTION(stats_dens_logistic); -PHP_FUNCTION(stats_dens_beta); -PHP_FUNCTION(stats_dens_weibull); -PHP_FUNCTION(stats_dens_uniform); -PHP_FUNCTION(stats_dens_chisquare); -PHP_FUNCTION(stats_dens_t); -PHP_FUNCTION(stats_dens_gamma); -PHP_FUNCTION(stats_dens_exponential); -PHP_FUNCTION(stats_dens_f); -PHP_FUNCTION(stats_dens_pmf_binomial); -PHP_FUNCTION(stats_dens_pmf_poisson); -PHP_FUNCTION(stats_dens_pmf_negative_binomial); -PHP_FUNCTION(stats_dens_pmf_hypergeometric); -PHP_FUNCTION(stats_stat_powersum); -PHP_FUNCTION(stats_stat_innerproduct); -PHP_FUNCTION(stats_stat_independent_t); -PHP_FUNCTION(stats_stat_paired_t); -PHP_FUNCTION(stats_stat_percentile); -PHP_FUNCTION(stats_stat_correlation); -PHP_FUNCTION(stats_stat_binomial_coef); -PHP_FUNCTION(stats_stat_factorial); -PHP_FUNCTION(stats_variance); -PHP_FUNCTION(stats_standard_deviation); -PHP_FUNCTION(stats_absolute_deviation); -PHP_FUNCTION(stats_harmonic_mean); -PHP_FUNCTION(stats_skew); -PHP_FUNCTION(stats_kurtosis); -PHP_FUNCTION(stats_covariance); - - #ifdef ZTS #define STATS_D zend_stats_globals *stats_globals #define STATS_G(v) (stats_globals->v) diff --git a/stats_arginfo.h b/stats_arginfo.h new file mode 100644 index 0000000..3c99ebf --- /dev/null +++ b/stats_arginfo.h @@ -0,0 +1,406 @@ +/* This is a generated file, edit the .stub.php file instead. + * Stub hash: e6cfe06b9c3e187348f16fd6a34bb7eafc5042d9 */ + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_cdf_t, 0, 3, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, par1, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, par2, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, which, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_cdf_normal, 0, 4, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, par1, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, par2, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, par3, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, which, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_stats_cdf_gamma arginfo_stats_cdf_normal + +#define arginfo_stats_cdf_chisquare arginfo_stats_cdf_t + +#define arginfo_stats_cdf_beta arginfo_stats_cdf_normal + +#define arginfo_stats_cdf_binomial arginfo_stats_cdf_normal + +#define arginfo_stats_cdf_noncentral_chisquare arginfo_stats_cdf_normal + +#define arginfo_stats_cdf_f arginfo_stats_cdf_normal + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_cdf_noncentral_f, 0, 5, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, par1, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, par2, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, par3, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, par4, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, which, IS_LONG, 0) +ZEND_END_ARG_INFO() + +#define arginfo_stats_cdf_noncentral_t arginfo_stats_cdf_normal + +#define arginfo_stats_cdf_negative_binomial arginfo_stats_cdf_normal + +#define arginfo_stats_cdf_poisson arginfo_stats_cdf_t + +#define arginfo_stats_cdf_laplace arginfo_stats_cdf_normal + +#define arginfo_stats_cdf_cauchy arginfo_stats_cdf_normal + +#define arginfo_stats_cdf_logistic arginfo_stats_cdf_normal + +#define arginfo_stats_cdf_weibull arginfo_stats_cdf_normal + +#define arginfo_stats_cdf_uniform arginfo_stats_cdf_normal + +#define arginfo_stats_cdf_exponential arginfo_stats_cdf_t + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stats_rand_setall, 0, 2, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, iseed1, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, iseed2, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stats_rand_getsd, 0, 0, IS_ARRAY, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_gen_iuniform, 0, 2, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, low, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, high, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_gen_funiform, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, low, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, high, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stats_rand_ignlgi, 0, 0, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_ranf, 0, 0, MAY_BE_DOUBLE|MAY_BE_FALSE) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_gen_beta, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, a, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, b, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_gen_chisquare, 0, 1, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, df, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_gen_exponential, 0, 1, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, av, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_gen_f, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, dfn, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, dfd, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_gen_gamma, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, a, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, r, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_gen_noncentral_chisquare, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, df, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, xnonc, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_gen_noncentral_f, 0, 3, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, dfn, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, dfd, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, xnonc, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +#define arginfo_stats_rand_gen_noncenral_f arginfo_stats_rand_gen_noncentral_f + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_gen_normal, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, av, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, sd, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_phrase_to_seeds, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, phrase, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_ibinomial, 0, 2, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, pp, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_ibinomial_negative, 0, 2, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, p, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_gen_ipoisson, 0, 1, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, mu, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +#define arginfo_stats_rand_gen_noncentral_t arginfo_stats_rand_gen_noncentral_chisquare + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_rand_gen_t, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, df, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_dens_normal, 0, 3, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, x, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, ave, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, stdev, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +#define arginfo_stats_dens_cauchy arginfo_stats_dens_normal + +#define arginfo_stats_dens_laplace arginfo_stats_dens_normal + +#define arginfo_stats_dens_logistic arginfo_stats_dens_normal + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_dens_beta, 0, 3, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, x, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, a, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, b, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +#define arginfo_stats_dens_weibull arginfo_stats_dens_beta + +#define arginfo_stats_dens_uniform arginfo_stats_dens_beta + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_dens_chisquare, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, x, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, dfr, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +#define arginfo_stats_dens_t arginfo_stats_dens_chisquare + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_dens_gamma, 0, 3, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, x, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, shape, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, scale, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_dens_exponential, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, x, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, scale, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_dens_f, 0, 3, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, x, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, dfr1, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, dfr2, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_dens_pmf_binomial, 0, 3, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, x, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, n, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, pi, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_dens_pmf_poisson, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, x, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, lb, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +#define arginfo_stats_dens_pmf_negative_binomial arginfo_stats_dens_pmf_binomial + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_dens_pmf_hypergeometric, 0, 4, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, n1, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, n2, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, N1, IS_DOUBLE, 0) + ZEND_ARG_TYPE_INFO(0, N2, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_stat_powersum, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, arr, IS_ARRAY, 0) + ZEND_ARG_TYPE_INFO(0, power, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_stat_innerproduct, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, arr1, IS_ARRAY, 0) + ZEND_ARG_TYPE_INFO(0, arr2, IS_ARRAY, 0) +ZEND_END_ARG_INFO() + +#define arginfo_stats_stat_independent_t arginfo_stats_stat_innerproduct + +#define arginfo_stats_stat_paired_t arginfo_stats_stat_innerproduct + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_stat_percentile, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, arr, IS_ARRAY, 0) + ZEND_ARG_TYPE_INFO(0, perc, IS_DOUBLE, 0) +ZEND_END_ARG_INFO() + +#define arginfo_stats_stat_correlation arginfo_stats_stat_innerproduct + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_stat_binomial_coef, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_stat_factorial, 0, 1, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_variance, 0, 1, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, a, IS_ARRAY, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, sample, _IS_BOOL, 0, "false") +ZEND_END_ARG_INFO() + +#define arginfo_stats_standard_deviation arginfo_stats_variance + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_absolute_deviation, 0, 1, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, a, IS_ARRAY, 0) +ZEND_END_ARG_INFO() + +#define arginfo_stats_harmonic_mean arginfo_stats_absolute_deviation + +#define arginfo_stats_skew arginfo_stats_absolute_deviation + +#define arginfo_stats_kurtosis arginfo_stats_absolute_deviation + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_stats_covariance, 0, 2, MAY_BE_DOUBLE|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, a, IS_ARRAY, 0) + ZEND_ARG_TYPE_INFO(0, b, IS_ARRAY, 0) +ZEND_END_ARG_INFO() + + +ZEND_FUNCTION(stats_cdf_t); +ZEND_FUNCTION(stats_cdf_normal); +ZEND_FUNCTION(stats_cdf_gamma); +ZEND_FUNCTION(stats_cdf_chisquare); +ZEND_FUNCTION(stats_cdf_beta); +ZEND_FUNCTION(stats_cdf_binomial); +ZEND_FUNCTION(stats_cdf_noncentral_chisquare); +ZEND_FUNCTION(stats_cdf_f); +ZEND_FUNCTION(stats_cdf_noncentral_f); +ZEND_FUNCTION(stats_cdf_noncentral_t); +ZEND_FUNCTION(stats_cdf_negative_binomial); +ZEND_FUNCTION(stats_cdf_poisson); +ZEND_FUNCTION(stats_cdf_laplace); +ZEND_FUNCTION(stats_cdf_cauchy); +ZEND_FUNCTION(stats_cdf_logistic); +ZEND_FUNCTION(stats_cdf_weibull); +ZEND_FUNCTION(stats_cdf_uniform); +ZEND_FUNCTION(stats_cdf_exponential); +ZEND_FUNCTION(stats_rand_setall); +ZEND_FUNCTION(stats_rand_getsd); +ZEND_FUNCTION(stats_rand_gen_iuniform); +ZEND_FUNCTION(stats_rand_gen_funiform); +ZEND_FUNCTION(stats_rand_ignlgi); +ZEND_FUNCTION(stats_rand_ranf); +ZEND_FUNCTION(stats_rand_gen_beta); +ZEND_FUNCTION(stats_rand_gen_chisquare); +ZEND_FUNCTION(stats_rand_gen_exponential); +ZEND_FUNCTION(stats_rand_gen_f); +ZEND_FUNCTION(stats_rand_gen_gamma); +ZEND_FUNCTION(stats_rand_gen_noncentral_chisquare); +ZEND_FUNCTION(stats_rand_gen_noncentral_f); +ZEND_FUNCTION(stats_rand_gen_normal); +ZEND_FUNCTION(stats_rand_phrase_to_seeds); +ZEND_FUNCTION(stats_rand_ibinomial); +ZEND_FUNCTION(stats_rand_ibinomial_negative); +ZEND_FUNCTION(stats_rand_gen_ipoisson); +ZEND_FUNCTION(stats_rand_gen_noncentral_t); +ZEND_FUNCTION(stats_rand_gen_t); +ZEND_FUNCTION(stats_dens_normal); +ZEND_FUNCTION(stats_dens_cauchy); +ZEND_FUNCTION(stats_dens_laplace); +ZEND_FUNCTION(stats_dens_logistic); +ZEND_FUNCTION(stats_dens_beta); +ZEND_FUNCTION(stats_dens_weibull); +ZEND_FUNCTION(stats_dens_uniform); +ZEND_FUNCTION(stats_dens_chisquare); +ZEND_FUNCTION(stats_dens_t); +ZEND_FUNCTION(stats_dens_gamma); +ZEND_FUNCTION(stats_dens_exponential); +ZEND_FUNCTION(stats_dens_f); +ZEND_FUNCTION(stats_dens_pmf_binomial); +ZEND_FUNCTION(stats_dens_pmf_poisson); +ZEND_FUNCTION(stats_dens_pmf_negative_binomial); +ZEND_FUNCTION(stats_dens_pmf_hypergeometric); +ZEND_FUNCTION(stats_stat_powersum); +ZEND_FUNCTION(stats_stat_innerproduct); +ZEND_FUNCTION(stats_stat_independent_t); +ZEND_FUNCTION(stats_stat_paired_t); +ZEND_FUNCTION(stats_stat_percentile); +ZEND_FUNCTION(stats_stat_correlation); +ZEND_FUNCTION(stats_stat_binomial_coef); +ZEND_FUNCTION(stats_stat_factorial); +ZEND_FUNCTION(stats_variance); +ZEND_FUNCTION(stats_standard_deviation); +ZEND_FUNCTION(stats_absolute_deviation); +ZEND_FUNCTION(stats_harmonic_mean); +ZEND_FUNCTION(stats_skew); +ZEND_FUNCTION(stats_kurtosis); +ZEND_FUNCTION(stats_covariance); + + +static const zend_function_entry ext_functions[] = { + ZEND_FE(stats_cdf_t, arginfo_stats_cdf_t) + ZEND_FE(stats_cdf_normal, arginfo_stats_cdf_normal) + ZEND_FE(stats_cdf_gamma, arginfo_stats_cdf_gamma) + ZEND_FE(stats_cdf_chisquare, arginfo_stats_cdf_chisquare) + ZEND_FE(stats_cdf_beta, arginfo_stats_cdf_beta) + ZEND_FE(stats_cdf_binomial, arginfo_stats_cdf_binomial) + ZEND_FE(stats_cdf_noncentral_chisquare, arginfo_stats_cdf_noncentral_chisquare) + ZEND_FE(stats_cdf_f, arginfo_stats_cdf_f) + ZEND_FE(stats_cdf_noncentral_f, arginfo_stats_cdf_noncentral_f) + ZEND_FE(stats_cdf_noncentral_t, arginfo_stats_cdf_noncentral_t) + ZEND_FE(stats_cdf_negative_binomial, arginfo_stats_cdf_negative_binomial) + ZEND_FE(stats_cdf_poisson, arginfo_stats_cdf_poisson) + ZEND_FE(stats_cdf_laplace, arginfo_stats_cdf_laplace) + ZEND_FE(stats_cdf_cauchy, arginfo_stats_cdf_cauchy) + ZEND_FE(stats_cdf_logistic, arginfo_stats_cdf_logistic) + ZEND_FE(stats_cdf_weibull, arginfo_stats_cdf_weibull) + ZEND_FE(stats_cdf_uniform, arginfo_stats_cdf_uniform) + ZEND_FE(stats_cdf_exponential, arginfo_stats_cdf_exponential) + ZEND_FE(stats_rand_setall, arginfo_stats_rand_setall) + ZEND_FE(stats_rand_getsd, arginfo_stats_rand_getsd) + ZEND_FE(stats_rand_gen_iuniform, arginfo_stats_rand_gen_iuniform) + ZEND_FE(stats_rand_gen_funiform, arginfo_stats_rand_gen_funiform) + ZEND_FE(stats_rand_ignlgi, arginfo_stats_rand_ignlgi) + ZEND_FE(stats_rand_ranf, arginfo_stats_rand_ranf) + ZEND_FE(stats_rand_gen_beta, arginfo_stats_rand_gen_beta) + ZEND_FE(stats_rand_gen_chisquare, arginfo_stats_rand_gen_chisquare) + ZEND_FE(stats_rand_gen_exponential, arginfo_stats_rand_gen_exponential) + ZEND_FE(stats_rand_gen_f, arginfo_stats_rand_gen_f) + ZEND_FE(stats_rand_gen_gamma, arginfo_stats_rand_gen_gamma) + ZEND_FE(stats_rand_gen_noncentral_chisquare, arginfo_stats_rand_gen_noncentral_chisquare) + ZEND_FE(stats_rand_gen_noncentral_f, arginfo_stats_rand_gen_noncentral_f) + ZEND_FALIAS(stats_rand_gen_noncenral_f, stats_rand_gen_noncentral_f, arginfo_stats_rand_gen_noncenral_f) + ZEND_FE(stats_rand_gen_normal, arginfo_stats_rand_gen_normal) + ZEND_FE(stats_rand_phrase_to_seeds, arginfo_stats_rand_phrase_to_seeds) + ZEND_FE(stats_rand_ibinomial, arginfo_stats_rand_ibinomial) + ZEND_FE(stats_rand_ibinomial_negative, arginfo_stats_rand_ibinomial_negative) + ZEND_FE(stats_rand_gen_ipoisson, arginfo_stats_rand_gen_ipoisson) + ZEND_FE(stats_rand_gen_noncentral_t, arginfo_stats_rand_gen_noncentral_t) + ZEND_FE(stats_rand_gen_t, arginfo_stats_rand_gen_t) + ZEND_FE(stats_dens_normal, arginfo_stats_dens_normal) + ZEND_FE(stats_dens_cauchy, arginfo_stats_dens_cauchy) + ZEND_FE(stats_dens_laplace, arginfo_stats_dens_laplace) + ZEND_FE(stats_dens_logistic, arginfo_stats_dens_logistic) + ZEND_FE(stats_dens_beta, arginfo_stats_dens_beta) + ZEND_FE(stats_dens_weibull, arginfo_stats_dens_weibull) + ZEND_FE(stats_dens_uniform, arginfo_stats_dens_uniform) + ZEND_FE(stats_dens_chisquare, arginfo_stats_dens_chisquare) + ZEND_FE(stats_dens_t, arginfo_stats_dens_t) + ZEND_FE(stats_dens_gamma, arginfo_stats_dens_gamma) + ZEND_FE(stats_dens_exponential, arginfo_stats_dens_exponential) + ZEND_FE(stats_dens_f, arginfo_stats_dens_f) + ZEND_FE(stats_dens_pmf_binomial, arginfo_stats_dens_pmf_binomial) + ZEND_FE(stats_dens_pmf_poisson, arginfo_stats_dens_pmf_poisson) + ZEND_FE(stats_dens_pmf_negative_binomial, arginfo_stats_dens_pmf_negative_binomial) + ZEND_FE(stats_dens_pmf_hypergeometric, arginfo_stats_dens_pmf_hypergeometric) + ZEND_FE(stats_stat_powersum, arginfo_stats_stat_powersum) + ZEND_FE(stats_stat_innerproduct, arginfo_stats_stat_innerproduct) + ZEND_FE(stats_stat_independent_t, arginfo_stats_stat_independent_t) + ZEND_FE(stats_stat_paired_t, arginfo_stats_stat_paired_t) + ZEND_FE(stats_stat_percentile, arginfo_stats_stat_percentile) + ZEND_FE(stats_stat_correlation, arginfo_stats_stat_correlation) + ZEND_FE(stats_stat_binomial_coef, arginfo_stats_stat_binomial_coef) + ZEND_FE(stats_stat_factorial, arginfo_stats_stat_factorial) + ZEND_FE(stats_variance, arginfo_stats_variance) + ZEND_FE(stats_standard_deviation, arginfo_stats_standard_deviation) + ZEND_FE(stats_absolute_deviation, arginfo_stats_absolute_deviation) + ZEND_FE(stats_harmonic_mean, arginfo_stats_harmonic_mean) + ZEND_FE(stats_skew, arginfo_stats_skew) + ZEND_FE(stats_kurtosis, arginfo_stats_kurtosis) + ZEND_FE(stats_covariance, arginfo_stats_covariance) + ZEND_FE_END +}; diff --git a/tests/stats_dens_pmf_binomial.phpt b/tests/stats_dens_pmf_binomial.phpt index 35db3f3..9eaa93c 100644 --- a/tests/stats_dens_pmf_binomial.phpt +++ b/tests/stats_dens_pmf_binomial.phpt @@ -1,5 +1,7 @@ --TEST-- stats_dens_pmf_binomial() +--INI-- +serialize_precision=14 --FILE-- ---EXPECTF-- -bool(true) - -Warning: stats_rand_gen_noncenral_f(): Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn: 9.000000E-1 dfd: 3.000000E+0 xnonc: 4.000000E+0 in %s on line %d -bool(false) - -Warning: stats_rand_gen_noncenral_f(): Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn: 2.000000E+0 dfd: -1.000000E-1 xnonc: 4.000000E+0 in %s on line %d -bool(false) - -Warning: stats_rand_gen_noncenral_f(): Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn: 2.000000E+0 dfd: 0.000000E+0 xnonc: 4.000000E+0 in %s on line %d -bool(false) - -Warning: stats_rand_gen_noncenral_f(): Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn: 2.000000E+0 dfd: 3.000000E+0 xnonc: -1.000000E-1 in %s on line %d -bool(false) diff --git a/tests/stats_rand_gen_noncentral_f.phpt b/tests/stats_rand_gen_noncentral_f.phpt new file mode 100644 index 0000000..30f6426 --- /dev/null +++ b/tests/stats_rand_gen_noncentral_f.phpt @@ -0,0 +1,28 @@ +--TEST-- +stats_rand_gen_noncentral_f() +--INI-- +serialize_precision=14 +--FILE-- + +--EXPECTF-- +bool(true) + +Warning: stats_rand_gen_noncentral_f(): Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn: 9.000000E-1 dfd: 3.000000E+0 xnonc: 4.000000E+0 in %s on line %d +bool(false) + +Warning: stats_rand_gen_noncentral_f(): Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn: 2.000000E+0 dfd: -1.000000E-1 xnonc: 4.000000E+0 in %s on line %d +bool(false) + +Warning: stats_rand_gen_noncentral_f(): Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn: 2.000000E+0 dfd: 0.000000E+0 xnonc: 4.000000E+0 in %s on line %d +bool(false) + +Warning: stats_rand_gen_noncentral_f(): Either (1) Numerator df < 1.0 or (2) Denominator df <= 0.0 or (3) Noncentrality parameter < 0.0. dfn: 2.000000E+0 dfd: 3.000000E+0 xnonc: -1.000000E-1 in %s on line %d +bool(false) diff --git a/tests/stats_standard_deviation.phpt b/tests/stats_standard_deviation.phpt index 8957531..8ca7313 100644 --- a/tests/stats_standard_deviation.phpt +++ b/tests/stats_standard_deviation.phpt @@ -1,5 +1,7 @@ --TEST-- stats_standard_deviation() +--INI-- +serialize_precision=14 --FILE--