-- | Indicate that something is `Unchecked`.
module NewtypeZoo.Unchecked
  ( Unchecked(Unchecked)
  , _theUnchecked
  , theUnchecked
  ) where

import           Control.DeepSeq (NFData)
import           Control.Monad.Fix (MonadFix)
import           Control.Monad.Zip (MonadZip)
import           Data.Bits       (Bits,FiniteBits)
import           Data.Copointed  (Copointed)
import           Data.Default    (Default)
import           Data.Functor.Classes (Eq1, Ord1, Read1, Show1)
import           Data.Functor.Identity
import           Data.Ix         (Ix)
import           Data.Profunctor (Profunctor, dimap)
import           Data.Pointed    (Pointed)
import           Data.String     (IsString)
import           Data.Typeable   (Typeable)
import           Foreign.Storable (Storable)
import           GHC.Generics    (Generic, Generic1)
import           System.Random   (Random)
import           Test.QuickCheck (Arbitrary)

newtype Unchecked a = Unchecked a
  deriving ( Unchecked a -> Unchecked a -> Bool
(Unchecked a -> Unchecked a -> Bool)
-> (Unchecked a -> Unchecked a -> Bool) -> Eq (Unchecked a)
forall a. Eq a => Unchecked a -> Unchecked a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Unchecked a -> Unchecked a -> Bool
$c/= :: forall a. Eq a => Unchecked a -> Unchecked a -> Bool
== :: Unchecked a -> Unchecked a -> Bool
$c== :: forall a. Eq a => Unchecked a -> Unchecked a -> Bool
Eq
           , Eq (Unchecked a)
Eq (Unchecked a)
-> (Unchecked a -> Unchecked a -> Ordering)
-> (Unchecked a -> Unchecked a -> Bool)
-> (Unchecked a -> Unchecked a -> Bool)
-> (Unchecked a -> Unchecked a -> Bool)
-> (Unchecked a -> Unchecked a -> Bool)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> Ord (Unchecked a)
Unchecked a -> Unchecked a -> Bool
Unchecked a -> Unchecked a -> Ordering
Unchecked a -> Unchecked a -> Unchecked a
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall a. Ord a => Eq (Unchecked a)
forall a. Ord a => Unchecked a -> Unchecked a -> Bool
forall a. Ord a => Unchecked a -> Unchecked a -> Ordering
forall a. Ord a => Unchecked a -> Unchecked a -> Unchecked a
min :: Unchecked a -> Unchecked a -> Unchecked a
$cmin :: forall a. Ord a => Unchecked a -> Unchecked a -> Unchecked a
max :: Unchecked a -> Unchecked a -> Unchecked a
$cmax :: forall a. Ord a => Unchecked a -> Unchecked a -> Unchecked a
>= :: Unchecked a -> Unchecked a -> Bool
$c>= :: forall a. Ord a => Unchecked a -> Unchecked a -> Bool
> :: Unchecked a -> Unchecked a -> Bool
$c> :: forall a. Ord a => Unchecked a -> Unchecked a -> Bool
<= :: Unchecked a -> Unchecked a -> Bool
$c<= :: forall a. Ord a => Unchecked a -> Unchecked a -> Bool
< :: Unchecked a -> Unchecked a -> Bool
$c< :: forall a. Ord a => Unchecked a -> Unchecked a -> Bool
compare :: Unchecked a -> Unchecked a -> Ordering
$ccompare :: forall a. Ord a => Unchecked a -> Unchecked a -> Ordering
$cp1Ord :: forall a. Ord a => Eq (Unchecked a)
Ord
           , ReadPrec [Unchecked a]
ReadPrec (Unchecked a)
Int -> ReadS (Unchecked a)
ReadS [Unchecked a]
(Int -> ReadS (Unchecked a))
-> ReadS [Unchecked a]
-> ReadPrec (Unchecked a)
-> ReadPrec [Unchecked a]
-> Read (Unchecked a)
forall a. Read a => ReadPrec [Unchecked a]
forall a. Read a => ReadPrec (Unchecked a)
forall a. Read a => Int -> ReadS (Unchecked a)
forall a. Read a => ReadS [Unchecked a]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Unchecked a]
$creadListPrec :: forall a. Read a => ReadPrec [Unchecked a]
readPrec :: ReadPrec (Unchecked a)
$creadPrec :: forall a. Read a => ReadPrec (Unchecked a)
readList :: ReadS [Unchecked a]
$creadList :: forall a. Read a => ReadS [Unchecked a]
readsPrec :: Int -> ReadS (Unchecked a)
$creadsPrec :: forall a. Read a => Int -> ReadS (Unchecked a)
Read
           , Int -> Unchecked a -> ShowS
[Unchecked a] -> ShowS
Unchecked a -> String
(Int -> Unchecked a -> ShowS)
-> (Unchecked a -> String)
-> ([Unchecked a] -> ShowS)
-> Show (Unchecked a)
forall a. Show a => Int -> Unchecked a -> ShowS
forall a. Show a => [Unchecked a] -> ShowS
forall a. Show a => Unchecked a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Unchecked a] -> ShowS
$cshowList :: forall a. Show a => [Unchecked a] -> ShowS
show :: Unchecked a -> String
$cshow :: forall a. Show a => Unchecked a -> String
showsPrec :: Int -> Unchecked a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> Unchecked a -> ShowS
Show
           , Unchecked a -> ()
(Unchecked a -> ()) -> NFData (Unchecked a)
forall a. NFData a => Unchecked a -> ()
forall a. (a -> ()) -> NFData a
rnf :: Unchecked a -> ()
$crnf :: forall a. NFData a => Unchecked a -> ()
NFData
           , Unchecked a -> Bool
