//===--- Sim2DArray.swift -------------------------------------------------===// // // This source file is part of the Swift.org open source project // // Copyright (c) 2014 - 2016 Apple Inc. and the Swift project authors // Licensed under Apache License v2.0 with Runtime Library Exception // // See http://swift.org/LICENSE.txt for license information // See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors // //===----------------------------------------------------------------------===// struct Array2D { var storage : [Int] let rows : Int let cols: Int init(numRows: Int, numCols: Int) { storage = [Int](repeating: 0, count: numRows * numCols) rows = numRows cols = numCols } } @inline(never) func workload_2DArrayTest(A: inout Array2D) { for _ in 0 ..< 10 { for r in 0 ..< A.rows { for c in 0 ..< A.cols { A.storage[r*A.cols+c] = 1 } } } } @inline(never) public func run_Sim2DArray(N : Int) { for _ in 0 ..< N { var A = Array2D(numRows:2048, numCols:32) workload_2DArrayTest(&A) } }