Module Middle.Mem_pattern

type t =
  1. | AoS
  2. | SoA

* This type represents whether or not an autodiff type can be represented * as an Array of Structs (AoS) or as a Struct of Arrays. This applies to * matrices, vectors, row vectors, and arrays of those types. * In the C++ this allows us to swap out matrix types from an * Eigen::Matrix<stan::math::var_value<double>, Rows, Cols> to an * stan::math::var_value<Eigen::Matrix<double, Rows, Cols>>. * (fyi a var in the C++ code is an alias for var_value<double>) * *

val map : t -> t
val fold : 'a -> t -> 'a
val t_of_sexp : Sexplib0.Sexp.t -> t
val sexp_of_t : t -> Sexplib0.Sexp.t
val compare : t -> t -> int
val hash_fold_t : Ppx_hash_lib.Std.Hash.state -> t -> Ppx_hash_lib.Std.Hash.state
val hash : t -> Ppx_hash_lib.Std.Hash.hash_value
val equal : t -> t -> bool
val pp : Stdlib.Format.formatter -> t -> unit
val lub_mem_pat : t list -> t