• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP gmp_intval函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中gmp_intval函数的典型用法代码示例。如果您正苦于以下问题:PHP gmp_intval函数的具体用法?PHP gmp_intval怎么用?PHP gmp_intval使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了gmp_intval函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: centsValue

 /**
  * @return integer Or string, if the number is too big.
  */
 public function centsValue()
 {
     if (gmp_cmp(gmp_abs(gmp_init($this->cents, 10)), PHP_INT_MAX) > 0) {
         return $this->cents;
     }
     return gmp_intval(gmp_init($this->cents, 10));
 }
开发者ID:adispartadev,项目名称:money-math-php,代码行数:10,代码来源:Decimal2.php


示例2: sumT

function sumT($n)
{
    if (gmp_intval($n) == 1) {
        return gmp_init(1);
    }
    return gmp_add(gmp_sub(gmp_pow($n, 2), gmp_pow(gmp_init(gmp_intval($n) - 1), 2)), sumT(gmp_init(gmp_intval($n) - 1)));
    //return gmp_mod(gmp_add(gmp_sub(gmp_mod(gmp_pow($n, 2), '1000000007'), gmp_mod(gmp_pow(gmp_init(gmp_intval($n)-1), 2), '1000000007')), sumT(gmp_init(gmp_intval($n)-1))), '1000000007');
}
开发者ID:baotroy,项目名称:chal,代码行数:8,代码来源:index.php


示例3: getResult

 public function getResult($num)
 {
     // init
     $prime = 1;
     for ($i = 0; $i < $num; $i++) {
         $prime = gmp_nextprime($prime);
     }
     return gmp_intval($prime);
 }
开发者ID:alegriaghost,项目名称:project_euler,代码行数:9,代码来源:p007.php


示例4: GetValue

 /**
  * This will return either the integer value of the number or the string value
  * (if the integer value is too large). Use this when you prefer to receive
  * an integer, but you also don't want the number to be rounded down to the
  * maximum integer size if it is too large.
  *
  * @return string || int
  */
 public function GetValue()
 {
     $comparison = gmp_cmp($this->number, $this->int_max);
     if ($comparison > 0) {
         return gmp_strval($this->number);
     } else {
         return gmp_intval($this->number);
     }
 }
开发者ID:drmyersii,项目名称:numbers,代码行数:17,代码来源:NumberW.php


示例5: irand

 function irand($min, $max = null)
 {
     if (is_null($max)) {
         $max = $min;
         $min = 0;
     }
     $this->next();
     return gmp_intval(gmp_mod(gmp_init('0x' . $this->context), gmp_init($max - $min))) + $min;
 }
开发者ID:nyan-cat,项目名称:easyweb,代码行数:9,代码来源:generator.php


示例6: encodeSFixed64

 /**
  * {@inheritdoc}
  */
 public function encodeSFixed64($sFixed64)
 {
     $value = $this->is32Bit ? gmp_and($sFixed64, '0x0ffffffffffffffff') : gmp_init(sprintf('%u', $sFixed64));
     $bytes = '';
     for ($i = 0; $i < 8; ++$i) {
         $bytes .= chr(gmp_intval(gmp_and($value, $this->gmp_xff)));
         $value = gmp_div_q($value, $this->gmp_x100);
     }
     return $bytes;
 }
开发者ID:protobuf-php,项目名称:protobuf,代码行数:13,代码来源:GmpNegativeEncoder.php


示例7: testPutTAGLong

 /**
  * @dataProvider providerTestTAGLong
  */
 public function testPutTAGLong($value)
 {
     $fPtr = fopen($this->vFile->url(), 'wb');
     // 32-bit longs seem to be too long for pack() on 32-bit machines. Split into 4x16-bit instead.
     $quarters[0] = gmp_div(gmp_and($value, '0xFFFF000000000000'), gmp_pow(2, 48));
     $quarters[1] = gmp_div(gmp_and($value, '0x0000FFFF00000000'), gmp_pow(2, 32));
     $quarters[2] = gmp_div(gmp_and($value, '0x00000000FFFF0000'), gmp_pow(2, 16));
     $quarters[3] = gmp_and($value, '0xFFFF');
     $binary = pack('nnnn', gmp_intval($quarters[0]), gmp_intval($quarters[1]), gmp_intval($quarters[2]), gmp_intval($quarters[3]));
     $this->dataHandler->putTAGLong($fPtr, $value);
     $this->assertSame($binary, $this->vFile->getContent());
 }
开发者ID:rickselby,项目名称:nbt,代码行数:15,代码来源:DataHandlerLong32Test.php


示例8: decode

 /**
  * Decode an integer.
  *
  * @param  int $value
  * @return int
  */
 public function decode($value)
 {
     if (!is_numeric($value)) {
         throw new InvalidArgumentException('Argument should be an integer');
     }
     switch (static::$mode) {
         case static::MODE_GMP:
             return gmp_intval(gmp_mul((int) $value ^ $this->xor, $this->inverse)) & static::MAX_INT;
         default:
             return ((int) $value ^ $this->xor) * $this->inverse & static::MAX_INT;
     }
 }
