---
title: vDSP_svesq
framework: Kernel
role: symbol
role_heading: Function
platforms: [macOS 10.4+]
path: kernel/1532179-vdsp_svesq
---

# vDSP_svesq

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

## Declaration

```occ
void vDSP_svesq(const float *__A, vDSP_Stride __IA, float *__C, vDSP_Length __N);
```

## Parameters

- `__A`: The single-precision real input vector A.
- `__IA`: The stride for input vector A.
- `__Sum`: On return, the single-precision scalar sum of the elements of A.
- `__SumOfSquares`: On return, the single-precision scalar sum of the squares of the elements of A.
- `__N`: Number of elements in A.

## Discussion

Discussion This function calculates the sum of values of the first N elements of A and writes the result to Sum. It also calculates the sum of squares of the first N elements of A and writes the sum to SumOfSquares.

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 Reduction Functions

- [vDSP_rmsqv](kernel/1532207-vdsp_rmsqv.md)
- [vDSP_svs](kernel/1532174-vdsp_svs.md)
