# DirectXMath Library quaternion functions

Lists the quaternion functions provided by DirectXMath.

## In this section

Topic Description
XMQuaternionBaryCentric
Returns a point in barycentric coordinates, using the specified quaternions.
XMQuaternionBaryCentricV
Returns a point in barycentric coordinates, using the specified quaternions.
XMQuaternionConjugate
Computes the conjugate of a quaternion.
XMQuaternionDot
Computes the dot product of two quaternions.
XMQuaternionEqual
Tests whether two quaternions are equal.
XMQuaternionExp
Computes the exponential of a given pure quaternion.
XMQuaternionIdentity
Returns the identity quaternion.
XMQuaternionInverse
Computes the inverse of a quaternion.
XMQuaternionIsIdentity
Tests whether a specific quaternion is the identity quaternion.
XMQuaternionIsInfinite
Test whether any component of a quaternion is either positive or negative infinity.
XMQuaternionIsNaN
Test whether any component of a quaternion is a NaN.
XMQuaternionLength
Computes the magnitude of a quaternion.
XMQuaternionLengthSq
Computes the square of the magnitude of a quaternion.
XMQuaternionLn
Computes the natural logarithm of a given unit quaternion.
XMQuaternionMultiply
Computes the product of two quaternions.
XMQuaternionNormalize
Normalizes a quaternion.
XMQuaternionNormalizeEst
Estimates the normalized version of a quaternion.
XMQuaternionNotEqual
Tests whether two quaternions are not equal.
XMQuaternionReciprocalLength
Computes the reciprocal of the magnitude of a quaternion.
XMQuaternionRotationAxis
Computes a rotation quaternion about an axis.
XMQuaternionRotationMatrix
Computes a rotation quaternion from a rotation matrix.
XMQuaternionRotationNormal
Computes the rotation quaternion about a normal vector.
XMQuaternionRotationRollPitchYaw
Computes a rotation quaternion based on the pitch, yaw, and roll (Euler angles).
XMQuaternionRotationRollPitchYawFromVector
Computes a rotation quaternion based on a vector containing the Euler angles (pitch, yaw, and roll).
XMQuaternionSlerp
Interpolates between two unit quaternions, using spherical linear interpolation.
XMQuaternionSlerpV
Interpolates between two unit quaternions, using spherical linear interpolation.
Interpolates between four unit quaternions, using spherical quadrangle interpolation.