Struct acgmath::Matrix2 [] [src]

#[repr(C)]
pub struct Matrix2<S> { pub x: Vector2<S>, pub y: Vector2<S>, }

A 2 x 2, column major matrix

This type is marked as #[repr(C)].

Fields

The first column of the matrix.

The second column of the matrix.

Methods

impl<S: BaseFloat> Matrix2<S>
[src]

Create a new matrix, providing values for each index.

Create a new matrix, providing columns.

Create a transformation matrix that will cause a vector to point at dir, using up for orientation.

impl<S: NumCast + Copy> Matrix2<S>
[src]

Component-wise casting to another type

Trait Implementations

impl<S: Copy> Copy for Matrix2<S>
[src]

impl<S: Clone> Clone for Matrix2<S>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<S: PartialEq> PartialEq for Matrix2<S>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<S: BaseFloat> Zero for Matrix2<S>
[src]

Returns the additive identity element of Self, 0. Read more

Returns true if self is equal to the additive identity.

impl<S: BaseFloat> One for Matrix2<S>
[src]

Returns the multiplicative identity element of Self, 1. Read more

impl<S: BaseFloat> VectorSpace for Matrix2<S>
[src]

The associated scalar.

impl<S: BaseFloat> Matrix for Matrix2<S>
[src]

The column vector of the matrix.

The row vector of the matrix.

The result of transposing the matrix

Get a row from this matrix by-value.

Swap two rows of this array.

Swap two columns of this array.

Swap the values at index a and b

Transpose this matrix, returning a new matrix.

Get the pointer to the first element of the array.

Get a mutable pointer to the first element of the array.

Replace a column in the array.

impl<S: BaseFloat> SquareMatrix for Matrix2<S>
[src]

The row/column vector of the matrix. Read more

Create a new diagonal matrix using the supplied value.

Create a matrix from a non-uniform scale

Transpose this matrix in-place.

Take the determinant of this matrix.

Return a vector containing the diagonal of this matrix.

Invert this matrix, returning a new matrix. m.mul_m(m.invert()) is the identity matrix. Returns None if this matrix is not invertible (has a determinant of zero). Read more

Test if this is a diagonal matrix. That is, every element outside of the diagonal is 0. Read more

Test if this matrix is symmetric. That is, it is equal to its transpose. Read more

The [identity matrix]. Multiplying this matrix with another should have no effect. Read more

Return the trace of this matrix. That is, the sum of the diagonal.

Test if this matrix is invertible.

Test if this matrix is the identity matrix. That is, it is diagonal and every element in the diagonal is one. Read more

impl<S: BaseFloat> ApproxEq for Matrix2<S>
[src]

Used for specifying relative comparisons.

The default tolerance to use when testing values that are close together. Read more

The default relative tolerance for testing values that are far-apart. Read more

The default ULPs to tolerate when testing values that are far-apart. Read more

A test for equality that uses a relative comparison if the values are far apart.

A test for equality that uses units in the last place (ULP) if the values are far apart.

The inverse of ApproxEq::relative_eq.

The inverse of ApproxEq::ulps_eq.

impl<S: BaseFloat> Neg for Matrix2<S>
[src]

The resulting type after applying the - operator

The method for the unary - operator

impl<'a, S: BaseFloat> Neg for &'a Matrix2<S>
[src]

The resulting type after applying the - operator

The method for the unary - operator

impl<S: BaseFloat> Mul<S> for Matrix2<S>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, S: BaseFloat> Mul<S> for &'a Matrix2<S>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<S: BaseFloat> Div<S> for Matrix2<S>
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a, S: BaseFloat> Div<S> for &'a Matrix2<S>
[src]

The resulting type after applying the / operator

The method for the / operator

impl<S: BaseFloat> Rem<S> for Matrix2<S>
[src]

The resulting type after applying the % operator

The method for the % operator

impl<'a, S: BaseFloat> Rem<S> for &'a Matrix2<S>
[src]

The resulting type after applying the % operator

The method for the % operator

