Odečíst s carry - Subtract with carry
![]() | tento článek může být pro většinu čtenářů příliš technická na to, aby tomu rozuměli. Prosím pomozte to vylepšit na aby to bylo srozumitelné pro neodborníky, aniž by byly odstraněny technické podrobnosti. (červenec 2013) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) |
Odečíst s nošením je generátor pseudonáhodných čísel z zaostával Fibonacci typ zavedený George Marsaglia a Arif Zaman v roce 1991.[1]
Algoritmus
Sekvence generovaná motorem odečíst s přenosem může být popsána pomocí relace opakování:
kde .
Konstanty S a R jsou známé jako krátké a dlouhé zpoždění.[2]Proto výrazy a odpovídají S-th a R-tý předchozí termín sekvence.S a R podmínku splnit .Modul M má hodnotu , kde Ž je velikost slova v bitech stavové sekvence a .
Motor odečítání s přenášením je jednou z rodiny generátorů, která také zahrnuje přidat-nosit a odečíst s půjčením motory.[1]
Je to jeden ze tří motorů generátorů náhodných čísel obsažených ve standardu C ++ 11 knihovna.[3]
Reference
- ^ A b Nová třída generátorů náhodných čísel George Marsaglia a Arif Zaman, The Annals of Applied Probability, sv. 1, č. 3, 1991
- ^ subtract_with_carry_engine Třída, Microsoft Visual Studio 2015
- ^ std :: subtract_with_carry_engine, cppreference.com