vm/src/test/java/org/apidesign/vm4brwsr/NumberTest.java
brancharithmetic
changeset 629 2d537f8cd604
parent 628 e606853325f1
child 630 04e312a7887e
     1.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/NumberTest.java	Thu Jan 31 20:37:12 2013 +0100
     1.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/NumberTest.java	Fri Feb 01 06:09:18 2013 +0100
     1.3 @@ -255,6 +255,42 @@
     1.4                  45);
     1.5      }
     1.6      
     1.7 +    @Test public void longUShiftR1() throws Exception {
     1.8 +        final long res = 0x00fa37d7763e0ca1l >>> 5;
     1.9 +        assertExec("Long >>> 5",
    1.10 +            Numbers.class, "ushrL__J_3BI", 
    1.11 +            Double.valueOf(res),
    1.12 +                new byte[] { (byte)0x00, (byte)0xfa, (byte)0x37, (byte)0xd7, (byte)0x76, (byte)0x3e, (byte)0x0c, (byte)0xa1 },
    1.13 +                5);
    1.14 +    }
    1.15 +    
    1.16 +    @Test public void longUShiftR2() throws Exception {
    1.17 +        final long res = 0x00fa37d7763e0ca1l >>> 45;
    1.18 +        assertExec("Long >>> 45",
    1.19 +            Numbers.class, "ushrL__J_3BI", 
    1.20 +            Double.valueOf(res),
    1.21 +                new byte[] { (byte)0x00, (byte)0xfa, (byte)0x37, (byte)0xd7, (byte)0x76, (byte)0x3e, (byte)0x0c, (byte)0xa1 },
    1.22 +                45);
    1.23 +    }
    1.24 +    
    1.25 +    @Test public void longUShiftR3() throws Exception {
    1.26 +        final long res = 0xf0fa37d7763e0ca1l >>> 5;
    1.27 +        assertExec("Long >>> 5",
    1.28 +            Numbers.class, "ushrL__J_3BI", 
    1.29 +            Double.valueOf(res),
    1.30 +                new byte[] { (byte)0xf0, (byte)0xfa, (byte)0x37, (byte)0xd7, (byte)0x76, (byte)0x3e, (byte)0x0c, (byte)0xa1 },
    1.31 +                5);
    1.32 +    }
    1.33 +    
    1.34 +    @Test public void longUShiftR4() throws Exception {
    1.35 +        final long res = 0xf0fa37d7763e0ca1l >>> 45;
    1.36 +        assertExec("Long >>> 45",
    1.37 +            Numbers.class, "ushrL__J_3BI", 
    1.38 +            Double.valueOf(res),
    1.39 +                new byte[] { (byte)0xf0, (byte)0xfa, (byte)0x37, (byte)0xd7, (byte)0x76, (byte)0x3e, (byte)0x0c, (byte)0xa1 },
    1.40 +                45);
    1.41 +    }
    1.42 +    
    1.43      @Test public void longAnd() throws Exception {
    1.44          final long res = 0x00fa37d7763e0ca1l & 0xa7b3432fff00123el;
    1.45          assertExec("LOng binary AND",