text-1.2.1.3: An efficient packed Unicode text type.

Copyright(c) Bryan O'Sullivan 2009
LicenseBSD-style
Maintainerbos@serpentine.com
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell98

Data.Text.Internal.Unsafe.Shift

Description

Warning: this is an internal module, and does not have a stable API or name. Functions in this module may not check or enforce preconditions expected by public modules. Use at your own risk!

Fast, unchecked bit shifting functions.

Synopsis

Documentation

class UnsafeShift a where Source

This is a workaround for poor optimisation in GHC 6.8.2. It fails to notice constant-width shifts, and adds a test and branch to every shift. This imposes about a 10% performance hit.

These functions are undefined when the amount being shifted by is greater than the size in bits of a machine Int#.

Methods

shiftL :: a -> Int -> a Source

shiftR :: a -> Int -> a Source