Middle.Internal_fun
Language functions defined internally by the compiler
type 'expr t =
| FnLength
| FnMakeArray
| FnMakeTuple
| FnMakeRowVec
| FnNegInf
| FnReadData
| FnReadDeserializer
| FnReadParam of {
constrain : 'expr Transformation.t;
dims : 'expr list;
mem_pattern : Mem_pattern.t;
}
| FnWriteParam of {
unconstrain_opt : 'expr Transformation.t option;
var : 'expr;
}
| FnValidateSize
| FnValidateSizeSimplex
| FnValidateSizeUnitVector
| FnCheck of {
trans : 'expr Transformation.t;
var_name : string;
var : 'expr;
}
| FnPrint
| FnReject
| FnFatalError
| FnResizeToMatch
| FnNaN
| FnDeepCopy
| FnReadWriteEventsOpenCL of string
val fold : ('a -> 'b -> 'a) -> 'a -> 'b t -> 'a
val t_of_sexp : 'expr. (Sexplib0.Sexp.t -> 'expr) -> Sexplib0.Sexp.t -> 'expr t
val sexp_of_t : 'expr. ('expr -> Sexplib0.Sexp.t) -> 'expr t -> Sexplib0.Sexp.t
val hash_fold_t :
'expr. (Ppx_hash_lib.Std.Hash.state -> 'expr -> Ppx_hash_lib.Std.Hash.state) ->
Ppx_hash_lib.Std.Hash.state ->
'expr t ->
Ppx_hash_lib.Std.Hash.state
val to_string : ?expr_to_string:('a -> Sexplib0.Sexp.t) -> 'a t -> string
val pp : 'a Fmt.t -> Stdlib.Format.formatter -> 'a t -> unit
val can_side_effect : 'a t -> bool
val collect_exprs : 'a t -> 'a list