Crate na[][src]

Modules

base

[Reexported at the root of this crate.] Data structures for vector and matrix computations.

geometry

[Reexported at the root of this crate.] Data structures for points and usual transformations (rotations, isometries, etc.)

linalg

[Reexported at the root of this crate.] Factorization of real matrices.

traits

Macros

pnt2
pnt3
pnt4
vec2
vec3
vec4

Structs

Additive

The addition operator, commonly symbolized by +.

Id

The universal identity element wrt. a given operator, usually noted Id with a context-dependent subscript.

Multiplicative

The multiplication operator, commonly symbolized by ×.

Traits

AsMat
AsPnt
AsVec
BaseInt
BaseNum
FastDot
FastInverse
FastMul
FloatPnt

Trait of vector with components implementing the BaseFloat trait.

FloatVec

Trait of vector with components implementing the BaseFloat trait.

Identity

A type that is equipped with identity.

NumPnt

Trait grouping most common operations on vectors.

NumVec

Trait grouping most common operations on vectors.

Real

Trait shared by all reals.

Storage

The trait shared by all matrix data storage.

StorageMut

Trait implemented by matrix data storage that can provide a mutable access to its elements.

Swizzles2
Swizzles3
Swizzles4
Swizzles2Mut
Swizzles3Mut
Swizzles4Mut
ToMat
ToPnt
ToVec

Functions

abs

The absolute value of a.

angle

Computes the smallest angle between two vectors.

center

The center of two points.

clamp

Returns a reference to the input value clamped to the interval [min, max].

convert

Converts an object from one type to an equivalent or more general one.

convert_ref

Converts an object from one type to an equivalent or more general one.

convert_ref_unchecked

Use with care! Same as try_convert but without any property checks.

convert_unchecked

Use with care! Same as try_convert but without any property checks.

dimension

The dimension of the given algebraic entity seen as a vector space.

distance

The distance between two points.

distance_squared

The squared distance between two points.

dot

Computes the dot product of two vectors.

id

Gets the ubiquitous multiplicative identity element.

inf

Returns the infimum of a and b.

inf_sup

Returns simultaneously the infimum and supremum of a and b.

inverse

Computes the multiplicative inverse of an (always invertible) algebraic entity.

is_convertible

Indicates if ::try_convert will succeed without actually performing the conversion.

magnitude

A synonym function for norm() aka length.

magnitude_squared

A synonym function for norm_squared() aka length squared.

max

Same as cmp::max.

min

Same as cmp::min.

norm

Computes the L2 (euclidean) norm of a vector.

norm_squared

Computes the squared L2 (euclidean) norm of the vector v.

normalize

Computes the normalized version of the vector v.

one

Gets the multiplicative identity element.

origin

Gets the origin of the given point.

partial_clamp

Clamp value between min and max. Returns None if value is not comparable to min or max.

partial_cmp

Compare a and b using a partial ordering relation.

partial_ge

Returns true iff a and b are comparable and a >= b.

partial_gt

Returns true iff a and b are comparable and a > b.

partial_le

Returns true iff a and b are comparable and a <= b.

partial_lt

Returns true iff a and b are comparable and a < b.

partial_max

Return the maximum of a and b if they are comparable.

partial_min

Return the minimum of a and b if they are comparable.

partial_sort2

Sorts two values in increasing order using a partial ordering.

pnt2
pnt3
pnt4
pnt5
pnt6
sup

Returns the supremum of a and b.

try_convert

Attempts to convert an object to a more specific one.

try_convert_ref

Attempts to convert an object to a more specific one.

try_inverse

Tries to gets an inverted copy of a square matrix.

try_normalize

Computes the normalized version of the vector v or returns None if its norm is smaller than min_norm.

vec2
vec3
vec4
vec5
vec6
wrap

Wraps val into the range [min, max] using modular arithmetics.

zero

Gets the additive identity element.

Type Definitions

Mat1
Mat2
Mat3
Mat4
Mat5
Mat6
Pnt1
Pnt2
Pnt3
Pnt4
Pnt5
Pnt6
Quat
UnitQuat
Vec1
Vec2
Vec3
Vec4
Vec5
Vec6
VecN