<!--
{
  "availability" : [

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

# simd_float16

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

```
typealias simd_float16 = SIMD16<Float>
```

## Topics

### Functions to Create 16-Element Vectors From Other Vectors

[`simd_make_float16(_:)`](/documentation/simd/simd_make_float16(_:)-73rau)

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

[`simd_make_float16(_:)`](/documentation/simd/simd_make_float16(_:)-76ned)

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

[`simd_make_float16(_:)`](/documentation/simd/simd_make_float16(_:)-6v3h4)

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

[`simd_make_float16(_:)`](/documentation/simd/simd_make_float16(_:)-81hjg)

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

[`simd_make_float16(_:)`](/documentation/simd/simd_make_float16(_:)-5j0rl)

Returns a new vector from the specified vector.

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

Returns a new vector from the specified vectors.

[`vector16`](/documentation/simd/vector16-8kycm)

Returns a new vector from the specified vectors.

[`simd_make_float16_undef(_:)`](/documentation/simd/simd_make_float16_undef(_:)-3f8p6)

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

[`simd_make_float16_undef(_:)`](/documentation/simd/simd_make_float16_undef(_:)-3bslp)

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

[`simd_make_float16_undef(_:)`](/documentation/simd/simd_make_float16_undef(_:)-38xrw)

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

[`simd_make_float16_undef(_:)`](/documentation/simd/simd_make_float16_undef(_:)-4f6xc)

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

### Functions to Create 16-Element Vectors From Scalar Values

[`simd_make_float16(_:)`](/documentation/simd/simd_make_float16(_:)-4r3a8)

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

[`simd_make_float16_undef(_:)`](/documentation/simd/simd_make_float16_undef(_:)-71tt7)

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_float`](/documentation/simd/simd_float-33quw)

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

[`simd_float`](/documentation/simd/simd_float-33h14)

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

[`simd_float`](/documentation/simd/simd_float-33lyw)

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

[`simd_float`](/documentation/simd/simd_float-33bqw)

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

[`simd_float`](/documentation/simd/simd_float-33os8)

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

[`simd_float`](/documentation/simd/simd_float-33eyg)

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

[`simd_float`](/documentation/simd/simd_float-33i8s)

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

### Alternative Type Alias

[`vector_float16`](/documentation/simd/vector_float16)

### Common Functions

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

Returns the absolute value of each element in a vector.

[`simd_clamp(_:_:_:)`](/documentation/simd/simd_clamp(_:_:_:)-92son)

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

[`simd_equal(_:_:)`](/documentation/simd/simd_equal(_:_:)-376kl)

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

Returns the fractional part of each element in a vector.

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

Returns the sign of each element in a vector.

[`simd_step(_:_:)`](/documentation/simd/simd_step(_:_:)-14cn0)

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

### Reduce Functions

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

Returns the miniumum value in a vector.

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

Returns the maximum value in a vector.

[`simd_reduce_add(_:)`](/documentation/simd/simd_reduce_add(_:)-7n310)

Returns the sum of all elements in a vector.

### Interpolation Functions

[`simd_smoothstep(_:_:_:)`](/documentation/simd/simd_smoothstep(_:_:_:)-2q68m)

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

[`simd_mix(_:_:_:)`](/documentation/simd/simd_mix(_:_:_:)-1hgrq)

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

### Extrema Functions

[`simd_min(_:_:)`](/documentation/simd/simd_min(_:_:)-6clj9)

Returns the minimum value of each element in a vector.

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

Returns the maximum value of each element in a vector.

### Reciprocal and Reciprocal Square Root Functions

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

Returns the reciprocal of each element in a vector.

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

Returns the fast reciprocal of each element in a vector.

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

Returns the precise reciprocal of each element in a vector.

[`simd_rsqrt(_:)`](/documentation/simd/simd_rsqrt(_:)-76a19)

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

[`simd_fast_rsqrt(_:)`](/documentation/simd/simd_fast_rsqrt(_:)-6862g)

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

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

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

### Exponential and Logarithmic Functions

[`exp(_:)`](/documentation/simd/exp(_:)-2ru57)

Returns *e* raised to the power of each element in a vector.

[`exp2(_:)`](/documentation/simd/exp2(_:)-271hg)

Returns 2 raised to the power of each element in a vector.

[`exp10(_:)`](/documentation/simd/exp10(_:)-165iq)

Returns 10 raised to the power of each element in a vector.

[`expm1(_:)`](/documentation/simd/expm1(_:)-90g3j)

Returns *eˣ-1* for each element in a vector.

[`log(_:)`](/documentation/simd/log(_:)-44j3q)

Returns the natural logarithm of each element in a vector.

[`log2(_:)`](/documentation/simd/log2(_:)-8nusk)

Returns the base 2 logarithm of each element in a vector.

[`log10(_:)`](/documentation/simd/log10(_:)-7eq4p)

Returns the base 10 logarithm of each element in a vector.

[`log1p(_:)`](/documentation/simd/log1p(_:)-2uw4e)

Returns *log(1+x)* of each element in a vector.

### Geometry Functions

[`simd_dot`](/documentation/simd/simd_dot-z7ab)

Returns the dot product of two vectors.

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

Returns the first vector projected onto the second vector.

[`simd_fast_project`](/documentation/simd/simd_fast_project-4kt3u)

Returns the fast projected vector.

[`simd_precise_project`](/documentation/simd/simd_precise_project-39090)

Returns the precise projected vector.

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

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

Returns the fast normalized vector.

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

Returns the precise normalized vector.

### Vector Norm Functions

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

Returns the sum of the absolute values of a vector.

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

Returns the maximum absolute value of a vector.

### Length and Distance Functions

[`simd_length`](/documentation/simd/simd_length-575we)

Returns the length of a vector.

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

Returns the fast length of a vector.

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

Returns the precise length of a vector.

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

Returns the square of the length of a vector.

[`simd_distance`](/documentation/simd/simd_distance-7xk9e)

Returns the distance between two vectors.

[`simd_fast_distance`](/documentation/simd/simd_fast_distance-56een)

Returns the fast distance between two vectors.

[`simd_precise_distance`](/documentation/simd/simd_precise_distance-5ci0y)

Returns the precise distance between two vectors.

[`simd_distance_squared`](/documentation/simd/simd_distance_squared-57ui2)

Returns the square of the distance between two vectors.

### Hyperbolic Functions

[`acosh(_:)`](/documentation/simd/acosh(_:)-4w84k)

Returns the inverse hyperbolic cosine of each element in a vector.

[`asinh(_:)`](/documentation/simd/asinh(_:)-6v4m)

Returns the inverse hyperbolic sine of each element in a vector.

[`atanh(_:)`](/documentation/simd/atanh(_:)-70pvm)

Returns the inverse hyperbolic tangent of each element in a vector.

[`cosh(_:)`](/documentation/simd/cosh(_:)-9kvzr)

Returns the hyperbolic cosine of each element in a vector.

[`sinh(_:)`](/documentation/simd/sinh(_:)-1d6si)

Returns the hyperbolic sine of each element in a vector.

[`tanh(_:)`](/documentation/simd/tanh(_:)-7sto5)

Returns the hyperbolic tangent of each element in a vector.

### Logic Functions

[`simd_select(_:_:_:)`](/documentation/simd/simd_select(_:_:_:)-41fgt)

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

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

### Math Functions

[`cbrt(_:)`](/documentation/simd/cbrt(_:)-3cnri)

Returns the cube root of each element in a vector.

[`erf(_:)`](/documentation/simd/erf(_:)-7wkg3)

Returns the error function for each element in a vector.

[`erfc(_:)`](/documentation/simd/erfc(_:)-20vsh)

Returns the complementary error function for each element in a vector.

[`fma(_:_:_:)`](/documentation/simd/fma(_:_:_:)-503dp)

Returns the multiply-add result for corresponding elements in three vectors.

[`fmod(_:_:)`](/documentation/simd/fmod(_:_:)-2bys0)

Returns the modulus after dividing each element in a vector by the corresponding element in a second vector.

[`hypot(_:_:)`](/documentation/simd/hypot(_:_:)-265pt)

Returns the hypotenuse of a right-angled triangle with the sides that are adjacent to the right angle that two vectors define.

[`lgamma(_:)`](/documentation/simd/lgamma(_:)-1onkc)

Returns the natural logarithm of the absolute value of the gamma function of each element in a vector.

[`nextafter(_:_:)`](/documentation/simd/nextafter(_:_:)-9kvo8)

Returns the next representable value of each element in a vector in the direction of the corresponding element in a second vector.

[`pow(_:_:)`](/documentation/simd/pow(_:_:)-7mpyc)

Returns each element in a vector raised to the power of the corresponding element in a second vector.

[`remainder(_:_:)`](/documentation/simd/remainder(_:_:)-5dxqm)

Returns the remainder after dividing each element in an array by the corresponding element in a second array of double-precision values.

[`round(_:)`](/documentation/simd/round(_:)-74w3c)

Returns each element in a vector rounded to the nearest integer.

[`simd_muladd(_:_:_:)`](/documentation/simd/simd_muladd(_:_:_:)-8imv2)

Returns the multiply-add result for corresponding elements in three vectors.

[`tgamma(_:)`](/documentation/simd/tgamma(_:)-9r61k)

Returns the gamma function for each element in a vector.

### Trigonometric Functions

[`acos(_:)`](/documentation/simd/acos(_:)-9k95t)

Returns the arccosine of each element in a vector.

[`asin(_:)`](/documentation/simd/asin(_:)-52bly)

Returns the arcsine of each element in a vector.

[`atan(_:)`](/documentation/simd/atan(_:)-7y100)

Returns the arctangent of each element in a vector.

[`atan2(_:_:)`](/documentation/simd/atan2(_:_:)-5dweo)

Returns the arctangent of each pair of corresponding elements in two vectors.

[`cos(_:)`](/documentation/simd/cos(_:)-40gvn)

Returns the cosine of each element in a vector.

[`cospi(_:)`](/documentation/simd/cospi(_:)-7kfdh)

Returns the cosine of each element in a vector multiplied by pi.

[`sin(_:)`](/documentation/simd/sin(_:)-7e17y)

Returns the sine of each element in a vector.

[`sinpi(_:)`](/documentation/simd/sinpi(_:)-6d2hq)

Returns the sine of each element in a vector multiplied by pi.

[`sincos(_:)`](/documentation/simd/sincos(_:)-go67)

Returns the sine and cosine of each element in a vector.

[`sincospi(_:)`](/documentation/simd/sincospi(_:)-h3av)

Returns the sine and cosine of each element in a vector multiplied by pi.

[`tan(_:)`](/documentation/simd/tan(_:)-5q9ad)

Returns the tangent of each element in a vector.

[`tanpi(_:)`](/documentation/simd/tanpi(_:)-2vht8)

Returns the tangent of each element in a vector multiplied by pi.

### Classification Functions

[`isfinite(_:)`](/documentation/simd/isfinite(_:)-8bt9t)

Returns true for each element that is finite in a vector.

[`isinf(_:)`](/documentation/simd/isinf(_:)-77t4f)

Returns true for each element that is infinite in a vector.

[`isnan(_:)`](/documentation/simd/isnan(_:)-3ek5k)

Returns true for each element that is not a number (NaN) in a vector.

[`isnormal(_:)`](/documentation/simd/isnormal(_:)-86aj9)

Returns true for each element that is normal in a vector.



---

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)