Sourceforge.net - The VCF's Project Host
   The VCF Website Home   |   Online Discussion Forums   |   Sourceforge.net Project Page   

vcf/JavaScriptKit/js-impl/jsbit.h File Reference


Defines

#define JS_TEST_BIT(_map, _bit)   ((_map)[(_bit)>>JS_BITS_PER_WORD_LOG2] & (1L << ((_bit) & (JS_BITS_PER_WORD-1))))
#define JS_SET_BIT(_map, _bit)   ((_map)[(_bit)>>JS_BITS_PER_WORD_LOG2] |= (1L << ((_bit) & (JS_BITS_PER_WORD-1))))
#define JS_CLEAR_BIT(_map, _bit)   ((_map)[(_bit)>>JS_BITS_PER_WORD_LOG2] &= ~(1L << ((_bit) & (JS_BITS_PER_WORD-1))))
#define JS_CEILING_LOG2(_log2, _n)
#define JS_FLOOR_LOG2(_log2, _n)
#define JS_CEILING_LOG2W(n)   ((n) <= 1 ? 0 : 1 + JS_FLOOR_LOG2W((n) - 1))
#define JS_FLOOR_LOG2W(n)   (JS_ASSERT((n) != 0), js_FloorLog2wImpl(n))

Typedefs

typedef jsbitmap_t jsbitmap

Functions

 JS_PUBLIC_API (JSIntn) JS_CeilingLog2(JSUint32 i)

Variables

JS_BEGIN_EXTERN_C typedef
JSUword 
jsbitmap_t

Define Documentation

#define JS_CEILING_LOG2 _log2,
_n   ) 
 

Value:

JS_BEGIN_MACRO                                                            \
        JSUint32 j_ = (JSUint32)(_n);                                         \
        (_log2) = 0;                                                          \
        if ((j_) & ((j_)-1))                                                  \
            (_log2) += 1;                                                     \
        if ((j_) >> 16)                                                       \
            (_log2) += 16, (j_) >>= 16;                                       \
        if ((j_) >> 8)                                                        \
            (_log2) += 8, (j_) >>= 8;                                         \
        if ((j_) >> 4)                                                        \
            (_log2) += 4, (j_) >>= 4;                                         \
        if ((j_) >> 2)                                                        \
            (_log2) += 2, (j_) >>= 2;                                         \
        if ((j_) >> 1)                                                        \
            (_log2) += 1;                                                     \
    JS_END_MACRO

#define JS_CEILING_LOG2W n   )     ((n) <= 1 ? 0 : 1 + JS_FLOOR_LOG2W((n) - 1))
 

#define JS_CLEAR_BIT _map,
_bit   )     ((_map)[(_bit)>>JS_BITS_PER_WORD_LOG2] &= ~(1L << ((_bit) & (JS_BITS_PER_WORD-1))))
 

#define JS_FLOOR_LOG2 _log2,
_n   ) 
 

Value:

JS_BEGIN_MACRO                                                            \
        JSUint32 j_ = (JSUint32)(_n);                                         \
        (_log2) = 0;                                                          \
        if ((j_) >> 16)                                                       \
            (_log2) += 16, (j_) >>= 16;                                       \
        if ((j_) >> 8)                                                        \
            (_log2) += 8, (j_) >>= 8;                                         \
        if ((j_) >> 4)                                                        \
            (_log2) += 4, (j_) >>= 4;                                         \
        if ((j_) >> 2)                                                        \
            (_log2) += 2, (j_) >>= 2;                                         \
        if ((j_) >> 1)                                                        \
            (_log2) += 1;                                                     \
    JS_END_MACRO

#define JS_FLOOR_LOG2W n   )     (JS_ASSERT((n) != 0), js_FloorLog2wImpl(n))
 

#define JS_SET_BIT _map,
_bit   )     ((_map)[(_bit)>>JS_BITS_PER_WORD_LOG2] |= (1L << ((_bit) & (JS_BITS_PER_WORD-1))))
 

#define JS_TEST_BIT _map,
_bit   )     ((_map)[(_bit)>>JS_BITS_PER_WORD_LOG2] & (1L << ((_bit) & (JS_BITS_PER_WORD-1))))
 


Typedef Documentation

typedef jsbitmap_t jsbitmap
 


Function Documentation

JS_PUBLIC_API JSIntn   ) 
 


Variable Documentation

JS_BEGIN_EXTERN_C typedef JSUword jsbitmap_t
 

   Comments or Suggestions?    License Information