Matrix constructor

  1. @DomName('Matrix.Matrix')
  2. @DocsEditable()
Matrix(num a_OR_m11, num b_OR_m12, num c_OR_m13, num d_OR_m14, num e_OR_m21, num f_OR_m22, [ num m23, num m24, num m31, num m32, num m33, num m34, num m41, num m42, num m43, num m44 ])

Implementation

@DomName('Matrix.Matrix')
@DocsEditable()
factory Matrix(num a_OR_m11, num b_OR_m12, num c_OR_m13, num d_OR_m14,
    num e_OR_m21, num f_OR_m22,
    [num m23,
    num m24,
    num m31,
    num m32,
    num m33,
    num m34,
    num m41,
    num m42,
    num m43,
    num m44]) {
  if ((f_OR_m22 is num) &&
      (e_OR_m21 is num) &&
      (d_OR_m14 is num) &&
      (c_OR_m13 is num) &&
      (b_OR_m12 is num) &&
      (a_OR_m11 is num) &&
      m23 == null &&
      m24 == null &&
      m31 == null &&
      m32 == null &&
      m33 == null &&
      m34 == null &&
      m41 == null &&
      m42 == null &&
      m43 == null &&
      m44 == null) {
    return Matrix._create_1(
        a_OR_m11, b_OR_m12, c_OR_m13, d_OR_m14, e_OR_m21, f_OR_m22);
  }
  if ((m44 is num) &&
      (m43 is num) &&
      (m42 is num) &&
      (m41 is num) &&
      (m34 is num) &&
      (m33 is num) &&
      (m32 is num) &&
      (m31 is num) &&
      (m24 is num) &&
      (m23 is num) &&
      (f_OR_m22 is num) &&
      (e_OR_m21 is num) &&
      (d_OR_m14 is num) &&
      (c_OR_m13 is num) &&
      (b_OR_m12 is num) &&
      (a_OR_m11 is num)) {
    return Matrix._create_2(a_OR_m11, b_OR_m12, c_OR_m13, d_OR_m14, e_OR_m21,
        f_OR_m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44);
  }
  throw new ArgumentError("Incorrect number or type of arguments");
}