# destack:math

`import destack:math`

## Classes

- [BigInt](/docs/language/standard-library/modules/math/class/big-int/) — Arbitrary-precision integer.
- [Math](/docs/language/standard-library/modules/math/class/math/) — Floating point math functions and constants.
- [Number](/docs/language/standard-library/modules/math/class/number/) — Number constants and parsing functions.

## Structs

- [Complex](/docs/language/standard-library/modules/math/struct/complex/) — Complex number with floating-point components.
- [Matrix2](/docs/language/standard-library/modules/math/struct/matrix2/) — Two-by-two matrix in row-major field order.
- [Matrix3](/docs/language/standard-library/modules/math/struct/matrix3/) — Three-by-three matrix in row-major field order.
- [Matrix4](/docs/language/standard-library/modules/math/struct/matrix4/) — Four-by-four matrix in row-major field order.
- [Quaternion](/docs/language/standard-library/modules/math/struct/quaternion/) — Quaternion rotation value.
- [Vector2](/docs/language/standard-library/modules/math/struct/vector2/) — Two-dimensional vector.
- [Vector3](/docs/language/standard-library/modules/math/struct/vector3/) — Three-dimensional vector.
- [Vector4](/docs/language/standard-library/modules/math/struct/vector4/) — Four-dimensional vector.

## Newtypes

- [Vector](/docs/language/standard-library/modules/math/newtype/vector/) — Fixed-width vector type.
- [Wrapping](/docs/language/standard-library/modules/math/newtype/wrapping/) — Integer wrapper whose operators use modular arithmetic.

## Newtype interfaces

- [Float](/docs/language/standard-library/modules/math/newtype-interface/float/) — Marker for the builtin float formats of any width.
- [FloatDomain](/docs/language/standard-library/modules/math/newtype-interface/float-domain/) — Marker for float literals and builtin float types.
- [Integer](/docs/language/standard-library/modules/math/newtype-interface/integer/) — Marker for the builtin integer types of any width.
- [IntegerDomain](/docs/language/standard-library/modules/math/newtype-interface/integer-domain/) — Marker for integer literals, intervals, and builtin integer types.
- [One](/docs/language/standard-library/modules/math/newtype-interface/one/) — Numeric type with a multiplicative identity.
- [Zero](/docs/language/standard-library/modules/math/newtype-interface/zero/) — Numeric type with an additive identity.

## Type aliases

- [Complexd](/docs/language/standard-library/modules/math/type-alias/complexd/) — Double-precision complex number.
- [Complexf](/docs/language/standard-library/modules/math/type-alias/complexf/) — Single-precision complex number.
- [LaneCount](/docs/language/standard-library/modules/math/type-alias/lane-count/) — Return the number of lanes in Vector<T, N>.
- [LaneOf](/docs/language/standard-library/modules/math/type-alias/lane-of/) — Return the element type in Vector<T, N>.
- [Mask](/docs/language/standard-library/modules/math/type-alias/mask/) — Vector mask type.
- [Matrix2d](/docs/language/standard-library/modules/math/type-alias/matrix2d/) — Two-by-two double-precision matrix.
- [Matrix2f](/docs/language/standard-library/modules/math/type-alias/matrix2f/) — Two-by-two single-precision matrix.
- [Matrix2i](/docs/language/standard-library/modules/math/type-alias/matrix2i/) — Two-by-two signed integer matrix.
- [Matrix3d](/docs/language/standard-library/modules/math/type-alias/matrix3d/) — Three-by-three double-precision matrix.
- [Matrix3f](/docs/language/standard-library/modules/math/type-alias/matrix3f/) — Three-by-three single-precision matrix.
- [Matrix3i](/docs/language/standard-library/modules/math/type-alias/matrix3i/) — Three-by-three signed integer matrix.
- [Matrix4d](/docs/language/standard-library/modules/math/type-alias/matrix4d/) — Four-by-four double-precision matrix.
- [Matrix4f](/docs/language/standard-library/modules/math/type-alias/matrix4f/) — Four-by-four single-precision matrix.
- [Matrix4i](/docs/language/standard-library/modules/math/type-alias/matrix4i/) — Four-by-four signed integer matrix.
- [NumberFormatOptions](/docs/language/standard-library/modules/math/type-alias/number-format-options/) — Number locale formatting options.
- [Numeric](/docs/language/standard-library/modules/math/type-alias/numeric/) — Any sized machine scalar, excluding bigint.
- [NumericDomain](/docs/language/standard-library/modules/math/type-alias/numeric-domain/) — Any numeric literal, interval, or sized machine scalar, excluding bigint.
- [Quaterniond](/docs/language/standard-library/modules/math/type-alias/quaterniond/) — Double-precision quaternion.
- [Quaternionf](/docs/language/standard-library/modules/math/type-alias/quaternionf/) — Single-precision quaternion.
- [Unsigned](/docs/language/standard-library/modules/math/type-alias/unsigned/) — The unsigned builtin integer type with the same width as T.
- [Vector2d](/docs/language/standard-library/modules/math/type-alias/vector2d/) — Two-dimensional double-precision vector.
- [Vector2f](/docs/language/standard-library/modules/math/type-alias/vector2f/) — Two-dimensional single-precision vector.
- [Vector2i](/docs/language/standard-library/modules/math/type-alias/vector2i/) — Two-dimensional signed integer vector.
- [Vector3d](/docs/language/standard-library/modules/math/type-alias/vector3d/) — Three-dimensional double-precision vector.
- [Vector3f](/docs/language/standard-library/modules/math/type-alias/vector3f/) — Three-dimensional single-precision vector.
- [Vector3i](/docs/language/standard-library/modules/math/type-alias/vector3i/) — Three-dimensional signed integer vector.
- [Vector4d](/docs/language/standard-library/modules/math/type-alias/vector4d/) — Four-dimensional double-precision vector.
- [Vector4f](/docs/language/standard-library/modules/math/type-alias/vector4f/) — Four-dimensional single-precision vector.
- [Vector4i](/docs/language/standard-library/modules/math/type-alias/vector4i/) — Four-dimensional signed integer vector.

