ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/random.h
Revision: 2.4
Committed: Tue Feb 13 11:32:17 1996 UTC (28 years, 2 months ago) by greg
Content type: text/plain
Branch: MAIN
Changes since 2.3: +4 -0 lines
Log Message:
added MC macro for true Monte Carlo sampling

File Contents

# Content
1 /* Copyright (c) 1992 Regents of the University of California */
2
3 /* SCCSid "$SunId$ LBL" */
4
5 /*
6 * random.h - header file for random(3) and urand() function.
7 *
8 * 10/1/85
9 */
10
11 #ifdef MSDOS
12
13 #define random() ((long)rand()<<16^(long)rand()<<6^(long)rand()>>4)
14
15 #define frandom() (rand()*(1./32768.))
16
17 #else
18 #ifdef BSD
19
20 extern long random();
21
22 #define frandom() (random()*(1./2147483648.))
23
24 #else
25
26 extern long lrand48();
27 extern double drand48();
28
29 #define random() lrand48()
30 #define frandom() drand48()
31
32 #endif
33 #endif
34
35 #ifdef MC
36 #define urand(i) frandom()
37 #else
38 #define urand(i) ((urperm[(i)&urmask]+frandom())/(urmask+1))
39 #endif
40
41 extern short *urperm;
42 extern int urmask;