A collection of commonly used items that we recommend importing for ease of use.
RGB types, spaces and standards.
Describes a Buffer when allocating.
Linear HSL color space.
Linear HSV color space.
Identifier of a window. Unique for each window.
Symbolic name for a keyboard key.
Describes a button of a mouse controller.
Describes a difference in the mouse scroll wheel state.
Describes touch-screen input state.
Angles and their associated trigonometric functions.
An array containing elements of type
A generic interface for casting between machine scalars with the
Numbers which have upper and lower bounds
Performs addition that returns
Performs division that returns
Performs multiplication that returns
Performs negation that returns
Performs an integral remainder that returns
Performs a left shift that returns
Performs a right shift that returns
Performs subtraction that returns
Utility methods not meant to be in the main API.
Element-wise arithmetic operations. These are supplied for pragmatic reasons, but will usually fall outside of traditional algebraic properties.
Points in a Euclidean space with an associated space of displacement vectors.
Generic trait for floating point numbers
A generic trait for converting a number to a value.
Unary operator for retrieving the multiplicative inverse, or reciprocal, of a value.
A column-major matrix of arbitrary dimensions.
A type with a distance function between values.
Fused multiply-add. Computes
The fused multiply-add assignment operation.
The base trait for numeric types, covering
The trait for
The trait for types implementing numeric assignment operators (like
The trait for
An interface for casting between machine scalars.
The trait for types implementing basic numeric operations
The trait for
Defines a multiplicative identity element for
Binary operator for raising a value to a power.
Generic trait for primitive integers.
The trait for references which implement numeric operations, taking the second operand either by value or by reference.
A trait for a generic rotation. A rotation is a transformation that creates a circular motion, and preserves at least one point in the space.
A two-dimensional rotation.
A three-dimensional rotation.
Saturating math operations. Deprecated, use
Performs addition that saturates at the numeric bounds instead of overflowing.
Performs multiplication that saturates at the numeric bounds instead of overflowing.
Performs subtraction that saturates at the numeric bounds instead of overflowing.
Useful functions for signed numbers (i.e. numbers that can be negative).
A column-major major matrix where the rows and column vectors are of the same dimensions.
A generic trait for converting a value to a number.
A trait representing an affine transformation that can be applied to points or vectors. An affine transformation is one which
A trait for values which cannot be negative
Performs addition that wraps around on overflow.
Performs multiplication that wraps around on overflow.
Performs a negation that does not panic.
Performs a left shift that does not panic.
Performs a right shift that does not panic.
Performs subtraction that wraps around on overflow.
Defines an additive identity element for
Computes the absolute value.
The positive difference of two numbers.
Cast from one machine scalar to another.
Raises a value to the power of exp, returning
A value bounded by a minimum and a maximum
A value bounded by a maximum value
A value bounded by a minimum value
Get a SVG/CSS3 color by name. Can be toggled with the
Returns the multiplicative identity,
Raises a value to the power of exp, using exponentiation by squaring.
Generates a random value using the thread-local random number generator.
Returns the sign of the number.
Returns the additive identity,
Linear HSL with an alpha component. See the
Linear HSV with an alpha component. See the
Linear sRGB with an alpha component.
Nonlinear sRGB with an alpha component.