## Functions

- [convert](/docs/language/standard-library/modules/math/function/convert/) — Convert vector lanes to U.
- [equal](/docs/language/standard-library/modules/math/function/equal/) — Return a lane mask for equality.
- [extract](/docs/language/standard-library/modules/math/function/extract/) — Return the lane at index.
- [greater](/docs/language/standard-library/modules/math/function/greater/) — Return a lane mask for greater-than comparison.
- [greaterEqual](/docs/language/standard-library/modules/math/function/greater-equal/) — Return a lane mask for greater-than-or-equal comparison.
- [insert](/docs/language/standard-library/modules/math/function/insert/) — Return a vector with one lane replaced.
- [less](/docs/language/standard-library/modules/math/function/less/) — Return a lane mask for less-than comparison.
- [lessEqual](/docs/language/standard-library/modules/math/function/less-equal/) — Return a lane mask for less-than-or-equal comparison.
- [load](/docs/language/standard-library/modules/math/function/load/) — Load N contiguous values from source.
- [notEqual](/docs/language/standard-library/modules/math/function/not-equal/) — Return a lane mask for inequality.
- [reduceAdd](/docs/language/standard-library/modules/math/function/reduce-add/) — Horizontal reduction: sum all lanes.
- [reduceAnd](/docs/language/standard-library/modules/math/function/reduce-and/) — Horizontal reduction: bitwise AND of all lanes.
- [reduceMax](/docs/language/standard-library/modules/math/function/reduce-max/) — Horizontal reduction: maximum of all lanes.
- [reduceMin](/docs/language/standard-library/modules/math/function/reduce-min/) — Horizontal reduction: minimum of all lanes.
- [reduceMul](/docs/language/standard-library/modules/math/function/reduce-mul/) — Horizontal reduction: multiply all lanes.
- [reduceOr](/docs/language/standard-library/modules/math/function/reduce-or/) — Horizontal reduction: bitwise OR of all lanes.
- [reduceXor](/docs/language/standard-library/modules/math/function/reduce-xor/) — Horizontal reduction: bitwise XOR of all lanes.
- [select](/docs/language/standard-library/modules/math/function/select/) — Per-lane conditional select.
- [shuffle](/docs/language/standard-library/modules/math/function/shuffle/) — Shuffle vector lanes.
- [splat](/docs/language/standard-library/modules/math/function/splat/) — Broadcast scalar to all lanes.
- [store](/docs/language/standard-library/modules/math/function/store/) — Store value into destination.

## Constants

- [Infinity](/docs/language/standard-library/modules/math/constant/infinity/) — The positive float infinity.
- [NaN](/docs/language/standard-library/modules/math/constant/na-n/) — The float not-a-number value.

## Extensions

- [Arithmetic](/docs/language/standard-library/modules/math/extension/arithmetic/) — Explicit overflow behaviors for builtin integer arithmetic.
- [Cast](/docs/language/standard-library/modules/math/extension/cast/) — Explicit lossy conversions between builtin integer types.
