2 declare(strict_types=1);
14 $bigint =
new Bigint(0x12345678);
15 $this->assertSame(
'0x0000000012345678', $bigint->getHex64());
16 $this->assertSame(0x12345678, $bigint->getLow32());
17 $this->assertSame(0, $bigint->getHigh32());
22 $bigint =
new Bigint(0x87654321);
23 $this->assertSame(
'0x0000000087654321', $bigint->getHex64());
24 $this->assertSame(
'87654321', bin2hex(pack(
'N', $bigint->getLow32())));
25 $this->assertSame(0, $bigint->getHigh32());
32 $this->assertSame(3, $bigint->getLow32());
33 $this->assertFalse($bigint->isOver32());
34 $this->assertTrue($bigint->isOver32(
true));
35 $this->assertSame($bigint->getLowFF(), (float)$bigint->getLow32());
36 $this->assertSame($bigint->getLowFF(
true), (float)0xFFFFFFFF);
41 $bigint =
new Bigint(0xFF);
43 $this->assertSame(0x100, $bigint->getLow32());
48 $bigint =
new Bigint(0xFFFFFFFE);
49 $this->assertFalse($bigint->isOver32());
51 $this->assertTrue($bigint->isOver32());
53 $this->assertSame(
'0x0000000100000000', $bigint->getHex64());
54 $this->assertTrue($bigint->isOver32());
55 $this->assertSame((
float)0xFFFFFFFF, $bigint->getLowFF());
61 $this->assertSame(
'0xFFFFFFFFFFFFFFFF', $bigint->getHex64());
62 $this->expectException(OverflowException::class);
static init(int $value=0)
Get an instance.
testAddWithOverflowAtInteger64()
static fromLowHigh(int $low, int $high)
Fill bytes from low to high.
testAddWithOverflowAtInteger32()
testAddWithOverflowAtLowestByte()