---
title: Double-precision floating-point vectors
framework: accelerate
role: collectionGroup
role_heading: API Collection
path: accelerate/double-precision-floating-point-vectors
---

# Double-precision floating-point vectors

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

## Overview

Overview The simd library provides many functions in this group, in three variants: The default variant—for example, simd_rsqrt(_:) The precise variant—for example, simd_precise_rsqrt(_:) The fast variant—for example, simd_fast_rsqrt(_:) 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 22 bits of accuracy for double-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

- [simd_double1](simd/simd_double1.md)
- [simd_double2](simd/simd_double2.md)
- [simd_double3](simd/simd_double3.md)
- [simd_double4](simd/simd_double4.md)
- [simd_double8](simd/simd_double8.md)

### Packed vector data types

- [simd_packed_double2](simd/simd_packed_double2.md)
- [simd_packed_double4](simd/simd_packed_double4.md)
- [simd_packed_double8](simd/simd_packed_double8.md)

## See Also

### Floating-Point Vectors

- [Working with Vectors](accelerate/working-with-vectors.md)
- [Half-precision floating-point vectors](accelerate/half-precision-floating-point-vectors.md)
- [Single-precision floating-point vectors](accelerate/single-precision-floating-point-vectors.md)
