summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2013-04-13 01:09:15 +0200
committerAraq <rumpf_a@web.de>2013-04-13 01:09:15 +0200
commit18fbaab216e3dc59011b871849ebcf4bfab94afd (patch)
treeb564b6b4ce28e551484b36a2659762af10e25ea7 /tests
parent3cb3813eed378d753807a07f434234ce2d4c5159 (diff)
downloadNim-18fbaab216e3dc59011b871849ebcf4bfab94afd.tar.gz
fixes #310
Diffstat (limited to 'tests')
-rw-r--r--tests/compile/tmatrix2.nim22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/compile/tmatrix2.nim b/tests/compile/tmatrix2.nim
new file mode 100644
index 000000000..442096e93
--- /dev/null
+++ b/tests/compile/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