[][src]Struct aljabar::Vector

#[repr(transparent)]
pub struct Vector<T, const N: usize>(_);

N-element vector.

Vectors can be constructed from arrays of any type and size. There are convenience constructor functions provided for the most common sizes.

This example is not tested
let a: Vector::<u32, 4> = vec4( 0u32, 1, 2, 3 );
assert_eq!(
    a, 
    Vector::<u32, 4>::from([ 0u32, 1, 2, 3 ])
);

Swizzling

Swizzling is supported for up to four elements. Swizzling is a technique for easily rearranging and accessing elements of a vector, used commonly in graphics shader programming. Swizzling is available on vectors whose element type implements Clone.

Single-element accessors return the element itself. Multi-element accessors return vectors of the appropriate size.

Element names

Only the first four elements of a vector may be swizzled. If you have vectors larger than length four and want to manipulate their elements, you must do so manually.

Because swizzling is often used in compute graphics contexts when dealing with colors, both 'xyzw' and 'rgba' element names are available.

Element Indexxyzw Namergba Name
0xr
1yg
2zb
3wa

Restrictions

It is a compilation error to attempt to access an element beyond the bounds of a vector. For example, vec2(1i32, 2).z() would fail because z() is only available on vectors of length 3 or greater.

This example deliberately fails to compile
let z = vec2(1i32, 2).z(); // Fails to compile.

Mixing

Swizzle methods are not implemented for mixed xyzw/rgba methods.

This example is not tested
let v = vec4(1i32, 2, 3, 4);
let xy = v.xy(); // OK, only uses xyzw names.
let ba = v.ba(); // OK, only uses rgba names.
assert_eq!(xy, vec2(1i32, 2));
assert_eq!(ba, vec2(3i32, 4));
This example deliberately fails to compile
let v = vec4(1i32, 2, 3, 4);
let bad = v.xyrg(); // Compile error, mixes xyzw and rgba names.

Examples

To get the first two elements of a 4-vector.

This example is not tested
let v = vec4(1i32, 2, 3, 4).xy();

To get the first and last element of a 4-vector.

This example is not tested
let v = vec4(1i32, 2, 3, 4).xw();

To reverse the order of a 3-vector.

This example is not tested
let v = vec3(1i32, 2, 3).zyx();

To select the first and third elements into the second and fourth elements, respectively.

This example is not tested
let v = vec4(1i32, 2, 3, 4).xxzz();

Methods

impl<T, const N: usize> Vector<T, { N }>[src]

pub fn transpose(self) -> Matrix<T, 1, { N }>[src]

Converts the Vector into a Matrix with N columns each of size 1.

This example is not tested
let v = vec4(1i32, 2, 3, 4);
let m = Matrix::<i32, 1, 4>::from([
    vec1(1i32),
    vec1(2),
    vec1(3),
    vec1(4),
]);
assert_eq!(v.tranpose(), m);

pub fn trunc(self) -> (TruncatedVector<T, { N }>, T)[src]

Drop the last component and return the vector with one fewer dimension.

impl<T, const N: usize> Vector<T, { N }> where
    T: Clone
[src]

pub fn first<const M: usize>(&self) -> Vector<T, { M }>[src]

Returns the first M elements of self in an appropriately sized Vector.

Calling first with M > N is a compile error.

pub fn last<const M: usize>(&self) -> Vector<T, { M }>[src]

Returns the last M elements of self in an appropriately sized Vector.

Calling last with M > N is a compile error.

pub fn x(&self) -> T[src]

Alias for .get(0).clone().

Calling x on a Vector with N = 0 is a compile error.

pub fn y(&self) -> T[src]

Alias for .get(1).clone().

Calling y on a Vector with N < 2 is a compile error.

pub fn z(&self) -> T[src]

Alias for .get(2).clone().

Calling z on a Vector with N < 3 is a compile error.

pub fn w(&self) -> T[src]

Alias for .get(3).clone().

Calling w on a Vector with N < 4 is a compile error.

pub fn r(&self) -> T[src]

Alias for .x().

pub fn g(&self) -> T[src]

Alias for .y().

pub fn b(&self) -> T[src]

Alias for .z().

pub fn a(&self) -> T[src]

Alias for .w().

pub fn xx(&self) -> Vector<T, 2>[src]

pub fn xxx(&self) -> Vector<T, 3>[src]

pub fn xxxx(&self) -> Vector<T, 4>[src]

pub fn xxxy(&self) -> Vector<T, 4>[src]

pub fn xxxz(&self) -> Vector<T, 4>[src]

pub fn xxxw(&self) -> Vector<T, 4>[src]

pub fn xxy(&self) -> Vector<T, 3>[src]

pub fn xxyx(&self) -> Vector<T, 4>[src]

pub fn xxyy(&self) -> Vector<T, 4>[src]

pub fn xxyz(&self) -> Vector<T, 4>[src]

pub fn xxyw(&self) -> Vector<T, 4>[src]

pub fn xxz(&self) -> Vector<T, 3>[src]

pub fn xxzx(&self) -> Vector<T, 4>[src]

pub fn xxzy(&self) -> Vector<T, 4>[src]

pub fn xxzz(&self) -> Vector<T, 4>[src]

pub fn xxzw(&self) -> Vector<T, 4>[src]

pub fn xxw(&self) -> Vector<T, 3>[src]

pub fn xxwx(&self) -> Vector<T, 4>[src]

pub fn xxwy(&self) -> Vector<T, 4>[src]

pub fn xxwz(&self) -> Vector<T, 4>[src]

pub fn xxww(&self) -> Vector<T, 4>[src]

pub fn xy(&self) -> Vector<T, 2>[src]

pub fn xyx(&self) -> Vector<T, 3>[src]

pub fn xyxx(&self) -> Vector<T, 4>[src]

pub fn xyxy(&self) -> Vector<T, 4>[src]

pub fn xyxz(&self) -> Vector<T, 4>[src]

pub fn xyxw(&self) -> Vector<T, 4>[src]

pub fn xyy(&self) -> Vector<T, 3>[src]

pub fn xyyx(&self) -> Vector<T, 4>[src]

pub fn xyyy(&self) -> Vector<T, 4>[src]

pub fn xyyz(&self) -> Vector<T, 4>[src]

pub fn xyyw(&self) -> Vector<T, 4>[src]

pub fn xyz(&self) -> Vector<T, 3>[src]

pub fn xyzx(&self) -> Vector<T, 4>[src]

pub fn xyzy(&self) -> Vector<T, 4>[src]

pub fn xyzz(&self) -> Vector<T, 4>[src]

pub fn xyzw(&self) -> Vector<T, 4>[src]

pub fn xyw(&self) -> Vector<T, 3>[src]