impl<S: BaseFloat + MulAssign<S>> MulAssign<S> for Matrix2<S>
[src]

The method for the *= operator

impl<S: BaseFloat + DivAssign<S>> DivAssign<S> for Matrix2<S>
[src]

The method for the /= operator

impl<S: BaseFloat + RemAssign<S>> RemAssign<S> for Matrix2<S>
[src]

The method for the %= operator

impl<S: BaseFloat> Add<Matrix2<S>> for Matrix2<S>
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a, S: BaseFloat> Add<&'a Matrix2<S>> for Matrix2<S>
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a, S: BaseFloat> Add<Matrix2<S>> for &'a Matrix2<S>
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a, 'b, S: BaseFloat> Add<&'a Matrix2<S>> for &'b Matrix2<S>
[src]

The resulting type after applying the + operator

The method for the + operator

impl<S: BaseFloat> Sub<Matrix2<S>> for Matrix2<S>
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a, S: BaseFloat> Sub<&'a Matrix2<S>> for Matrix2<S>
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a, S: BaseFloat> Sub<Matrix2<S>> for &'a Matrix2<S>
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a, 'b, S: BaseFloat> Sub<&'a Matrix2<S>> for &'b Matrix2<S>
[src]

The resulting type after applying the - operator

The method for the - operator

impl<S: BaseFloat + AddAssign<S>> AddAssign<Matrix2<S>> for Matrix2<S>
[src]

The method for the += operator

impl<S: BaseFloat + SubAssign<S>> SubAssign<Matrix2<S>> for Matrix2<S>
[src]

The method for the -= operator

impl<S: BaseFloat> Mul<Vector2<S>> for Matrix2<S>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, S: BaseFloat> Mul<&'a Vector2<S>> for Matrix2<S>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, S: BaseFloat> Mul<Vector2<S>> for &'a Matrix2<S>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, 'b, S: BaseFloat> Mul<&'a Vector2<S>> for &'b Matrix2<S>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<S: BaseFloat> Mul<Matrix2<S>> for Matrix2<S>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, S: BaseFloat> Mul<&'a Matrix2<S>> for Matrix2<S>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, S: BaseFloat> Mul<Matrix2<S>> for &'a Matrix2<S>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a, 'b, S: BaseFloat> Mul<&'a Matrix2<S>> for &'b Matrix2<S>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<S> Index<usize> for Matrix2<S>
[src]

The returned type after indexing

The method for the indexing (container[index]) operation

impl<S> IndexMut<usize> for Matrix2<S>
[src]

The method for the mutable indexing (container[index]) operation

impl<S> Into<[[S; 2]; 2]> for Matrix2<S>
[src]

Performs the conversion.

impl<S> AsRef<[[S; 2]; 2]> for Matrix2<S>
[src]

Performs the conversion.

impl<S> AsMut<[[S; 2]; 2]> for Matrix2<S>
[src]

Performs the conversion.

impl<S: Copy> From<[[S; 2]; 2]> for Matrix2<S>
[src]

Performs the conversion.

impl<'a, S> From<&'a [[S; 2]; 2]> for &'a Matrix2<S>
[src]

Performs the conversion.

impl<'a, S> From<&'a mut [[S; 2]; 2]> for &'a mut Matrix2<S>
[src]

Performs the conversion.

impl<S> AsRef<[S; 4]> for Matrix2<S>
[src]

Performs the conversion.

impl<S> AsMut<[S; 4]> for Matrix2<S>
[src]

Performs the conversion.

impl<'a, S> From<&'a [S; 4]> for &'a Matrix2<S>
[src]

Performs the conversion.

impl<'a, S> From<&'a mut [S; 4]> for &'a mut Matrix2<S>
[src]

Performs the conversion.

impl<S: Debug> Debug for Matrix2<S>
[src]

Formats the value using the given formatter.

impl<S: BaseFloat + Rand> Rand for Matrix2<S>
[src]

Generates a random instance of this type using the specified source of randomness. Read more

impl<S: BaseFloat> From<Basis2<S>> for Matrix2<S>
[src]

Performs the conversion.