Function

vDSP_maxv

Calculates the maximum value in a single-precision vector.

Declaration

void vDSP_maxv(const float *__A, vDSP_Stride __IA, float *__C, vDSP_Length __N);

Parameters

__A

Single-precision real input vector.

__I

Stride for A.

__C

Output scalar.

__N

The number of elements to process. If N is zero (0), this function returns -INFINITY.

Discussion

This function calculates the maximum value of the first N elements of A and writes the result to C:

A diagram showing the operation of the vDSP_maxv function. There are three rows. The top row represents the input, vector A. The second row represents the maximum value operation. The bottom row represents the output, vector C. The diagram has connecting lines from the input vectors to the operation and from the operation to the output vector indicating the relationships between the input and output.

The operation is:

*C = -INFINITY;
for (n = 0; n < N; ++n)
    if (*C < A[n*I])
        *C = A[n*I];

The following code shows an example of using vDSP_maxv.

let stride = vDSP_Stride(1)

let a: [Float] = [-1.5, 2.25, 3.6,
                  0.2, -0.1, -4.3]
let n = vDSP_Length(a.count)

var c: Float = .nan

vDSP_maxv(a,
          stride,
          &c,
          n)

print("max", c) // Prints "max 3.6"

See Also

Maximum Calculation

vDSP_maxvD

Calculates the maximum value in a double-precision vector.

vDSP_maxvi

Calculates the maximum value and corresponding index in a single-precision vector.

vDSP_maxviD

Calculates the maximum value and corresponding index in a double-precision vector.

vDSP_maxmgv

Calculates the maximum magnitude in a single-precision vector.

vDSP_maxmgvD

Calculates the maximum magnitude in a double-precision vector.

vDSP_maxmgvi

Calculates the maximum magnitude and corresponding index in a single-precision vector.

vDSP_maxmgviD

Calculates the maximum magnitude and corresponding index in a double-precision vector.