)#     b !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghA full memory barrier. -Atomic bit operations on a memory location.  Instances: i, j, k, l, m, n, o,  p, q, r. Atomic (+) , returning the original value. Atomic (-)!, returning the originial value. Atomic (.|.) , returning the original value. Atomic (.&.) , returning the original value. Atomic xor , returning the original value. Atomic nand , returning the original value. Atomic (+), returning the updated value. Atomic (-), returning the updated value. Atomic (.|.), returning the updated value. Atomic (.&.), returning the updated value. Atomic xor, returning the updated value. Atomic nand, returning the updated value. Atomic CAS with boolean return. The memory location to update  Old value Intended new value s if swapped, t otherwise Atomic CAS , returning the original value. The memory location to update  Old value Intended new value Original value FAtomically update the memory location with the value 1 and return the  original value, 0 in case  was previously called or 1 if  another call to & aquired the lock earlier. Implies an  aquire barrier. Release the lock by writing a 0 . Includes a release barrier.     uvwxyz{|}~Instances provided: i, j, k, l, m, n, o, p, q, r FReturns one plus the index of the least significant 1-bit of x, or if  x is zero, returns zero. @Returns the number of leading 0-bits in x, starting at the most @ significant bit position. If x is 0, the result is undefined. BReturns the number of trailing 0-bits in x, starting at the least @ significant bit position. If x is 0, the result is undefined. $Returns the number of 1-bits in x. CReturns the parity of x, i.e. the number of 1-bits in x modulo 2. =Returns x with the order of the bytes reversed; for example, H 0xaabbccdd becomes 0xddccbbaa. Byte here always means exactly 8 bits.       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnlmolmplmqlmrstulvwlvxlvylvzs{|s{}~bits-extras-0.1.1Data.Bits.AtomicData.Bits.Extras memoryBarrier AtomicBits fetchAndAdd fetchAndSub fetchAndOr fetchAndAnd fetchAndXor fetchAndNand addAndFetch subAndFetch orAndFetch andAndFetch xorAndFetch nandAndFetchcompareAndSwapBoolcompareAndSwaplockTestAndSet lockRelease ExtraBitslowestBitPlus1 leadingZeros trailingZerospopulationCountparitybyteSwaplock_release_wordlock_test_and_set_wordval_compare_and_swap_wordbool_compare_and_swap_wordnand_and_fetch_wordxor_and_fetch_wordand_and_fetch_wordor_and_fetch_wordsub_and_fetch_wordadd_and_fetch_wordfetch_and_nand_wordfetch_and_xor_wordfetch_and_and_wordfetch_and_or_wordfetch_and_sub_wordfetch_and_add_wordlock_release_64lock_test_and_set_64val_compare_and_swap_64bool_compare_and_swap_64nand_and_fetch_64xor_and_fetch_64and_and_fetch_64or_and_fetch_64sub_and_fetch_64add_and_fetch_64fetch_and_nand_64fetch_and_xor_64fetch_and_and_64fetch_and_or_64fetch_and_sub_64fetch_and_add_64lock_release_32lock_test_and_set_32val_compare_and_swap_32bool_compare_and_swap_32nand_and_fetch_32xor_and_fetch_32and_and_fetch_32or_and_fetch_32sub_and_fetch_32add_and_fetch_32fetch_and_nand_32fetch_and_xor_32fetch_and_and_32fetch_and_or_32fetch_and_sub_32fetch_and_add_32lock_release_16lock_test_and_set_16val_compare_and_swap_16bool_compare_and_swap_16nand_and_fetch_16xor_and_fetch_16and_and_fetch_16or_and_fetch_16sub_and_fetch_16add_and_fetch_16fetch_and_nand_16fetch_and_xor_16fetch_and_and_16fetch_and_or_16fetch_and_sub_16fetch_and_add_16lock_release_8lock_test_and_set_8val_compare_and_swap_8bool_compare_and_swap_8nand_and_fetch_8xor_and_fetch_8and_and_fetch_8or_and_fetch_8sub_and_fetch_8add_and_fetch_8fetch_and_nand_8fetch_and_xor_8fetch_and_and_8fetch_and_or_8fetch_and_sub_8fetch_and_add_8baseGHC.WordWordWord8Word16Word32Word64ghc-prim GHC.TypesIntGHC.IntInt8Int16Int32Int64GHC.BoolTrueFalse c_parityl c_popcountlc_ctzlc_clzlc_ffsl c_bswap64 c_parityll c_popcountllc_ctzllc_clzllc_ffsll c_bswap32c_parity c_popcountc_ctzc_clzc_ffs