---
title: vDSP_vsmaD
framework: Accelerate
role: symbol
role_heading: Function
platforms: [iOS 4.0+, iPadOS 4.0+, Mac Catalyst 13.1+, macOS 10.4+, visionOS 1.0+, watchOS 2.0+]
path: accelerate/vdsp_vsmad
---

# vDSP_vsmaD

Calculates the double-precision element-wise addition of the product of a vector and a scalar value, and a vector, using the specified stride.

## Declaration

```occ
extern void vDSP_vsmaD(const double *__A, vDSP_Stride __IA, const double *__B, const double *__C, vDSP_Stride __IC, double *__D, vDSP_Stride __ID, vDSP_Length __N);
```

## Parameters

- `__A`: The input vector A in D = (A * B) + C.
- `__IA`: The distance between the elements in the input vector A.
- `__B`: The input scalar value B in D = (A * B) + C.
- `__C`: The input vector C in D = (A * B) + C.
- `__IC`: The distance between the elements in the input vector C.
- `__D`: The output vector D in D = (A * B) + C.
- `__ID`: The distance between the elements in the output vector D.
- `__N`: The number of elements that the function processes.

## Discussion

Discussion This function calculates the element-wise product of vector A and scalar value B, adds vector C to the product, and writes the result to vector D, as follows:  for (n = 0; n < N; ++n)     D[n] = A[n] * B + C[n];

The following code shows an example of using this function:

## See Also

### Vector-scalar-vector multiply-add operations

- [vDSP_vsma](accelerate/vdsp_vsma.md)