(a -> m) -> Unchecked a -> m
(a -> b -> b) -> b -> Unchecked a -> b
(forall m. Monoid m => Unchecked m -> m)
-> (forall m a. Monoid m => (a -> m) -> Unchecked a -> m)
-> (forall m a. Monoid m => (a -> m) -> Unchecked a -> m)
-> (forall a b. (a -> b -> b) -> b -> Unchecked a -> b)
-> (forall a b. (a -> b -> b) -> b -> Unchecked a -> b)
-> (forall b a. (b -> a -> b) -> b -> Unchecked a -> b)
-> (forall b a. (b -> a -> b) -> b -> Unchecked a -> b)
-> (forall a. (a -> a -> a) -> Unchecked a -> a)
-> (forall a. (a -> a -> a) -> Unchecked a -> a)
-> (forall a. Unchecked a -> [a])
-> (forall a. Unchecked a -> Bool)
-> (forall a. Unchecked a -> Int)
-> (forall a. Eq a => a -> Unchecked a -> Bool)
-> (forall a. Ord a => Unchecked a -> a)
-> (forall a. Ord a => Unchecked a -> a)
-> (forall a. Num a => Unchecked a -> a)
-> (forall a. Num a => Unchecked a -> a)
-> Foldable Unchecked
forall a. Eq a => a -> Unchecked a -> Bool
forall a. Num a => Unchecked a -> a
forall a. Ord a => Unchecked a -> a
forall m. Monoid m => Unchecked m -> m
forall a. Unchecked a -> Bool
forall a. Unchecked a -> Int
forall a. Unchecked a -> [a]
forall a. (a -> a -> a) -> Unchecked a -> a
forall m a. Monoid m => (a -> m) -> Unchecked a -> m
forall b a. (b -> a -> b) -> b -> Unchecked a -> b
forall a b. (a -> b -> b) -> b -> Unchecked a -> b
forall (t :: * -> *).
(forall m. Monoid m => t m -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall m a. Monoid m => (a -> m) -> t a -> m)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall a b. (a -> b -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall b a. (b -> a -> b) -> b -> t a -> b)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. (a -> a -> a) -> t a -> a)
-> (forall a. t a -> [a])
-> (forall a. t a -> Bool)
-> (forall a. t a -> Int)
-> (forall a. Eq a => a -> t a -> Bool)
-> (forall a. Ord a => t a -> a)
-> (forall a. Ord a => t a -> a)
-> (forall a. Num a => t a -> a)
-> (forall a. Num a => t a -> a)
-> Foldable t
product :: Unchecked a -> a
$cproduct :: forall a. Num a => Unchecked a -> a
sum :: Unchecked a -> a
$csum :: forall a. Num a => Unchecked a -> a
minimum :: Unchecked a -> a
$cminimum :: forall a. Ord a => Unchecked a -> a
maximum :: Unchecked a -> a
$cmaximum :: forall a. Ord a => Unchecked a -> a
elem :: a -> Unchecked a -> Bool
$celem :: forall a. Eq a => a -> Unchecked a -> Bool
length :: Unchecked a -> Int
$clength :: forall a. Unchecked a -> Int
null :: Unchecked a -> Bool
$cnull :: forall a. Unchecked a -> Bool
toList :: Unchecked a -> [a]
$ctoList :: forall a. Unchecked a -> [a]
foldl1 :: (a -> a -> a) -> Unchecked a -> a
$cfoldl1 :: forall a. (a -> a -> a) -> Unchecked a -> a
foldr1 :: (a -> a -> a) -> Unchecked a -> a
$cfoldr1 :: forall a. (a -> a -> a) -> Unchecked a -> a
foldl' :: (b -> a -> b) -> b -> Unchecked a -> b
$cfoldl' :: forall b a. (b -> a -> b) -> b -> Unchecked a -> b
foldl :: (b -> a -> b) -> b -> Unchecked a -> b
$cfoldl :: forall b a. (b -> a -> b) -> b -> Unchecked a -> b
foldr' :: (a -> b -> b) -> b -> Unchecked a -> b
$cfoldr' :: forall a b. (a -> b -> b) -> b -> Unchecked a -> b
foldr :: (a -> b -> b) -> b -> Unchecked a -> b
$cfoldr :: forall a b. (a -> b -> b) -> b -> Unchecked a -> b
foldMap' :: (a -> m) -> Unchecked a -> m
$cfoldMap' :: forall m a. Monoid m => (a -> m) -> Unchecked a -> m
foldMap :: (a -> m) -> Unchecked a -> m
$cfoldMap :: forall m a. Monoid m => (a -> m) -> Unchecked a -> m
fold :: Unchecked m -> m
$cfold :: forall m. Monoid m => Unchecked m -> m
Foldable
           , Functor Unchecked
Foldable Unchecked
Functor Unchecked
-> Foldable Unchecked
-> (forall (f :: * -> *) a b.
    Applicative f =>
    (a -> f b) -> Unchecked a -> f (Unchecked b))
-> (forall (f :: * -> *) a.
    Applicative f =>
    Unchecked (f a) -> f (Unchecked a))
-> (forall (m :: * -> *) a b.
    Monad m =>
    (a -> m b) -> Unchecked a -> m (Unchecked b))
-> (forall (m :: * -> *) a.
    Monad m =>
    Unchecked (m a) -> m (Unchecked a))
-> Traversable Unchecked
(a -> f b) -> Unchecked a -> f (Unchecked b)
forall (t :: * -> *).
Functor t
-> Foldable t
-> (forall (f :: * -> *) a b.
    Applicative f =>
    (a -> f b) -> t a -> f (t b))
-> (forall (f :: * -> *) a. Applicative f => t (f a) -> f (t a))
-> (forall (m :: * -> *) a b.
    Monad m =>
    (a -> m b) -> t a -> m (t b))
