Stan_math_signaturesThis module stores a table of all signatures from the Stan math C++ library which are exposed to Stan, and some helper functions for dealing with those signatures.
val lookup_stan_math_function : string -> Middle.UnsizedType.signature listLook up the signature of a Stan Math library function. If it is not found, this returns []
val get_stan_math_signatures_alist :
unit ->
(string * Middle.UnsizedType.signature list) listGet all the signatures in the Stan Math library
Test if a string names a built-in variadic function
Note that these function names cannot be overloaded, and usually require customized code-gen in the backend.
val lookup_stan_math_variadic_function :
string ->
Middle.UnsizedType.variadic_signature optionLook up the signature of a built-in variadic function
Pretty printers
The distribution families exposed by the math library
Helpers for dealing with operators as signatures
val operator_to_stan_math_fns : Middle.Operator.t -> string listval pretty_print_math_lib_operator_sigs : Middle.Operator.t -> string listval make_assignmentoperator_stan_math_signatures :
Middle.Operator.t ->
Middle.UnsizedType.signature listSpecial functions for the variadic signatures exposed
val reduce_sum_slice_types : Middle.UnsizedType.t listval laplace_helper_param_types : string -> Middle.UnsizedType.argumentlistval laplace_tolerance_argument_types : Middle.UnsizedType.argumentlistCheck if a function is in the Stan Math library and does not have higher order autodiff