Example #1
0
 public function test_uint32_and()
 {
     $this->assertEquals(0.0, uint32_and(0.0, 0.0));
     $this->assertEquals(0.0, uint32_and(0.0, 1.0));
     $this->assertEquals(0.0, uint32_and(0.0, 2.0));
     $this->assertEquals(0.0, uint32_and(0.0, 3.0));
     $this->assertEquals(0.0, uint32_and(0.0, 4.0));
     $this->assertEquals(0.0, uint32_and(0.0, 5.0));
     $this->assertEquals(0.0, uint32_and(0.0, 6.0));
     $this->assertEquals(0.0, uint32_and(1.0, 0.0));
     $this->assertEquals(1.0, uint32_and(1.0, 1.0));
     $this->assertEquals(0.0, uint32_and(1.0, 2.0));
     $this->assertEquals(1.0, uint32_and(1.0, 3.0));
     $this->assertEquals(0.0, uint32_and(1.0, 4.0));
     $this->assertEquals(1.0, uint32_and(1.0, 5.0));
     $this->assertEquals(0.0, uint32_and(1.0, 6.0));
     $this->assertEquals(0.0, uint32_and(2.0, 0.0));
     $this->assertEquals(0.0, uint32_and(2.0, 1.0));
     $this->assertEquals(2.0, uint32_and(2.0, 2.0));
     $this->assertEquals(2.0, uint32_and(2.0, 3.0));
     $this->assertEquals(0.0, uint32_and(2.0, 4.0));
     $this->assertEquals(0.0, uint32_and(2.0, 5.0));
     $this->assertEquals(2.0, uint32_and(2.0, 6.0));
     $this->assertEquals(0.0, uint32_and(3.0, 0.0));
     $this->assertEquals(1.0, uint32_and(3.0, 1.0));
     $this->assertEquals(2.0, uint32_and(3.0, 2.0));
     $this->assertEquals(3.0, uint32_and(3.0, 3.0));
     $this->assertEquals(0.0, uint32_and(3.0, 4.0));
     $this->assertEquals(1.0, uint32_and(3.0, 5.0));
     $this->assertEquals(2.0, uint32_and(3.0, 6.0));
     $this->assertEquals(0.0, uint32_and(4.0, 0.0));
     $this->assertEquals(0.0, uint32_and(4.0, 1.0));
     $this->assertEquals(0.0, uint32_and(4.0, 2.0));
     $this->assertEquals(0.0, uint32_and(4.0, 3.0));
     $this->assertEquals(4.0, uint32_and(4.0, 4.0));
     $this->assertEquals(4.0, uint32_and(4.0, 5.0));
     $this->assertEquals(4.0, uint32_and(4.0, 6.0));
     $this->assertEquals(0.0, uint32_and(5.0, 0.0));
     $this->assertEquals(1.0, uint32_and(5.0, 1.0));
     $this->assertEquals(0.0, uint32_and(5.0, 2.0));
     $this->assertEquals(1.0, uint32_and(5.0, 3.0));
     $this->assertEquals(4.0, uint32_and(5.0, 4.0));
     $this->assertEquals(5.0, uint32_and(5.0, 5.0));
     $this->assertEquals(4.0, uint32_and(5.0, 6.0));
     $this->assertEquals(0.0, uint32_and(6.0, 0.0));
     $this->assertEquals(0.0, uint32_and(6.0, 1.0));
     $this->assertEquals(2.0, uint32_and(6.0, 2.0));
     $this->assertEquals(2.0, uint32_and(6.0, 3.0));
     $this->assertEquals(4.0, uint32_and(6.0, 4.0));
     $this->assertEquals(4.0, uint32_and(6.0, 5.0));
     $this->assertEquals(6.0, uint32_and(6.0, 6.0));
 }
Example #2
0
function uint32_hex($a)
{
    return sprintf("%02s%02s%02s%02s", dechex(uint32_rsh(uint32_and($a, 0xff000000), 24)), dechex(uint32_rsh(uint32_and($a, 0xff0000), 16)), dechex(uint32_rsh(uint32_and($a, 0xff00), 8)), dechex(uint32_and($a, 0xff)));
}