| | 6 | class Array2DExtension[T](array :Array2D[T]) { |
| | 7 | def apply(x :Int, y :Int) :T = { |
| | 8 | array(x)(y) |
| | 9 | } |
| | 10 | def update(x :Int, y :Int, e :T) { |
| | 11 | array(x)(y) = e |
| | 12 | } |
| | 13 | } |
| | 14 | implicit def ext2Array2DExtension[T](array :Array2D[T]) = { |
| | 15 | new Array2DExtension[T](array) |
| | 16 | } |
| | 17 | class Array3DExtension[T](array :Array3D[T]) { |
| | 18 | def apply(x :Int, y :Int, z :Int) :T = { |
| | 19 | array(x)(y)(z) |
| | 20 | } |
| | 21 | def update(x :Int, y :Int, z :Int, e :T) { |
| | 22 | array(x)(y)(z) = e |
| | 23 | } |
| | 24 | } |
| | 25 | implicit def ext2Array3DExtension[T](array :Array3D[T]) = { |
| | 26 | new Array3DExtension[T](array) |
| | 27 | } |