273 lines
No EOL
397 KiB
HTML
273 lines
No EOL
397 KiB
HTML
<!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.2 Generic Numerics</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,"tocview_0");">►</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 </td><td><a href="model.html" class="tocviewlink" data-pltdoc="x">Language Model</a></td></tr><tr><td align="right">2 </td><td><a href="notation.html" class="tocviewlink" data-pltdoc="x">Notation for Documentation</a></td></tr><tr><td align="right">3 </td><td><a href="syntax.html" class="tocviewlink" data-pltdoc="x">Syntactic Forms</a></td></tr><tr><td align="right">4 </td><td><a href="data.html" class="tocviewselflink" data-pltdoc="x">Datatypes</a></td></tr><tr><td align="right">5 </td><td><a href="structures.html" class="tocviewlink" data-pltdoc="x">Structures</a></td></tr><tr><td align="right">6 </td><td><a href="mzlib_class.html" class="tocviewlink" data-pltdoc="x">Classes and Objects</a></td></tr><tr><td align="right">7 </td><td><a href="mzlib_unit.html" class="tocviewlink" data-pltdoc="x">Units</a></td></tr><tr><td align="right">8 </td><td><a href="contracts.html" class="tocviewlink" data-pltdoc="x">Contracts</a></td></tr><tr><td align="right">9 </td><td><a href="match.html" class="tocviewlink" data-pltdoc="x">Pattern Matching</a></td></tr><tr><td align="right">10 </td><td><a href="control.html" class="tocviewlink" data-pltdoc="x">Control Flow</a></td></tr><tr><td align="right">11 </td><td><a href="concurrency.html" class="tocviewlink" data-pltdoc="x">Concurrency and Parallelism</a></td></tr><tr><td align="right">12 </td><td><a href="Macros.html" class="tocviewlink" data-pltdoc="x">Macros</a></td></tr><tr><td align="right">13 </td><td><a href="input-and-output.html" class="tocviewlink" data-pltdoc="x">Input and Output</a></td></tr><tr><td align="right">14 </td><td><a href="security.html" class="tocviewlink" data-pltdoc="x">Reflection and Security</a></td></tr><tr><td align="right">15 </td><td><a href="os.html" class="tocviewlink" data-pltdoc="x">Operating System</a></td></tr><tr><td align="right">16 </td><td><a href="memory.html" class="tocviewlink" data-pltdoc="x">Memory Management</a></td></tr><tr><td align="right">17 </td><td><a href="unsafe.html" class="tocviewlink" data-pltdoc="x">Unsafe Operations</a></td></tr><tr><td align="right">18 </td><td><a href="running.html" class="tocviewlink" data-pltdoc="x">Running Racket</a></td></tr><tr><td align="right"></td><td><a href="doc-bibliography.html" class="tocviewlink" data-pltdoc="x">Bibliography</a></td></tr><tr><td align="right"></td><td><a href="doc-index.html" class="tocviewlink" data-pltdoc="x">Index</a></td></tr></table></div></div><div class="tocviewlist"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,"tocview_1");">►</a></td><td>4 </td><td><a href="data.html" class="tocviewlink" data-pltdoc="x">Datatypes</a></td></tr></table><div class="tocviewsublist" style="display: none;" id="tocview_1"><table cellspacing="0" cellpadding="0"><tr><td align="right">4.1 </td><td><a href="Equality.html" class="tocviewlink" data-pltdoc="x">Equality</a></td></tr><tr><td align="right">4.2 </td><td><a href="booleans.html" class="tocviewlink" data-pltdoc="x">Booleans</a></td></tr><tr><td align="right">4.3 </td><td><a href="numbers.html" class="tocviewselflink" data-pltdoc="x">Numbers</a></td></tr><tr><td align="right">4.4 </td><td><a href="strings.html" class="tocviewlink" data-pltdoc="x">Strings</a></td></tr><tr><td align="right">4.5 </td><td><a href="bytestrings.html" class="tocviewlink" data-pltdoc="x">Byte Strings</a></td></tr><tr><td align="right">4.6 </td><td><a href="characters.html" class="tocviewlink" data-pltdoc="x">Characters</a></td></tr><tr><td align="right">4.7 </td><td><a href="symbols.html" class="tocviewlink" data-pltdoc="x">Symbols</a></td></tr><tr><td align="right">4.8 </td><td><a href="regexp.html" class="tocviewlink" data-pltdoc="x">Regular Expressions</a></td></tr><tr><td align="right">4.9 </td><td><a href="keywords.html" class="tocviewlink" data-pltdoc="x">Keywords</a></td></tr><tr><td align="right">4.10 </td><td><a href="pairs.html" class="tocviewlink" data-pltdoc="x">Pairs and Lists</a></td></tr><tr><td align="right">4.11 </td><td><a href="mpairs.html" class="tocviewlink" data-pltdoc="x">Mutable Pairs and Lists</a></td></tr><tr><td align="right">4.12 </td><td><a href="vectors.html" class="tocviewlink" data-pltdoc="x">Vectors</a></td></tr><tr><td align="right">4.13 </td><td><a href="stencil_vectors.html" class="tocviewlink" data-pltdoc="x">Stencil Vectors</a></td></tr><tr><td align="right">4.14 </td><td><a href="boxes.html" class="tocviewlink" data-pltdoc="x">Boxes</a></td></tr><tr><td align="right">4.15 </td><td><a href="hashtables.html" class="tocviewlink" data-pltdoc="x">Hash Tables</a></td></tr><tr><td align="right">4.16 </td><td><a href="sequences_streams.html" class="tocviewlink" data-pltdoc="x">Sequences and Streams</a></td></tr><tr><td align="right">4.17 </td><td><a href="dicts.html" class="tocviewlink" data-pltdoc="x">Dictionaries</a></td></tr><tr><td align="right">4.18 </td><td><a href="sets.html" class="tocviewlink" data-pltdoc="x">Sets</a></td></tr><tr><td align="right">4.19 </td><td><a href="procedures.html" class="tocviewlink" data-pltdoc="x">Procedures</a></td></tr><tr><td align="right">4.20 </td><td><a href="void.html" class="tocviewlink" data-pltdoc="x">Void</a></td></tr><tr><td align="right">4.21 </td><td><a href="undefined.html" class="tocviewlink" data-pltdoc="x">Undefined</a></td></tr></table></div></div><div class="tocviewlist"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,"tocview_2");">▼</a></td><td>4.3 </td><td><a href="numbers.html" class="tocviewlink" data-pltdoc="x">Numbers</a></td></tr></table><div class="tocviewsublist" style="display: block;" id="tocview_2"><table cellspacing="0" cellpadding="0"><tr><td align="right">4.3.1 </td><td><a href="number-types.html" class="tocviewlink" data-pltdoc="x">Number Types</a></td></tr><tr><td align="right">4.3.2 </td><td><a href="generic-numbers.html" class="tocviewselflink" data-pltdoc="x">Generic Numerics</a></td></tr><tr><td align="right">4.3.3 </td><td><a href="flonums.html" class="tocviewlink" data-pltdoc="x">Flonums</a></td></tr><tr><td align="right">4.3.4 </td><td><a href="fixnums.html" class="tocviewlink" data-pltdoc="x">Fixnums</a></td></tr><tr><td align="right">4.3.5 </td><td><a href="extflonums.html" class="tocviewlink" data-pltdoc="x">Extflonums</a></td></tr></table></div></div><div class="tocviewlist"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,"tocview_3");">►</a></td><td>4.3.2 </td><td><a href="generic-numbers.html" class="tocviewselflink" data-pltdoc="x">Generic Numerics</a></td></tr></table><div class="tocviewsublistbottom" style="display: none;" id="tocview_3"><table cellspacing="0" cellpadding="0"><tr><td align="right">4.3.2.1 </td><td><a href="generic-numbers.html#%28part._.Arithmetic%29" class="tocviewlink" data-pltdoc="x">Arithmetic</a></td></tr><tr><td align="right">4.3.2.2 </td><td><a href="generic-numbers.html#%28part._.Number_.Comparison%29" class="tocviewlink" data-pltdoc="x">Number Comparison</a></td></tr><tr><td align="right">4.3.2.3 </td><td><a href="generic-numbers.html#%28part._.Powers_and_.Roots%29" class="tocviewlink" data-pltdoc="x">Powers and Roots</a></td></tr><tr><td align="right">4.3.2.4 </td><td><a href="generic-numbers.html#%28part._.Trigonometric_.Functions%29" class="tocviewlink" data-pltdoc="x">Trigonometric Functions</a></td></tr><tr><td align="right">4.3.2.5 </td><td><a href="generic-numbers.html#%28part._.Complex_.Numbers%29" class="tocviewlink" data-pltdoc="x">Complex Numbers</a></td></tr><tr><td align="right">4.3.2.6 </td><td><a href="generic-numbers.html#%28part._.Bitwise_.Operations%29" class="tocviewlink" data-pltdoc="x">Bitwise Operations</a></td></tr><tr><td align="right">4.3.2.7 </td><td><a href="generic-numbers.html#%28part._.Random_.Numbers%29" class="tocviewlink" data-pltdoc="x">Random Numbers</a></td></tr><tr><td align="right">4.3.2.8 </td><td><a href="generic-numbers.html#%28part._.Other_.Randomness_.Utilities%29" class="tocviewlink" data-pltdoc="x">Other Randomness Utilities</a></td></tr><tr><td align="right">4.3.2.9 </td><td><a href="generic-numbers.html#%28part._.Number--.String_.Conversions%29" class="tocviewlink" data-pltdoc="x">Number–String Conversions</a></td></tr><tr><td align="right">4.3.2.10 </td><td><a href="generic-numbers.html#%28part._.Extra_.Constants_and_.Functions%29" class="tocviewlink" data-pltdoc="x">Extra Constants and Functions</a></td></tr></table></div></div></div><div class="tocsub"><div class="tocsubtitle">On this page:</div><table class="tocsublist" cellspacing="0"><tr><td><span class="tocsublinknumber">4.3.2.1<tt> </tt></span><a href="generic-numbers.html#%28part._.Arithmetic%29" class="tocsubseclink" data-pltdoc="x">Arithmetic</a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">+</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._-%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink"><span class="nobreak">-</span></span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">*</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">/</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._quotient%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">quotient</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._remainder%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">remainder</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._quotient%2Fremainder%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">quotient/<span class="mywbr"> </span>remainder</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._modulo%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">modulo</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._add1%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">add1</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sub1%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">sub1</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._abs%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">abs</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._max%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">max</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._min%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">min</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._gcd%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">gcd</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._lcm%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">lcm</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._round%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">round</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._floor%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">floor</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._ceiling%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">ceiling</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._truncate%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">truncate</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._numerator%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">numerator</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._denominator%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">denominator</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fmisc..rkt%29._rationalize%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">rationalize</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.3.2.2<tt> </tt></span><a href="generic-numbers.html#%28part._.Number_.Comparison%29" class="tocsubseclink" data-pltdoc="x">Number Comparison</a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3d%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">=</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink"><</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c~3d%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink"><=</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3e%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">></span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3e~3d%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">>=</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.3.2.3<tt> </tt></span><a href="generic-numbers.html#%28part._.Powers_and_.Roots%29" class="tocsubseclink" data-pltdoc="x">Powers and Roots</a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sqrt%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">sqrt</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">integer-<wbr></wbr>sqrt</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%2Fremainder%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">integer-<wbr></wbr>sqrt/<span class="mywbr"> </span>remainder</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">expt</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._exp%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">exp</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._log%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">log</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.3.2.4<tt> </tt></span><a href="generic-numbers.html#%28part._.Trigonometric_.Functions%29" class="tocsubseclink" data-pltdoc="x">Trigonometric Functions</a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sin%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">sin</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._cos%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">cos</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._tan%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">tan</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._asin%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">asin</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._acos%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">acos</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._atan%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">atan</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.3.2.5<tt> </tt></span><a href="generic-numbers.html#%28part._.Complex_.Numbers%29" class="tocsubseclink" data-pltdoc="x">Complex Numbers</a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._make-rectangular%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>rectangular</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._make-polar%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>polar</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._real-part%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">real-<wbr></wbr>part</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._imag-part%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">imag-<wbr></wbr>part</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._magnitude%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">magnitude</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._angle%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">angle</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.3.2.6<tt> </tt></span><a href="generic-numbers.html#%28part._.Bitwise_.Operations%29" class="tocsubseclink" data-pltdoc="x">Bitwise Operations</a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-ior%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bitwise-<wbr></wbr>ior</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-and%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bitwise-<wbr></wbr>and</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-xor%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bitwise-<wbr></wbr>xor</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-not%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bitwise-<wbr></wbr>not</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-bit-set~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bitwise-<wbr></wbr>bit-<wbr></wbr>set?</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-bit-field%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">bitwise-<wbr></wbr>bit-<wbr></wbr>field</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._arithmetic-shift%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">arithmetic-<wbr></wbr>shift</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-length%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">integer-<wbr></wbr>length</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.3.2.7<tt> </tt></span><a href="generic-numbers.html#%28part._.Random_.Numbers%29" class="tocsubseclink" data-pltdoc="x">Random Numbers</a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._random%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">random</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._random-seed%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">random-<wbr></wbr>seed</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._make-pseudo-random-generator%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">make-<wbr></wbr>pseudo-<wbr></wbr>random-<wbr></wbr>generator</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">pseudo-<wbr></wbr>random-<wbr></wbr>generator?</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._current-pseudo-random-generator%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">current-<wbr></wbr>pseudo-<wbr></wbr>random-<wbr></wbr>generator</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator-~3evector%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">pseudo-<wbr></wbr>random-<wbr></wbr>generator-<wbr></wbr>>vector</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._vector-~3epseudo-random-generator%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">vector-<wbr></wbr>>pseudo-<wbr></wbr>random-<wbr></wbr>generator</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._vector-~3epseudo-random-generator%21%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">vector-<wbr></wbr>>pseudo-<wbr></wbr>random-<wbr></wbr>generator!</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator-vector~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">pseudo-<wbr></wbr>random-<wbr></wbr>generator-<wbr></wbr>vector?</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.3.2.8<tt> </tt></span><a href="generic-numbers.html#%28part._.Other_.Randomness_.Utilities%29" class="tocsubseclink" data-pltdoc="x">Other Randomness Utilities</a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Frandom..rkt%29._crypto-random-bytes%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">crypto-<wbr></wbr>random-<wbr></wbr>bytes</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Frandom..rkt%29._random-ref%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">random-<wbr></wbr>ref</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Frandom..rkt%29._random-sample%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">random-<wbr></wbr>sample</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.3.2.9<tt> </tt></span><a href="generic-numbers.html#%28part._.Number--.String_.Conversions%29" class="tocsubseclink" data-pltdoc="x">Number–String Conversions</a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._number-~3estring%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">number-<wbr></wbr>>string</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._string-~3enumber%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">string-<wbr></wbr>>number</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._real-~3edecimal-string%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">real-<wbr></wbr>>decimal-<wbr></wbr>string</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-bytes-~3einteger%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">integer-<wbr></wbr>bytes-<wbr></wbr>>integer</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-~3einteger-bytes%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">integer-<wbr></wbr>>integer-<wbr></wbr>bytes</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._floating-point-bytes-~3ereal%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">floating-<wbr></wbr>point-<wbr></wbr>bytes-<wbr></wbr>>real</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._real-~3efloating-point-bytes%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">real-<wbr></wbr>>floating-<wbr></wbr>point-<wbr></wbr>bytes</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._system-big-endian~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">system-<wbr></wbr>big-<wbr></wbr>endian?</span></span></a></td></tr><tr><td><span class="tocsublinknumber">4.3.2.10<tt> </tt></span><a href="generic-numbers.html#%28part._.Extra_.Constants_and_.Functions%29" class="tocsubseclink" data-pltdoc="x">Extra Constants and Functions</a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">pi</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi..f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">pi.f</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._degrees-~3eradians%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">degrees-<wbr></wbr>>radians</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._radians-~3edegrees%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">radians-<wbr></wbr>>degrees</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sqr%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">sqr</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sgn%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">sgn</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._conjugate%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">conjugate</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sinh%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">sinh</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._cosh%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">cosh</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._tanh%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">tanh</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._exact-round%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">exact-<wbr></wbr>round</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._exact-floor%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">exact-<wbr></wbr>floor</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._exact-ceiling%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">exact-<wbr></wbr>ceiling</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._exact-truncate%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">exact-<wbr></wbr>truncate</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._order-of-magnitude%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">order-<wbr></wbr>of-<wbr></wbr>magnitude</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._nan~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">nan?</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._infinite~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">infinite?</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._positive-integer~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">positive-<wbr></wbr>integer?</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._negative-integer~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">negative-<wbr></wbr>integer?</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._nonpositive-integer~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">nonpositive-<wbr></wbr>integer?</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._nonnegative-integer~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">nonnegative-<wbr></wbr>integer?</span></span></a></td></tr><tr><td><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._natural~3f%29%29" class="tocsubnonseclink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">natural?</span></span></a></td></tr></table></div></div><div class="maincolumn"><div class="main"><div class="navsettop"><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, "8.6", "../");"/></form> <a href="https://docs.racket-lang.org/index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("8.6");">top</a><span class="tocsettoggle"> <a href="javascript:void(0);" title="show/hide table of contents" onclick="TocsetToggle();">contents</a></span></span><span class="navright"> <a href="number-types.html" title="backward to "4.3.1 Number Types"" data-pltdoc="x">← prev</a> <a href="numbers.html" title="up to "4.3 Numbers"" data-pltdoc="x">up</a> <a href="flonums.html" title="forward to "4.3.3 Flonums"" data-pltdoc="x">next →</a></span> </div><h5 x-source-module="(lib "scribblings/reference/reference.scrbl")" x-source-pkg="racket-doc" x-part-tag=""generic-numbers"">4.3.2<tt> </tt><a name="(part._generic-numbers)"></a>Generic Numerics</h5><p>Most Racket numeric operations work on any kind of number.</p><h5 x-source-module="(lib "scribblings/reference/reference.scrbl")" x-source-pkg="racket-doc" x-part-tag=""Arithmetic"">4.3.2.1<tt> </tt><a name="(part._.Arithmetic)"></a>Arithmetic</h5><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._((quote._~23~25kernel)._+))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29" class="RktValDef RktValLink" data-pltdoc="x">+</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the sum of the <span class="RktVar">z</span>s, adding pairwise from left to
|
|
right. If no arguments are provided, the result is <span class="RktVal">0</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29" class="RktValLink" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29" class="RktValLink" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="hspace"> </span><span class="RktVal">2+3i</span><span class="hspace"> </span><span class="RktVal">5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">8.0+3.0i</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29" class="RktValLink" data-pltdoc="x">+</a></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</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._((quote._~23~25kernel)._-))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._-%29%29" class="RktValDef RktValLink" data-pltdoc="x"><span class="nobreak">-</span></a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._-%29%29" class="RktValDef RktValLink" data-pltdoc="x"><span class="nobreak">-</span></a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span><span class="RktVar">w</span><span class="hspace"> </span><span class="RktMeta">...+</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">w</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">When no <span class="RktVar">w</span>s are supplied, returns <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="RktVal">0</span><span class="stt"> </span><span class="RktVar">z</span><span class="RktPn">)</span>.
|
|
Otherwise, returns the subtraction of the <span class="RktVar">w</span>s from <span class="RktVar">z</span>
|
|
working pairwise from left to right.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><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="hspace"> </span><span class="RktVal">5</span><span class="hspace"> </span><span class="RktVal">3.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.0</span></p></td></tr><tr><td><span class="stt">> </span><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="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-1</span></p></td></tr><tr><td><span class="stt">> </span><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="hspace"> </span><span class="RktVal">2+7i</span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-2+7i</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._((quote._~23~25kernel)._*))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValDef RktValLink" data-pltdoc="x">*</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the product of the <span class="RktVar">z</span>s, multiplying pairwise from left
|
|
to right. If no arguments are provided, the result is
|
|
<span class="RktVal">1</span>. Multiplying any number by exact <span class="RktVal">0</span> produces exact
|
|
<span class="RktVal">0</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValLink" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">6</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValLink" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktVal">8.0</span><span class="hspace"> </span><span class="RktVal">9</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">72.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValLink" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktVal">1+2i</span><span class="hspace"> </span><span class="RktVal">3+4i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-5+10i</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._((quote._~23~25kernel)._/))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29" class="RktValDef RktValLink" data-pltdoc="x">/</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29" class="RktValDef RktValLink" data-pltdoc="x">/</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span><span class="RktVar">w</span><span class="hspace"> </span><span class="RktMeta">...+</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">w</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">When no <span class="RktVar">w</span>s are supplied, returns <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29" class="RktValLink" data-pltdoc="x">/</a></span><span class="stt"> </span><span class="RktVal">1</span><span class="stt"> </span><span class="RktVar">z</span><span class="RktPn">)</span>.
|
|
Otherwise, returns the division of <span class="RktVar">z</span> by the <span class="RktVar">w</span>s working
|
|
pairwise from left to right.</div></p><p>If <span class="RktVar">z</span> is exact <span class="RktVal">0</span> and no <span class="RktVar">w</span> is exact
|
|
<span class="RktVal">0</span>, then the result is exact <span class="RktVal">0</span>. If any <span class="RktVar">w</span> is
|
|
exact <span class="RktVal">0</span>, the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3adivide-by-zero%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:divide-by-zero</a></span> exception is raised.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29" class="RktValLink" data-pltdoc="x">/</a></span><span class="hspace"> </span><span class="RktVal">3</span><span class="hspace"> </span><span class="RktVal">4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3/4</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29" class="RktValLink" data-pltdoc="x">/</a></span><span class="hspace"> </span><span class="RktVal">81</span><span class="hspace"> </span><span class="RktVal">3</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">9</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29" class="RktValLink" data-pltdoc="x">/</a></span><span class="hspace"> </span><span class="RktVal">10.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.1</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29" class="RktValLink" data-pltdoc="x">/</a></span><span class="hspace"> </span><span class="RktVal">1+2i</span><span class="hspace"> </span><span class="RktVal">3+4i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">11/25+2/25i</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._((quote._~23~25kernel)._quotient))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._quotient%29%29" class="RktValDef RktValLink" data-pltdoc="x">quotient</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">m</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">m</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktPn">(</span><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><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29" class="RktValLink" data-pltdoc="x">/</a></span><span class="stt"> </span><span class="RktVar">n</span><span class="stt"> </span><span class="RktVar">m</span><span class="RktPn">)</span><span class="RktPn">)</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._quotient%29%29" class="RktValLink" data-pltdoc="x">quotient</a></span><span class="hspace"> </span><span class="RktVal">10</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._quotient%29%29" class="RktValLink" data-pltdoc="x">quotient</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>0.0</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-3.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._quotient%29%29" class="RktValLink" data-pltdoc="x">quotient</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktErr">quotient: contract violation</span></p></td></tr><tr><td><p><span class="RktErr"></span><span class="hspace"> </span><span class="RktErr">expected: integer?</span></p></td></tr><tr><td><p><span class="RktErr"></span><span class="hspace"> </span><span class="RktErr">given: +inf.0</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._((quote._~23~25kernel)._remainder))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._remainder%29%29" class="RktValDef RktValLink" data-pltdoc="x">remainder</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">m</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">m</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVar">q</span> with the same sign as <span class="RktVar">n</span> such that</div></p><ul><li><p><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._abs%29%29" class="RktValLink" data-pltdoc="x">abs</a></span><span class="stt"> </span><span class="RktVar">q</span><span class="RktPn">)</span> is between <span class="RktVal">0</span> (inclusive) and <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._abs%29%29" class="RktValLink" data-pltdoc="x">abs</a></span><span class="stt"> </span><span class="RktVar">m</span><span class="RktPn">)</span> (exclusive), and</p></li><li><p><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29" class="RktValLink" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktVar">q</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValLink" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktVar">m</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._quotient%29%29" class="RktValLink" data-pltdoc="x">quotient</a></span><span class="stt"> </span><span class="RktVar">n</span><span class="stt"> </span><span class="RktVar">m</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span> equals <span class="RktVar">n</span>.</p></li></ul><p>If <span class="RktVar">m</span> is exact <span class="RktVal">0</span>, the
|
|
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3adivide-by-zero%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:divide-by-zero</a></span> exception is raised.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._remainder%29%29" class="RktValLink" data-pltdoc="x">remainder</a></span><span class="hspace"> </span><span class="RktVal">10</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._remainder%29%29" class="RktValLink" data-pltdoc="x">remainder</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>0.0</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-1.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._remainder%29%29" class="RktValLink" data-pltdoc="x">remainder</a></span><span class="hspace"> </span><span class="RktVal">10.0</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-3</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._remainder%29%29" class="RktValLink" data-pltdoc="x">remainder</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-3</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-1</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._remainder%29%29" class="RktValLink" data-pltdoc="x">remainder</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktErr">remainder: contract violation</span></p></td></tr><tr><td><p><span class="RktErr"></span><span class="hspace"> </span><span class="RktErr">expected: integer?</span></p></td></tr><tr><td><p><span class="RktErr"></span><span class="hspace"> </span><span class="RktErr">given: +inf.0</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><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._quotient/remainder))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._quotient%2Fremainder%29%29" class="RktValDef RktValLink" data-pltdoc="x">quotient/remainder</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">m</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">→</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><table cellspacing="0" cellpadding="0"><tr><td><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></td><td><span class="hspace"> </span></td><td><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></td></tr></table></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">m</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktPn">(</span><span class="RktSym"><a href="values.html#%28def._%28%28quote._~23~25kernel%29._values%29%29" class="RktValLink" data-pltdoc="x">values</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._quotient%29%29" class="RktValLink" data-pltdoc="x">quotient</a></span><span class="stt"> </span><span class="RktVar">n</span><span class="stt"> </span><span class="RktVar">m</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._remainder%29%29" class="RktValLink" data-pltdoc="x">remainder</a></span><span class="stt"> </span><span class="RktVar">n</span><span class="stt"> </span><span class="RktVar">m</span><span class="RktPn">)</span><span class="RktPn">)</span>, but the
|
|
combination may be computed more efficiently than separate calls to
|
|
<span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._quotient%29%29" class="RktValLink" data-pltdoc="x">quotient</a></span> and <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._remainder%29%29" class="RktValLink" data-pltdoc="x">remainder</a></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">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._quotient%2Fremainder%29%29" class="RktValLink" data-pltdoc="x">quotient/remainder</a></span><span class="hspace"> </span><span class="RktVal">10</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0"><tr><td><p><span class="RktRes">3</span></p></td></tr><tr><td><p><span class="RktRes">1</span></p></td></tr></table></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._((quote._~23~25kernel)._modulo))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._modulo%29%29" class="RktValDef RktValLink" data-pltdoc="x">modulo</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">m</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">m</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVar">q</span> with the same sign as <span class="RktVar">m</span> where</div></p><ul><li><p><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._abs%29%29" class="RktValLink" data-pltdoc="x">abs</a></span><span class="stt"> </span><span class="RktVar">q</span><span class="RktPn">)</span> is between <span class="RktVal">0</span> (inclusive) and <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._abs%29%29" class="RktValLink" data-pltdoc="x">abs</a></span><span class="stt"> </span><span class="RktVar">m</span><span class="RktPn">)</span> (exclusive), and</p></li><li><p>the difference between <span class="RktVar">q</span> and <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">n</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValLink" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktVar">m</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._quotient%29%29" class="RktValLink" data-pltdoc="x">quotient</a></span><span class="stt"> </span><span class="RktVar">n</span><span class="stt"> </span><span class="RktVar">m</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span> is a multiple of <span class="RktVar">m</span>.</p></li></ul><p>If <span class="RktVar">m</span> is exact <span class="RktVal">0</span>, the
|
|
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3adivide-by-zero%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:divide-by-zero</a></span> exception is raised.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._modulo%29%29" class="RktValLink" data-pltdoc="x">modulo</a></span><span class="hspace"> </span><span class="RktVal">10</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._modulo%29%29" class="RktValLink" data-pltdoc="x">modulo</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>0.0</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._modulo%29%29" class="RktValLink" data-pltdoc="x">modulo</a></span><span class="hspace"> </span><span class="RktVal">10.0</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-3</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-2.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._modulo%29%29" class="RktValLink" data-pltdoc="x">modulo</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>0</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-3</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-1</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._modulo%29%29" class="RktValLink" data-pltdoc="x">modulo</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktErr">modulo: contract violation</span></p></td></tr><tr><td><p><span class="RktErr"></span><span class="hspace"> </span><span class="RktErr">expected: integer?</span></p></td></tr><tr><td><p><span class="RktErr"></span><span class="hspace"> </span><span class="RktErr">given: +inf.0</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._((quote._~23~25kernel)._add1))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._add1%29%29" class="RktValDef RktValLink" data-pltdoc="x">add1</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29" class="RktValLink" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktVar">z</span><span class="stt"> </span><span class="RktVal">1</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._((quote._~23~25kernel)._sub1))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sub1%29%29" class="RktValDef RktValLink" data-pltdoc="x">sub1</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns <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">z</span><span class="stt"> </span><span class="RktVal">1</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._((quote._~23~25kernel)._abs))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._abs%29%29" class="RktValDef RktValLink" data-pltdoc="x">abs</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns the absolute value of
|
|
<span class="RktVar">x</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._abs%29%29" class="RktValLink" data-pltdoc="x">abs</a></span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._abs%29%29" class="RktValLink" data-pltdoc="x">abs</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1</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._((quote._~23~25kernel)._max))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._max%29%29" class="RktValDef RktValLink" data-pltdoc="x">max</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktMeta">...+</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the largest of the <span class="RktVar">x</span>s, or <span class="RktVal">+nan.0</span> if any
|
|
<span class="RktVar">x</span> is <span class="RktVal">+nan.0</span>. If any <span class="RktVar">x</span> is inexact, the
|
|
result is coerced to inexact. See also <span class="RktSym"><a href="pairs.html#%28def._%28%28lib._racket%2Flist..rkt%29._argmax%29%29" class="RktValLink" data-pltdoc="x">argmax</a></span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><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><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">3</span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><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><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">3</span><span class="hspace"> </span><span class="RktVal">2.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3.0</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._((quote._~23~25kernel)._min))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._min%29%29" class="RktValDef RktValLink" data-pltdoc="x">min</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktMeta">...+</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the smallest of the <span class="RktVar">x</span>s, or <span class="RktVal">+nan.0</span> if any
|
|
<span class="RktVar">x</span> is <span class="RktVal">+nan.0</span>. If any <span class="RktVar">x</span> is inexact, the
|
|
result is coerced to inexact. See also <span class="RktSym"><a href="pairs.html#%28def._%28%28lib._racket%2Flist..rkt%29._argmin%29%29" class="RktValLink" data-pltdoc="x">argmin</a></span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</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><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">3</span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</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><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">3</span><span class="hspace"> </span><span class="RktVal">2.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0</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._((quote._~23~25kernel)._gcd))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._gcd%29%29" class="RktValDef RktValLink" data-pltdoc="x">gcd</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the <a name="(idx._(gentag._123._(lib._scribblings/reference/reference..scrbl)))"></a>greatest common divisor (a non-negative
|
|
number) of the <span class="RktVar">n</span>s; for non-integer <span class="RktVar">n</span>s, the result
|
|
is the <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._gcd%29%29" class="RktValLink" data-pltdoc="x">gcd</a></span> of the numerators divided
|
|
by the <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._lcm%29%29" class="RktValLink" data-pltdoc="x">lcm</a></span> of the denominators.
|
|
If no arguments are provided, the result
|
|
is <span class="RktVal">0</span>. If all arguments are zero, the result is zero.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._gcd%29%29" class="RktValLink" data-pltdoc="x">gcd</a></span><span class="hspace"> </span><span class="RktVal">10</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">10</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._gcd%29%29" class="RktValLink" data-pltdoc="x">gcd</a></span><span class="hspace"> </span><span class="RktVal">12</span><span class="hspace"> </span><span class="RktVal">81.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._gcd%29%29" class="RktValLink" data-pltdoc="x">gcd</a></span><span class="hspace"> </span><span class="RktVal">1/2</span><span class="hspace"> </span><span class="RktVal">1/3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1/6</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._((quote._~23~25kernel)._lcm))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._lcm%29%29" class="RktValDef RktValLink" data-pltdoc="x">lcm</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the <a name="(idx._(gentag._124._(lib._scribblings/reference/reference..scrbl)))"></a>least common multiple (a non-negative number)
|
|
of the <span class="RktVar">n</span>s; non-integer <span class="RktVar">n</span>s, the result is
|
|
the absolute value of the product divided by the
|
|
<span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._gcd%29%29" class="RktValLink" data-pltdoc="x">gcd</a></span>. If no arguments are provided, the result is
|
|
<span class="RktVal">1</span>. If any argument is zero, the result is zero; furthermore,
|
|
if any argument is exact <span class="RktVal">0</span>, the result is exact <span class="RktVal">0</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._lcm%29%29" class="RktValLink" data-pltdoc="x">lcm</a></span><span class="hspace"> </span><span class="RktVal">10</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">10</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._lcm%29%29" class="RktValLink" data-pltdoc="x">lcm</a></span><span class="hspace"> </span><span class="RktVal">3</span><span class="hspace"> </span><span class="RktVal">4.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">12.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._lcm%29%29" class="RktValLink" data-pltdoc="x">lcm</a></span><span class="hspace"> </span><span class="RktVal">1/2</span><span class="hspace"> </span><span class="RktVal">2/3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2</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._((quote._~23~25kernel)._round))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._round%29%29" class="RktValDef RktValLink" data-pltdoc="x">round</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-i</span>nf.0</span><span class="hspace"> </span><span class="RktVal">+nan.0</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the integer closest to <span class="RktVar">x</span>, resolving ties in favor of
|
|
an even number, but <span class="RktVal">+inf.0</span>, <span class="RktVal"><span class="nobreak">-i</span>nf.0</span>, and <span class="RktVal">+nan.0</span>
|
|
round to themselves.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._round%29%29" class="RktValLink" data-pltdoc="x">round</a></span><span class="hspace"> </span><span class="RktVal">17/4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">4</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._round%29%29" class="RktValLink" data-pltdoc="x">round</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>7/4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-4</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._round%29%29" class="RktValLink" data-pltdoc="x">round</a></span><span class="hspace"> </span><span class="RktVal">2.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._round%29%29" class="RktValLink" data-pltdoc="x">round</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-2</span>.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-2.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._round%29%29" class="RktValLink" data-pltdoc="x">round</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">+inf.0</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._((quote._~23~25kernel)._floor))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._floor%29%29" class="RktValDef RktValLink" data-pltdoc="x">floor</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-i</span>nf.0</span><span class="hspace"> </span><span class="RktVal">+nan.0</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the largest integer that is no more than <span class="RktVar">x</span>, but
|
|
<span class="RktVal">+inf.0</span>, <span class="RktVal"><span class="nobreak">-i</span>nf.0</span>, and <span class="RktVal">+nan.0</span> floor to
|
|
themselves.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._floor%29%29" class="RktValLink" data-pltdoc="x">floor</a></span><span class="hspace"> </span><span class="RktVal">17/4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">4</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._floor%29%29" class="RktValLink" data-pltdoc="x">floor</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>7/4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-5</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._floor%29%29" class="RktValLink" data-pltdoc="x">floor</a></span><span class="hspace"> </span><span class="RktVal">2.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._floor%29%29" class="RktValLink" data-pltdoc="x">floor</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-2</span>.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-3.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._floor%29%29" class="RktValLink" data-pltdoc="x">floor</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">+inf.0</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._((quote._~23~25kernel)._ceiling))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._ceiling%29%29" class="RktValDef RktValLink" data-pltdoc="x">ceiling</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-i</span>nf.0</span><span class="hspace"> </span><span class="RktVal">+nan.0</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the smallest integer that is at least as large as <span class="RktVar">x</span>,
|
|
but <span class="RktVal">+inf.0</span>, <span class="RktVal"><span class="nobreak">-i</span>nf.0</span>, and <span class="RktVal">+nan.0</span> ceiling to
|
|
themselves.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._ceiling%29%29" class="RktValLink" data-pltdoc="x">ceiling</a></span><span class="hspace"> </span><span class="RktVal">17/4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">5</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._ceiling%29%29" class="RktValLink" data-pltdoc="x">ceiling</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>7/4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-4</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._ceiling%29%29" class="RktValLink" data-pltdoc="x">ceiling</a></span><span class="hspace"> </span><span class="RktVal">2.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._ceiling%29%29" class="RktValLink" data-pltdoc="x">ceiling</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-2</span>.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-2.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._ceiling%29%29" class="RktValLink" data-pltdoc="x">ceiling</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">+inf.0</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._((quote._~23~25kernel)._truncate))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._truncate%29%29" class="RktValDef RktValLink" data-pltdoc="x">truncate</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-i</span>nf.0</span><span class="hspace"> </span><span class="RktVal">+nan.0</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the integer farthest from <span class="RktVal">0</span> that is not farther from
|
|
<span class="RktVal">0</span> than <span class="RktVar">x</span>, but <span class="RktVal">+inf.0</span>, <span class="RktVal"><span class="nobreak">-i</span>nf.0</span>, and
|
|
<span class="RktVal">+nan.0</span> truncate to themselves.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><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><span class="hspace"> </span><span class="RktVal">17/4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">4</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><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><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>7/4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-4</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><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><span class="hspace"> </span><span class="RktVal">2.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><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><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-2</span>.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-2.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><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><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">+inf.0</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._((quote._~23~25kernel)._numerator))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._numerator%29%29" class="RktValDef RktValLink" data-pltdoc="x">numerator</a></span></span><span class="hspace"> </span><span class="RktVar">q</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">q</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Coerces <span class="RktVar">q</span> to an exact number, finds the numerator of the
|
|
number expressed in its simplest fractional form, and returns this
|
|
number coerced to the exactness of <span class="RktVar">q</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._numerator%29%29" class="RktValLink" data-pltdoc="x">numerator</a></span><span class="hspace"> </span><span class="RktVal">5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">5</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._numerator%29%29" class="RktValLink" data-pltdoc="x">numerator</a></span><span class="hspace"> </span><span class="RktVal">17/4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">17</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._numerator%29%29" class="RktValLink" data-pltdoc="x">numerator</a></span><span class="hspace"> </span><span class="RktVal">2.3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2589569785738035.0</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._((quote._~23~25kernel)._denominator))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._denominator%29%29" class="RktValDef RktValLink" data-pltdoc="x">denominator</a></span></span><span class="hspace"> </span><span class="RktVar">q</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span><span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._positive~3f%29%29" class="RktValLink" data-pltdoc="x">positive?</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">q</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Coerces <span class="RktVar">q</span> to an exact number, finds the denominator of the
|
|
number expressed in its simplest fractional form, and returns this
|
|
number coerced to the exactness of <span class="RktVar">q</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._denominator%29%29" class="RktValLink" data-pltdoc="x">denominator</a></span><span class="hspace"> </span><span class="RktVal">5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._denominator%29%29" class="RktValLink" data-pltdoc="x">denominator</a></span><span class="hspace"> </span><span class="RktVal">17/4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">4</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._denominator%29%29" class="RktValLink" data-pltdoc="x">denominator</a></span><span class="hspace"> </span><span class="RktVal">2.3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1125899906842624.0</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/private/misc..rkt)._rationalize))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fmisc..rkt%29._rationalize%29%29" class="RktValDef RktValLink" data-pltdoc="x">rationalize</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">tolerance</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">tolerance</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Among the real numbers within <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._abs%29%29" class="RktValLink" data-pltdoc="x">abs</a></span><span class="stt"> </span><span class="RktVar">tolerance</span><span class="RktPn">)</span> of <span class="RktVar">x</span>,
|
|
returns the one corresponding to an exact number whose
|
|
<span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._denominator%29%29" class="RktValLink" data-pltdoc="x">denominator</a></span> is the smallest. If multiple integers are within
|
|
<span class="RktVar">tolerance</span> of <span class="RktVar">x</span>, the one closest to <span class="RktVal">0</span> is
|
|
used.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fmisc..rkt%29._rationalize%29%29" class="RktValLink" data-pltdoc="x">rationalize</a></span><span class="hspace"> </span><span class="RktVal">1/4</span><span class="hspace"> </span><span class="RktVal">1/10</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1/3</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fmisc..rkt%29._rationalize%29%29" class="RktValLink" data-pltdoc="x">rationalize</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>/4</span><span class="hspace"> </span><span class="RktVal">1/10</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-1/3</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fmisc..rkt%29._rationalize%29%29" class="RktValLink" data-pltdoc="x">rationalize</a></span><span class="hspace"> </span><span class="RktVal">1/4</span><span class="hspace"> </span><span class="RktVal">1/4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fmisc..rkt%29._rationalize%29%29" class="RktValLink" data-pltdoc="x">rationalize</a></span><span class="hspace"> </span><span class="RktVal">11/40</span><span class="hspace"> </span><span class="RktVal">1/4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1/2</span></p></td></tr></table></blockquote></div></p><h5 x-source-module="(lib "scribblings/reference/reference.scrbl")" x-source-pkg="racket-doc" x-part-tag=""Number_Comparison"">4.3.2.2<tt> </tt><a name="(part._.Number_.Comparison)"></a>Number Comparison</h5><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._((quote._~23~25kernel)._~3d))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3d%29%29" class="RktValDef RktValLink" data-pltdoc="x">=</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span><span class="RktVar">w</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">w</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns
|
|
<span class="RktVal">#t</span> if all of the arguments are numerically equal,
|
|
<span class="RktVal">#f</span> otherwise. An inexact number is numerically equal to an
|
|
exact number when the exact coercion of the inexact number is the
|
|
exact number. Also, <span class="RktVal">0.0</span> and <span class="RktVal"><span class="nobreak">-0</span>.0</span> are numerically
|
|
equal, but <span class="RktVal">+nan.0</span> is not numerically equal to itself.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3d%29%29" class="RktValLink" data-pltdoc="x">=</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">1.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3d%29%29" class="RktValLink" data-pltdoc="x">=</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3d%29%29" class="RktValLink" data-pltdoc="x">=</a></span><span class="hspace"> </span><span class="RktVal">2+3i</span><span class="hspace"> </span><span class="RktVal">2+3i</span><span class="hspace"> </span><span class="RktVal">2+3i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3d%29%29" class="RktValLink" data-pltdoc="x">=</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr></table></blockquote></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><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._((quote._~23~25kernel)._~3c))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c%29%29" class="RktValDef RktValLink" data-pltdoc="x"><</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns <span class="RktVal">#t</span> if
|
|
the arguments in the given order are strictly increasing,
|
|
<span class="RktVal">#f</span> otherwise.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c%29%29" class="RktValLink" data-pltdoc="x"><</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c%29%29" class="RktValLink" data-pltdoc="x"><</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c%29%29" class="RktValLink" data-pltdoc="x"><</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c%29%29" class="RktValLink" data-pltdoc="x"><</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c%29%29" class="RktValLink" data-pltdoc="x"><</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">+nan.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr></table></blockquote></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><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._((quote._~23~25kernel)._~3c~3d))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c~3d%29%29" class="RktValDef RktValLink" data-pltdoc="x"><=</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns <span class="RktVal">#t</span>
|
|
if the arguments in the given order are non-decreasing,
|
|
<span class="RktVal">#f</span> otherwise.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c~3d%29%29" class="RktValLink" data-pltdoc="x"><=</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c~3d%29%29" class="RktValLink" data-pltdoc="x"><=</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr></table></blockquote></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><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._((quote._~23~25kernel)._~3e))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3e%29%29" class="RktValDef RktValLink" data-pltdoc="x">></a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span><span class="RktMeta">...+</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns <span class="RktVal">#t</span> if
|
|
the arguments in the given order are strictly decreasing,
|
|
<span class="RktVal">#f</span> otherwise.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3e%29%29" class="RktValLink" data-pltdoc="x">></a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3e%29%29" class="RktValLink" data-pltdoc="x">></a></span><span class="hspace"> </span><span class="RktVal">3</span><span class="hspace"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3e%29%29" class="RktValLink" data-pltdoc="x">></a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3e%29%29" class="RktValLink" data-pltdoc="x">></a></span><span class="hspace"> </span><span class="RktVal">+nan.0</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr></table></blockquote></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><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._((quote._~23~25kernel)._~3e~3d))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3e~3d%29%29" class="RktValDef RktValLink" data-pltdoc="x">>=</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns <span class="RktVal">#t</span>
|
|
if the arguments in the given order are non-increasing,
|
|
<span class="RktVal">#f</span> otherwise.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3e~3d%29%29" class="RktValLink" data-pltdoc="x">>=</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3e~3d%29%29" class="RktValLink" data-pltdoc="x">>=</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr></table></blockquote></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><h5 x-source-module="(lib "scribblings/reference/reference.scrbl")" x-source-pkg="racket-doc" x-part-tag=""Powers_and_Roots"">4.3.2.3<tt> </tt><a name="(part._.Powers_and_.Roots)"></a>Powers and Roots</h5><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._((quote._~23~25kernel)._sqrt))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sqrt%29%29" class="RktValDef RktValLink" data-pltdoc="x">sqrt</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the principal <a name="(idx._(gentag._125._(lib._scribblings/reference/reference..scrbl)))"></a>square root of <span class="RktVar">z</span>. The
|
|
result is exact if <span class="RktVar">z</span> is exact and <span class="RktVar">z</span>’s square root
|
|
is rational. See also <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%29%29" class="RktValLink" data-pltdoc="x">integer-sqrt</a></span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sqrt%29%29" class="RktValLink" data-pltdoc="x">sqrt</a></span><span class="hspace"> </span><span class="RktVal">4/9</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2/3</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sqrt%29%29" class="RktValLink" data-pltdoc="x">sqrt</a></span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.4142135623730951</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sqrt%29%29" class="RktValLink" data-pltdoc="x">sqrt</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0+1i</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._((quote._~23~25kernel)._integer-sqrt))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%29%29" class="RktValDef RktValLink" data-pltdoc="x">integer-sqrt</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._complex~3f%29%29" class="RktValLink" data-pltdoc="x">complex?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._floor%29%29" class="RktValLink" data-pltdoc="x">floor</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sqrt%29%29" class="RktValLink" data-pltdoc="x">sqrt</a></span><span class="stt"> </span><span class="RktVar">n</span><span class="RktPn">)</span><span class="RktPn">)</span> for positive <span class="RktVar">n</span>. The
|
|
result is exact if <span class="RktVar">n</span> is exact. For
|
|
negative <span class="RktVar">n</span>, the result is <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValLink" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%29%29" class="RktValLink" data-pltdoc="x">integer-sqrt</a></span><span class="stt"> </span><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">n</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVal">0+1i</span><span class="RktPn">)</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%29%29" class="RktValLink" data-pltdoc="x">integer-sqrt</a></span><span class="hspace"> </span><span class="RktVal">4.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%29%29" class="RktValLink" data-pltdoc="x">integer-sqrt</a></span><span class="hspace"> </span><span class="RktVal">5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%29%29" class="RktValLink" data-pltdoc="x">integer-sqrt</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-4</span>.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.0+2.0i</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%29%29" class="RktValLink" data-pltdoc="x">integer-sqrt</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-4</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0+2i</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><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._integer-sqrt/remainder))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%2Fremainder%29%29" class="RktValDef RktValLink" data-pltdoc="x">integer-sqrt/remainder</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">→</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><table cellspacing="0" cellpadding="0"><tr><td><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._complex~3f%29%29" class="RktValLink" data-pltdoc="x">complex?</a></span></td><td><span class="hspace"> </span></td><td><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></td></tr></table></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%29%29" class="RktValLink" data-pltdoc="x">integer-sqrt</a></span><span class="stt"> </span><span class="RktVar">n</span><span class="RktPn">)</span> and <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">n</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%29%29" class="RktValLink" data-pltdoc="x">integer-sqrt</a></span><span class="stt"> </span><span class="RktVar">n</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVal">2</span><span class="RktPn">)</span><span class="RktPn">)</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%2Fremainder%29%29" class="RktValLink" data-pltdoc="x">integer-sqrt/remainder</a></span><span class="hspace"> </span><span class="RktVal">4.0</span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0"><tr><td><p><span class="RktRes">2.0</span></p></td></tr><tr><td><p><span class="RktRes">0.0</span></p></td></tr></table></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-sqrt%2Fremainder%29%29" class="RktValLink" data-pltdoc="x">integer-sqrt/remainder</a></span><span class="hspace"> </span><span class="RktVal">5</span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0"><tr><td><p><span class="RktRes">2</span></p></td></tr><tr><td><p><span class="RktRes">1</span></p></td></tr></table></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._((quote._~23~25kernel)._expt))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValDef RktValLink" data-pltdoc="x">expt</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span><span class="RktVar">w</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">w</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVar">z</span> raised to the power of <span class="RktVar">w</span>.</div></p><p>If <span class="RktVar">w</span> is
|
|
exact <span class="RktVal">0</span>, the result is exact <span class="RktVal">1</span>.
|
|
If <span class="RktVar">w</span> is <span class="RktVal">0.0</span> or <span class="RktVal"><span class="nobreak">-0</span>.0</span> and <span class="RktVar">z</span> is a <a href="numbers.html#%28tech._real._number%29" class="techoutside" data-pltdoc="x"><span class="techinside">real number</span></a>
|
|
other than exact <span class="RktVal">1</span> or <span class="RktVal">0</span>, the
|
|
result is <span class="RktVal">1.0</span> (even if <span class="RktVar">z</span> is <span class="RktVal">+nan.0</span>).</p><p>If <span class="RktVar">z</span> is exact <span class="RktVal">1</span>, the result is exact <span class="RktVal">1</span>.
|
|
If <span class="RktVar">z</span> is <span class="RktVal">1.0</span> and <span class="RktVar">w</span> is a <a href="numbers.html#%28tech._real._number%29" class="techoutside" data-pltdoc="x"><span class="techinside">real number</span></a>, the
|
|
result is <span class="RktVal">1.0</span> (even if <span class="RktVar">w</span> is <span class="RktVal">+nan.0</span>).</p><p><div class="SIntrapara">If <span class="RktVar">z</span> is exact <span class="RktVal">0</span>, the result is as follows:
|
|
</div><div class="SIntrapara"><ul class="compact"><li><p><span class="RktVar">w</span> is exact <span class="RktVal">0</span> —<wbr></wbr> result is <span class="RktVal">1</span></p></li><li><p><span class="RktVar">w</span> is <span class="RktVal">0.0</span> or <span class="RktVal"><span class="nobreak">-0</span>.0</span> —<wbr></wbr> result is <span class="RktVal">1.0</span></p></li><li><p>real part of <span class="RktVar">w</span> is negative —<wbr></wbr> the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3adivide-by-zero%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:divide-by-zero</a></span> exception is raised</p></li><li><p><span class="RktVar">w</span> is nonreal with a nonpositive real part —<wbr></wbr> the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3adivide-by-zero%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:divide-by-zero</a></span> exception is raised</p></li><li><p><span class="RktVar">w</span> is <span class="RktVal">+nan.0</span> —<wbr></wbr> result is <span class="RktVal">+nan.0</span></p></li><li><p>otherwise —<wbr></wbr> result is <span class="RktVal">0</span></p></li></ul></div></p><p><div class="SIntrapara">If <span class="RktVar">w</span> is exact <span class="RktVal">1/2</span>, the result is the same as <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sqrt%29%29" class="RktValLink" data-pltdoc="x">sqrt</a></span><span class="stt"> </span><span class="RktVar">z</span><span class="RktPn">)</span>,
|
|
which can be exact. Other fractional powers are not treated specially in this manner:
|
|
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace"> </span><span class="RktVal">9</span><span class="hspace"> </span><span class="RktVal">1/2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace"> </span><span class="RktVal">9</span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace"> </span><span class="RktVal">16</span><span class="hspace"> </span><span class="RktVal">1/4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace"> </span><span class="RktVal">16</span><span class="hspace"> </span><span class="RktVal">0.25</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.0</span></p></td></tr></table></blockquote></div></p></div></p><p><div class="SIntrapara">Further special cases when <span class="RktVar">w</span> is a <a href="numbers.html#%28tech._real._number%29" class="techoutside" data-pltdoc="x"><span class="techinside">real number</span></a>:
|
|
<span class="refelem"><span class="refcolumn"><span class="refcontent">These special cases correspond to <span class="stt">pow</span> in C99 [<a href="doc-bibliography.html#%28cite._.C99%29" data-pltdoc="x">C99</a>],
|
|
except when <span class="RktVar">z</span> is negative and <span class="RktVar">w</span> is a not an
|
|
integer.</span></span></span>
|
|
</div><div class="SIntrapara"><ul class="compact"><li><p><div class="SIntrapara"><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="stt"> </span><span class="RktVal">0.0</span><span class="stt"> </span><span class="RktVar">w</span><span class="RktPn">)</span>:
|
|
</div><div class="SIntrapara"><ul class="compact"><li><p><span class="RktVar">w</span> is negative —<wbr></wbr> result is <span class="RktVal">+inf.0</span></p></li><li><p><span class="RktVar">w</span> is positive —<wbr></wbr> result is <span class="RktVal">0.0</span></p></li></ul></div></p></li><li><p><div class="SIntrapara"><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="stt"> </span><span class="RktVal"><span class="nobreak">-0</span>.0</span><span class="stt"> </span><span class="RktVar">w</span><span class="RktPn">)</span>:
|
|
</div><div class="SIntrapara"><ul class="compact"><li><p><div class="SIntrapara"><span class="RktVar">w</span> is negative:
|
|
</div><div class="SIntrapara"><ul class="compact"><li><p><span class="RktVar">w</span> is an odd integer —<wbr></wbr> result is <span class="RktVal"><span class="nobreak">-i</span>nf.0</span></p></li><li><p><span class="RktVar">w</span> otherwise rational —<wbr></wbr> result is <span class="RktVal">+inf.0</span></p></li></ul></div></p></li><li><p><div class="SIntrapara"><span class="RktVar">w</span> is positive:
|
|
</div><div class="SIntrapara"><ul class="compact"><li><p><span class="RktVar">w</span> is an odd integer —<wbr></wbr> result is <span class="RktVal"><span class="nobreak">-0</span>.0</span></p></li><li><p><span class="RktVar">w</span> otherwise rational —<wbr></wbr> result is <span class="RktVal">0.0</span></p></li></ul></div></p></li></ul></div></p></li><li><p><div class="SIntrapara"><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="stt"> </span><span class="RktVar">z</span><span class="stt"> </span><span class="RktVal"><span class="nobreak">-i</span>nf.0</span><span class="RktPn">)</span> for positive <span class="RktVar">z</span>:
|
|
</div><div class="SIntrapara"><ul class="compact"><li><p><span class="RktVar">z</span> is less than <span class="RktVal">1.0</span> —<wbr></wbr> result is <span class="RktVal">+inf.0</span></p></li><li><p><span class="RktVar">z</span> is greater than <span class="RktVal">1.0</span> —<wbr></wbr> result is <span class="RktVal">0.0</span></p></li></ul></div></p></li><li><p><div class="SIntrapara"><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="stt"> </span><span class="RktVar">z</span><span class="stt"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span> for positive <span class="RktVar">z</span>:
|
|
</div><div class="SIntrapara"><ul class="compact"><li><p><span class="RktVar">z</span> is less than <span class="RktVal">1.0</span> —<wbr></wbr> result is <span class="RktVal">0.0</span></p></li><li><p><span class="RktVar">z</span> is greater than <span class="RktVal">1.0</span> —<wbr></wbr> result is <span class="RktVal">+inf.0</span></p></li></ul></div></p></li><li><p><div class="SIntrapara"><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="stt"> </span><span class="RktVal"><span class="nobreak">-i</span>nf.0</span><span class="stt"> </span><span class="RktVar">w</span><span class="RktPn">)</span> for integer <span class="RktVar">w</span>:
|
|
</div><div class="SIntrapara"><ul class="compact"><li><p><div class="SIntrapara"><span class="RktVar">w</span> is negative:
|
|
</div><div class="SIntrapara"><ul class="compact"><li><p><span class="RktVar">w</span> is odd —<wbr></wbr> result is <span class="RktVal"><span class="nobreak">-0</span>.0</span></p></li><li><p><span class="RktVar">w</span> is even —<wbr></wbr> result is <span class="RktVal">0.0</span></p></li></ul></div></p></li><li><p><div class="SIntrapara"><span class="RktVar">w</span> is positive:
|
|
</div><div class="SIntrapara"><ul class="compact"><li><p><span class="RktVar">w</span> is odd —<wbr></wbr> result is <span class="RktVal"><span class="nobreak">-i</span>nf.0</span></p></li><li><p><span class="RktVar">w</span> is even —<wbr></wbr> result is <span class="RktVal">+inf.0</span></p></li></ul></div></p></li></ul></div></p></li><li><p><div class="SIntrapara"><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="stt"> </span><span class="RktVal">+inf.0</span><span class="stt"> </span><span class="RktVar">w</span><span class="RktPn">)</span>:
|
|
</div><div class="SIntrapara"><ul class="compact"><li><p><span class="RktVar">w</span> is negative —<wbr></wbr> result is <span class="RktVal">0.0</span></p></li><li><p><span class="RktVar">w</span> is positive —<wbr></wbr> result is <span class="RktVal">+inf.0</span></p></li></ul></div></p></li></ul></div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">8</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace"> </span><span class="RktVal">4</span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1</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._((quote._~23~25kernel)._exp))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._exp%29%29" class="RktValDef RktValLink" data-pltdoc="x">exp</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns Euler’s number raised to the power of <span class="RktVar">z</span>. The result
|
|
is normally inexact, but it is exact <span class="RktVal">1</span> when <span class="RktVar">z</span> is an
|
|
exact <span class="RktVal">0</span>. See also <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._exp%29%29" class="RktValLink" data-pltdoc="x">exp</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.718281828459045</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._exp%29%29" class="RktValLink" data-pltdoc="x">exp</a></span><span class="hspace"> </span><span class="RktVal">2+3i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-7.315110094901103+1.0427436562359045i</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._exp%29%29" class="RktValLink" data-pltdoc="x">exp</a></span><span class="hspace"> </span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1</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._((quote._~23~25kernel)._log))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._log%29%29" class="RktValDef RktValLink" data-pltdoc="x">log</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span><span class="RktOpt">[</span><span class="RktVar">b</span><span class="RktOpt">]</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">b</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._exp%29%29" class="RktValLink" data-pltdoc="x">exp</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the natural logarithm of <span class="RktVar">z</span>. The result is normally
|
|
inexact, but it is exact <span class="RktVal">0</span> when <span class="RktVar">z</span> is an exact
|
|
<span class="RktVal">1</span>. When <span class="RktVar">z</span> is exact <span class="RktVal">0</span>,
|
|
<span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3adivide-by-zero%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:divide-by-zero</a></span> exception is raised.</div></p><p>If <span class="RktVar">b</span> is provided, it serves as an alternative
|
|
base. It is equivalent to <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29" class="RktValLink" data-pltdoc="x">/</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._log%29%29" class="RktValLink" data-pltdoc="x">log</a></span><span class="stt"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._log%29%29" class="RktValLink" data-pltdoc="x">log</a></span><span class="stt"> </span><span class="RktVar">b</span><span class="RktPn">)</span><span class="RktPn">)</span>, but
|
|
can potentially run faster. If <span class="RktVar">b</span> is exact
|
|
<span class="RktVal">1</span>, <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3adivide-by-zero%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:divide-by-zero</a></span> exception is raised.</p><p>Consider using <span class="RktSym"><a href="https://download.racket-lang.org/releases/8.6/doc/local-redirect/index.html?doc=math&rel=flonum.html%23%2528def._%2528%2528lib._math%252Fflonum..rkt%2529._fllogb%2529%2529&version=8.6" class="RktValLink Sq" data-pltdoc="x">fllogb</a></span> instead when accuracy is
|
|
important.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._log%29%29" class="RktValLink" data-pltdoc="x">log</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._exp%29%29" class="RktValLink" data-pltdoc="x">exp</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._log%29%29" class="RktValLink" data-pltdoc="x">log</a></span><span class="hspace"> </span><span class="RktVal">2+3i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.2824746787307684+0.982793723247329i</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._log%29%29" class="RktValLink" data-pltdoc="x">log</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._log%29%29" class="RktValLink" data-pltdoc="x">log</a></span><span class="hspace"> </span><span class="RktVal">100</span><span class="hspace"> </span><span class="RktVal">10</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._log%29%29" class="RktValLink" data-pltdoc="x">log</a></span><span class="hspace"> </span><span class="RktVal">8</span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._log%29%29" class="RktValLink" data-pltdoc="x">log</a></span><span class="hspace"> </span><span class="RktVal">5</span><span class="hspace"> </span><span class="RktVal">5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 6.9.0.1 of package <span class="stt">base</span>: Added second argument for arbitrary bases.</p><h5 x-source-module="(lib "scribblings/reference/reference.scrbl")" x-source-pkg="racket-doc" x-part-tag=""Trigonometric_Functions"">4.3.2.4<tt> </tt><a name="(part._.Trigonometric_.Functions)"></a>Trigonometric Functions</h5><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._((quote._~23~25kernel)._sin))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sin%29%29" class="RktValDef RktValLink" data-pltdoc="x">sin</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the sine of <span class="RktVar">z</span>, where <span class="RktVar">z</span> is in radians. The
|
|
result is normally inexact, but it is exact <span class="RktVal">0</span> if <span class="RktVar">z</span>
|
|
is exact <span class="RktVal">0</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sin%29%29" class="RktValLink" data-pltdoc="x">sin</a></span><span class="hspace"> </span><span class="RktVal">3.14159</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.65358979335273e-6</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sin%29%29" class="RktValLink" data-pltdoc="x">sin</a></span><span class="hspace"> </span><span class="RktVal">1.0+5.0i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">62.44551846769654+40.0921657779984i</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._((quote._~23~25kernel)._cos))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._cos%29%29" class="RktValDef RktValLink" data-pltdoc="x">cos</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the cosine of <span class="RktVar">z</span>, where <span class="RktVar">z</span> is in radians.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._cos%29%29" class="RktValLink" data-pltdoc="x">cos</a></span><span class="hspace"> </span><span class="RktVal">3.14159</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-0.9999999999964793</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._cos%29%29" class="RktValLink" data-pltdoc="x">cos</a></span><span class="hspace"> </span><span class="RktVal">1.0+5.0i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">40.09580630629883-62.43984868079963i</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._((quote._~23~25kernel)._tan))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._tan%29%29" class="RktValDef RktValLink" data-pltdoc="x">tan</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the tangent of <span class="RktVar">z</span>, where <span class="RktVar">z</span> is in radians. The
|
|
result is normally inexact, but it is exact <span class="RktVal">0</span> if <span class="RktVar">z</span>
|
|
is exact <span class="RktVal">0</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._tan%29%29" class="RktValLink" data-pltdoc="x">tan</a></span><span class="hspace"> </span><span class="RktVal">0.7854</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0000036732118496</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._tan%29%29" class="RktValLink" data-pltdoc="x">tan</a></span><span class="hspace"> </span><span class="RktVal">1.0+5.0i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">8.256719834229597e-5+1.0000377833796008i</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._((quote._~23~25kernel)._asin))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._asin%29%29" class="RktValDef RktValLink" data-pltdoc="x">asin</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the arcsine in radians of <span class="RktVar">z</span>. The result is normally
|
|
inexact, but it is exact <span class="RktVal">0</span> if <span class="RktVar">z</span> is exact <span class="RktVal">0</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._asin%29%29" class="RktValLink" data-pltdoc="x">asin</a></span><span class="hspace"> </span><span class="RktVal">0.25</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.25268025514207865</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._asin%29%29" class="RktValLink" data-pltdoc="x">asin</a></span><span class="hspace"> </span><span class="RktVal">1.0+5.0i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.1937931365549322+2.3309746530493123i</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._((quote._~23~25kernel)._acos))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._acos%29%29" class="RktValDef RktValLink" data-pltdoc="x">acos</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the arccosine in radians of <span class="RktVar">z</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._acos%29%29" class="RktValLink" data-pltdoc="x">acos</a></span><span class="hspace"> </span><span class="RktVal">0.25</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.318116071652818</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._acos%29%29" class="RktValLink" data-pltdoc="x">acos</a></span><span class="hspace"> </span><span class="RktVal">1.0+5.0i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.3770031902399644-2.3309746530493123i</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._((quote._~23~25kernel)._atan))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._atan%29%29" class="RktValDef RktValLink" data-pltdoc="x">atan</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._atan%29%29" class="RktValDef RktValLink" data-pltdoc="x">atan</a></span></span><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">In the one-argument case, returns the arctangent of the inexact
|
|
approximation of <span class="RktVar">z</span>, except that the result is an exact
|
|
<span class="RktVal">0</span> for <span class="RktVar">z</span> as <span class="RktVal">0</span>, and the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3adivide-by-zero%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:divide-by-zero</a></span> exception is raised
|
|
for <span class="RktVar">z</span> as exact <span class="RktVal">0+1i</span> or exact <span class="RktVal">0-1i</span>.</div></p><p>In the two-argument case, the result is roughly the same as <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._atan%29%29" class="RktValLink" data-pltdoc="x">atan</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2F%29%29" class="RktValLink" data-pltdoc="x">/</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-~3einexact%29%29" class="RktValLink" data-pltdoc="x">exact->inexact</a></span><span class="stt"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-~3einexact%29%29" class="RktValLink" data-pltdoc="x">exact->inexact</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span>, but the signs of <span class="RktVar">y</span>
|
|
and <span class="RktVar">x</span> determine the quadrant of the result. Moreover, a
|
|
suitable angle is returned when <span class="RktVar">y</span> divided by <span class="RktVar">x</span>
|
|
produces <span class="RktVal">+nan.0</span> in the case that neither <span class="RktVar">y</span> nor
|
|
<span class="RktVar">x</span> is <span class="RktVal">+nan.0</span>. Finally, if <span class="RktVar">y</span> is exact
|
|
<span class="RktVal">0</span> and <span class="RktVar">x</span> is a positive number, the result is
|
|
exact <span class="RktVal">0</span>. If both <span class="RktVar">x</span> and <span class="RktVar">y</span> are exact
|
|
<span class="RktVal">0</span>, the <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3adivide-by-zero%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:divide-by-zero</a></span> exception is raised.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._atan%29%29" class="RktValLink" data-pltdoc="x">atan</a></span><span class="hspace"> </span><span class="RktVal">0.5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.4636476090008061</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._atan%29%29" class="RktValLink" data-pltdoc="x">atan</a></span><span class="hspace"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.1071487177940904</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._atan%29%29" class="RktValLink" data-pltdoc="x">atan</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-2</span></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-2.0344439357957027</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._atan%29%29" class="RktValLink" data-pltdoc="x">atan</a></span><span class="hspace"> </span><span class="RktVal">1.0+5.0i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.530881333938778+0.19442614214700213i</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._atan%29%29" class="RktValLink" data-pltdoc="x">atan</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-i</span>nf.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2.356194490192345</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 7.2.0.2 of package <span class="stt">base</span>: Changed to raise <span class="RktSym"><a href="exns.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._exn~3afail~3acontract~3adivide-by-zero%29%29" class="RktValLink" data-pltdoc="x">exn:fail:contract:divide-by-zero</a></span>
|
|
for <span class="RktVal">0+1i</span> and <span class="RktVal">0-1i</span> and to produce exact <span class="RktVal">0</span>
|
|
for any positive <span class="RktVar">x</span> (not just exact values) when <span class="RktVar">y</span> is <span class="RktVal">0</span>.</p><h5 x-source-module="(lib "scribblings/reference/reference.scrbl")" x-source-pkg="racket-doc" x-part-tag=""Complex_Numbers"">4.3.2.5<tt> </tt><a name="(part._.Complex_.Numbers)"></a>Complex Numbers</h5><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._((quote._~23~25kernel)._make-rectangular))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._make-rectangular%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-rectangular</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span><span class="RktVar">y</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a complex number with <span class="RktVar">x</span> as the real part
|
|
and <span class="RktVar">y</span> as the imaginary part. That is, returns <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29" class="RktValLink" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValLink" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktVar">y</span><span class="stt"> </span><span class="RktVal">0+1i</span><span class="RktPn">)</span><span class="RktPn">)</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">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._make-rectangular%29%29" class="RktValLink" data-pltdoc="x">make-rectangular</a></span><span class="hspace"> </span><span class="RktVal">3</span><span class="hspace"> </span><span class="RktVal">4.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3.0+4.0i</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._((quote._~23~25kernel)._make-polar))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._make-polar%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-polar</a></span></span><span class="hspace"> </span><span class="RktVar">magnitude</span><span class="hspace"> </span><span class="RktVar">angle</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">magnitude</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">angle</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Creates a complex number which, if thought of as a point,
|
|
is <span class="RktVar">magnitude</span> away from the origin and is rotated
|
|
<span class="RktVar">angle</span> radians counter clockwise from the positive x-axis.
|
|
That is, returns <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29" class="RktValLink" data-pltdoc="x">+</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValLink" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktVar">magnitude</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._cos%29%29" class="RktValLink" data-pltdoc="x">cos</a></span><span class="stt"> </span><span class="RktVar">angle</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValLink" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktVar">magnitude</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sin%29%29" class="RktValLink" data-pltdoc="x">sin</a></span><span class="stt"> </span><span class="RktVar">angle</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktVal">0+1i</span><span class="RktPn">)</span><span class="RktPn">)</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._make-polar%29%29" class="RktValLink" data-pltdoc="x">make-polar</a></span><span class="hspace"> </span><span class="RktVal">10</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValLink" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span><span class="hspace"> </span><span class="RktVal">1/2</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">6.123233995736766e-16+10.0i</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._make-polar%29%29" class="RktValLink" data-pltdoc="x">make-polar</a></span><span class="hspace"> </span><span class="RktVal">10</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValLink" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span><span class="hspace"> </span><span class="RktVal">1/4</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">7.0710678118654755+7.071067811865475i</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._((quote._~23~25kernel)._real-part))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._real-part%29%29" class="RktValDef RktValLink" data-pltdoc="x">real-part</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the real part of the complex number <span class="RktVar">z</span> in rectangle
|
|
coordinates.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._real-part%29%29" class="RktValLink" data-pltdoc="x">real-part</a></span><span class="hspace"> </span><span class="RktVal">3+4i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._real-part%29%29" class="RktValLink" data-pltdoc="x">real-part</a></span><span class="hspace"> </span><span class="RktVal">5.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">5.0</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._((quote._~23~25kernel)._imag-part))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._imag-part%29%29" class="RktValDef RktValLink" data-pltdoc="x">imag-part</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the imaginary part of the complex number <span class="RktVar">z</span> in
|
|
rectangle coordinates.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._imag-part%29%29" class="RktValLink" data-pltdoc="x">imag-part</a></span><span class="hspace"> </span><span class="RktVal">3+4i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">4</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._imag-part%29%29" class="RktValLink" data-pltdoc="x">imag-part</a></span><span class="hspace"> </span><span class="RktVal">5.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._imag-part%29%29" class="RktValLink" data-pltdoc="x">imag-part</a></span><span class="hspace"> </span><span class="RktVal">5.0+0.0i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.0</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._((quote._~23~25kernel)._magnitude))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._magnitude%29%29" class="RktValDef RktValLink" data-pltdoc="x">magnitude</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span><span class="hspace"> </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"> </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></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the magnitude of the complex number <span class="RktVar">z</span> in polar
|
|
coordinates. A complex number with <span class="RktVal">+inf.0</span> or <span class="RktVal"><span class="nobreak">-i</span>nf.0</span>
|
|
as a component has magnitude <span class="RktVal">+inf.0</span>, even if the other
|
|
component is <span class="RktVal">+nan.0</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._magnitude%29%29" class="RktValLink" data-pltdoc="x">magnitude</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-3</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._magnitude%29%29" class="RktValLink" data-pltdoc="x">magnitude</a></span><span class="hspace"> </span><span class="RktVal">3.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._magnitude%29%29" class="RktValLink" data-pltdoc="x">magnitude</a></span><span class="hspace"> </span><span class="RktVal">3+4i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">5</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 7.2.0.2 of package <span class="stt">base</span>: Changed to always return <span class="RktVal">+inf.0</span>
|
|
for a complex number with a <span class="RktVal">+inf.0</span>
|
|
or <span class="RktVal"><span class="nobreak">-i</span>nf.0</span> component.</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._((quote._~23~25kernel)._angle))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._angle%29%29" class="RktValDef RktValLink" data-pltdoc="x">angle</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara"> Returns the angle of
|
|
the complex number <span class="RktVar">z</span> in polar coordinates.</div></p><p>The result is guaranteed to be between <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="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span><span class="RktPn">)</span> and
|
|
<span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span>, possibly equal to <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span> (but never equal
|
|
to <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="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span><span class="RktPn">)</span>).</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._angle%29%29" class="RktValLink" data-pltdoc="x">angle</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-3</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3.141592653589793</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._angle%29%29" class="RktValLink" data-pltdoc="x">angle</a></span><span class="hspace"> </span><span class="RktVal">3.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._angle%29%29" class="RktValLink" data-pltdoc="x">angle</a></span><span class="hspace"> </span><span class="RktVal">3+4i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.9272952180016122</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._angle%29%29" class="RktValLink" data-pltdoc="x">angle</a></span><span class="hspace"> </span><span class="RktVal">+inf.0+inf.0i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.7853981633974483</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._angle%29%29" class="RktValLink" data-pltdoc="x">angle</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3.141592653589793</span></p></td></tr></table></blockquote></div></p><h5 x-source-module="(lib "scribblings/reference/reference.scrbl")" x-source-pkg="racket-doc" x-part-tag=""Bitwise_Operations"">4.3.2.6<tt> </tt><a name="(part._.Bitwise_.Operations)"></a><a name="(idx._(gentag._126._(lib._scribblings/reference/reference..scrbl)))"></a>Bitwise Operations</h5><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._((quote._~23~25kernel)._bitwise-ior))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-ior%29%29" class="RktValDef RktValLink" data-pltdoc="x">bitwise-ior</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </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></td></tr></table></blockquote></div><div class="SIntrapara"> Returns
|
|
the bitwise “inclusive or” of the <span class="RktVar">n</span>s in their (semi-infinite)
|
|
two’s complement representation. If no arguments are provided, the
|
|
result is <span class="RktVal">0</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-ior%29%29" class="RktValLink" data-pltdoc="x">bitwise-ior</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-ior%29%29" class="RktValLink" data-pltdoc="x">bitwise-ior</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-3</span>2</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-31</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._((quote._~23~25kernel)._bitwise-and))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-and%29%29" class="RktValDef RktValLink" data-pltdoc="x">bitwise-and</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </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></td></tr></table></blockquote></div><div class="SIntrapara"> Returns
|
|
the bitwise “and” of the <span class="RktVar">n</span>s in their (semi-infinite) two’s
|
|
complement representation. If no arguments are provided, the result
|
|
is <span class="RktVal"><span class="nobreak">-1</span></span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-and%29%29" class="RktValLink" data-pltdoc="x">bitwise-and</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-and%29%29" class="RktValLink" data-pltdoc="x">bitwise-and</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-3</span>2</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-32</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._((quote._~23~25kernel)._bitwise-xor))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-xor%29%29" class="RktValDef RktValLink" data-pltdoc="x">bitwise-xor</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktMeta">...</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </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></td></tr></table></blockquote></div><div class="SIntrapara"> Returns
|
|
the bitwise “exclusive or” of the <span class="RktVar">n</span>s in their (semi-infinite)
|
|
two’s complement representation. If no arguments are provided, the
|
|
result is <span class="RktVal">0</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><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="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">4</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><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="hspace"> </span><span class="RktVal"><span class="nobreak">-3</span>2</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">31</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._((quote._~23~25kernel)._bitwise-not))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-not%29%29" class="RktValDef RktValLink" data-pltdoc="x">bitwise-not</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </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></td></tr></table></blockquote></div><div class="SIntrapara"> Returns the
|
|
bitwise “not” of <span class="RktVar">n</span> in its (semi-infinite) two’s complement
|
|
representation.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</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><span class="hspace"> </span><span class="RktVal">5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-6</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</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><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</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._((quote._~23~25kernel)._bitwise-bit-set~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-bit-set~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">bitwise-bit-set?</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">m</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </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></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">m</span><span class="hspace"> </span>:<span class="hspace"> </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 <span class="RktVal">#t</span> when the <span class="RktVar">m</span>th bit of <span class="RktVar">n</span> is set in <span class="RktVar">n</span>’s
|
|
(semi-infinite) two’s complement representation.</div></p><p>This operation is equivalent to
|
|
<span class="RktPn">(</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._not%29%29" class="RktValLink" data-pltdoc="x">not</a></span><span class="stt"> </span><span class="RktPn">(</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="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-and%29%29" class="RktValLink" data-pltdoc="x">bitwise-and</a></span><span class="stt"> </span><span class="RktVar">n</span><span class="stt"> </span><span class="RktPn">(</span><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><span class="stt"> </span><span class="RktVal">1</span><span class="stt"> </span><span class="RktVar">m</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span>,
|
|
but it is faster and runs in constant time when <span class="RktVar">n</span> is positive.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-bit-set~3f%29%29" class="RktValLink" data-pltdoc="x">bitwise-bit-set?</a></span><span class="hspace"> </span><span class="RktVal">5</span><span class="hspace"> </span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-bit-set~3f%29%29" class="RktValLink" data-pltdoc="x">bitwise-bit-set?</a></span><span class="hspace"> </span><span class="RktVal">5</span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-bit-set~3f%29%29" class="RktValLink" data-pltdoc="x">bitwise-bit-set?</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-5</span></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktVal">700</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#t</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._((quote._~23~25kernel)._bitwise-bit-field))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-bit-field%29%29" class="RktValDef RktValLink" data-pltdoc="x">bitwise-bit-field</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">start</span><span class="hspace"> </span><span class="RktVar">end</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </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></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">start</span><span class="hspace"> </span>:<span class="hspace"> </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><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">end</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">:</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><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"> </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"> </span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._~3e~3d%2Fc%29%29" class="RktValLink" data-pltdoc="x">>=/c</a></span><span class="hspace"> </span><span class="RktVar">start</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Extracts the bits between position <span class="RktVar">start</span> and <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="RktVal">1</span><span class="RktPn">)</span> (inclusive)
|
|
from <span class="RktVar">n</span> and shifts them down to the least significant portion of the number.</div></p><p>This operation is equivalent to the computation</p><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-and%29%29" class="RktValLink" data-pltdoc="x">bitwise-and</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sub1%29%29" class="RktValLink" data-pltdoc="x">sub1</a></span><span class="hspace"> </span><span class="RktPn">(</span><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><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><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="hspace"> </span><span class="RktVar">end</span><span class="hspace"> </span><span class="RktVar">start</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><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><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><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="hspace"> </span><span class="RktVar">start</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote><p>but it runs in constant time when <span class="RktVar">n</span> is positive, <span class="RktVar">start</span> and
|
|
<span class="RktVar">end</span> are fixnums, and <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> is no more than
|
|
the maximum width of a fixnum.</p><p>Each pair of examples below uses the same numbers, showing the result
|
|
both in binary and as integers.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._format%29%29" class="RktValLink" data-pltdoc="x">format</a></span><span class="hspace"> </span><span class="RktVal">"~b"</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-bit-field%29%29" class="RktValLink" data-pltdoc="x">bitwise-bit-field</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._string-~3enumber%29%29" class="RktValLink" data-pltdoc="x">string->number</a></span><span class="hspace"> </span><span class="RktVal">"1101"</span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"0"</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-bit-field%29%29" class="RktValLink" data-pltdoc="x">bitwise-bit-field</a></span><span class="hspace"> </span><span class="RktVal">13</span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._format%29%29" class="RktValLink" data-pltdoc="x">format</a></span><span class="hspace"> </span><span class="RktVal">"~b"</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-bit-field%29%29" class="RktValLink" data-pltdoc="x">bitwise-bit-field</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._string-~3enumber%29%29" class="RktValLink" data-pltdoc="x">string->number</a></span><span class="hspace"> </span><span class="RktVal">"1101"</span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"10"</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-bit-field%29%29" class="RktValLink" data-pltdoc="x">bitwise-bit-field</a></span><span class="hspace"> </span><span class="RktVal">13</span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">3</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="Writing.html#%28def._%28%28quote._~23~25kernel%29._format%29%29" class="RktValLink" data-pltdoc="x">format</a></span><span class="hspace"> </span><span class="RktVal">"~b"</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-bit-field%29%29" class="RktValLink" data-pltdoc="x">bitwise-bit-field</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._string-~3enumber%29%29" class="RktValLink" data-pltdoc="x">string->number</a></span><span class="hspace"> </span><span class="RktVal">"1101"</span><span class="hspace"> </span><span class="RktVal">2</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">4</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"110"</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._bitwise-bit-field%29%29" class="RktValLink" data-pltdoc="x">bitwise-bit-field</a></span><span class="hspace"> </span><span class="RktVal">13</span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">4</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">6</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._((quote._~23~25kernel)._arithmetic-shift))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._arithmetic-shift%29%29" class="RktValDef RktValLink" data-pltdoc="x">arithmetic-shift</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktVar">m</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </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></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">m</span><span class="hspace"> </span>:<span class="hspace"> </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></td></tr></table></blockquote></div><div class="SIntrapara"> Returns the bitwise “shift” of <span class="RktVar">n</span> in its
|
|
(semi-infinite) two’s complement representation. If <span class="RktVar">m</span> is
|
|
non-negative, the integer <span class="RktVar">n</span> is shifted left by <span class="RktVar">m</span> bits;
|
|
i.e., <span class="RktVar">m</span> new zeros are introduced as rightmost digits. If
|
|
<span class="RktVar">m</span> is negative, <span class="RktVar">n</span> is shifted right by <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">m</span><span class="RktPn">)</span>
|
|
bits; i.e., the rightmost <span class="RktVar">m</span> digits are dropped.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><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><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">10</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1024</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><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><span class="hspace"> </span><span class="RktVal">255</span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-3</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">31</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._((quote._~23~25kernel)._integer-length))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-length%29%29" class="RktValDef RktValLink" data-pltdoc="x">integer-length</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </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></td></tr></table></blockquote></div><div class="SIntrapara"> Returns
|
|
the number of bits in the (semi-infinite) two’s complement
|
|
representation of <span class="RktVar">n</span> after removing all leading zeros (for
|
|
non-negative <span class="RktVar">n</span>) or ones (for negative <span class="RktVar">n</span>).</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-length%29%29" class="RktValLink" data-pltdoc="x">integer-length</a></span><span class="hspace"> </span><span class="RktVal">8</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">4</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-length%29%29" class="RktValLink" data-pltdoc="x">integer-length</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-8</span></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3</span></p></td></tr></table></blockquote></div></p><h5 x-source-module="(lib "scribblings/reference/reference.scrbl")" x-source-pkg="racket-doc" x-part-tag=""Random_Numbers"">4.3.2.7<tt> </tt><a name="(part._.Random_.Numbers)"></a>Random Numbers</h5><blockquote class="refpara"><blockquote class="refcolumn"><blockquote class="refcontent"><p>When security is a concern, use <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Frandom..rkt%29._crypto-random-bytes%29%29" class="RktValLink" data-pltdoc="x">crypto-random-bytes</a></span> instead of <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._random%29%29" class="RktValLink" data-pltdoc="x">random</a></span>.</p></blockquote></blockquote></blockquote><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/private/base..rkt)._random))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._random%29%29" class="RktValDef RktValLink" data-pltdoc="x">random</a></span></span><span class="hspace"> </span><span class="RktVar">k</span><span class="hspace"> </span><span class="RktOpt">[</span><span class="RktVar">rand-gen</span><span class="RktOpt">]</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">k</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">4294967087</span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">rand-gen</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">:</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator?</a></span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">=</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._current-pseudo-random-generator%29%29" class="RktValLink" data-pltdoc="x">current-pseudo-random-generator</a></span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._random%29%29" class="RktValDef RktValLink" data-pltdoc="x">random</a></span></span><span class="hspace"> </span><span class="RktVar">min</span><span class="hspace"> </span><span class="RktVar">max</span><span class="hspace"> </span><span class="RktOpt">[</span><span class="RktVar">rand-gen</span><span class="RktOpt">]</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">min</span><span class="hspace"> </span>:<span class="hspace"> </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></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">max</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29" class="RktValLink" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVar">min</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2B%29%29" class="RktValLink" data-pltdoc="x">+</a></span><span class="hspace"> </span><span class="RktVal">4294967087</span><span class="hspace"> </span><span class="RktVar">min</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">rand-gen</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">:</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator?</a></span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">=</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._current-pseudo-random-generator%29%29" class="RktValLink" data-pltdoc="x">current-pseudo-random-generator</a></span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._random%29%29" class="RktValDef RktValLink" data-pltdoc="x">random</a></span></span><span class="hspace"> </span><span class="RktOpt">[</span><span class="RktVar">rand-gen</span><span class="RktOpt">]</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span><span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._inexact~3f%29%29" class="RktValLink" data-pltdoc="x">inexact?</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._~3e%2Fc%29%29" class="RktValLink" data-pltdoc="x">>/c</a></span><span class="hspace"> </span><span class="RktVal">0</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._~3c%2Fc%29%29" class="RktValLink" data-pltdoc="x"></c</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">rand-gen</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">:</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator?</a></span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">=</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._current-pseudo-random-generator%29%29" class="RktValLink" data-pltdoc="x">current-pseudo-random-generator</a></span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">When called with an integer argument <span class="RktVar">k</span>, returns a random
|
|
exact integer in the range <span class="RktVal">0</span> to <span class="RktVar">k</span><span style="font-style: italic">-</span>1<span style="font-style: italic"></span>.</div></p><p>When called with two integer arguments <span class="RktVar">min</span> and <span class="RktVar">max</span>, returns a
|
|
random exact integer in the range <span class="RktVar">min</span> to <span class="RktVar">max</span><span style="font-style: italic">-</span>1<span style="font-style: italic"></span>.</p><p>When called with zero arguments, returns a random inexact number between
|
|
<span class="RktVal">0</span> and <span class="RktVal">1</span>, exclusive.</p><p>In each case, the number is provided by the given pseudo-random number
|
|
generator (which defaults to the current one, as produced by
|
|
<span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._current-pseudo-random-generator%29%29" class="RktValLink" data-pltdoc="x">current-pseudo-random-generator</a></span>). The generator maintains an
|
|
internal state for generating numbers. The random number generator
|
|
uses L’Ecuyer’s MRG32k3a algorithm [<a href="doc-bibliography.html#%28cite._.L%27.Ecuyer02%29" data-pltdoc="x">L'Ecuyer02</a>] that has a
|
|
state space of practically 192 bits.</p><p class="SHistory">Changed in version 6.4 of package <span class="stt">base</span>: Added support for ranges.</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._((quote._~23~25kernel)._random-seed))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._random-seed%29%29" class="RktValDef RktValLink" data-pltdoc="x">random-seed</a></span></span><span class="hspace"> </span><span class="RktVar">k</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">k</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span><span class="RktVal">0</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sub1%29%29" class="RktValLink" data-pltdoc="x">sub1</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktVal">31</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Seeds the current pseudo-random number generator with
|
|
<span class="RktVar">k</span>. Seeding a generator sets its internal state
|
|
deterministically; that is, seeding a generator with a particular
|
|
number forces it to produce a sequence of pseudo-random numbers that
|
|
is the same across runs and across platforms.</div></p><p>The <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._random-seed%29%29" class="RktValLink" data-pltdoc="x">random-seed</a></span> function is convenient for some purposes, but
|
|
note that the space of states for a pseudo-random number generator is
|
|
much larger that the space of allowed values for <span class="RktVar">k</span>. Use
|
|
<span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._vector-~3epseudo-random-generator%21%29%29" class="RktValLink" data-pltdoc="x">vector->pseudo-random-generator!</a></span> to set a pseudo-random
|
|
number generator to any of its possible states.</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._((quote._~23~25kernel)._make-pseudo-random-generator))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._make-pseudo-random-generator%29%29" class="RktValDef RktValLink" data-pltdoc="x">make-pseudo-random-generator</a></span></span><span class="RktPn"></span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator?</a></span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">Returns a new pseudo-random number generator. The new generator is
|
|
seeded with a number derived from <span class="RktPn">(</span><span class="RktSym"><a href="time.html#%28def._%28%28quote._~23~25kernel%29._current-milliseconds%29%29" class="RktValLink" data-pltdoc="x">current-milliseconds</a></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._((quote._~23~25kernel)._pseudo-random-generator~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">pseudo-random-generator?</a></span></span><span class="hspace"> </span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">v</span><span class="hspace"> </span>:<span class="hspace"> </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 pseudo-random number generator,
|
|
<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>parameter</p></div></div><p class="RForeground"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._current-pseudo-random-generator))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._current-pseudo-random-generator%29%29" class="RktValDef RktValLink" data-pltdoc="x">current-pseudo-random-generator</a></span></span><span class="RktPn"></span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator?</a></span></p></blockquote></td></tr><tr><td><span class="RktPn">(</span><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._current-pseudo-random-generator%29%29" class="RktValDef RktValLink" data-pltdoc="x">current-pseudo-random-generator</a></span></span><span class="hspace"> </span><span class="RktVar">rand-gen</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">rand-gen</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">A <a href="eval-model.html#%28tech._parameter%29" class="techoutside" data-pltdoc="x"><span class="techinside">parameter</span></a> that determines the pseudo-random number generator
|
|
used by <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._random%29%29" class="RktValLink" data-pltdoc="x">random</a></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._((quote._~23~25kernel)._pseudo-random-generator-~3evector))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator-~3evector%29%29" class="RktValDef RktValLink" data-pltdoc="x">pseudo-random-generator->vector</a></span></span><span class="hspace"> </span><span class="RktVar">rand-gen</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator-vector~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator-vector?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">rand-gen</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Produces a vector that represents the complete internal state of
|
|
<span class="RktVar">rand-gen</span>. The vector is suitable as an argument to
|
|
<span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._vector-~3epseudo-random-generator%29%29" class="RktValLink" data-pltdoc="x">vector->pseudo-random-generator</a></span> to recreate the generator in
|
|
its current state (across runs and across platforms).</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._((quote._~23~25kernel)._vector-~3epseudo-random-generator))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._vector-~3epseudo-random-generator%29%29" class="RktValDef RktValLink" data-pltdoc="x">vector->pseudo-random-generator</a></span></span><span class="hspace"> </span><span class="RktVar">vec</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">vec</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator-vector~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator-vector?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Produces a pseudo-random number generator whose internal state
|
|
corresponds to <span class="RktVar">vec</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><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._vector-~3epseudo-random-generator!))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._vector-~3epseudo-random-generator%21%29%29" class="RktValDef RktValLink" data-pltdoc="x">vector->pseudo-random-generator!</a></span></span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">rand-gen</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">vec</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">→</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktSym"><a href="void.html#%28def._%28%28quote._~23~25kernel%29._void~3f%29%29" class="RktValLink" data-pltdoc="x">void?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">rand-gen</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">vec</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator-vector~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator-vector?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Like <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._vector-~3epseudo-random-generator%29%29" class="RktValLink" data-pltdoc="x">vector->pseudo-random-generator</a></span>, but changes
|
|
<span class="RktVar">rand-gen</span> to the given state, instead of creating a new
|
|
generator.</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._((quote._~23~25kernel)._pseudo-random-generator-vector~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator-vector~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">pseudo-random-generator-vector?</a></span></span><span class="hspace"> </span><span class="RktVar">v</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">v</span><span class="hspace"> </span>:<span class="hspace"> </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 vector of six exact integers,
|
|
where the first three integers are in the range <span class="RktVal">0</span> to
|
|
<span class="RktVal">4294967086</span>, inclusive; the last three integers are in the
|
|
range <span class="RktVal">0</span> to <span class="RktVal">4294944442</span>, inclusive; at least one of
|
|
the first three integers is non-zero; and at least one of the last
|
|
three integers is non-zero. Otherwise, the result is <span class="RktVal">#f</span>.</div></p><h5 x-source-module="(lib "scribblings/reference/reference.scrbl")" x-source-pkg="racket-doc" x-part-tag=""Other_Randomness_Utilities"">4.3.2.8<tt> </tt><a name="(part._.Other_.Randomness_.Utilities)"></a><a name="(mod-path._racket/random)"></a>Other Randomness Utilities</h5><p><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace"> </span><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="stt"> </span><a href="generic-numbers.html#%28mod-path._racket%2Frandom%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/random</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller"> package:</span> <a href="https://pkgs.racket-lang.org/package/base" title="Install this package using `raco pkg install base`"><span class="stt">base</span></a></span></td></tr></table></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/random..rkt)._crypto-random-bytes))"></a><span title="Provided from: racket/random | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Frandom..rkt%29._crypto-random-bytes%29%29" class="RktValDef RktValLink" data-pltdoc="x">crypto-random-bytes</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes~3f%29%29" class="RktValLink" data-pltdoc="x">bytes?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-positive-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-positive-integer?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Provides an interface to randomness from the underlying operating system. Use
|
|
<span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Frandom..rkt%29._crypto-random-bytes%29%29" class="RktValLink" data-pltdoc="x">crypto-random-bytes</a></span> instead of <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._random%29%29" class="RktValLink" data-pltdoc="x">random</a></span> wherever security is a
|
|
concern.</div></p><p>Returns <span class="RktVar">n</span> random bytes. On Unix systems, the bytes are
|
|
obtained from <span class="stt">"/dev/urandom"</span>, while Windows uses
|
|
the <span class="stt">RtlGenRand</span> system function.</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">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Frandom..rkt%29._crypto-random-bytes%29%29" class="RktValLink" data-pltdoc="x">crypto-random-bytes</a></span><span class="hspace"> </span><span class="RktVal">14</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#"\0\1\1\2\3\5\b\r\25\"7Y\220\351"</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Added in version 6.3 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><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/random..rkt)._random-ref))"></a><span title="Provided from: racket/random | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Frandom..rkt%29._random-ref%29%29" class="RktValDef RktValLink" data-pltdoc="x">random-ref</a></span></span><span class="hspace"> </span><span class="RktVar">seq</span><span class="hspace"> </span><span class="RktOpt">[</span><span class="RktVar">rand-gen</span><span class="RktOpt">]</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">seq</span><span class="hspace"> </span>:<span class="hspace"> </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></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">rand-gen</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">:</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator?</a></span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">=</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._current-pseudo-random-generator%29%29" class="RktValLink" data-pltdoc="x">current-pseudo-random-generator</a></span><span class="RktPn">)</span></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Returns a random element of the sequence. Like <span class="RktSym"><a href="sequences.html#%28def._%28%28lib._racket%2Fsequence..rkt%29._sequence-length%29%29" class="RktValLink" data-pltdoc="x">sequence-length</a></span>, does
|
|
not terminate on infinite sequences, and evaluates the entire sequence.</div></p><p class="SHistory">Added in version 6.4 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><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._racket/random..rkt)._random-sample))"></a><span title="Provided from: racket/random | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Frandom..rkt%29._random-sample%29%29" class="RktValDef RktValLink" data-pltdoc="x">random-sample</a></span></span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">seq</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">n</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span><span class="RktOpt">[</span></td><td valign="top"><span class="RktVar">rand-gen</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktPn">#:replacement?</span><span class="hspace"> </span><span class="RktVar">replacement?</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">→</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._listof%29%29" class="RktValLink" data-pltdoc="x">listof</a></span><span class="hspace"> </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><span class="RktPn">)</span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">seq</span><span class="hspace"> </span>:<span class="hspace"> </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></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-positive-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-positive-integer?</a></span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">rand-gen</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">:</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._pseudo-random-generator~3f%29%29" class="RktValLink" data-pltdoc="x">pseudo-random-generator?</a></span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">=</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._current-pseudo-random-generator%29%29" class="RktValLink" data-pltdoc="x">current-pseudo-random-generator</a></span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">replacement?</span><span class="hspace"> </span>:<span class="hspace"> </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><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">#t</span></td></tr></table></blockquote></div><div class="SIntrapara">Returns a list of <span class="RktVar">n</span> elements of <span class="RktVar">seq</span>, picked at random, listed
|
|
in any order.
|
|
If <span class="RktVar">replacement?</span> is non-false, elements are drawn with replacement,
|
|
which allows for duplicates.</div></p><p>Like <span class="RktSym"><a href="sequences.html#%28def._%28%28lib._racket%2Fsequence..rkt%29._sequence-length%29%29" class="RktValLink" data-pltdoc="x">sequence-length</a></span>, does not terminate on infinite sequences, and
|
|
evaluates the entire sequence.</p><p class="SHistory">Added in version 6.4 of package <span class="stt">base</span>.</p><h5 x-source-module="(lib "scribblings/reference/reference.scrbl")" x-source-pkg="racket-doc" x-part-tag=""Number--String_Conversions"">4.3.2.9<tt> </tt><a name="(part._.Number--.String_.Conversions)"></a><a name="(idx._(gentag._127._(lib._scribblings/reference/reference..scrbl)))"></a><a name="(idx._(gentag._128._(lib._scribblings/reference/reference..scrbl)))"></a><a name="(idx._(gentag._129._(lib._scribblings/reference/reference..scrbl)))"></a><a name="(idx._(gentag._130._(lib._scribblings/reference/reference..scrbl)))"></a><a name="(idx._(gentag._131._(lib._scribblings/reference/reference..scrbl)))"></a>Number–String Conversions</h5><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._((quote._~23~25kernel)._number-~3estring))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._number-~3estring%29%29" class="RktValDef RktValLink" data-pltdoc="x">number->string</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span><span class="RktOpt">[</span><span class="RktVar">radix</span><span class="RktOpt">]</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">radix</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktVal">8</span><span class="hspace"> </span><span class="RktVal">10</span><span class="hspace"> </span><span class="RktVal">16</span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">10</span></td></tr></table></blockquote></div><div class="SIntrapara">Returns a string that is the printed form of <span class="RktVar">z</span> (see <a href="printing.html#%28part._print-number%29" data-pltdoc="x">Printing Numbers</a>)
|
|
in the base specified by <span class="RktVar">radix</span>. If <span class="RktVar">z</span> is inexact,
|
|
<span class="RktVar">radix</span> must be <span class="RktVal">10</span>, otherwise 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.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._number-~3estring%29%29" class="RktValLink" data-pltdoc="x">number->string</a></span><span class="hspace"> </span><span class="RktVal">3.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"3.0"</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._number-~3estring%29%29" class="RktValLink" data-pltdoc="x">number->string</a></span><span class="hspace"> </span><span class="RktVal">255</span><span class="hspace"> </span><span class="RktVal">8</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"377"</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><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._string-~3enumber))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._string-~3enumber%29%29" class="RktValDef RktValLink" data-pltdoc="x">string->number</a></span></span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">s</span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span><span class="RktOpt">[</span></td><td valign="top"><span class="RktVar">radix</span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">convert-mode</span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">decimal-mode</span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">single-mode</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace"> </span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="hspace"> </span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span><span class="hspace"> </span><span class="RktSym">extflonum?</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">s</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">radix</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktVal">16</span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">10</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">convert-mode</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">:</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><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"> </span><span class="RktVal">'</span><span class="RktVal">number-or-false</span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">read</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">=</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVal">'</span><span class="RktVal">number-or-false</span></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">decimal-mode</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">:</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><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"> </span><span class="RktVal">'</span><span class="RktVal">decimal-as-inexact</span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">decimal-as-exact</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">=</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28quote._~23~25kernel%29._if%29%29" class="RktStxLink" data-pltdoc="x">if</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="Reading.html#%28def._%28%28quote._~23~25kernel%29._read-decimal-as-inexact%29%29" class="RktValLink" data-pltdoc="x">read-decimal-as-inexact</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">decimal-as-inexact</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">decimal-as-exact</span><span class="RktPn">)</span></td></tr></table></td></tr></table></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">single-mode</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">:</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><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"> </span><span class="RktVal">'</span><span class="RktVal">single</span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">double</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">=</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="if.html#%28form._%28%28quote._~23~25kernel%29._if%29%29" class="RktStxLink" data-pltdoc="x">if</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="Reading.html#%28def._%28%28quote._~23~25kernel%29._read-single-flonum%29%29" class="RktValLink" data-pltdoc="x">read-single-flonum</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">single</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">double</span><span class="RktPn">)</span></td></tr></table></td></tr></table></td></tr></table></blockquote></div><div class="SIntrapara">Reads and returns a number datum from <span class="RktVar">s</span> (see
|
|
<a href="reader.html#%28part._parse-number%29" data-pltdoc="x">Reading Numbers</a>). The optional <span class="RktVar">radix</span> argument
|
|
specifies the default base for the number, which can be overridden by
|
|
<span class="RktInBG"><span class="hspace"></span><span class="RktIn">#b</span><span class="hspace"></span></span>, <span class="RktInBG"><span class="hspace"></span><span class="RktIn">#o</span><span class="hspace"></span></span>, <span class="RktInBG"><span class="hspace"></span><span class="RktIn">#d</span><span class="hspace"></span></span>, or <span class="RktInBG"><span class="hspace"></span><span class="RktIn">#x</span><span class="hspace"></span></span> in the
|
|
string.</div></p><p>If <span class="RktVar">convert-mode</span> is <span class="RktVal">'</span><span class="RktVal">number-or-false</span>, the result is
|
|
<span class="RktVal">#f</span> if <span class="RktVar">s</span> does not parse exactly as a number datum
|
|
(with no whitespace). If <span class="RktVar">convert-mode</span> is <span class="RktVal">'</span><span class="RktVal">read</span>, the
|
|
result can be an <a href="extflonums.html#%28tech._extflonum%29" class="techoutside" data-pltdoc="x"><span class="techinside">extflonum</span></a>, and it can be a string that
|
|
contains an error message if <span class="RktSym"><a href="Reading.html#%28def._%28%28quote._~23~25kernel%29._read%29%29" class="RktValLink" data-pltdoc="x">read</a></span> of <span class="RktVar">s</span> would report
|
|
a reader exception (but the result can still be <span class="RktVal">#f</span> if
|
|
<span class="RktSym"><a href="Reading.html#%28def._%28%28quote._~23~25kernel%29._read%29%29" class="RktValLink" data-pltdoc="x">read</a></span> would report a symbol).</p><p>The <span class="RktVar">decimal-mode</span> argument controls number parsing the same
|
|
way that the <span class="RktSym"><a href="Reading.html#%28def._%28%28quote._~23~25kernel%29._read-decimal-as-inexact%29%29" class="RktValLink" data-pltdoc="x">read-decimal-as-inexact</a></span> parameter affects
|
|
<span class="RktSym"><a href="Reading.html#%28def._%28%28quote._~23~25kernel%29._read%29%29" class="RktValLink" data-pltdoc="x">read</a></span>.</p><p>The <span class="RktVar">single-mode</span> argument controls number parsing the same way
|
|
that the <span class="RktSym"><a href="Reading.html#%28def._%28%28quote._~23~25kernel%29._read-single-flonum%29%29" class="RktValLink" data-pltdoc="x">read-single-flonum</a></span> parameter affects <span class="RktSym"><a href="Reading.html#%28def._%28%28quote._~23~25kernel%29._read%29%29" class="RktValLink" data-pltdoc="x">read</a></span>.</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._string-~3enumber%29%29" class="RktValLink" data-pltdoc="x">string->number</a></span><span class="hspace"> </span><span class="RktVal">"3.0+2.5i"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3.0+2.5i</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._string-~3enumber%29%29" class="RktValLink" data-pltdoc="x">string->number</a></span><span class="hspace"> </span><span class="RktVal">"hello"</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">#f</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._string-~3enumber%29%29" class="RktValLink" data-pltdoc="x">string->number</a></span><span class="hspace"> </span><span class="RktVal">"111"</span><span class="hspace"> </span><span class="RktVal">7</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">57</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._string-~3enumber%29%29" class="RktValLink" data-pltdoc="x">string->number</a></span><span class="hspace"> </span><span class="RktVal">"#b111"</span><span class="hspace"> </span><span class="RktVal">7</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">7</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._string-~3enumber%29%29" class="RktValLink" data-pltdoc="x">string->number</a></span><span class="hspace"> </span><span class="RktVal">"#e+inf.0"</span><span class="hspace"> </span><span class="RktVal">10</span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">read</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"no exact representation for +inf.0"</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._string-~3enumber%29%29" class="RktValLink" data-pltdoc="x">string->number</a></span><span class="hspace"> </span><span class="RktVal">"10.3"</span><span class="hspace"> </span><span class="RktVal">10</span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">read</span><span class="hspace"> </span><span class="RktVal">'</span><span class="RktVal">decimal-as-exact</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">103/10</span></p></td></tr></table></blockquote></div></p><p class="SHistory">Changed in version 6.8.0.2 of package <span class="stt">base</span>: Added the <span class="RktVar">convert-mode</span> and
|
|
<span class="RktVar">decimal-mode</span> arguments.<br/>Changed in version 7.3.0.5: Added the <span class="RktVar">single-mode</span> argument.</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/private/base..rkt)._real-~3edecimal-string))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._real-~3edecimal-string%29%29" class="RktValDef RktValLink" data-pltdoc="x">real->decimal-string</a></span></span><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span><span class="RktOpt">[</span><span class="RktVar">decimal-digits</span><span class="RktOpt">]</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="strings.html#%28def._%28%28quote._~23~25kernel%29._string~3f%29%29" class="RktValLink" data-pltdoc="x">string?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">decimal-digits</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span>=<span class="hspace"> </span><span class="RktVal">2</span></td></tr></table></blockquote></div><div class="SIntrapara">Prints <span class="RktVar">n</span> into a string and returns the string. The printed
|
|
form of <span class="RktVar">n</span> shows exactly <span class="RktVar">decimal-digits</span> digits after
|
|
the decimal point. The printed form uses a minus sign if <span class="RktVar">n</span> is
|
|
negative, and it does not use a plus sign if <span class="RktVar">n</span> is positive.</div></p><p>Before printing, <span class="RktVar">n</span> is converted to an exact number,
|
|
multiplied by <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="stt"> </span><span class="RktVal">10</span><span class="stt"> </span><span class="RktVar">decimal-digits</span><span class="RktPn">)</span>, rounded, and then
|
|
divided again by <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="stt"> </span><span class="RktVal">10</span><span class="stt"> </span><span class="RktVar">decimal-digits</span><span class="RktPn">)</span>. The result of this
|
|
process is an exact number whose decimal representation has no more
|
|
than <span class="RktVar">decimal-digits</span> digits after the decimal (and it is
|
|
padded with trailing zeros if necessary).</p><p>If <span class="RktVar">n</span> is a real number with no decimal representation (e.g.
|
|
<span class="RktVal">+nan.0</span>, <span class="RktVal">+inf.0</span>), then 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.
|
|
(Any real number that is convertible to decimal notation is rational,
|
|
so <span class="RktVar">n</span> must be <span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span>, despite the name of the
|
|
function.)</p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._real-~3edecimal-string%29%29" class="RktValLink" data-pltdoc="x">real->decimal-string</a></span><span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"3.14"</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._real-~3edecimal-string%29%29" class="RktValLink" data-pltdoc="x">real->decimal-string</a></span><span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span><span class="hspace"> </span><span class="RktVal">5</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">"3.14159"</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><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._integer-bytes-~3einteger))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-bytes-~3einteger%29%29" class="RktValDef RktValLink" data-pltdoc="x">integer-bytes->integer</a></span></span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">bstr</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">signed?</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span><span class="RktOpt">[</span></td><td valign="top"><span class="RktVar">big-endian?</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">start</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">end</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">→</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><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></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">bstr</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes~3f%29%29" class="RktValLink" data-pltdoc="x">bytes?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">signed?</span><span class="hspace"> </span>:<span class="hspace"> </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><tr><td><span class="hspace"> </span><span class="RktVar">big-endian?</span><span class="hspace"> </span>:<span class="hspace"> </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><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._system-big-endian~3f%29%29" class="RktValLink" data-pltdoc="x">system-big-endian?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">start</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span>=<span class="hspace"> </span><span class="RktVal">0</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">end</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes-length%29%29" class="RktValLink" data-pltdoc="x">bytes-length</a></span><span class="hspace"> </span><span class="RktVar">bstr</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Converts the machine-format number encoded in <span class="RktVar">bstr</span> to an
|
|
exact integer. The <span class="RktVar">start</span> and <span class="RktVar">end</span> arguments specify
|
|
the substring to decode, where <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> must be <span class="RktVal">1</span>,
|
|
<span class="RktVal">2</span>, <span class="RktVal">4</span>, or <span class="RktVal">8</span>. If <span class="RktVar">signed?</span> is true,
|
|
then the bytes are decoded as a two’s-complement number, otherwise it
|
|
is decoded as an unsigned integer. If <span class="RktVar">big-endian?</span> is true,
|
|
then the first byte’s value provides the most significant
|
|
eight bits of the number, otherwise the first byte provides the
|
|
least-significant eight bits, and so on.</div></p><p class="SHistory">Changed in version 6.10.0.1 of package <span class="stt">base</span>: Added support for decoding a 1-byte string.</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><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._integer-~3einteger-bytes))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._integer-~3einteger-bytes%29%29" class="RktValDef RktValLink" data-pltdoc="x">integer->integer-bytes</a></span></span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">n</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">size-n</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">signed?</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span><span class="RktOpt">[</span></td><td valign="top"><span class="RktVar">big-endian?</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">dest-bstr</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">start</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">→</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes~3f%29%29" class="RktValLink" data-pltdoc="x">bytes?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">n</span><span class="hspace"> </span>:<span class="hspace"> </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></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">size-n</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span><span class="RktVal">1</span><span class="hspace"> </span><span class="RktVal">2</span><span class="hspace"> </span><span class="RktVal">4</span><span class="hspace"> </span><span class="RktVal">8</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">signed?</span><span class="hspace"> </span>:<span class="hspace"> </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><tr><td><span class="hspace"> </span><span class="RktVar">big-endian?</span><span class="hspace"> </span>:<span class="hspace"> </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><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._system-big-endian~3f%29%29" class="RktValLink" data-pltdoc="x">system-big-endian?</a></span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">dest-bstr</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">:</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><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"> </span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes~3f%29%29" class="RktValLink" data-pltdoc="x">bytes?</a></span><span class="hspace"> </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"> </span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">=</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._make-bytes%29%29" class="RktValLink" data-pltdoc="x">make-bytes</a></span><span class="hspace"> </span><span class="RktVar">size-n</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">start</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span>=<span class="hspace"> </span><span class="RktVal">0</span></td></tr></table></blockquote></div><div class="SIntrapara">Converts the exact integer <span class="RktVar">n</span> to a machine-format number
|
|
encoded in a byte string of length <span class="RktVar">size-n</span>, which must be <span class="RktVal">1</span>,
|
|
<span class="RktVal">2</span>, <span class="RktVal">4</span>, or <span class="RktVal">8</span>. If <span class="RktVar">signed?</span> is true,
|
|
then the number is encoded as two’s complement, otherwise it is
|
|
encoded as an unsigned bit stream. If <span class="RktVar">big-endian?</span> is true,
|
|
then the most significant eight bits of the number are encoded in the
|
|
first byte of the resulting byte string, otherwise the
|
|
least-significant bits are encoded in the first byte, and so on.</div></p><p>The <span class="RktVar">dest-bstr</span> argument must be a mutable byte string of
|
|
length <span class="RktVar">size-n</span>. The encoding of <span class="RktVar">n</span> is written into
|
|
<span class="RktVar">dest-bstr</span> starting at offset <span class="RktVar">start</span>, and
|
|
<span class="RktVar">dest-bstr</span> is returned as the result.</p><p>If <span class="RktVar">n</span> cannot be encoded in a byte string of the requested size and
|
|
format, 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. If <span class="RktVar">dest-bstr</span> is not
|
|
of length <span class="RktVar">size-n</span>, 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 6.10.0.1 of package <span class="stt">base</span>: Added support for encoding a 1-byte value.</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><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._floating-point-bytes-~3ereal))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._floating-point-bytes-~3ereal%29%29" class="RktValDef RktValLink" data-pltdoc="x">floating-point-bytes->real</a></span></span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">bstr</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span><span class="RktOpt">[</span></td><td valign="top"><span class="RktVar">big-endian?</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">start</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">end</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">→</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><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></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">bstr</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes~3f%29%29" class="RktValLink" data-pltdoc="x">bytes?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">big-endian?</span><span class="hspace"> </span>:<span class="hspace"> </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><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._system-big-endian~3f%29%29" class="RktValLink" data-pltdoc="x">system-big-endian?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">start</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span>=<span class="hspace"> </span><span class="RktVal">0</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">end</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes-length%29%29" class="RktValLink" data-pltdoc="x">bytes-length</a></span><span class="hspace"> </span><span class="RktVar">bstr</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Converts the IEEE floating-point number encoded in <span class="RktVar">bstr</span> from
|
|
position <span class="RktVar">start</span> (inclusive) to <span class="RktVar">end</span> (exclusive) to an
|
|
inexact real number. The difference between <span class="RktVar">start</span> an
|
|
<span class="RktVar">end</span> must be either 4 or 8 bytes. If <span class="RktVar">big-endian?</span> is
|
|
true, then the first byte’s ASCII value provides the most significant
|
|
eight bits of the IEEE representation, otherwise the first byte
|
|
provides the least-significant eight bits, and so on.</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><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((quote._~23~25kernel)._real-~3efloating-point-bytes))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._real-~3efloating-point-bytes%29%29" class="RktValDef RktValLink" data-pltdoc="x">real->floating-point-bytes</a></span></span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">x</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">size-n</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span><span class="RktOpt">[</span></td><td valign="top"><span class="RktVar">big-endian?</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">dest-bstr</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">start</span><span class="RktOpt">]</span><span class="RktPn">)</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">→</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes~3f%29%29" class="RktValLink" data-pltdoc="x">bytes?</a></span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">size-n</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span><span class="RktVal">4</span><span class="hspace"> </span><span class="RktVal">8</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">big-endian?</span><span class="hspace"> </span>:<span class="hspace"> </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><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._system-big-endian~3f%29%29" class="RktValLink" data-pltdoc="x">system-big-endian?</a></span><span class="RktPn">)</span></td></tr><tr><td><table cellspacing="0" cellpadding="0" class="argcontract"><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">dest-bstr</span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">:</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><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"> </span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._bytes~3f%29%29" class="RktValLink" data-pltdoc="x">bytes?</a></span><span class="hspace"> </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"> </span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._immutable~3f%29%29" class="RktValLink" data-pltdoc="x">immutable?</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top">=</td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktPn">(</span><span class="RktSym"><a href="bytestrings.html#%28def._%28%28quote._~23~25kernel%29._make-bytes%29%29" class="RktValLink" data-pltdoc="x">make-bytes</a></span><span class="hspace"> </span><span class="RktVar">size-n</span><span class="RktPn">)</span></td></tr></table></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">start</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span>=<span class="hspace"> </span><span class="RktVal">0</span></td></tr></table></blockquote></div><div class="SIntrapara">Converts the real number <span class="RktVar">x</span> to its IEEE representation in a
|
|
byte string of length <span class="RktVar">size-n</span>, which must be <span class="RktVal">4</span> or
|
|
<span class="RktVal">8</span>. If <span class="RktVar">big-endian?</span> is true, then the most significant
|
|
eight bits of the number are encoded in the first byte of the
|
|
resulting byte string, otherwise the least-significant bits are
|
|
encoded in the first character, and so on.</div></p><p>The <span class="RktVar">dest-bstr</span> argument must be a mutable byte string of
|
|
length <span class="RktVar">size-n</span>. The encoding of <span class="RktSym">n</span> is written into
|
|
<span class="RktVar">dest-bstr</span> starting with byte <span class="RktVar">start</span>, and
|
|
<span class="RktVar">dest-bstr</span> is returned as the result.</p><p>If <span class="RktVar">dest-bstr</span> is provided and it has less than <span class="RktVar">start</span>
|
|
plus <span class="RktVar">size-n</span> bytes, 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><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._((quote._~23~25kernel)._system-big-endian~3f))"></a><span title="Provided from: racket/base, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._system-big-endian~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">system-big-endian?</a></span></span><span class="RktPn"></span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#t</span> if the native encoding of numbers is big-endian
|
|
for the machine running Racket, <span class="RktVal">#f</span> if the native encoding
|
|
is little-endian.</div></p><h5 x-source-module="(lib "scribblings/reference/reference.scrbl")" x-source-pkg="racket-doc" x-part-tag=""Extra_Constants_and_Functions"">4.3.2.10<tt> </tt><a name="(part._.Extra_.Constants_and_.Functions)"></a><a name="(mod-path._racket/math)"></a>Extra Constants and Functions</h5><p><div class="SIntrapara"><table cellspacing="0" cellpadding="0" class="defmodule"><tr><td align="left"><span class="hspace"> </span><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="stt"> </span><a href="generic-numbers.html#%28mod-path._racket%2Fmath%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/math</span></a><span class="RktPn">)</span></td><td align="right"><span class="RpackageSpec"><span class="Smaller"> package:</span> <a href="https://pkgs.racket-lang.org/package/base" title="Install this package using `raco pkg install base`"><span class="stt">base</span></a></span></td></tr></table></div><div class="SIntrapara">The bindings documented in this section are provided by the <a href="generic-numbers.html#%28mod-path._racket%2Fmath%29" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/math</span></a> and <a href="index.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket</span></a> libraries, but not <a href="index.html" class="RktModLink" data-pltdoc="x"><span class="RktSym">racket/base</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>value</p></div></div><p class="RForeground"><a name="(def._((lib._racket/math..rkt)._pi))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValDef RktValLink" data-pltdoc="x">pi</a></span></span><span class="hspace"> </span>:<span class="hspace"> </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></table></blockquote></div><div class="SIntrapara">An approximation of π, the ratio of a circle’s circumference to its
|
|
diameter.
|
|
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span></td></tr><tr><td><p><span class="RktRes">3.141592653589793</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._cos%29%29" class="RktValLink" data-pltdoc="x">cos</a></span><span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-1.0</span></p></td></tr></table></blockquote></div></p></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>value</p></div></div><p class="RForeground"><a name="(def._((lib._racket/math..rkt)._pi..f))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi..f%29%29" class="RktValDef RktValLink" data-pltdoc="x">pi.f</a></span></span><span class="hspace"> </span>:<span class="hspace"> </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"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._single-flonum~3f%29%29" class="RktValLink" data-pltdoc="x">single-flonum?</a></span><span class="hspace"> </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><span class="RktPn">)</span></p></blockquote></td></tr></table></blockquote></div><div class="SIntrapara">The same value as <span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span>, but as a single-precision
|
|
floating-point number if the current platform supports it.</div></p><p class="SHistory">Changed in version 7.3.0.5 of package <span class="stt">base</span>: Allow value to be a double-precision flonum.</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/math..rkt)._degrees-~3eradians))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._degrees-~3eradians%29%29" class="RktValDef RktValLink" data-pltdoc="x">degrees->radians</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Converts an <span class="RktVar">x</span>-degree angle to radians.
|
|
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._degrees-~3eradians%29%29" class="RktValLink" data-pltdoc="x">degrees->radians</a></span><span class="hspace"> </span><span class="RktVal">180</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3.141592653589793</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._sin%29%29" class="RktValLink" data-pltdoc="x">sin</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._degrees-~3eradians%29%29" class="RktValLink" data-pltdoc="x">degrees->radians</a></span><span class="hspace"> </span><span class="RktVal">45</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.7071067811865475</span></p></td></tr></table></blockquote></div></p></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/math..rkt)._radians-~3edegrees))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._radians-~3edegrees%29%29" class="RktValDef RktValLink" data-pltdoc="x">radians->degrees</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Converts <span class="RktVar">x</span> radians to degrees.
|
|
</div><div class="SIntrapara"><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._radians-~3edegrees%29%29" class="RktValLink" data-pltdoc="x">radians->degrees</a></span><span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">180.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._radians-~3edegrees%29%29" class="RktValLink" data-pltdoc="x">radians->degrees</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValLink" data-pltdoc="x">*</a></span><span class="hspace"> </span><span class="RktVal">1/4</span><span class="hspace"> </span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._pi%29%29" class="RktValLink" data-pltdoc="x">pi</a></span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">45.0</span></p></td></tr></table></blockquote></div></p></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/math..rkt)._sqr))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sqr%29%29" class="RktValDef RktValLink" data-pltdoc="x">sqr</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._%2A%29%29" class="RktValLink" data-pltdoc="x">*</a></span><span class="stt"> </span><span class="RktVar">z</span><span class="stt"> </span><span class="RktVar">z</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/math..rkt)._sgn))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sgn%29%29" class="RktValDef RktValLink" data-pltdoc="x">sgn</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._~3d%2Fc%29%29" class="RktValLink" data-pltdoc="x">=/c</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span></span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._~3d%2Fc%29%29" class="RktValLink" data-pltdoc="x">=/c</a></span><span class="hspace"> </span><span class="RktVal">0</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="data-structure-contracts.html#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fmisc..rkt%29._~3d%2Fc%29%29" class="RktValLink" data-pltdoc="x">=/c</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span><span class="hspace"> </span><span class="RktVal">+nan.0</span><span class="hspace"> </span><span class="RktVal">+nan.f</span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the sign of <span class="RktVar">x</span> as either <span style="font-style: italic">-</span>1<span style="font-style: italic"></span>, <span style="font-style: italic"></span>0<span style="font-style: italic"></span> (or a signed-zero variant, when
|
|
inexact), <span style="font-style: italic"></span>1<span style="font-style: italic"></span>, or not-a-number.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sgn%29%29" class="RktValLink" data-pltdoc="x">sgn</a></span><span class="hspace"> </span><span class="RktVal">10</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sgn%29%29" class="RktValLink" data-pltdoc="x">sgn</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-1</span>0.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-1.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sgn%29%29" class="RktValLink" data-pltdoc="x">sgn</a></span><span class="hspace"> </span><span class="RktVal">0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sgn%29%29" class="RktValLink" data-pltdoc="x">sgn</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-0</span>.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-0.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sgn%29%29" class="RktValLink" data-pltdoc="x">sgn</a></span><span class="hspace"> </span><span class="RktVal">0.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">0.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sgn%29%29" class="RktValLink" data-pltdoc="x">sgn</a></span><span class="hspace"> </span><span class="RktVal">+nan.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">+nan.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sgn%29%29" class="RktValLink" data-pltdoc="x">sgn</a></span><span class="hspace"> </span><span class="RktVal">+inf.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1.0</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sgn%29%29" class="RktValLink" data-pltdoc="x">sgn</a></span><span class="hspace"> </span><span class="RktVal"><span class="nobreak">-i</span>nf.0</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-1.0</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/math..rkt)._conjugate))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._conjugate%29%29" class="RktValDef RktValLink" data-pltdoc="x">conjugate</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the complex conjugate of <span class="RktVar">z</span>.</div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._conjugate%29%29" class="RktValLink" data-pltdoc="x">conjugate</a></span><span class="hspace"> </span><span class="RktVal">1</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">1</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._conjugate%29%29" class="RktValLink" data-pltdoc="x">conjugate</a></span><span class="hspace"> </span><span class="RktVal">3+4i</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3-4i</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/math..rkt)._sinh))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._sinh%29%29" class="RktValDef RktValLink" data-pltdoc="x">sinh</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the hyperbolic sine of <span class="RktVar">z</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/math..rkt)._cosh))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._cosh%29%29" class="RktValDef RktValLink" data-pltdoc="x">cosh</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the hyperbolic cosine of <span class="RktVar">z</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/math..rkt)._tanh))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._tanh%29%29" class="RktValDef RktValLink" data-pltdoc="x">tanh</a></span></span><span class="hspace"> </span><span class="RktVar">z</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">z</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._number~3f%29%29" class="RktValLink" data-pltdoc="x">number?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns the hyperbolic tangent of <span class="RktVar">z</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/math..rkt)._exact-round))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._exact-round%29%29" class="RktValDef RktValLink" data-pltdoc="x">exact-round</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Equivalent to <span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._inexact-~3eexact%29%29" class="RktValLink" data-pltdoc="x">inexact->exact</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._round%29%29" class="RktValLink" data-pltdoc="x">round</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</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/math..rkt)._exact-floor))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._exact-floor%29%29" class="RktValDef RktValLink" data-pltdoc="x">exact-floor</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Equivalent to <span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._inexact-~3eexact%29%29" class="RktValLink" data-pltdoc="x">inexact->exact</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._floor%29%29" class="RktValLink" data-pltdoc="x">floor</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</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/math..rkt)._exact-ceiling))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._exact-ceiling%29%29" class="RktValDef RktValLink" data-pltdoc="x">exact-ceiling</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Equivalent to <span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._inexact-~3eexact%29%29" class="RktValLink" data-pltdoc="x">inexact->exact</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._ceiling%29%29" class="RktValLink" data-pltdoc="x">ceiling</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</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/math..rkt)._exact-truncate))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._exact-truncate%29%29" class="RktValDef RktValLink" data-pltdoc="x">exact-truncate</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._rational~3f%29%29" class="RktValLink" data-pltdoc="x">rational?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Equivalent to <span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._inexact-~3eexact%29%29" class="RktValLink" data-pltdoc="x">inexact->exact</a></span><span class="stt"> </span><span class="RktPn">(</span><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><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</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/math..rkt)._order-of-magnitude))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._order-of-magnitude%29%29" class="RktValDef RktValLink" data-pltdoc="x">order-of-magnitude</a></span></span><span class="hspace"> </span><span class="RktVar">r</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact~3f%29%29" class="RktValLink" data-pltdoc="x">exact?</a></span><span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span><span class="RktPn">)</span></p></blockquote></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">r</span><span class="hspace"> </span>:<span class="hspace"> </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"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span><span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._positive~3f%29%29" class="RktValLink" data-pltdoc="x">positive?</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Computes the greatest exact integer <span class="RktSym">m</span> such that:
|
|
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c~3d%29%29" class="RktValLink" data-pltdoc="x"><=</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace"> </span><span class="RktVal">10</span><span class="hspace"> </span><span class="RktSym">m</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._inexact-~3eexact%29%29" class="RktValLink" data-pltdoc="x">inexact->exact</a></span><span class="hspace"> </span><span class="RktVar">r</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">Hence also:
|
|
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._~3c%29%29" class="RktValLink" data-pltdoc="x"><</a></span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._inexact-~3eexact%29%29" class="RktValLink" data-pltdoc="x">inexact->exact</a></span><span class="hspace"> </span><span class="RktVar">r</span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._expt%29%29" class="RktValLink" data-pltdoc="x">expt</a></span><span class="hspace"> </span><span class="RktVal">10</span><span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28quote._~23~25kernel%29._add1%29%29" class="RktValLink" data-pltdoc="x">add1</a></span><span class="hspace"> </span><span class="RktSym">m</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span></td></tr></table></blockquote></div></p><p><div class="SIntrapara">Examples:</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._order-of-magnitude%29%29" class="RktValLink" data-pltdoc="x">order-of-magnitude</a></span><span class="hspace"> </span><span class="RktVal">999</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">2</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._order-of-magnitude%29%29" class="RktValLink" data-pltdoc="x">order-of-magnitude</a></span><span class="hspace"> </span><span class="RktVal">1000</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">3</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._order-of-magnitude%29%29" class="RktValLink" data-pltdoc="x">order-of-magnitude</a></span><span class="hspace"> </span><span class="RktVal">1/100</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-2</span></p></td></tr><tr><td><span class="stt">> </span><span class="RktPn">(</span><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._order-of-magnitude%29%29" class="RktValLink" data-pltdoc="x">order-of-magnitude</a></span><span class="hspace"> </span><span class="RktVal">1/101</span><span class="RktPn">)</span></td></tr><tr><td><p><span class="RktRes">-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/math..rkt)._nan~3f))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._nan~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">nan?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#t</span> if <span class="RktVar">x</span> is <span class="RktSym"><a href="Equality.html#%28def._%28%28quote._~23~25kernel%29._eqv~3f%29%29" class="RktValLink" data-pltdoc="x">eqv?</a></span> to <span class="RktVal">+nan.0</span> or <span class="RktVal">+nan.f</span>; otherwise <span class="RktVal">#f</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/math..rkt)._infinite~3f))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._infinite~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">infinite?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._real~3f%29%29" class="RktValLink" data-pltdoc="x">real?</a></span></td></tr></table></blockquote></div><div class="SIntrapara">Returns <span class="RktVal">#t</span> if <span class="RktVar">x</span> is <span class="RktVal">+inf.0</span>, <span class="RktVal"><span class="nobreak">-i</span>nf.0</span>, <span class="RktVal">+inf.f</span>, <span class="RktVal">-inf.f</span>; otherwise <span class="RktVal">#f</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/math..rkt)._positive-integer~3f))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._positive-integer~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">positive-integer?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </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">Like <span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._exact-positive-integer~3f%29%29" class="RktValLink" data-pltdoc="x">exact-positive-integer?</a></span>, but also returns
|
|
<span class="RktVal">#t</span> for positive <span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._inexact~3f%29%29" class="RktValLink" data-pltdoc="x">inexact?</a></span> integers.
|
|
</div><div class="SIntrapara"><p class="SHistory">Added in version 6.8.0.2 of package <span class="stt">base</span>.</p></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/math..rkt)._negative-integer~3f))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._negative-integer~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">negative-integer?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </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">The same as <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="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</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="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span>.
|
|
</div><div class="SIntrapara"><p class="SHistory">Added in version 6.8.0.2 of package <span class="stt">base</span>.</p></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/math..rkt)._nonpositive-integer~3f))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._nonpositive-integer~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">nonpositive-integer?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </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">The same as <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="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._integer~3f%29%29" class="RktValLink" data-pltdoc="x">integer?</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="booleans.html#%28def._%28%28quote._~23~25kernel%29._not%29%29" class="RktValLink" data-pltdoc="x">not</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._positive~3f%29%29" class="RktValLink" data-pltdoc="x">positive?</a></span><span class="stt"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktPn">)</span>.
|
|
</div><div class="SIntrapara"><p class="SHistory">Added in version 6.8.0.2 of package <span class="stt">base</span>.</p></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/math..rkt)._nonnegative-integer~3f))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._nonnegative-integer~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">nonnegative-integer?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </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">Like <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>, but also returns
|
|
<span class="RktVal">#t</span> for non-negative <span class="RktSym"><a href="number-types.html#%28def._%28%28quote._~23~25kernel%29._inexact~3f%29%29" class="RktValLink" data-pltdoc="x">inexact?</a></span> integers.
|
|
</div><div class="SIntrapara"><p class="SHistory">Added in version 6.8.0.2 of package <span class="stt">base</span>.</p></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/math..rkt)._natural~3f))"></a><span title="Provided from: racket/math, racket | Package: base"><span class="RktSym"><a href="generic-numbers.html#%28def._%28%28lib._racket%2Fmath..rkt%29._natural~3f%29%29" class="RktValDef RktValLink" data-pltdoc="x">natural?</a></span></span><span class="hspace"> </span><span class="RktVar">x</span><span class="RktPn">)</span><span class="hspace"> </span>→<span class="hspace"> </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"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </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">An alias for <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>.
|
|
</div><div class="SIntrapara"><p class="SHistory">Added in version 6.8.0.2 of package <span class="stt">base</span>.</p></div></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, "8.6", "../");"/></form> <a href="https://docs.racket-lang.org/index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("8.6");">top</a><span class="tocsettoggle"> <a href="javascript:void(0);" title="show/hide table of contents" onclick="TocsetToggle();">contents</a></span></span><span class="navright"> <a href="number-types.html" title="backward to "4.3.1 Number Types"" data-pltdoc="x">← prev</a> <a href="numbers.html" title="up to "4.3 Numbers"" data-pltdoc="x">up</a> <a href="flonums.html" title="forward to "4.3.3 Flonums"" data-pltdoc="x">next →</a></span> </div></div></div><div id="contextindicator"> </div></body></html> |