1. int mlcg_init( int n, unsigned long seed) This function is used to initialize the MLCG scale. n indicates which cannonical MLCG generator will be used in the subsequent calls of mlcg(...). n's value is equal to 16, 17, ..., or 44. if n's value is not in this set, the functions returns -1 and the initialization is failed. Otherwise, function returns 0. That means the initialization is successful. When seed is 0, the default seeds are used for all MLCG cannonical generators. When seed is larger than 0, its value will be used to compute the seeds of all generators. A sample call: mlcg_init( 17, 1); 2. unsigned long long mlcg() This function must be called after the call of mlcg_init( ...). The function returns the next number of the MLCG generator indicated in the call of mlcg_init( ...). if this function is called before the call of mlcg_init( ...), an error message will be printed and the returned value is 0. A sample call: unsigned long long i; mlcg_init( 32, 1234567); . . . i = mlcg(); 3. int lfg_init( int n, unsigned long seed) This function is used to initialize the LFG scale. n indicates which cannonical LFG generator will be used in the subsequent calls of mlcg(...). n's value is equal to 1, 2, ..., or 27. if n's value is not in this set, the functions returns -1 and the initialization is failed. Otherwise, function returns 0. That means the initialization is successful. When seed is 0, the default seeds are used for all LFG cannonical generators. When seed is larger than 0, its value will be used to compute the seeds of all generators. A sample call: lfg_init( 15, 0); 4. unsigned long long lfg() This function must be called after the call of lfg_init( ...). The function returns the next number of the LFG generator indicated in the call of lfg_init( ...). If this function is called before the call of lfg_init( ...), an error message will be printed and the returned value is 0. A sample call: unsigned long long i; lfg_init( 27, 1234567); . . . i = lfg(); 5. int shr3_init( int n, unsigned long seed) This function is used to initialize the SHR3 scale. n indicates which cannonical SHR3 generator will be used in the subsequent calls of shr3(...). n's value is equal to 21, 22, ..., or 48. if n's value is not in this set, the functions returns -1 and the initialization is failed. Otherwise, function returns 0. That means the initialization is successful. When seed is 0, the default seeds are used for all SHR3 cannonical generators. When seed is larger than 0, its value will be used to compute the seeds of all generators. A sample call: shr3_init( 15, 0); 6. unsigned long long shr3() This function must be called after the call of shr3_init( ...). The function returns the next number of the SHR3 generator indicated in the call of shr3_init( ...). If this function is called before the call of shr3_init( ...), an error message will be printed and the returned value is 0. A sample call: unsigned long long i; shr3_init( 32, 7654321); . . . i = shr3();