From 5e6a3c6f8b078875bef5374874f7f004b3077509 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sat, 20 Nov 2021 14:47:01 -0800 Subject: [PATCH] A few more distributions. --- src/language/stats/matrix.c | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/src/language/stats/matrix.c b/src/language/stats/matrix.c index 18fcfdd819..b709d65e01 100644 --- a/src/language/stats/matrix.c +++ b/src/language/stats/matrix.c @@ -257,7 +257,12 @@ matrix_var_set (struct matrix_var *var, gsl_matrix *value) F(PDF_EXP, "PDF.EXP", m_md_e, "a>=0 b>0") \ F(RV_EXP, "RV.EXP", d_d, "a>0") \ F(PDF_XPOWER, "PDF.XPOWER", m_mdd_e, "b>0 c>=0") \ - F(RV_XPOWER, "RV.XPOWER", d_dd, "a>0 c>=0") + F(RV_XPOWER, "RV.XPOWER", d_dd, "a>0 c>=0") \ + F(CDF_F, "CDF.F", m_mdd_e, "a>=0 b>0 c>0") \ + F(IDF_F, "IDF.F", m_mdd_e, "a[0,1) b>0 c>0") \ + F(PDF_F, "PDF.F", m_mdd_e, "a>=0 b>0 c>0") \ + F(RV_F, "RV.F", d_dd, "a>0 b>0") \ + F(SIG_F, "SIG.F", m_mdd_e, "a>=0 b>0 c>0") struct matrix_function_properties { @@ -1872,6 +1877,36 @@ matrix_eval_RV_XPOWER (double a, double b) return gsl_ran_exppow (get_rng (), a, b); } +static double +matrix_eval_CDF_F (double x, double df1, double df2) +{ + return gsl_cdf_fdist_P (x, df1, df2); +} + +static double +matrix_eval_IDF_F (double P, double df1, double df2) +{ + return idf_fdist (P, df1, df2); +} + +static double +matrix_eval_RV_F (double df1, double df2) +{ + return gsl_ran_fdist (get_rng (), df1, df2); +} + +static double +matrix_eval_PDF_F (double x, double df1, double df2) +{ + return gsl_ran_fdist_pdf (x, df1, df2); +} + +static double +matrix_eval_SIG_F (double x, double df1, double df2) +{ + return gsl_cdf_fdist_Q (x, df1, df2); +} + struct matrix_function { const char *name; -- 2.30.2