package rocq-runtime

  1. Overview
  2. Docs
The Rocq Prover -- Core Binaries and Tools

Install

dune-project
 Dependency

Authors

Maintainers

Sources

rocq-9.1.1.tar.gz
sha256=35cd03fc4193969b1cce01190340e5c129c1ba8f02242a9e6dff4b83be118759

doc/rocq-runtime.clib/CArray/Smart/index.html

Module CArray.SmartSource

The 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.

Sourceval map : ('a -> 'a) -> 'a array -> 'a 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.

Sourceval map_i : (int -> 'a -> 'a) -> 'a array -> 'a array
Sourceval map2 : ('a -> 'b -> 'b) -> 'a array -> 'b array -> 'b array

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.

Sourceval fold_left_map : ('a -> 'b -> 'a * 'b) -> 'a -> 'b array -> 'a * 'b array

Smart.fold_left_map f 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

Sourceval fold_left_map_i : (int -> 'a -> 'b -> 'a * 'b) -> 'a -> 'b array -> 'a * 'b array

Smart.fold_left_map_i f a b behaves as fold_left_map_i 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

Sourceval fold_left2_map : ('a -> 'b -> 'c -> 'a * 'c) -> 'a -> 'b array -> 'c array -> 'a * 'c array

Smart.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