/// <summary> /// Constructs this matrix from a cmat4. Non-overwritten fields are from an Identity matrix. /// </summary> public cmat2(cmat4 m) { this.m00 = m.m00; this.m01 = m.m01; this.m10 = m.m10; this.m11 = m.m11; }
/// <summary> /// Constructs this matrix from a cmat4. Non-overwritten fields are from an Identity matrix. /// </summary> public cmat2x3(cmat4 m) { this.m00 = m.m00; this.m01 = m.m01; this.m02 = m.m02; this.m10 = m.m10; this.m11 = m.m11; this.m12 = m.m12; }
/// <summary> /// Constructs this matrix from a cmat4. Non-overwritten fields are from an Identity matrix. /// </summary> public cmat3x2(cmat4 m) { this.m00 = m.m00; this.m01 = m.m01; this.m10 = m.m10; this.m11 = m.m11; this.m20 = m.m20; this.m21 = m.m21; }
/// <summary> /// Constructs this matrix from a cmat4. Non-overwritten fields are from an Identity matrix. /// </summary> public cmat2x4(cmat4 m) { this.m00 = m.m00; this.m01 = m.m01; this.m02 = m.m02; this.m03 = m.m03; this.m10 = m.m10; this.m11 = m.m11; this.m12 = m.m12; this.m13 = m.m13; }
/// <summary> /// Constructs this matrix from a cmat4. Non-overwritten fields are from an Identity matrix. /// </summary> public cmat3(cmat4 m) { this.m00 = m.m00; this.m01 = m.m01; this.m02 = m.m02; this.m10 = m.m10; this.m11 = m.m11; this.m12 = m.m12; this.m20 = m.m20; this.m21 = m.m21; this.m22 = m.m22; }
/// <summary> /// Constructs this matrix from a cmat4. Non-overwritten fields are from an Identity matrix. /// </summary> public cmat3x4(cmat4 m) { this.m00 = m.m00; this.m01 = m.m01; this.m02 = m.m02; this.m03 = m.m03; this.m10 = m.m10; this.m11 = m.m11; this.m12 = m.m12; this.m13 = m.m13; this.m20 = m.m20; this.m21 = m.m21; this.m22 = m.m22; this.m23 = m.m23; }
/// <summary> /// Constructs this matrix from a cmat4. Non-overwritten fields are from an Identity matrix. /// </summary> public cmat4(cmat4 m) { this.m00 = m.m00; this.m01 = m.m01; this.m02 = m.m02; this.m03 = m.m03; this.m10 = m.m10; this.m11 = m.m11; this.m12 = m.m12; this.m13 = m.m13; this.m20 = m.m20; this.m21 = m.m21; this.m22 = m.m22; this.m23 = m.m23; this.m30 = m.m30; this.m31 = m.m31; this.m32 = m.m32; this.m33 = m.m33; }
/// <summary> /// Returns an enumerator that iterates through all fields. /// </summary> public static IEnumerator <Complex> GetEnumerator(cmat4 m) => m.GetEnumerator();
/// <summary> /// Creates a 1D array with all values (internal order) /// </summary> public static Complex[] Values1D(cmat4 m) => m.Values1D;
/// <summary> /// Creates a 2D array with all values (address: Values[x, y]) /// </summary> public static Complex[,] Values(cmat4 m) => m.Values;
/// <summary> /// Returns true iff this equals rhs component-wise. /// </summary> public bool Equals(cmat4 rhs) => ((((m00.Equals(rhs.m00) && m01.Equals(rhs.m01)) && (m02.Equals(rhs.m02) && m03.Equals(rhs.m03))) && ((m10.Equals(rhs.m10) && m11.Equals(rhs.m11)) && (m12.Equals(rhs.m12) && m13.Equals(rhs.m13)))) && (((m20.Equals(rhs.m20) && m21.Equals(rhs.m21)) && (m22.Equals(rhs.m22) && m23.Equals(rhs.m23))) && ((m30.Equals(rhs.m30) && m31.Equals(rhs.m31)) && (m32.Equals(rhs.m32) && m33.Equals(rhs.m33)))));
/// <summary> /// Executes a component-wise - (subtract). /// </summary> public static cmat4 CompSub(cmat4 A, cmat4 B) => new cmat4(A.m00 - B.m00, A.m01 - B.m01, A.m02 - B.m02, A.m03 - B.m03, A.m10 - B.m10, A.m11 - B.m11, A.m12 - B.m12, A.m13 - B.m13, A.m20 - B.m20, A.m21 - B.m21, A.m22 - B.m22, A.m23 - B.m23, A.m30 - B.m30, A.m31 - B.m31, A.m32 - B.m32, A.m33 - B.m33);
/// <summary> /// Executes a component-wise + (add). /// </summary> public static cmat4 CompAdd(cmat4 A, cmat4 B) => new cmat4(A.m00 + B.m00, A.m01 + B.m01, A.m02 + B.m02, A.m03 + B.m03, A.m10 + B.m10, A.m11 + B.m11, A.m12 + B.m12, A.m13 + B.m13, A.m20 + B.m20, A.m21 + B.m21, A.m22 + B.m22, A.m23 + B.m23, A.m30 + B.m30, A.m31 + B.m31, A.m32 + B.m32, A.m33 + B.m33);
/// <summary> /// Executes a component-wise / (divide). /// </summary> public static cmat4 CompDiv(cmat4 A, cmat4 B) => new cmat4(A.m00 / B.m00, A.m01 / B.m01, A.m02 / B.m02, A.m03 / B.m03, A.m10 / B.m10, A.m11 / B.m11, A.m12 / B.m12, A.m13 / B.m13, A.m20 / B.m20, A.m21 / B.m21, A.m22 / B.m22, A.m23 / B.m23, A.m30 / B.m30, A.m31 / B.m31, A.m32 / B.m32, A.m33 / B.m33);
/// <summary> /// Executes a component-wise * (multiply). /// </summary> public static cmat4 CompMul(cmat4 A, cmat4 B) => new cmat4(A.m00 * B.m00, A.m01 * B.m01, A.m02 * B.m02, A.m03 * B.m03, A.m10 * B.m10, A.m11 * B.m11, A.m12 * B.m12, A.m13 * B.m13, A.m20 * B.m20, A.m21 * B.m21, A.m22 * B.m22, A.m23 * B.m23, A.m30 * B.m30, A.m31 * B.m31, A.m32 * B.m32, A.m33 * B.m33);