/[jscoverage]/trunk/js/jsbit.h
ViewVC logotype

Diff of /trunk/js/jsbit.h

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

revision 332 by siliconforks, Thu Oct 23 19:03:33 2008 UTC revision 460 by siliconforks, Sat Sep 26 23:15:22 2009 UTC
# Line 129  Line 129 
129   */   */
130  # define JS_CEILING_LOG2(_log2,_n)                                            \  # define JS_CEILING_LOG2(_log2,_n)                                            \
131      JS_BEGIN_MACRO                                                            \      JS_BEGIN_MACRO                                                            \
         JS_STATIC_ASSERT(sizeof(unsigned int) == sizeof(JSUint32));           \  
132          unsigned int j_ = (unsigned int)(_n);                                 \          unsigned int j_ = (unsigned int)(_n);                                 \
133          (_log2) = (j_ <= 1 ? 0 : 32 - js_bitscan_clz32(j_ - 1));              \          (_log2) = (j_ <= 1 ? 0 : 32 - js_bitscan_clz32(j_ - 1));              \
134      JS_END_MACRO      JS_END_MACRO
# Line 167  Line 166 
166   */   */
167  # define JS_FLOOR_LOG2(_log2,_n)                                              \  # define JS_FLOOR_LOG2(_log2,_n)                                              \
168      JS_BEGIN_MACRO                                                            \      JS_BEGIN_MACRO                                                            \
         JS_STATIC_ASSERT(sizeof(unsigned int) == sizeof(JSUint32));           \  
169          (_log2) = 31 - js_bitscan_clz32(((unsigned int)(_n)) | 1);            \          (_log2) = 31 - js_bitscan_clz32(((unsigned int)(_n)) | 1);            \
170      JS_END_MACRO      JS_END_MACRO
171  #else  #else
# Line 207  Line 205 
205  #if JS_BYTES_PER_WORD == 4  #if JS_BYTES_PER_WORD == 4
206    
207  # ifdef JS_HAS_BUILTIN_BITSCAN32  # ifdef JS_HAS_BUILTIN_BITSCAN32
 JS_STATIC_ASSERT(sizeof(unsigned) == sizeof(JSUword));  
208  #  define js_FloorLog2wImpl(n)                                                \  #  define js_FloorLog2wImpl(n)                                                \
209      ((JSUword)(JS_BITS_PER_WORD - 1 - js_bitscan_clz32(n)))      ((JSUword)(JS_BITS_PER_WORD - 1 - js_bitscan_clz32(n)))
210  # else  # else
# Line 217  Line 214 
214  #elif JS_BYTES_PER_WORD == 8  #elif JS_BYTES_PER_WORD == 8
215    
216  # ifdef JS_HAS_BUILTIN_BITSCAN64  # ifdef JS_HAS_BUILTIN_BITSCAN64
 JS_STATIC_ASSERT(sizeof(unsigned long long) == sizeof(JSUword));  
217  #  define js_FloorLog2wImpl(n)                                                \  #  define js_FloorLog2wImpl(n)                                                \
218      ((JSUword)(JS_BITS_PER_WORD - 1 - js_bitscan_clz64(n)))      ((JSUword)(JS_BITS_PER_WORD - 1 - js_bitscan_clz64(n)))
219  # else  # else

Legend:
Removed from v.332  
changed lines
  Added in v.460

  ViewVC Help
Powered by ViewVC 1.1.24