Quickly find the kth smallest value of an array, or the index of the kth smallest value. (Specification)
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int8),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int8),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int8),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int8),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int8),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int8),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int8),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int16),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int16),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int16),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int16),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int16),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int8),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int32),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int32),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int32),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int32),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int32),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int8),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int64),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int64),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int64),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int64),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int64),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int16),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int8),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int8),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int8),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int8),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int8),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int16),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int16),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int16),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int16),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int16),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int16),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int16),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int32),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int32),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int32),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int32),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int32),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int16),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int64),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int64),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int64),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int64),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int64),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int32),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int8),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int8),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int8),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int8),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int8),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int32),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int16),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int16),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int16),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int16),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int16),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int32),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int32),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int32),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int32),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int32),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int32),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int32),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int64),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int64),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int64),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int64),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int64),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int64),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int8),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int8),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int8),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int8),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int8),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int64),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int16),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int16),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int16),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int16),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int16),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int64),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int32),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int32),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int32),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int32),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int32),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

integer(kind=int64),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int64),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int64),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int64),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int64),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int64),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

real(kind=sp),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int8),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int8),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int8),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int8),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int8),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

real(kind=sp),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int16),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int16),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int16),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int16),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int16),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

real(kind=sp),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int32),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int32),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int32),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int32),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int32),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

real(kind=sp),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int64),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int64),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int64),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int64),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int64),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

real(kind=dp),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int8),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int8),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int8),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int8),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int8),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

real(kind=dp),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int16),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int16),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int16),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int16),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int16),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

real(kind=dp),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int32),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int32),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int32),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int32),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int32),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
arg_select  find the index of the kth smallest entry in a(:)
Type  Intent  Optional  Attributes  Name  

real(kind=dp),  intent(in)  ::  a(:)  Array in which we seek the kth smallest entry. 

integer(kind=int64),  intent(inout)  ::  indx(:)  Array of indices into 

integer(kind=int64),  intent(in)  ::  k  We want index of the kth smallest entry. E.G. 

integer(kind=int64),  intent(out)  ::  kth_smallest  On output contains the index with the kth smallest value of 

integer(kind=int64),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int64),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int8),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int8),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int8),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int8),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int8),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int8),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int16),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int8),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int16),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int16),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int8),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int32),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int8),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int32),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int32),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int8),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int64),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int8),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int64),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int64),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int16),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int8),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int16),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int8),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int8),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int16),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int16),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int16),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int16),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int16),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int16),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int32),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int16),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int32),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int32),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int16),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int64),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int16),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int64),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int64),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int32),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int8),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int32),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int8),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int8),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int32),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int16),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int32),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int16),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int16),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int32),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int32),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int32),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int32),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int32),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int32),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int64),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int32),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int64),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int64),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int64),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int8),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int64),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int8),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int8),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int64),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int16),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int64),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int16),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int16),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int64),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int32),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int64),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int32),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int32),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

integer(kind=int64),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int64),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

integer(kind=int64),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int64),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int64),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

real(kind=sp),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int8),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

real(kind=sp),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int8),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int8),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

real(kind=sp),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int16),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

real(kind=sp),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int16),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int16),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

real(kind=sp),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int32),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

real(kind=sp),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int32),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int32),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

real(kind=sp),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int64),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

real(kind=sp),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int64),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int64),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

real(kind=dp),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int8),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

real(kind=dp),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int8),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int8),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

real(kind=dp),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int16),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

real(kind=dp),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int16),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int16),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

real(kind=dp),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int32),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

real(kind=dp),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int32),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int32),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 
select  select the kth smallest entry in a(:).
Type  Intent  Optional  Attributes  Name  

real(kind=dp),  intent(inout)  ::  a(:)  Array in which we seek the kth smallest entry.
On output it will be partially sorted such that


integer(kind=int64),  intent(in)  ::  k  We want the kth smallest entry. E.G. 

real(kind=dp),  intent(out)  ::  kth_smallest  On output contains the kth smallest value of 

integer(kind=int64),  intent(in),  optional  ::  left  If we know that:
the kth smallest entry of 

integer(kind=int64),  intent(in),  optional  ::  right  If we know that:
the kth smallest entry of 