text-1.2.4.1: An efficient packed Unicode text type.
Copyright (c) Bryan O'Sullivan 2009
License BSD-style
Maintainer bos@serpentine.com
Stability experimental
Portability GHC
Safe Haskell None
Language Haskell2010

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#.