mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
105 lines
1.9 KiB
Swift
105 lines
1.9 KiB
Swift
// RUN: %target-run-simple-swift | FileCheck %s
|
|
// REQUIRES: executable_test
|
|
|
|
import Swift
|
|
|
|
struct BitVector64 {
|
|
var bits : Int64
|
|
|
|
subscript (bit : Int) -> Bool {
|
|
get {
|
|
if (bits & (1 << Int64(bit))) != 0 {
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
set {
|
|
var mask = 1 << Int64(bit)
|
|
if newValue {
|
|
bits = bits | mask
|
|
} else {
|
|
bits = bits & ~mask
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Create an empty bitvector
|
|
var vec = BitVector64(bits: 0)
|
|
|
|
// Set even elements to 'true'.
|
|
for i in 0..<64 {
|
|
if i % 2 == 0 {
|
|
vec[i] = true
|
|
}
|
|
}
|
|
|
|
// Print all elements
|
|
for i in 0..<64 {
|
|
print("\(vec[i])")
|
|
}
|
|
// CHECK: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|
|
// CHECK-NEXT: true
|
|
// CHECK-NEXT: false
|