diff --git a/src/middle/SignatureMismatch.ml b/src/middle/SignatureMismatch.ml index 96f6878100..e9b2c3c9de 100644 --- a/src/middle/SignatureMismatch.ml +++ b/src/middle/SignatureMismatch.ml @@ -119,6 +119,8 @@ let rec check_same_type depth t1 t2 = match (t1, t2) with | t1, t2 when t1 = t2 -> None | UnsizedType.(UReal, UInt) when depth < 1 -> None + | UnsizedType.(UComplex, UInt) when depth < 1 -> None + | UnsizedType.(UComplex, UReal) when depth < 1 -> None | UFun (_, _, s1, _), UFun (_, _, s2, _) when Fun_kind.without_propto s1 <> Fun_kind.without_propto s2 -> Some diff --git a/src/middle/Stan_math_signatures.ml b/src/middle/Stan_math_signatures.ml index 4f64486664..8ccd2c3df3 100644 --- a/src/middle/Stan_math_signatures.ml +++ b/src/middle/Stan_math_signatures.ml @@ -849,7 +849,6 @@ let () = List.iter ~f:(fun x -> add_unqualified ("add", ReturnType x, [x; x], AoS)) bare_types ; - add_unqualified ("add", ReturnType UComplex, [UComplex; UReal], AoS) ; add_unqualified ("add", ReturnType UVector, [UVector; UReal], AoS) ; add_unqualified ("add", ReturnType URowVector, [URowVector; UReal], AoS) ; add_unqualified ("add", ReturnType UMatrix, [UMatrix; UReal], AoS) ; @@ -924,6 +923,7 @@ let () = , AoS ) ) bare_types ) (List.range 1 8) ; + add_unqualified ("arg", ReturnType UReal, [UComplex], AoS) ; add_unqualified ("asin", ReturnType UComplex, [UComplex], AoS) ; add_unqualified ("asinh", ReturnType UComplex, [UComplex], AoS) ; add_unqualified ("atan", ReturnType UComplex, [UComplex], AoS) ; @@ -1796,7 +1796,6 @@ let () = , [UArray UInt; URowVector; UVector; UVector; UReal] , AoS ) ; add_nullary "negative_infinity" ; - add_unqualified ("norm", ReturnType UReal, [UReal], AoS) ; add_unqualified ("norm", ReturnType UReal, [UComplex], AoS) ; add_unqualified ( "normal_id_glm_lpdf" diff --git a/test/integration/bad/compound-assign/stanc.expected b/test/integration/bad/compound-assign/stanc.expected index 25efb4a290..d18231a317 100644 --- a/test/integration/bad/compound-assign/stanc.expected +++ b/test/integration/bad/compound-assign/stanc.expected @@ -72,8 +72,6 @@ Ill-typed arguments supplied to assignment operator +=: lhs has type (real) => r (vector, int) => void (vector, real) => void (vector, vector) => void -(complex, int) => void -(complex, real) => void (complex, complex) => void (row_vector, int) => void (row_vector, real) => void @@ -121,8 +119,6 @@ Ill-typed arguments supplied to assignment operator +=: lhs has type array[] mat (vector, int) => void (vector, real) => void (vector, vector) => void -(complex, int) => void -(complex, real) => void (complex, complex) => void (row_vector, int) => void (row_vector, real) => void @@ -147,8 +143,6 @@ Ill-typed arguments supplied to assignment operator +=: lhs has type matrix and (vector, int) => void (vector, real) => void (vector, vector) => void -(complex, int) => void -(complex, real) => void (complex, complex) => void (row_vector, int) => void (row_vector, real) => void @@ -185,8 +179,6 @@ Ill-typed arguments supplied to assignment operator +=: lhs has type array[] rea (vector, int) => void (vector, real) => void (vector, vector) => void -(complex, int) => void -(complex, real) => void (complex, complex) => void (row_vector, int) => void (row_vector, real) => void @@ -211,8 +203,6 @@ Ill-typed arguments supplied to assignment operator +=: lhs has type array[] row (vector, int) => void (vector, real) => void (vector, vector) => void -(complex, int) => void -(complex, real) => void (complex, complex) => void (row_vector, int) => void (row_vector, real) => void @@ -238,8 +228,6 @@ Ill-typed arguments supplied to assignment operator +=: lhs has type vector and (vector, int) => void (vector, real) => void (vector, vector) => void -(complex, int) => void -(complex, real) => void (complex, complex) => void (row_vector, int) => void (row_vector, real) => void @@ -264,8 +252,6 @@ Ill-typed arguments supplied to assignment operator +=: lhs has type int and rhs (vector, int) => void (vector, real) => void (vector, vector) => void -(complex, int) => void -(complex, real) => void (complex, complex) => void (row_vector, int) => void (row_vector, real) => void @@ -290,8 +276,6 @@ Ill-typed arguments supplied to assignment operator +=: lhs has type real and rh (vector, int) => void (vector, real) => void (vector, vector) => void -(complex, int) => void -(complex, real) => void (complex, complex) => void (row_vector, int) => void (row_vector, real) => void @@ -316,8 +300,6 @@ Ill-typed arguments supplied to assignment operator +=: lhs has type array[] vec (vector, int) => void (vector, real) => void (vector, vector) => void -(complex, int) => void -(complex, real) => void (complex, complex) => void (row_vector, int) => void (row_vector, real) => void diff --git a/test/integration/bad/stanc.expected b/test/integration/bad/stanc.expected index d189f96735..2db41e02f5 100644 --- a/test/integration/bad/stanc.expected +++ b/test/integration/bad/stanc.expected @@ -1456,7 +1456,6 @@ Ill-typed arguments supplied to infix operator +. Available signatures: (real, vector) => vector (vector, real) => vector (vector, vector) => vector -(complex, real) => complex (complex, complex) => complex (real, row_vector) => row_vector (row_vector, real) => row_vector diff --git a/test/integration/good/code-gen/complex_functions.stan b/test/integration/good/code-gen/complex_functions.stan new file mode 100644 index 0000000000..3c5de140d3 --- /dev/null +++ b/test/integration/good/code-gen/complex_functions.stan @@ -0,0 +1,23 @@ +generated quantities { + real x = norm(1); + x = norm(1.5); + x = norm(3i); + + real y = abs(4+3i); + y = arg(4+1i); + y = arg(2.5); + y = arg(1); + + complex z; + z = conj(4.1+7i); + z = conj(4.1); + z = conj(0); + + z = proj(4.1+7i); + z = proj(4.1); + z = proj(0); + + z = polar(1.5,0.5); + z = polar(2,3); + +} diff --git a/test/integration/good/code-gen/complex_scalar.stan b/test/integration/good/code-gen/complex_scalar.stan index d8c99ec79a..1c50654ca1 100644 --- a/test/integration/good/code-gen/complex_scalar.stan +++ b/test/integration/good/code-gen/complex_scalar.stan @@ -2,9 +2,11 @@ functions { complex foo(){ return to_complex(); } + real foo1(complex z){ return 1.0; } + complex foo2(real r){ return to_complex(r); } @@ -20,6 +22,7 @@ functions { complex[] foo6(real r){ return {to_complex(r), to_complex(r,r)}; } + complex[] foo7(complex[] z){ return z; } @@ -66,7 +69,7 @@ transformed data { td_complex_array = d_complex_array; td_complex_array = {td_complex, 1, to_complex(2,3)}; td_complex_array[1] = to_complex(5.1,6); - + td_complex_array_2d = d_complex_array_2d; td_complex_array_2d = {{1, td_complex, 3}, {to_complex(), to_complex(1.1), to_complex(1,2.1)}}; td_complex_array_2d[1,1] = to_complex(1,2); @@ -77,11 +80,11 @@ transformed data { for (td_j in 1:2) { for (td_k in 1:3) { td_complex_array_2d[td_j, td_k] = to_complex(1, 2.2);}} - + for (td_j in td_complex_array_2d){ for (td_k in td_j){ td_complex = td_k;}} - + td_r = get_real(td_complex); td_r = get_imag(td_complex); td_r = get_real(td_complex_array[1]); @@ -90,6 +93,8 @@ transformed data { td_r = get_imag(td_complex_array_2d[1,1]); td_complex = foo(); + td_r = foo1(1); + td_r = foo1(2.5); td_r = foo1(td_complex); td_complex = foo2(td_r); td_complex = foo3(td_complex); @@ -112,7 +117,7 @@ transformed parameters { complex tp_complex; complex tp_complex_array[2]; complex tp_complex_array_2d[2, 3]; - + tp_complex = tp_r; tp_complex = d_i; tp_complex = d_r; @@ -135,7 +140,7 @@ transformed parameters { tp_complex_array = p_complex_array; tp_complex_array = {tp_complex, 1, to_complex(2,3)}; tp_complex_array[1] = to_complex(5.1,6); - + tp_complex_array_2d = d_complex_array_2d; tp_complex_array_2d = p_complex_array_2d; tp_complex_array_2d = {{1, tp_complex, 3}, {to_complex(), to_complex(1.1), to_complex(1,2.1)}}; @@ -151,7 +156,7 @@ transformed parameters { for (tp_j in tp_complex_array_2d){ for (tp_k in tp_j){ tp_complex = tp_k;}} - + tp_r = get_real(tp_complex); tp_r = get_imag(tp_complex); tp_r = get_real(tp_complex_array[1]); @@ -208,7 +213,7 @@ generated quantities { gq_complex_array = p_complex_array; gq_complex_array = {gq_complex, 1, to_complex(2,3)}; gq_complex_array[1] = to_complex(5.1,6); - + gq_complex_array_2d = d_complex_array_2d; gq_complex_array_2d = p_complex_array_2d; gq_complex_array_2d = {{1, gq_complex, 3}, {to_complex(), to_complex(1.1), to_complex(1,2.1)}}; @@ -224,7 +229,7 @@ generated quantities { for (gq_j in gq_complex_array_2d){ for (gq_k in gq_j){ gq_complex = gq_k;}} - + gq_r = get_real(gq_complex); gq_r = get_imag(gq_complex); gq_r = get_real(gq_complex_array[1]); @@ -247,7 +252,7 @@ generated quantities { complex z = to_complex(1,2); complex y = to_complex(3,4); int i_arr[0]; - int i_arr_1[1]; + int i_arr_1[1]; gq_complex = z+y; gq_complex = z+gq_r; @@ -347,7 +352,7 @@ generated quantities { gq_i = (d_complex != d_r); gq_i = (p_r != d_complex); gq_i = (p_complex != d_r); - + gq_r = abs(z); gq_r = abs(p_complex); gq_r = abs(d_complex); @@ -402,7 +407,7 @@ generated quantities { gq_r = get_imag(z); gq_r = get_imag(p_complex); gq_r = get_imag(d_complex); - + gq_r = get_real(z); gq_r = get_real(p_complex); gq_r = get_real(d_complex); @@ -500,9 +505,18 @@ generated quantities { gq_complex = to_complex(p_r); gq_complex = to_complex(d_r); + gq_complex += 1; + gq_complex += 3.1; + gq_complex += 4i; + print(gq_complex); + gq_complex = add(1,3i); + gq_complex = add(3i,1); + gq_complex = add(3i,0.5); + gq_complex = add(0.5,3i); + // test imaginary literal complex zi = 1+3.14i; zi = zi * 0i; complex yi = to_complex(0, 1.1) + to_complex(0.0, 2.2) + to_complex(); real x = get_real(3i - 40e-3i); -} \ No newline at end of file +} diff --git a/test/integration/good/code-gen/cpp.expected b/test/integration/good/code-gen/cpp.expected index e35b6cd3a7..aa85172c26 100644 --- a/test/integration/good/code-gen/cpp.expected +++ b/test/integration/good/code-gen/cpp.expected @@ -788,6 +788,382 @@ stan::math::profile_map& get_stan_profile_data() { + $ ../../../../../install/default/bin/stanc --print-cpp complex_functions.stan + +// Code generated by %%NAME%% %%VERSION%% +#include +namespace complex_functions_model_namespace { + +using stan::io::dump; +using stan::model::assign; +using stan::model::index_uni; +using stan::model::index_max; +using stan::model::index_min; +using stan::model::index_min_max; +using stan::model::index_multi; +using stan::model::index_omni; +using stan::model::model_base_crtp; +using stan::model::rvalue; +using namespace stan::math; + + +stan::math::profile_map profiles__; +static constexpr std::array locations_array__ = +{" (found before start of program)", + " (in 'complex_functions.stan', line 2, column 3 to column 20)", + " (in 'complex_functions.stan', line 3, column 3 to column 17)", + " (in 'complex_functions.stan', line 4, column 3 to column 16)", + " (in 'complex_functions.stan', line 6, column 3 to column 22)", + " (in 'complex_functions.stan', line 7, column 3 to column 17)", + " (in 'complex_functions.stan', line 8, column 3 to column 16)", + " (in 'complex_functions.stan', line 9, column 3 to column 14)", + " (in 'complex_functions.stan', line 11, column 3 to column 13)", + " (in 'complex_functions.stan', line 12, column 3 to column 20)", + " (in 'complex_functions.stan', line 13, column 3 to column 17)", + " (in 'complex_functions.stan', line 14, column 3 to column 15)", + " (in 'complex_functions.stan', line 16, column 3 to column 20)", + " (in 'complex_functions.stan', line 17, column 3 to column 17)", + " (in 'complex_functions.stan', line 18, column 3 to column 15)", + " (in 'complex_functions.stan', line 20, column 3 to column 22)", + " (in 'complex_functions.stan', line 21, column 3 to column 18)"}; + + + +class complex_functions_model final : public model_base_crtp { + + private: + + + + public: + ~complex_functions_model() { } + + inline std::string model_name() const final { return "complex_functions_model"; } + + inline std::vector model_compile_info() const noexcept { + return std::vector{"stanc_version = %%NAME%%3 %%VERSION%%", "stancflags = --print-cpp"}; + } + + + complex_functions_model(stan::io::var_context& context__, + unsigned int random_seed__ = 0, + std::ostream* pstream__ = nullptr) : model_base_crtp(0) { + int current_statement__ = 0; + using local_scalar_t__ = double ; + boost::ecuyer1988 base_rng__ = + stan::services::util::create_rng(random_seed__, 0); + (void) base_rng__; // suppress unused var warning + static constexpr const char* function__ = "complex_functions_model_namespace::complex_functions_model"; + (void) function__; // suppress unused var warning + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + try { + int pos__; + pos__ = 1; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + num_params_r__ = 0U; + + } + + template * = nullptr, + stan::require_vector_like_vt* = nullptr> + inline stan::scalar_type_t log_prob_impl(VecR& params_r__, + VecI& params_i__, + std::ostream* pstream__ = nullptr) const { + using T__ = stan::scalar_type_t; + using local_scalar_t__ = T__; + T__ lp__(0.0); + stan::math::accumulator lp_accum__; + stan::io::deserializer in__(params_r__, params_i__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + (void) DUMMY_VAR__; // suppress unused var warning + static constexpr const char* function__ = "complex_functions_model_namespace::log_prob"; + (void) function__; // suppress unused var warning + + try { + + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + lp_accum__.add(lp__); + return lp_accum__.sum(); + } // log_prob_impl() + + template * = nullptr, + stan::require_vector_like_vt* = nullptr, + stan::require_std_vector_vt* = nullptr> + inline void write_array_impl(RNG& base_rng__, VecR& params_r__, + VecI& params_i__, VecVar& vars__, + const bool emit_transformed_parameters__ = true, + const bool emit_generated_quantities__ = true, + std::ostream* pstream__ = nullptr) const { + using local_scalar_t__ = double; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + static constexpr bool propto__ = true; + (void) propto__; + double lp__ = 0.0; + (void) lp__; // dummy to suppress unused var warning + int current_statement__ = 0; + stan::math::accumulator lp_accum__; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + constexpr bool jacobian__ = false; + (void) DUMMY_VAR__; // suppress unused var warning + static constexpr const char* function__ = "complex_functions_model_namespace::write_array"; + (void) function__; // suppress unused var warning + + try { + if (logical_negation((primitive_value(emit_transformed_parameters__) || + primitive_value(emit_generated_quantities__)))) { + return ; + } + if (logical_negation(emit_generated_quantities__)) { + return ; + } + double x; + current_statement__ = 1; + x = norm(1); + current_statement__ = 2; + x = norm(1.5); + current_statement__ = 3; + x = norm(to_complex(0, 3)); + double y; + current_statement__ = 4; + y = stan::math::abs((4 + to_complex(0, 3))); + current_statement__ = 5; + y = arg((4 + to_complex(0, 1))); + current_statement__ = 6; + y = arg(2.5); + current_statement__ = 7; + y = arg(1); + std::complex z; + current_statement__ = 9; + assign(z, conj((4.1 + to_complex(0, 7))), "assigning variable z"); + current_statement__ = 10; + assign(z, conj(4.1), "assigning variable z"); + current_statement__ = 11; + assign(z, conj(0), "assigning variable z"); + current_statement__ = 12; + assign(z, proj((4.1 + to_complex(0, 7))), "assigning variable z"); + current_statement__ = 13; + assign(z, proj(4.1), "assigning variable z"); + current_statement__ = 14; + assign(z, proj(0), "assigning variable z"); + current_statement__ = 15; + assign(z, polar(1.5, 0.5), "assigning variable z"); + current_statement__ = 16; + assign(z, polar(2, 3), "assigning variable z"); + out__.write(x); + out__.write(y); + out__.write(z); + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // write_array_impl() + + template * = nullptr, + stan::require_vector_like_vt* = nullptr> + inline void transform_inits_impl(VecVar& params_r__, VecI& params_i__, + VecVar& vars__, + std::ostream* pstream__ = nullptr) const { + using local_scalar_t__ = double; + stan::io::deserializer in__(params_r__, params_i__); + stan::io::serializer out__(vars__); + int current_statement__ = 0; + local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); + + try { + int pos__; + pos__ = 1; + } catch (const std::exception& e) { + stan::lang::rethrow_located(e, locations_array__[current_statement__]); + } + } // transform_inits_impl() + + inline void get_param_names(std::vector& names__) const { + + names__ = std::vector{"x", "y", "z"}; + + } // get_param_names() + + inline void get_dims(std::vector>& dimss__) const { + + dimss__ = std::vector>{std::vector{}, + std::vector{}, std::vector{static_cast(2)}}; + + } // get_dims() + + inline void constrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + param_names__.emplace_back(std::string() + "x"); + param_names__.emplace_back(std::string() + "y"); + param_names__.emplace_back(std::string() + "z" + '.' + "real"); + param_names__.emplace_back(std::string() + "z" + '.' + "imag"); + } + + } // constrained_param_names() + + inline void unconstrained_param_names( + std::vector& param_names__, + bool emit_transformed_parameters__ = true, + bool emit_generated_quantities__ = true) const + final { + + + if (emit_transformed_parameters__) { + + } + + if (emit_generated_quantities__) { + param_names__.emplace_back(std::string() + "x"); + param_names__.emplace_back(std::string() + "y"); + param_names__.emplace_back(std::string() + "z" + '.' + "real"); + param_names__.emplace_back(std::string() + "z" + '.' + "imag"); + } + + } // unconstrained_param_names() + + inline std::string get_constrained_sizedtypes() const { + + return std::string("[{\"name\":\"x\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"y\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"z\",\"type\":{\"name\":\"complex\"},\"block\":\"generated_quantities\"}]"); + + } // get_constrained_sizedtypes() + + inline std::string get_unconstrained_sizedtypes() const { + + return std::string("[{\"name\":\"x\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"y\",\"type\":{\"name\":\"real\"},\"block\":\"generated_quantities\"},{\"name\":\"z\",\"type\":{\"name\":\"complex\"},\"block\":\"generated_quantities\"}]"); + + } // get_unconstrained_sizedtypes() + + + // Begin method overload boilerplate + template + inline void write_array(RNG& base_rng, + Eigen::Matrix& params_r, + Eigen::Matrix& vars, + const bool emit_transformed_parameters = true, + const bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = 0; + const size_t num_transformed = 0; + const size_t num_gen_quantities = + ((1 + 1) + 2); + std::vector vars_vec(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + std::vector params_i; + write_array_impl(base_rng, params_r, params_i, vars_vec, + emit_transformed_parameters, emit_generated_quantities, pstream); + vars = Eigen::Map>( + vars_vec.data(), vars_vec.size()); + } + + template + inline void write_array(RNG& base_rng, std::vector& params_r, + std::vector& params_i, + std::vector& vars, + bool emit_transformed_parameters = true, + bool emit_generated_quantities = true, + std::ostream* pstream = nullptr) const { + const size_t num_params__ = 0; + const size_t num_transformed = 0; + const size_t num_gen_quantities = + ((1 + 1) + 2); + vars.resize(num_params__ + + (emit_transformed_parameters * num_transformed) + + (emit_generated_quantities * num_gen_quantities)); + write_array_impl(base_rng, params_r, params_i, vars, emit_transformed_parameters, emit_generated_quantities, pstream); + } + + template + inline T_ log_prob(Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const { + Eigen::Matrix params_i; + return log_prob_impl(params_r, params_i, pstream); + } + + template + inline T__ log_prob(std::vector& params_r, + std::vector& params_i, + std::ostream* pstream = nullptr) const { + return log_prob_impl(params_r, params_i, pstream); + } + + + inline void transform_inits(const stan::io::var_context& context, + Eigen::Matrix& params_r, + std::ostream* pstream = nullptr) const final { + std::vector params_r_vec(params_r.size()); + std::vector params_i; + transform_inits(context, params_i, params_r_vec, pstream); + params_r = Eigen::Map>( + params_r_vec.data(), params_r_vec.size()); + } + + inline void transform_inits(const stan::io::var_context& context, + std::vector& params_i, + std::vector& vars, + std::ostream* pstream__ = nullptr) const { + constexpr std::array names__{}; + const std::array constrain_param_sizes__{}; + const auto num_constrained_params__ = std::accumulate( + constrain_param_sizes__.begin(), constrain_param_sizes__.end(), 0); + + std::vector params_r_flat__(num_constrained_params__); + Eigen::Index size_iter__ = 0; + Eigen::Index flat_iter__ = 0; + for (auto&& param_name__ : names__) { + const auto param_vec__ = context.vals_r(param_name__); + for (Eigen::Index i = 0; i < constrain_param_sizes__[size_iter__]; ++i) { + params_r_flat__[flat_iter__] = param_vec__[i]; + ++flat_iter__; + } + ++size_iter__; + } + vars.resize(num_params_r__); + transform_inits_impl(params_r_flat__, params_i, vars, pstream__); + } // transform_inits() + +}; +} + +using stan_model = complex_functions_model_namespace::complex_functions_model; + +#ifndef USING_R + +// Boilerplate +stan::model::model_base& new_model( + stan::io::var_context& data_context, + unsigned int seed, + std::ostream* msg_stream) { + stan_model* m = new stan_model(data_context, seed, msg_stream); + return *m; +} + +stan::math::profile_map& get_stan_profile_data() { + return complex_functions_model_namespace::profiles__; +} + +#endif + + + $ ../../../../../install/default/bin/stanc --print-cpp complex_scalar.stan // Code generated by %%NAME%% %%VERSION%% @@ -808,434 +1184,444 @@ using namespace stan::math; stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = +static constexpr std::array locations_array__ = {" (found before start of program)", - " (in 'complex_scalar.stan', line 105, column 4 to column 13)", - " (in 'complex_scalar.stan', line 106, column 4 to column 22)", - " (in 'complex_scalar.stan', line 107, column 4 to column 31)", - " (in 'complex_scalar.stan', line 108, column 4 to column 37)", - " (in 'complex_scalar.stan', line 111, column 4 to column 20)", - " (in 'complex_scalar.stan', line 112, column 4 to column 23)", - " (in 'complex_scalar.stan', line 113, column 4 to column 32)", - " (in 'complex_scalar.stan', line 114, column 4 to column 38)", - " (in 'complex_scalar.stan', line 116, column 4 to column 22)", - " (in 'complex_scalar.stan', line 117, column 4 to column 21)", - " (in 'complex_scalar.stan', line 118, column 4 to column 21)", - " (in 'complex_scalar.stan', line 119, column 4 to column 21)", - " (in 'complex_scalar.stan', line 120, column 4 to column 19)", - " (in 'complex_scalar.stan', line 121, column 4 to column 21)", - " (in 'complex_scalar.stan', line 122, column 4 to column 27)", - " (in 'complex_scalar.stan', line 123, column 4 to column 36)", - " (in 'complex_scalar.stan', line 124, column 4 to column 27)", - " (in 'complex_scalar.stan', line 125, column 4 to column 36)", - " (in 'complex_scalar.stan', line 126, column 4 to column 30)", - " (in 'complex_scalar.stan', line 127, column 4 to column 31)", - " (in 'complex_scalar.stan', line 128, column 4 to column 33)", - " (in 'complex_scalar.stan', line 129, column 4 to column 34)", + " (in 'complex_scalar.stan', line 110, column 4 to column 13)", + " (in 'complex_scalar.stan', line 111, column 4 to column 22)", + " (in 'complex_scalar.stan', line 112, column 4 to column 31)", + " (in 'complex_scalar.stan', line 113, column 4 to column 37)", + " (in 'complex_scalar.stan', line 116, column 4 to column 20)", + " (in 'complex_scalar.stan', line 117, column 4 to column 23)", + " (in 'complex_scalar.stan', line 118, column 4 to column 32)", + " (in 'complex_scalar.stan', line 119, column 4 to column 38)", + " (in 'complex_scalar.stan', line 121, column 4 to column 22)", + " (in 'complex_scalar.stan', line 122, column 4 to column 21)", + " (in 'complex_scalar.stan', line 123, column 4 to column 21)", + " (in 'complex_scalar.stan', line 124, column 4 to column 21)", + " (in 'complex_scalar.stan', line 125, column 4 to column 19)", + " (in 'complex_scalar.stan', line 126, column 4 to column 21)", + " (in 'complex_scalar.stan', line 127, column 4 to column 27)", + " (in 'complex_scalar.stan', line 128, column 4 to column 36)", + " (in 'complex_scalar.stan', line 129, column 4 to column 27)", " (in 'complex_scalar.stan', line 130, column 4 to column 36)", - " (in 'complex_scalar.stan', line 131, column 4 to column 36)", - " (in 'complex_scalar.stan', line 132, column 4 to column 38)", - " (in 'complex_scalar.stan', line 134, column 4 to column 39)", - " (in 'complex_scalar.stan', line 135, column 4 to column 39)", - " (in 'complex_scalar.stan', line 136, column 4 to column 56)", - " (in 'complex_scalar.stan', line 137, column 4 to column 44)", - " (in 'complex_scalar.stan', line 139, column 4 to column 45)", - " (in 'complex_scalar.stan', line 140, column 4 to column 45)", - " (in 'complex_scalar.stan', line 141, column 4 to column 99)", - " (in 'complex_scalar.stan', line 142, column 4 to column 47)", - " (in 'complex_scalar.stan', line 143, column 4 to column 33)", - " (in 'complex_scalar.stan', line 144, column 4 to column 46)", - " (in 'complex_scalar.stan', line 145, column 4 to column 64)", - " (in 'complex_scalar.stan', line 149, column 12 to column 65)", - " (in 'complex_scalar.stan', line 148, column 26 to line 149, column 66)", - " (in 'complex_scalar.stan', line 148, column 8 to line 149, column 66)", - " (in 'complex_scalar.stan', line 147, column 22 to line 149, column 67)", - " (in 'complex_scalar.stan', line 147, column 4 to line 149, column 67)", - " (in 'complex_scalar.stan', line 151, column 4 to line 153, column 32)", - " (in 'complex_scalar.stan', line 152, column 8 to line 153, column 31)", - " (in 'complex_scalar.stan', line 153, column 12 to column 30)", - " (in 'complex_scalar.stan', line 155, column 4 to column 32)", - " (in 'complex_scalar.stan', line 156, column 4 to column 32)", - " (in 'complex_scalar.stan', line 157, column 4 to column 41)", - " (in 'complex_scalar.stan', line 158, column 4 to column 41)", - " (in 'complex_scalar.stan', line 159, column 4 to column 46)", - " (in 'complex_scalar.stan', line 160, column 4 to column 46)", - " (in 'complex_scalar.stan', line 162, column 4 to column 23)", - " (in 'complex_scalar.stan', line 163, column 4 to column 28)", - " (in 'complex_scalar.stan', line 164, column 4 to column 28)", - " (in 'complex_scalar.stan', line 165, column 4 to column 34)", - " (in 'complex_scalar.stan', line 166, column 4 to column 30)", - " (in 'complex_scalar.stan', line 167, column 4 to column 34)", - " (in 'complex_scalar.stan', line 168, column 4 to column 34)", - " (in 'complex_scalar.stan', line 169, column 4 to column 46)", - " (in 'complex_scalar.stan', line 170, column 4 to column 37)", - " (in 'complex_scalar.stan', line 171, column 4 to column 37)", - " (in 'complex_scalar.stan', line 172, column 4 to column 53)", - " (in 'complex_scalar.stan', line 182, column 4 to column 17)", - " (in 'complex_scalar.stan', line 183, column 4 to column 20)", - " (in 'complex_scalar.stan', line 184, column 4 to column 23)", - " (in 'complex_scalar.stan', line 185, column 4 to column 32)", - " (in 'complex_scalar.stan', line 186, column 4 to column 38)", - " (in 'complex_scalar.stan', line 188, column 4 to column 22)", - " (in 'complex_scalar.stan', line 189, column 4 to column 22)", - " (in 'complex_scalar.stan', line 190, column 4 to column 21)", - " (in 'complex_scalar.stan', line 191, column 4 to column 21)", - " (in 'complex_scalar.stan', line 192, column 4 to column 21)", - " (in 'complex_scalar.stan', line 193, column 4 to column 19)", - " (in 'complex_scalar.stan', line 194, column 4 to column 21)", - " (in 'complex_scalar.stan', line 195, column 4 to column 27)", - " (in 'complex_scalar.stan', line 196, column 4 to column 36)", - " (in 'complex_scalar.stan', line 197, column 4 to column 27)", - " (in 'complex_scalar.stan', line 198, column 4 to column 36)", - " (in 'complex_scalar.stan', line 199, column 4 to column 30)", - " (in 'complex_scalar.stan', line 200, column 4 to column 31)", - " (in 'complex_scalar.stan', line 201, column 4 to column 33)", - " (in 'complex_scalar.stan', line 202, column 4 to column 34)", + " (in 'complex_scalar.stan', line 131, column 4 to column 30)", + " (in 'complex_scalar.stan', line 132, column 4 to column 31)", + " (in 'complex_scalar.stan', line 133, column 4 to column 33)", + " (in 'complex_scalar.stan', line 134, column 4 to column 34)", + " (in 'complex_scalar.stan', line 135, column 4 to column 36)", + " (in 'complex_scalar.stan', line 136, column 4 to column 36)", + " (in 'complex_scalar.stan', line 137, column 4 to column 38)", + " (in 'complex_scalar.stan', line 139, column 4 to column 39)", + " (in 'complex_scalar.stan', line 140, column 4 to column 39)", + " (in 'complex_scalar.stan', line 141, column 4 to column 56)", + " (in 'complex_scalar.stan', line 142, column 4 to column 44)", + " (in 'complex_scalar.stan', line 144, column 4 to column 45)", + " (in 'complex_scalar.stan', line 145, column 4 to column 45)", + " (in 'complex_scalar.stan', line 146, column 4 to column 99)", + " (in 'complex_scalar.stan', line 147, column 4 to column 47)", + " (in 'complex_scalar.stan', line 148, column 4 to column 33)", + " (in 'complex_scalar.stan', line 149, column 4 to column 46)", + " (in 'complex_scalar.stan', line 150, column 4 to column 64)", + " (in 'complex_scalar.stan', line 154, column 12 to column 65)", + " (in 'complex_scalar.stan', line 153, column 26 to line 154, column 66)", + " (in 'complex_scalar.stan', line 153, column 8 to line 154, column 66)", + " (in 'complex_scalar.stan', line 152, column 22 to line 154, column 67)", + " (in 'complex_scalar.stan', line 152, column 4 to line 154, column 67)", + " (in 'complex_scalar.stan', line 156, column 4 to line 158, column 32)", + " (in 'complex_scalar.stan', line 157, column 8 to line 158, column 31)", + " (in 'complex_scalar.stan', line 158, column 12 to column 30)", + " (in 'complex_scalar.stan', line 160, column 4 to column 32)", + " (in 'complex_scalar.stan', line 161, column 4 to column 32)", + " (in 'complex_scalar.stan', line 162, column 4 to column 41)", + " (in 'complex_scalar.stan', line 163, column 4 to column 41)", + " (in 'complex_scalar.stan', line 164, column 4 to column 46)", + " (in 'complex_scalar.stan', line 165, column 4 to column 46)", + " (in 'complex_scalar.stan', line 167, column 4 to column 23)", + " (in 'complex_scalar.stan', line 168, column 4 to column 28)", + " (in 'complex_scalar.stan', line 169, column 4 to column 28)", + " (in 'complex_scalar.stan', line 170, column 4 to column 34)", + " (in 'complex_scalar.stan', line 171, column 4 to column 30)", + " (in 'complex_scalar.stan', line 172, column 4 to column 34)", + " (in 'complex_scalar.stan', line 173, column 4 to column 34)", + " (in 'complex_scalar.stan', line 174, column 4 to column 46)", + " (in 'complex_scalar.stan', line 175, column 4 to column 37)", + " (in 'complex_scalar.stan', line 176, column 4 to column 37)", + " (in 'complex_scalar.stan', line 177, column 4 to column 53)", + " (in 'complex_scalar.stan', line 187, column 4 to column 17)", + " (in 'complex_scalar.stan', line 188, column 4 to column 20)", + " (in 'complex_scalar.stan', line 189, column 4 to column 23)", + " (in 'complex_scalar.stan', line 190, column 4 to column 32)", + " (in 'complex_scalar.stan', line 191, column 4 to column 38)", + " (in 'complex_scalar.stan', line 193, column 4 to column 22)", + " (in 'complex_scalar.stan', line 194, column 4 to column 22)", + " (in 'complex_scalar.stan', line 195, column 4 to column 21)", + " (in 'complex_scalar.stan', line 196, column 4 to column 21)", + " (in 'complex_scalar.stan', line 197, column 4 to column 21)", + " (in 'complex_scalar.stan', line 198, column 4 to column 19)", + " (in 'complex_scalar.stan', line 199, column 4 to column 21)", + " (in 'complex_scalar.stan', line 200, column 4 to column 27)", + " (in 'complex_scalar.stan', line 201, column 4 to column 36)", + " (in 'complex_scalar.stan', line 202, column 4 to column 27)", " (in 'complex_scalar.stan', line 203, column 4 to column 36)", - " (in 'complex_scalar.stan', line 204, column 4 to column 36)", - " (in 'complex_scalar.stan', line 205, column 4 to column 38)", - " (in 'complex_scalar.stan', line 207, column 4 to column 39)", - " (in 'complex_scalar.stan', line 208, column 4 to column 39)", - " (in 'complex_scalar.stan', line 209, column 4 to column 56)", - " (in 'complex_scalar.stan', line 210, column 4 to column 44)", - " (in 'complex_scalar.stan', line 212, column 4 to column 45)", - " (in 'complex_scalar.stan', line 213, column 4 to column 45)", - " (in 'complex_scalar.stan', line 214, column 4 to column 99)", - " (in 'complex_scalar.stan', line 215, column 4 to column 47)", - " (in 'complex_scalar.stan', line 216, column 4 to column 33)", - " (in 'complex_scalar.stan', line 217, column 4 to column 46)", - " (in 'complex_scalar.stan', line 218, column 4 to column 64)", - " (in 'complex_scalar.stan', line 222, column 12 to column 65)", - " (in 'complex_scalar.stan', line 221, column 26 to line 222, column 66)", - " (in 'complex_scalar.stan', line 221, column 8 to line 222, column 66)", - " (in 'complex_scalar.stan', line 220, column 22 to line 222, column 67)", - " (in 'complex_scalar.stan', line 220, column 4 to line 222, column 67)", - " (in 'complex_scalar.stan', line 224, column 4 to line 226, column 32)", - " (in 'complex_scalar.stan', line 225, column 8 to line 226, column 31)", - " (in 'complex_scalar.stan', line 226, column 12 to column 30)", - " (in 'complex_scalar.stan', line 228, column 4 to column 32)", - " (in 'complex_scalar.stan', line 229, column 4 to column 32)", - " (in 'complex_scalar.stan', line 230, column 4 to column 41)", - " (in 'complex_scalar.stan', line 231, column 4 to column 41)", - " (in 'complex_scalar.stan', line 232, column 4 to column 46)", - " (in 'complex_scalar.stan', line 233, column 4 to column 46)", - " (in 'complex_scalar.stan', line 235, column 4 to column 23)", - " (in 'complex_scalar.stan', line 236, column 4 to column 28)", - " (in 'complex_scalar.stan', line 237, column 4 to column 28)", - " (in 'complex_scalar.stan', line 238, column 4 to column 34)", - " (in 'complex_scalar.stan', line 239, column 4 to column 30)", - " (in 'complex_scalar.stan', line 240, column 4 to column 34)", - " (in 'complex_scalar.stan', line 241, column 4 to column 34)", - " (in 'complex_scalar.stan', line 242, column 4 to column 46)", - " (in 'complex_scalar.stan', line 243, column 4 to column 37)", - " (in 'complex_scalar.stan', line 244, column 4 to column 37)", - " (in 'complex_scalar.stan', line 245, column 4 to column 53)", - " (in 'complex_scalar.stan', line 247, column 4 to column 32)", - " (in 'complex_scalar.stan', line 248, column 4 to column 32)", - " (in 'complex_scalar.stan', line 249, column 4 to column 17)", - " (in 'complex_scalar.stan', line 250, column 4 to column 19)", - " (in 'complex_scalar.stan', line 252, column 4 to column 21)", - " (in 'complex_scalar.stan', line 253, column 4 to column 24)", - " (in 'complex_scalar.stan', line 254, column 4 to column 24)", - " (in 'complex_scalar.stan', line 255, column 4 to column 24)", - " (in 'complex_scalar.stan', line 256, column 4 to column 24)", - " (in 'complex_scalar.stan', line 257, column 4 to column 37)", - " (in 'complex_scalar.stan', line 258, column 4 to column 31)", - " (in 'complex_scalar.stan', line 259, column 4 to column 31)", - " (in 'complex_scalar.stan', line 260, column 4 to column 31)", - " (in 'complex_scalar.stan', line 261, column 4 to column 31)", - " (in 'complex_scalar.stan', line 262, column 4 to column 32)", - " (in 'complex_scalar.stan', line 263, column 4 to column 32)", - " (in 'complex_scalar.stan', line 265, column 4 to column 21)", - " (in 'complex_scalar.stan', line 266, column 4 to column 24)", - " (in 'complex_scalar.stan', line 267, column 4 to column 24)", - " (in 'complex_scalar.stan', line 268, column 4 to column 24)", - " (in 'complex_scalar.stan', line 269, column 4 to column 24)", - " (in 'complex_scalar.stan', line 270, column 4 to column 37)", - " (in 'complex_scalar.stan', line 271, column 4 to column 31)", - " (in 'complex_scalar.stan', line 272, column 4 to column 31)", - " (in 'complex_scalar.stan', line 273, column 4 to column 31)", - " (in 'complex_scalar.stan', line 274, column 4 to column 31)", - " (in 'complex_scalar.stan', line 275, column 4 to column 32)", - " (in 'complex_scalar.stan', line 276, column 4 to column 32)", - " (in 'complex_scalar.stan', line 278, column 4 to column 21)", - " (in 'complex_scalar.stan', line 279, column 4 to column 24)", - " (in 'complex_scalar.stan', line 280, column 4 to column 24)", - " (in 'complex_scalar.stan', line 281, column 4 to column 24)", - " (in 'complex_scalar.stan', line 282, column 4 to column 24)", - " (in 'complex_scalar.stan', line 283, column 4 to column 37)", - " (in 'complex_scalar.stan', line 284, column 4 to column 31)", - " (in 'complex_scalar.stan', line 285, column 4 to column 31)", - " (in 'complex_scalar.stan', line 286, column 4 to column 31)", - " (in 'complex_scalar.stan', line 287, column 4 to column 31)", - " (in 'complex_scalar.stan', line 288, column 4 to column 32)", - " (in 'complex_scalar.stan', line 289, column 4 to column 32)", - " (in 'complex_scalar.stan', line 291, column 4 to column 21)", - " (in 'complex_scalar.stan', line 292, column 4 to column 24)", - " (in 'complex_scalar.stan', line 293, column 4 to column 24)", - " (in 'complex_scalar.stan', line 294, column 4 to column 24)", - " (in 'complex_scalar.stan', line 295, column 4 to column 24)", - " (in 'complex_scalar.stan', line 296, column 4 to column 37)", - " (in 'complex_scalar.stan', line 297, column 4 to column 31)", - " (in 'complex_scalar.stan', line 298, column 4 to column 31)", - " (in 'complex_scalar.stan', line 299, column 4 to column 31)", - " (in 'complex_scalar.stan', line 300, column 4 to column 31)", - " (in 'complex_scalar.stan', line 301, column 4 to column 32)", - " (in 'complex_scalar.stan', line 302, column 4 to column 32)", - " (in 'complex_scalar.stan', line 304, column 4 to column 21)", - " (in 'complex_scalar.stan', line 305, column 4 to column 24)", - " (in 'complex_scalar.stan', line 306, column 4 to column 24)", - " (in 'complex_scalar.stan', line 307, column 4 to column 24)", - " (in 'complex_scalar.stan', line 308, column 4 to column 24)", - " (in 'complex_scalar.stan', line 309, column 4 to column 37)", - " (in 'complex_scalar.stan', line 310, column 4 to column 31)", - " (in 'complex_scalar.stan', line 311, column 4 to column 31)", - " (in 'complex_scalar.stan', line 312, column 4 to column 31)", - " (in 'complex_scalar.stan', line 313, column 4 to column 31)", - " (in 'complex_scalar.stan', line 314, column 4 to column 32)", - " (in 'complex_scalar.stan', line 315, column 4 to column 32)", - " (in 'complex_scalar.stan', line 317, column 4 to column 20)", - " (in 'complex_scalar.stan', line 318, column 4 to column 23)", - " (in 'complex_scalar.stan', line 319, column 4 to column 23)", - " (in 'complex_scalar.stan', line 320, column 4 to column 28)", - " (in 'complex_scalar.stan', line 321, column 4 to column 22)", - " (in 'complex_scalar.stan', line 322, column 4 to column 28)", - " (in 'complex_scalar.stan', line 323, column 4 to column 22)", - " (in 'complex_scalar.stan', line 325, column 4 to column 30)", - " (in 'complex_scalar.stan', line 326, column 4 to column 38)", - " (in 'complex_scalar.stan', line 327, column 4 to column 38)", - " (in 'complex_scalar.stan', line 329, column 4 to column 20)", - " (in 'complex_scalar.stan', line 330, column 4 to column 23)", - " (in 'complex_scalar.stan', line 331, column 4 to column 23)", - " (in 'complex_scalar.stan', line 332, column 4 to column 28)", - " (in 'complex_scalar.stan', line 333, column 4 to column 28)", - " (in 'complex_scalar.stan', line 334, column 4 to column 36)", - " (in 'complex_scalar.stan', line 335, column 4 to column 30)", - " (in 'complex_scalar.stan', line 336, column 4 to column 30)", - " (in 'complex_scalar.stan', line 337, column 4 to column 30)", - " (in 'complex_scalar.stan', line 338, column 4 to column 30)", - " (in 'complex_scalar.stan', line 340, column 4 to column 20)", - " (in 'complex_scalar.stan', line 341, column 4 to column 23)", - " (in 'complex_scalar.stan', line 342, column 4 to column 23)", - " (in 'complex_scalar.stan', line 343, column 4 to column 28)", - " (in 'complex_scalar.stan', line 344, column 4 to column 28)", - " (in 'complex_scalar.stan', line 345, column 4 to column 36)", - " (in 'complex_scalar.stan', line 346, column 4 to column 30)", - " (in 'complex_scalar.stan', line 347, column 4 to column 30)", - " (in 'complex_scalar.stan', line 348, column 4 to column 30)", - " (in 'complex_scalar.stan', line 349, column 4 to column 30)", - " (in 'complex_scalar.stan', line 351, column 4 to column 18)", - " (in 'complex_scalar.stan', line 352, column 4 to column 26)", - " (in 'complex_scalar.stan', line 353, column 4 to column 26)", - " (in 'complex_scalar.stan', line 355, column 4 to column 25)", - " (in 'complex_scalar.stan', line 356, column 4 to column 33)", - " (in 'complex_scalar.stan', line 357, column 4 to column 33)", - " (in 'complex_scalar.stan', line 359, column 4 to column 26)", - " (in 'complex_scalar.stan', line 360, column 4 to column 34)", - " (in 'complex_scalar.stan', line 361, column 4 to column 34)", - " (in 'complex_scalar.stan', line 363, column 4 to column 25)", - " (in 'complex_scalar.stan', line 364, column 4 to column 33)", - " (in 'complex_scalar.stan', line 365, column 4 to column 33)", - " (in 'complex_scalar.stan', line 367, column 4 to column 26)", - " (in 'complex_scalar.stan', line 368, column 4 to column 34)", - " (in 'complex_scalar.stan', line 369, column 4 to column 34)", - " (in 'complex_scalar.stan', line 371, column 4 to column 25)", - " (in 'complex_scalar.stan', line 372, column 4 to column 33)", - " (in 'complex_scalar.stan', line 373, column 4 to column 33)", - " (in 'complex_scalar.stan', line 375, column 4 to column 26)", - " (in 'complex_scalar.stan', line 376, column 4 to column 34)", - " (in 'complex_scalar.stan', line 377, column 4 to column 34)", - " (in 'complex_scalar.stan', line 379, column 4 to column 25)", - " (in 'complex_scalar.stan', line 380, column 4 to column 33)", - " (in 'complex_scalar.stan', line 381, column 4 to column 33)", - " (in 'complex_scalar.stan', line 383, column 4 to column 24)", - " (in 'complex_scalar.stan', line 384, column 4 to column 32)", - " (in 'complex_scalar.stan', line 385, column 4 to column 32)", - " (in 'complex_scalar.stan', line 387, column 4 to column 25)", - " (in 'complex_scalar.stan', line 388, column 4 to column 33)", - " (in 'complex_scalar.stan', line 389, column 4 to column 33)", - " (in 'complex_scalar.stan', line 391, column 4 to column 20)", - " (in 'complex_scalar.stan', line 392, column 4 to column 28)", - " (in 'complex_scalar.stan', line 393, column 4 to column 28)", - " (in 'complex_scalar.stan', line 394, column 4 to column 37)", - " (in 'complex_scalar.stan', line 395, column 4 to column 36)", - " (in 'complex_scalar.stan', line 396, column 4 to column 36)", - " (in 'complex_scalar.stan', line 398, column 4 to column 24)", - " (in 'complex_scalar.stan', line 399, column 4 to column 32)", - " (in 'complex_scalar.stan', line 400, column 4 to column 32)", - " (in 'complex_scalar.stan', line 402, column 4 to column 23)", - " (in 'complex_scalar.stan', line 403, column 4 to column 31)", - " (in 'complex_scalar.stan', line 404, column 4 to column 31)", - " (in 'complex_scalar.stan', line 406, column 4 to column 23)", - " (in 'complex_scalar.stan', line 407, column 4 to column 31)", + " (in 'complex_scalar.stan', line 204, column 4 to column 30)", + " (in 'complex_scalar.stan', line 205, column 4 to column 31)", + " (in 'complex_scalar.stan', line 206, column 4 to column 33)", + " (in 'complex_scalar.stan', line 207, column 4 to column 34)", + " (in 'complex_scalar.stan', line 208, column 4 to column 36)", + " (in 'complex_scalar.stan', line 209, column 4 to column 36)", + " (in 'complex_scalar.stan', line 210, column 4 to column 38)", + " (in 'complex_scalar.stan', line 212, column 4 to column 39)", + " (in 'complex_scalar.stan', line 213, column 4 to column 39)", + " (in 'complex_scalar.stan', line 214, column 4 to column 56)", + " (in 'complex_scalar.stan', line 215, column 4 to column 44)", + " (in 'complex_scalar.stan', line 217, column 4 to column 45)", + " (in 'complex_scalar.stan', line 218, column 4 to column 45)", + " (in 'complex_scalar.stan', line 219, column 4 to column 99)", + " (in 'complex_scalar.stan', line 220, column 4 to column 47)", + " (in 'complex_scalar.stan', line 221, column 4 to column 33)", + " (in 'complex_scalar.stan', line 222, column 4 to column 46)", + " (in 'complex_scalar.stan', line 223, column 4 to column 64)", + " (in 'complex_scalar.stan', line 227, column 12 to column 65)", + " (in 'complex_scalar.stan', line 226, column 26 to line 227, column 66)", + " (in 'complex_scalar.stan', line 226, column 8 to line 227, column 66)", + " (in 'complex_scalar.stan', line 225, column 22 to line 227, column 67)", + " (in 'complex_scalar.stan', line 225, column 4 to line 227, column 67)", + " (in 'complex_scalar.stan', line 229, column 4 to line 231, column 32)", + " (in 'complex_scalar.stan', line 230, column 8 to line 231, column 31)", + " (in 'complex_scalar.stan', line 231, column 12 to column 30)", + " (in 'complex_scalar.stan', line 233, column 4 to column 32)", + " (in 'complex_scalar.stan', line 234, column 4 to column 32)", + " (in 'complex_scalar.stan', line 235, column 4 to column 41)", + " (in 'complex_scalar.stan', line 236, column 4 to column 41)", + " (in 'complex_scalar.stan', line 237, column 4 to column 46)", + " (in 'complex_scalar.stan', line 238, column 4 to column 46)", + " (in 'complex_scalar.stan', line 240, column 4 to column 23)", + " (in 'complex_scalar.stan', line 241, column 4 to column 28)", + " (in 'complex_scalar.stan', line 242, column 4 to column 28)", + " (in 'complex_scalar.stan', line 243, column 4 to column 34)", + " (in 'complex_scalar.stan', line 244, column 4 to column 30)", + " (in 'complex_scalar.stan', line 245, column 4 to column 34)", + " (in 'complex_scalar.stan', line 246, column 4 to column 34)", + " (in 'complex_scalar.stan', line 247, column 4 to column 46)", + " (in 'complex_scalar.stan', line 248, column 4 to column 37)", + " (in 'complex_scalar.stan', line 249, column 4 to column 37)", + " (in 'complex_scalar.stan', line 250, column 4 to column 53)", + " (in 'complex_scalar.stan', line 252, column 4 to column 32)", + " (in 'complex_scalar.stan', line 253, column 4 to column 32)", + " (in 'complex_scalar.stan', line 254, column 4 to column 17)", + " (in 'complex_scalar.stan', line 255, column 4 to column 19)", + " (in 'complex_scalar.stan', line 257, column 4 to column 21)", + " (in 'complex_scalar.stan', line 258, column 4 to column 24)", + " (in 'complex_scalar.stan', line 259, column 4 to column 24)", + " (in 'complex_scalar.stan', line 260, column 4 to column 24)", + " (in 'complex_scalar.stan', line 261, column 4 to column 24)", + " (in 'complex_scalar.stan', line 262, column 4 to column 37)", + " (in 'complex_scalar.stan', line 263, column 4 to column 31)", + " (in 'complex_scalar.stan', line 264, column 4 to column 31)", + " (in 'complex_scalar.stan', line 265, column 4 to column 31)", + " (in 'complex_scalar.stan', line 266, column 4 to column 31)", + " (in 'complex_scalar.stan', line 267, column 4 to column 32)", + " (in 'complex_scalar.stan', line 268, column 4 to column 32)", + " (in 'complex_scalar.stan', line 270, column 4 to column 21)", + " (in 'complex_scalar.stan', line 271, column 4 to column 24)", + " (in 'complex_scalar.stan', line 272, column 4 to column 24)", + " (in 'complex_scalar.stan', line 273, column 4 to column 24)", + " (in 'complex_scalar.stan', line 274, column 4 to column 24)", + " (in 'complex_scalar.stan', line 275, column 4 to column 37)", + " (in 'complex_scalar.stan', line 276, column 4 to column 31)", + " (in 'complex_scalar.stan', line 277, column 4 to column 31)", + " (in 'complex_scalar.stan', line 278, column 4 to column 31)", + " (in 'complex_scalar.stan', line 279, column 4 to column 31)", + " (in 'complex_scalar.stan', line 280, column 4 to column 32)", + " (in 'complex_scalar.stan', line 281, column 4 to column 32)", + " (in 'complex_scalar.stan', line 283, column 4 to column 21)", + " (in 'complex_scalar.stan', line 284, column 4 to column 24)", + " (in 'complex_scalar.stan', line 285, column 4 to column 24)", + " (in 'complex_scalar.stan', line 286, column 4 to column 24)", + " (in 'complex_scalar.stan', line 287, column 4 to column 24)", + " (in 'complex_scalar.stan', line 288, column 4 to column 37)", + " (in 'complex_scalar.stan', line 289, column 4 to column 31)", + " (in 'complex_scalar.stan', line 290, column 4 to column 31)", + " (in 'complex_scalar.stan', line 291, column 4 to column 31)", + " (in 'complex_scalar.stan', line 292, column 4 to column 31)", + " (in 'complex_scalar.stan', line 293, column 4 to column 32)", + " (in 'complex_scalar.stan', line 294, column 4 to column 32)", + " (in 'complex_scalar.stan', line 296, column 4 to column 21)", + " (in 'complex_scalar.stan', line 297, column 4 to column 24)", + " (in 'complex_scalar.stan', line 298, column 4 to column 24)", + " (in 'complex_scalar.stan', line 299, column 4 to column 24)", + " (in 'complex_scalar.stan', line 300, column 4 to column 24)", + " (in 'complex_scalar.stan', line 301, column 4 to column 37)", + " (in 'complex_scalar.stan', line 302, column 4 to column 31)", + " (in 'complex_scalar.stan', line 303, column 4 to column 31)", + " (in 'complex_scalar.stan', line 304, column 4 to column 31)", + " (in 'complex_scalar.stan', line 305, column 4 to column 31)", + " (in 'complex_scalar.stan', line 306, column 4 to column 32)", + " (in 'complex_scalar.stan', line 307, column 4 to column 32)", + " (in 'complex_scalar.stan', line 309, column 4 to column 21)", + " (in 'complex_scalar.stan', line 310, column 4 to column 24)", + " (in 'complex_scalar.stan', line 311, column 4 to column 24)", + " (in 'complex_scalar.stan', line 312, column 4 to column 24)", + " (in 'complex_scalar.stan', line 313, column 4 to column 24)", + " (in 'complex_scalar.stan', line 314, column 4 to column 37)", + " (in 'complex_scalar.stan', line 315, column 4 to column 31)", + " (in 'complex_scalar.stan', line 316, column 4 to column 31)", + " (in 'complex_scalar.stan', line 317, column 4 to column 31)", + " (in 'complex_scalar.stan', line 318, column 4 to column 31)", + " (in 'complex_scalar.stan', line 319, column 4 to column 32)", + " (in 'complex_scalar.stan', line 320, column 4 to column 32)", + " (in 'complex_scalar.stan', line 322, column 4 to column 20)", + " (in 'complex_scalar.stan', line 323, column 4 to column 23)", + " (in 'complex_scalar.stan', line 324, column 4 to column 23)", + " (in 'complex_scalar.stan', line 325, column 4 to column 28)", + " (in 'complex_scalar.stan', line 326, column 4 to column 22)", + " (in 'complex_scalar.stan', line 327, column 4 to column 28)", + " (in 'complex_scalar.stan', line 328, column 4 to column 22)", + " (in 'complex_scalar.stan', line 330, column 4 to column 30)", + " (in 'complex_scalar.stan', line 331, column 4 to column 38)", + " (in 'complex_scalar.stan', line 332, column 4 to column 38)", + " (in 'complex_scalar.stan', line 334, column 4 to column 20)", + " (in 'complex_scalar.stan', line 335, column 4 to column 23)", + " (in 'complex_scalar.stan', line 336, column 4 to column 23)", + " (in 'complex_scalar.stan', line 337, column 4 to column 28)", + " (in 'complex_scalar.stan', line 338, column 4 to column 28)", + " (in 'complex_scalar.stan', line 339, column 4 to column 36)", + " (in 'complex_scalar.stan', line 340, column 4 to column 30)", + " (in 'complex_scalar.stan', line 341, column 4 to column 30)", + " (in 'complex_scalar.stan', line 342, column 4 to column 30)", + " (in 'complex_scalar.stan', line 343, column 4 to column 30)", + " (in 'complex_scalar.stan', line 345, column 4 to column 20)", + " (in 'complex_scalar.stan', line 346, column 4 to column 23)", + " (in 'complex_scalar.stan', line 347, column 4 to column 23)", + " (in 'complex_scalar.stan', line 348, column 4 to column 28)", + " (in 'complex_scalar.stan', line 349, column 4 to column 28)", + " (in 'complex_scalar.stan', line 350, column 4 to column 36)", + " (in 'complex_scalar.stan', line 351, column 4 to column 30)", + " (in 'complex_scalar.stan', line 352, column 4 to column 30)", + " (in 'complex_scalar.stan', line 353, column 4 to column 30)", + " (in 'complex_scalar.stan', line 354, column 4 to column 30)", + " (in 'complex_scalar.stan', line 356, column 4 to column 18)", + " (in 'complex_scalar.stan', line 357, column 4 to column 26)", + " (in 'complex_scalar.stan', line 358, column 4 to column 26)", + " (in 'complex_scalar.stan', line 360, column 4 to column 25)", + " (in 'complex_scalar.stan', line 361, column 4 to column 33)", + " (in 'complex_scalar.stan', line 362, column 4 to column 33)", + " (in 'complex_scalar.stan', line 364, column 4 to column 26)", + " (in 'complex_scalar.stan', line 365, column 4 to column 34)", + " (in 'complex_scalar.stan', line 366, column 4 to column 34)", + " (in 'complex_scalar.stan', line 368, column 4 to column 25)", + " (in 'complex_scalar.stan', line 369, column 4 to column 33)", + " (in 'complex_scalar.stan', line 370, column 4 to column 33)", + " (in 'complex_scalar.stan', line 372, column 4 to column 26)", + " (in 'complex_scalar.stan', line 373, column 4 to column 34)", + " (in 'complex_scalar.stan', line 374, column 4 to column 34)", + " (in 'complex_scalar.stan', line 376, column 4 to column 25)", + " (in 'complex_scalar.stan', line 377, column 4 to column 33)", + " (in 'complex_scalar.stan', line 378, column 4 to column 33)", + " (in 'complex_scalar.stan', line 380, column 4 to column 26)", + " (in 'complex_scalar.stan', line 381, column 4 to column 34)", + " (in 'complex_scalar.stan', line 382, column 4 to column 34)", + " (in 'complex_scalar.stan', line 384, column 4 to column 25)", + " (in 'complex_scalar.stan', line 385, column 4 to column 33)", + " (in 'complex_scalar.stan', line 386, column 4 to column 33)", + " (in 'complex_scalar.stan', line 388, column 4 to column 24)", + " (in 'complex_scalar.stan', line 389, column 4 to column 32)", + " (in 'complex_scalar.stan', line 390, column 4 to column 32)", + " (in 'complex_scalar.stan', line 392, column 4 to column 25)", + " (in 'complex_scalar.stan', line 393, column 4 to column 33)", + " (in 'complex_scalar.stan', line 394, column 4 to column 33)", + " (in 'complex_scalar.stan', line 396, column 4 to column 20)", + " (in 'complex_scalar.stan', line 397, column 4 to column 28)", + " (in 'complex_scalar.stan', line 398, column 4 to column 28)", + " (in 'complex_scalar.stan', line 399, column 4 to column 37)", + " (in 'complex_scalar.stan', line 400, column 4 to column 36)", + " (in 'complex_scalar.stan', line 401, column 4 to column 36)", + " (in 'complex_scalar.stan', line 403, column 4 to column 24)", + " (in 'complex_scalar.stan', line 404, column 4 to column 32)", + " (in 'complex_scalar.stan', line 405, column 4 to column 32)", + " (in 'complex_scalar.stan', line 407, column 4 to column 23)", " (in 'complex_scalar.stan', line 408, column 4 to column 31)", - " (in 'complex_scalar.stan', line 410, column 4 to column 49)", - " (in 'complex_scalar.stan', line 411, column 4 to column 48)", - " (in 'complex_scalar.stan', line 412, column 4 to column 48)", - " (in 'complex_scalar.stan', line 414, column 4 to column 24)", - " (in 'complex_scalar.stan', line 415, column 4 to column 32)", - " (in 'complex_scalar.stan', line 416, column 4 to column 32)", - " (in 'complex_scalar.stan', line 418, column 4 to column 26)", - " (in 'complex_scalar.stan', line 419, column 4 to column 34)", - " (in 'complex_scalar.stan', line 420, column 4 to column 34)", - " (in 'complex_scalar.stan', line 422, column 4 to column 19)", - " (in 'complex_scalar.stan', line 423, column 4 to column 27)", - " (in 'complex_scalar.stan', line 424, column 4 to column 27)", - " (in 'complex_scalar.stan', line 426, column 4 to column 42)", - " (in 'complex_scalar.stan', line 427, column 4 to column 41)", - " (in 'complex_scalar.stan', line 428, column 4 to column 41)", - " (in 'complex_scalar.stan', line 430, column 4 to column 35)", - " (in 'complex_scalar.stan', line 431, column 4 to column 35)", - " (in 'complex_scalar.stan', line 432, column 4 to column 35)", - " (in 'complex_scalar.stan', line 433, column 4 to column 35)", - " (in 'complex_scalar.stan', line 434, column 4 to column 34)", - " (in 'complex_scalar.stan', line 435, column 4 to column 34)", - " (in 'complex_scalar.stan', line 436, column 4 to column 33)", - " (in 'complex_scalar.stan', line 438, column 4 to column 30)", - " (in 'complex_scalar.stan', line 439, column 4 to column 30)", - " (in 'complex_scalar.stan', line 440, column 4 to column 27)", - " (in 'complex_scalar.stan', line 441, column 4 to column 37)", - " (in 'complex_scalar.stan', line 442, column 4 to column 37)", - " (in 'complex_scalar.stan', line 443, column 4 to column 38)", - " (in 'complex_scalar.stan', line 444, column 4 to column 35)", - " (in 'complex_scalar.stan', line 445, column 4 to column 43)", - " (in 'complex_scalar.stan', line 446, column 4 to column 43)", + " (in 'complex_scalar.stan', line 409, column 4 to column 31)", + " (in 'complex_scalar.stan', line 411, column 4 to column 23)", + " (in 'complex_scalar.stan', line 412, column 4 to column 31)", + " (in 'complex_scalar.stan', line 413, column 4 to column 31)", + " (in 'complex_scalar.stan', line 415, column 4 to column 49)", + " (in 'complex_scalar.stan', line 416, column 4 to column 48)", + " (in 'complex_scalar.stan', line 417, column 4 to column 48)", + " (in 'complex_scalar.stan', line 419, column 4 to column 24)", + " (in 'complex_scalar.stan', line 420, column 4 to column 32)", + " (in 'complex_scalar.stan', line 421, column 4 to column 32)", + " (in 'complex_scalar.stan', line 423, column 4 to column 26)", + " (in 'complex_scalar.stan', line 424, column 4 to column 34)", + " (in 'complex_scalar.stan', line 425, column 4 to column 34)", + " (in 'complex_scalar.stan', line 427, column 4 to column 19)", + " (in 'complex_scalar.stan', line 428, column 4 to column 27)", + " (in 'complex_scalar.stan', line 429, column 4 to column 27)", + " (in 'complex_scalar.stan', line 431, column 4 to column 42)", + " (in 'complex_scalar.stan', line 432, column 4 to column 41)", + " (in 'complex_scalar.stan', line 433, column 4 to column 41)", + " (in 'complex_scalar.stan', line 435, column 4 to column 35)", + " (in 'complex_scalar.stan', line 436, column 4 to column 35)", + " (in 'complex_scalar.stan', line 437, column 4 to column 35)", + " (in 'complex_scalar.stan', line 438, column 4 to column 35)", + " (in 'complex_scalar.stan', line 439, column 4 to column 34)", + " (in 'complex_scalar.stan', line 440, column 4 to column 34)", + " (in 'complex_scalar.stan', line 441, column 4 to column 33)", + " (in 'complex_scalar.stan', line 443, column 4 to column 30)", + " (in 'complex_scalar.stan', line 444, column 4 to column 30)", + " (in 'complex_scalar.stan', line 445, column 4 to column 27)", + " (in 'complex_scalar.stan', line 446, column 4 to column 37)", " (in 'complex_scalar.stan', line 447, column 4 to column 37)", - " (in 'complex_scalar.stan', line 448, column 4 to column 37)", - " (in 'complex_scalar.stan', line 449, column 4 to column 38)", - " (in 'complex_scalar.stan', line 450, column 4 to column 35)", + " (in 'complex_scalar.stan', line 448, column 4 to column 38)", + " (in 'complex_scalar.stan', line 449, column 4 to column 35)", + " (in 'complex_scalar.stan', line 450, column 4 to column 43)", " (in 'complex_scalar.stan', line 451, column 4 to column 43)", - " (in 'complex_scalar.stan', line 452, column 4 to column 43)", - " (in 'complex_scalar.stan', line 454, column 4 to column 25)", - " (in 'complex_scalar.stan', line 455, column 4 to column 33)", - " (in 'complex_scalar.stan', line 456, column 4 to column 33)", - " (in 'complex_scalar.stan', line 458, column 4 to column 49)", - " (in 'complex_scalar.stan', line 459, column 4 to column 48)", - " (in 'complex_scalar.stan', line 460, column 4 to column 48)", - " (in 'complex_scalar.stan', line 462, column 4 to column 24)", - " (in 'complex_scalar.stan', line 463, column 4 to column 32)", - " (in 'complex_scalar.stan', line 464, column 4 to column 32)", - " (in 'complex_scalar.stan', line 466, column 4 to column 25)", - " (in 'complex_scalar.stan', line 467, column 4 to column 33)", - " (in 'complex_scalar.stan', line 468, column 4 to column 33)", - " (in 'complex_scalar.stan', line 470, column 4 to column 34)", - " (in 'complex_scalar.stan', line 471, column 4 to column 33)", + " (in 'complex_scalar.stan', line 452, column 4 to column 37)", + " (in 'complex_scalar.stan', line 453, column 4 to column 37)", + " (in 'complex_scalar.stan', line 454, column 4 to column 38)", + " (in 'complex_scalar.stan', line 455, column 4 to column 35)", + " (in 'complex_scalar.stan', line 456, column 4 to column 43)", + " (in 'complex_scalar.stan', line 457, column 4 to column 43)", + " (in 'complex_scalar.stan', line 459, column 4 to column 25)", + " (in 'complex_scalar.stan', line 460, column 4 to column 33)", + " (in 'complex_scalar.stan', line 461, column 4 to column 33)", + " (in 'complex_scalar.stan', line 463, column 4 to column 49)", + " (in 'complex_scalar.stan', line 464, column 4 to column 48)", + " (in 'complex_scalar.stan', line 465, column 4 to column 48)", + " (in 'complex_scalar.stan', line 467, column 4 to column 24)", + " (in 'complex_scalar.stan', line 468, column 4 to column 32)", + " (in 'complex_scalar.stan', line 469, column 4 to column 32)", + " (in 'complex_scalar.stan', line 471, column 4 to column 25)", " (in 'complex_scalar.stan', line 472, column 4 to column 33)", - " (in 'complex_scalar.stan', line 474, column 4 to column 25)", - " (in 'complex_scalar.stan', line 475, column 4 to column 33)", + " (in 'complex_scalar.stan', line 473, column 4 to column 33)", + " (in 'complex_scalar.stan', line 475, column 4 to column 34)", " (in 'complex_scalar.stan', line 476, column 4 to column 33)", - " (in 'complex_scalar.stan', line 478, column 4 to column 49)", - " (in 'complex_scalar.stan', line 479, column 4 to column 48)", - " (in 'complex_scalar.stan', line 480, column 4 to column 48)", - " (in 'complex_scalar.stan', line 482, column 4 to column 24)", - " (in 'complex_scalar.stan', line 483, column 4 to column 32)", - " (in 'complex_scalar.stan', line 484, column 4 to column 32)", - " (in 'complex_scalar.stan', line 486, column 4 to column 25)", - " (in 'complex_scalar.stan', line 487, column 4 to column 33)", - " (in 'complex_scalar.stan', line 488, column 4 to column 33)", - " (in 'complex_scalar.stan', line 490, column 4 to column 30)", - " (in 'complex_scalar.stan', line 491, column 4 to column 40)", - " (in 'complex_scalar.stan', line 492, column 4 to column 40)", - " (in 'complex_scalar.stan', line 493, column 4 to column 40)", - " (in 'complex_scalar.stan', line 494, column 4 to column 40)", - " (in 'complex_scalar.stan', line 495, column 4 to column 34)", - " (in 'complex_scalar.stan', line 496, column 4 to column 34)", - " (in 'complex_scalar.stan', line 497, column 4 to column 39)", - " (in 'complex_scalar.stan', line 498, column 4 to column 38)", - " (in 'complex_scalar.stan', line 499, column 4 to column 39)", - " (in 'complex_scalar.stan', line 500, column 4 to column 33)", - " (in 'complex_scalar.stan', line 501, column 4 to column 33)", - " (in 'complex_scalar.stan', line 504, column 4 to column 25)", - " (in 'complex_scalar.stan', line 505, column 4 to column 17)", - " (in 'complex_scalar.stan', line 506, column 4 to column 74)", - " (in 'complex_scalar.stan', line 507, column 4 to column 35)", - " (in 'complex_scalar.stan', line 175, column 4 to column 22)", - " (in 'complex_scalar.stan', line 176, column 4 to column 31)", - " (in 'complex_scalar.stan', line 177, column 4 to column 37)", - " (in 'complex_scalar.stan', line 179, column 4 to column 34)", - " (in 'complex_scalar.stan', line 37, column 4 to column 12)", - " (in 'complex_scalar.stan', line 38, column 4 to column 13)", - " (in 'complex_scalar.stan', line 39, column 4 to column 22)", - " (in 'complex_scalar.stan', line 40, column 4 to column 31)", - " (in 'complex_scalar.stan', line 41, column 4 to column 37)", - " (in 'complex_scalar.stan', line 44, column 4 to column 17)", - " (in 'complex_scalar.stan', line 45, column 4 to column 20)", - " (in 'complex_scalar.stan', line 46, column 4 to column 23)", - " (in 'complex_scalar.stan', line 47, column 4 to column 32)", - " (in 'complex_scalar.stan', line 48, column 4 to column 38)", - " (in 'complex_scalar.stan', line 50, column 4 to column 22)", - " (in 'complex_scalar.stan', line 51, column 4 to column 22)", - " (in 'complex_scalar.stan', line 52, column 4 to column 21)", - " (in 'complex_scalar.stan', line 53, column 4 to column 21)", - " (in 'complex_scalar.stan', line 54, column 4 to column 19)", + " (in 'complex_scalar.stan', line 477, column 4 to column 33)", + " (in 'complex_scalar.stan', line 479, column 4 to column 25)", + " (in 'complex_scalar.stan', line 480, column 4 to column 33)", + " (in 'complex_scalar.stan', line 481, column 4 to column 33)", + " (in 'complex_scalar.stan', line 483, column 4 to column 49)", + " (in 'complex_scalar.stan', line 484, column 4 to column 48)", + " (in 'complex_scalar.stan', line 485, column 4 to column 48)", + " (in 'complex_scalar.stan', line 487, column 4 to column 24)", + " (in 'complex_scalar.stan', line 488, column 4 to column 32)", + " (in 'complex_scalar.stan', line 489, column 4 to column 32)", + " (in 'complex_scalar.stan', line 491, column 4 to column 25)", + " (in 'complex_scalar.stan', line 492, column 4 to column 33)", + " (in 'complex_scalar.stan', line 493, column 4 to column 33)", + " (in 'complex_scalar.stan', line 495, column 4 to column 30)", + " (in 'complex_scalar.stan', line 496, column 4 to column 40)", + " (in 'complex_scalar.stan', line 497, column 4 to column 40)", + " (in 'complex_scalar.stan', line 498, column 4 to column 40)", + " (in 'complex_scalar.stan', line 499, column 4 to column 40)", + " (in 'complex_scalar.stan', line 500, column 4 to column 34)", + " (in 'complex_scalar.stan', line 501, column 4 to column 34)", + " (in 'complex_scalar.stan', line 502, column 4 to column 39)", + " (in 'complex_scalar.stan', line 503, column 4 to column 38)", + " (in 'complex_scalar.stan', line 504, column 4 to column 39)", + " (in 'complex_scalar.stan', line 505, column 4 to column 33)", + " (in 'complex_scalar.stan', line 506, column 4 to column 33)", + " (in 'complex_scalar.stan', line 508, column 4 to column 20)", + " (in 'complex_scalar.stan', line 509, column 4 to column 22)", + " (in 'complex_scalar.stan', line 510, column 4 to column 21)", + " (in 'complex_scalar.stan', line 511, column 4 to column 22)", + " (in 'complex_scalar.stan', line 512, column 4 to column 27)", + " (in 'complex_scalar.stan', line 513, column 4 to column 27)", + " (in 'complex_scalar.stan', line 514, column 4 to column 29)", + " (in 'complex_scalar.stan', line 515, column 4 to column 29)", + " (in 'complex_scalar.stan', line 518, column 4 to column 25)", + " (in 'complex_scalar.stan', line 519, column 4 to column 17)", + " (in 'complex_scalar.stan', line 520, column 4 to column 74)", + " (in 'complex_scalar.stan', line 521, column 4 to column 35)", + " (in 'complex_scalar.stan', line 180, column 4 to column 22)", + " (in 'complex_scalar.stan', line 181, column 4 to column 31)", + " (in 'complex_scalar.stan', line 182, column 4 to column 37)", + " (in 'complex_scalar.stan', line 184, column 4 to column 34)", + " (in 'complex_scalar.stan', line 40, column 4 to column 12)", + " (in 'complex_scalar.stan', line 41, column 4 to column 13)", + " (in 'complex_scalar.stan', line 42, column 4 to column 22)", + " (in 'complex_scalar.stan', line 43, column 4 to column 31)", + " (in 'complex_scalar.stan', line 44, column 4 to column 37)", + " (in 'complex_scalar.stan', line 47, column 4 to column 17)", + " (in 'complex_scalar.stan', line 48, column 4 to column 20)", + " (in 'complex_scalar.stan', line 49, column 4 to column 23)", + " (in 'complex_scalar.stan', line 50, column 4 to column 32)", + " (in 'complex_scalar.stan', line 51, column 4 to column 38)", + " (in 'complex_scalar.stan', line 53, column 4 to column 22)", + " (in 'complex_scalar.stan', line 54, column 4 to column 22)", " (in 'complex_scalar.stan', line 55, column 4 to column 21)", - " (in 'complex_scalar.stan', line 56, column 4 to column 27)", - " (in 'complex_scalar.stan', line 57, column 4 to column 36)", - " (in 'complex_scalar.stan', line 58, column 4 to column 30)", - " (in 'complex_scalar.stan', line 59, column 4 to column 31)", - " (in 'complex_scalar.stan', line 60, column 4 to column 33)", - " (in 'complex_scalar.stan', line 61, column 4 to column 34)", - " (in 'complex_scalar.stan', line 62, column 4 to column 36)", - " (in 'complex_scalar.stan', line 63, column 4 to column 36)", - " (in 'complex_scalar.stan', line 64, column 4 to column 38)", - " (in 'complex_scalar.stan', line 66, column 4 to column 39)", - " (in 'complex_scalar.stan', line 67, column 4 to column 56)", - " (in 'complex_scalar.stan', line 68, column 4 to column 44)", - " (in 'complex_scalar.stan', line 70, column 4 to column 45)", - " (in 'complex_scalar.stan', line 71, column 4 to column 99)", - " (in 'complex_scalar.stan', line 72, column 4 to column 47)", - " (in 'complex_scalar.stan', line 73, column 4 to column 33)", - " (in 'complex_scalar.stan', line 74, column 4 to column 46)", - " (in 'complex_scalar.stan', line 75, column 4 to column 64)", - " (in 'complex_scalar.stan', line 79, column 12 to column 65)", - " (in 'complex_scalar.stan', line 78, column 26 to line 79, column 66)", - " (in 'complex_scalar.stan', line 78, column 8 to line 79, column 66)", - " (in 'complex_scalar.stan', line 77, column 22 to line 79, column 67)", - " (in 'complex_scalar.stan', line 77, column 4 to line 79, column 67)", - " (in 'complex_scalar.stan', line 81, column 4 to line 83, column 32)", - " (in 'complex_scalar.stan', line 82, column 8 to line 83, column 31)", - " (in 'complex_scalar.stan', line 83, column 12 to column 30)", - " (in 'complex_scalar.stan', line 85, column 4 to column 32)", - " (in 'complex_scalar.stan', line 86, column 4 to column 32)", - " (in 'complex_scalar.stan', line 87, column 4 to column 41)", - " (in 'complex_scalar.stan', line 88, column 4 to column 41)", - " (in 'complex_scalar.stan', line 89, column 4 to column 46)", - " (in 'complex_scalar.stan', line 90, column 4 to column 46)", - " (in 'complex_scalar.stan', line 92, column 4 to column 23)", - " (in 'complex_scalar.stan', line 93, column 4 to column 28)", - " (in 'complex_scalar.stan', line 94, column 4 to column 28)", - " (in 'complex_scalar.stan', line 95, column 4 to column 34)", - " (in 'complex_scalar.stan', line 96, column 4 to column 30)", - " (in 'complex_scalar.stan', line 97, column 4 to column 34)", - " (in 'complex_scalar.stan', line 98, column 4 to column 34)", - " (in 'complex_scalar.stan', line 99, column 4 to column 46)", - " (in 'complex_scalar.stan', line 100, column 4 to column 37)", - " (in 'complex_scalar.stan', line 101, column 4 to column 37)", - " (in 'complex_scalar.stan', line 102, column 4 to column 53)", - " (in 'complex_scalar.stan', line 249, column 14 to column 15)", - " (in 'complex_scalar.stan', line 250, column 16 to column 17)", + " (in 'complex_scalar.stan', line 56, column 4 to column 21)", + " (in 'complex_scalar.stan', line 57, column 4 to column 19)", + " (in 'complex_scalar.stan', line 58, column 4 to column 21)", + " (in 'complex_scalar.stan', line 59, column 4 to column 27)", + " (in 'complex_scalar.stan', line 60, column 4 to column 36)", + " (in 'complex_scalar.stan', line 61, column 4 to column 30)", + " (in 'complex_scalar.stan', line 62, column 4 to column 31)", + " (in 'complex_scalar.stan', line 63, column 4 to column 33)", + " (in 'complex_scalar.stan', line 64, column 4 to column 34)", + " (in 'complex_scalar.stan', line 65, column 4 to column 36)", + " (in 'complex_scalar.stan', line 66, column 4 to column 36)", + " (in 'complex_scalar.stan', line 67, column 4 to column 38)", + " (in 'complex_scalar.stan', line 69, column 4 to column 39)", + " (in 'complex_scalar.stan', line 70, column 4 to column 56)", + " (in 'complex_scalar.stan', line 71, column 4 to column 44)", + " (in 'complex_scalar.stan', line 73, column 4 to column 45)", + " (in 'complex_scalar.stan', line 74, column 4 to column 99)", + " (in 'complex_scalar.stan', line 75, column 4 to column 47)", + " (in 'complex_scalar.stan', line 76, column 4 to column 33)", + " (in 'complex_scalar.stan', line 77, column 4 to column 46)", + " (in 'complex_scalar.stan', line 78, column 4 to column 64)", + " (in 'complex_scalar.stan', line 82, column 12 to column 65)", + " (in 'complex_scalar.stan', line 81, column 26 to line 82, column 66)", + " (in 'complex_scalar.stan', line 81, column 8 to line 82, column 66)", + " (in 'complex_scalar.stan', line 80, column 22 to line 82, column 67)", + " (in 'complex_scalar.stan', line 80, column 4 to line 82, column 67)", + " (in 'complex_scalar.stan', line 84, column 4 to line 86, column 32)", + " (in 'complex_scalar.stan', line 85, column 8 to line 86, column 31)", + " (in 'complex_scalar.stan', line 86, column 12 to column 30)", + " (in 'complex_scalar.stan', line 88, column 4 to column 32)", + " (in 'complex_scalar.stan', line 89, column 4 to column 32)", + " (in 'complex_scalar.stan', line 90, column 4 to column 41)", + " (in 'complex_scalar.stan', line 91, column 4 to column 41)", + " (in 'complex_scalar.stan', line 92, column 4 to column 46)", + " (in 'complex_scalar.stan', line 93, column 4 to column 46)", + " (in 'complex_scalar.stan', line 95, column 4 to column 23)", + " (in 'complex_scalar.stan', line 96, column 4 to column 19)", + " (in 'complex_scalar.stan', line 97, column 4 to column 21)", + " (in 'complex_scalar.stan', line 98, column 4 to column 28)", + " (in 'complex_scalar.stan', line 99, column 4 to column 28)", + " (in 'complex_scalar.stan', line 100, column 4 to column 34)", + " (in 'complex_scalar.stan', line 101, column 4 to column 30)", + " (in 'complex_scalar.stan', line 102, column 4 to column 34)", + " (in 'complex_scalar.stan', line 103, column 4 to column 34)", + " (in 'complex_scalar.stan', line 104, column 4 to column 46)", + " (in 'complex_scalar.stan', line 105, column 4 to column 37)", + " (in 'complex_scalar.stan', line 106, column 4 to column 37)", + " (in 'complex_scalar.stan', line 107, column 4 to column 53)", + " (in 'complex_scalar.stan', line 254, column 14 to column 15)", + " (in 'complex_scalar.stan', line 255, column 16 to column 17)", " (in 'complex_scalar.stan', line 3, column 8 to column 28)", " (in 'complex_scalar.stan', line 2, column 17 to line 4, column 5)", - " (in 'complex_scalar.stan', line 6, column 8 to column 19)", - " (in 'complex_scalar.stan', line 5, column 24 to line 7, column 5)", - " (in 'complex_scalar.stan', line 9, column 8 to column 29)", - " (in 'complex_scalar.stan', line 8, column 24 to line 10, column 5)", - " (in 'complex_scalar.stan', line 12, column 8 to column 17)", - " (in 'complex_scalar.stan', line 11, column 27 to line 13, column 5)", - " (in 'complex_scalar.stan', line 15, column 8 to column 44)", - " (in 'complex_scalar.stan', line 14, column 20 to line 16, column 5)", - " (in 'complex_scalar.stan', line 18, column 8 to column 19)", - " (in 'complex_scalar.stan', line 17, column 26 to line 19, column 5)", - " (in 'complex_scalar.stan', line 21, column 8 to column 48)", - " (in 'complex_scalar.stan', line 20, column 26 to line 22, column 5)", - " (in 'complex_scalar.stan', line 24, column 8 to column 17)", - " (in 'complex_scalar.stan', line 23, column 31 to line 25, column 5)", - " (in 'complex_scalar.stan', line 27, column 8 to column 19)", - " (in 'complex_scalar.stan', line 26, column 27 to line 28, column 5)", - " (in 'complex_scalar.stan', line 30, column 8 to column 110)", + " (in 'complex_scalar.stan', line 7, column 8 to column 19)", + " (in 'complex_scalar.stan', line 6, column 24 to line 8, column 5)", + " (in 'complex_scalar.stan', line 11, column 8 to column 29)", + " (in 'complex_scalar.stan', line 10, column 24 to line 12, column 5)", + " (in 'complex_scalar.stan', line 14, column 8 to column 17)", + " (in 'complex_scalar.stan', line 13, column 27 to line 15, column 5)", + " (in 'complex_scalar.stan', line 17, column 8 to column 44)", + " (in 'complex_scalar.stan', line 16, column 20 to line 18, column 5)", + " (in 'complex_scalar.stan', line 20, column 8 to column 19)", + " (in 'complex_scalar.stan', line 19, column 26 to line 21, column 5)", + " (in 'complex_scalar.stan', line 23, column 8 to column 48)", + " (in 'complex_scalar.stan', line 22, column 26 to line 24, column 5)", + " (in 'complex_scalar.stan', line 27, column 8 to column 17)", + " (in 'complex_scalar.stan', line 26, column 31 to line 28, column 5)", + " (in 'complex_scalar.stan', line 30, column 8 to column 19)", " (in 'complex_scalar.stan', line 29, column 27 to line 31, column 5)", - " (in 'complex_scalar.stan', line 33, column 8 to column 17)", - " (in 'complex_scalar.stan', line 32, column 34 to line 34, column 5)"}; + " (in 'complex_scalar.stan', line 33, column 8 to column 110)", + " (in 'complex_scalar.stan', line 32, column 27 to line 34, column 5)", + " (in 'complex_scalar.stan', line 36, column 8 to column 17)", + " (in 'complex_scalar.stan', line 35, column 34 to line 37, column 5)"}; std::complex @@ -1247,7 +1633,7 @@ foo(std::ostream* pstream__) { local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - current_statement__ = 405; + current_statement__ = 415; return to_complex(); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -1273,7 +1659,7 @@ foo1(const std::complex& z, std::ostream* pstream__) { local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - current_statement__ = 407; + current_statement__ = 417; return 1.0; } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -1300,7 +1686,7 @@ foo2(const T0__& r, std::ostream* pstream__) { local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - current_statement__ = 409; + current_statement__ = 419; return to_complex(r); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -1327,7 +1713,7 @@ foo3(const std::complex& z, std::ostream* pstream__) { local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - current_statement__ = 411; + current_statement__ = 421; return z; } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -1353,7 +1739,7 @@ foo4(std::ostream* pstream__) { local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - current_statement__ = 413; + current_statement__ = 423; return std::vector>{to_complex(), to_complex()}; } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -1379,7 +1765,7 @@ foo5(const std::vector>& z, std::ostream* pstream__) { local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - current_statement__ = 415; + current_statement__ = 425; return 1.0; } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -1406,7 +1792,7 @@ foo6(const T0__& r, std::ostream* pstream__) { local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - current_statement__ = 417; + current_statement__ = 427; return std::vector>{to_complex(r), to_complex(r, r)}; } catch (const std::exception& e) { @@ -1434,7 +1820,7 @@ foo7(const std::vector>& z, std::ostream* pstream__) { local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - current_statement__ = 419; + current_statement__ = 429; return z; } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -1462,7 +1848,7 @@ foo8(const std::vector>>& z, local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - current_statement__ = 421; + current_statement__ = 431; return 1.0; } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -1490,7 +1876,7 @@ foo9(const T0__& r, std::ostream* pstream__) { local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - current_statement__ = 423; + current_statement__ = 433; return std::vector>>{ std::vector>{to_complex(r), to_complex(r), to_complex(r)}, @@ -1522,7 +1908,7 @@ foo10(const std::vector>>& z, local_scalar_t__ DUMMY_VAR__(std::numeric_limits::quiet_NaN()); (void) DUMMY_VAR__; // suppress unused var warning try { - current_statement__ = 425; + current_statement__ = 435; return z; } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -1580,30 +1966,30 @@ class complex_scalar_model final : public model_base_crtp try { int pos__; pos__ = 1; - current_statement__ = 344; + current_statement__ = 352; context__.validate_dims("data initialization","d_i","int", std::vector{}); d_i = std::numeric_limits::min(); - current_statement__ = 344; + current_statement__ = 352; d_i = context__.vals_i("d_i")[(1 - 1)]; - current_statement__ = 345; + current_statement__ = 353; context__.validate_dims("data initialization","d_r","double", std::vector{}); d_r = std::numeric_limits::quiet_NaN(); - current_statement__ = 345; + current_statement__ = 353; d_r = context__.vals_r("d_r")[(1 - 1)]; - current_statement__ = 346; + current_statement__ = 354; context__.validate_dims("data initialization","d_complex","double", std::vector{static_cast(2)}); d_complex = std::complex(std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN()); - current_statement__ = 346; + current_statement__ = 354; assign(d_complex, context__.vals_c("d_complex")[(1 - 1)], "assigning variable d_complex"); - current_statement__ = 347; + current_statement__ = 355; context__.validate_dims("data initialization","d_complex_array", "double", std::vector{static_cast(2), @@ -1613,20 +1999,20 @@ class complex_scalar_model final : public model_base_crtp { std::vector> d_complex_array_flat__; - current_statement__ = 347; + current_statement__ = 355; d_complex_array_flat__ = context__.vals_c("d_complex_array"); - current_statement__ = 347; + current_statement__ = 355; pos__ = 1; - current_statement__ = 347; + current_statement__ = 355; for (int sym1__ = 1; sym1__ <= 2; ++sym1__) { - current_statement__ = 347; + current_statement__ = 355; assign(d_complex_array, d_complex_array_flat__[(pos__ - 1)], "assigning variable d_complex_array", index_uni(sym1__)); - current_statement__ = 347; + current_statement__ = 355; pos__ = (pos__ + 1); } } - current_statement__ = 348; + current_statement__ = 356; context__.validate_dims("data initialization","d_complex_array_2d", "double", std::vector{static_cast(2), @@ -1636,192 +2022,196 @@ class complex_scalar_model final : public model_base_crtp { std::vector> d_complex_array_2d_flat__; - current_statement__ = 348; + current_statement__ = 356; d_complex_array_2d_flat__ = context__.vals_c("d_complex_array_2d"); - current_statement__ = 348; + current_statement__ = 356; pos__ = 1; - current_statement__ = 348; + current_statement__ = 356; for (int sym1__ = 1; sym1__ <= 3; ++sym1__) { - current_statement__ = 348; + current_statement__ = 356; for (int sym2__ = 1; sym2__ <= 2; ++sym2__) { - current_statement__ = 348; + current_statement__ = 356; assign(d_complex_array_2d, d_complex_array_2d_flat__[(pos__ - 1)], "assigning variable d_complex_array_2d", index_uni(sym2__), index_uni(sym1__)); - current_statement__ = 348; + current_statement__ = 356; pos__ = (pos__ + 1); } } } - current_statement__ = 349; + current_statement__ = 357; td_i = std::numeric_limits::min(); - current_statement__ = 349; + current_statement__ = 357; td_i = 1; - current_statement__ = 350; + current_statement__ = 358; td_r = std::numeric_limits::quiet_NaN(); - current_statement__ = 350; + current_statement__ = 358; td_r = 1.1; - current_statement__ = 351; + current_statement__ = 359; td_complex = std::complex(std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN()); - current_statement__ = 352; + current_statement__ = 360; td_complex_array = std::vector>(2, std::complex(std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN())); - current_statement__ = 353; + current_statement__ = 361; td_complex_array_2d = std::vector>>(2, std::vector>(3, std::complex(std::numeric_limits::quiet_NaN(), std::numeric_limits::quiet_NaN()))); - current_statement__ = 354; + current_statement__ = 362; td_complex = td_i; - current_statement__ = 355; + current_statement__ = 363; td_complex = td_r; - current_statement__ = 356; + current_statement__ = 364; td_complex = d_i; - current_statement__ = 357; + current_statement__ = 365; td_complex = d_r; - current_statement__ = 358; + current_statement__ = 366; td_complex = 1; - current_statement__ = 359; + current_statement__ = 367; td_complex = 1.1; - current_statement__ = 360; + current_statement__ = 368; assign(td_complex, d_complex, "assigning variable td_complex"); - current_statement__ = 361; + current_statement__ = 369; assign(td_complex, rvalue(d_complex_array, "d_complex_array", index_uni(1)), "assigning variable td_complex"); - current_statement__ = 362; + current_statement__ = 370; assign(td_complex, to_complex(), "assigning variable td_complex"); - current_statement__ = 363; + current_statement__ = 371; assign(td_complex, to_complex(1), "assigning variable td_complex"); - current_statement__ = 364; + current_statement__ = 372; assign(td_complex, to_complex(1.2), "assigning variable td_complex"); - current_statement__ = 365; + current_statement__ = 373; assign(td_complex, to_complex(1, 2), "assigning variable td_complex"); - current_statement__ = 366; + current_statement__ = 374; assign(td_complex, to_complex(1.1, 2), "assigning variable td_complex"); - current_statement__ = 367; + current_statement__ = 375; assign(td_complex, to_complex(1, 2.2), "assigning variable td_complex"); - current_statement__ = 368; + current_statement__ = 376; assign(td_complex, to_complex(1.1, 2.2), "assigning variable td_complex"); - current_statement__ = 369; + current_statement__ = 377; assign(td_complex_array, d_complex_array, "assigning variable td_complex_array"); - current_statement__ = 370; + current_statement__ = 378; assign(td_complex_array, std::vector>{td_complex, 1, to_complex(2, 3)}, "assigning variable td_complex_array"); - current_statement__ = 371; + current_statement__ = 379; assign(td_complex_array, to_complex(5.1, 6), "assigning variable td_complex_array", index_uni(1)); - current_statement__ = 372; + current_statement__ = 380; assign(td_complex_array_2d, d_complex_array_2d, "assigning variable td_complex_array_2d"); - current_statement__ = 373; + current_statement__ = 381; assign(td_complex_array_2d, std::vector>>{ std::vector>{1, td_complex, 3}, std::vector>{to_complex(), to_complex(1.1), to_complex(1, 2.1)}}, "assigning variable td_complex_array_2d"); - current_statement__ = 374; + current_statement__ = 382; assign(td_complex_array_2d, to_complex(1, 2), "assigning variable td_complex_array_2d", index_uni(1), index_uni(1)); - current_statement__ = 375; + current_statement__ = 383; assign(td_complex_array_2d, 1, "assigning variable td_complex_array_2d", index_uni(1), index_uni(1)); - current_statement__ = 376; + current_statement__ = 384; assign(td_complex_array_2d, td_complex_array, "assigning variable td_complex_array_2d", index_uni(1)); - current_statement__ = 377; + current_statement__ = 385; assign(td_complex_array_2d, std::vector>{ td_complex, to_complex(1, 2), 2.4}, "assigning variable td_complex_array_2d", index_uni(1)); - current_statement__ = 382; + current_statement__ = 390; for (int td_j = 1; td_j <= 2; ++td_j) { - current_statement__ = 380; + current_statement__ = 388; for (int td_k = 1; td_k <= 3; ++td_k) { - current_statement__ = 378; + current_statement__ = 386; assign(td_complex_array_2d, to_complex(1, 2.2), "assigning variable td_complex_array_2d", index_uni(td_j), index_uni(td_k)); } } - current_statement__ = 383; + current_statement__ = 391; for (int sym1__ = 1; sym1__ <= stan::math::size(td_complex_array_2d); ++sym1__) { { std::vector> td_j; - current_statement__ = 383; + current_statement__ = 391; assign(td_j, td_complex_array_2d[(sym1__ - 1)], "assigning variable td_j"); - current_statement__ = 384; + current_statement__ = 392; for (int sym1__ = 1; sym1__ <= stan::math::size(td_j); ++sym1__) { { std::complex td_k; - current_statement__ = 384; + current_statement__ = 392; assign(td_k, td_j[(sym1__ - 1)], "assigning variable td_k"); - current_statement__ = 385; + current_statement__ = 393; assign(td_complex, td_k, "assigning variable td_complex"); } } } } - current_statement__ = 386; + current_statement__ = 394; td_r = get_real(td_complex); - current_statement__ = 387; + current_statement__ = 395; td_r = get_imag(td_complex); - current_statement__ = 388; + current_statement__ = 396; td_r = get_real( rvalue(td_complex_array, "td_complex_array", index_uni(1))); - current_statement__ = 389; + current_statement__ = 397; td_r = get_imag( rvalue(td_complex_array, "td_complex_array", index_uni(1))); - current_statement__ = 390; + current_statement__ = 398; td_r = get_real( rvalue(td_complex_array_2d, "td_complex_array_2d", index_uni(1), index_uni(1))); - current_statement__ = 391; + current_statement__ = 399; td_r = get_imag( rvalue(td_complex_array_2d, "td_complex_array_2d", index_uni(1), index_uni(1))); - current_statement__ = 392; + current_statement__ = 400; assign(td_complex, foo(pstream__), "assigning variable td_complex"); - current_statement__ = 393; + current_statement__ = 401; + td_r = foo1(1, pstream__); + current_statement__ = 402; + td_r = foo1(2.5, pstream__); + current_statement__ = 403; td_r = foo1(td_complex, pstream__); - current_statement__ = 394; + current_statement__ = 404; assign(td_complex, foo2(td_r, pstream__), "assigning variable td_complex"); - current_statement__ = 395; + current_statement__ = 405; assign(td_complex, foo3(stan::model::deep_copy(td_complex), pstream__), "assigning variable td_complex"); - current_statement__ = 396; + current_statement__ = 406; assign(td_complex_array, foo4(pstream__), "assigning variable td_complex_array"); - current_statement__ = 397; + current_statement__ = 407; td_r = foo5(td_complex_array, pstream__); - current_statement__ = 398; + current_statement__ = 408; assign(td_complex_array, foo6(td_r, pstream__), "assigning variable td_complex_array"); - current_statement__ = 399; + current_statement__ = 409; assign(td_complex_array, foo7(stan::model::deep_copy(td_complex_array), pstream__), "assigning variable td_complex_array"); - current_statement__ = 400; + current_statement__ = 410; td_r = foo8(td_complex_array_2d, pstream__); - current_statement__ = 401; + current_statement__ = 411; assign(td_complex_array_2d, foo9(td_r, pstream__), "assigning variable td_complex_array_2d"); - current_statement__ = 402; + current_statement__ = 412; assign(td_complex_array_2d, foo10(stan::model::deep_copy(td_complex_array_2d), pstream__), "assigning variable td_complex_array_2d"); - current_statement__ = 403; + current_statement__ = 413; validate_non_negative_index("i_arr", "0", 0); - current_statement__ = 404; + current_statement__ = 414; validate_non_negative_index("i_arr_1", "1", 1); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -2046,7 +2436,7 @@ class complex_scalar_model final : public model_base_crtp m_complex_array_2d = std::vector>>(2, std::vector>(3, std::complex(DUMMY_VAR__, DUMMY_VAR__))); - current_statement__ = 343; + current_statement__ = 351; lp_accum__.add( normal_lpdf(stan::math::abs(p_complex), 0, 1)); } @@ -2979,19 +3369,46 @@ class complex_scalar_model final : public model_base_crtp assign(gq_complex, to_complex(p_r), "assigning variable gq_complex"); current_statement__ = 335; assign(gq_complex, to_complex(d_r), "assigning variable gq_complex"); - std::complex zi; current_statement__ = 336; - assign(zi, (1 + to_complex(0, 3.14)), "assigning variable zi"); + assign(gq_complex, (stan::model::deep_copy(gq_complex) + 1), + "assigning variable gq_complex"); current_statement__ = 337; + assign(gq_complex, (stan::model::deep_copy(gq_complex) + 3.1), + "assigning variable gq_complex"); + current_statement__ = 338; + assign(gq_complex, + (stan::model::deep_copy(gq_complex) + to_complex(0, 4)), + "assigning variable gq_complex"); + current_statement__ = 339; + if (pstream__) { + stan_print(pstream__, gq_complex); + stan_print(pstream__, "\n"); + } + current_statement__ = 340; + assign(gq_complex, add(1, to_complex(0, 3)), + "assigning variable gq_complex"); + current_statement__ = 341; + assign(gq_complex, add(to_complex(0, 3), 1), + "assigning variable gq_complex"); + current_statement__ = 342; + assign(gq_complex, add(to_complex(0, 3), 0.5), + "assigning variable gq_complex"); + current_statement__ = 343; + assign(gq_complex, add(0.5, to_complex(0, 3)), + "assigning variable gq_complex"); + std::complex zi; + current_statement__ = 344; + assign(zi, (1 + to_complex(0, 3.14)), "assigning variable zi"); + current_statement__ = 345; assign(zi, (stan::model::deep_copy(zi) * to_complex(0, 0)), "assigning variable zi"); std::complex yi; - current_statement__ = 338; + current_statement__ = 346; assign(yi, ((to_complex(0, 1.1) + to_complex(0.0, 2.2)) + to_complex()), "assigning variable yi"); double x; - current_statement__ = 339; + current_statement__ = 347; x = get_real((to_complex(0, 3) - to_complex(0, 40e-3))); out__.write(gq_i); out__.write(gq_r); diff --git a/test/integration/good/parser-generator/complex_scalar.stan b/test/integration/good/lang/good_complex.stan similarity index 70% rename from test/integration/good/parser-generator/complex_scalar.stan rename to test/integration/good/lang/good_complex.stan index 865ae1b9b8..9397434a1d 100644 --- a/test/integration/good/parser-generator/complex_scalar.stan +++ b/test/integration/good/lang/good_complex.stan @@ -1,28 +1,7 @@ functions { - complex foo(){ - return to_complex(); - } - real foo1(complex z){ - return 1.0; - } - complex foo2(real r){ - return to_complex(r); - } - complex foo3(complex z){ - return z; - } - complex[] foo4(){ - return {to_complex(), to_complex()}; - } - real foo5(complex[] z){ - return 1.0; - } - complex[] foo6(real r){ - return {to_complex(r), to_complex(r,r)}; - } - complex[] foo7(complex[] z){ - return z; - } + complex foo(complex x){ + return x; + } } data { int N; @@ -75,18 +54,23 @@ generated quantities { complex gq_complex_array_3d[2, 3, 4]; gq_complex = 3; gq_complex_array[1] = to_complex(5.1,6); - gq_complex = foo(); - real gq_r = foo1(gq_complex); - gq_complex = foo2(gq_r); - gq_complex = foo3(gq_complex); - gq_complex_array = foo4(); - gq_r = foo5(gq_complex_array); - gq_complex_array = foo6(gq_r); - gq_complex_array = foo7(gq_complex_array); + + gq_complex += 1; + gq_complex += 3.1; + gq_complex += 4i; + print(gq_complex); + gq_complex = add(1,3i); + gq_complex = add(3i,1); + gq_complex = add(3i,0.5); + gq_complex = add(0.5,3i); + + gq_complex = foo(gq_complex); + gq_complex = foo(1); + gq_complex = foo(1.6); // test imaginary literal complex zi = 1+3.14i; zi = zi * 0i; complex yi = to_complex(0, 1.1) + to_complex(0.0, 2.2) + to_complex(); real x = get_real(3i - 40e-3i); -} \ No newline at end of file +} diff --git a/test/integration/good/lang/pretty.expected b/test/integration/good/lang/pretty.expected index d1dcb97ebf..6274fe3827 100644 --- a/test/integration/good/lang/pretty.expected +++ b/test/integration/good/lang/pretty.expected @@ -1,3 +1,89 @@ + $ ../../../../../install/default/bin/stanc --auto-format good_complex.stan +functions { + complex foo(complex x) { + return x; + } +} +data { + int N; + complex d_complex; + array[N] complex d_complex_array; + array[N, 2] complex d_complex_array_2d; + array[N, 2, 3] complex d_complex_array_3d; +} +transformed data { + complex td_complex = d_complex; + td_complex = 1; + td_complex = to_complex(1, 2); + array[N] complex td_complex_array = d_complex_array; + array[2, 3] complex td_complex_array_2d; + array[2, 3, 4] complex td_complex_array_3d; + for (td_i in 1 : 2) { + for (td_j in 1 : 3) { + for (td_k in 1 : 4) { + td_complex_array_3d[td_i, td_j, td_k] = to_complex(1, 2.2); + } + } + } + real td_r = get_real(td_complex); + real td_i = get_imag(td_complex); +} +parameters { + complex p_complex; + array[N] complex p_complex_array; + array[N, 2] complex p_complex_array_2d; + array[N, 2, 3] complex p_complex_array_3d; +} +transformed parameters { + complex tp_complex = p_complex; + tp_complex = 1; + tp_complex = to_complex(1, 2); + array[N] complex tp_complex_array = p_complex_array; + array[2, 3] complex tp_complex_array_2d; + array[2, 3, 4] complex tp_complex_array_3d; + for (tp_i in 1 : 2) { + for (tp_j in 1 : 3) { + for (tp_k in 1 : 4) { + tp_complex_array_3d[tp_i, tp_j, tp_k] = to_complex(1, 2.2); + } + } + } + real tp_r = get_real(tp_complex); + real tp_i = get_imag(tp_complex); +} +model { + abs(p_complex) ~ normal(0, 1); +} +generated quantities { + complex gq_complex; + array[2] complex gq_complex_array; + array[2, 3] complex gq_complex_array_2d = {{1, 2, 3}, + {to_complex(), to_complex( + 1.1), to_complex(1, 2.1)}}; + array[2, 3, 4] complex gq_complex_array_3d; + gq_complex = 3; + gq_complex_array[1] = to_complex(5.1, 6); + + gq_complex += 1; + gq_complex += 3.1; + gq_complex += 4i; + print(gq_complex); + gq_complex = add(1, 3i); + gq_complex = add(3i, 1); + gq_complex = add(3i, 0.5); + gq_complex = add(0.5, 3i); + + gq_complex = foo(gq_complex); + gq_complex = foo(1); + gq_complex = foo(1.6); + + // test imaginary literal + complex zi = 1 + 3.14i; + zi = zi * 0i; + complex yi = to_complex(0, 1.1) + to_complex(0.0, 2.2) + to_complex(); + real x = get_real(3i - 40e-3i); +} + $ ../../../../../install/default/bin/stanc --auto-format good_const.stan transformed data { real y; diff --git a/test/integration/good/parser-generator/pretty.expected b/test/integration/good/parser-generator/pretty.expected index 4777263131..a5c56f55d5 100644 --- a/test/integration/good/parser-generator/pretty.expected +++ b/test/integration/good/parser-generator/pretty.expected @@ -60,108 +60,6 @@ transformed parameters { cholesky_factor_cov[3] cfcov_33; } - $ ../../../../../install/default/bin/stanc --auto-format complex_scalar.stan -functions { - complex foo() { - return to_complex(); - } - real foo1(complex z) { - return 1.0; - } - complex foo2(real r) { - return to_complex(r); - } - complex foo3(complex z) { - return z; - } - array[] complex foo4() { - return {to_complex(), to_complex()}; - } - real foo5(array[] complex z) { - return 1.0; - } - array[] complex foo6(real r) { - return {to_complex(r), to_complex(r, r)}; - } - array[] complex foo7(array[] complex z) { - return z; - } -} -data { - int N; - complex d_complex; - array[N] complex d_complex_array; - array[N, 2] complex d_complex_array_2d; - array[N, 2, 3] complex d_complex_array_3d; -} -transformed data { - complex td_complex = d_complex; - td_complex = 1; - td_complex = to_complex(1, 2); - array[N] complex td_complex_array = d_complex_array; - array[2, 3] complex td_complex_array_2d; - array[2, 3, 4] complex td_complex_array_3d; - for (td_i in 1 : 2) { - for (td_j in 1 : 3) { - for (td_k in 1 : 4) { - td_complex_array_3d[td_i, td_j, td_k] = to_complex(1, 2.2); - } - } - } - real td_r = get_real(td_complex); - real td_i = get_imag(td_complex); -} -parameters { - complex p_complex; - array[N] complex p_complex_array; - array[N, 2] complex p_complex_array_2d; - array[N, 2, 3] complex p_complex_array_3d; -} -transformed parameters { - complex tp_complex = p_complex; - tp_complex = 1; - tp_complex = to_complex(1, 2); - array[N] complex tp_complex_array = p_complex_array; - array[2, 3] complex tp_complex_array_2d; - array[2, 3, 4] complex tp_complex_array_3d; - for (tp_i in 1 : 2) { - for (tp_j in 1 : 3) { - for (tp_k in 1 : 4) { - tp_complex_array_3d[tp_i, tp_j, tp_k] = to_complex(1, 2.2); - } - } - } - real tp_r = get_real(tp_complex); - real tp_i = get_imag(tp_complex); -} -model { - abs(p_complex) ~ normal(0, 1); -} -generated quantities { - complex gq_complex; - array[2] complex gq_complex_array; - array[2, 3] complex gq_complex_array_2d = {{1, 2, 3}, - {to_complex(), to_complex( - 1.1), to_complex(1, 2.1)}}; - array[2, 3, 4] complex gq_complex_array_3d; - gq_complex = 3; - gq_complex_array[1] = to_complex(5.1, 6); - gq_complex = foo(); - real gq_r = foo1(gq_complex); - gq_complex = foo2(gq_r); - gq_complex = foo3(gq_complex); - gq_complex_array = foo4(); - gq_r = foo5(gq_complex_array); - gq_complex_array = foo6(gq_r); - gq_complex_array = foo7(gq_complex_array); - - // test imaginary literal - complex zi = 1 + 3.14i; - zi = zi * 0i; - complex yi = to_complex(0, 1.1) + to_complex(0.0, 2.2) + to_complex(); - real x = get_real(3i - 40e-3i); -} - $ ../../../../../install/default/bin/stanc --auto-format data_qualifier_scope_xformed_data.stan functions { vector target_(vector y, vector theta, array[] real x_r, array[] int x_i) { diff --git a/test/integration/signatures/stan_math_sigs.expected b/test/integration/signatures/stan_math_sigs.expected index e29478b993..438bad9382 100644 --- a/test/integration/signatures/stan_math_sigs.expected +++ b/test/integration/signatures/stan_math_sigs.expected @@ -168,7 +168,6 @@ add(real, real) => real add(real, vector) => vector add(vector, real) => vector add(vector, vector) => vector -add(complex, real) => complex add(complex, complex) => complex add(real, row_vector) => row_vector add(row_vector, real) => row_vector @@ -244,6 +243,7 @@ append_row(row_vector, row_vector) => matrix append_row(row_vector, matrix) => matrix append_row(matrix, row_vector) => matrix append_row(matrix, matrix) => matrix +arg(complex) => real asin(int) => real asin(real) => real asin(vector) => vector @@ -14887,7 +14887,6 @@ neg_binomial_rng(array[] real, row_vector) => array[] int neg_binomial_rng(array[] real, array[] int) => array[] int neg_binomial_rng(array[] real, array[] real) => array[] int negative_infinity() => real -norm(real) => real norm(complex) => real normal_ccdf_log(real, real, real) => real normal_ccdf_log(real, real, vector) => real