NBLONG
atomic_set_long(&((volatile long *)(a))[(i)/NBLONG], 1LU << ((i) % NBLONG))
atomic_clear_long(&((volatile long *)(a))[(i)/NBLONG], 1LU << ((i) % NBLONG))
!!(atomic_load_acq_long(&((volatile long *)(a))[(i)/NBLONG]) & \
(1LU << ((i) % NBLONG)))