Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Database.LSMTree.Internal.BitMath
Description
Some arithmetic implemented using bit operations
Valid for non-negative arguments.
Synopsis
- div2 :: Bits a => a -> a
- mod2 :: (Bits a, Num a) => a -> a
- mul2 :: Bits a => a -> a
- ceilDiv2 :: (Bits a, Num a) => a -> a
- div4 :: Bits a => a -> a
- mod4 :: (Bits a, Num a) => a -> a
- mul4 :: Bits a => a -> a
- div8 :: Bits a => a -> a
- mod8 :: (Bits a, Num a) => a -> a
- mul8 :: Bits a => a -> a
- ceilDiv8 :: (Bits a, Num a) => a -> a
- div16 :: Bits a => a -> a
- mod16 :: (Bits a, Num a) => a -> a
- mul16 :: Bits a => a -> a
- div32 :: Bits a => a -> a
- mod32 :: (Bits a, Num a) => a -> a
- div64 :: Bits a => a -> a
- mod64 :: (Bits a, Num a) => a -> a
- mul64 :: Bits a => a -> a
- ceilDiv64 :: (Bits a, Num a) => a -> a
- divPageSize :: Bits a => a -> a
- modPageSize :: (Bits a, Num a) => a -> a
- mulPageSize :: Bits a => a -> a
- ceilDivPageSize :: (Bits a, Num a) => a -> a
- roundUpToPageSize :: (Bits a, Num a) => a -> a
Two
Four
Eight
Sixteen
32
64
ceilDiv64 :: (Bits a, Num a) => a -> a Source #
rounding up division
>>>
map ceilDiv64 [0 :: Word, 1, 63, 64, 65]
[0,1,1,1,2]
4096, page size
divPageSize :: Bits a => a -> a Source #
Assumes pageSize = 4096
.
modPageSize :: (Bits a, Num a) => a -> a Source #
Assumes pageSize = 4096
.
mulPageSize :: Bits a => a -> a Source #
Assumes pageSize = 4096
.
ceilDivPageSize :: (Bits a, Num a) => a -> a Source #
Assumes pageSize = 4096
.
roundUpToPageSize :: (Bits a, Num a) => a -> a Source #
Assumes pageSize = 4096
.