Categories
  Encyclosphere.org ENCYCLOREADER
  supported by EncyclosphereKSF

Subtract with carry

From Wikipedia (Zh) - Reading time: 1 min

带进位减法(Subtract-with-carry)是一种时滞斐波那契伪随机数生成器 ,1991年由George Marsaglia英语George Marsaglia与Arif Zaman发明。[1]

算法

[编辑]

带进位减法的算法需用递推关系表示:

其中 .

常量SR分别称作短时滞与长时滞。[2]SR满足条件。 因此,表达式对应于序列中之前的第S项与第R项。取模操作M的值为,其中W是状态序列的字(word)的位长度,

带进位的减法与add-with-carry英语add-with-carrysubtract-with-borrow英语subtract-with-borrow为同一族随机数生产引擎。[1]

带进位的减法是C++11标准模板库中的三种随机数生成器之一。[3]

参考文献

[编辑]
  1. ^ 1.0 1.1 A New Class of Random Number Generators页面存档备份,存于互联网档案馆), George Marsaglia and Arif Zaman, The Annals of Applied Probability, Vol. 1, No. 3, 1991
  2. ^ subtract_with_carry_engine Class页面存档备份,存于互联网档案馆), Microsoft Visual Studio 2015
  3. ^ std::subtract_with_carry_engine页面存档备份,存于互联网档案馆), cppreference.com

Licensed under CC BY-SA 3.0 | Source: https://zh.wikipedia.org/wiki/Subtract_with_carry
4 views | Status: cached on November 13 2024 00:26:01
↧ Download this article as ZWI file
Encyclosphere.org EncycloReader is supported by the EncyclosphereKSF