---
title: vDSP_distancesqD
framework: accelerate
role: symbol
role_heading: Function
path: accelerate/vdsp_distancesqd
---

# vDSP_distancesqD

Calculates the double-precision distance squared between two points in n-dimensional space.

## Declaration

```occ
extern void vDSP_distancesqD(const double *__A, vDSP_Stride __IA, const double *__B, vDSP_Stride __IB, double *__C, vDSP_Length __N);
```

## Parameters

- `__A`: An array that contains the coordinates of the first point.
- `__IA`: The distance between the elements in the input vector A.
- `__B`: An array that contains the coordinates of the second point.
- `__IB`: The distance between the elements in the input vector B.
- `__C`: On output, the square of the Euclidean distance between the two points.
- `__N`: The number of elements to process.

## Discussion

Discussion This function calculates the sum of squares of the differences of corresponding elements of vectors A and B, using the following operation: C[0] = sum((A[n] - B[n]) ** 2, 0 <= n < N);  For example, the following code calculates the distance squared between the two four-dimensional points pointA and pointB:     let stride = 1          let pointA: [Double] = [-1, 0, -2, 1]     let pointB: [Double] = [ 2, 1,  4, 3]          var distanceSquared = Double()          vDSP_distancesqD(pointA, stride,                      pointB, stride,                      &distanceSquared,                      vDSP_Length(pointA.count))          print("distance²", distanceSquared) // Prints "distance² 50.0".

## See Also

### Vector distance computation

- [vDSP_vdist](accelerate/vdsp_vdist.md)
- [vDSP_vdistD](accelerate/vdsp_vdistd.md)
- [vDSP_distancesq](accelerate/vdsp_distancesq.md)
