Module Array.Fun1

The functions defined in this module are the same as the main ones, except that they are all higher-order, and their function arguments have an additional parameter. This allows us to prevent closure creation in critical cases.

val map : ('r -> 'a -> 'b) -> 'r -> 'a array -> 'b array

Fun1.map f x v = map (f x) v

val iter : ('r -> 'a -> unit) -> 'r -> 'a array -> unit

Fun1.iter f x v = iter (f x) v

val iter2 : ('r -> 'a -> 'b -> unit) -> 'r -> 'a array -> 'b array -> unit

Fun1.iter2 f x v1 v2 = iter (f x) v1 v2

module Smart : sig ... end