AdaptiveReduction Module
Functional operators for AdaptiveReduction.
Functions and values
Function or value | Description |
Full Usage:
average ()
Parameters:
unit
Returns: AdaptiveReduction<^a, (int * ^s), ^s>
Modifiers: inline Type parameters: ^a, ^s |
|
|
|
|
|
|
|
Full Usage:
fold zero add
Parameters:
's
add : 's -> 'a -> 's
Returns: AdaptiveReduction<'a, 's, 's>
|
|
Full Usage:
group zero add sub
Parameters:
's
add : 's -> 'a -> 's
sub : 's -> 'a -> 's
Returns: AdaptiveReduction<'a, 's, 's>
|
|
Full Usage:
halfGroup zero add sub
Parameters:
's
add : 's -> 'a -> 's
sub : 's -> 'a -> ValueOption<'s>
Returns: AdaptiveReduction<'a, 's, 's>
|
Creates a new AdaptiveReduction using the given (partial-group-like) functions. Note that the functions need to fulfill the following laws when sub claims success (and maybe more) * `sub (add x a) a = x` (inverse) * `add (sub x a) a = x` (inverse) * `add (add x a) b = add (add x b) a` (commutativity)
|
Full Usage:
mapIn mapping reduction
Parameters:
'a -> 'b
reduction : AdaptiveReduction<'b, 's, 'v>
Returns: AdaptiveReduction<'a, 's, 'v>
|
|
Full Usage:
mapOut mapping reduction
Parameters:
'v -> 'w
reduction : AdaptiveReduction<'a, 's, 'v>
Returns: AdaptiveReduction<'a, 's, 'w>
|
|
Full Usage:
par left right
Parameters:
AdaptiveReduction<'a, 's, 'v>
right : AdaptiveReduction<'a, 't, 'w>
Returns: AdaptiveReduction<'a, ('s * 't), ('v * 'w)>
|
|
Full Usage:
product ()
Parameters:
unit
Returns: AdaptiveReduction<^a, ^s, ^s>
Modifiers: inline Type parameters: ^a, ^s |
|
Full Usage:
structpar left right
Parameters:
AdaptiveReduction<'a, 's, 'v>
right : AdaptiveReduction<'a, 't, 'w>
Returns: AdaptiveReduction<'a, ('s * 't), ('v * 'w)>
|
|
Full Usage:
sum ()
Parameters:
unit
Returns: AdaptiveReduction<^a, ^s, ^s>
Modifiers: inline Type parameters: ^a, ^s |
|
|
|
|
|