Forum Replies Created
- gideony2ParticipantDecember 16, 2018 at 10:27 amPost count: 9
Classic case of slowdown due to global rounding mode is
the rules say you chop, and on the 80×87 this forces rounding mode to change twice, which costs a few
dozen cycles; see http://stereopsis.com/FPU.html.
There is a special optimization https://docs.microsoft.com/en-us/cpp/build/reference/qifist-suppress-ftol?view=vs-2017 to avoid this double change and allow rounding.
- This reply was modified 4 years, 1 month ago by gideony2.
- gideony2ParticipantJuly 6, 2015 at 7:23 pmPost count: 9
(1) decent crypto is just plain cheap; and: does an LFSR _have_ a middle? (if all bits were shifted 17 bits around, it would be just as good an LFSR)
I don’t know how to think about pseudo-random (it is supposed to look random, unless you play “unfairly”); I do know how to think about crypto: if the key is secret, distinguishing the output from random is _VERY_ expensive.
(2) without randomized rounding, 1+0.1+0.1+0.1+0.1 …. (all the way across 100 pages; rounded to integer) will still be 1. Randomized, it will be 0.1*(# of adds), +- epsilon.
- gideony2ParticipantJuly 6, 2015 at 5:30 pmPost count: 9
If you go for stochastic rounding, make sure the random numbers are decent (some are not — see https://en.wikipedia.org/wiki/RANDU ).
Simplest fix: stream cipher with exportable key-length (or: encrypt 0,1,2… under a block-cipher — also exportable, if jail-time is an issue)
- gideony2ParticipantDecember 18, 2018 at 10:34 amPost count: 9