pub fn xywx(&self) -> Vector<T, 4>[src]

pub fn xywy(&self) -> Vector<T, 4>[src]

pub fn xywz(&self) -> Vector<T, 4>[src]

pub fn xyww(&self) -> Vector<T, 4>[src]

pub fn xz(&self) -> Vector<T, 2>[src]

pub fn xzx(&self) -> Vector<T, 3>[src]

pub fn xzxx(&self) -> Vector<T, 4>[src]

pub fn xzxy(&self) -> Vector<T, 4>[src]

pub fn xzxz(&self) -> Vector<T, 4>[src]

pub fn xzxw(&self) -> Vector<T, 4>[src]

pub fn xzy(&self) -> Vector<T, 3>[src]

pub fn xzyx(&self) -> Vector<T, 4>[src]

pub fn xzyy(&self) -> Vector<T, 4>[src]

pub fn xzyz(&self) -> Vector<T, 4>[src]

pub fn xzyw(&self) -> Vector<T, 4>[src]

pub fn xzz(&self) -> Vector<T, 3>[src]

pub fn xzzx(&self) -> Vector<T, 4>[src]

pub fn xzzy(&self) -> Vector<T, 4>[src]

pub fn xzzz(&self) -> Vector<T, 4>[src]

pub fn xzzw(&self) -> Vector<T, 4>[src]

pub fn xzw(&self) -> Vector<T, 3>[src]

pub fn xzwx(&self) -> Vector<T, 4>[src]

pub fn xzwy(&self) -> Vector<T, 4>[src]

pub fn xzwz(&self) -> Vector<T, 4>[src]

pub fn xzww(&self) -> Vector<T, 4>[src]

pub fn xw(&self) -> Vector<T, 2>[src]

pub fn xwx(&self) -> Vector<T, 3>[src]

pub fn xwxx(&self) -> Vector<T, 4>[src]

pub fn xwxy(&self) -> Vector<T, 4>[src]

pub fn xwxz(&self) -> Vector<T, 4>[src]

pub fn xwxw(&self) -> Vector<T, 4>[src]

pub fn xwy(&self) -> Vector<T, 3>[src]

pub fn xwyx(&self) -> Vector<T, 4>[src]

pub fn xwyy(&self) -> Vector<T, 4>[src]

pub fn xwyz(&self) -> Vector<T, 4>[src]

pub fn xwyw(&self) -> Vector<T, 4>[src]

pub fn xwz(&self) -> Vector<T, 3>[src]

pub fn xwzx(&self) -> Vector<T, 4>[src]

pub fn xwzy(&self) -> Vector<T, 4>[src]

pub fn xwzz(&self) -> Vector<T, 4>[src]

pub fn xwzw(&self) -> Vector<T, 4>[src]

pub fn xww(&self) -> Vector<T, 3>[src]

pub fn xwwx(&self) -> Vector<T, 4>[src]

pub fn xwwy(&self) -> Vector<T, 4>[src]

pub fn xwwz(&self) -> Vector<T, 4>[src]

pub fn xwww(&self) -> Vector<T, 4>[src]

pub fn yx(&self) -> Vector<T, 2>[src]

pub fn yxx(&self) -> Vector<T, 3>[src]

pub fn yxxx(&self) -> Vector<T, 4>[src]

pub fn yxxy(&self) -> Vector<T, 4>[src]

pub fn yxxz(&self) -> Vector<T, 4>[src]

pub fn yxxw(&self) -> Vector<T, 4>[src]

pub fn yxy(&self) -> Vector<T, 3>[src]

pub fn yxyx(&self) -> Vector<T, 4>[src]

pub fn yxyy(&self) -> Vector<T, 4>[src]

pub fn yxyz(&self) -> Vector<T, 4>[src]

pub fn yxyw(&self) -> Vector<T, 4>[src]

pub fn yxz(&self) -> Vector<T, 3>[src]

pub fn yxzx(&self) -> Vector<T, 4>[src]

pub fn yxzy(&self) -> Vector<T, 4>[src]

pub fn yxzz(&self) -> Vector<T, 4>[src]

pub fn yxzw(&self) -> Vector<T, 4>[src]

pub fn yxw(&self) -> Vector<T, 3>[src]

pub fn yxwx(&self) -> Vector<T, 4>[src]

pub fn yxwy(&self) -> Vector<T, 4>[src]

pub fn yxwz(&self) -> Vector<T, 4>[src]

pub fn yxww(&self) -> Vector<T, 4>[src]

pub fn yy(&self) -> Vector<T, 2>[src]

pub fn yyx(&self) -> Vector<T, 3>[src]

pub fn yyxx(&self) -> Vector<T, 4>[src]

pub fn yyxy(&self) -> Vector<T, 4>[src]

pub fn yyxz(&self) -> Vector<T, 4>[src]

pub fn yyxw(&self) -> Vector<T, 4>[src]

pub fn yyy(&self) -> Vector<T, 3>[src]

pub fn yyyx(&self) -> Vector<T, 4>[src]

pub fn yyyy(&self) -> Vector<T, 4>[src]

pub fn yyyz(&self) -> Vector<T, 4>[src]

pub fn yyyw(&self) -> Vector<T, 4>[src]

pub fn yyz(&self) -> Vector<T, 3>[src]

pub fn yyzx(&self) -> Vector<T, 4>[src]

pub fn yyzy(&self) -> Vector<T, 4>[src]

pub fn yyzz(&self) -> Vector<T, 4>[src]

pub fn yyzw(&self) -> Vector<T, 4>[src]

pub fn yyw(&self) -> Vector<T, 3>[src]

pub fn yywx(&self) -> Vector<T, 4>[src]

pub fn yywy(&self) -> Vector<T, 4>[src]

pub fn yywz(&self) -> Vector<T, 4>[src]

pub fn yyww(&self) -> Vector<T, 4>[src]

pub fn yz(&self) -> Vector<T, 2>[src]

pub fn yzx(&self) -> Vector<T, 3>[src]

pub fn yzxx(&self) -> Vector<T, 4>[src]

pub fn yzxy(&self) -> Vector<T, 4>[src]

pub fn yzxz(&self) -> Vector<T, 4>[src]

pub fn yzxw(&self) -> Vector<T, 4>[src]

pub fn yzy(&self) -> Vector<T, 3>[src]

pub fn yzyx(&self) -> Vector<T, 4>[src]

pub fn yzyy(&self) -> Vector<T, 4>[src]

pub fn yzyz(&self) -> Vector<T, 4>[src]

pub fn yzyw(&self) -> Vector<T, 4>[src]

pub fn yzz(&self) -> Vector<T, 3>[src]

pub fn yzzx(&self) -> Vector<T, 4>[src]

pub fn yzzy(&self) -> Vector<T, 4>[src]

