<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -",
    "macCatalyst: -",
    "macOS: 10.15.0 -",
    "tvOS: 13.0.0 -",
    "visionOS: -",
    "watchOS: 6.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/vDSP/evaluatePolynomial(usingCoefficients:withVariables:result:)-6eaoc",
  "metadataVersion" : "0.1.0",
  "role" : "Type Method",
  "symbol" : {
    "kind" : "Type Method",
    "modules" : [
      "Accelerate"
    ],
    "preciseIdentifier" : "s:10Accelerate4vDSPO18evaluatePolynomial17usingCoefficients13withVariables6resultySaySfG_xq_ztAA0A6BufferRzAA0a7MutableJ0R_Sf7ElementRtzSfAKRt_r0_lFZ"
  },
  "title" : "evaluatePolynomial(usingCoefficients:withVariables:result:)"
}
-->

# evaluatePolynomial(usingCoefficients:withVariables:result:)

Evaluates a single-precision polynomial using specified coefficients and variables.

```
static func evaluatePolynomial<U, V>(usingCoefficients coefficients: [Float], withVariables variables: U, result: inout V) where U : AccelerateBuffer, V : AccelerateMutableBuffer, U.Element == Float, V.Element == Float
```

## Parameters

`coefficients`

An array that contains the coefficients.

`variables`

An array that contains the independent variables.

`result`

An array that receives the result of the calculation.

## Discussion

For example, the following code evaluates the polynomial with the coefficients `[10.0, 20.0, 30.0]` and the variables `[7.0, 5.0]`:

```swift
    let coefficients: [Float] = [10, 20, 30]
    let variables: [Float] = [7, 5]
    
    let result = [Float](
        unsafeUninitializedCapacity: variables.count) {
            buffer, initializedCount in
            
            vDSP.evaluatePolynomial(usingCoefficients: coefficients,
                                                 withVariables: variables,
                                    result: &buffer)
            
            initializedCount = 2
        }
   
    // Prints "[660.0, 380.0]".
    //    result[0] = (10 * 7²) + (20 * 7¹) + (30 * 7⁰) = 660
    //    result[1] = (10 * 5²) + (20 * 5¹) + (30 * 5⁰) = 380
    print(result)
```

---

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)