<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/simd/simd_half8",
  "metadataVersion" : "0.1.0",
  "role" : "Type Alias",
  "symbol" : {
    "kind" : "Type Alias",
    "modules" : [
      "simd"
    ],
    "preciseIdentifier" : "c:@T@simd_half8"
  },
  "title" : "simd_half8"
}
-->

# simd_half8

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

```
typealias simd_half8 = SIMD8<Float16>
```

## Topics

### Functions to create eight-element vectors from other vectors

[`simd_make_half8(_:)`](/documentation/simd/simd_make_half8(_:)-97ut4)

Returns a new vector from the specified two-element vector, and other elements set to zero.

[`simd_make_half8(_:)`](/documentation/simd/simd_make_half8(_:)-9anaf)

Returns a new vector from the specified three-element vector, and other elements set to zero.

[`simd_make_half8(_:)`](/documentation/simd/simd_make_half8(_:)-9e4ki)

Returns a new vector from the specified four-element vector, and other elements set to zero.

[`simd_make_half8(_:)`](/documentation/simd/simd_make_half8(_:)-9slsm)

Returns a new vector from the specified vector.

[`simd_make_half8(_:)`](/documentation/simd/simd_make_half8(_:)-4xf3n)

Returns a new vector by truncating the specified 16-element vector.

[`simd_make_half8(_:)`](/documentation/simd/simd_make_half8(_:)-94pmz)

Returns a new vector by truncating the specified 32-element vector.

[`simd_make_half8_undef(_:)`](/documentation/simd/simd_make_half8_undef(_:)-3on10)

Returns a new vector from the specified two-element vector, and other elements undefined.

[`simd_make_half8_undef(_:)`](/documentation/simd/simd_make_half8_undef(_:)-3l5sn)

Returns a new vector from the specified three-element vector, and other elements undefined.

[`simd_make_half8_undef(_:)`](/documentation/simd/simd_make_half8_undef(_:)-337am)

Returns a new vector from the specified four-element vector, and other elements undefined.

[`simd_make_half8(_:_:)`](/documentation/simd/simd_make_half8(_:_:))

Returns a new vector from the specified vectors.

### Functions to create eight-element vectors from scalar values

[`simd_make_half8(_:)`](/documentation/simd/simd_make_half8(_:)-ivna)

Returns a new vector with the first element set to a scalar value, and other elements set to zero.

[`simd_make_half8_undef(_:)`](/documentation/simd/simd_make_half8_undef(_:)-4lqrh)

Returns a new vector with the first element set to a scalar value, and other elements undefined.

### Functions to create eight-element vectors from vectors of other types

[`simd_half`](/documentation/simd/simd_half-3u66l)

Returns a new vector from the specified vector of 8-bit, signed-integer elements.

[`simd_half`](/documentation/simd/simd_half-3ufyl)

Returns a new vector from the specified vector of 8-bit, unsigned-integer elements.

[`simd_half`](/documentation/simd/simd_half-3uazx)

Returns a new vector from the specified vector of 16-bit, signed-integer elements.

[`simd_half`](/documentation/simd/simd_half-3ukx9)

Returns a new vector from the specified vector of 16-bit, unsigned-integer elements.

[`simd_half`](/documentation/simd/simd_half-3u7w5)

Returns a new vector from the specified vector of 32-bit, signed-integer elements.

[`simd_half`](/documentation/simd/simd_half-3ui0l)

Returns a new vector from the specified vector of 32-bit, unsigned-integer elements.

[`simd_half`](/documentation/simd/simd_half-3u9dz)

Returns a new vector from the specified vector of 64-bit, signed-integer elements.

[`simd_half`](/documentation/simd/simd_half-3ujk7)

Returns a new vector from the specified vector of 64-bit, unsigned-integer elements.

[`simd_half`](/documentation/simd/simd_half-3ui4n)

Returns a new vector from the specified vector of 16-bit, floating-point elements.

[`simd_half`](/documentation/simd/simd_half-3uhij)

Returns a new vector from the specified vector of 32-bit, floating-point elements.

[`simd_half`](/documentation/simd/simd_half-3uh2v)

Returns a new vector from the specified vector of 64-bit, floating-point elements.

### Common functions

[`simd_abs(_:)`](/documentation/simd/simd_abs(_:)-7p1mc)

Returns the absolute value of each element in a vector.

[`simd_clamp(_:_:_:)`](/documentation/simd/simd_clamp(_:_:_:)-7a090)

Returns each element in a vector clamped to a specified range.

[`simd_equal(_:_:)`](/documentation/simd/simd_equal(_:_:)-8nejo)

Returns true if every element in a vector is exactly equal to the corresponding element in a second vector, and otherwise returns false.

[`simd_fract(_:)`](/documentation/simd/simd_fract(_:)-3jdnl)

Returns the fractional part of each element in a vector.

[`simd_sign(_:)`](/documentation/simd/simd_sign(_:)-7hck3)

Returns the sign of each element in a vector.