-> (forall (m :: * -> *) a. Monad m => t (m a) -> m (t a))
-> Traversable t
forall (m :: * -> *) a.
Monad m =>
Unchecked (m a) -> m (Unchecked a)
forall (f :: * -> *) a.
Applicative f =>
Unchecked (f a) -> f (Unchecked a)
forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Unchecked a -> m (Unchecked b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Unchecked a -> f (Unchecked b)
sequence :: Unchecked (m a) -> m (Unchecked a)
$csequence :: forall (m :: * -> *) a.
Monad m =>
Unchecked (m a) -> m (Unchecked a)
mapM :: (a -> m b) -> Unchecked a -> m (Unchecked b)
$cmapM :: forall (m :: * -> *) a b.
Monad m =>
(a -> m b) -> Unchecked a -> m (Unchecked b)
sequenceA :: Unchecked (f a) -> f (Unchecked a)
$csequenceA :: forall (f :: * -> *) a.
Applicative f =>
Unchecked (f a) -> f (Unchecked a)
traverse :: (a -> f b) -> Unchecked a -> f (Unchecked b)
$ctraverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Unchecked a -> f (Unchecked b)
$cp2Traversable :: Foldable Unchecked
$cp1Traversable :: Functor Unchecked
Traversable
           , a -> Unchecked b -> Unchecked a
(a -> b) -> Unchecked a -> Unchecked b
(forall a b. (a -> b) -> Unchecked a -> Unchecked b)
-> (forall a b. a -> Unchecked b -> Unchecked a)
-> Functor Unchecked
forall a b. a -> Unchecked b -> Unchecked a
forall a b. (a -> b) -> Unchecked a -> Unchecked b
forall (f :: * -> *).
(forall a b. (a -> b) -> f a -> f b)
-> (forall a b. a -> f b -> f a) -> Functor f
<$ :: a -> Unchecked b -> Unchecked a
$c<$ :: forall a b. a -> Unchecked b -> Unchecked a
fmap :: (a -> b) -> Unchecked a -> Unchecked b
$cfmap :: forall a b. (a -> b) -> Unchecked a -> Unchecked b
Functor
           , Unchecked a
Unchecked a -> Default (Unchecked a)
forall a. a -> Default a
forall a. Default a => Unchecked a
def :: Unchecked a
$cdef :: forall a. Default a => Unchecked a
Default
           , Semigroup (Unchecked a)
Unchecked a
Semigroup (Unchecked a)
-> Unchecked a
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> ([Unchecked a] -> Unchecked a)
-> Monoid (Unchecked a)
[Unchecked a] -> Unchecked a
Unchecked a -> Unchecked a -> Unchecked a
forall a.
Semigroup a -> a -> (a -> a -> a) -> ([a] -> a) -> Monoid a
forall a. Monoid a => Semigroup (Unchecked a)
forall a. Monoid a => Unchecked a
forall a. Monoid a => [Unchecked a] -> Unchecked a
forall a. Monoid a => Unchecked a -> Unchecked a -> Unchecked a
mconcat :: [Unchecked a] -> Unchecked a
$cmconcat :: forall a. Monoid a => [Unchecked a] -> Unchecked a
mappend :: Unchecked a -> Unchecked a -> Unchecked a
$cmappend :: forall a. Monoid a => Unchecked a -> Unchecked a -> Unchecked a
mempty :: Unchecked a
$cmempty :: forall a. Monoid a => Unchecked a
$cp1Monoid :: forall a. Monoid a => Semigroup (Unchecked a)
Monoid
           , b -> Unchecked a -> Unchecked a
NonEmpty (Unchecked a) -> Unchecked a
Unchecked a -> Unchecked a -> Unchecked a
(Unchecked a -> Unchecked a -> Unchecked a)
-> (NonEmpty (Unchecked a) -> Unchecked a)
-> (forall b. Integral b => b -> Unchecked a -> Unchecked a)
-> Semigroup (Unchecked a)
forall b. Integral b => b -> Unchecked a -> Unchecked a
forall a. Semigroup a => NonEmpty (Unchecked a) -> Unchecked a
forall a. Semigroup a => Unchecked a -> Unchecked a -> Unchecked a
forall a b.
(Semigroup a, Integral b) =>
b -> Unchecked a -> Unchecked a
forall a.
(a -> a -> a)
-> (NonEmpty a -> a)
-> (forall b. Integral b => b -> a -> a)
-> Semigroup a
stimes :: b -> Unchecked a -> Unchecked a
$cstimes :: forall a b.
(Semigroup a, Integral b) =>
b -> Unchecked a -> Unchecked a
sconcat :: NonEmpty (Unchecked a) -> Unchecked a
$csconcat :: forall a. Semigroup a => NonEmpty (Unchecked a) -> Unchecked a
<> :: Unchecked a -> Unchecked a -> Unchecked a
$c<> :: forall a. Semigroup a => Unchecked a -> Unchecked a -> Unchecked a
Semigroup
           , Typeable
           , (forall x. Unchecked a -> Rep (Unchecked a) x)
-> (forall x. Rep (Unchecked a) x -> Unchecked a)
-> Generic (Unchecked a)
forall x. Rep (Unchecked a) x -> Unchecked a
forall x. Unchecked a -> Rep (Unchecked a) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall a x. Rep (Unchecked a) x -> Unchecked a
forall a x. Unchecked a -> Rep (Unchecked a) x
$cto :: forall a x. Rep (Unchecked a) x -> Unchecked a
$cfrom :: forall a x. Unchecked a -> Rep (Unchecked a) x
Generic
           , (forall a. Unchecked a -> Rep1 Unchecked a)
-> (forall a. Rep1 Unchecked a -> Unchecked a)
-> Generic1 Unchecked
forall a. Rep1 Unchecked a -> Unchecked a
forall a. Unchecked a -> Rep1 Unchecked a
forall k (f :: k -> *).
(forall (a :: k). f a -> Rep1 f a)
-> (forall (a :: k). Rep1 f a -> f a) -> Generic1 f
$cto1 :: forall a. Rep1 Unchecked a -> Unchecked a
$cfrom1 :: forall a. Unchecked a -> Rep1 Unchecked a
Generic1
           , g -> (Unchecked a, g)
g -> [Unchecked a]
(Unchecked a, Unchecked a) -> g -> (Unchecked a, g)
(Unchecked a, Unchecked a) -> g -> [Unchecked a]
(forall g.
 RandomGen g =>
 (Unchecked a, Unchecked a) -> g -> (Unchecked a, g))
-> (forall g. RandomGen g => g -> (Unchecked a, g))
-> (forall g.
    RandomGen g =>
    (Unchecked a, Unchecked a) -> g -> [Unchecked a])
-> (forall g. RandomGen g => g -> [Unchecked a])
-> Random (Unchecked a)
forall a g. (Random a, RandomGen g) => g -> [Unchecked a]
forall a g. (Random a, RandomGen g) => g -> (Unchecked a, g)
forall a g.
(Random a, RandomGen g) =>
(Unchecked a, Unchecked a) -> g -> [Unchecked a]
forall a g.
(Random a, RandomGen g) =>
(Unchecked a, Unchecked a) -> g -> (Unchecked a, g)
forall g. RandomGen g => g -> [Unchecked a]
forall g. RandomGen g => g -> (Unchecked a, g)
forall g.
RandomGen g =>
(Unchecked a, Unchecked a) -> g -> [Unchecked a]
forall g.
RandomGen g =>
(Unchecked a, Unchecked a) -> g -> (Unchecked a, g)
forall a.
(forall g. RandomGen g => (a, a) -> g -> (a, g))
-> (forall g. RandomGen g => g -> (a, g))
-> (forall g. RandomGen g => (a, a) -> g -> [a])
-> (forall g. RandomGen g => g -> [a])
-> Random a
randoms :: g -> [Unchecked a]
$crandoms :: forall a g. (Random a, RandomGen g) => g -> [Unchecked a]
randomRs :: (Unchecked a, Unchecked a) -> g -> [Unchecked a]
$crandomRs :: forall a g.
(Random a, RandomGen g) =>
(Unchecked a, Unchecked a) -> g -> [Unchecked a]
random :: g -> (Unchecked a, g)
$crandom :: forall a g. (Random a, RandomGen g) => g -> (Unchecked a, g)
randomR :: (Unchecked a, Unchecked a) -> g -> (Unchecked a, g)
$crandomR :: forall a g.
(Random a, RandomGen g) =>
(Unchecked a, Unchecked a) -> g -> (Unchecked a, g)
Random
           , Gen (Unchecked a)
Gen (Unchecked a)
-> (Unchecked a -> [Unchecked a]) -> Arbitrary (Unchecked a)
Unchecked a -> [Unchecked a]
forall a. Arbitrary a => Gen (Unchecked a)
forall a. Arbitrary a => Unchecked a -> [Unchecked a]
forall a. Gen a -> (a -> [a]) -> Arbitrary a
shrink :: Unchecked a -> [Unchecked a]
$cshrink :: forall a. Arbitrary a => Unchecked a -> [Unchecked a]
arbitrary :: Gen (Unchecked a)
$carbitrary :: forall a. Arbitrary a => Gen (Unchecked a)
Arbitrary
           , Unchecked a
Unchecked a -> Unchecked a -> Bounded (Unchecked a)
forall a. a -> a -> Bounded a
forall a. Bounded a => Unchecked a
maxBound :: Unchecked a
$cmaxBound :: forall a. Bounded a => Unchecked a
minBound :: Unchecked a
$cminBound :: forall a. Bounded a => Unchecked a
Bounded
           , Int -> Unchecked a
Unchecked a -> Int
Unchecked a -> [Unchecked a]
Unchecked a -> Unchecked a
Unchecked a -> Unchecked a -> [Unchecked a]
Unchecked a -> Unchecked a -> Unchecked a -> [Unchecked a]
(Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Int -> Unchecked a)
-> (Unchecked a -> Int)
-> (Unchecked a -> [Unchecked a])
-> (Unchecked a -> Unchecked a -> [Unchecked a])
-> (Unchecked a -> Unchecked a -> [Unchecked a])
-> (Unchecked a -> Unchecked a -> Unchecked a -> [Unchecked a])
-> Enum (Unchecked a)
forall a. Enum a => Int -> Unchecked a
forall a. Enum a => Unchecked a -> Int
forall a. Enum a => Unchecked a -> [Unchecked a]
forall a. Enum a => Unchecked a -> Unchecked a
forall a. Enum a => Unchecked a -> Unchecked a -> [Unchecked a]
forall a.
Enum a =>
Unchecked a -> Unchecked a -> Unchecked a -> [Unchecked a]
forall a.
(a -> a)
-> (a -> a)
-> (Int -> a)
-> (a -> Int)
-> (a -> [a])
-> (a -> a -> [a])
-> (a -> a -> [a])
-> (a -> a -> a -> [a])
-> Enum a
enumFromThenTo :: Unchecked a -> Unchecked a -> Unchecked a -> [Unchecked a]
$cenumFromThenTo :: forall a.
Enum a =>
Unchecked a -> Unchecked a -> Unchecked a -> [Unchecked a]
enumFromTo :: Unchecked a -> Unchecked a -> [Unchecked a]
$cenumFromTo :: forall a. Enum a => Unchecked a -> Unchecked a -> [Unchecked a]
enumFromThen :: Unchecked a -> Unchecked a -> [Unchecked a]
$cenumFromThen :: forall a. Enum a => Unchecked a -> Unchecked a -> [Unchecked a]
enumFrom :: Unchecked a -> [Unchecked a]
$cenumFrom :: forall a. Enum a => Unchecked a -> [Unchecked a]
fromEnum :: Unchecked a -> Int
$cfromEnum :: forall a. Enum a => Unchecked a -> Int
toEnum :: Int -> Unchecked a
$ctoEnum :: forall a. Enum a => Int -> Unchecked a
pred :: Unchecked a -> Unchecked a
$cpred :: forall a. Enum a => Unchecked a -> Unchecked a
succ :: Unchecked a -> Unchecked a
$csucc :: forall a. Enum a => Unchecked a -> Unchecked a
Enum
           , Fractional (Unchecked a)
Unchecked a
Fractional (Unchecked a)
-> Unchecked a
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> Floating (Unchecked a)
Unchecked a -> Unchecked a
Unchecked a -> Unchecked a -> Unchecked a
forall a. Floating a => Fractional (Unchecked a)
forall a. Floating a => Unchecked a
forall a. Floating a => Unchecked a -> Unchecked a
forall a. Floating a => Unchecked a -> Unchecked a -> Unchecked a
forall a.
Fractional a
-> a
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> Floating a
log1mexp :: Unchecked a -> Unchecked a
$clog1mexp :: forall a. Floating a => Unchecked a -> Unchecked a
log1pexp :: Unchecked a -> Unchecked a
$clog1pexp :: forall a. Floating a => Unchecked a -> Unchecked a
expm1 :: Unchecked a -> Unchecked a
$cexpm1 :: forall a. Floating a => Unchecked a -> Unchecked a
log1p :: Unchecked a -> Unchecked a
$clog1p :: forall a. Floating a => Unchecked a -> Unchecked a
atanh :: Unchecked a -> Unchecked a
$catanh :: forall a. Floating a => Unchecked a -> Unchecked a
acosh :: Unchecked a -> Unchecked a
$cacosh :: forall a. Floating a => Unchecked a -> Unchecked a
asinh :: Unchecked a -> Unchecked a
$casinh :: forall a. Floating a => Unchecked a -> Unchecked a
tanh :: Unchecked a -> Unchecked a
$ctanh :: forall a. Floating a => Unchecked a -> Unchecked a
cosh :: Unchecked a -> Unchecked a
$ccosh :: forall a. Floating a => Unchecked a -> Unchecked a
sinh :: Unchecked a -> Unchecked a
$csinh :: forall a. Floating a => Unchecked a -> Unchecked a
atan :: Unchecked a -> Unchecked a
$catan :: forall a. Floating a => Unchecked a -> Unchecked a
acos :: Unchecked a -> Unchecked a
$cacos :: forall a. Floating a => Unchecked a -> Unchecked a
asin :: Unchecked a -> Unchecked a
$casin :: forall a. Floating a => Unchecked a -> Unchecked a
tan :: Unchecked a -> Unchecked a
$ctan :: forall a. Floating a => Unchecked a -> Unchecked a
cos :: Unchecked a -> Unchecked a
$ccos :: forall a. Floating a => Unchecked a -> Unchecked a
sin :: Unchecked a -> Unchecked a
$csin :: forall a. Floating a => Unchecked a -> Unchecked a
logBase :: Unchecked a -> Unchecked a -> Unchecked a
$clogBase :: forall a. Floating a => Unchecked a -> Unchecked a -> Unchecked a
** :: Unchecked a -> Unchecked a -> Unchecked a
$c** :: forall a. Floating a => Unchecked a -> Unchecked a -> Unchecked a
sqrt :: Unchecked a -> Unchecked a
$csqrt :: forall a. Floating a => Unchecked a -> Unchecked a
log :: Unchecked a -> Unchecked a
$clog :: forall a. Floating a => Unchecked a -> Unchecked a
exp :: Unchecked a -> Unchecked a
$cexp :: forall a. Floating a => Unchecked a -> Unchecked a
pi :: Unchecked a
$cpi :: forall a. Floating a => Unchecked a
$cp1Floating :: forall a. Floating a => Fractional (Unchecked a)
Floating
           , Num (Unchecked a)
Num (Unchecked a)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Rational -> Unchecked a)
-> Fractional (Unchecked a)
Rational -> Unchecked a
Unchecked a -> Unchecked a
Unchecked a -> Unchecked a -> Unchecked a
forall a. Fractional a => Num (Unchecked a)
forall a. Fractional a => Rational -> Unchecked a
forall a. Fractional a => Unchecked a -> Unchecked a
forall a. Fractional a => Unchecked a -> Unchecked a -> Unchecked a
forall a.
Num a
-> (a -> a -> a) -> (a -> a) -> (Rational -> a) -> Fractional a
fromRational :: Rational -> Unchecked a
$cfromRational :: forall a. Fractional a => Rational -> Unchecked a
recip :: Unchecked a -> Unchecked a
$crecip :: forall a. Fractional a => Unchecked a -> Unchecked a
/ :: Unchecked a -> Unchecked a -> Unchecked a
$c/ :: forall a. Fractional a => Unchecked a -> Unchecked a -> Unchecked a
$cp1Fractional :: forall a. Fractional a => Num (Unchecked a)
Fractional
           , Enum (Unchecked a)
