Windowed Reduce: Difference between revisions

Jump to navigation Jump to search
203 bytes added ,  13:42, 19 June 2023
m
size restrictions
m (Text replacement - "<source" to "<syntaxhighlight")
m (size restrictions)
 
Line 4: Line 4:


When applied to a [[vector]] argument, <syntaxhighlight lang=apl inline>n f/x</syntaxhighlight> evaluates to the expression <syntaxhighlight lang=apl inline>(a f b f c)(b f c f d)</syntaxhighlight>… where <syntaxhighlight lang=apl inline>a</syntaxhighlight>, <syntaxhighlight lang=apl inline>b</syntaxhighlight>, <syntaxhighlight lang=apl inline>c</syntaxhighlight>, <syntaxhighlight lang=apl inline>d</syntaxhighlight>, … are the elements of <syntaxhighlight lang=apl inline>x</syntaxhighlight>, grouped into windows of size <syntaxhighlight lang=apl inline>n</syntaxhighlight>. It works like [[Reduce]], except applied on overlapping segments of an array, and borrows most of its functionality from it. When  
When applied to a [[vector]] argument, <syntaxhighlight lang=apl inline>n f/x</syntaxhighlight> evaluates to the expression <syntaxhighlight lang=apl inline>(a f b f c)(b f c f d)</syntaxhighlight>… where <syntaxhighlight lang=apl inline>a</syntaxhighlight>, <syntaxhighlight lang=apl inline>b</syntaxhighlight>, <syntaxhighlight lang=apl inline>c</syntaxhighlight>, <syntaxhighlight lang=apl inline>d</syntaxhighlight>, … are the elements of <syntaxhighlight lang=apl inline>x</syntaxhighlight>, grouped into windows of size <syntaxhighlight lang=apl inline>n</syntaxhighlight>. It works like [[Reduce]], except applied on overlapping segments of an array, and borrows most of its functionality from it. When  
<syntaxhighlight lang=apl inline>n</syntaxhighlight>is negative, each window is reversed before the reduction is done.
<syntaxhighlight lang=apl inline>n</syntaxhighlight> is negative, each window is reversed before the reduction is done.
 
The magnitude of <syntaxhighlight lang=apl inline>n</syntaxhighlight> must be no more than 1 greater than the size of <syntaxhighlight lang=apl inline>x</syntaxhighlight> along the relevant [[axis]].
 
== Examples ==
== Examples ==


Navigation menu