123456789101112131415 |
- type
- Matrix*[M, N: static[int]; T] = object
- data: array[M*N, T]
- proc `[]`*(M: Matrix; m, n: int): M.T =
- M.data[m * M.N + n]
- proc `[]=`*(M: var Matrix; m, n: int; v: M.T) =
- M.data[m * M.N + n] = v
- # Adapt the Matrix type to the concept's requirements
- template Rows*(M: type Matrix): untyped = M.M
- template Cols*(M: type Matrix): untyped = M.N
- template ValueType*(M: type Matrix): typedesc = M.T
|