Copyright | (c) Levent Erkok |
---|---|
License | BSD3 |
Maintainer | erkokl@gmail.com |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Checks the correctness of a few tricks from the large collection found in: http://graphics.stanford.edu/~seander/bithacks.html
- elem :: Eq a => a -> [a] -> Bool
- oneIf :: Num a => Bool -> a
- fastMinCorrect :: Int -> Int -> Bool
- fastMaxCorrect :: Int -> Int -> Bool
- oppositeSignsCorrect :: Int -> Int -> Bool
- conditionalSetClearCorrect :: Bool -> Word32 -> Word32 -> Bool
- powerOfTwoCorrect :: Word32 -> Bool
- maskedMergeCorrect :: Word32 -> Word32 -> Word32 -> Bool
- roundPowerOfTwoCorrect :: Word32 -> Bool
- zeroInWord :: Word32 -> Bool
Documentation
elem :: Eq a => a -> [a] -> Bool Source
SBVPlugin can only see definitions in the current module. So we define elem
ourselves.
fastMinCorrect :: Int -> Int -> Bool Source
fastMaxCorrect :: Int -> Int -> Bool Source
oppositeSignsCorrect :: Int -> Int -> Bool Source
powerOfTwoCorrect :: Word32 -> Bool Source