public void DiagFloat() { var x1 = new FloatTensor(9); for (var i = 0; i < x1.Shape[0]; ++i) { x1[i] = i + 1; } x1.Resize2d(3, 3); var diag0 = x1.Diagonal(0); var diag1 = x1.Diagonal(1); Assert.AreEqual(1, diag0.Shape.Length); Assert.AreEqual(3, diag0.Shape[0]); Assert.AreEqual(1, diag1.Shape.Length); Assert.AreEqual(2, diag1.Shape[0]); Assert.AreEqual(1, diag0[0]); Assert.AreEqual(5, diag0[1]); Assert.AreEqual(9, diag0[2]); Assert.AreEqual(2, diag1[0]); Assert.AreEqual(6, diag1[1]); }