Rémy Oudompheng | fc3797a | 2012-02-22 00:19:59 +0100 | [diff] [blame] | 1 | // run |
Russ Cox | 11a978a | 2008-10-29 13:46:55 -0700 | [diff] [blame] | 2 | |
| 3 | // Copyright 2009 The Go Authors. All rights reserved. |
| 4 | // Use of this source code is governed by a BSD-style |
| 5 | // license that can be found in the LICENSE file. |
| 6 | |
| 7 | package main |
| 8 | |
Russ Cox | 839a684 | 2009-01-20 14:40:40 -0800 | [diff] [blame] | 9 | const B32 = 1<<32 - 1 |
Rob Pike | 325cf8e | 2010-03-24 16:46:53 -0700 | [diff] [blame] | 10 | const C32 = (-1) & ((1 << 32) - 1) |
Russ Cox | 839a684 | 2009-01-20 14:40:40 -0800 | [diff] [blame] | 11 | const D32 = ^0 |
Russ Cox | 11a978a | 2008-10-29 13:46:55 -0700 | [diff] [blame] | 12 | |
| 13 | func main() { |
| 14 | if B32 != 0xFFFFFFFF { |
Rob Pike | 325cf8e | 2010-03-24 16:46:53 -0700 | [diff] [blame] | 15 | println("1<<32 - 1 is", B32, "should be", 0xFFFFFFFF) |
| 16 | panic("fail") |
Russ Cox | 11a978a | 2008-10-29 13:46:55 -0700 | [diff] [blame] | 17 | } |
| 18 | if C32 != 0xFFFFFFFF { |
Rob Pike | 325cf8e | 2010-03-24 16:46:53 -0700 | [diff] [blame] | 19 | println("(-1) & ((1<<32) - 1) is", C32, "should be", 0xFFFFFFFF) |
| 20 | panic("fail") |
Russ Cox | 11a978a | 2008-10-29 13:46:55 -0700 | [diff] [blame] | 21 | } |
| 22 | if D32 != -1 { |
Rob Pike | 325cf8e | 2010-03-24 16:46:53 -0700 | [diff] [blame] | 23 | println("^0 is", D32, "should be", -1) |
| 24 | panic("fail") |
Russ Cox | 11a978a | 2008-10-29 13:46:55 -0700 | [diff] [blame] | 25 | } |
| 26 | } |