CArray.SmartSourceThe functions defined in this module are optimized specializations of the main ones, when the returned array is of same type as one of the original array.
Smart.map f a behaves as map f a but returns a instead of a copy when f x == x for all x in a.
Smart.map2 f a b behaves as map2 f a b but returns a instead of a copy when f x y == y for all x in a and y in b pointwise.
Smart.fold_left_mapf a b behaves as fold_left_map but returns b as second component instead of a copy of b when the output array is pointwise the same as the input array b
val fold_left2_map :
('a -> 'b -> 'c -> 'a * 'c) ->
'a ->
'b array ->
'c array ->
'a * 'c arraySmart.fold_left2_map f a b c behaves as fold_left2_map but returns c as second component instead of a copy of c when the output array is pointwise the same as the input array c