This is ElkinsEngine.h in view mode; [Download] [Up]
// // ElkinsEngine // // This is an Objective-C class which uses // the Random architecture from // Contemporary Design Studios. // // The ElkinsEngine class implements a random number generator with a cycle // length of 8.8 trillion. // // Upon creation of an ElkinsEngine, the seeds are set using the system clock. // Three calls are made to the system clock function, and for each the // microseconds are used as the seed value. Thus, the relationships between // the seeds are dependant upon system load. // // The algorithm used by the ElkinsEngine class is that given in the article: // "A Higly Random Random-Number Generator" by T.A. Elkins // Computer Language, 1989 December (Volume 6, Number 12), Page 59. // Published by: // Miller Freeman Publications // 500 Howard Street // San Francisco, CA 94105 // 415-397-1881 // // Copyright (C) 1992 Contemporary Design Studios. All rights reserved. // #import "RandomEngine.h" @interface ElkinsEngine : RandomEngine { ushort h1, h2, h3; // Seeds. } + (ulong)unit; - init; - initSeeds:(ushort)s1 // Init with seeds given. :(ushort)s2 :(ushort)s3; - newSeeds; // Get seeds from system time. - setSeeds:(ushort) s1 // Set seeds to those given. :(ushort) s2 :(ushort) s3; - getSeeds:(ushort *)s1 // Put the seeds into some vars. :(ushort *)s2 :(ushort *)s3; - makeRandom:(uchar *)storage; @end // // End of file. //
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.