Macros | Functions | Variables
sirandom.c File Reference
#include "sirandom.h"

Go to the source code of this file.

Macros

#define A   16807 /* A "good" multiplier */
 
#define M   2147483647 /* Modulus: 2^31 - 1 */
 
#define Q   127773 /* M / A */
 
#define R   2836 /* M % A */
 

Functions

int siRandNext (int r)
 
int siRand ()
 
int siRandPlus1 (int r)
 

Variables

int siSeed = 1
 

Macro Definition Documentation

§ A

#define A   16807 /* A "good" multiplier */

Definition at line 23 of file sirandom.c.

§ M

else L M   2147483647 /* Modulus: 2^31 - 1 */

Definition at line 24 of file sirandom.c.

§ Q

#define Q   127773 /* M / A */

Definition at line 25 of file sirandom.c.

§ R

#define R   2836 /* M % A */

Definition at line 26 of file sirandom.c.

Function Documentation

§ siRand()

int siRand ( )

Definition at line 41 of file sirandom.c.

42 {
44  return siSeed;
45 }
int siRandNext(int r)
Definition: sirandom.c:31
int siSeed
Definition: sirandom.c:29

§ siRandNext()

int siRandNext ( int  r)

Definition at line 31 of file sirandom.c.

32 {
33  r = A * (r % Q) - R * (r / Q);
34 
35  if ( r < 0 )
36  r += M;
37 
38  return( r );
39 }
#define Q
Definition: sirandom.c:25
#define M
Definition: sirandom.c:24
const ring r
Definition: syzextra.cc:208
#define A
Definition: sirandom.c:23
#define R
Definition: sirandom.c:26

§ siRandPlus1()

int siRandPlus1 ( int  r)

Definition at line 46 of file sirandom.c.

47 {
48  return r+1;
49 }
const ring r
Definition: syzextra.cc:208

Variable Documentation

§ siSeed

int siSeed = 1

Definition at line 29 of file sirandom.c.