/[freetype]/freetype2/src/base/fttrigon.c
ViewVC logotype

Diff of /freetype2/src/base/fttrigon.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.20 by freetype, Fri Oct 28 16:14:14 2005 UTC revision 1.21 by wl, Sat Nov 12 07:34:40 2005 UTC
# Line 4  Line 4 
4  /*                                                                         */  /*                                                                         */
5  /*    FreeType trigonometric functions (body).                             */  /*    FreeType trigonometric functions (body).                             */
6  /*                                                                         */  /*                                                                         */
7  /*  Copyright 2001, 2002, 2003, 2004 by                                    */  /*  Copyright 2001, 2002, 2003, 2004, 2005 by                              */
8  /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */  /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
9  /*                                                                         */  /*                                                                         */
10  /*  This file is part of the FreeType project, and may only be used,       */  /*  This file is part of the FreeType project, and may only be used,       */
# Line 110  Line 110 
110      shift = 0;      shift = 0;
111    
112  #if 1  #if 1
113      /* determine msb bit index in 'shift' */  
114      if ( z >= (1L << 16 ) )      /* determine msb bit index in `shift' */
115        if ( z >= ( 1L << 16 ) )
116      {      {
117        z     >>= 16;        z     >>= 16;
118        shift  += 16;        shift  += 16;
119      }      }
120      if ( z >= (1L << 8) )      if ( z >= ( 1L << 8 ) )
121      {      {
122        z     >>= 8;        z     >>= 8;
123        shift  += 8;        shift  += 8;
124      }      }
125      if ( z >= (1L << 4) )      if ( z >= ( 1L << 4 ) )
126      {      {
127        z     >>= 4;        z     >>= 4;
128        shift  += 4;        shift  += 4;
129      }      }
130      if ( z >= (1L << 2) )      if ( z >= ( 1L << 2 ) )
131      {      {
132        z     >>= 2;        z     >>= 2;
133        shift  += 2;        shift  += 2;
# Line 136  Line 137 
137    
138      if ( shift < 28 )      if ( shift < 28 )
139      {      {
140        shift  = 28-shift;        shift = 28 - shift;
   
141        vec->x = x << shift;        vec->x = x << shift;
142        vec->y = y << shift;        vec->y = y << shift;
143      }      }
# Line 148  Line 148 
148        vec->y = y >> shift;        vec->y = y >> shift;
149        shift  = -shift;        shift  = -shift;
150      }      }
151  #else  
152    #else /* 0 */
153    
154      if ( z < ( 1L << 27 ) )      if ( z < ( 1L << 27 ) )
155      {      {
156        do        do
# Line 171  Line 173 
173        vec->y = y >> shift;        vec->y = y >> shift;
174        shift  = -shift;        shift  = -shift;
175      }      }
176  #endif  
177    #endif /* 0 */
178    
179      return shift;      return shift;
180    }    }
181    

Legend:
Removed from v.1.20  
changed lines
  Added in v.1.21

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26