AnonSec Shell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.112
Web Server : Apache
System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : coopiak ( 151928)
PHP Version : 8.3.23
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/coopiak/amisdesseniors-fr/lyon/libraries/vendor/fgrosse/phpasn1/lib/Utility/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/amisdesseniors-fr/lyon/libraries/vendor/fgrosse/phpasn1/lib/Utility/BigIntegerGmp.php
<?php
/*
 * This file is part of the PHPASN1 library.
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace FG\Utility;

/**
 * Class BigIntegerGmp
 * Integer representation of big numbers using the GMP extension to perform operations.
 * @package FG\Utility
 * @internal
 */
class BigIntegerGmp extends BigInteger
{
    /**
     * Resource handle.
     * @var \GMP
     */
    protected $_rh;

    public function __clone()
    {
        $this->_rh = gmp_add($this->_rh, 0);
    }

    protected function _fromString($str)
    {
        $this->_rh = gmp_init($str, 10);
    }

    protected function _fromInteger($integer)
    {
        $this->_rh = gmp_init($integer, 10);
    }

    public function __toString()
    {
        return gmp_strval($this->_rh, 10);
    }

    public function toInteger()
    {
        if ($this->compare(PHP_INT_MAX) > 0 || $this->compare(PHP_INT_MIN) < 0) {
            throw new \OverflowException(sprintf('Can not represent %s as integer.', $this));
        }
        return gmp_intval($this->_rh);
    }

    public function isNegative()
    {
        return gmp_sign($this->_rh) === -1;
    }

    protected function _unwrap($number)
    {
        if ($number instanceof self) {
            return $number->_rh;
        }
        return $number;
    }

    public function compare($number)
    {
        return gmp_cmp($this->_rh, $this->_unwrap($number));
    }

    public function add($b)
    {
        $ret = new self();
        $ret->_rh = gmp_add($this->_rh, $this->_unwrap($b));
        return $ret;
    }

    public function subtract($b)
    {
        $ret = new self();
        $ret->_rh = gmp_sub($this->_rh, $this->_unwrap($b));
        return $ret;
    }

    public function multiply($b)
    {
        $ret = new self();
        $ret->_rh = gmp_mul($this->_rh, $this->_unwrap($b));
        return $ret;
    }

    public function modulus($b)
    {
        $ret = new self();
        $ret->_rh = gmp_mod($this->_rh, $this->_unwrap($b));
        return $ret;
    }

    public function toPower($b)
    {
        if ($b instanceof self) {
            // gmp_pow accepts just an integer
            if ($b->compare(PHP_INT_MAX) > 0) {
                throw new \UnexpectedValueException('Unable to raise to power greater than PHP_INT_MAX.');
            }
            $b = gmp_intval($b->_rh);
        }
        $ret = new self();
        $ret->_rh = gmp_pow($this->_rh, $b);
        return $ret;
    }

    public function shiftRight($bits=8)
    {
        $ret = new self();
        $ret->_rh = gmp_div($this->_rh, gmp_pow(2, $bits));
        return $ret;
    }

    public function shiftLeft($bits=8)
    {
        $ret = new self();
        $ret->_rh = gmp_mul($this->_rh, gmp_pow(2, $bits));
        return $ret;
    }

    public function absoluteValue()
    {
        $ret = new self();
        $ret->_rh = gmp_abs($this->_rh);
        return $ret;
    }
}

Anon7 - 2022
AnonSec Team