CHDK_DE Vorschauversion  Trunk Rev. 5232
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
rnd.c-Dateireferenz

gehe zum Quellcode dieser Datei

Makrodefinitionen

#define LONG_MAX   2147483647L
 

Funktionen

long rand_set_seed (long int sd)
 
long rand_get_seed ()
 
unsigned long int rand ()
 

Variablen

static long int quotient = LONG_MAX / 16807L
 
static long int remainder = LONG_MAX % 16807L
 
static long int seed_val = 1L
 

Makro-Dokumentation

#define LONG_MAX   2147483647L

Definiert in Zeile 1 der Datei rnd.c.

Dokumentation der Funktionen

unsigned long int rand ( void  )

Definiert in Zeile 20 der Datei rnd.c.

20  {
21  if ( seed_val <= quotient )
22  seed_val = (seed_val * 16807L) % LONG_MAX;
23  else {
24  long int high_part = seed_val / quotient;
25  long int low_part = seed_val % quotient;
26 
27  long int test = 16807L * low_part - remainder * high_part;
28 
29  if ( test > 0 )
30  seed_val = test;
31  else
32  seed_val = test + LONG_MAX;
33  }
34 
35  return seed_val;
36 }
long rand_get_seed ( )

Definiert in Zeile 15 der Datei rnd.c.

15  {
16  return seed_val;
17 }
long rand_set_seed ( long int  sd)

Definiert in Zeile 10 der Datei rnd.c.

10  {
11  return seed_val = sd;
12 }

Variablen-Dokumentation

long int quotient = LONG_MAX / 16807L
static

Definiert in Zeile 4 der Datei rnd.c.

long int remainder = LONG_MAX % 16807L
static

Definiert in Zeile 5 der Datei rnd.c.

long int seed_val = 1L
static

Definiert in Zeile 7 der Datei rnd.c.