summary refs log blame commit diff stats
path: root/tests/compile/tmatrix2.nim
blob: 442096e93a0841eec827e86497973658e1f0e492 (plain) (tree)





















                                                                             
discard """
  output: "5.0000000000000000e+00"
"""

type
  TMatrixNM*[M, N, T] = object 
    aij*: T
  TVectorN*[N, T] = TMatrixNM[range[0..0], N, T]
  TVector3*[T] = TVectorN[range[0..2], T]

proc coeffRef*[M, N, T] (matrix: var TMatrixNM[M, N, T], a: M, b: N): var T =
  return matrix.aij

proc coeffRef*[N, T] (vector: var TVectorN[N, T], i: N): var T = vector.aij

var 
  testVar: TVector3[float]

testVar.aij = 2.0
testVar.coeffRef(1) = 5.0

echo testVar.aij