Real (Unchecked a)
Real (Unchecked a)
-> Enum (Unchecked a)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a -> (Unchecked a, Unchecked a))
-> (Unchecked a -> Unchecked a -> (Unchecked a, Unchecked a))
-> (Unchecked a -> Integer)
-> Integral (Unchecked a)
Unchecked a -> Integer
Unchecked a -> Unchecked a -> (Unchecked a, Unchecked a)
Unchecked a -> Unchecked a -> Unchecked a
forall a. Integral a => Enum (Unchecked a)
forall a. Integral a => Real (Unchecked a)
forall a. Integral a => Unchecked a -> Integer
forall a.
Integral a =>
Unchecked a -> Unchecked a -> (Unchecked a, Unchecked a)
forall a. Integral a => Unchecked a -> Unchecked a -> Unchecked a
forall a.
Real a
-> Enum a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> (a, a))
-> (a -> a -> (a, a))
-> (a -> Integer)
-> Integral a
toInteger :: Unchecked a -> Integer
$ctoInteger :: forall a. Integral a => Unchecked a -> Integer
divMod :: Unchecked a -> Unchecked a -> (Unchecked a, Unchecked a)
$cdivMod :: forall a.
Integral a =>
Unchecked a -> Unchecked a -> (Unchecked a, Unchecked a)
quotRem :: Unchecked a -> Unchecked a -> (Unchecked a, Unchecked a)
$cquotRem :: forall a.
Integral a =>
Unchecked a -> Unchecked a -> (Unchecked a, Unchecked a)
mod :: Unchecked a -> Unchecked a -> Unchecked a
$cmod :: forall a. Integral a => Unchecked a -> Unchecked a -> Unchecked a
div :: Unchecked a -> Unchecked a -> Unchecked a
$cdiv :: forall a. Integral a => Unchecked a -> Unchecked a -> Unchecked a
rem :: Unchecked a -> Unchecked a -> Unchecked a
$crem :: forall a. Integral a => Unchecked a -> Unchecked a -> Unchecked a
quot :: Unchecked a -> Unchecked a -> Unchecked a
$cquot :: forall a. Integral a => Unchecked a -> Unchecked a -> Unchecked a
$cp2Integral :: forall a. Integral a => Enum (Unchecked a)
$cp1Integral :: forall a. Integral a => Real (Unchecked a)
Integral
           , Integer -> Unchecked a
