futhark-0.25.27: An optimising compiler for a functional, array-oriented language.

Safe Haskell | Safe-Inferred
Language | GHC2021

Futhark.Analysis.AlgSimplify

# Documentation

data Prod Source #

Constructors

Prod |

Fields

- negated :: Bool
- atoms :: [Exp]

#### Instances

Instances details

Show Prod Source # |
Instance details Defined in Futhark.Analysis.AlgSimplify Methods showsPrec :: Int -> Prod -> ShowS Source # show :: Prod -> String Source # showList :: [Prod] -> ShowS Source #
Eq Prod Source # |
Instance details Defined in Futhark.Analysis.AlgSimplify Methods (==) :: Prod -> Prod -> Bool Source # (/=) :: Prod -> Prod -> Bool Source #
Ord Prod Source # |
Instance details Defined in Futhark.Analysis.AlgSimplify Methods compare :: Prod -> Prod -> Ordering Source # (<) :: Prod -> Prod -> Bool Source # (<=) :: Prod -> Prod -> Bool Source # (>) :: Prod -> Prod -> Bool Source # (>=) :: Prod -> Prod -> Bool Source # max :: Prod -> Prod -> Prod Source # min :: Prod -> Prod -> Prod Source #

type SofP = [Prod] Source #

simplify0 :: Exp -> SofP Source #

simplify :: Exp -> Exp Source #

simplify' :: TExp -> TExp Source #

simplifySofP :: SofP -> SofP Source #

simplifySofP' :: SofP -> SofP Source #

sumOfProducts :: Exp -> SofP Source #

sumToExp :: SofP -> Exp Source #

prodToExp :: Prod -> Exp Source #

add :: SofP -> SofP -> SofP Source #

sub :: SofP -> SofP -> SofP Source #

negate :: Prod -> Prod Source #

isMultipleOf :: Prod -> [Exp] -> Bool Source #

maybeDivide :: Prod -> Prod -> Maybe Prod Source #

removeLessThans :: SofP -> [(SubExp, PrimExp VName)] -> SofP Source #

lessThanish :: [(VName, PrimExp VName)] -> Names -> TPrimExp Int64 VName -> TPrimExp Int64 VName -> Bool Source #

compareComplexity :: SofP -> SofP -> Ordering Source #