-- |
-- Module      : Data.Memory.ExtendedWords
-- License     : BSD-style
-- Maintainer  : Vincent Hanquez <vincent@snarc.org>
-- Stability   : experimental
-- Portability : unknown
--
-- Extra Word size
--
module Data.Memory.ExtendedWords
    ( Word128(..)
    ) where

import Data.Word (Word64)

-- | A simple Extended Word128 composed of 2 Word64
data Word128 = Word128 !Word64 !Word64 deriving (Int -> Word128 -> ShowS
[Word128] -> ShowS
Word128 -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Word128] -> ShowS
$cshowList :: [Word128] -> ShowS
show :: Word128 -> String
$cshow :: Word128 -> String
showsPrec :: Int -> Word128 -> ShowS
$cshowsPrec :: Int -> Word128 -> ShowS
Show, Word128 -> Word128 -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Word128 -> Word128 -> Bool
$c/= :: Word128 -> Word128 -> Bool
== :: Word128 -> Word128 -> Bool
$c== :: Word128 -> Word128 -> Bool
Eq)