ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/standard.h
(Generate patch)

Comparing ray/src/common/standard.h (file contents):
Revision 1.3 by greg, Thu Jan 18 23:58:53 1990 UTC vs.
Revision 2.14 by gwlarson, Wed Dec 16 18:16:12 1998 UTC

# Line 1 | Line 1
1 < /* Copyright (c) 1988 Regents of the University of California */
1 > /* Copyright (c) 1998 Silicon Graphics, Inc. */
2  
3 < /* SCCSid "$SunId$ LBL" */
3 > /* SCCSid "$SunId$ SGI" */
4  
5   /*
6   *      Miscellaneous definitions required by many routines.
# Line 8 | Line 8
8  
9   #include  <stdio.h>
10  
11 + #include  <sys/types.h>
12 +
13 + #include  <fcntl.h>
14 +
15   #include  <math.h>
16  
17   #include  <errno.h>
18  
19 < #include  "fvect.h"
19 > #include  "mat4.h"
20 >                                /* regular transformation */
21 > typedef struct {
22 >        MAT4  xfm;                              /* transform matrix */
23 >        FLOAT  sca;                             /* scalefactor */
24 > }  XF;
25 >                                /* complemetary tranformation */
26 > typedef struct {
27 >        XF  f;                                  /* forward */
28 >        XF  b;                                  /* backward */
29 > }  FULLXF;
30  
31 < #define  FHUGE          (1e10)          /* large real number */
32 < #define  FTINY          (1e-6)          /* small real number */
33 <
20 < #ifdef  M_PI
21 < #define  PI             M_PI
31 > #ifndef  PI
32 > #ifdef  M_PI
33 > #define  PI             ((double)M_PI)
34   #else
35 < #define  PI             3.14159265358979323846
35 > #define  PI             3.14159265358979323846
36   #endif
37 + #endif
38  
39 < #ifndef  F_OK                   /* mode bits for access(2) call */
40 < #define  R_OK           4               /* readable */
41 < #define  W_OK           2               /* writable */
42 < #define  X_OK           1               /* executable */
43 < #define  F_OK           0               /* exists */
39 > #ifndef  F_OK                   /* mode bits for access(2) call */
40 > #define  R_OK           4               /* readable */
41 > #define  W_OK           2               /* writable */
42 > #define  X_OK           1               /* executable */
43 > #define  F_OK           0               /* exists */
44   #endif
45 +
46 + #ifndef  int2
47 + #define  int2           short           /* two-byte integer */
48 + #endif
49 + #ifndef  int4
50 + #define  int4           int             /* four-byte integer */
51 + #endif
52 +
53 + extern int  eputs(), wputs();   /* standard error output functions */
54 +
55                                  /* error codes */
56 < #define  WARNING        1               /* non-fatal error */
57 < #define  USER           2               /* fatal user-caused error */
58 < #define  SYSTEM         3               /* fatal system-related error */
59 < #define  INTERNAL       4               /* fatal program-related error */
60 < #define  CONSISTENCY    5               /* bad consistency check, abort */
61 < #define  COMMAND        6               /* interactive error */
56 > #define  WARNING        0               /* non-fatal error */
57 > #define  USER           1               /* fatal user-caused error */
58 > #define  SYSTEM         2               /* fatal system-related error */
59 > #define  INTERNAL       3               /* fatal program-related error */
60 > #define  CONSISTENCY    4               /* bad consistency check, abort */
61 > #define  COMMAND        5               /* interactive error */
62 > #define  NERRS          6
63 >                                /* error struct */
64 > extern struct erract {
65 >        char    pre[16];                /* prefix message */
66 >        int     (*pf)();                /* put function (resettable) */
67 >        int     ec;                     /* exit code (0 means non-fatal) */
68 > } erract[NERRS];        /* list of error actions */
69  
70 + #define  ERRACT_INIT    {       {"warning - ", wputs, 0}, \
71 +                                {"fatal - ", eputs, 1}, \
72 +                                {"system - ", eputs, 2}, \
73 +                                {"internal - ", eputs, 1}, \
74 +                                {"consistency - ", eputs, -1}, \
75 +                                {"", NULL, 0}   }
76 +
77   extern char  errmsg[];                  /* global buffer for error messages */
78  
79 < extern int  errno;                      /* system error number */
80 <
79 > #ifdef  FASTMATH
80 > #define  tcos                   cos
81 > #define  tsin                   sin
82 > #define  ttan                   tan
83 > #else
84 > extern double   tcos();                 /* table-based cosine approximation */
85 > #define  tsin(x)                tcos((x)-(PI/2.))
86 > #define  ttan(x)                (tsin(x)/tcos(x))
87 > #endif
88 >                                        /* custom version of assert(3) */
89 > #define  CHECK(be,et,em)        ((be) ? error(et,em) : 0)
90 > #ifdef  DEBUG
91 > #define  DCHECK                 CHECK
92 > #else
93 > #define  DCHECK(be,et,em)       0
94 > #endif
95                                          /* memory operations */
96 < #ifdef  STRUCTASSIGN
97 < #define  copystruct(d,s)        (*(d) = *(s))
96 > #ifdef  NOSTRUCTASS
97 > #define  copystruct(d,s)        bcopy((char *)(s),(char *)(d),sizeof(*(d)))
98   #else
99 < #define  copystruct(d,s)        bcopy((char *)(s),(char *)(d),sizeof(*(d)))
99 > #define  copystruct(d,s)        (*(d) = *(s))
100   #endif
101 < #ifndef  BSD
102 < #define  bcopy(s,d,n)           (void)memcpy(d,s,n)
103 < #define  bzero(d,n)             (void)memset(d,0,n)
104 < #define  bcmp(b1,b2,n)          memcmp(b1,b2,n)
105 < extern char  *memcpy(), *memset();
101 >
102 > #ifdef  BSD
103 > extern long  lseek();
104 > #else
105 > #define  bcopy(s,d,n)           (void)memcpy(d,s,n)
106 > #define  bzero(d,n)             (void)memset(d,0,n)
107 > #define  bcmp(b1,b2,n)          memcmp(b1,b2,n)
108 > #define  index                  strchr
109 > #define  rindex                 strrchr
110 > extern off_t  lseek();
111   #endif
112 + extern long  ftell();
113  
114 < extern char  *sskip();
115 < extern char  *getpath();
114 > extern char  *sskip(), *sskip2();
115 > extern char  *getpath(), *getenv();
116 > #ifndef malloc
117   extern char  *malloc(), *calloc(), *realloc();
118 + #endif
119   extern char  *bmalloc(), *savestr(), *savqstr();
120 +
121 + #ifdef  DCL_ATOF
122 + extern double  atof();
123 + #endif
124 +
125 + #ifdef MSDOS
126 + #define NIX 1
127 + #endif
128 + #ifdef AMIGA
129 + #define NIX 1
130 + #endif
131 +

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines