Companion

object Companion : ImmutableMatrixCompanion<Int>

The companion object contains factory functions to create new instances with initialization.

Functions

Link copied to clipboard
open fun <T : Int> fromFunction(width: Int, height: Int, valueFun: (Int, Int) -> T): Matrix<T>

Create a matrix where each value is determined by invoking the valueFun function. It does not store any values.

Link copied to clipboard
open operator override fun <T : Int> invoke(original: Matrix<T>): Matrix<T>

Create a new matrix that is a copy of the original. The copy is a shallow copy.

operator fun invoke(source: Matrix<Int>): IntMatrix
operator fun invoke(source: IntMatrix): IntMatrix

open operator override fun <T : Int> invoke(width: Int, height: Int, initValue: T): Matrix<T>

Create a new matrix with the given dimensions and initial value. Note that this function is provided for concistency on Matrix, but SingleValueMatrix is recommended for the usecase.

open inline operator override fun <T : Int> invoke(width: Int, height: Int, init: (Int, Int) -> T): Matrix<T>

Create a new matrix with the given dimensions and initialised using the init function.

inline operator fun invoke(width: Int, height: Int, init: (Int, Int) -> Int): IntMatrix

Create an IntMatrix initialized according to the init function.

operator fun invoke(width: Int, height: Int, initValue: Int): IntMatrix

Create an IntMatrix initialized with the given value