<!--
{
  "documentType" : "article",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/single-precision-floating-point-vectors",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Single-precision floating-point vectors"
}
-->

# Single-precision floating-point vectors

Perform operations on vectors that contain single-precision floating-point elements.

## Discussion

The simd library provides many functions in this group, in three variants:

- The default variant—for example, [`simd_rsqrt(_:)`](/documentation/simd/simd_rsqrt(_:)-i4we)
- The precise variant—for example, [`simd_precise_rsqrt(_:)`](/documentation/simd/simd_precise_rsqrt(_:)-136xw)
- The fast variant—for example, [`simd_fast_rsqrt(_:)`](/documentation/simd/simd_fast_rsqrt(_:)-8p7fk)

The precise variants are accurate to a few units in the last place (ULPs). The fast variants provide greater speed but may have as little as 11 bits of accuracy for single-precision functions.

The compiler flag defines the behavior of the default variant. Ordinarily, the compiler resolves the default variants to their precise counterparts. Set the `-ffast-math` compiler flag to specify that the default variants of the functions resolve to the fast variants.

## Topics

### Vector data types

[`typealias simd_float1`](/documentation/simd/simd_float1)

A vector of one 32-bit floating-point element.

[`typealias simd_float2`](/documentation/simd/simd_float2)

A vector of two 32-bit floating-point elements.

[`typealias simd_float3`](/documentation/simd/simd_float3)

A vector of three 32-bit floating-point elements.

[`typealias simd_float4`](/documentation/simd/simd_float4)

A vector of four 32-bit floating-point elements.

[`typealias simd_float8`](/documentation/simd/simd_float8)

A vector of eight 32-bit floating-point elements.

[`typealias simd_float16`](/documentation/simd/simd_float16)

A vector of sixteen 32-bit floating-point elements.

### Packed vector data types

[`typealias simd_packed_float2`](/documentation/simd/simd_packed_float2)

A packed vector of two 32-bit floating-point elements.

[`typealias simd_packed_float4`](/documentation/simd/simd_packed_float4)

A packed vector of four 32-bit floating-point elements.

[`typealias simd_packed_float8`](/documentation/simd/simd_packed_float8)

A packed vector of eight 32-bit floating-point elements.

[`typealias simd_packed_float16`](/documentation/simd/simd_packed_float16)

A packed vector of sixteen 32-bit floating-point elements.



---

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)