Unchecked a -> Unchecked a
Unchecked a -> Unchecked a -> Unchecked a
(Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Integer -> Unchecked a)
-> Num (Unchecked a)
forall a. Num a => Integer -> Unchecked a
forall a. Num a => Unchecked a -> Unchecked a
forall a. Num a => Unchecked a -> Unchecked a -> Unchecked a
forall a.
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> a)
-> (a -> a)
-> (Integer -> a)
-> Num a
fromInteger :: Integer -> Unchecked a
$cfromInteger :: forall a. Num a => Integer -> Unchecked a
signum :: Unchecked a -> Unchecked a
$csignum :: forall a. Num a => Unchecked a -> Unchecked a
abs :: Unchecked a -> Unchecked a
$cabs :: forall a. Num a => Unchecked a -> Unchecked a
negate :: Unchecked a -> Unchecked a
$cnegate :: forall a. Num a => Unchecked a -> Unchecked a
* :: Unchecked a -> Unchecked a -> Unchecked a
$c* :: forall a. Num a => Unchecked a -> Unchecked a -> Unchecked a
- :: Unchecked a -> Unchecked a -> Unchecked a
$c- :: forall a. Num a => Unchecked a -> Unchecked a -> Unchecked a
+ :: Unchecked a -> Unchecked a -> Unchecked a
$c+ :: forall a. Num a => Unchecked a -> Unchecked a -> Unchecked a
Num
           , Num (Unchecked a)
Ord (Unchecked a)
Num (Unchecked a)
-> Ord (Unchecked a)
-> (Unchecked a -> Rational)
-> Real (Unchecked a)
Unchecked a -> Rational
forall a. Num a -> Ord a -> (a -> Rational) -> Real a
forall a. Real a => Num (Unchecked a)
forall a. Real a => Ord (Unchecked a)
forall a. Real a => Unchecked a -> Rational
toRational :: Unchecked a -> Rational
$ctoRational :: forall a. Real a => Unchecked a -> Rational
$cp2Real :: forall a. Real a => Ord (Unchecked a)
$cp1Real :: forall a. Real a => Num (Unchecked a)
Real
           , Floating (Unchecked a)
RealFrac (Unchecked a)
RealFrac (Unchecked a)
-> Floating (Unchecked a)
-> (Unchecked a -> Integer)
-> (Unchecked a -> Int)
-> (Unchecked a -> (Int, Int))
-> (Unchecked a -> (Integer, Int))
-> (Integer -> Int -> Unchecked a)
-> (Unchecked a -> Int)
-> (Unchecked a -> Unchecked a)
-> (Int -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Bool)
-> (Unchecked a -> Bool)
-> (Unchecked a -> Bool)
-> (Unchecked a -> Bool)
-> (Unchecked a -> Bool)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> RealFloat (Unchecked a)
Int -> Unchecked a -> Unchecked a
Integer -> Int -> Unchecked a
Unchecked a -> Bool
Unchecked a -> Int
Unchecked a -> Integer
Unchecked a -> (Int, Int)
Unchecked a -> (Integer, Int)
Unchecked a -> Unchecked a
Unchecked a -> Unchecked a -> Unchecked a
forall a. RealFloat a => Floating (Unchecked a)
forall a. RealFloat a => RealFrac (Unchecked a)
forall a. RealFloat a => Int -> Unchecked a -> Unchecked a
forall a. RealFloat a => Integer -> Int -> Unchecked a
forall a. RealFloat a => Unchecked a -> Bool
forall a. RealFloat a => Unchecked a -> Int
forall a. RealFloat a => Unchecked a -> Integer
forall a. RealFloat a => Unchecked a -> (Int, Int)
forall a. RealFloat a => Unchecked a -> (Integer, Int)
forall a. RealFloat a => Unchecked a -> Unchecked a
forall a. RealFloat a => Unchecked a -> Unchecked a -> Unchecked a
forall a.
RealFrac a
-> Floating a
-> (a -> Integer)
-> (a -> Int)
-> (a -> (Int, Int))
-> (a -> (Integer, Int))
-> (Integer -> Int -> a)
-> (a -> Int)
-> (a -> a)
-> (Int -> a -> a)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> Bool)
-> (a -> a -> a)
-> RealFloat a
atan2 :: Unchecked a -> Unchecked a -> Unchecked a
$catan2 :: forall a. RealFloat a => Unchecked a -> Unchecked a -> Unchecked a
isIEEE :: Unchecked a -> Bool
$cisIEEE :: forall a. RealFloat a => Unchecked a -> Bool
isNegativeZero :: Unchecked a -> Bool
$cisNegativeZero :: forall a. RealFloat a => Unchecked a -> Bool
isDenormalized :: Unchecked a -> Bool
$cisDenormalized :: forall a. RealFloat a => Unchecked a -> Bool
isInfinite :: Unchecked a -> Bool
$cisInfinite :: forall a. RealFloat a => Unchecked a -> Bool
isNaN :: Unchecked a -> Bool
$cisNaN :: forall a. RealFloat a => Unchecked a -> Bool
scaleFloat :: Int -> Unchecked a -> Unchecked a
$cscaleFloat :: forall a. RealFloat a => Int -> Unchecked a -> Unchecked a
significand :: Unchecked a -> Unchecked a
$csignificand :: forall a. RealFloat a => Unchecked a -> Unchecked a
exponent :: Unchecked a -> Int
$cexponent :: forall a. RealFloat a => Unchecked a -> Int
encodeFloat :: Integer -> Int -> Unchecked a
$cencodeFloat :: forall a. RealFloat a => Integer -> Int -> Unchecked a
decodeFloat :: Unchecked a -> (Integer, Int)
$cdecodeFloat :: forall a. RealFloat a => Unchecked a -> (Integer, Int)
floatRange :: Unchecked a -> (Int, Int)
$cfloatRange :: forall a. RealFloat a => Unchecked a -> (Int, Int)
floatDigits :: Unchecked a -> Int
$cfloatDigits :: forall a. RealFloat a => Unchecked a -> Int
floatRadix :: Unchecked a -> Integer
$cfloatRadix :: forall a. RealFloat a => Unchecked a -> Integer
$cp2RealFloat :: forall a. RealFloat a => Floating (Unchecked a)
$cp1RealFloat :: forall a. RealFloat a => RealFrac (Unchecked a)
RealFloat
           , Fractional (Unchecked a)
