I=(S=Uno.Float4x4 = function(){
    this.M11 = 0.0;
    this.M12 = 0.0;
    this.M13 = 0.0;
    this.M14 = 0.0;
    this.M21 = 0.0;
    this.M22 = 0.0;
    this.M23 = 0.0;
    this.M24 = 0.0;
    this.M31 = 0.0;
    this.M32 = 0.0;
    this.M33 = 0.0;
    this.M34 = 0.0;
    this.M41 = 0.0;
    this.M42 = 0.0;
    this.M43 = 0.0;
    this.M44 = 0.0;
}).prototype;

I.ToString = function()
{
    return "Uno.Float4x4";
};

I.GetHashCode = function()
{
    return 0;
};

I.indexer = function(index)
{
    if (index == 0)
    {
        return Uno.Float4.$1(this.M11, this.M12, this.M13, this.M14);
    }
    else if (index == 1)
    {
        return Uno.Float4.$1(this.M21, this.M22, this.M23, this.M24);
    }
    else if (index == 2)
    {
        return Uno.Float4.$1(this.M31, this.M32, this.M33, this.M34);
    }
    else if (index == 3)
    {
        return Uno.Float4.$1(this.M41, this.M42, this.M43, this.M44);
    }
    else
    {
        throw Uno.IndexOutOfRangeException.$0();
    }
};

S.$0 = function(m11, m12, m13, m14, m21, m22, m23, m24, m31, m32, m33, m34, m41, m42, m43, m44) {
    var $this = new Uno.Float4x4;
    $this.M11 = m11;
    $this.M12 = m12;
    $this.M13 = m13;
    $this.M14 = m14;
    $this.M21 = m21;
    $this.M22 = m22;
    $this.M23 = m23;
    $this.M24 = m24;
    $this.M31 = m31;
    $this.M32 = m32;
    $this.M33 = m33;
    $this.M34 = m34;
    $this.M41 = m41;
    $this.M42 = m42;
    $this.M43 = m43;
    $this.M44 = m44;
    return $this;
};

S.$1 = function(a, b, c, d) {
    var $this = new Uno.Float4x4;
    $this.M11 = a.X;
    $this.M12 = a.Y;
    $this.M13 = a.Z;
    $this.M14 = a.W;
    $this.M21 = b.X;
    $this.M22 = b.Y;
    $this.M23 = b.Z;
    $this.M24 = b.W;
    $this.M31 = c.X;
    $this.M32 = c.Y;
    $this.M33 = c.Z;
    $this.M34 = c.W;
    $this.M41 = d.X;
    $this.M42 = d.Y;
    $this.M43 = d.Z;
    $this.M44 = d.W;
    return $this;
};
