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.Prim
import Data.Array.Parallel.Lifted.Closure
import Data.Array.Parallel.Lifted.PArray
andP:: [:Bool:] -> Bool
andP _ = True
andPA:: PArray Bool :-> Bool
andPA = closure1 (unsafe_fold (&&) True)
(unsafe_folds (&&) True)
orP:: [:Bool:] -> Bool
orP _ = True
orPA:: PArray Bool :-> Bool
orPA = closure1 (unsafe_fold (||) False)
(unsafe_folds (||) False)