pub fn yzzz(&self) -> Vector<T, 4>[src]

pub fn yzzw(&self) -> Vector<T, 4>[src]

pub fn yzw(&self) -> Vector<T, 3>[src]

pub fn yzwx(&self) -> Vector<T, 4>[src]

pub fn yzwy(&self) -> Vector<T, 4>[src]

pub fn yzwz(&self) -> Vector<T, 4>[src]

pub fn yzww(&self) -> Vector<T, 4>[src]

pub fn yw(&self) -> Vector<T, 2>[src]

pub fn ywx(&self) -> Vector<T, 3>[src]

pub fn ywxx(&self) -> Vector<T, 4>[src]

pub fn ywxy(&self) -> Vector<T, 4>[src]

pub fn ywxz(&self) -> Vector<T, 4>[src]

pub fn ywxw(&self) -> Vector<T, 4>[src]

pub fn ywy(&self) -> Vector<T, 3>[src]

pub fn ywyx(&self) -> Vector<T, 4>[src]

pub fn ywyy(&self) -> Vector<T, 4>[src]

pub fn ywyz(&self) -> Vector<T, 4>[src]

pub fn ywyw(&self) -> Vector<T, 4>[src]

pub fn ywz(&self) -> Vector<T, 3>[src]

pub fn ywzx(&self) -> Vector<T, 4>[src]

pub fn ywzy(&self) -> Vector<T, 4>[src]

pub fn ywzz(&self) -> Vector<T, 4>[src]

pub fn ywzw(&self) -> Vector<T, 4>[src]

pub fn yww(&self) -> Vector<T, 3>[src]

pub fn ywwx(&self) -> Vector<T, 4>[src]

pub fn ywwy(&self) -> Vector<T, 4>[src]

pub fn ywwz(&self) -> Vector<T, 4>[src]

pub fn ywww(&self) -> Vector<T, 4>[src]

pub fn zx(&self) -> Vector<T, 2>[src]

pub fn zxx(&self) -> Vector<T, 3>[src]

pub fn zxxx(&self) -> Vector<T, 4>[src]

pub fn zxxy(&self) -> Vector<T, 4>[src]

pub fn zxxz(&self) -> Vector<T, 4>[src]

pub fn zxxw(&self) -> Vector<T, 4>[src]

pub fn zxy(&self) -> Vector<T, 3>[src]

pub fn zxyx(&self) -> Vector<T, 4>[src]

pub fn zxyy(&self) -> Vector<T, 4>[src]

pub fn zxyz(&self) -> Vector<T, 4>[src]

pub fn zxyw(&self) -> Vector<T, 4>[src]

pub fn zxz(&self) -> Vector<T, 3>[src]

pub fn zxzx(&self) -> Vector<T, 4>[src]

pub fn zxzy(&self) -> Vector<T, 4>[src]

pub fn zxzz(&self) -> Vector<T, 4>[src]

pub fn zxzw(&self) -> Vector<T, 4>[src]

pub fn zxw(&self) -> Vector<T, 3>[src]

pub fn zxwx(&self) -> Vector<T, 4>[src]

pub fn zxwy(&self) -> Vector<T, 4>[src]

pub fn zxwz(&self) -> Vector<T, 4>[src]

pub fn zxww(&self) -> Vector<T, 4>[src]

pub fn zy(&self) -> Vector<T, 2>[src]

pub fn zyx(&self) -> Vector<T, 3>[src]

pub fn zyxx(&self) -> Vector<T, 4>[src]

pub fn zyxy(&self) -> Vector<T, 4>[src]

pub fn zyxz(&self) -> Vector<T, 4>[src]

pub fn zyxw(&self) -> Vector<T, 4>[src]

pub fn zyy(&self) -> Vector<T, 3>[src]

pub fn zyyx(&self) -> Vector<T, 4>[src]

pub fn zyyy(&self) -> Vector<T, 4>[src]

pub fn zyyz(&self) -> Vector<T, 4>[src]

pub fn zyyw(&self) -> Vector<T, 4>[src]

pub fn zyz(&self) -> Vector<T, 3>[src]

pub fn zyzx(&self) -> Vector<T, 4>[src]

pub fn zyzy(&self) -> Vector<T, 4>[src]

pub fn zyzz(&self) -> Vector<T, 4>[src]

pub fn zyzw(&self) -> Vector<T, 4>[src]

pub fn zyw(&self) -> Vector<T, 3>[src]

pub fn zywx(&self) -> Vector<T, 4>[src]

pub fn zywy(&self) -> Vector<T, 4>[src]

pub fn zywz(&self) -> Vector<T, 4>[src]

pub fn zyww(&self) -> Vector<T, 4>[src]

pub fn zz(&self) -> Vector<T, 2>[src]

pub fn zzx(&self) -> Vector<T, 3>[src]

pub fn zzxx(&self) -> Vector<T, 4>[src]

pub fn zzxy(&self) -> Vector<T, 4>[src]

pub fn zzxz(&self) -> Vector<T, 4>[src]

pub fn zzxw(&self) -> Vector<T, 4>[src]

pub fn zzy(&self) -> Vector<T, 3>[src]

pub fn zzyx(&self) -> Vector<T, 4>[src]

pub fn zzyy(&self) -> Vector<T, 4>[src]

pub fn zzyz(&self) -> Vector<T, 4>[src]

pub fn zzyw(&self) -> Vector<T, 4>[src]

pub fn zzz(&self) -> Vector<T, 3>[src]

pub fn zzzx(&self) -> Vector<T, 4>[src]

pub fn zzzy(&self) -> Vector<T, 4>[src]

pub fn zzzz(&self) -> Vector<T, 4>[src]

pub fn zzzw(&self) -> Vector<T, 4>[src]

pub fn zzw(&self) -> Vector<T, 3>[src]

pub fn zzwx(&self) -> Vector<T, 4>[src]

pub fn zzwy(&self) -> Vector<T, 4>[src]

pub fn zzwz(&self) -> Vector<T, 4>[src]

pub fn zzww(&self) -> Vector<T, 4>[src]

pub fn zw(&self) -> Vector<T, 2>[src]

pub fn zwx(&self) -> Vector<T, 3>[src]

pub fn zwxx(&self) -> Vector<T, 4>[src]

pub fn zwxy(&self) -> Vector<T, 4>[src]

pub fn zwxz(&self) -> Vector<T, 4>[src]

pub fn zwxw(&self) -> Vector<T, 4>[src]

pub fn zwy(&self) -> Vector<T, 3>[src]

pub fn zwyx(&self) -> Vector<T, 4>[src]

pub fn zwyy(&self) -> Vector<T, 4>[src]

pub fn zwyz(&self) -> Vector<T, 4>[src]

