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

Comparing ray/src/common/tcos.c (file contents):
Revision 3.4 by schorsch, Thu Jul 17 09:21:29 2003 UTC vs.
Revision 3.5 by greg, Fri Feb 11 00:35:14 2011 UTC

# Line 9 | Line 9 | static const char      RCSid[] = "$Id$";
9   *
10   * No interpolation in this version.
11   *
12 < * External symbols declared in standard.h
12 > * External symbols declared in rtmath.h
13   */
14  
15   #include "copyright.h"
# Line 22 | Line 22 | static const char      RCSid[] = "$Id$";
22   #define NCOSENTRY       256
23   #endif
24  
25 #ifdef M_PI
26 #define PI              ((double)M_PI)
27 #else
28 #define PI              3.14159265358979323846
29 #endif
25  
31
26   double
27 < tcos(x)                         /* approximate cosine */
34 < register double x;
27 > tcos(double x)                          /* approximate cosine */
28   {
29          static double   costab[NCOSENTRY+1];
30          register int    i;
# Line 43 | Line 36 | register double        x;
36          if (x < 0.)
37                  x = -x;
38          i = (NCOSENTRY*2./PI) * x  +  0.5;
39 <        if (i >= 4*NCOSENTRY)
40 <                i %= 4*NCOSENTRY;
39 >        while (i >= 4*NCOSENTRY)
40 >                i -= 4*NCOSENTRY;
41          switch (i / NCOSENTRY) {
42          case 0:
43                  return(costab[i]);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines