<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >Data.Bits</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_Data-Bits.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >base-4.1.0.0: Basic libraries</TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >Data.Bits</FONT ></TD ><TD ALIGN="right" ><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="infohead" >Portability</TD ><TD CLASS="infoval" >portable</TD ></TR ><TR ><TD CLASS="infohead" >Stability</TD ><TD CLASS="infoval" >experimental</TD ></TR ><TR ><TD CLASS="infohead" >Maintainer</TD ><TD CLASS="infoval" >libraries@haskell.org</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >This module defines bitwise operations for signed and unsigned integers. Instances of the class <TT ><A HREF="Data-Bits.html#t%3ABits" >Bits</A ></TT > for the <TT ><A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TT > and <TT ><A HREF="../integer/GHC-Integer.html#t%3AInteger" >Integer</A ></TT > types are available from this module, and instances for explicitly sized integral types are available from the <A HREF="Data-Int.html" >Data.Int</A > and <A HREF="Data-Word.html" >Data.Word</A > modules. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="Prelude.html#t%3ANum" >Num</A > a => <A HREF="#t%3ABits" >Bits</A > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3A.%26." >(.&.)</A > :: a -> a -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3A.%7C." >(.|.)</A > :: a -> a -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Axor" >xor</A > :: a -> a -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Acomplement" >complement</A > :: a -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Ashift" >shift</A > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Arotate" >rotate</A > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Abit" >bit</A > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsetBit" >setBit</A > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AclearBit" >clearBit</A > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcomplementBit" >complementBit</A > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtestBit" >testBit</A > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AbitSize" >bitSize</A > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AisSigned" >isSigned</A > :: a -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AshiftL" >shiftL</A > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AshiftR" >shiftR</A > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ArotateL" >rotateL</A > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ArotateR" >rotateR</A > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="Prelude.html#t%3ANum" >Num</A > a => <A NAME="t:Bits" ><A NAME="t%3ABits" ></A ></A ><B >Bits</B > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >The <TT ><A HREF="Data-Bits.html#t%3ABits" >Bits</A ></TT > class defines bitwise operations over integral types. </P ><UL ><LI > Bits are numbered from 0 with bit 0 being the least significant bit. </LI ></UL ><P >Minimal complete definition: <TT ><A HREF="Data-Bits.html#v%3A.%26." >.&.</A ></TT >, <TT ><A HREF="Data-Bits.html#v%3A.%7C." >.|.</A ></TT >, <TT ><A HREF="Data-Bits.html#v%3Axor" >xor</A ></TT >, <TT ><A HREF="Data-Bits.html#v%3Acomplement" >complement</A ></TT >, (<TT ><A HREF="Data-Bits.html#v%3Ashift" >shift</A ></TT > or (<TT ><A HREF="Data-Bits.html#v%3AshiftL" >shiftL</A ></TT > and <TT ><A HREF="Data-Bits.html#v%3AshiftR" >shiftR</A ></TT >)), (<TT ><A HREF="Data-Bits.html#v%3Arotate" >rotate</A ></TT > or (<TT ><A HREF="Data-Bits.html#v%3ArotateL" >rotateL</A ></TT > and <TT ><A HREF="Data-Bits.html#v%3ArotateR" >rotateR</A ></TT >)), <TT ><A HREF="Data-Bits.html#v%3AbitSize" >bitSize</A ></TT > and <TT ><A HREF="Data-Bits.html#v%3AisSigned" >isSigned</A ></TT >. </P ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" >Methods</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A NAME="v:.&." ><A NAME="v%3A.%26." ></A ></A ><B >(.&.)</B > :: a -> a -> a</TD ></TR ><TR ><TD CLASS="doc" >Bitwise "and" </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:.|." ><A NAME="v%3A.%7C." ></A ></A ><B >(.|.)</B > :: a -> a -> a</TD ></TR ><TR ><TD CLASS="doc" >Bitwise "or" </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:xor" ><A NAME="v%3Axor" ></A ></A ><B >xor</B > :: a -> a -> a</TD ></TR ><TR ><TD CLASS="doc" >Bitwise "xor" </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:complement" ><A NAME="v%3Acomplement" ></A ></A ><B >complement</B > :: a -> a</TD ></TR ><TR ><TD CLASS="doc" >Reverse all the bits in the argument </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:shift" ><A NAME="v%3Ashift" ></A ></A ><B >shift</B > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="doc" ><P ><TT ><TT ><A HREF="Data-Bits.html#v%3Ashift" >shift</A ></TT > x i</TT > shifts <TT >x</TT > left by <TT >i</TT > bits if <TT >i</TT > is positive, or right by <TT >-i</TT > bits otherwise. Right shifts perform sign extension on signed number types; i.e. they fill the top bits with 1 if the <TT >x</TT > is negative and with 0 otherwise. </P ><P >An instance can define either this unified <TT ><A HREF="Data-Bits.html#v%3Ashift" >shift</A ></TT > or <TT ><A HREF="Data-Bits.html#v%3AshiftL" >shiftL</A ></TT > and <TT ><A HREF="Data-Bits.html#v%3AshiftR" >shiftR</A ></TT >, depending on which is more convenient for the type in question. </P ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:rotate" ><A NAME="v%3Arotate" ></A ></A ><B >rotate</B > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="doc" ><P ><TT ><TT ><A HREF="Data-Bits.html#v%3Arotate" >rotate</A ></TT > x i</TT > rotates <TT >x</TT > left by <TT >i</TT > bits if <TT >i</TT > is positive, or right by <TT >-i</TT > bits otherwise. </P ><P >For unbounded types like <TT ><A HREF="../integer/GHC-Integer.html#t%3AInteger" >Integer</A ></TT >, <TT ><A HREF="Data-Bits.html#v%3Arotate" >rotate</A ></TT > is equivalent to <TT ><A HREF="Data-Bits.html#v%3Ashift" >shift</A ></TT >. </P ><P >An instance can define either this unified <TT ><A HREF="Data-Bits.html#v%3Arotate" >rotate</A ></TT > or <TT ><A HREF="Data-Bits.html#v%3ArotateL" >rotateL</A ></TT > and <TT ><A HREF="Data-Bits.html#v%3ArotateR" >rotateR</A ></TT >, depending on which is more convenient for the type in question. </P ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:bit" ><A NAME="v%3Abit" ></A ></A ><B >bit</B > :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="doc" ><TT >bit i</TT > is a value with the <TT >i</TT >th bit set </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:setBit" ><A NAME="v%3AsetBit" ></A ></A ><B >setBit</B > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="doc" ><TT >x `setBit` i</TT > is the same as <TT >x .|. bit i</TT > </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:clearBit" ><A NAME="v%3AclearBit" ></A ></A ><B >clearBit</B > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="doc" ><TT >x `clearBit` i</TT > is the same as <TT >x .&. complement (bit i)</TT > </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:complementBit" ><A NAME="v%3AcomplementBit" ></A ></A ><B >complementBit</B > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="doc" ><TT >x `complementBit` i</TT > is the same as <TT >x `xor` bit i</TT > </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:testBit" ><A NAME="v%3AtestBit" ></A ></A ><B >testBit</B > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="doc" >Return <TT ><A HREF="../ghc-prim/GHC-Bool.html#v%3ATrue" >True</A ></TT > if the <TT >n</TT >th bit of the argument is 1 </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:bitSize" ><A NAME="v%3AbitSize" ></A ></A ><B >bitSize</B > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="doc" >Return the number of bits in the type of the argument. The actual value of the argument is ignored. The function <TT ><A HREF="Data-Bits.html#v%3AbitSize" >bitSize</A ></TT > is undefined for types that do not have a fixed bitsize, like <TT ><A HREF="../integer/GHC-Integer.html#t%3AInteger" >Integer</A ></TT >. </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:isSigned" ><A NAME="v%3AisSigned" ></A ></A ><B >isSigned</B > :: a -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="doc" >Return <TT ><A HREF="../ghc-prim/GHC-Bool.html#v%3ATrue" >True</A ></TT > if the argument is a signed type. The actual value of the argument is ignored </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:shiftL" ><A NAME="v%3AshiftL" ></A ></A ><B >shiftL</B > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="doc" ><P >Shift the argument left by the specified number of bits (which must be non-negative). </P ><P >An instance can define either this and <TT ><A HREF="Data-Bits.html#v%3AshiftR" >shiftR</A ></TT > or the unified <TT ><A HREF="Data-Bits.html#v%3Ashift" >shift</A ></TT >, depending on which is more convenient for the type in question. </P ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:shiftR" ><A NAME="v%3AshiftR" ></A ></A ><B >shiftR</B > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="doc" ><P >Shift the first argument right by the specified number of bits (which must be non-negative). Right shifts perform sign extension on signed number types; i.e. they fill the top bits with 1 if the <TT >x</TT > is negative and with 0 otherwise. </P ><P >An instance can define either this and <TT ><A HREF="Data-Bits.html#v%3AshiftL" >shiftL</A ></TT > or the unified <TT ><A HREF="Data-Bits.html#v%3Ashift" >shift</A ></TT >, depending on which is more convenient for the type in question. </P ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:rotateL" ><A NAME="v%3ArotateL" ></A ></A ><B >rotateL</B > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="doc" ><P >Rotate the argument left by the specified number of bits (which must be non-negative). </P ><P >An instance can define either this and <TT ><A HREF="Data-Bits.html#v%3ArotateR" >rotateR</A ></TT > or the unified <TT ><A HREF="Data-Bits.html#v%3Arotate" >rotate</A ></TT >, depending on which is more convenient for the type in question. </P ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:rotateR" ><A NAME="v%3ArotateR" ></A ></A ><B >rotateR</B > :: a -> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A > -> a</TD ></TR ><TR ><TD CLASS="doc" ><P >Rotate the argument right by the specified number of bits (which must be non-negative). </P ><P >An instance can define either this and <TT ><A HREF="Data-Bits.html#v%3ArotateL" >rotateL</A ></TT > or the unified <TT ><A HREF="Data-Bits.html#v%3Arotate" >rotate</A ></TT >, depending on which is more convenient for the type in question. </P ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Bits')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Bits" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Data-Int.html#t%3AInt8" >Int8</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Data-Int.html#t%3AInt16" >Int16</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Data-Int.html#t%3AInt32" >Int32</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Data-Int.html#t%3AInt64" >Int64</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="../integer/GHC-Integer.html#t%3AInteger" >Integer</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Data-Word.html#t%3AWord" >Word</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Data-Word.html#t%3AWord8" >Word8</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Data-Word.html#t%3AWord16" >Word16</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Data-Word.html#t%3AWord32" >Word32</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Data-Word.html#t%3AWord64" >Word64</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACUIntMax" >CUIntMax</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACIntMax" >CIntMax</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACUIntPtr" >CUIntPtr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACIntPtr" >CIntPtr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACSigAtomic" >CSigAtomic</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACWchar" >CWchar</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACSize" >CSize</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACPtrdiff" >CPtrdiff</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACULLong" >CULLong</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACLLong" >CLLong</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACULong" >CULong</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACLong" >CLong</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACUInt" >CUInt</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACInt" >CInt</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACUShort" >CUShort</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACShort" >CShort</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACUChar" >CUChar</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACSChar" >CSChar</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-C-Types.html#t%3ACChar" >CChar</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-Ptr.html#t%3AIntPtr" >IntPtr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="Foreign-Ptr.html#t%3AWordPtr" >WordPtr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="System-Posix-Types.html#t%3AFd" >Fd</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="System-Posix-Types.html#t%3ACRLim" >CRLim</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="System-Posix-Types.html#t%3ACTcflag" >CTcflag</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="System-Posix-Types.html#t%3ACUid" >CUid</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="System-Posix-Types.html#t%3ACNlink" >CNlink</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="System-Posix-Types.html#t%3ACGid" >CGid</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="System-Posix-Types.html#t%3ACSsize" >CSsize</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="System-Posix-Types.html#t%3ACPid" >CPid</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="System-Posix-Types.html#t%3ACOff" >COff</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="System-Posix-Types.html#t%3ACMode" >CMode</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Bits.html#t%3ABits" >Bits</A > <A HREF="System-Posix-Types.html#t%3ACIno" >CIno</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.4.2</TD ></TR ></TABLE ></BODY ></HTML >