pub fn zwyw(&self) -> Vector<T, 4>[src]

pub fn zwz(&self) -> Vector<T, 3>[src]

pub fn zwzx(&self) -> Vector<T, 4>[src]

pub fn zwzy(&self) -> Vector<T, 4>[src]

pub fn zwzz(&self) -> Vector<T, 4>[src]

pub fn zwzw(&self) -> Vector<T, 4>[src]

pub fn zww(&self) -> Vector<T, 3>[src]

pub fn zwwx(&self) -> Vector<T, 4>[src]

pub fn zwwy(&self) -> Vector<T, 4>[src]

pub fn zwwz(&self) -> Vector<T, 4>[src]

pub fn zwww(&self) -> Vector<T, 4>[src]

pub fn wx(&self) -> Vector<T, 2>[src]

pub fn wxx(&self) -> Vector<T, 3>[src]

pub fn wxxx(&self) -> Vector<T, 4>[src]

pub fn wxxy(&self) -> Vector<T, 4>[src]

pub fn wxxz(&self) -> Vector<T, 4>[src]

pub fn wxxw(&self) -> Vector<T, 4>[src]

pub fn wxy(&self) -> Vector<T, 3>[src]

pub fn wxyx(&self) -> Vector<T, 4>[src]

pub fn wxyy(&self) -> Vector<T, 4>[src]

pub fn wxyz(&self) -> Vector<T, 4>[src]

pub fn wxyw(&self) -> Vector<T, 4>[src]

pub fn wxz(&self) -> Vector<T, 3>[src]

pub fn wxzx(&self) -> Vector<T, 4>[src]

pub fn wxzy(&self) -> Vector<T, 4>[src]

pub fn wxzz(&self) -> Vector<T, 4>[src]

pub fn wxzw(&self) -> Vector<T, 4>[src]

pub fn wxw(&self) -> Vector<T, 3>[src]

pub fn wxwx(&self) -> Vector<T, 4>[src]

pub fn wxwy(&self) -> Vector<T, 4>[src]

pub fn wxwz(&self) -> Vector<T, 4>[src]

pub fn wxww(&self) -> Vector<T, 4>[src]

pub fn wy(&self) -> Vector<T, 2>[src]

pub fn wyx(&self) -> Vector<T, 3>[src]

pub fn wyxx(&self) -> Vector<T, 4>[src]

pub fn wyxy(&self) -> Vector<T, 4>[src]

pub fn wyxz(&self) -> Vector<T, 4>[src]

pub fn wyxw(&self) -> Vector<T, 4>[src]

pub fn wyy(&self) -> Vector<T, 3>[src]

pub fn wyyx(&self) -> Vector<T, 4>[src]

pub fn wyyy(&self) -> Vector<T, 4>[src]

pub fn wyyz(&self) -> Vector<T, 4>[src]

pub fn wyyw(&self) -> Vector<T, 4>[src]

pub fn wyz(&self) -> Vector<T, 3>[src]

pub fn wyzx(&self) -> Vector<T, 4>[src]

pub fn wyzy(&self) -> Vector<T, 4>[src]

pub fn wyzz(&self) -> Vector<T, 4>[src]

pub fn wyzw(&self) -> Vector<T, 4>[src]

pub fn wyw(&self) -> Vector<T, 3>[src]

pub fn wywx(&self) -> Vector<T, 4>[src]

pub fn wywy(&self) -> Vector<T, 4>[src]

pub fn wywz(&self) -> Vector<T, 4>[src]

pub fn wyww(&self) -> Vector<T, 4>[src]

pub fn wz(&self) -> Vector<T, 2>[src]

pub fn wzx(&self) -> Vector<T, 3>[src]

pub fn wzxx(&self) -> Vector<T, 4>[src]

pub fn wzxy(&self) -> Vector<T, 4>[src]

pub fn wzxz(&self) -> Vector<T, 4>[src]

pub fn wzxw(&self) -> Vector<T, 4>[src]

pub fn wzy(&self) -> Vector<T, 3>[src]

pub fn wzyx(&self) -> Vector<T, 4>[src]

pub fn wzyy(&self) -> Vector<T, 4>[src]

pub fn wzyz(&self) -> Vector<T, 4>[src]

pub fn wzyw(&self) -> Vector<T, 4>[src]

pub fn wzz(&self) -> Vector<T, 3>[src]

pub fn wzzx(&self) -> Vector<T, 4>[src]

pub fn wzzy(&self) -> Vector<T, 4>[src]

pub fn wzzz(&self) -> Vector<T, 4>[src]

pub fn wzzw(&self) -> Vector<T, 4>[src]

pub fn wzw(&self) -> Vector<T, 3>[src]

pub fn wzwx(&self) -> Vector<T, 4>[src]

pub fn wzwy(&self) -> Vector<T, 4>[src]

pub fn wzwz(&self) -> Vector<T, 4>[src]

pub fn wzww(&self) -> Vector<T, 4>[src]

pub fn ww(&self) -> Vector<T, 2>[src]

pub fn wwx(&self) -> Vector<T, 3>[src]

pub fn wwxx(&self) -> Vector<T, 4>[src]

pub fn wwxy(&self) -> Vector<T, 4>[src]

pub fn wwxz(&self) -> Vector<T, 4>[src]

pub fn wwxw(&self) -> Vector<T, 4>[src]

pub fn wwy(&self) -> Vector<T, 3>[src]

pub fn wwyx(&self) -> Vector<T, 4>[src]

pub fn wwyy(&self) -> Vector<T, 4>[src]

pub fn wwyz(&self) -> Vector<T, 4>[src]

pub fn wwyw(&self) -> Vector<T, 4>[src]

pub fn wwz(&self) -> Vector<T, 3>[src]

pub fn wwzx(&self) -> Vector<T, 4>[src]

pub fn wwzy(&self) -> Vector<T, 4>[src]

pub fn wwzz(&self) -> Vector<T, 4>[src]

pub fn wwzw(&self) -> Vector<T, 4>[src]

pub fn www(&self) -> Vector<T, 3>[src]

pub fn wwwx(&self) -> Vector<T, 4>[src]

pub fn wwwy(&self) -> Vector<T, 4>[src]

pub fn wwwz(&self) -> Vector<T, 4>[src]

pub fn wwww(&self) -> Vector<T, 4>[src]

pub fn rr(&self) -> Vector<T, 2>[src]

pub fn rrr(&self) -> Vector<T, 3>[src]

pub fn rrrr(&self) -> Vector<T, 4>[src]

pub fn rrrg(&self) -> Vector<T, 4>[src]

pub fn rrrb(&self) -> Vector<T, 4>[src]

pub fn rrra(&self) -> Vector<T, 4>[src]

pub fn rrg(&self) -> Vector<T, 3>[src]

