module PlutusCore.Default.Universe.Cardano where
import PlutusCore.Evaluation.Machine.ExMemoryUsage
import PlutusCore.Pretty
import Data.Bits (shiftL)
import Data.ByteString (ByteString)
minBoundInteger :: Integer
minBoundInteger :: Integer
minBoundInteger = Integer -> Integer
forall a. Num a => a -> a
negate (Integer -> Int -> Integer
forall a. Bits a => a -> Int -> a
shiftL Integer
1 Int
262143)
{-# NOINLINE minBoundInteger #-}
maxBoundInteger :: Integer
maxBoundInteger :: Integer
maxBoundInteger = Integer -> Int -> Integer
forall a. Bits a => a -> Int -> a
shiftL Integer
1 Int
262143 Integer -> Integer -> Integer
forall a. Num a => a -> a -> a
- Integer
1
{-# NOINLINE maxBoundInteger #-}
maxBoundByteString :: Int
maxBoundByteString :: Int
maxBoundByteString = Int
65536
{-# INLINE maxBoundByteString #-}
newtype CInteger = CInteger Integer
deriving newtype (CInteger -> CostRose
(CInteger -> CostRose) -> ExMemoryUsage CInteger
forall a. (a -> CostRose) -> ExMemoryUsage a
$cmemoryUsage :: CInteger -> CostRose
memoryUsage :: CInteger -> CostRose
ExMemoryUsage, PrettyBy ConstConfig)
newtype CByteString = CByteString ByteString
deriving newtype (CByteString -> CostRose
(CByteString -> CostRose) -> ExMemoryUsage CByteString
forall a. (a -> CostRose) -> ExMemoryUsage a
$cmemoryUsage :: CByteString -> CostRose
memoryUsage :: CByteString -> CostRose
ExMemoryUsage, PrettyBy ConstConfig)