NAG CL Interfacef16dpc (imin_​val)

Settings help

CL Name Style:

1Purpose

f16dpc computes the smallest component of an integer vector, along with the index of that component.

2Specification

 #include
 void f16dpc (Integer n, const Integer x[], Integer incx, Integer *k, Integer *i, NagError *fail)
The function may be called by the names: f16dpc, nag_blast_imin_val or nag_imin_val.

3Description

f16dpc computes the smallest component, $i$, of an $n$-element integer vector $x$, and determines the smallest index, $k$, such that
 $i=xk=minjxj.$

4References

Basic Linear Algebra Subprograms Technical (BLAST) Forum (2001) Basic Linear Algebra Subprograms Technical (BLAST) Forum Standard University of Tennessee, Knoxville, Tennessee https://www.netlib.org/blas/blast-forum/blas-report.pdf

5Arguments

1: $\mathbf{n}$Integer Input
On entry: $n$, the number of elements in $x$.
Constraint: ${\mathbf{n}}\ge 0$.
2: $\mathbf{x}\left[\mathit{dim}\right]$const Integer Input
Note: the dimension, dim, of the array x must be at least $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,1+\left({\mathbf{n}}-1\right)×|{\mathbf{incx}}|\right)$.
On entry: the $n$-element vector $x$.
If ${\mathbf{incx}}>0$, ${x}_{\mathit{i}}$ must be stored in ${\mathbf{x}}\left[\left(\mathit{i}-1\right)×{\mathbf{incx}}\right]$, for $\mathit{i}=1,2,\dots ,{\mathbf{n}}$.
If ${\mathbf{incx}}<0$, ${x}_{\mathit{i}}$ must be stored in ${\mathbf{x}}\left[\left({\mathbf{n}}-\mathit{i}\right)×|{\mathbf{incx}}|\right]$, for $\mathit{i}=1,2,\dots ,{\mathbf{n}}$.
Intermediate elements of x are not referenced. If ${\mathbf{n}}=0$, x is not referenced and may be NULL.
3: $\mathbf{incx}$Integer Input
On entry: the increment in the subscripts of x between successive elements of $x$.
Constraint: ${\mathbf{incx}}\ne 0$.
4: $\mathbf{k}$Integer * Output
On exit: $k$, the index, from the set $\left\{0,1,\dots ,{\mathbf{n}}-1\right\}$, of the smallest component of $x$. If ${\mathbf{n}}=0$ on input then k is returned as $-1$.
5: $\mathbf{i}$Integer * Output
On exit: $i$, the smallest component of $x$. If ${\mathbf{n}}=0$ on input then i is returned as $0$.
6: $\mathbf{fail}$NagError * Input/Output
The NAG error argument (see Section 7 in the Introduction to the NAG Library CL Interface).

6Error Indicators and Warnings

NE_ALLOC_FAIL
Dynamic memory allocation failed.
See Section 3.1.2 in the Introduction to the NAG Library CL Interface for further information.
On entry, argument $⟨\mathit{\text{value}}⟩$ had an illegal value.
NE_INT
On entry, ${\mathbf{incx}}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{incx}}\ne 0$.
On entry, ${\mathbf{n}}=⟨\mathit{\text{value}}⟩$.
Constraint: ${\mathbf{n}}\ge 0$.
NE_NO_LICENCE
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library CL Interface for further information.

7Accuracy

The BLAS standard requires accurate implementations which avoid unnecessary over/underflow (see Section 2.7 of Basic Linear Algebra Subprograms Technical (BLAST) Forum (2001)).

8Parallelism and Performance

f16dpc is not threaded in any implementation.

None.

10Example

This example computes the smallest component and index of that component for the vector
 $x= (1,10,11,−2,9) T .$

10.1Program Text

Program Text (f16dpce.c)

10.2Program Data

Program Data (f16dpce.d)

10.3Program Results

Program Results (f16dpce.r)