// 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: Int64 = 1 &<< 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