ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/standard.h
Revision: 2.7
Committed: Wed Jan 10 09:10:58 1996 UTC (28 years, 3 months ago) by greg
Content type: text/plain
Branch: MAIN
Changes since 2.6: +2 -0 lines
Log Message:
added conditional define of PI

File Contents

# Content
1 /* Copyright (c) 1992 Regents of the University of California */
2
3 /* SCCSid "$SunId$ LBL" */
4
5 /*
6 * Miscellaneous definitions required by many routines.
7 */
8
9 #include <stdio.h>
10
11 #include <fcntl.h>
12
13 #include <math.h>
14
15 #include <errno.h>
16
17 #include "mat4.h"
18 /* regular transformation */
19 typedef struct {
20 MAT4 xfm; /* transform matrix */
21 FLOAT sca; /* scalefactor */
22 } XF;
23 /* complemetary tranformation */
24 typedef struct {
25 XF f; /* forward */
26 XF b; /* backward */
27 } FULLXF;
28
29 #ifndef PI
30 #ifdef M_PI
31 #define PI M_PI
32 #else
33 #define PI 3.14159265358979323846
34 #endif
35 #endif
36
37 #ifndef F_OK /* mode bits for access(2) call */
38 #define R_OK 4 /* readable */
39 #define W_OK 2 /* writable */
40 #define X_OK 1 /* executable */
41 #define F_OK 0 /* exists */
42 #endif
43 /* error codes */
44 #define WARNING 1 /* non-fatal error */
45 #define USER 2 /* fatal user-caused error */
46 #define SYSTEM 3 /* fatal system-related error */
47 #define INTERNAL 4 /* fatal program-related error */
48 #define CONSISTENCY 5 /* bad consistency check, abort */
49 #define COMMAND 6 /* interactive error */
50
51 extern char errmsg[]; /* global buffer for error messages */
52
53 /* memory operations */
54 #ifdef NOSTRUCTASS
55 #define copystruct(d,s) bcopy((char *)(s),(char *)(d),sizeof(*(d)))
56 #else
57 #define copystruct(d,s) (*(d) = *(s))
58 #endif
59
60 #ifndef BSD
61 #define bcopy(s,d,n) (void)memcpy(d,s,n)
62 #define bzero(d,n) (void)memset(d,0,n)
63 #define bcmp(b1,b2,n) memcmp(b1,b2,n)
64 #define index strchr
65 #define rindex strrchr
66 #endif
67
68 extern char *sskip();
69 extern char *getpath(), *getenv();
70 #ifndef malloc
71 extern char *malloc(), *calloc(), *realloc();
72 #endif
73 extern char *bmalloc(), *savestr(), *savqstr();
74
75 #ifdef DCL_ATOF
76 extern double atof();
77 #endif
78
79 #ifdef MSDOS
80 #define NIX 1
81 #endif
82 #ifdef AMIGA
83 #define NIX 1
84 #endif
85