开发者ID:vienis,项目名称:optimus,代码行数:18,代码来源:Optimus.php


示例9: getGCD

 public static function getGCD($numberA, $numberB)
 {
     if (!self::isInteger($numberA) | !self::isInteger($numberB)) {
         throw new \InvalidArgumentException("GCD number must be an integer");
     }
     if (function_exists("gmp_gcd")) {
         return gmp_intval(gmp_gcd($numberA, $numberB));
     }
     if ($numberA == 0 || $numberB == 0) {
         return max(abs($numberA), abs($numberB));
     }
     $r = $numberA % $numberB;
     return $r != 0 ? self::getGCD($numberB, $r) : abs($numberB);
 }
开发者ID:thelia,项目名称:math-tools,代码行数:14,代码来源:GCD.php


示例10: base58_encode

function base58_encode($string)
{
    $table = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
    $long_value = gmp_init(bin2hex($string), 16);
    $result = '';
    while (gmp_cmp($long_value, 58) > 0) {
        list($long_value, $mod) = gmp_div_qr($long_value, 58);
        $result .= $table[gmp_intval($mod)];
    }
    $result .= $table[gmp_intval($long_value)];
    for ($nPad = 0; $string[$nPad] == ""; ++$nPad) {
    }
    return str_repeat($table[0], $nPad) . strrev($result);
}
开发者ID:kkirsche,项目名称:Etcetera,代码行数:14,代码来源:bitcoin.php


示例11: convertFractions

 public function convertFractions(array $number)
 {
     $target = gmp_init($this->target->getRadix());
     $dividend = $this->getDecimal($number);
     $divisor = $this->getDecimal([$this->source->getDigit(1)] + array_fill(1, max(count($number), 1), $this->source->getDigit(0)));
     $digits = $this->getFractionDigitCount(count($number));
     $zero = gmp_init('0');
     $result = [];
     for ($i = 0; $i < $digits && gmp_cmp($dividend, $zero) > 0; $i++) {
         list($digit, $dividend) = gmp_div_qr(gmp_mul($dividend, $target), $divisor);
         $result[] = gmp_intval($digit);
     }
     return $this->target->getDigits(empty($result) ? [0] : $result);
 }
开发者ID:riimu,项目名称:kit-baseconversion,代码行数:14,代码来源:DecimalConverter.php


示例12: totalPages

 public function totalPages()
 {
     $remainder = gmp_div_r(count($this->items_array), $this->items_x_page);
     $quotient = gmp_intval(gmp_div_q(count($this->items_array), $this->items_x_page));
     if ($quotient > 0) {
         if ($remainder > 0) {
             $this->total_pages = $quotient + 1;
         } else {
             $this->total_pages = $quotient;
         }
     } else {
         $this->total_pages = 1;
     }
     return $this->total_pages;
 }
开发者ID:MaikelSC,项目名称:mmelectric-website,代码行数:15,代码来源:Paginate.php


示例13: __construct

 /**
  * @param int $nominator
  * @param int $denominator
  */
 public function __construct($nominator, $denominator = 1)
 {
     if ($nominator == 0) {
         $denominator = 1;
     } else {
         if (function_exists('gmp_gcd')) {
             $gcd = gmp_intval(gmp_gcd((string) $nominator, (string) $denominator));
             $nominator /= $gcd;
             $denominator /= $gcd;
         } else {
             if ($nominator / $denominator == (int) ($nominator / $denominator)) {
                 $nominator = $nominator / $denominator;
                 $denominator = 1;
             }
         }
     }
     $this->denominator = $denominator;
     $this->nominator = $nominator;
 }
开发者ID:groupcash,项目名称:php,代码行数:23,代码来源:Fraction.php


示例14: encodeBase58

 /**
  * Encode a binary string to base58
  *
  * @param $binary
  * @return string
  * @throws \Exception
  */
 protected function encodeBase58($binary_bitcoin_address)
 {
     $size = strlen($binary_bitcoin_address);
     if ($size == 0) {
         return '';
     }
     $orig = $binary_bitcoin_address;
     $decimal = gmp_import($binary_bitcoin_address);
     $return = "";
     while (gmp_cmp($decimal, 0) > 0) {
         list($decimal, $rem) = gmp_div_qr($decimal, 58);
         $return = $return . self::$BASE_58_CHARS[gmp_intval($rem)];
     }
     $return = strrev($return);
     //leading zeros
     for ($i = 0; $i < $size && $orig[$i] == ""; $i++) {
         $return = "1" . $return;
     }
     return $return;
 }
开发者ID:tokenly,项目名称:swapbot-op-return,代码行数:27,代码来源:AddressConverter.php


