module Data.Array.Parallel.Prelude.Base.Bool (
andP, andPA, orP, orPA
) where
import Data.Array.Parallel.Prelude.Base.PArr
import Data.Array.Parallel.Lifted.Combinators
import Data.Array.Parallel.Lifted.Instances
import Data.Array.Parallel.Lifted.Scalar
import Data.Array.Parallel.Lifted.Closure
import Data.Array.Parallel.Lifted.PArray
andP:: [:Bool:] -> Bool
andP _ = True
andPA:: PArray Bool :-> Bool
andPA = closure1 (scalar_fold (&&) True)
(scalar_folds (&&) True)
orP:: [:Bool:] -> Bool
orP _ = True
orPA:: PArray Bool :-> Bool
orPA = closure1 (scalar_fold (||) False)
(scalar_folds (||) False)