summary refs log tree commit diff stats
path: root/tests/matrix/tmatrix2.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/matrix/tmatrix2.nim')
-rw-r--r--tests/matrix/tmatrix2.nim22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/matrix/tmatrix2.nim b/tests/matrix/tmatrix2.nim
new file mode 100644
index 000000000..442096e93
--- /dev/null
+++ b/tests/matrix/tmatrix2.nim
@@ -0,0 +1,22 @@
+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