Real (Unchecked a)
Real (Unchecked a)
-> Fractional (Unchecked a)
-> (forall b. Integral b => Unchecked a -> (b, Unchecked a))
-> (forall b. Integral b => Unchecked a -> b)
-> (forall b. Integral b => Unchecked a -> b)
-> (forall b. Integral b => Unchecked a -> b)
-> (forall b. Integral b => Unchecked a -> b)
-> RealFrac (Unchecked a)
Unchecked a -> b
Unchecked a -> b
Unchecked a -> b
Unchecked a -> b
Unchecked a -> (b, Unchecked a)
forall b. Integral b => Unchecked a -> b
forall b. Integral b => Unchecked a -> (b, Unchecked a)
forall a.
Real a
-> Fractional a
-> (forall b. Integral b => a -> (b, a))
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> (forall b. Integral b => a -> b)
-> RealFrac a
forall a. RealFrac a => Fractional (Unchecked a)
forall a. RealFrac a => Real (Unchecked a)
forall a b. (RealFrac a, Integral b) => Unchecked a -> b
forall a b.
(RealFrac a, Integral b) =>
Unchecked a -> (b, Unchecked a)
floor :: Unchecked a -> b
$cfloor :: forall a b. (RealFrac a, Integral b) => Unchecked a -> b
ceiling :: Unchecked a -> b
$cceiling :: forall a b. (RealFrac a, Integral b) => Unchecked a -> b
round :: Unchecked a -> b
$cround :: forall a b. (RealFrac a, Integral b) => Unchecked a -> b
truncate :: Unchecked a -> b
$ctruncate :: forall a b. (RealFrac a, Integral b) => Unchecked a -> b
properFraction :: Unchecked a -> (b, Unchecked a)
$cproperFraction :: forall a b.
(RealFrac a, Integral b) =>
Unchecked a -> (b, Unchecked a)
$cp2RealFrac :: forall a. RealFrac a => Fractional (Unchecked a)
$cp1RealFrac :: forall a. RealFrac a => Real (Unchecked a)
RealFrac
           , Ord (Unchecked a)
Ord (Unchecked a)
-> ((Unchecked a, Unchecked a) -> [Unchecked a])
-> ((Unchecked a, Unchecked a) -> Unchecked a -> Int)
-> ((Unchecked a, Unchecked a) -> Unchecked a -> Int)
-> ((Unchecked a, Unchecked a) -> Unchecked a -> Bool)
-> ((Unchecked a, Unchecked a) -> Int)
-> ((Unchecked a, Unchecked a) -> Int)
-> Ix (Unchecked a)
(Unchecked a, Unchecked a) -> Int
(Unchecked a, Unchecked a) -> [Unchecked a]
(Unchecked a, Unchecked a) -> Unchecked a -> Bool
(Unchecked a, Unchecked a) -> Unchecked a -> Int
forall a.
Ord a
-> ((a, a) -> [a])
-> ((a, a) -> a -> Int)
-> ((a, a) -> a -> Int)
-> ((a, a) -> a -> Bool)
-> ((a, a) -> Int)
-> ((a, a) -> Int)
-> Ix a
forall a. Ix a => Ord (Unchecked a)
forall a. Ix a => (Unchecked a, Unchecked a) -> Int
forall a. Ix a => (Unchecked a, Unchecked a) -> [Unchecked a]
forall a. Ix a => (Unchecked a, Unchecked a) -> Unchecked a -> Bool
forall a. Ix a => (Unchecked a, Unchecked a) -> Unchecked a -> Int
unsafeRangeSize :: (Unchecked a, Unchecked a) -> Int
$cunsafeRangeSize :: forall a. Ix a => (Unchecked a, Unchecked a) -> Int
rangeSize :: (Unchecked a, Unchecked a) -> Int
$crangeSize :: forall a. Ix a => (Unchecked a, Unchecked a) -> Int
inRange :: (Unchecked a, Unchecked a) -> Unchecked a -> Bool
$cinRange :: forall a. Ix a => (Unchecked a, Unchecked a) -> Unchecked a -> Bool
unsafeIndex :: (Unchecked a, Unchecked a) -> Unchecked a -> Int
$cunsafeIndex :: forall a. Ix a => (Unchecked a, Unchecked a) -> Unchecked a -> Int
index :: (Unchecked a, Unchecked a) -> Unchecked a -> Int
$cindex :: forall a. Ix a => (Unchecked a, Unchecked a) -> Unchecked a -> Int
range :: (Unchecked a, Unchecked a) -> [Unchecked a]
$crange :: forall a. Ix a => (Unchecked a, Unchecked a) -> [Unchecked a]
$cp1Ix :: forall a. Ix a => Ord (Unchecked a)
Ix
           , String -> Unchecked a
(String -> Unchecked a) -> IsString (Unchecked a)
forall a. IsString a => String -> Unchecked a
forall a. (String -> a) -> IsString a
fromString :: String -> Unchecked a
$cfromString :: forall a. IsString a => String -> Unchecked a
IsString
           , Eq (Unchecked a)
Unchecked a
Eq (Unchecked a)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a -> Unchecked a)
-> (Unchecked a -> Unchecked a)
-> (Unchecked a -> Int -> Unchecked a)
-> (Unchecked a -> Int -> Unchecked a)
-> Unchecked a
-> (Int -> Unchecked a)
-> (Unchecked a -> Int -> Unchecked a)
-> (Unchecked a -> Int -> Unchecked a)
-> (Unchecked a -> Int -> Unchecked a)
-> (Unchecked a -> Int -> Bool)
-> (Unchecked a -> Maybe Int)
-> (Unchecked a -> Int)
-> (Unchecked a -> Bool)
-> (Unchecked a -> Int -> Unchecked a)
-> (Unchecked a -> Int -> Unchecked a)
-> (Unchecked a -> Int -> Unchecked a)
-> (Unchecked a -> Int -> Unchecked a)
-> (Unchecked a -> Int -> Unchecked a)
-> (Unchecked a -> Int -> Unchecked a)
-> (Unchecked a -> Int)
-> Bits (Unchecked a)
Int -> Unchecked a
Unchecked a -> Bool
Unchecked a -> Int
Unchecked a -> Maybe Int
Unchecked a -> Unchecked a
Unchecked a -> Int -> Bool
Unchecked a -> Int -> Unchecked a
Unchecked a -> Unchecked a -> Unchecked a
forall a.
Eq a
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
forall a. Bits a => Eq (Unchecked a)
forall a. Bits a => Unchecked a
forall a. Bits a => Int -> Unchecked a
forall a. Bits a => Unchecked a -> Bool
forall a. Bits a => Unchecked a -> Int
forall a. Bits a => Unchecked a -> Maybe Int
forall a. Bits a => Unchecked a -> Unchecked a
forall a. Bits a => Unchecked a -> Int -> Bool
forall a. Bits a => Unchecked a -> Int -> Unchecked a
forall a. Bits a => Unchecked a -> Unchecked a -> Unchecked a
popCount :: Unchecked a -> Int
$cpopCount :: forall a. Bits a => Unchecked a -> Int
rotateR :: Unchecked a -> Int -> Unchecked a
$crotateR :: forall a. Bits a => Unchecked a -> Int -> Unchecked a
rotateL :: Unchecked a -> Int -> Unchecked a
$crotateL :: forall a. Bits a => Unchecked a -> Int -> Unchecked a
unsafeShiftR :: Unchecked a -> Int -> Unchecked a
$cunsafeShiftR :: forall a. Bits a => Unchecked a -> Int -> Unchecked a
shiftR :: Unchecked a -> Int -> Unchecked a
$cshiftR :: forall a. Bits a => Unchecked a -> Int -> Unchecked a
unsafeShiftL :: Unchecked a -> Int -> Unchecked a
$cunsafeShiftL :: forall a. Bits a => Unchecked a -> Int -> Unchecked a
shiftL :: Unchecked a -> Int -> Unchecked a
$cshiftL :: forall a. Bits a => Unchecked a -> Int -> Unchecked a
isSigned :: Unchecked a -> Bool
$cisSigned :: forall a. Bits a => Unchecked a -> Bool
bitSize :: Unchecked a -> Int
$cbitSize :: forall a. Bits a => Unchecked a -> Int
bitSizeMaybe :: Unchecked a -> Maybe Int
$cbitSizeMaybe :: forall a. Bits a => Unchecked a -> Maybe Int
testBit :: Unchecked a -> Int -> Bool
$ctestBit :: forall a. Bits a => Unchecked a -> Int -> Bool
complementBit :: Unchecked a -> Int -> Unchecked a
$ccomplementBit :: forall a. Bits a => Unchecked a -> Int -> Unchecked a
clearBit :: Unchecked a -> Int -> Unchecked a
$cclearBit :: forall a. Bits a => Unchecked a -> Int -> Unchecked a
setBit :: Unchecked a -> Int -> Unchecked a
$csetBit :: forall a. Bits a => Unchecked a -> Int -> Unchecked a
bit :: Int -> Unchecked a
$cbit :: forall a. Bits a => Int -> Unchecked a
zeroBits :: Unchecked a
$czeroBits :: forall a. Bits a => Unchecked a
rotate :: Unchecked a -> Int -> Unchecked a
$crotate :: forall a. Bits a => Unchecked a -> Int -> Unchecked a
shift :: Unchecked a -> Int -> Unchecked a
$cshift :: forall a. Bits a => Unchecked a -> Int -> Unchecked a
complement :: Unchecked a -> Unchecked a
$ccomplement :: forall a. Bits a => Unchecked a -> Unchecked a
xor :: Unchecked a -> Unchecked a -> Unchecked a
$cxor :: forall a. Bits a => Unchecked a -> Unchecked a -> Unchecked a
.|. :: Unchecked a -> Unchecked a -> Unchecked a
$c.|. :: forall a. Bits a => Unchecked a -> Unchecked a -> Unchecked a
.&. :: Unchecked a -> Unchecked a -> Unchecked a
$c.&. :: forall a. Bits a => Unchecked a -> Unchecked a -> Unchecked a
$cp1Bits :: forall a. Bits a => Eq (Unchecked a)
Bits
           , Bits (Unchecked a)
