Random\Engine\PcgOneseq128XslRr64::__construct

(PHP 8 >= 8.2.0)

Random\Engine\PcgOneseq128XslRr64::__construct构造一个新的 PCG Oneseq 128 XSL RR 64 引擎

描述

public Random\Engine\PcgOneseq128XslRr64::__construct(string|int|null $seed = null)

警告

此函数目前未记录;仅提供其参数列表。

参数

seed

内部 128 位(16 字节)状态如何被播种,该状态由一个无符号的 128 位整数组成,取决于用作 seed 的类型。

类型 描述
null 使用 CSPRNG 生成 16 个随机字节来填充状态。
int 通过将状态设置为 0,将引擎前进一步,添加解释为无符号 64 位整数的 seed 的值,并将引擎再前进一步来填充状态。
string 通过将 16 字节的 string 解释为小端序无符号 128 位整数来填充状态。

错误/异常

示例

示例 #1 Random\Engine\PcgOneseq128XslRr64::__construct() 示例

<?php
// 使用随机的 128 位种子。
$e = new \Random\Engine\PcgOneseq128XslRr64();

$r = new \Random\Randomizer($e);
?>

示例 #2 从 string 派生种子

<?php
$string
= "My string seed";

// 使用二进制输出将字符串用截断的 SHA-256 哈希处理
// 将 $string 转换为 128 位种子。使用相同的
// 字符串将导致相同的随机序列。
$e = new \Random\Engine\PcgOneseq128XslRr64(
substr(hash('sha256', $string, binary: true), 0, 16)
);

echo
bin2hex($e->generate()), "\n";
?>

上面的示例将输出

8333ef59315b16d8
添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top