pub fn rrgr(&self) -> Vector<T, 4>[src]

pub fn rrgg(&self) -> Vector<T, 4>[src]

pub fn rrgb(&self) -> Vector<T, 4>[src]

pub fn rrga(&self) -> Vector<T, 4>[src]

pub fn rrb(&self) -> Vector<T, 3>[src]

pub fn rrbr(&self) -> Vector<T, 4>[src]

pub fn rrbg(&self) -> Vector<T, 4>[src]

pub fn rrbb(&self) -> Vector<T, 4>[src]

pub fn rrba(&self) -> Vector<T, 4>[src]

pub fn rra(&self) -> Vector<T, 3>[src]

pub fn rrar(&self) -> Vector<T, 4>[src]

pub fn rrag(&self) -> Vector<T, 4>[src]

pub fn rrab(&self) -> Vector<T, 4>[src]

pub fn rraa(&self) -> Vector<T, 4>[src]

pub fn rg(&self) -> Vector<T, 2>[src]

pub fn rgr(&self) -> Vector<T, 3>[src]

pub fn rgrr(&self) -> Vector<T, 4>[src]

pub fn rgrg(&self) -> Vector<T, 4>[src]

pub fn rgrb(&self) -> Vector<T, 4>[src]

pub fn rgra(&self) -> Vector<T, 4>[src]

pub fn rgg(&self) -> Vector<T, 3>[src]

pub fn rggr(&self) -> Vector<T, 4>[src]

pub fn rggg(&self) -> Vector<T, 4>[src]

pub fn rggb(&self) -> Vector<T, 4>[src]

pub fn rgga(&self) -> Vector<T, 4>[src]

pub fn rgb(&self) -> Vector<T, 3>[src]

pub fn rgbr(&self) -> Vector<T, 4>[src]

pub fn rgbg(&self) -> Vector<T, 4>[src]

pub fn rgbb(&self) -> Vector<T, 4>[src]

pub fn rgba(&self) -> Vector<T, 4>[src]

pub fn rga(&self) -> Vector<T, 3>[src]

pub fn rgar(&self) -> Vector<T, 4>[src]

pub fn rgag(&self) -> Vector<T, 4>[src]

pub fn rgab(&self) -> Vector<T, 4>[src]

pub fn rgaa(&self) -> Vector<T, 4>[src]

pub fn rb(&self) -> Vector<T, 2>[src]

pub fn rbr(&self) -> Vector<T, 3>[src]

pub fn rbrr(&self) -> Vector<T, 4>[src]

pub fn rbrg(&self) -> Vector<T, 4>[src]

pub fn rbrb(&self) -> Vector<T, 4>[src]

pub fn rbra(&self) -> Vector<T, 4>[src]

pub fn rbg(&self) -> Vector<T, 3>[src]

pub fn rbgr(&self) -> Vector<T, 4>[src]

pub fn rbgg(&self) -> Vector<T, 4>[src]

pub fn rbgb(&self) -> Vector<T, 4>[src]

pub fn rbga(&self) -> Vector<T, 4>[src]

pub fn rbb(&self) -> Vector<T, 3>[src]

pub fn rbbr(&self) -> Vector<T, 4>[src]

pub fn rbbg(&self) -> Vector<T, 4>[src]

pub fn rbbb(&self) -> Vector<T, 4>[src]

pub fn rbba(&self) -> Vector<T, 4>[src]

pub fn rba(&self) -> Vector<T, 3>[src]

pub fn rbar(&self) -> Vector<T, 4>[src]

pub fn rbag(&self) -> Vector<T, 4>[src]

pub fn rbab(&self) -> Vector<T, 4>[src]

pub fn rbaa(&self) -> Vector<T, 4>[src]

pub fn ra(&self) -> Vector<T, 2>[src]

pub fn rar(&self) -> Vector<T, 3>[src]

pub fn rarr(&self) -> Vector<T, 4>[src]

pub fn rarg(&self) -> Vector<T, 4>[src]

pub fn rarb(&self) -> Vector<T, 4>[src]

pub fn rara(&self) -> Vector<T, 4>[src]

pub fn rag(&self) -> Vector<T, 3>[src]

pub fn ragr(&self) -> Vector<T, 4>[src]

pub fn ragg(&self) -> Vector<T, 4>[src]

pub fn ragb(&self) -> Vector<T, 4>[src]

pub fn raga(&self) -> Vector<T, 4>[src]

pub fn rab(&self) -> Vector<T, 3>[src]

pub fn rabr(&self) -> Vector<T, 4>[src]

pub fn rabg(&self) -> Vector<T, 4>[src]

pub fn rabb(&self) -> Vector<T, 4>[src]

pub fn raba(&self) -> Vector<T, 4>[src]

pub fn raa(&self) -> Vector<T, 3>[src]

pub fn raar(&self) -> Vector<T, 4>[src]

pub fn raag(&self) -> Vector<T, 4>[src]

pub fn raab(&self) -> Vector<T, 4>[src]

pub fn raaa(&self) -> Vector<T, 4>[src]

pub fn gr(&self) -> Vector<T, 2>[src]

pub fn grr(&self) -> Vector<T, 3>[src]

pub fn grrr(&self) -> Vector<T, 4>[src]

pub fn grrg(&self) -> Vector<T, 4>[src]

pub fn grrb(&self) -> Vector<T, 4>[src]

pub fn grra(&self) -> Vector<T, 4>[src]

pub fn grg(&self) -> Vector<T, 3>[src]

pub fn grgr(&self) -> Vector<T, 4>[src]

pub fn grgg(&self) -> Vector<T, 4>[src]

pub fn grgb(&self) -> Vector<T, 4>[src]

pub fn grga(&self) -> Vector<T, 4>[src]

pub fn grb(&self) -> Vector<T, 3>[src]

pub fn grbr(&self) -> Vector<T, 4>[src]

pub fn grbg(&self) -> Vector<T, 4>[src]

pub fn grbb(&self) -> Vector<T, 4>[src]

pub fn grba(&self) -> Vector<T, 4>[src]

pub fn gra(&self) -> Vector<T, 3>[src]

pub fn grar(&self) -> Vector<T, 4>[src]

pub fn grag(&self) -> Vector<T, 4>[src]

pub fn grab(&self) -> Vector<T, 4>[src]

pub fn graa(&self) -> Vector<T, 4>[src]

pub fn gg(&self) -> Vector<T, 2>[src]

pub fn ggr(&self) -> Vector<T, 3>[src]

pub fn ggrr(&self) -> Vector<T, 4>[src]

pub fn ggrg(&self) -> Vector<T, 4>[src]

pub fn ggrb(&self) -> Vector<T, 4>[src]

pub fn ggra(&self) -> Vector<T, 4>[src]

pub fn ggg(&self) -> Vector<T, 3>[src]

pub fn gggr(&self) -> Vector<T, 4>[src]

pub fn gggg(&self) -> Vector<T, 4>[src]

pub fn gggb(&self) -> Vector<T, 4>[src]

pub fn ggga(&self) -> Vector<T, 4>[src]

pub fn ggb(&self) -> Vector<T, 3>[src]

pub fn ggbr(&self) -> Vector<T, 4>[src]

pub fn ggbg(&self) -> Vector<T, 4>[src]

pub fn ggbb(&self) -> Vector<T, 4>[src]

pub fn ggba(&self) -> Vector<T, 4>[src]

pub fn gga(&self) -> Vector<T, 3>[src]

pub fn ggar(&self) -> Vector<T, 4>[src]

pub fn ggag(&self) -> Vector<T, 4>[src]

pub fn ggab(&self) -> Vector<T, 4>[src]

pub fn ggaa(&self) -> Vector<T, 4>[src]

pub fn gb(&self) -> Vector<T, 2>[src]

pub fn gbr(&self) -> Vector<T, 3>[src]

pub fn gbrr(&self) -> Vector<T, 4>[src]

pub fn gbrg(&self) -> Vector<T, 4>[src]

pub fn gbrb(&self) -> Vector<T, 4>[src]

pub fn gbra(&self) -> Vector<T, 4>[src]

pub fn gbg(&self) -> Vector<T, 3>[src]

pub fn gbgr(&self) -> Vector<T, 4>[src]

pub fn gbgg(&self) -> Vector<T, 4>[src]

pub fn gbgb(&self) -> Vector<T, 4>[src]

pub fn gbga(&self) -> Vector<T, 4>[src]

pub fn gbb(&self) -> Vector<T, 3>[src]

pub fn gbbr(&self) -> Vector<T, 4>[src]

pub fn gbbg(&self) -> Vector<T, 4>[src]

pub fn gbbb(&self) -> Vector<T, 4>[src]

pub fn gbba(&self) -> Vector<T, 4>[src]

pub fn gba(&self) -> Vector<T, 3>[src]

pub fn gbar(&self) -> Vector<T, 4>[src]

pub fn gbag(&self) -> Vector<T, 4>[src]

pub fn gbab(&self) -> Vector<T, 4>[src]

pub fn gbaa(&self) -> Vector<T, 4>[src]

pub fn ga(&self) -> Vector<T, 2>[src]

pub fn gar(&self) -> Vector<T, 3>[src]

pub fn garr(&self) -> Vector<T, 4>[src]

pub fn garg(&self) -> Vector<T, 4>[src]

pub fn garb(&self) -> Vector<T, 4>[src]

pub fn gara(&self) -> Vector<T, 4>[src]

pub fn gag(&self) -> Vector<T, 3>[src]

pub fn gagr(&self) -> Vector<T, 4>[src]

pub fn gagg(&self) -> Vector<T, 4>[src]

pub fn gagb(&self) -> Vector<T, 4>[src]

pub fn gaga(&self) -> Vector<T, 4>[src]

pub fn gab(&self) -> Vector<T, 3>[src]

pub fn gabr(&self) -> Vector<T, 4>[src]

pub fn gabg(&self) -> Vector<T, 4>[src]

pub fn gabb(&self) -> Vector<T, 4>[src]

pub fn gaba(&self) -> Vector<T, 4>[src]

pub fn gaa(&self) -> Vector<T, 3>[src]

pub fn gaar(&self) -> Vector<T, 4>[src]

pub fn gaag(&self) -> Vector<T, 4>[src]

pub fn gaab(&self) -> Vector<T, 4>[src]

pub fn gaaa(&self) -> Vector<T, 4>[src]

pub fn br(&self) -> Vector<T, 2>[src]

pub fn brr(&self) -> Vector<T, 3>[src]

pub fn brrr(&self) -> Vector<T, 4>[src]

pub fn brrg(&self) -> Vector<T, 4>[src]

pub fn brrb(&self) -> Vector<T, 4>[src]

pub fn brra(&self) -> Vector<T, 4>[src]

pub fn brg(&self) -> Vector<T, 3>[src]

pub fn brgr(&self) -> Vector<T, 4>[src]

pub fn brgg(&self) -> Vector<T, 4>[src]

pub fn brgb(&self) -> Vector<T, 4>[src]

pub fn brga(&self) -> Vector<T, 4>[src]

pub fn brb(&self) -> Vector<T, 3>[src]

pub fn brbr(&self) -> Vector<T, 4>[src]

pub fn brbg(&self) -> Vector<T, 4>[src]

pub fn brbb(&self) -> Vector<T, 4>[src]

pub fn brba(&self) -> Vector<T, 4>[src]

pub fn bra(&self) -> Vector<T, 3>[src]

pub fn brar(&self) -> Vector<T, 4>[src]

pub fn brag(&self) -> Vector<T, 4>[src]

pub fn brab(&self) -> Vector<T, 4>[src]

pub fn braa(&self) -> Vector<T, 4>[src]

pub fn bg(&self) -> Vector<T, 2>[src]

pub fn bgr(&self) -> Vector<T, 3>[src]

pub fn bgrr(&self) -> Vector<T, 4>[src]

pub fn bgrg(&self) -> Vector<T, 4>[src]

pub fn bgrb(&self) -> Vector<T, 4>[src]

pub fn bgra(&self) -> Vector<T, 4>[src]

pub fn bgg(&self) -> Vector<T, 3>[src]

pub fn bggr(&self) -> Vector<T, 4>[src]

pub fn bggg(&self) -> Vector<T, 4>[src]

pub fn bggb(&self) -> Vector<T, 4>[src]

pub fn bgga(&self) -> Vector<T, 4>[src]

pub fn bgb(&self) -> Vector<T, 3>[src]

pub fn bgbr(&self) -> Vector<T, 4>[src]

pub fn bgbg(&self) -> Vector<T, 4>[src]

pub fn bgbb(&self) -> Vector<T, 4>[src]

pub fn bgba(&self) -> Vector<T, 4>[src]

pub fn bga(&self) -> Vector<T, 3>[src]

pub fn bgar(&self) -> Vector<T, 4>[src]

pub fn bgag(&self) -> Vector<T, 4>[src]

pub fn bgab(&self) -> Vector<T, 4>[src]

pub fn bgaa(&self) -> Vector<T, 4>[src]

pub fn bb(&self) -> Vector<T, 2>[src]

pub fn bbr(&self) -> Vector<T, 3>[src]

pub fn bbrr(&self) -> Vector<T, 4>[src]

pub fn bbrg(&self) -> Vector<T, 4>[src]

pub fn bbrb(&self) -> Vector<T, 4>[src]

