Create a matrix from nested sequences

Require: all rows are of the same length

var matrix = new Matrix.from([[1.0, 2.0],
                              [3.0, 4.0]])
assert matrix.to_s == """
1.0 2.0
3.0 4.0"""

Property definitions

matrix $ Matrix :: from
	# Create a matrix from nested sequences
	#
	# Require: all rows are of the same length
	#
	# ~~~
	# var matrix = new Matrix.from([[1.0, 2.0],
	#                               [3.0, 4.0]])
	# assert matrix.to_s == """
	# 1.0 2.0
	# 3.0 4.0"""
	# ~~~
	init from(items: SequenceRead[SequenceRead[Float]])
	do
		if items.is_empty then
			init(0, 0)
			return
		end

		init(items.first.length, items.length)

		for j in height.times do assert items[j].length == width

		for j in [0..height[ do
			for i in [0..width[ do
				self[j, i] = items[j][i]
			end
		end
	end
lib/matrix/matrix.nit:33,2--60,4