Understanding of discrete_range_rng with the ints

Hello all,

I wonder about discrete_range_rng and its description in the manual:

int discrete_range_rng (ints l, ints u)
Generate a discrete variate between the given lower and upper bounds; may only be used in transformed data and generated quantities blocks.

but if my input arguments are ints, for example, array[2] int l, u;, then how can only be int to be generated as an output of _rng?

Specifically, I don’t understand why ints are there.

The return type is missing an s as well. The long-form list of signatures is

discrete_range_rng(int, int) => int
discrete_range_rng(int, array[] int) => array[] int
discrete_range_rng(array[] int, int) => array[] int
discrete_range_rng(array[] int, array[] int) => array[] int
1 Like

Ok ok, many thanks!