daniel.lindeman
04/05/2016, 6:24 PMMatrix2D<T> : Cloneable, Iterable<T> {
private val array: Array<Array<Any>>
private val columns: Int
get() = array.size
private val rows: Int
get() = array[0].size
public val size: Int
get() = rows * columns
constructor(rows: Int, columns: Int, default: T) {
when {
rows < 1 -> throw MatrixDimensionException("Number of rows should >= 1")
columns < 1 -> throw MatrixDimensionException("Number of columns should be >= 1")
}
array = Array(rows) { Array(columns) { default as Any } }
}
public override fun clone() : Matrix2D<T> {
return Matrix2D(rows, columns, default = T)
}