package rocq-runtime

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

rocq-9.2.0.tar.gz
sha256=a45280ab4fbaac7540b136a6b073b4a6db15739ec1e149bded43fa6f4fc25f20

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