[`simd_step(_:_:)`](/documentation/simd/simd_step(_:_:)-5v3vi)

Returns zero for each element in a vector less than a specified edge, and otherwise returns one.

### Reduce functions

[`simd_reduce_add(_:)`](/documentation/simd/simd_reduce_add(_:)-3auqo)

Returns the sum of all elements in a vector.

[`simd_reduce_max(_:)`](/documentation/simd/simd_reduce_max(_:)-55ayy)

Returns the maximum value in a vector.

[`simd_reduce_min(_:)`](/documentation/simd/simd_reduce_min(_:)-3o9ia)

Returns the minimum value in a vector.

### Interpolation functions

[`simd_mix(_:_:_:)`](/documentation/simd/simd_mix(_:_:_:)-6gojc)

Returns an element-wise linearly interpolated value between two vectors.

[`simd_smoothstep(_:_:_:)`](/documentation/simd/simd_smoothstep(_:_:_:)-96q78)

Returns an element-wise smoothly interpolated value between two vectors.

### Extrema functions

[`simd_max(_:_:)`](/documentation/simd/simd_max(_:_:)-ei84)

Returns the maximum value of each element in a vector.

[`simd_min(_:_:)`](/documentation/simd/simd_min(_:_:)-55b3r)

Returns the minimum value of each element in a vector.

### Reciprocal and reciprocal square root functions

[`simd_recip(_:)`](/documentation/simd/simd_recip(_:)-98e5u)

Returns the reciprocal of each element in a vector.

[`simd_rsqrt(_:)`](/documentation/simd/simd_rsqrt(_:)-1ofzq)

Returns the reciprocal square root of each element in a vector.

[`simd_precise_recip(_:)`](/documentation/simd/simd_precise_recip(_:)-74du2)

Returns the precise reciprocal of each element in a vector.

[`simd_precise_rsqrt(_:)`](/documentation/simd/simd_precise_rsqrt(_:)-1hm48)

Returns the precise reciprocal square root of each element in a vector.

[`simd_fast_recip(_:)`](/documentation/simd/simd_fast_recip(_:)-16ixv)

Returns the fast reciprocal of each element in a vector.

[`simd_fast_rsqrt(_:)`](/documentation/simd/simd_fast_rsqrt(_:)-923z8)

Returns the fast reciprocal square root of each element in a vector.

### Geometry functions

[`simd_dot`](/documentation/simd/simd_dot-16ezc)

Returns the dot product of two vectors.

[`simd_normalize`](/documentation/simd/simd_normalize-us7)

Returns a vector pointing in the same direction of the supplied vector, with a length of 1.

[`simd_fast_normalize`](/documentation/simd/simd_fast_normalize-8x56w)

Returns the fast normalized vector.

[`simd_precise_normalize`](/documentation/simd/simd_precise_normalize-621rw)

Returns the precise normalized vector.

[`simd_project`](/documentation/simd/simd_project-472vy)

Returns the first vector projected onto the second vector.

[`simd_precise_project`](/documentation/simd/simd_precise_project-8kipf)

Returns the precise projected vector.

[`simd_fast_project`](/documentation/simd/simd_fast_project-2k6sp)

Returns the fast projected vector.

### Vector norm functions

[`simd_norm_one`](/documentation/simd/simd_norm_one-fkef)

Returns the sum of the absolute values of a vector.

[`simd_norm_inf`](/documentation/simd/simd_norm_inf-9m6k2)

Returns the maximum absolute value of a vector.

### Length and distance functions

[`simd_length`](/documentation/simd/simd_length-32yfr)

Returns the length of a vector.

[`simd_fast_length`](/documentation/simd/simd_fast_length-5uxn4)

Returns the fast length of a vector.

[`simd_precise_length`](/documentation/simd/simd_precise_length-67lfe)

Returns the precise length of a vector.

[`simd_length_squared`](/documentation/simd/simd_length_squared-3xd95)

Returns the square of the length of a vector.

[`simd_distance`](/documentation/simd/simd_distance-2j394)

Returns the distance between two vectors.

[`simd_fast_distance`](/documentation/simd/simd_fast_distance-66qhh)

Returns the fast distance between two vectors.

[`simd_precise_distance`](/documentation/simd/simd_precise_distance-9fb2f)

Returns the precise distance between two vectors.

[`simd_distance_squared`](/documentation/simd/simd_distance_squared-3sgxy)

Returns the square of the distance between two vectors.

### Logic functions

[`simd_select(_:_:_:)`](/documentation/simd/simd_select(_:_:_:)-7qsat)

Returns a vector that contains elements from either the first or second parameter, based on the corresponding element’s high-order bit in the mask.

[`simd_bitselect(_:_:_:)`](/documentation/simd/simd_bitselect(_:_:_:)-1kwpu)

Returns a vector that contains elements from either the first or second parameter, based on the corresponding element in the third parameter.

### Math functions

[`simd_muladd(_:_:_:)`](/documentation/simd/simd_muladd(_:_:_:)-1vfnf)

Returns the multiply-add result for corresponding elements in three 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)