示例15: testConstructInitializeGmpValues

 public function testConstructInitializeGmpValues()
 {
     $encoder = new GmpNegativeEncoder();
     $gmp_x00 = $this->getPropertyValue($encoder, 'gmp_x00');
     $gmp_x7f = $this->getPropertyValue($encoder, 'gmp_x7f');
     $gmp_x80 = $this->getPropertyValue($encoder, 'gmp_x80');
     $gmp_xff = $this->getPropertyValue($encoder, 'gmp_xff');
     $gmp_x100 = $this->getPropertyValue($encoder, 'gmp_x100');
     $is32Bit = $this->getPropertyValue($encoder, 'is32Bit');
     $this->assertNotNull($gmp_x00);
     $this->assertNotNull($gmp_x7f);
     $this->assertNotNull($gmp_x80);
     $this->assertNotNull($gmp_xff);
     $this->assertNotNull($gmp_x100);
     $this->assertEquals(0, gmp_intval($gmp_x00));
     $this->assertEquals(127, gmp_intval($gmp_x7f));
     $this->assertEquals(128, gmp_intval($gmp_x80));
     $this->assertEquals(255, gmp_intval($gmp_xff));
     $this->assertEquals(256, gmp_intval($gmp_x100));
     $this->assertEquals(BigEndian::is32Bit(), $is32Bit);
 }
开发者ID:protobuf-php,项目名称:protobuf,代码行数:21,代码来源:GmpNegativeEncoderTest.php


示例16: set

 public function set($value)
 {
     $size = static::INTEGER_BITS;
     // Versions before PHP 5.6 used resources to represent big numbers
     // while new versions use objects instead.
     if (is_resource($value) && get_resource_type($value) === 'GMP integer' || $value instanceof \GMP) {
         // It is already a GMP integer.
     } else {
         $value = @gmp_init($value, 10);
     }
     if ($value === false) {
         throw new \InvalidArgumentException("Expected a signed {$size}-bits integer value");
     }
     // Check type bounds.
     $binval = gmp_strval($value, 2);
     if (!strncmp($binval, '-1', 2)) {
         $binval = (string) substr($binval, 2);
     }
     if (strlen($binval) >= $size) {
         throw new \InvalidArgumentException("Expected a signed {$size}-bits integer value");
     }
     $this->value = $size <= 32 ? gmp_intval($value) : $value;
 }
开发者ID:fpoirotte,项目名称:xrl,代码行数:23,代码来源:AbstractInteger.php


示例17: next

 protected function next($bits)
 {
     $temp = function_exists('gmp_mul') ? gmp_intval(gmp_mul($this->seed, self::MULTIPLIER)) : self::int_mul($this->seed, self::MULTIPLIER);
     $this->seed = self::mask($temp + self::ADDEND);
     return self::i32(self::rshiftu($this->seed, 48 - $bits));
 }
开发者ID:steos,项目名称:php-quickcheck,代码行数:6,代码来源:Random.php


示例18: gmp_dec2base

 public static function gmp_dec2base($dec, $base, $digits = FALSE)
 {
     if (extension_loaded('gmp')) {
         if ($base < 2 or $base > 256) {
             die("Invalid Base: " . $base);
         }
         $value = "";
         if (!$digits) {
             $digits = self::digits($base);
         }
         $dec = gmp_init($dec);
         $base = gmp_init($base);
         while (gmp_cmp($dec, gmp_sub($base, '1')) > 0) {
             $rest = gmp_mod($dec, $base);
             $dec = gmp_div($dec, $base);
             $value = $digits[gmp_intval($rest)] . $value;
         }
         $value = $digits[gmp_intval($dec)] . $value;
         return (string) $value;
     } else {
         throw new ErrorException("Please install GMP");
     }
 }
开发者ID:jgabrielfreitas,项目名称:MultipagosTestesAPP,代码行数:23,代码来源:gmp_Utils.php


示例19: toDER

 /**
  *
  * @see Encodable::toDER()
  * @return string
  */
 public function toDER()
 {
     $bytes = array();
     $byte = $this->_class << 6 | $this->_pc << 5;
     $tag = gmp_init($this->_tag, 10);
     if ($tag < 0x1f) {
         $bytes[] = $byte | $tag;
     } else {
         // long-form identifier
         $bytes[] = $byte | 0x1f;
         $octets = array();
         for (; $tag > 0; $tag >>= 7) {
             array_push($octets, gmp_intval(0x80 | $tag & 0x7f));
         }
         // last octet has bit 8 set to zero
         $octets[0] &= 0x7f;
         foreach (array_reverse($octets) as $octet) {
             $bytes[] = $octet;
         }
     }
     return pack("C*", ...$bytes);
 }
开发者ID:sop,项目名称:asn1,代码行数:27,代码来源:Identifier.php


示例20: GetIntVal

 public static function GetIntVal($Number)
 {
     return gmp_intval($Number);
 }
开发者ID:davispuh,项目名称:php-utils,代码行数:4,代码来源:Utilities.php



注:本文中的gmp_intval函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP gmp_invert函数代码示例发布时间:2022-05-15
下一篇:
PHP gmp_init函数代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap