Contents

vDSP_sve_svesq

Calculates the sum of values and the sum of squares in a single-precision vector.

Declaration

extern void vDSP_sve_svesq(const float *__A, vDSP_Stride __IA, float *__Sum, float *__SumOfSquares, vDSP_Length __N);

Parameters

  • __A:

    Single-precision input vector.

  • __IA:

    Stride for the input vector.

  • __Sum:

    Single-precision sum (scalar) of the elements of A.

  • __SumOfSquares:

    Single-precision sum (scalar) of the squares of the elements of A.

  • __N:

    Number of elements in A.

Discussion

This function calculates the sum of values and the sum of squares of the first N elements of A and writes the result to Sum and SumOfSquares respectively:

[Image]

The operation is:

Sum          = sum(A[n],      0 <= n < N);
SumOfSquares = sum(A[n] ** 2, 0 <= n < N);

The following code shows an example of using vDSP_sve_svesq:

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 sum: Float = .nan
var sumOfSquares: Float = .nan

vDSP_sve_svesq(a,
               stride,
               &sum,
               &sumOfSquares,
               n)

// Prints "sum 0.1500 sum of squares 38.8125"
print(String(format: "sum %.4f", sum),
      String(format: "sum of squares %.4f", sumOfSquares))

See Also

Vector Summation