emacs.d/clones/docs.racket-lang.org/reference/fixnums.html

79 lines
124 KiB
HTML
Raw Normal View History

2022-08-24 19:36:32 +02:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><meta name="viewport" content="width=device-width, initial-scale=0.8"/><title>4.3.4&nbsp;Fixnums</title><link rel="stylesheet" type="text/css" href="../scribble.css" title="default"/><link rel="stylesheet" type="text/css" href="extras.css" title="default"/><link rel="stylesheet" type="text/css" href="../racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-style.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../doc-site.css" title="default"/><script type="text/javascript" src="../scribble-common.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../doc-site.js"></script><script type="text/javascript" src="../local-redirect/local-redirect.js"></script><script type="text/javascript" src="../local-redirect/local-user-redirect.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><body id="doc-racket-lang-org"><div class="tocset"><div class="tocview"><div class="tocviewlist tocviewlisttopspace"><div class="tocviewtitle"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_0&quot;);">&#9658;</a></td><td></td><td><a href="index.html" class="tocviewlink" data-pltdoc="x">The Racket Reference</a></td></tr></table></div><div class="tocviewsublisttop" style="display: none;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1&nbsp;</td><td><a href="model.html" class="tocviewlink" data-pltdoc="x">Language Model</a></td></tr><tr><td align="right">2&nbsp;</td><td><a href="notation.html" class="tocviewlink" data-pltdoc="x">Notation for Documentation</a></td></tr><tr><td align="right">3&nbsp;</td><td><a href="syntax.html" class="tocviewlink" data-pltdoc="x">Syntactic Forms</a></td></tr><tr><td align="right">4&nbsp;</td><td><a href="data.html" class="tocviewselflink" data-pltdoc="x">Datatypes</a></td></tr><tr><td align="right">5&nbsp;</td><td><a href="structures.html" class="tocviewlink" data-pltdoc="x">Structures</a></td></tr><tr><td align="right">6&nbsp;</td><td><a href="mzlib_class.html" class="tocviewlink" data-pltdoc="x">Classes and Objects</a></td></tr><tr><td align="right">7&nbsp;</td><td><a href="mzlib_unit.html" class="tocviewlink" data-pltdoc="x">Units</a></td></tr><tr><td align="right">8&nbsp;</td><td><a href="contracts.html" class="tocviewlink" data-pltdoc="x">Contracts</a></td></tr><tr><td align="right">9&nbsp;</td><td><a href="match.html" class="tocviewlink" data-pltdoc="x">Pattern Matching</a></td></tr><tr><td align="right">10&nbsp;</td><td><a href="control.html" class="tocviewlink" data-pltdoc="x">Control Flow</a></td></tr><tr><td align="right">11&nbsp;</td><td><a href="concurrency.html" class="tocviewlink" data-pltdoc="x">Concurrency and Parallelism</a></td></tr><tr><td align="right">12&nbsp;</td><td><a href="Macros.html" class="tocviewlink" data-pltdoc="x">Macros</a></td></tr><tr><td align="right">13&nbsp;</td><td><a href="input-and-output.html" class="tocviewlink" data-pltdoc="x">Input and Output</a></td></tr><tr><td align="right">14&nbsp;</td><td><a href="security.html" class="tocviewlink" data-pltdoc="x">Reflection and Security</a></td></tr><tr><td align="right">15&nbsp;</td><td><a href="os.html" class="tocviewlink" data-pltdoc="x">Operating System</a></td></tr><tr><td align="right">16&nbsp;</td><td><a href="memory.html" class="tocviewlink" data-pltdoc="x">Memory Management</a></td></tr><tr><td align="right">17&nbsp;</td><td><a href="unsafe.html" class="tocviewlink" data-pltdoc="x">Unsafe Operations</a></td></tr><tr><td align="right">18&nbsp;</td><td><a href="running.html" class="tocviewl
<span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx%2B%29%29" class="RktValLink" data-pltdoc="x">fx+</a></span> that consume and produce only <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnums</span></a>. The operations in
this library are meant to be safe versions of unsafe operations like
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx%2B%29%29" class="RktValLink" data-pltdoc="x">unsafe-fx+</a></span>. These safe operations are generally no faster
than using generic primitives like <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29" class="RktValLink" data-pltdoc="x">+</a></span>.</p><p>The expected use of the <a href="fixnums.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/fixnum</span></a> library is for
code where the <span class="RktSym"><a href="require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29" class="RktStxLink" data-pltdoc="x">require</a></span> of <a href="fixnums.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/fixnum</span></a> is
replaced with</p><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="require.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._require%29%29" class="RktStxLink" data-pltdoc="x">require</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="require.html#%28form._%28%28lib._racket%2Frequire..rkt%29._filtered-in%29%29" class="RktStxLink" data-pltdoc="x">filtered-in</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="lambda.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._~ce~bb%29%29" class="RktStxLink" data-pltdoc="x">&#955;</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym">name</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28lib._racket%2Fprivate%2Fletstx-scheme..rkt%29._and%29%29" class="RktStxLink" data-pltdoc="x">and</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="regexp.html#%28def._%28%28quote._~23~25kernel%29._regexp-match%29%29" class="RktValLink" data-pltdoc="x">regexp-match</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#rx"^unsafe-fx"</span><span class="hspace">&nbsp;</span><span class="RktSym">name</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="regexp.html#%28def._%28%28quote._~23~25kernel%29._regexp-replace%29%29" class="RktValLink" data-pltdoc="x">regexp-replace</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#rx"unsafe-"</span><span class="hspace">&nbsp;</span><span class="RktSym">name</span><span class="hspace">&nbsp;</span><span class="RktVal">""</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktSym">racket/unsafe/ops</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote><p>to drop in unsafe versions of the library. Alternately, when
encountering crashes with code that uses unsafe fixnum operations, use
the <a href="fixnums.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/fixnum</span></a> library to help debug the problems.</p><h5 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;Fixnum_Arithmetic&quot;">4.3.4.1<tt>&nbsp;</tt><a name="(part._.Fixnum_.Arithmetic)"></a>Fixnum Arithmetic</h5><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fx+))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx%2B%29%29" class="RktValDef RktValLink" data-pltdoc="x">fx+</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fx-))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx-%29%29" class="RktValDef RktValLink" data-pltdoc="x">fx-</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fx*))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx%2A%29%29" class="RktValDef RktValLink" data-pltdoc="x">fx*</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span c
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fx%2A%29%29" class="RktValLink" data-pltdoc="x">unsafe-fx*</a></span>, <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxquotient%29%29" class="RktValLink" data-pltdoc="x">unsafe-fxquotient</a></span>,
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxremainder%29%29" class="RktValLink" data-pltdoc="x">unsafe-fxremainder</a></span>, <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxmodulo%29%29" class="RktValLink" data-pltdoc="x">unsafe-fxmodulo</a></span>, and
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxabs%29%29" class="RktValLink" data-pltdoc="x">unsafe-fxabs</a></span>. The
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3anon-fixnum-result%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:non-fixnum-result</a></span> exception is raised if the arithmetic
result would not be a fixnum.</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow zero or more arguments for <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx%2B%29%29" class="RktValLink" data-pltdoc="x">fx+</a></span> and <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx%2A%29%29" class="RktValLink" data-pltdoc="x">fx*</a></span>
and one or more arguments for <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx-%29%29" class="RktValLink" data-pltdoc="x">fx-</a></span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fxand))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxand%29%29" class="RktValDef RktValLink" data-pltdoc="x">fxand</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fxior))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxior%29%29" class="RktValDef RktValLink" data-pltdoc="x">fxior</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fxxor))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxxor%29%29" class="RktValDef RktValLink" data-pltdoc="x">fxxor</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="
<span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-xor%29%29" class="RktValLink" data-pltdoc="x">bitwise-xor</a></span>, <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-not%29%29" class="RktValLink" data-pltdoc="x">bitwise-not</a></span>, and
<span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._arithmetic-shift%29%29" class="RktValLink" data-pltdoc="x">arithmetic-shift</a></span>, but constrained to consume <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnums</span></a>;
the result is always a <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnum</span></a>. The <span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxlshift%29%29" class="RktValLink" data-pltdoc="x">unsafe-fxlshift</a></span> and
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxrshift%29%29" class="RktValLink" data-pltdoc="x">unsafe-fxrshift</a></span> operations correspond to
<span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._arithmetic-shift%29%29" class="RktValLink" data-pltdoc="x">arithmetic-shift</a></span>, but require non-negative arguments;
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxlshift%29%29" class="RktValLink" data-pltdoc="x">unsafe-fxlshift</a></span> is a positive (i.e., left) shift, and
<span class="RktSym"><a href="unsafe.html#%28def._%28%28lib._racket%2Funsafe%2Fops..rkt%29._unsafe-fxrshift%29%29" class="RktValLink" data-pltdoc="x">unsafe-fxrshift</a></span> is a negative (i.e., right) shift, where the
number of bits to shift must be no more than the number of bits used to
represent a <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnum</span></a>. The
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3anon-fixnum-result%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:non-fixnum-result</a></span> exception is raised if the arithmetic
result would not be a fixnum.</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow any number of arguments for <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxand%29%29" class="RktValLink" data-pltdoc="x">fxand</a></span>, <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxior%29%29" class="RktValLink" data-pltdoc="x">fxior</a></span>,
and <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxxor%29%29" class="RktValLink" data-pltdoc="x">fxxor</a></span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fxpopcount))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxpopcount%29%29" class="RktValDef RktValLink" data-pltdoc="x">fxpopcount</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._not%2Fc%29%29" class="RktValLink" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._negative~3f%29%29" class="RktValLink" data-pltdoc="x">negative?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fxpopcount32))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxpopcount32%29%29" class="RktValDef RktValLink" data-pltdoc="x">fxpopcount32</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._integer-in%29%29" class="RktValLink" data-pltdoc="x">integer-in</a></span><span class="hspace">&nbsp;</span><span class="RktVal">0</span><span class="hspace">&nbsp;</span><span class="RktVal">#xFFFFFFFF</span><span class
<span class="RktVar">a</span>. Depending on the platform, the <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxpopcount32%29%29" class="RktValLink" data-pltdoc="x">fxpopcount32</a></span> and
<span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxpopcount16%29%29" class="RktValLink" data-pltdoc="x">fxpopcount16</a></span> operations can be faster when the result is
known to be no more than 32 or 16, respectively.</div></p><p class="SHistory">Added in version 8.5.0.7 of package <span class="stt">base</span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fx+/wraparound))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx%2B%2Fwraparound%29%29" class="RktValDef RktValLink" data-pltdoc="x">fx+/wraparound</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fx-/wraparound))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx-%2Fwraparound%29%29" class="RktValDef RktValLink" data-pltdoc="x">fx-/wraparound</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fx*/wraparound))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx%2A%2Fwraparound%29%29" class="RktValDef RktValLink" data-pltdoc="x">fx*/wraparound</a></span></span><span class="hspace"
but a fixnum result is produced for any allowed arguments (i.e., for
any fixnum argument, except that the second
<span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxlshift%2Fwraparound%29%29" class="RktValLink" data-pltdoc="x">fxlshift/wraparound</a></span> argument must be between 0 and the number
of bits in a fixnum, inclusive). The result is produced by simply discarding bits
that do not fit in a fixnum representation. The result is negative if
the highest of the retained bits is set&#8212;<wbr></wbr>even, for example, if the
value was produced by adding two positive fixnums.</div></p><p class="SHistory">Added in version 7.9.0.6 of package <span class="stt">base</span>.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fx~3d))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx~3d%29%29" class="RktValDef RktValLink" data-pltdoc="x">fx=</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fx~3c))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx~3c%29%29" class="RktValDef RktValLink" data-pltdoc="x">fx&lt;</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">b</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fx~3e))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx~3e%29%29" class="RktValDef RktValLink" data-pltdoc="x">fx&gt
<span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c~3d%29%29" class="RktValLink" data-pltdoc="x">&lt;=</a></span>, <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3e~3d%29%29" class="RktValLink" data-pltdoc="x">&gt;=</a></span>, <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._min%29%29" class="RktValLink" data-pltdoc="x">min</a></span>, and <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._max%29%29" class="RktValLink" data-pltdoc="x">max</a></span>, but
constrained to consume <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnums</span></a>.</div></p><p class="SHistory">Changed in version 7.0.0.13 of package <span class="stt">base</span>: Allow one argument, in addition to allowing two or more.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fx-~3efl))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx-~3efl%29%29" class="RktValDef RktValLink" data-pltdoc="x">fx-&gt;fl</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">a</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">a</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fl-~3efx))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fl-~3efx%29%29" class="RktValDef RktValLink" data-pltdoc="x">fl-&gt;fx</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">fl</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">fl</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._flonum~3f%29%29" class="RktValLink" data-pltdoc="x">flonum?</a></span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Conversion between <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnums</span></a> and <a href="numbers.html#%28tech._flonum%29" class="techoutside" data-pltdoc="x"><span class="techinside">flonums</span></a> with truncation
in the case of converting a <a href="numbers.html#%28tech._flonum%29" class="techoutside" data-pltdoc="x"><span class="techinside">flonum</span></a> to a <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnum</span></a>.</div></p><p>The <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fx-~3efl%29%29" class="RktValLink" data-pltdoc="x">fx-&gt;fl</a></span> function is the same as <span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-~3einexact%29%29" class="RktValLink" data-pltdoc="x">exact-&gt;inexact</a></span> or
<span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._-~3efl%29%29" class="RktValLink" data-pltdoc="x"><span class="nobreak">-&gt;</span>fl</a></span> constrained to a fixnum argument.</p><p>The <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fl-~3efx%29%29" class="RktValLink" data-pltdoc="x">fl-&gt;fx</a></span> function is the same as <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._truncate%29%29" class="RktValLink" data-pltdoc="x">truncate</a></span> followed
by <span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._inexact-~3eexact%29%29" class="RktValLink" data-pltdoc="x">inexact-&gt;exact</a></span> or <span class="RktSym"><a href="flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._fl-~3eexact-integer%29%29" class="RktValLink" data-pltdoc="x">fl-&gt;exact-integer</a></span> constrained
to returning a fixnum. If the truncated flonum does not fit into a
fixnum, the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract</a></span> exception is raised.</p><p class="SHistory">Changed in version 7.7.0.8 of package <span class="stt">base</span>: Changed <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fl-~3efx%29%29" class="RktValLink" data-pltdoc="x">fl-&gt;fx</a></span> to truncate.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fixnum-for-every-system~3f))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fixnum-for-every-system~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">fixnum-for-every-system?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#t</span> if <span class="RktVar">v</span> is a <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnum</span></a> and is
represented by fixnum by every Racket implementation, <span class="RktVal">#f</span>
otherwise.</div></p><p class="SHistory">Added in version 7.3.0.11 of package <span class="stt">base</span>.</p><h5 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;fxvectors&quot;">4.3.4.2<tt>&nbsp;</tt><a name="(part._fxvectors)"></a>Fixnum Vectors</h5><p>A <a name="(tech._fxvector)"></a><span style="font-style: italic">fxvector</span> is like a <a href="vectors.html#%28tech._vector%29" class="techoutside" data-pltdoc="x"><span class="techinside">vector</span></a>, but it holds only
<a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnums</span></a>. The only advantage of a <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a> over a
<a href="vectors.html#%28tech._vector%29" class="techoutside" data-pltdoc="x"><span class="techinside">vector</span></a> is that a shared version can be created with functions
like <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._shared-fxvector%29%29" class="RktValLink" data-pltdoc="x">shared-fxvector</a></span>.</p><p>Two <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvectors</span></a> are <span class="RktSym"><a href="Equality.html#%28def._%28%28quote._~23~25kernel%29._equal~3f%29%29" class="RktValLink" data-pltdoc="x">equal?</a></span> if they have the same length,
and if the values in corresponding slots of the <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvectors</span></a> are
<span class="RktSym"><a href="Equality.html#%28def._%28%28quote._~23~25kernel%29._equal~3f%29%29" class="RktValLink" data-pltdoc="x">equal?</a></span>.</p><p>A printed <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a> starts with <span class="RktInBG"><span class="hspace"></span><span class="RktIn">#fx(</span><span class="hspace"></span></span>, optionally with
a number between the <span class="RktInBG"><span class="hspace"></span><span class="RktIn">#fx</span><span class="hspace"></span></span> and
<span class="RktInBG"><span class="hspace"></span><span class="RktIn">(</span><span class="hspace"></span></span>. See <a href="reader.html#%28part._parse-vector%29" data-pltdoc="x">Reading Vectors</a>
for information on <span class="RktSym"><a href="Reading.html#%28def._%28%28quote._~23~25kernel%29._read%29%29" class="RktValLink" data-pltdoc="x">read</a></span>ing
fxvectors and <a href="printing.html#%28part._print-vectors%29" data-pltdoc="x">Printing Vectors</a>
for information on <span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._print%29%29" class="RktValLink" data-pltdoc="x">print</a></span>ing fxvectors.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fxvector~3f))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">fxvector?</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._boolean~3f%29%29" class="RktValLink" data-pltdoc="x">boolean?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">v</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._any%2Fc%29%29" class="RktValLink" data-pltdoc="x">any/c</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#t</span> if <span class="RktVar">v</span> is a <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a>, <span class="RktVal">#f</span> otherwise.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fxvector))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector%29%29" class="RktValDef RktValLink" data-pltdoc="x">fxvector</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector~3f%29%29" class="RktValLink" data-pltdoc="x">fxvector?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a> containing the given <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnums</span></a>.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector%29%29" class="RktValLink" data-pltdoc="x">fxvector</a></span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span clas
slot in the <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a> is filled with <span class="RktVar">x</span>.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._make-fxvector%29%29" class="RktValLink" data-pltdoc="x">make-fxvector</a></span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">(fxvector 3 3 3 3)</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fxvector-length))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector-length%29%29" class="RktValDef RktValLink" data-pltdoc="x">fxvector-length</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vec</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector~3f%29%29" class="RktValLink" data-pltdoc="x">fxvector?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the length of <span class="RktVar">vec</span> (i.e., the number of slots in the
<a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a>).</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fxvector-ref))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">fxvector-ref</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span><span class="RktVar">pos</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector~3f%29%29" class="RktValLink" data-pltdoc="x">fxvector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pos</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnum</span></a> in slot <span class="RktVar">pos</span> of
<span class="RktVar">vec</span>. The first slot is position <span class="RktVal">0</span>, and the last slot
is one less than <span class="RktPn">(</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector-length%29%29" class="RktValLink" data-pltdoc="x">fxvector-length</a></span><span class="stt"> </span><span class="RktVar">vec</span><span class="RktPn">)</span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fxvector-set!))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector-set%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">fxvector-set!</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span><span class="RktVar">pos</span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector~3f%29%29" class="RktValLink" data-pltdoc="x">fxvector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">pos</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Sets the <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnum</span></a> in slot <span class="RktVar">pos</span> of <span class="RktVar">vec</span>. The
first slot is position <span class="RktVal">0</span>, and the last slot is one less than
<span class="RktPn">(</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector-length%29%29" class="RktValLink" data-pltdoc="x">fxvector-length</a></span><span class="stt"> </span><span class="RktVar">vec</span><span class="RktPn">)</span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._fxvector-copy))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector-copy%29%29" class="RktValDef RktValLink" data-pltdoc="x">fxvector-copy</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span><span class="RktOpt">[</span><span class="RktVar">start</span><span class="hspace">&nbsp;</span><span class="RktVar">end</span><span class="RktOpt">]</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector~3f%29%29" class="RktValLink" data-pltdoc="x">fxvector?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector~3f%29%29" class="RktValLink" data-pltdoc="x">fxvector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">start</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">0</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">end</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="vectors.html#%28def._%28%28quote._~23~25kernel%29._vector-length%29%29" class="RktValLink" data-pltdoc="x">vector-length</a></span><span class="hspace">&nbsp;</span><span class="RktSym">v</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a fresh <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a> of size <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._-%29%29" class="RktValLink" data-pltdoc="x"><span class="nobreak">-</span></a></span><span class="stt"> </span><span class="RktVar">end</span><span class="stt"> </span><span class="RktVar">start</span><span class="RktPn">)</span>, with all of the
elements of <span class="RktVar">vec</span> from <span class="RktVar">start</span> (inclusive) to
<span class="RktVar">end</span> (exclusive).</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._in-fxvector))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._in-fxvector%29%29" class="RktValDef RktValLink" data-pltdoc="x">in-fxvector</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span><span class="RktOpt">[</span><span class="RktVar">start</span><span class="hspace">&nbsp;</span><span class="RktVar">stop</span><span class="hspace">&nbsp;</span><span class="RktVar">step</span><span class="RktOpt">]</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="sequences.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._sequence~3f%29%29" class="RktValLink" data-pltdoc="x">sequence?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">vec</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector~3f%29%29" class="RktValLink" data-pltdoc="x">fxvector?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">start</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">0</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">stop</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._or%2Fc%29%29" class="RktValLink" data-pltdoc="x">or/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">step</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._and%2Fc%29%29" class="RktValLink" data-pltdoc="x">and/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-integer?</a></span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._not%2Fc%29%29" class="RktValLink" data-pltdoc="x">not/c</a></span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._zero~3f%29%29" class="RktValLink" data-pltdoc="x">zero?</a></span><span class="RktPn">)</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">1</span></td></tr></table></blockquote></div><div class="SIntrapara">Returns a sequence equivalent to <span class="RktVar">vec</span> wh
arguments are supplied.</div></p><p>The optional arguments <span class="RktVar">start</span>, <span class="RktVar">stop</span>, and
<span class="RktVar">step</span> are as in <span class="RktSym"><a href="sequences.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._in-vector%29%29" class="RktValLink" data-pltdoc="x">in-vector</a></span>.</p><p>An <span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._in-fxvector%29%29" class="RktValLink" data-pltdoc="x">in-fxvector</a></span> application can provide better
performance for <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a> iteration when it appears directly in a <span class="RktSym"><a href="for.html#%28form._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._for%29%29" class="RktStxLink" data-pltdoc="x">for</a></span> clause.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._racket/fixnum..rkt)._for/fxvector))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28form._%28%28lib._racket%2Ffixnum..rkt%29._for%2Ffxvector%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">for/fxvector</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">maybe-length</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktVar">for-clause</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVar">body</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>syntax</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(form._((lib._racket/fixnum..rkt)._for*/fxvector))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28form._%28%28lib._racket%2Ffixnum..rkt%29._for%2A%2Ffxvector%29%29" class="RktStxDef RktStxLink" data-pltdoc="x">for*/fxvector</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">maybe-length</span><span class="hspace">&nbsp;</span><span class="RktPn">(</span><span class="RktVar">for-clause</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span><span class="RktVar">body</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="stt">&nbsp;</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="specgrammar"><tr><td align="right" valign="baseline"><span class="RktVar">maybe-length</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">=</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td></td></tr></table></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktPn">#:length</span><span class="hspace">&nbsp;</span><span class="RktVar">length-expr</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktPn">#:length</span><span class="hspace">&nbsp;</span><span class="RktVar">length-expr</span><span class="hspace">&nbsp;</span><span class="RktPn">#:fill</span><span class="hspace">&nbsp;</span><span class="RktVar">fill-expr</span></td></tr></table></td></tr><tr><td><span class="stt">&nbsp;</span></td></tr><tr><td><blockquote class="SubFlow">
<a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a>s. The default <span class="RktVar">fill-expr</span> produces <span class="RktVal">0</span>.</div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._shared-fxvector))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._shared-fxvector%29%29" class="RktValDef RktValLink" data-pltdoc="x">shared-fxvector</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector~3f%29%29" class="RktValLink" data-pltdoc="x">fxvector?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a> containing the given <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnums</span></a>.
For communication among <a href="places.html#%28tech._place%29" class="techoutside" data-pltdoc="x"><span class="techinside">places</span></a>, the new <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a> is
allocated in the <a href="places.html#%28tech._shared._memory._space%29" class="techoutside" data-pltdoc="x"><span class="techinside">shared memory space</span></a>.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._shared-fxvector%29%29" class="RktValLink" data-pltdoc="x">shared-fxvector</a></span><span class="hspace">&nbsp;</span><span class="RktVal">2</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">(fxvector 2 3 4 5)</span></p></td></tr></table></blockquote></div></p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._make-shared-fxvector))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._make-shared-fxvector%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-shared-fxvector</a></span></span><span class="hspace">&nbsp;</span><span class="RktVar">size</span><span class="hspace">&nbsp;</span><span class="RktOpt">[</span><span class="RktVar">x</span><span class="RktOpt">]</span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._fxvector~3f%29%29" class="RktValLink" data-pltdoc="x">fxvector?</a></span></p></blockquote></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">size</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-nonnegative-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-nonnegative-integer?</a></span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">x</span><span class="hspace">&nbsp;</span>:<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span><span class="hspace">&nbsp;</span>=<span class="hspace">&nbsp;</span><span class="RktVal">0</span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a> with <span class="RktVar">size</span> elements, where every
slot in the <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a> is filled with <span class="RktVar">x</span>.
For communication among <a href="places.html#%28tech._place%29" class="techoutside" data-pltdoc="x"><span class="techinside">places</span></a>, the new <a href="fixnums.html#%28tech._fxvector%29" class="techoutside" data-pltdoc="x"><span class="techinside">fxvector</span></a> is
allocated in the <a href="places.html#%28tech._shared._memory._space%29" class="techoutside" data-pltdoc="x"><span class="techinside">shared memory space</span></a>.</div></p><p><div class="SIntrapara">Example:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">&gt; </span><span class="RktPn">(</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._make-shared-fxvector%29%29" class="RktValLink" data-pltdoc="x">make-shared-fxvector</a></span><span class="hspace">&nbsp;</span><span class="RktVal">4</span><span class="hspace">&nbsp;</span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">(fxvector 3 3 3 3)</span></p></td></tr></table></blockquote></div></p><h5 x-source-module="(lib &quot;scribblings/reference/reference.scrbl&quot;)" x-source-pkg="racket-doc" x-part-tag="&quot;fxrange&quot;">4.3.4.3<tt>&nbsp;</tt><a name="(part._fxrange)"></a>Fixnum Range</h5><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._most-positive-fixnum))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._most-positive-fixnum%29%29" class="RktValDef RktValLink" data-pltdoc="x">most-positive-fixnum</a></span></span><span class="RktPn"></span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="together"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((lib._racket/fixnum..rkt)._most-negative-fixnum))"></a><span title="Provided from: racket/fixnum | Package: base"><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._most-negative-fixnum%29%29" class="RktValDef RktValLink" data-pltdoc="x">most-negative-fixnum</a></span></span><span class="RktPn"></span><span class="RktPn">)</span><span class="hspace">&nbsp;</span>&rarr;<span class="hspace">&nbsp;</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._fixnum~3f%29%29" class="RktValLink" data-pltdoc="x">fixnum?</a></span></p></blockquote></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Returns the largest-magnitude positive and negative <a href="numbers.html#%28tech._fixnum%29" class="techoutside" data-pltdoc="x"><span class="techinside">fixnums</span></a>.
The values of <span class="RktPn">(</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._most-positive-fixnum%29%29" class="RktValLink" data-pltdoc="x">most-positive-fixnum</a></span><span class="RktPn">)</span> and
<span class="RktPn">(</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._most-negative-fixnum%29%29" class="RktValLink" data-pltdoc="x">most-negative-fixnum</a></span><span class="RktPn">)</span> depend on the platform and virtual
machine, but all fixnums are in the range
<span class="RktPn">(</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._most-negative-fixnum%29%29" class="RktValLink" data-pltdoc="x">most-negative-fixnum</a></span><span class="RktPn">)</span> to <span class="RktPn">(</span><span class="RktSym"><a href="fixnums.html#%28def._%28%28lib._racket%2Ffixnum..rkt%29._most-positive-fixnum%29%29" class="RktValLink" data-pltdoc="x">most-positive-fixnum</a></span><span class="RktPn">)</span>
inclusive, and all exact integers in that range are fixnums.</div></p><p class="SHistory">Added in version 8.1.0.7 of package <span class="stt">base</span>.</p><div class="navsetbottom"><span class="navleft"><form class="searchform"><input class="searchbox" id="searchbox" type="text" tabindex="1" placeholder="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, &quot;8.6&quot;, &quot;../&quot;);"/></form>&nbsp;&nbsp;<a href="https://docs.racket-lang.org/index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;8.6&quot;);">top</a><span class="tocsettoggle">&nbsp;&nbsp;<a href="javascript:void(0);" title="show/hide table of contents" onclick="TocsetToggle();">contents</a></span></span><span class="navright">&nbsp;&nbsp;<a href="flonums.html" title="backward to &quot;4.3.3 Flonums&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="numbers.html" title="up to &quot;4.3 Numbers&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="extflonums.html" title="forward to &quot;4.3.5 Extflonums&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div></div></div><div id="contextindicator">&nbsp;</div></body></html>