Loading [MathJax]/jax/output/CommonHTML/jax.js

The PRIMITIVES signature

« 210 Library Documentation

Overview

The PRIMITIVES signature provides a few “primitive” operations for parallel evalution.

Interface

val par : (unit → 'a) * (unit → 'b) → ('a * 'b)
val par3 : (unit → 'a) * (unit → 'b) * (unit → 'c) → ('a * 'b * 'c)
val par4 : (unit → 'a) * (unit → 'b) * (unit → 'c) * (unit → 'd) → ('a * 'b * 'c * 'd)
val parTab : int * (int → 'a) → (int → 'a)

Values

val par : (unit → 'a) * (unit → 'b) → ('a * 'b)
par (f, g) evaluates f and g in parallel. It is logically equivalent to (f(),g()).
val par3 : (unit → 'a) * (unit → 'b) * (unit → 'c) → ('a * 'b * 'c)
par3 (f, g, h) evaluates f, g, and h in parallel. It is logically equivalent to (f(),g(),h()).
val par4 : (unit → 'a) * (unit → 'b) * (unit → 'c) * (unit → 'd) → ('a * 'b * 'c * 'd)
par4 (f, g, h, i) evaluates f, g, h, and i in parallel. It is logically equivalent to (f(),g(),h(),i()).
val parTab : int * (int → 'a) → (int → 'a)
parTab (n, f) evaluates f(i) for every 0i<n in parallel. It is logically equivalent to f.