File: iarith2.java

package info (click to toggle)
cbmc 5.2-1~bpo8%2B1
  • links: PTS
  • area: main
  • in suites: jessie-backports
  • size: 84,268 kB
  • sloc: cpp: 177,758; ansic: 32,485; yacc: 3,550; lex: 1,778; makefile: 1,071; java: 1,039; sh: 717; python: 649; perl: 246; pascal: 141
file content (41 lines) | stat: -rw-r--r-- 667 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
class iarith2
{
  private static int i() {
    int value = 3;
    value &= 1;
    value |= 4;
    value ^= 4;
    value <<= 2;
    value >>= 1;
    value = -value;
    value >>>= 1;
    return value;
  }

  private static long l() {
    long value = 3L;
    value &= 1L;
    value |= 4L;
    value ^= 4L;
    value <<= 2L;
    value >>= 1L;
    value = -value;
    value >>>= 1L;
    return value;
  }

  private static void s() {
    short lhs = 127;
    short rhs = 32767;
    if (lhs < rhs) {
      return;
    }
    assert false;
  }

  public static void main(String[] args) {
    assert i() == 2147483647;
    assert l() == 9223372036854775807L;
    s();
  }
}