pub fn bbra(&self) -> Vector<T, 4>[src]

pub fn bbg(&self) -> Vector<T, 3>[src]

pub fn bbgr(&self) -> Vector<T, 4>[src]

pub fn bbgg(&self) -> Vector<T, 4>[src]

pub fn bbgb(&self) -> Vector<T, 4>[src]

pub fn bbga(&self) -> Vector<T, 4>[src]

pub fn bbb(&self) -> Vector<T, 3>[src]

pub fn bbbr(&self) -> Vector<T, 4>[src]

pub fn bbbg(&self) -> Vector<T, 4>[src]

pub fn bbbb(&self) -> Vector<T, 4>[src]

pub fn bbba(&self) -> Vector<T, 4>[src]

pub fn bba(&self) -> Vector<T, 3>[src]

pub fn bbar(&self) -> Vector<T, 4>[src]

pub fn bbag(&self) -> Vector<T, 4>[src]

pub fn bbab(&self) -> Vector<T, 4>[src]

pub fn bbaa(&self) -> Vector<T, 4>[src]

pub fn ba(&self) -> Vector<T, 2>[src]

pub fn bar(&self) -> Vector<T, 3>[src]

pub fn barr(&self) -> Vector<T, 4>[src]

pub fn barg(&self) -> Vector<T, 4>[src]

pub fn barb(&self) -> Vector<T, 4>[src]

pub fn bara(&self) -> Vector<T, 4>[src]

pub fn bag(&self) -> Vector<T, 3>[src]

pub fn bagr(&self) -> Vector<T, 4>[src]

pub fn bagg(&self) -> Vector<T, 4>[src]

pub fn bagb(&self) -> Vector<T, 4>[src]

pub fn baga(&self) -> Vector<T, 4>[src]

pub fn bab(&self) -> Vector<T, 3>[src]

pub fn babr(&self) -> Vector<T, 4>[src]

pub fn babg(&self) -> Vector<T, 4>[src]

pub fn babb(&self) -> Vector<T, 4>[src]

pub fn baba(&self) -> Vector<T, 4>[src]

pub fn baa(&self) -> Vector<T, 3>[src]

pub fn baar(&self) -> Vector<T, 4>[src]

pub fn baag(&self) -> Vector<T, 4>[src]

pub fn baab(&self) -> Vector<T, 4>[src]

pub fn baaa(&self) -> Vector<T, 4>[src]

pub fn ar(&self) -> Vector<T, 2>[src]

pub fn arr(&self) -> Vector<T, 3>[src]

pub fn arrr(&self) -> Vector<T, 4>[src]

pub fn arrg(&self) -> Vector<T, 4>[src]

pub fn arrb(&self) -> Vector<T, 4>[src]

pub fn arra(&self) -> Vector<T, 4>[src]

pub fn arg(&self) -> Vector<T, 3>[src]

pub fn argr(&self) -> Vector<T, 4>[src]

pub fn argg(&self) -> Vector<T, 4>[src]

pub fn argb(&self) -> Vector<T, 4>[src]

pub fn arga(&self) -> Vector<T, 4>[src]

pub fn arb(&self) -> Vector<T, 3>[src]

pub fn arbr(&self) -> Vector<T, 4>[src]

pub fn arbg(&self) -> Vector<T, 4>[src]

pub fn arbb(&self) -> Vector<T, 4>[src]

pub fn arba(&self) -> Vector<T, 4>[src]

pub fn ara(&self) -> Vector<T, 3>[src]

pub fn arar(&self) -> Vector<T, 4>[src]

pub fn arag(&self) -> Vector<T, 4>[src]

pub fn arab(&self) -> Vector<T, 4>[src]

pub fn araa(&self) -> Vector<T, 4>[src]

pub fn ag(&self) -> Vector<T, 2>[src]

pub fn agr(&self) -> Vector<T, 3>[src]

pub fn agrr(&self) -> Vector<T, 4>[src]

pub fn agrg(&self) -> Vector<T, 4>[src]

pub fn agrb(&self) -> Vector<T, 4>[src]

pub fn agra(&self) -> Vector<T, 4>[src]

pub fn agg(&self) -> Vector<T, 3>[src]

pub fn aggr(&self) -> Vector<T, 4>[src]

pub fn aggg(&self) -> Vector<T, 4>[src]

pub fn aggb(&self) -> Vector<T, 4>[src]

pub fn agga(&self) -> Vector<T, 4>[src]

pub fn agb(&self) -> Vector<T, 3>[src]

pub fn agbr(&self) -> Vector<T, 4>[src]

pub fn agbg(&self) -> Vector<T, 4>[src]

pub fn agbb(&self) -> Vector<T, 4>[src]

pub fn agba(&self) -> Vector<T, 4>[src]

pub fn aga(&self) -> Vector<T, 3>[src]

pub fn agar(&self) -> Vector<T, 4>[src]

pub fn agag(&self) -> Vector<T, 4>[src]

pub fn agab(&self) -> Vector<T, 4>[src]

pub fn agaa(&self) -> Vector<T, 4>[src]

pub fn ab(&self) -> Vector<T, 2>[src]

pub fn abr(&self) -> Vector<T, 3>[src]

pub fn abrr(&self) -> Vector<T, 4>[src]

pub fn abrg(&self) -> Vector<T, 4>[src]

pub fn abrb(&self) -> Vector<T, 4>[src]

pub fn abra(&self) -> Vector<T, 4>[src]

pub fn abg(&self) -> Vector<T, 3>[src]

pub fn abgr(&self) -> Vector<T, 4>[src]

pub fn abgg(&self) -> Vector<T, 4>[src]

pub fn abgb(&self) -> Vector<T, 4>[src]

pub fn abga(&self) -> Vector<T, 4>[src]

pub fn abb(&self) -> Vector<T, 3>[src]

pub fn abbr(&self) -> Vector<T, 4>[src]

pub fn abbg(&self) -> Vector<T, 4>[src]

pub fn abbb(&self) -> Vector<T, 4>[src]

pub fn abba(&self) -> Vector<T, 4>[src]

pub fn aba(&self) -> Vector<T, 3>[src]

pub fn abar(&self) -> Vector<T, 4>[src]

pub fn abag(&self) -> Vector<T, 4>[src]

pub fn abab(&self) -> Vector<T, 4>[src]

pub fn abaa(&self) -> Vector<T, 4>[src]

pub fn aa(&self) -> Vector<T, 2>[src]

pub fn aar(&self) -> Vector<T, 3>[src]

pub fn aarr(&self) -> Vector<T, 4>[src]

pub fn aarg(&self) -> Vector<T, 4>[src]

pub fn aarb(&self) -> Vector<T, 4>[src]

