Subtract with carry

带进位减法（Subtract-with-carry）是一种时滞斐波那契伪随机数生成器 ，1991年由与Arif Zaman发明。A New Class of Random Number Generators , George Marsaglia and Arif Zaman, The Annals of Applied Probability, Vol. 1, No. 3, 1991

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

其中 .

常量S与R分别称作短时滞与长时滞。subtract_with_carry_engine Class , Microsoft Visual Studio 2015S与R满足条件。
因此，表达式与对应于序列中之前的第S项与第R项。取模操作M的值为，其中W是状态序列的字（word）的位长度，。

带进位的减法与、为同一族随机数生产引擎。

带进位的减法是C++11标准模板库中的三种随机数生成器之一。std::subtract_with_carry_engine , cppreference.com

参考文献

Category:伪随机数生成器