FreeBSD Manual Pages
std::random...ice::entropy(3) C++ Standard Libarystd::random...ice::entropy(3) NAME std::random_device::entropy - std::random_device::entropy Synopsis double entropy() const noexcept; (since C++11) Obtains an estimate of the random number device entropy, which is a floating-point value between 0 and log 2(max()+1) (which is equal to std::numeric_limits<unsigned int>::digits). If the device has n states whose individual probabilities are P 0,...,P n-1, the device entropy S is defined as S = -n-1 i=0 P ilog(P i) A deterministic random number generator (e.g. a pseudo-random en- gine) has entropy zero. Return value The value of the device entropy, or zero if not applicable. Notes This function is not fully implemented in some standard libraries. For example, LLVM libc++ prior to version 12 always returns zero even though the de- vice is non-deterministic. In comparison, Microsoft Visual C++ implementa- tion always returns 32, and boost.random returns 10. The entropy of the Linux kernel device /dev/urandom may be obtained using ioctl RNDGETENTCNT - that's what std::random_device::entropy() in GNU lib- stdc++ uses as of version 8.1 Example Example output on one of the implementations // Run this code #include <iostream> #include <random> int main() { std::random_device rd; std::cout << rd.entropy() << '\n'; } Possible output: 32 http://cppreference.com 2022.07.31 std::random...ice::entropy(3)
NAME | Synopsis | Return value | Notes | Example | Possible output:
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::random_device::entropy&sektion=3&manpath=FreeBSD+Ports+15.0>