Bits (Unchecked a)
-> (Unchecked a -> Int)
-> (Unchecked a -> Int)
-> (Unchecked a -> Int)
-> FiniteBits (Unchecked a)
Unchecked a -> Int
forall b.
Bits b -> (b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
forall a. FiniteBits a => Bits (Unchecked a)
forall a. FiniteBits a => Unchecked a -> Int
countTrailingZeros :: Unchecked a -> Int
$ccountTrailingZeros :: forall a. FiniteBits a => Unchecked a -> Int
countLeadingZeros :: Unchecked a -> Int
$ccountLeadingZeros :: forall a. FiniteBits a => Unchecked a -> Int
finiteBitSize :: Unchecked a -> Int
$cfiniteBitSize :: forall a. FiniteBits a => Unchecked a -> Int
$cp1FiniteBits :: forall a. FiniteBits a => Bits (Unchecked a)
FiniteBits
           )
  deriving ( (a -> b -> Bool) -> Unchecked a -> Unchecked b -> Bool
(forall a b.
 (a -> b -> Bool) -> Unchecked a -> Unchecked b -> Bool)
-> Eq1 Unchecked
forall a b. (a -> b -> Bool) -> Unchecked a -> Unchecked b -> Bool
forall (f :: * -> *).
(forall a b. (a -> b -> Bool) -> f a -> f b -> Bool) -> Eq1 f
liftEq :: (a -> b -> Bool) -> Unchecked a -> Unchecked b -> Bool
$cliftEq :: forall a b. (a -> b -> Bool) -> Unchecked a -> Unchecked b -> Bool
Eq1
           , Eq1 Unchecked
Eq1 Unchecked
-> (forall a b.
    (a -> b -> Ordering) -> Unchecked a -> Unchecked b -> Ordering)
-> Ord1 Unchecked
(a -> b -> Ordering) -> Unchecked a -> Unchecked b -> Ordering
forall a b.
(a -> b -> Ordering) -> Unchecked a -> Unchecked b -> Ordering
forall (f :: * -> *).
Eq1 f
-> (forall a b. (a -> b -> Ordering) -> f a -> f b -> Ordering)
-> Ord1 f
liftCompare :: (a -> b -> Ordering) -> Unchecked a -> Unchecked b -> Ordering
$cliftCompare :: forall a b.
(a -> b -> Ordering) -> Unchecked a -> Unchecked b -> Ordering
$cp1Ord1 :: Eq1 Unchecked
Ord1
           , ReadPrec a -> ReadPrec [a] -> ReadPrec (Unchecked a)
ReadPrec a -> ReadPrec [a] -> ReadPrec [Unchecked a]
(Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Unchecked a)
(Int -> ReadS a) -> ReadS [a] -> ReadS [Unchecked a]
(forall a.
 (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Unchecked a))
-> (forall a. (Int -> ReadS a) -> ReadS [a] -> ReadS [Unchecked a])
-> (forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec (Unchecked a))
-> (forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec [Unchecked a])
-> Read1 Unchecked
forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec [Unchecked a]
forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec (Unchecked a)
forall a.
(Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Unchecked a)
forall a. (Int -> ReadS a) -> ReadS [a] -> ReadS [Unchecked a]
forall (f :: * -> *).
(forall a. (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (f a))
-> (forall a. (Int -> ReadS a) -> ReadS [a] -> ReadS [f a])
-> (forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec (f a))
-> (forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec [f a])
-> Read1 f
liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Unchecked a]
$cliftReadListPrec :: forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec [Unchecked a]
liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Unchecked a)
$cliftReadPrec :: forall a. ReadPrec a -> ReadPrec [a] -> ReadPrec (Unchecked a)
liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Unchecked a]
$cliftReadList :: forall a. (Int -> ReadS a) -> ReadS [a] -> ReadS [Unchecked a]
liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Unchecked a)
$cliftReadsPrec :: forall a.
(Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Unchecked a)
Read1
           , (Int -> a -> ShowS)
-> ([a] -> ShowS) -> Int -> Unchecked a -> ShowS
(Int -> a -> ShowS) -> ([a] -> ShowS) -> [Unchecked a] -> ShowS
(forall a.
 (Int -> a -> ShowS)
 -> ([a] -> ShowS) -> Int -> Unchecked a -> ShowS)
-> (forall a.
    (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Unchecked a] -> ShowS)
-> Show1 Unchecked
forall a.
(Int -> a -> ShowS)
-> ([a] -> ShowS) -> Int -> Unchecked a -> ShowS
forall a.
(Int -> a -> ShowS) -> ([a] -> ShowS) -> [Unchecked a] -> ShowS
forall (f :: * -> *).
(forall a.
 (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> f a -> ShowS)
-> (forall a.
    (Int -> a -> ShowS) -> ([a] -> ShowS) -> [f a] -> ShowS)
-> Show1 f
liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Unchecked a] -> ShowS
$cliftShowList :: forall a.
(Int -> a -> ShowS) -> ([a] -> ShowS) -> [Unchecked a] -> ShowS
liftShowsPrec :: (Int -> a -> ShowS)
-> ([a] -> ShowS) -> Int -> Unchecked a -> ShowS
$cliftShowsPrec :: forall a.
(Int -> a -> ShowS)
-> ([a] -> ShowS) -> Int -> Unchecked a -> ShowS
Show1
           , a -> Unchecked a
