﻿Scan Method

[This is preliminary documentation and is subject to change.]

NameDescription
Scan<(Of <(T>)>)(T, ReductionOperation<(Of <(T>)>))
Scan is a collective algorithm that performs partial reductions on data provided by each process in the communicator. Scan combines the values stored by each process into partial results delivered to each process. The values are combined in a user-defined way, specified via a delegate. If value(0), value(1), ..., value(N-1) are the values provided by the N processes in the communicator, the resulting value for the process with rank P will be value(0) op value(1) op ... op value(P). The processor with rank N-1 will receive the same result as if one had performed a Reduce<(Of <(T>)>)(T, ReductionOperation<(Of <(T>)>), Int32) operation with root N-1. Scan is sometimes called an "inclusive" scan, because the result returned to each process includes the contribution of that process. For an "exclusive" scan (that does not include the contribution of the calling process in its result), use ExclusiveScan<(Of <(T>)>)(T, ReductionOperation<(Of <(T>)>)).
Scan<(Of <(T>)>)(array<T>[]()[], ReductionOperation<(Of <(T>)>))
Scan is a collective algorithm that performs partial reductions on data provided by each process in the communicator. Scan combines the arrays stored by each process into partial results delivered to each process. The arrays are combined in a user-defined way, specified via a delegate that will be applied elementwise to the values in each arrays. If array(0), array(1), ..., array(N-1) are the arrays provided by the N processes in the communicator, the resulting array for the process with rank P will be array(0) op array(1) op ... op array(P). The processor with rank N-1 will receive the same result as if one had performed a Reduce<(Of <(T>)>)(array<T>[]()[], ReductionOperation<(Of <(T>)>), Int32, array<T>[]()[]%) operation with root N-1. Scan is sometimes called an "inclusive" scan, because the result returned to each process includes the contribution of that process. For an "exclusive" scan (that does not include the contribution of the calling process in its result), use ExclusiveScan<(Of <(T>)>)(array<T>[]()[], ReductionOperation<(Of <(T>)>)).
Scan<(Of <(T>)>)(array<T>[]()[], ReductionOperation<(Of <(T>)>), array<T>[]()[]%)
Scan is a collective algorithm that performs partial reductions on data provided by each process in the communicator. Scan combines the arrays stored by each process into partial results delivered to each process. The arrays are combined in a user-defined way, specified via a delegate that will be applied elementwise to the values in each arrays. If array(0), array(1), ..., array(N-1) are the arrays provided by the N processes in the communicator, the resulting array for the process with rank P will be array(0) op array(1) op ... op array(P). The processor with rank N-1 will receive the same result as if one had performed a Reduce<(Of <(T>)>)(array<T>[]()[], ReductionOperation<(Of <(T>)>), Int32, array<T>[]()[]%) operation with root N-1. Scan is sometimes called an "inclusive" scan, because the result returned to each process includes the contribution of that process. For an "exclusive" scan (that does not include the contribution of the calling process in its result), use ExclusiveScan<(Of <(T>)>)(array<T>[]()[], ReductionOperation<(Of <(T>)>), array<T>[]()[]%).