Stan_math_backend.Lower_exprLowering of Stan expressions to C++
val constraint_to_string : 'a Middle.Transformation.t -> string optionval hash_fold_variadic :
Ppx_hash_lib.Std.Hash.state ->
variadic ->
Ppx_hash_lib.Std.Hash.stateval hash_variadic : variadic -> Ppx_hash_lib.Std.Hash.hash_valueval functor_type : string -> variadicval functor_suffix_select : variadic -> stringval is_scalar : Middle.Expr.Typed.t -> boolval is_matrix : Middle.Expr.Typed.t -> boolUsed to determine if operator/ should be mdivide_right() or divide()
val is_row_vector : Middle.Expr.Typed.t -> boolval transform_args :
Middle__Expr.Typed.Meta.t Middle__Expr.t Middle.Transformation.t ->
Middle__Expr.Typed.Meta.t Middle__Expr.t Base__List.tval is_single_index : 'a Middle.Index.t -> boolval dont_need_range_check : 'a Middle.Expr.t Middle.Index.t -> boolval promote_adtype :
Middle.Expr.Typed.t list ->
Middle.UnsizedType.autodifftypeval suffix_args : bool -> 'a Middle.Fun_kind.suffix -> string listval stantype_prim : Middle.UnsizedType.t -> Cpp.type_val templates : bool -> bool Middle.Fun_kind.suffix -> Cpp.type_ listval deserializer : Cpp.exprval local_scalar :
Middle.UnsizedType.t ->
Middle.UnsizedType.autodifftype ->
Cpp.type_val minus_one : Stan_math_backend__Cpp.expr -> Cpp.exprval plus_one : Stan_math_backend__Cpp.expr -> Cpp.exprval lower_type :
?mem_pattern:Middle.Mem_pattern.t ->
Middle.UnsizedType.t ->
Cpp.type_ ->
Cpp.type_val lower_unsizedtype_local :
?mem_pattern:Middle.Mem_pattern.t ->
Middle.UnsizedType.autodifftype ->
Middle.UnsizedType.t ->
Cpp.type_val lower_possibly_var_decl :
Middle.UnsizedType.autodifftype ->
Middle.UnsizedType.t ->
Middle.Mem_pattern.t ->
Cpp.type_val lower_logical_op :
Cpp.operator ->
Middle.Expr.Typed.t ->
Middle.Expr.Typed.t ->
Cpp.exprval lower_binary_fun :
string ->
Middle.Expr.Typed.Meta.t Middle.Expr.t Base__List.t ->
Cpp.exprval vector_literal :
?column:bool ->
Cpp.type_ ->
Middle.Expr.Typed.Meta.t Middle.Expr.t Base__List.t ->
Cpp.exprval read_data :
Middle.UnsizedType.t ->
Middle.Expr.Typed.Meta.t Middle.Expr.t Base__List.t ->
Cpp.exprval lower_binary_op :
Cpp.operator ->
string ->
Middle.Expr.Typed.Meta.t Middle.Expr.t Base__List.t ->
Cpp.exprval lower_operator_app :
Middle.Operator.t ->
Middle.Expr.Typed.Meta.t Middle.Expr.t Base__List.t ->
Cpp.exprval lower_misc_special_math_app :
Core.String.Map.Key.t ->
Middle.Mem_pattern.t ->
Middle.UnsizedType.returntype option ->
(Middle.Expr.Typed.Meta.t Middle.Expr.t Base__List.t -> Cpp.expr) optionval lower_functionals :
string ->
bool Middle.Fun_kind.suffix ->
Middle.Expr.Typed.Meta.t Middle.Expr.t Base__List.t ->
Middle.Mem_pattern.t ->
(Middle.Expr.Typed.Meta.t Middle.Expr.t Base__List.t -> Cpp.expr) optionval lower_fun_app :
bool Middle.Fun_kind.suffix ->
Core.String.Map.Key.t ->
Middle.Expr.Typed.Meta.t Middle.Expr.t Base__List.t ->
Middle.Mem_pattern.t ->
Middle.UnsizedType.returntype option ->
Cpp.exprval lower_user_defined_fun :
string ->
bool Middle.Fun_kind.suffix ->
Middle.Expr.Typed.Meta.t Middle.Expr.t Base__List.t ->
Cpp.exprval lower_compiler_internal :
Middle.UnsizedType.autodifftype ->
Middle.UnsizedType.t ->
Middle.Expr.Typed.Meta.t Middle.Expr.t Middle.Internal_fun.t ->
Middle.Expr.Typed.Meta.t Middle.Expr.t Base__List.t ->
Cpp.exprval lower_index : Middle.Expr.Typed.t Middle.Index.t -> Cpp.exprval lower_indexed :
Middle.Expr.Typed.t ->
Middle.Expr.Typed.t Middle.Index.t list ->
string ->
Cpp.exprval lower_indexed_simple :
Cpp.expr ->
Middle.Expr.Typed.t Middle.Index.t Core__.Import.list ->
Cpp.exprval lower_expr : ?promote_reals:bool -> Middle.Expr.Typed.t -> Cpp.exprval lower_exprs :
?promote_reals:bool ->
Middle.Expr.Typed.Meta.t Middle.Expr.t Base__List.t ->
Cpp.expr Base__List.tmodule Testing : sig ... end