<!--
{
  "documentType" : "article",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/dot-product-calculation",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Dot product calculation"
}
-->

# Dot product calculation

Calculate the scalar product of two vectors.

## Topics

### Dot product calculation

[`extern void vDSP_dotpr(const float *__A, vDSP_Stride __IA, const float *__B, vDSP_Stride __IB, float *__C, vDSP_Length __N);`](/documentation/Accelerate/vDSP_dotpr)

Calculates the dot product of two single-precision vectors.

[`extern void vDSP_dotprD(const double *__A, vDSP_Stride __IA, const double *__B, vDSP_Stride __IB, double *__C, vDSP_Length __N);`](/documentation/Accelerate/vDSP_dotprD)

Calculates the dot product of two double-precision vectors.

[`void vDSP_dotpr_s1_15(const short *__A, vDSP_Stride __IA, const short *__B, vDSP_Stride __IB, short *__C, vDSP_Length __N);`](/documentation/Accelerate/vDSP_dotpr_s1_15)

Calculates the dot product of two fixed-point 1.15 format vectors.

[`void vDSP_dotpr_s8_24(const int *__A, vDSP_Stride __IA, const int *__B, vDSP_Stride __IB, int *__C, vDSP_Length __N);`](/documentation/Accelerate/vDSP_dotpr_s8_24)

Calculates the dot product of two fixed-point  8.24 format vectors.

### Complex dot and inner product calculation

[`extern void vDSP_zdotpr(const DSPSplitComplex *__A, vDSP_Stride __IA, const DSPSplitComplex *__B, vDSP_Stride __IB, const DSPSplitComplex *__C, vDSP_Length __N);`](/documentation/Accelerate/vDSP_zdotpr)

Calculates the dot product of two single-precision complex vectors.

[`extern void vDSP_zdotprD(const DSPDoubleSplitComplex *__A, vDSP_Stride __IA, const DSPDoubleSplitComplex *__B, vDSP_Stride __IB, const DSPDoubleSplitComplex *__C, vDSP_Length __N);`](/documentation/Accelerate/vDSP_zdotprD)

Calculates the dot product of two double-precision complex vectors.

[`extern void vDSP_zrdotpr(const DSPSplitComplex *__A, vDSP_Stride __IA, const float *__B, vDSP_Stride __IB, const DSPSplitComplex *__C, vDSP_Length __N);`](/documentation/Accelerate/vDSP_zrdotpr)

Calculates the single-precision dot product of a complex vector and a real vector.

[`extern void vDSP_zrdotprD(const DSPDoubleSplitComplex *__A, vDSP_Stride __IA, const double *__B, vDSP_Stride __IB, const DSPDoubleSplitComplex *__C, vDSP_Length __N);`](/documentation/Accelerate/vDSP_zrdotprD)

Calculates the double-precision dot product of a complex vector and a real vector.

[`extern void vDSP_zidotpr(const DSPSplitComplex *__A, vDSP_Stride __IA, const DSPSplitComplex *__B, vDSP_Stride __IB, const DSPSplitComplex *__C, vDSP_Length __N);`](/documentation/Accelerate/vDSP_zidotpr)

Calculates the inner product of two single-precision complex vectors.

[`extern void vDSP_zidotprD(const DSPDoubleSplitComplex *__A, vDSP_Stride __IA, const DSPDoubleSplitComplex *__B, vDSP_Stride __IB, const DSPDoubleSplitComplex *__C, vDSP_Length __N);`](/documentation/Accelerate/vDSP_zidotprD)

Calculates the inner product of two double-precision complex vectors.

### Stereo dot product calculation

[`void vDSP_dotpr2(const float *__A0, vDSP_Stride __IA0, const float *__A1, vDSP_Stride __IA1, const float *__B, vDSP_Stride __IB, float *__C0, float *__C1, vDSP_Length __N);`](/documentation/Accelerate/vDSP_dotpr2)

Calculates the stereo dot product of two single-precision vectors.

[`void vDSP_dotpr2D(const double *__A0, vDSP_Stride __IA0, const double *__A1, vDSP_Stride __IA1, const double *__B, vDSP_Stride __IB, double *__C0, double *__C1, vDSP_Length __N);`](/documentation/Accelerate/vDSP_dotpr2D)

Calculates the stereo dot product of two double-precision vectors.

[`void vDSP_dotpr2_s1_15(const short *__A0, vDSP_Stride __IA0, const short *__A1, vDSP_Stride __IA1, const short *__B, vDSP_Stride __IB, short *__C0, short *__C1, vDSP_Length __N);`](/documentation/Accelerate/vDSP_dotpr2_s1_15)

Calculates the stereo dot product of two fixed-point 1.15 format vectors.

[`void vDSP_dotpr2_s8_24(const int *__A0, vDSP_Stride __IA0, const int *__A1, vDSP_Stride __IA1, const int *__B, vDSP_Stride __IB, int *__C0, int *__C1, vDSP_Length __N);`](/documentation/Accelerate/vDSP_dotpr2_s8_24)

Calculates the stereo dot product of two fixed-point 8.24 format vectors.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)