2017-06-25 18:02:54 +02:00
|
|
|
<?php
|
2022-02-17 03:25:59 +01:00
|
|
|
|
2017-06-25 18:02:54 +02:00
|
|
|
/**
|
|
|
|
* @author Andreas Fischer <bantu@phpbb.com>
|
|
|
|
* @copyright 2013 Andreas Fischer
|
|
|
|
* @license http://www.opensource.org/licenses/mit-license.html MIT License
|
|
|
|
*/
|
|
|
|
|
2022-06-04 17:31:21 +02:00
|
|
|
declare(strict_types=1);
|
|
|
|
|
2022-02-23 03:48:51 +01:00
|
|
|
namespace phpseclib3\Tests\Unit\Math\BigInteger;
|
|
|
|
|
2022-01-30 16:34:42 +01:00
|
|
|
use phpseclib3\Math\BigInteger\Engines\PHP32;
|
2017-06-25 18:02:54 +02:00
|
|
|
|
2022-02-23 03:48:51 +01:00
|
|
|
class PHP32Test extends TestCase
|
2017-06-25 18:02:54 +02:00
|
|
|
{
|
2022-06-04 17:31:21 +02:00
|
|
|
public static function setUpBeforeClass(): void
|
2017-06-25 18:02:54 +02:00
|
|
|
{
|
|
|
|
if (version_compare(PHP_VERSION, '7.0.0') < 0) {
|
|
|
|
self::markTestSkipped('32-bit integers slow things down too much on PHP 5.6');
|
|
|
|
}
|
2017-11-04 15:42:15 +01:00
|
|
|
|
2017-06-25 18:02:54 +02:00
|
|
|
PHP32::setModExpEngine('DefaultEngine');
|
|
|
|
}
|
|
|
|
|
2022-06-04 17:31:21 +02:00
|
|
|
public function getInstance($x = 0, $base = 10): PHP32
|
2017-06-25 18:02:54 +02:00
|
|
|
{
|
|
|
|
return new PHP32($x, $base);
|
|
|
|
}
|
|
|
|
|
2022-06-04 17:31:21 +02:00
|
|
|
public function testInternalRepresentation(): void
|
2017-06-25 18:02:54 +02:00
|
|
|
{
|
|
|
|
$x = new PHP32('FFFFFFFFFFFFFFFFC90FDA', 16);
|
|
|
|
$y = new PHP32("$x");
|
|
|
|
|
2022-06-27 00:16:17 +02:00
|
|
|
$this->assertEquals(self::getVar($x, 'value'), self::getVar($y, 'value'));
|
2017-06-25 18:02:54 +02:00
|
|
|
}
|
|
|
|
|
2022-06-04 17:31:21 +02:00
|
|
|
public static function getStaticClass(): string
|
2017-06-25 18:02:54 +02:00
|
|
|
{
|
2019-11-07 06:41:40 +01:00
|
|
|
return 'phpseclib3\Math\BigInteger\Engines\PHP32';
|
2017-06-25 18:02:54 +02:00
|
|
|
}
|
|
|
|
}
|