<!--
{
  "availability" : [

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

# simd_half16

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

```
typealias simd_half16 = SIMD16<Float16>
```

## Topics

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

[`simd_make_half16(_:)`](/documentation/simd/simd_make_half16(_:)-7jegv)

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

[`simd_make_half16(_:)`](/documentation/simd/simd_make_half16(_:)-7fwvg)

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

[`simd_make_half16(_:)`](/documentation/simd/simd_make_half16(_:)-7czq5)

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

[`simd_make_half16(_:)`](/documentation/simd/simd_make_half16(_:)-8jb49)

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

[`simd_make_half16(_:)`](/documentation/simd/simd_make_half16(_:)-2eeq3)

Returns a new vector from the specified vector.

[`simd_make_half16(_:)`](/documentation/simd/simd_make_half16(_:)-18zo3)

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

[`simd_make_half16_undef(_:)`](/documentation/simd/simd_make_half16_undef(_:)-nn1z)

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

[`simd_make_half16_undef(_:)`](/documentation/simd/simd_make_half16_undef(_:)-qkco)

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

[`simd_make_half16_undef(_:)`](/documentation/simd/simd_make_half16_undef(_:)-hd79)

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

[`simd_make_half16_undef(_:)`](/documentation/simd/simd_make_half16_undef(_:)-1lcb5)

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

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

Returns a new vector from the specified vectors.

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

[`simd_make_half16(_:)`](/documentation/simd/simd_make_half16(_:)-923w5)

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

[`simd_make_half16_undef(_:)`](/documentation/simd/simd_make_half16_undef(_:)-5x8m)

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

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

[`simd_half`](/documentation/simd/simd_half-227sx)

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

[`simd_half`](/documentation/simd/simd_half-21y0x)

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

[`simd_half`](/documentation/simd/simd_half-22cyp)

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

[`simd_half`](/documentation/simd/simd_half-222xt)

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

[`simd_half`](/documentation/simd/simd_half-229ux)

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

[`simd_half`](/documentation/simd/simd_half-21zqh)

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

[`simd_half`](/documentation/simd/simd_half-21zmj)

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

[`simd_half`](/documentation/simd/simd_half-21z2n)

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

### Common functions

[`simd_abs(_:)`](/documentation/simd/simd_abs(_:)-47hrc)

Returns the absolute value of each element in a vector.

[`simd_clamp(_:_:_:)`](/documentation/simd/simd_clamp(_:_:_:)-5xcny)

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

[`simd_equal(_:_:)`](/documentation/simd/simd_equal(_:_:)-9ijsx)

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(_:)-6v27d)

Returns the fractional part of each element in a vector.

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

Returns the sign of each element in a vector.

[`simd_step(_:_:)`](/documentation/simd/simd_step(_:_:)-7ryeb)

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(_:)-7n2m4)

Returns the sum of all elements in a vector.

[`simd_reduce_max(_:)`](/documentation/simd/simd_reduce_max(_:)-8iq8z)

Returns the maximum value in a vector.

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

Returns the minimum value in a vector.

### Interpolation functions

[`simd_mix(_:_:_:)`](/documentation/simd/simd_mix(_:_:_:)-7hbla)

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

[`simd_smoothstep(_:_:_:)`](/documentation/simd/simd_smoothstep(_:_:_:)-4twuq)

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

### Extrema functions

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

Returns the maximum value of each element in a vector.

[`simd_min(_:_:)`](/documentation/simd/simd_min(_:_:)-4gxfx)

Returns the minimum value of each element in a vector.

### Reciprocal and reciprocal square root functions

[`simd_recip(_:)`](/documentation/simd/simd_recip(_:)-5bvrv)

Returns the reciprocal of each element in a vector.

[`simd_rsqrt(_:)`](/documentation/simd/simd_rsqrt(_:)-765rp)

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

[`simd_precise_recip(_:)`](/documentation/simd/simd_precise_recip(_:)-5icut)

Returns the precise reciprocal of each element in a vector.

[`simd_precise_rsqrt(_:)`](/documentation/simd/simd_precise_rsqrt(_:)-6j2jj)

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

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

Returns the fast reciprocal of each element in a vector.

[`simd_fast_rsqrt(_:)`](/documentation/simd/simd_fast_rsqrt(_:)-686mo)

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

### Geometry functions

[`simd_dot`](/documentation/simd/simd_dot-8gymo)

Returns the dot product of two vectors.

[`simd_normalize`](/documentation/simd/simd_normalize-3r6p1)

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-fo8a)

Returns the fast normalized vector.

[`simd_precise_normalize`](/documentation/simd/simd_precise_normalize-53d5a)

Returns the precise normalized vector.

[`simd_project`](/documentation/simd/simd_project-4n2u6)

Returns the first vector projected onto the second vector.

[`simd_precise_project`](/documentation/simd/simd_precise_project-7slej)

Returns the precise projected vector.

[`simd_fast_project`](/documentation/simd/simd_fast_project-95iib)

Returns the fast projected vector.

### Vector norm functions

[`simd_norm_one`](/documentation/simd/simd_norm_one-2djve)

Returns the sum of the absolute values of a vector.

[`simd_norm_inf`](/documentation/simd/simd_norm_inf-2x7b8)

Returns the maximum absolute value of a vector.

### Length and distance functions

[`simd_length`](/documentation/simd/simd_length-576ia)

Returns the length of a vector.

[`simd_fast_length`](/documentation/simd/simd_fast_length-3ecug)

Returns the fast length of a vector.

[`simd_precise_length`](/documentation/simd/simd_precise_length-bxb3)

Returns the precise length of a vector.

[`simd_length_squared`](/documentation/simd/simd_length_squared-7mlpe)

Returns the square of the length of a vector.

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

Returns the distance between two vectors.

[`simd_fast_distance`](/documentation/simd/simd_fast_distance-1pqse)

Returns the fast distance between two vectors.

[`simd_precise_distance`](/documentation/simd/simd_precise_distance-wp3e)

Returns the precise distance between two vectors.

[`simd_distance_squared`](/documentation/simd/simd_distance_squared-m1wr)

Returns the square of the distance between two vectors.

### Logic functions

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

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(_:_:_:)-92kfc)

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(_:_:_:)-8bkab)

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)