{-# LANGUAGE FlexibleInstances #-} module HaskellWorks.Data.RankSelect.CsPoppy.Internal.Nice where import HaskellWorks.Data.Bits.BitShow import HaskellWorks.Data.RankSelect.CsPoppy import HaskellWorks.Data.RankSelect.CsPoppy.Internal.CsInterleaved import qualified HaskellWorks.Data.RankSelect.CsPoppy.Internal.Alpha0 as A0 import qualified HaskellWorks.Data.RankSelect.CsPoppy.Internal.Alpha1 as A1 import qualified Data.Vector.Storable as DVS newtype Nice a = Nice a deriving Nice a -> Nice a -> Bool (Nice a -> Nice a -> Bool) -> (Nice a -> Nice a -> Bool) -> Eq (Nice a) forall a. Eq a => Nice a -> Nice a -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Nice a -> Nice a -> Bool $c/= :: forall a. Eq a => Nice a -> Nice a -> Bool == :: Nice a -> Nice a -> Bool $c== :: forall a. Eq a => Nice a -> Nice a -> Bool Eq instance Show (Nice CsPoppy) where showsPrec :: Int -> Nice CsPoppy -> ShowS showsPrec Int _ (Nice CsPoppy rsbs) = String -> ShowS showString String "CsPoppy " ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> String -> ShowS showString String "{ csPoppyBits = " ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> [String] -> ShowS forall a. Show a => a -> ShowS shows (Word64 -> String forall a. BitShow a => a -> String bitShow (Word64 -> String) -> [Word64] -> [String] forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Vector Word64 -> [Word64] forall a. Storable a => Vector a -> [a] DVS.toList (CsPoppy -> Vector Word64 csPoppyBits CsPoppy rsbs)) ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> String -> ShowS showString String ", csPoppyIndex0 = CsPoppyIndex" ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> String -> ShowS showString String "{ csPoppyLayerM = " ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> [CsInterleaved] -> ShowS forall a. Show a => a -> ShowS shows (Word64 -> CsInterleaved CsInterleaved (Word64 -> CsInterleaved) -> [Word64] -> [CsInterleaved] forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Vector Word64 -> [Word64] forall a. Storable a => Vector a -> [a] DVS.toList (CsPoppyIndex -> Vector Word64 A0.csPoppyLayerM (CsPoppy -> CsPoppyIndex csPoppyIndex0 CsPoppy rsbs))) ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> String -> ShowS showString String ", csPoppyLayerS = " ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> Vector Word64 -> ShowS forall a. Show a => a -> ShowS shows (CsPoppyIndex -> Vector Word64 A0.csPoppyLayerS (CsPoppy -> CsPoppyIndex csPoppyIndex0 CsPoppy rsbs)) ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> String -> ShowS showString String " }" ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> String -> ShowS showString String ", csPoppyIndex1 = CsPoppyIndex" ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> String -> ShowS showString String "{ csPoppyLayerM = " ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> [CsInterleaved] -> ShowS forall a. Show a => a -> ShowS shows (Word64 -> CsInterleaved CsInterleaved (Word64 -> CsInterleaved) -> [Word64] -> [CsInterleaved] forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Vector Word64 -> [Word64] forall a. Storable a => Vector a -> [a] DVS.toList (CsPoppyIndex -> Vector Word64 A1.csPoppyLayerM (CsPoppy -> CsPoppyIndex csPoppyIndex1 CsPoppy rsbs))) ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> String -> ShowS showString String ", csPoppyLayerS = " ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> Vector Word64 -> ShowS forall a. Show a => a -> ShowS shows (CsPoppyIndex -> Vector Word64 A1.csPoppyLayerS (CsPoppy -> CsPoppyIndex csPoppyIndex1 CsPoppy rsbs)) ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> String -> ShowS showString String " }" ShowS -> ShowS -> ShowS forall a. Semigroup a => a -> a -> a <> String -> ShowS showString String " }"