//===--- PointerArithmetics.swift -----------------------------------------===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2018 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//

import TestsUtils

public let PointerArithmetics = [
  BenchmarkInfo(name: "PointerArithmetics", runFunction: run_PointerArithmetics, tags: [.validation, .api]),
]

@inline(never)
public func run_PointerArithmetics(_ N: Int) {
  var numbers = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

  var c = 0
  withUnsafePointer(to: &numbers) {
    $0.withMemoryRebound(to: Int.self, capacity: 10) { ptr in
      for _ in 1...N*10_000_000 {
        c += (ptr + getInt(10) - getInt(5)).pointee
      }
    }
  }
  CheckResults(c != 0)
}
