def add_to_flag(cur_flag, add_flag):
""" Add a bitwise flag to an existing flag
Parameters
----------
cur_flag : int or ndarray
add_flag : int
Returns
-------
new_flag : int or ndarray
"""
if isinstance(cur_flag, numbers.Integral):
if (cur_flag % add_flag) < (add_flag//2):
cur_flag += add_flag
return cur_flag
else: # Array
mods = cur_flag % add_flag
upd = mods < (add_flag//2)
cur_flag[upd] += add_flag
return cur_flag
评论列表
文章目录