diff options
author | Araq <rumpf_a@web.de> | 2015-02-09 12:42:00 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-02-10 20:19:45 +0100 |
commit | 247af96b00ae4d995bb668504e10d135fa95506d (patch) | |
tree | 880e186a87fb658c77c78c6df18bfdfc8c1d11ad /tests/matrix | |
parent | 3a8f7d505b3ddfe724af4237516b1ce46c533758 (diff) | |
download | Nim-247af96b00ae4d995bb668504e10d135fa95506d.tar.gz |
cleaned up some tests
Diffstat (limited to 'tests/matrix')
-rw-r--r-- | tests/matrix/issue1013.nim | 23 | ||||
-rw-r--r-- | tests/matrix/tmatrix.nim | 48 | ||||
-rw-r--r-- | tests/matrix/tmatrix1.nim | 19 | ||||
-rw-r--r-- | tests/matrix/tmatrix2.nim | 22 |
4 files changed, 0 insertions, 112 deletions
diff --git a/tests/matrix/issue1013.nim b/tests/matrix/issue1013.nim deleted file mode 100644 index 7d3d52f85..000000000 --- a/tests/matrix/issue1013.nim +++ /dev/null @@ -1,23 +0,0 @@ -import typetraits - -template reject(e: expr) = - static: assert(not compiles(e)) - -type - TMatrix[T; M, N: static[int]] = array[M*N, T] - -proc `*`[T; R, N, C](a: TMatrix[T, R, N], b: TMatrix[T, N, C]): TMatrix[T, R, C] = - discard - -var m1: TMatrix[int, 6, 4] -var m2: TMatrix[int, 4, 3] -var m3: TMatrix[int, 3, 3] - -var m4 = m1*m2 -static: assert m4.M == 6 and m4.N == 3 - -reject m1 * m3 # not compatible - -var m5 = m2 * m3 -static: assert high(m5) == 11 # 4*3 - 1 - diff --git a/tests/matrix/tmatrix.nim b/tests/matrix/tmatrix.nim deleted file mode 100644 index 90dfde959..000000000 --- a/tests/matrix/tmatrix.nim +++ /dev/null @@ -1,48 +0,0 @@ -discard """ - file: "tmatrix.nim" - output: "111" -""" -# Test overloading of [] with multiple indices - -type - TMatrix* = object - data: seq[float] - fWidth, fHeight: int - -template `|`(x, y: int): expr = y * m.fWidth + x - -proc createMatrix*(width, height: int): TMatrix = - result.fWidth = width - result.fHeight = height - newSeq(result.data, width*height) - -proc width*(m: TMatrix): int {.inline.} = return m.fWidth -proc height*(m: TMatrix): int {.inline.} = return m.fHeight - -proc `[]`*(m: TMatrix, x, y: int): float {.inline.} = - result = m.data[x|y] - -proc `[]=`*(m: var TMatrix, x, y: int, val: float) {.inline.} = - m.data[x|y] = val - -proc `-|`*(m: TMatrix): TMatrix = - ## transposes a matrix - result = createMatrix(m.height, m.width) - for x in 0..m.width-1: - for y in 0..m.height-1: result[y,x] = m[x,y] - -#m.row(0, 2) # select row -#m.col(0, 89) # select column - -const - w = 3 - h = 20 - -var m = createMatrix(w, h) -for i in 0..w-1: - m[i, i] = 1.0 - -for i in 0..w-1: - stdout.write(m[i,i]) #OUT 111 - - diff --git a/tests/matrix/tmatrix1.nim b/tests/matrix/tmatrix1.nim deleted file mode 100644 index 0adf30b57..000000000 --- a/tests/matrix/tmatrix1.nim +++ /dev/null @@ -1,19 +0,0 @@ -discard """ - output: "right proc called" -""" - -type - TMatrixNM*[M, N, T] = object - aij*: array[M, array[N, T]] - TMatrix2x2*[T] = TMatrixNM[range[0..1], range[0..1], T] - TMatrix3x3*[T] = TMatrixNM[range[0..2], range[0..2], T] - -proc test*[T] (matrix: TMatrix2x2[T]) = - echo "wrong proc called" - -proc test*[T] (matrix: TMatrix3x3[T]) = - echo "right proc called" - -var matrix: TMatrix3x3[float] - -matrix.test diff --git a/tests/matrix/tmatrix2.nim b/tests/matrix/tmatrix2.nim deleted file mode 100644 index 82990f1a5..000000000 --- a/tests/matrix/tmatrix2.nim +++ /dev/null @@ -1,22 +0,0 @@ -discard """ - output: "5.0" -""" - -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 |