From d2c8c5d237e68277b2dc3213a71bd740ecc180bf Mon Sep 17 00:00:00 2001 From: Brian Ward Date: Fri, 27 Sep 2024 10:14:50 -0400 Subject: [PATCH] Add all-vector signature to the newer wiener_lpdfs --- src/middle/Stan_math_signatures.ml | 11 ++ .../continuous/wiener/wiener_5_args_vec.stan | 75 +++++++++ .../wiener/wiener_full_lpdf_vec_1.stan | 144 +++++++++++++++++ .../wiener/wiener_full_lpdf_vec_2.stan | 146 ++++++++++++++++++ .../signatures/stan_math_signatures.t | 2 + 5 files changed, 378 insertions(+) create mode 100644 test/integration/good/function-signatures/distributions/univariate/continuous/wiener/wiener_5_args_vec.stan create mode 100644 test/integration/good/function-signatures/distributions/univariate/continuous/wiener/wiener_full_lpdf_vec_1.stan create mode 100644 test/integration/good/function-signatures/distributions/univariate/continuous/wiener/wiener_full_lpdf_vec_2.stan diff --git a/src/middle/Stan_math_signatures.ml b/src/middle/Stan_math_signatures.ml index c8e46b6d6..fc4485751 100644 --- a/src/middle/Stan_math_signatures.ml +++ b/src/middle/Stan_math_signatures.ml @@ -286,10 +286,21 @@ let distributions = ; (full_lpdf, "von_mises", [DVReal; DVReal; DVReal], SoA) ; (full_lpdf, "weibull", [DVReal; DVReal; DVReal], SoA) ; ([Lpdf], "wiener", [DVReal; DVReal; DVReal; DVReal; DVReal], SoA) + (* new wiener_lpdfs -- c++ is fully vectorized, but this style of implementation + in the typechecker is too expensive to enumerate, so we provide only the + full scalar and full vector case *) ; ([Lpdf], "wiener", [DReal; DReal; DReal; DReal; DReal; DReal], AoS) ; ( [Lpdf] , "wiener" , [DReal; DReal; DReal; DReal; DReal; DReal; DReal; DReal] + , AoS ) + ; ( [Lpdf] + , "wiener" + , [DVector; DVector; DVector; DVector; DVector; DVector] + , AoS ) + ; ( [Lpdf] + , "wiener" + , [DVector; DVector; DVector; DVector; DVector; DVector; DVector; DVector] , AoS ); ([Lpdf], "wishart_cholesky", [DMatrix; DReal; DMatrix], SoA) ; ([Lpdf], "wishart", [DMatrix; DReal; DMatrix], SoA) ] diff --git a/test/integration/good/function-signatures/distributions/univariate/continuous/wiener/wiener_5_args_vec.stan b/test/integration/good/function-signatures/distributions/univariate/continuous/wiener/wiener_5_args_vec.stan new file mode 100644 index 000000000..ee4e14490 --- /dev/null +++ b/test/integration/good/function-signatures/distributions/univariate/continuous/wiener/wiener_5_args_vec.stan @@ -0,0 +1,75 @@ +data { + int N; + vector[N] d_vec; +} +transformed data { + real transformed_data_real; + transformed_data_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, d_vec, d_vec); +} +parameters { + vector[N] p_vec; +} +transformed parameters { + real transformed_param_real; + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, p_vec, d_vec); +} +model { + p_vec ~ normal(0, 1); +} diff --git a/test/integration/good/function-signatures/distributions/univariate/continuous/wiener/wiener_full_lpdf_vec_1.stan b/test/integration/good/function-signatures/distributions/univariate/continuous/wiener/wiener_full_lpdf_vec_1.stan new file mode 100644 index 000000000..857a70162 --- /dev/null +++ b/test/integration/good/function-signatures/distributions/univariate/continuous/wiener/wiener_full_lpdf_vec_1.stan @@ -0,0 +1,144 @@ +data { + int N; + vector[N] d_vec; +} +transformed data { + real transformed_data_real; + + transformed_data_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, d_vec, d_vec, d_vec, d_vec); +} +parameters { + vector[N] p_vec; +} +transformed parameters { + real transformed_param_real; + + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, p_vec, p_vec, p_vec, p_vec); + +} +model { + p_vec ~ normal(0, 1); +} diff --git a/test/integration/good/function-signatures/distributions/univariate/continuous/wiener/wiener_full_lpdf_vec_2.stan b/test/integration/good/function-signatures/distributions/univariate/continuous/wiener/wiener_full_lpdf_vec_2.stan new file mode 100644 index 000000000..a8965204f --- /dev/null +++ b/test/integration/good/function-signatures/distributions/univariate/continuous/wiener/wiener_full_lpdf_vec_2.stan @@ -0,0 +1,146 @@ +data { + int N; + vector[N] d_vec; +} +parameters { + vector[N] p_vec; +} +transformed parameters { + real transformed_param_real; + + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, d_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, p_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, d_vec, d_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, d_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, p_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, p_vec, p_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, d_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, p_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, p_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, d_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, p_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, d_vec, p_vec, p_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, d_vec, p_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, d_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, p_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, p_vec, d_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, d_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, d_vec, p_vec, p_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | p_vec, d_vec, d_vec, p_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, d_vec, d_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, d_vec, d_vec, p_vec, d_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, p_vec, p_vec, d_vec, p_vec, d_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | d_vec, p_vec, d_vec, p_vec, p_vec, p_vec, d_vec); + transformed_param_real = wiener_lpdf(d_vec | p_vec, p_vec, p_vec, d_vec, p_vec, d_vec, p_vec); + transformed_param_real = wiener_lpdf(p_vec | d_vec, d_vec, d_vec, d_vec, d_vec, d_vec, d_vec); +} +model { + p_vec ~ normal(0, 1); +} diff --git a/test/integration/signatures/stan_math_signatures.t b/test/integration/signatures/stan_math_signatures.t index 824f88b94..78f72724e 100644 --- a/test/integration/signatures/stan_math_signatures.t +++ b/test/integration/signatures/stan_math_signatures.t @@ -21031,6 +21031,8 @@ Display all Stan math signatures exposed in the language wiener_lpdf(vector, vector, vector, real, array[] real) => real wiener_lpdf(vector, vector, vector, vector, real) => real wiener_lpdf(vector, vector, vector, vector, vector) => real + wiener_lpdf(vector, vector, vector, vector, vector, vector) => real + wiener_lpdf(vector, vector, vector, vector, vector, vector, vector, vector) => real wiener_lpdf(vector, vector, vector, vector, row_vector) => real wiener_lpdf(vector, vector, vector, vector, array[] real) => real wiener_lpdf(vector, vector, vector, row_vector, real) => real