Skip to content

Latest commit

 

History

History
60 lines (45 loc) · 1.6 KB

entropy.md

File metadata and controls

60 lines (45 loc) · 1.6 KB

entropy

  • random[meta header]
  • std[meta namespace]
  • random_device[meta class]
  • function[meta id-type]
  • cpp11[meta cpp]
double entropy() const noexcept;

概要

エントロピー(乱数の乱雑さの度合い)を取得する。

戻り値

実装が非決定論的な乱数を持っておらず、擬似乱数を使用する場合には乱雑さがないため、0.0が返る。
そうでなければ、min()からlog2(max() + 1)の範囲において、operator()によって返される乱数の乱雑さの度合いを返す。

備考

  • GCC (libstdc++) は、バージョン7系までは常に0.0を返す。8.1からは、GNU/Linux環境でカーネルのエントロピー数にアクセスできればその値を返す
  • Clang (libc++) は、常に0.0を返す。
  • Visual C++は、常に32を返す。
  • Boost.Randomのrandom_device::entropy()は常に10を返す。

#include <iostream>
#include <random>

int main()
{
  std::random_device rd;

  double result = rd.entropy();
  std::cout << result << std::endl;
}
  • entropy()[color ff0000]

出力

0

バージョン

言語

  • C++11

処理系

  • Clang: ??
  • GCC: 4.7.2 [mark verified]
  • ICC: ??
  • Visual C++: 2010 [mark verified], 2012 [mark verified], 2013 [mark verified], 2015 [mark verified], 2017 [mark verified]

参照