(forall a. a -> Unchecked a) -> Pointed Unchecked
forall a. a -> Unchecked a
forall (p :: * -> *). (forall a. a -> p a) -> Pointed p
point :: a -> Unchecked a
$cpoint :: forall a. a -> Unchecked a
Pointed
           , Unchecked a -> a
(forall a. Unchecked a -> a) -> Copointed Unchecked
forall a. Unchecked a -> a
forall (p :: * -> *). (forall a. p a -> a) -> Copointed p
copoint :: Unchecked a -> a
$ccopoint :: forall a. Unchecked a -> a
Copointed
           , Functor Unchecked
a -> Unchecked a
Functor Unchecked
-> (forall a. a -> Unchecked a)
-> (forall a b. Unchecked (a -> b) -> Unchecked a -> Unchecked b)
-> (forall a b c.
    (a -> b -> c) -> Unchecked a -> Unchecked b -> Unchecked c)
-> (forall a b. Unchecked a -> Unchecked b -> Unchecked b)
-> (forall a b. Unchecked a -> Unchecked b -> Unchecked a)
-> Applicative Unchecked
Unchecked a -> Unchecked b -> Unchecked b
Unchecked a -> Unchecked b -> Unchecked a
Unchecked (a -> b) -> Unchecked a -> Unchecked b
(a -> b -> c) -> Unchecked a -> Unchecked b -> Unchecked c
forall a. a -> Unchecked a
forall a b. Unchecked a -> Unchecked b -> Unchecked a
forall a b. Unchecked a -> Unchecked b -> Unchecked b
forall a b. Unchecked (a -> b) -> Unchecked a -> Unchecked b
forall a b c.
(a -> b -> c) -> Unchecked a -> Unchecked b -> Unchecked c
forall (f :: * -> *).
Functor f
-> (forall a. a -> f a)
-> (forall a b. f (a -> b) -> f a -> f b)
-> (forall a b c. (a -> b -> c) -> f a -> f b -> f c)
-> (forall a b. f a -> f b -> f b)
-> (forall a b. f a -> f b -> f a)
-> Applicative f
<* :: Unchecked a -> Unchecked b -> Unchecked a
$c<* :: forall a b. Unchecked a -> Unchecked b -> Unchecked a
*> :: Unchecked a -> Unchecked b -> Unchecked b
$c*> :: forall a b. Unchecked a -> Unchecked b -> Unchecked b
liftA2 :: (a -> b -> c) -> Unchecked a -> Unchecked b -> Unchecked c
$cliftA2 :: forall a b c.
(a -> b -> c) -> Unchecked a -> Unchecked b -> Unchecked c
<*> :: Unchecked (a -> b) -> Unchecked a -> Unchecked b
$c<*> :: forall a b. Unchecked (a -> b) -> Unchecked a -> Unchecked b
pure :: a -> Unchecked a
$cpure :: forall a. a -> Unchecked a
$cp1Applicative :: Functor Unchecked
Applicative
           , Monad Unchecked
Monad Unchecked
-> (forall a. (a -> Unchecked a) -> Unchecked a)
-> MonadFix Unchecked
(a -> Unchecked a) -> Unchecked a
forall a. (a -> Unchecked a) -> Unchecked a
forall (m :: * -> *).
Monad m -> (forall a. (a -> m a) -> m a) -> MonadFix m
mfix :: (a -> Unchecked a) -> Unchecked a
$cmfix :: forall a. (a -> Unchecked a) -> Unchecked a
$cp1MonadFix :: Monad Unchecked
MonadFix
           , Applicative Unchecked
a -> Unchecked a
Applicative Unchecked
-> (forall a b. Unchecked a -> (a -> Unchecked b) -> Unchecked b)
-> (forall a b. Unchecked a -> Unchecked b -> Unchecked b)
-> (forall a. a -> Unchecked a)
-> Monad Unchecked
Unchecked a -> (a -> Unchecked b) -> Unchecked b
Unchecked a -> Unchecked b -> Unchecked b
forall a. a -> Unchecked a
forall a b. Unchecked a -> Unchecked b -> Unchecked b
forall a b. Unchecked a -> (a -> Unchecked b) -> Unchecked b
forall (m :: * -> *).
Applicative m
-> (forall a b. m a -> (a -> m b) -> m b)
-> (forall a b. m a -> m b -> m b)
-> (forall a. a -> m a)
-> Monad m
return :: a -> Unchecked a
$creturn :: forall a. a -> Unchecked a
>> :: Unchecked a -> Unchecked b -> Unchecked b
$c>> :: forall a b. Unchecked a -> Unchecked b -> Unchecked b
>>= :: Unchecked a -> (a -> Unchecked b) -> Unchecked b
$c>>= :: forall a b. Unchecked a -> (a -> Unchecked b) -> Unchecked b
$cp1Monad :: Applicative Unchecked
Monad
           , Monad Unchecked
Monad Unchecked
-> (forall a b. Unchecked a -> Unchecked b -> Unchecked (a, b))
-> (forall a b c.
    (a -> b -> c) -> Unchecked a -> Unchecked b -> Unchecked c)
-> (forall a b. Unchecked (a, b) -> (Unchecked a, Unchecked b))
-> MonadZip Unchecked
Unchecked a -> Unchecked b -> Unchecked (a, b)
Unchecked (a, b) -> (Unchecked a, Unchecked b)
(a -> b -> c) -> Unchecked a -> Unchecked b -> Unchecked c
forall a b. Unchecked a -> Unchecked b -> Unchecked (a, b)
forall a b. Unchecked (a, b) -> (Unchecked a, Unchecked b)
forall a b c.
(a -> b -> c) -> Unchecked a -> Unchecked b -> Unchecked c
forall (m :: * -> *).
Monad m
-> (forall a b. m a -> m b -> m (a, b))
-> (forall a b c. (a -> b -> c) -> m a -> m b -> m c)
-> (forall a b. m (a, b) -> (m a, m b))
-> MonadZip m
munzip :: Unchecked (a, b) -> (Unchecked a, Unchecked b)
$cmunzip :: forall a b. Unchecked (a, b) -> (Unchecked a, Unchecked b)
mzipWith :: (a -> b -> c) -> Unchecked a -> Unchecked b -> Unchecked c
$cmzipWith :: forall a b c.
(a -> b -> c) -> Unchecked a -> Unchecked b -> Unchecked c
mzip :: Unchecked a -> Unchecked b -> Unchecked (a, b)
$cmzip :: forall a b. Unchecked a -> Unchecked b -> Unchecked (a, b)
$cp1MonadZip :: Monad Unchecked
MonadZip

           )
           via Identity

_theUnchecked :: Unchecked x -> x
_theUnchecked :: Unchecked x -> x
_theUnchecked (Unchecked !x
x) = x
x
{-# INLINE _theUnchecked #-}

theUnchecked :: forall a b p f. (Profunctor p, Functor f) => p a (f b) -> p (Unchecked a) (f (Unchecked b))
theUnchecked :: p a (f b) -> p (Unchecked a) (f (Unchecked b))
theUnchecked = (Unchecked a -> a)
-> (f b -> f (Unchecked b))
-> p a (f b)
-> p (Unchecked a) (f (Unchecked b))
forall (p :: * -> * -> *) a b c d.
Profunctor p =>
(a -> b) -> (c -> d) -> p b c -> p a d
dimap Unchecked a -> a
forall a. Unchecked a -> a
_theUnchecked ((b -> Unchecked b) -> f b -> f (Unchecked b)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap b -> Unchecked b
forall a. a -> Unchecked a
Unchecked)
{-# INLINE theUnchecked #-}