public interface stdlib_sum_kahan
Summary
Sum elements of rank N arrays.
(Specification)
Description
This interface provides standard conforming call for sum of elements of any rank.
The 1-D base implementation follows a chunked approach combined with a kahan kernel for optimizing performance and increasing accuracy.
The N-D
interfaces calls upon the (N-1)-D
implementation.
Supported data types include real
and complex
.
Functions
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
a(:) |
|
Return Value
complex(kind=dp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
a(:) |
|
logical,
|
intent(in) |
|
|
:: |
mask(:) |
|
Return Value
complex(kind=dp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
a(:) |
|
Return Value
complex(kind=sp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
a(:) |
|
logical,
|
intent(in) |
|
|
:: |
mask(:) |
|
Return Value
complex(kind=sp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
real(kind=dp),
|
intent(in) |
|
|
:: |
a(:) |
|
Return Value
real(kind=dp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
real(kind=dp),
|
intent(in) |
|
|
:: |
a(:) |
|
logical,
|
intent(in) |
|
|
:: |
mask(:) |
|
Return Value
real(kind=dp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
real(kind=sp),
|
intent(in) |
|
|
:: |
a(:) |
|
Return Value
real(kind=sp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
real(kind=sp),
|
intent(in) |
|
|
:: |
a(:) |
|
logical,
|
intent(in) |
|
|
:: |
mask(:) |
|
Return Value
real(kind=sp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
x(:,:) |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:) |
|
Return Value
complex(kind=dp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
x(:,:) |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:) |
|
Return Value
complex(kind=sp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
x(:,:) |
|
integer,
|
intent(in) |
|
|
:: |
dim |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:) |
|
Return Value
complex(kind=dp), (merge(size(x,1),size(x,2),mask=1
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
x(:,:) |
|
integer,
|
intent(in) |
|
|
:: |
dim |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:) |
|
Return Value
complex(kind=sp), (merge(size(x,1),size(x,2),mask=1
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
real(kind=dp),
|
intent(in) |
|
|
:: |
x(:,:) |
|
integer,
|
intent(in) |
|
|
:: |
dim |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:) |
|
Return Value
real(kind=dp), (merge(size(x,1),size(x,2),mask=1
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
real(kind=sp),
|
intent(in) |
|
|
:: |
x(:,:) |
|
integer,
|
intent(in) |
|
|
:: |
dim |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:) |
|
Return Value
real(kind=sp), (merge(size(x,1),size(x,2),mask=1
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
real(kind=dp),
|
intent(in) |
|
|
:: |
x(:,:) |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:) |
|
Return Value
real(kind=dp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
real(kind=sp),
|
intent(in) |
|
|
:: |
x(:,:) |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:) |
|
Return Value
real(kind=sp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
x(:,:,:) |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:,:) |
|
Return Value
complex(kind=dp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
x(:,:,:) |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:,:) |
|
Return Value
complex(kind=sp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
x(:,:,:) |
|
integer,
|
intent(in) |
|
|
:: |
dim |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:,:) |
|
Return Value
complex(kind=dp), (merge(size(x,1),size(x,2),mask=1
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
x(:,:,:) |
|
integer,
|
intent(in) |
|
|
:: |
dim |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:,:) |
|
Return Value
complex(kind=sp), (merge(size(x,1),size(x,2),mask=1
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
real(kind=dp),
|
intent(in) |
|
|
:: |
x(:,:,:) |
|
integer,
|
intent(in) |
|
|
:: |
dim |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:,:) |
|
Return Value
real(kind=dp), (merge(size(x,1),size(x,2),mask=1
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
real(kind=sp),
|
intent(in) |
|
|
:: |
x(:,:,:) |
|
integer,
|
intent(in) |
|
|
:: |
dim |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:,:) |
|
Return Value
real(kind=sp), (merge(size(x,1),size(x,2),mask=1
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
real(kind=dp),
|
intent(in) |
|
|
:: |
x(:,:,:) |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:,:) |
|
Return Value
real(kind=dp)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
real(kind=sp),
|
intent(in) |
|
|
:: |
x(:,:,:) |
|
logical,
|
intent(in), |
optional |
|
:: |
mask(:,:,:) |
|
Return Value
real(kind=sp)