HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Moduleghc-9.10.3GHC2021

GHC.Cmm.Type

  • 5 types
  • 56 values
  • Packageghc-9.10.3
  • Exports61
  • LanguageGHC2021
  • LicenceBSD-3-Clause
  • SourceType.hs
valuewidthInLog :: Width -> Int
#

log_2 of the width in bytes, useful for generating shifts.

valuenarrowU :: Width -> Integer -> Integer
#

Narrow a signed or unsigned value to the given width. The result will reside in [0, +2^width).

Example10 expressions
narrowU W8 256    == 256narrowU W8 255    == 255narrowU W8 128    == 128narrowU W8 127    == 127narrowU W8 0      == 0narrowU W8 (-127) == 129narrowU W8 (-128) == 128narrowU W8 (-129) == 127narrowU W8 (-255) == 1narrowU W8 (-256) == 0
valuenarrowS :: Width -> Integer -> Integer
#

Narrow a signed value to the given width. The result will reside in [-2^(width-1), +2^(width-1)).

Example10 expressions
narrowS W8 256    == 0narrowS W8 255    == -1narrowS W8 128    == -128narrowS W8 127    == 127narrowS W8 0      == 0narrowS W8 (-127) == -127narrowS W8 (-128) == -128narrowS W8 (-129) == 127narrowS W8 (-255) == 1narrowS W8 (-256) == 0