pub fn aara(&self) -> Vector<T, 4>[src]

pub fn aag(&self) -> Vector<T, 3>[src]

pub fn aagr(&self) -> Vector<T, 4>[src]

pub fn aagg(&self) -> Vector<T, 4>[src]

pub fn aagb(&self) -> Vector<T, 4>[src]

pub fn aaga(&self) -> Vector<T, 4>[src]

pub fn aab(&self) -> Vector<T, 3>[src]

pub fn aabr(&self) -> Vector<T, 4>[src]

pub fn aabg(&self) -> Vector<T, 4>[src]

pub fn aabb(&self) -> Vector<T, 4>[src]

pub fn aaba(&self) -> Vector<T, 4>[src]

pub fn aaa(&self) -> Vector<T, 3>[src]

pub fn aaar(&self) -> Vector<T, 4>[src]

pub fn aaag(&self) -> Vector<T, 4>[src]

pub fn aaab(&self) -> Vector<T, 4>[src]

pub fn aaaa(&self) -> Vector<T, 4>[src]

Trait Implementations

impl<T, const N: usize> Zero for Vector<T, { N }> where
    T: Zero
[src]

impl<T, const N: usize> VectorSpace for Vector<T, { N }> where
    T: Clone + Zero,
    T: Add<T, Output = T>,
    T: Sub<T, Output = T>,
    T: Mul<T, Output = T>,
    T: Div<T, Output = T>, 
[src]

type Scalar = T

impl<T, const N: usize> MetricSpace for Vector<T, { N }> where
    Self: InnerSpace
[src]

type Metric = Self::Scalar

impl<T, const N: usize> InnerSpace for Vector<T, { N }> where
    T: Clone + Zero,
    T: Add<T, Output = T>,
    T: Sub<T, Output = T>,
    T: Mul<T, Output = T>,
    T: Div<T, Output = T>,
    T: AddAssign<T>,
    Self: Clone
[src]

fn magnitude2(self) -> Self::Scalar[src]

Returns the squared length of the value.

impl<A, B, RHS, const N: usize> PartialEq<RHS> for Vector<A, { N }> where
    RHS: Deref<Target = [B; {N}]>,
    A: PartialEq<B>, 
[src]

#[must_use] fn ne(&self, other: &Rhs) -> bool1.0.0[src]

This method tests for !=.

impl<T, const N: usize> Into<[T; N]> for Vector<T, { N }>[src]

impl<T, const N: usize> Copy for Vector<T, { N }> where
    T: Copy
[src]

impl<T, const N: usize> Clone for Vector<T, { N }> where
    T: Clone
[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl<T, const N: usize> From<[T; N]> for Vector<T, { N }>[src]

impl<T, const N: usize> From<Matrix<T, N, 1>> for Vector<T, { N }>[src]

impl<T, const N: usize> Eq for Vector<T, { N }> where
    T: Eq
[src]

impl<T, const N: usize> DerefMut for Vector<T, { N }>[src]

impl<T, const N: usize> Hash for Vector<T, { N }> where
    T: Hash
[src]

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl<A, B, const N: usize> Add<Vector<B, N>> for Vector<A, { N }> where
    A: Add<B>, 
[src]

type Output = Vector<<A as Add<B>>::Output, { N }>

The resulting type after applying the + operator.

impl<A, B, const N: usize> Sub<Vector<B, N>> for Vector<A, { N }> where
    A: Sub<B>, 
[src]

type Output = Vector<<A as Sub<B>>::Output, { N }>

The resulting type after applying the - operator.

impl<A, B, const N: usize> Mul<B> for Vector<A, { N }> where
    A: Mul<B>,
    B: Clone
[src]

Scalar multiply

type Output = Vector<<A as Mul<B>>::Output, { N }>

The resulting type after applying the * operator.

impl<T, const N: usize, const M: usize> Mul<Vector<T, M>> for Matrix<T, { N }, { M }> where
    T: Add<T, Output = T> + Mul<T, Output = T> + Clone,
    Vector<T, { M }>: InnerSpace
[src]

type Output = Vector<<Vector<T, { M }> as VectorSpace>::Scalar, { N }>

The resulting type after applying the * operator.

impl<A, B, const N: usize> Div<B> for Vector<A, { N }> where
    A: Div<B>,
    B: Clone
[src]

Scalar divide

type Output = Vector<<A as Div<B>>::Output, { N }>

The resulting type after applying the / operator.

impl<T, const N: usize> Neg for Vector<T, { N }> where
    T: Neg
[src]

type Output = Vector<<T as Neg>::Output, { N }>

The resulting type after applying the - operator.

impl<A, B, const N: usize> AddAssign<Vector<B, N>> for Vector<A, { N }> where
    A: AddAssign<B>, 
[src]

impl<A, B, const N: usize> SubAssign<Vector<B, N>> for Vector<A, { N }> where
    A: SubAssign<B>, 
[src]

impl<A, B, const N: usize> MulAssign<B> for Vector<A, { N }> where
    A: MulAssign<B>,
    B: Clone
[src]

Scalar multiply assign

impl<A, B, const N: usize> DivAssign<B> for Vector<A, { N }> where
    A: DivAssign<B>,
    B: Clone
[src]

Scalar divide assign

impl<T, const N: usize> Deref for Vector<T, { N }>[src]

type Target = [T; {N}]

The resulting type after dereferencing.

impl<T, const N: usize> Debug for Vector<T, { N }> where
    T: Debug
[src]

Auto Trait Implementations

impl<const N: usize, T> Sync for Vector<T, N> where
    T: Sync

impl<const N: usize, T> Send for Vector<T, N> where
    T: Send

impl<const N: usize, T> Unpin for Vector<T, N> where
    T: Unpin

impl<const N: usize, T> RefUnwindSafe for Vector<T, N> where
    T: RefUnwindSafe

impl<const N: usize, T> UnwindSafe for Vector<T, N> where
    T: UnwindSafe

Blanket Implementations

impl<T> RealMetricSpace for T where
    T: MetricSpace,
    <T as MetricSpace>::Metric: Real
[src]

fn distance(self, other: Self) -> Self::Metric[src]

Returns the distance between the two values.

impl<T> RealInnerSpace for T where
    T: InnerSpace,
    <T as VectorSpace>::Scalar: Real
[src]

fn magnitude(self) -> Self::Scalar[src]

Returns the length of the vector.

fn normalize(self) -> Self where
    Self::Scalar: One
[src]

Returns a vector with the same direction and a magnitude of 1.

fn normalize_to(self, magnitude: Self::Scalar) -> Self[src]

Returns a vector with the same direction and a given magnitude.

fn project_on(self, other: Self) -> Self[src]

Returns the vector projection of the current inner space projected onto the supplied argument. Read more

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]