Safe Haskell | None |
---|---|
Language | Haskell98 |
Documentation
data NoSignedZeros Source #
Instances
Eq NoSignedZeros Source # | |
Defined in LLVM.Extra.FastMath (==) :: NoSignedZeros -> NoSignedZeros -> Bool # (/=) :: NoSignedZeros -> NoSignedZeros -> Bool # | |
Show NoSignedZeros Source # | |
Defined in LLVM.Extra.FastMath showsPrec :: Int -> NoSignedZeros -> ShowS # show :: NoSignedZeros -> String # showList :: [NoSignedZeros] -> ShowS # | |
Flags NoSignedZeros Source # | |
Defined in LLVM.Extra.FastMath setFlags :: IsFloating a => Proxy NoSignedZeros -> Bool -> Value a -> CodeGenFunction r () Source # |
data AllowReciprocal Source #
Instances
Eq AllowReciprocal Source # | |
Defined in LLVM.Extra.FastMath (==) :: AllowReciprocal -> AllowReciprocal -> Bool # (/=) :: AllowReciprocal -> AllowReciprocal -> Bool # | |
Show AllowReciprocal Source # | |
Defined in LLVM.Extra.FastMath showsPrec :: Int -> AllowReciprocal -> ShowS # show :: AllowReciprocal -> String # showList :: [AllowReciprocal] -> ShowS # | |
Flags AllowReciprocal Source # | |
Defined in LLVM.Extra.FastMath setFlags :: IsFloating a => Proxy AllowReciprocal -> Bool -> Value a -> CodeGenFunction r () Source # |
class Flags flags where Source #
Instances
Flags Fast Source # | |
Flags AllowReciprocal Source # | |
Defined in LLVM.Extra.FastMath setFlags :: IsFloating a => Proxy AllowReciprocal -> Bool -> Value a -> CodeGenFunction r () Source # | |
Flags NoSignedZeros Source # | |
Defined in LLVM.Extra.FastMath setFlags :: IsFloating a => Proxy NoSignedZeros -> Bool -> Value a -> CodeGenFunction r () Source # | |
Flags NoInfs Source # | |
Flags NoNaNs Source # | |
(Flags f0, Flags f1) => Flags (f0, f1) Source # | |
Defined in LLVM.Extra.FastMath | |
(Flags f0, Flags f1, Flags f2) => Flags (f0, f1, f2) Source # | |
Defined in LLVM.Extra.FastMath | |
(Flags f0, Flags f1, Flags f2, Flags f3) => Flags (f0, f1, f2, f3) Source # | |
Defined in LLVM.Extra.FastMath | |
(Flags f0, Flags f1, Flags f2, Flags f3, Flags f4) => Flags (f0, f1, f2, f3, f4) Source # | |
Defined in LLVM.Extra.FastMath |
newtype Number flags a Source #
Number | |
|
Instances
Eq a => Eq (Number flags a) Source # | |
Floating a => Floating (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath exp :: Number flags a -> Number flags a # log :: Number flags a -> Number flags a # sqrt :: Number flags a -> Number flags a # (**) :: Number flags a -> Number flags a -> Number flags a # logBase :: Number flags a -> Number flags a -> Number flags a # sin :: Number flags a -> Number flags a # cos :: Number flags a -> Number flags a # tan :: Number flags a -> Number flags a # asin :: Number flags a -> Number flags a # acos :: Number flags a -> Number flags a # atan :: Number flags a -> Number flags a # sinh :: Number flags a -> Number flags a # cosh :: Number flags a -> Number flags a # tanh :: Number flags a -> Number flags a # asinh :: Number flags a -> Number flags a # acosh :: Number flags a -> Number flags a # atanh :: Number flags a -> Number flags a # log1p :: Number flags a -> Number flags a # expm1 :: Number flags a -> Number flags a # | |
Fractional a => Fractional (Number flags a) Source # | |
Num a => Num (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath (+) :: Number flags a -> Number flags a -> Number flags a # (-) :: Number flags a -> Number flags a -> Number flags a # (*) :: Number flags a -> Number flags a -> Number flags a # negate :: Number flags a -> Number flags a # abs :: Number flags a -> Number flags a # signum :: Number flags a -> Number flags a # fromInteger :: Integer -> Number flags a # | |
Ord a => Ord (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath compare :: Number flags a -> Number flags a -> Ordering # (<) :: Number flags a -> Number flags a -> Bool # (<=) :: Number flags a -> Number flags a -> Bool # (>) :: Number flags a -> Number flags a -> Bool # (>=) :: Number flags a -> Number flags a -> Bool # | |
Show a => Show (Number flags a) Source # | |
Storable a => Storable (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath sizeOf :: Number flags a -> Int # alignment :: Number flags a -> Int # peekElemOff :: Ptr (Number flags a) -> Int -> IO (Number flags a) # pokeElemOff :: Ptr (Number flags a) -> Int -> Number flags a -> IO () # peekByteOff :: Ptr b -> Int -> IO (Number flags a) # pokeByteOff :: Ptr b -> Int -> Number flags a -> IO () # | |
(Flags flags, MultiValue a, FloatingComparison a) => FloatingComparison (Number flags a) Source # | |
(Flags flags, MultiValue a, Comparison a) => Comparison (Number flags a) Source # | |
(Flags flags, MultiValue a, Select a) => Select (Number flags a) Source # | |
(Flags flags, MultiValue a, Transcendental a) => Transcendental (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath pi :: CodeGenFunction r (T (Number flags a)) Source # sin :: T (Number flags a) -> CodeGenFunction r (T (Number flags a)) Source # cos :: T (Number flags a) -> CodeGenFunction r (T (Number flags a)) Source # exp :: T (Number flags a) -> CodeGenFunction r (T (Number flags a)) Source # log :: T (Number flags a) -> CodeGenFunction r (T (Number flags a)) Source # pow :: T (Number flags a) -> T (Number flags a) -> CodeGenFunction r (T (Number flags a)) Source # | |
(Flags flags, MultiValue a, Algebraic a) => Algebraic (Number flags a) Source # | |
(Flags flags, MultiValue a, Fraction a) => Fraction (Number flags a) Source # | |
(Flags flags, MultiValue a, Real a) => Real (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath min :: T (Number flags a) -> T (Number flags a) -> CodeGenFunction r (T (Number flags a)) Source # max :: T (Number flags a) -> T (Number flags a) -> CodeGenFunction r (T (Number flags a)) Source # abs :: T (Number flags a) -> CodeGenFunction r (T (Number flags a)) Source # signum :: T (Number flags a) -> CodeGenFunction r (T (Number flags a)) Source # | |
(Flags flags, MultiValue a, a ~ Scalar v, MultiValue v, PseudoModule v) => PseudoModule (Number flags v) Source # | |
(Flags flags, MultiValue a, Field a) => Field (Number flags a) Source # | |
(Flags flags, MultiValue a, PseudoRing a) => PseudoRing (Number flags a) Source # | |
(Flags flags, MultiValue a, Additive a) => Additive (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath | |
(Flags flags, MultiValue a, RationalConstant a) => RationalConstant (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath | |
(Flags flags, MultiValue a, IntegerConstant a) => IntegerConstant (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath | |
(Flags flags, Decompose pa) => Decompose (Number flags pa) Source # | |
Defined in LLVM.Extra.FastMath decompose :: Number flags pa -> T (PatternTuple (Number flags pa)) -> Decomposed T (Number flags pa) Source # | |
(Flags flags, Compose a) => Compose (Number flags a) Source # | |
MultiValue a => C (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath cons :: Number flags a -> T (Number flags a) Source # undef :: T (Number flags a) Source # zero :: T (Number flags a) Source # phi :: BasicBlock -> T (Number flags a) -> CodeGenFunction r (T (Number flags a)) Source # addPhi :: BasicBlock -> T (Number flags a) -> T (Number flags a) -> CodeGenFunction r () Source # | |
(Flags flags, MultiVector a, FloatingComparison a) => FloatingComparison (Number flags a) Source # | |
(Flags flags, MultiVector a, Comparison a) => Comparison (Number flags a) Source # | |
(Flags flags, MultiVector a, Select a) => Select (Number flags a) Source # | |
(Flags flags, MultiVector a, Transcendental a) => Transcendental (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath pi :: Positive n => CodeGenFunction r (T n (Number flags a)) Source # sin :: Positive n => T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # cos :: Positive n => T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # exp :: Positive n => T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # log :: Positive n => T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # pow :: Positive n => T n (Number flags a) -> T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # | |
(Flags flags, MultiVector a, Algebraic a) => Algebraic (Number flags a) Source # | |
(Flags flags, MultiVector a, Fraction a) => Fraction (Number flags a) Source # | |
(Flags flags, MultiVector a, Real a) => Real (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath min :: Positive n => T n (Number flags a) -> T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # max :: Positive n => T n (Number flags a) -> T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # abs :: Positive n => T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # signum :: Positive n => T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # | |
(Flags flags, MultiVector a, Field a) => Field (Number flags a) Source # | |
(Flags flags, MultiVector a, PseudoRing a) => PseudoRing (Number flags a) Source # | |
(Flags flags, MultiVector a, Additive a) => Additive (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath add :: Positive n => T n (Number flags a) -> T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # sub :: Positive n => T n (Number flags a) -> T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # neg :: Positive n => T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # | |
(Flags flags, MultiVector a, RationalConstant a) => RationalConstant (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath | |
(Flags flags, MultiVector a, IntegerConstant a) => IntegerConstant (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath | |
(Flags flags, MultiVector a) => C (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath cons :: Positive n => Vector n (Number flags a) -> T n (Number flags a) Source # undef :: Positive n => T n (Number flags a) Source # zero :: Positive n => T n (Number flags a) Source # phi :: Positive n => BasicBlock -> T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # addPhi :: Positive n => BasicBlock -> T n (Number flags a) -> T n (Number flags a) -> CodeGenFunction r () Source # shuffle :: (Positive n, Positive m) => ConstValue (Vector m Word32) -> T n (Number flags a) -> T n (Number flags a) -> CodeGenFunction r (T m (Number flags a)) Source # extract :: Positive n => Value Word32 -> T n (Number flags a) -> CodeGenFunction r (T (Number flags a)) Source # insert :: Positive n => Value Word32 -> T (Number flags a) -> T n (Number flags a) -> CodeGenFunction r (T n (Number flags a)) Source # | |
type Decomposed f (Number flags pa) Source # | |
Defined in LLVM.Extra.FastMath | |
type Repr n (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath | |
type Scalar (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath | |
type PatternTuple (Number flags pa) Source # | |
Defined in LLVM.Extra.FastMath | |
type Composed (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath | |
type Repr (Number flags a) Source # | |
Defined in LLVM.Extra.FastMath |
class C a => MultiValue a where Source #
setMultiValueFlags :: Flags flags => Proxy flags -> Bool -> T (Number flags a) -> CodeGenFunction r () Source #
Instances
MultiValue Double Source # | |
Defined in LLVM.Extra.FastMath | |
MultiValue Float Source # | |
Defined in LLVM.Extra.FastMath |
attachMultiValueFlags :: (Flags flags, MultiValue a) => Id (CodeGenFunction r (T (Number flags a))) Source #
liftNumberM :: (m ~ CodeGenFunction r, Flags flags, MultiValue b) => (T a -> m (T b)) -> T (Number flags a) -> m (T (Number flags b)) Source #
liftNumberM2 :: (m ~ CodeGenFunction r, Flags flags, MultiValue c) => (T a -> T b -> m (T c)) -> T (Number flags a) -> T (Number flags b) -> m (T (Number flags c)) Source #
class (MultiValue a, C a) => MultiVector a where Source #
setMultiVectorFlags :: (Flags flags, Positive n) => Proxy flags -> Bool -> T n (Number flags a) -> CodeGenFunction r () Source #
Instances
MultiVector Double Source # | |
Defined in LLVM.Extra.FastMath | |
MultiVector Float Source # | |
Defined in LLVM.Extra.FastMath |
attachMultiVectorFlags :: (Positive n, Flags flags, MultiVector a) => Id (CodeGenFunction r (T n (Number flags a))) Source #
liftMultiVectorM :: (m ~ CodeGenFunction r, Positive n, Flags flags, MultiVector b) => (T n a -> m (T n b)) -> T n (Number flags a) -> m (T n (Number flags b)) Source #
liftMultiVectorM2 :: (m ~ CodeGenFunction r, Positive n, Flags flags, MultiVector c) => (T n a -> T n b -> m (T n c)) -> T n (Number flags a) -> T n (Number flags b) -> m (T n (Number flags c)) Source #
setTupleFlags :: Flags flags => Proxy flags -> Bool -> a -> CodeGenFunction r () Source #
Instances
IsFloating a => Tuple (Value a) Source # | |
Defined in LLVM.Extra.FastMath setTupleFlags :: Flags flags => Proxy flags -> Bool -> Value a -> CodeGenFunction r () Source # |
newtype Context flags a Source #
Context a |