Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bd5c3d824c3db63ffd9226c15941e6ad > files > 126

mozart-1.4.0-1mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>12.1 Bit Strings</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node15.html">- Up -</A></TD><TD><A href="foreignpointer.html#section.misc.foreignpointers">Next &gt;&gt;</A></TD></TR></TABLE><DIV id="section.misc.bitstrings"><H2><A name="section.misc.bitstrings">12.1 Bit Strings</A></H2><P>Module <A name="label771"></A><SPAN class="index"><CODE>BitString</CODE></SPAN> provides an interface to a fast and economical representation for immutable bit sequences. </P><DL><DT><A name="label772"></A><SPAN class="index"><CODE>IsBitString</CODE></SPAN> <A name="label774"></A></DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{BitString<SPAN class="keyword">.</SPAN>is&nbsp;</CODE><CODE>+<I>X</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE></P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>X</I></CODE> is a bit string.</P></DD><DT><CODE>make</CODE> <A name="label776"></A></DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{BitString<SPAN class="keyword">.</SPAN>make&nbsp;</CODE><CODE>+<I>I</I></CODE><CODE>&nbsp;</CODE><CODE>+<I>L</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>BitString</I></CODE><CODE>}</CODE></P></BLOCKQUOTE></DD><DD><P>creates a bit string of width&nbsp;<CODE><I>I</I></CODE> with precisely those bits set that are specified in&nbsp;<CODE><I>L</I></CODE>, a list of indices.</P></DD><DT><CODE>conj</CODE> <A name="label778"></A></DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{BitString<SPAN class="keyword">.</SPAN>conj&nbsp;</CODE><CODE>+<I>BitString1</I></CODE><CODE>&nbsp;</CODE><CODE>+<I>BitString2</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>BitString3</I></CODE><CODE>}</CODE></P></BLOCKQUOTE></DD><DD><P>returns the bitwise ``and'' of its first and second arguments, which must be of indentical widths.</P></DD><DT><CODE>disj</CODE> <A name="label780"></A></DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{BitString<SPAN class="keyword">.</SPAN>disj&nbsp;</CODE><CODE>+<I>BitString1</I></CODE><CODE>&nbsp;</CODE><CODE>+<I>BitString2</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>BitString3</I></CODE><CODE>}</CODE></P></BLOCKQUOTE></DD><DD><P>returns the bitwise ``or'' of its first and second arguments, which must be of indentical widths.</P></DD><DT><CODE>nega</CODE> <A name="label782"></A></DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{BitString<SPAN class="keyword">.</SPAN>nega&nbsp;</CODE><CODE>+<I>BitString1</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>BitString2</I></CODE><CODE>}</CODE></P></BLOCKQUOTE></DD><DD><P>returns the bitwise negation of its first argument.</P></DD><DT><CODE>get</CODE> <A name="label784"></A></DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{BitString<SPAN class="keyword">.</SPAN>get&nbsp;</CODE><CODE>+<I>BitString</I></CODE><CODE>&nbsp;</CODE><CODE>+<I>I</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE></P></BLOCKQUOTE></DD><DD><P>tests whether bit&nbsp;<CODE><I>I</I></CODE> of <CODE><I>BitString</I></CODE> is set.</P></DD><DT><CODE>put</CODE> <A name="label786"></A></DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{BitString<SPAN class="keyword">.</SPAN>put&nbsp;</CODE><CODE>+<I>BitString1</I></CODE><CODE>&nbsp;</CODE><CODE>+<I>I</I></CODE><CODE>&nbsp;</CODE><CODE>+<I>B</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>BitString2</I></CODE><CODE>}</CODE></P></BLOCKQUOTE></DD><DD><P>returns a new bit string which is identical to <CODE><I>BitString1</I></CODE> except that bit&nbsp;<CODE><I>I</I></CODE> is set iff <CODE><I>B</I></CODE> is <CODE><SPAN class="keyword">true</SPAN></CODE>.</P></DD><DT><CODE>width</CODE> <A name="label788"></A></DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{BitString<SPAN class="keyword">.</SPAN>width&nbsp;</CODE><CODE>+<I>BitString</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>I</I></CODE><CODE>}</CODE></P></BLOCKQUOTE></DD><DD><P>returns the width of the <CODE><I>BitString</I></CODE>.</P></DD><DT><CODE>toList</CODE> <A name="label790"></A></DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{BitString<SPAN class="keyword">.</SPAN>toList&nbsp;</CODE><CODE>+<I>BitString</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>L</I></CODE><CODE>}</CODE></P></BLOCKQUOTE></DD><DD><P>returns the list of indices of all set bits in <CODE><I>BitString</I></CODE>.</P></DD></DL><P></P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="node15.html">- Up -</A></TD><TD><A href="foreignpointer.html#section.misc.foreignpointers">Next &gt;&gt;</A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~duchier/">Denys&nbsp;Duchier</A>, <A href="http://www.ps.uni-sb.de/~kornstae/">Leif&nbsp;Kornstaedt</A> and&nbsp;<A href="http://www.ps.uni-sb.de/~schulte/">Christian&nbsp;Schulte</A><BR><SPAN class="version">Version 1.4.0 (20090610)</SPAN></ADDRESS></BODY></HTML>