bit操作 - bitmap_equal()
概要
bit数を指定してビットマップを比較する
詳細
このマクロでは以下の引数を取得する
- 比較対象のビットマップへのポインタ : src1、src2
- 比較するビット数を示す : nbits
small_const_nbits()でnbitsの値を確認した結果によって以下のように処理が異なる
- 返り値が0の場合
- src1とsrc2の排他的論理和で得た値とBITMAP_LAST_WORD_MASK()でnbits分下位bitが1になった値の論理積を取る
- この値の否定値を返す
- 排他的論理和ではsrc1とsrc2の値が同じ値の場合に0を返すのでnbits以下の値が同じ場合に1をそれ以外の場合に0を返す
- 返り値が1の場合
- __bitmap_equal()で複数要素からなるビットマップを比較する