<?xml-stylesheet type="text/xsl" href="../styles/pmathml.xsl"?>
<!-- saved from url=(0014)about:internet -->
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:dsi="http://www.w3.org/1999/xlink" xmlns:m="http://www.w3.org/1998/Math/MathML" xml:space="preserve"><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><title>X02 Chapter Introduction : NAG Library, Mark 22</title><link rel="stylesheet" href="../styles/libdoc.css" type="text/css"/><script type="text/javascript">
   function showLevel(_levelId){
    var thisLevel = document.getElementById(_levelId);
    var thisplus = document.getElementById( _levelId.concat('plus'));
    var thisminus = document.getElementById( _levelId.concat('minus'));
    if(thisLevel.style.display != "block"){
     thisLevel.style.display = "block";
     thisplus.style.display = "none";
     thisminus.style.display = "inline";
     }
    else{
     thisLevel.style.display = "none";
     thisminus.style.display = "none";
     thisplus.style.display = "inline";
     }
    }
  </script></head><body><hr/><div><a class="chap" href="x02conts.xml">X02 Chapter Contents</a></div><div><a class="chapint" href="../../pdf/X02/x02intro.pdf">X02 Chapter Introduction (PDF version)</a></div>
<div><a class="htmltoc" href="../FRONTMATTER/manconts.xml">NAG Library Manual</a></div><hr/><h1 class="libdoc">NAG Library Chapter Introduction<br/><br/>X02 &#8211; Machine Constants</h1><div class="htmltoc">
<h2 class="htmltoc"><span class="htmltochead" onclick="showLevel('htmltoc');"><span class="htmltocplus" id="htmltocplus">+</span><span class="htmltocminus" id="htmltocminus">&#8722;</span></span>&#160;Contents</h2>
<div class="htmltocitem" id="htmltoc">
<div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#scope">1&#160;&#160;<b>Scope of the Chapter</b></a>
</div><div class="htmltoc">
<span class="htmltoc" onclick="showLevel('tocbackground');"><span class="htmltocplus" id="tocbackgroundplus">+</span><span class="htmltocminus" id="tocbackgroundminus">&#8722;</span></span>
<a class="htmltoc" href="#background">2&#160;&#160;<b>Background to the Problems</b></a>
<div class="htmltocitem" id="tocbackground">
<div class="htmltoc">
<span class="htmltoc" onclick="showLevel('tocintbackground1');"><span class="htmltocplus" id="tocintbackground1plus">+</span><span class="htmltocminus" id="tocintbackground1minus">&#8722;</span></span>
<a class="htmltoc" href="#intbackground1">2.1&#160;&#160;<b>Floating-point Arithmetic</b></a>
<div class="htmltocitem" id="tocintbackground1">
<div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#intbackground11">2.1.1&#160;&#160;<b>A model of floating-point arithmetic</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#intbackground12">2.1.2&#160;&#160;<b>Derived parameters of floating-point arithmetic</b></a>
</div>
</div>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#intbackground2">2.2&#160;&#160;<b>Other Aspects of the Computing Environment</b></a>
</div>
</div>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#available">3&#160;&#160;<b>Recommendations on Choice and Use of Available Routines</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#withdrawn">4&#160;&#160;<b>Routines Withdrawn or Scheduled for Withdrawal</b></a>
</div><div class="htmltoc">
<span class="htmltocplus">&#160;&#160;&#160;</span>
<a class="htmltoc" href="#references">5&#160;&#160;<b>References</b></a>
</div>
</div>
</div><h2 class="standard"><a class="sec" name="scope" id="scope"/>1&#160;&#160;Scope of the Chapter</h2>
<div class="paramtext">This chapter is concerned with <b>parameters</b> which characterise certain aspects of the <b>computing environment</b> in which the NAG Library is implemented.  They relate primarily to floating-point arithmetic, but also to integer arithmetic, the elementary functions and exception handling.  The values of the parameters vary from one implementation of the Library to another, but within the context of a single implementation they are constants.</div><div class="paramtext">The parameters are intended for use primarily by other routines in the Library, but users of the Library may sometimes need to refer to them directly.</div><h2 class="standard"><a class="sec" name="background" id="background"/>2&#160;&#160;Background to the Problems</h2><h3 class="standard"><a class="sec" name="intbackground1" id="intbackground1"/>2.1&#160;&#160;Floating-point Arithmetic</h3><h4 class="standard"><a class="sec" name="intbackground11" id="intbackground11"/>2.1.1&#160;&#160;A model of floating-point arithmetic</h4>
<div class="paramtext">In order to characterise the important properties of floating-point arithmetic by means of a small number of parameters, NAG uses a simplified  <b>model</b> of floating-point arithmetic.  The parameters of the model can be chosen to provide a sufficiently close description of the behaviour of actual implementations of floating-point arithmetic, but not, in general, an exact description; actual implementations vary too much in the details of how numbers are represented or arithmetic operations are performed.</div><div class="paramtext">The model is based on that developed by <a class="ref" href="#ref250">Brown (1981)</a>,  but differs in some respects.  The essential features are summarized here.</div><div class="paramtext">The model is characterised by four integer parameters.  The four integer parameters are:
<table class="standard-100"><tr>
<td style="width:NaNem;" valign="baseline"><m:math><m:mi>b</m:mi></m:math>:</td>
<td valign="top">the base</td>
</tr><tr>
<td style="width:NaNem;" valign="baseline"><m:math><m:mi>p</m:mi></m:math>:</td>
<td valign="top">the precision (i.e., the number of significant base-<m:math><m:mi>b</m:mi></m:math>&#160;digits)</td>
</tr><tr>
<td style="width:NaNem;" valign="baseline"><m:math><m:msub><m:mi>e</m:mi><m:mi mathvariant="normal">min</m:mi></m:msub></m:math>:</td>
<td valign="top">the minimum exponent</td>
</tr><tr>
<td style="width:NaNem;" valign="baseline"><m:math><m:msub><m:mi>e</m:mi><m:mi mathvariant="normal">max</m:mi></m:msub></m:math>:</td>
<td valign="top">the maximum exponent</td>
</tr></table>
</div><div class="paramtext">These parameters define a set of numerical values of the form:

<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
<m:mi>f</m:mi><m:mo>&#215;</m:mo><m:msup><m:mi>b</m:mi><m:mi>e</m:mi></m:msup>
</m:math></td><td class="formula2"/></tr></table></div>

where the exponent <m:math><m:mi>e</m:mi></m:math>&#160;must lie in the range  [<m:math><m:msub><m:mi>e</m:mi><m:mi mathvariant="normal">min</m:mi></m:msub><m:mo>,</m:mo><m:msub><m:mi>e</m:mi><m:mi mathvariant="normal">max</m:mi></m:msub></m:math>], and the fraction <m:math><m:mi>f</m:mi></m:math>&#160;(also called the mantissa or significand) lies in the range 
<m:math>
 <m:mfenced separators="" open="[" close=")"><m:mrow>
   <m:mn>1</m:mn>
   <m:mo>/</m:mo>
   <m:mi>b</m:mi>
  </m:mrow><m:mo>,</m:mo><m:mn>1</m:mn></m:mfenced>
</m:math>, and may be written

<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
<m:mi>f</m:mi><m:mo>=</m:mo><m:mn>0</m:mn><m:mo>.</m:mo>  <m:msub><m:mi>f</m:mi><m:mn>1</m:mn></m:msub><m:msub><m:mi>f</m:mi><m:mn>2</m:mn></m:msub><m:mo>&#8943;</m:mo><m:msub><m:mi>f</m:mi><m:mi>p</m:mi></m:msub>
</m:math></td><td class="formula2"/></tr></table></div>

Thus <m:math><m:mi>f</m:mi></m:math>&#160;is a <m:math><m:mi>p</m:mi></m:math>-digit fraction to the base  <m:math><m:mi>b</m:mi></m:math>; the <m:math><m:msub><m:mi>f</m:mi><m:mi>i</m:mi></m:msub></m:math>&#160;are the base-<m:math><m:mi>b</m:mi></m:math>&#160;digits of the fraction: they are integers in the range <m:math><m:mn>0</m:mn></m:math>&#160;to <m:math><m:mi>b</m:mi><m:mo>-</m:mo><m:mn>1</m:mn></m:math>,  and the leading digit <m:math><m:msub><m:mi>f</m:mi><m:mn>1</m:mn></m:msub></m:math>&#160;must not be zero.</div><div class="paramtext">The set of values so defined (together with zero) are called <b>model numbers.</b> For example, if <m:math><m:mi>b</m:mi><m:mo>=</m:mo><m:mn>10</m:mn></m:math>, <m:math><m:mi>p</m:mi><m:mo>=</m:mo><m:mn>5</m:mn></m:math>,  <m:math><m:msub><m:mi>e</m:mi><m:mi mathvariant="normal">min</m:mi></m:msub><m:mo>=</m:mo><m:mrow><m:mo>-</m:mo><m:mn>99</m:mn></m:mrow></m:math>&#160;and <m:math><m:msub><m:mi>e</m:mi><m:mi mathvariant="normal">max</m:mi></m:msub><m:mo>=</m:mo><m:mo>+</m:mo><m:mn>99</m:mn></m:math>, then a typical model number is <m:math><m:mn>0.12345</m:mn><m:mo>&#215;</m:mo><m:msup><m:mn>10</m:mn><m:mn>67</m:mn></m:msup></m:math>.</div><div class="paramtext">The model numbers must obey certain rules for the computed results of the following basic arithmetic operations: addition, subtraction, multiplication, negation, absolute value, and comparisons: the computed result must be the nearest model number to the exact result (assuming that overflow or underflow does not occur); if the exact result is midway between two model numbers,  then it may be rounded either way.</div><div class="paramtext">For division and square root, this latter rule is relaxed: the computed result may also be one of the next adjacent model numbers on either side of the permitted values just stated.</div><div class="paramtext">On many machines, the full set of representable floating-point numbers conforms to the rules of the model with appropriate values of <m:math><m:mi>b</m:mi></m:math>,  <m:math><m:mi>p</m:mi></m:math>, <m:math><m:msub><m:mi>e</m:mi><m:mi mathvariant="normal">min</m:mi></m:msub></m:math>&#160;and <m:math><m:msub><m:mi>e</m:mi><m:mi mathvariant="normal">max</m:mi></m:msub></m:math>.  For machines supporting IEEE binary double precision arithmetic:

<div class="formula"><table class="formula"><tr><td class="formula"><m:math display="block">
<m:mtable columnalign="left center right left">
 <m:mtr>
  <m:mtd><m:mi>b</m:mi></m:mtd>
  <m:mtd><m:mo>=</m:mo></m:mtd>
  <m:mtd><m:mn>2</m:mn></m:mtd>
  <m:mtd/></m:mtr><m:mtr>
  <m:mtd><m:mi>p</m:mi></m:mtd>
  <m:mtd><m:mo>=</m:mo></m:mtd>
  <m:mtd><m:mn>53</m:mn></m:mtd>
  <m:mtd/></m:mtr><m:mtr>
  <m:mtd><m:msub><m:mi>e</m:mi><m:mi mathvariant="normal">min</m:mi></m:msub></m:mtd>
  <m:mtd><m:mo>=</m:mo></m:mtd>
  <m:mtd><m:mrow><m:mo>-</m:mo><m:mn>1021</m:mn></m:mrow></m:mtd>
  <m:mtd/></m:mtr><m:mtr>
  <m:mtd><m:msub><m:mi>e</m:mi><m:mi mathvariant="normal">max</m:mi></m:msub></m:mtd>
  <m:mtd><m:mo>=</m:mo></m:mtd>
  <m:mtd><m:mn>1024</m:mn><m:mtext>.</m:mtext></m:mtd>
 </m:mtr>
</m:mtable>
</m:math></td><td class="formula2"/></tr></table></div>

(<b>Note:</b>&#160; the model used here differs from that described in <a class="ref" href="#ref250">Brown (1981)</a> in the following respect: square-root is treated,  like division, as a weakly supported operator.)</div><h4 class="standard"><a class="sec" name="intbackground12" id="intbackground12"/>2.1.2&#160;&#160;Derived parameters of floating-point arithmetic</h4>
<div class="paramtext">Most numerical algorithms require access, not to the basic parameters of the model, but to certain derived values, of which the most important are:
<div class="left-tablediv"><table class="frame-none">
   
   
   
   <tbody>
     <tr>
       <td class="libdoc" valign="top" style="width:1.5em;">&#160;</td>
       <td class="libdoc" valign="top">the machine precision <m:math><m:mi>&#949;</m:mi></m:math>:</td>
       <td class="libdoc" valign="top"><m:math><m:mtext/><m:mo>=</m:mo><m:mfenced separators=""><m:mfrac other="small"><m:mn>1</m:mn><m:mn>2</m:mn></m:mfrac></m:mfenced>
<m:mo>&#215;</m:mo><m:msup><m:mi>b</m:mi><m:mrow><m:mn>1</m:mn><m:mo>-</m:mo><m:mi>p</m:mi></m:mrow></m:msup></m:math></td>
     </tr>
     <tr>
       <td class="libdoc" valign="top" style="width:1.5em;">&#160;</td>
       <td class="libdoc" valign="top">the smallest positive model number:</td>
       <td class="libdoc" valign="top"><m:math><m:mtext/><m:mo>=</m:mo><m:msup><m:mi>b</m:mi><m:mrow><m:msub><m:mi>e</m:mi><m:mi mathvariant="normal">min</m:mi></m:msub><m:mo>-</m:mo><m:mn>1</m:mn></m:mrow></m:msup></m:math></td>
     </tr>
     <tr>
       <td class="libdoc" valign="top" style="width:1.5em;">&#160;</td>
       <td class="libdoc" valign="top">the largest positive model number:</td>
       <td class="libdoc" valign="top"><m:math><m:mtext/><m:mo>=</m:mo><m:mfenced separators=""><m:mn>1</m:mn><m:mo>-</m:mo><m:msup><m:mi>b</m:mi><m:mrow><m:mo>-</m:mo><m:mi>p</m:mi></m:mrow></m:msup></m:mfenced><m:mo>&#215;</m:mo><m:msup><m:mi>b</m:mi><m:msub><m:mi>e</m:mi><m:mi mathvariant="normal">max</m:mi></m:msub></m:msup></m:math></td>
     </tr>
   </tbody>
 </table></div>
</div><div class="paramtext">It is important to note that the machine precision defined here differs from that defined by <a class="ref" href="#ref643">ISO (1997)</a>.
</div><div class="paramtext">Two additional derived values are used in the NAG Library.  Their definitions depend not only on the properties of the basic arithmetic operations just considered, but also on properties of some of the elementary functions.  We define the <b>safe range</b> parameter to be the smallest positive model number <m:math><m:mi>z</m:mi></m:math>&#160;such that for any <m:math><m:mi>x</m:mi></m:math>&#160;in the range <m:math><m:mfenced separators="" open="[" close="]"><m:mi>z</m:mi><m:mo>,</m:mo><m:mrow><m:mn>1</m:mn><m:mo>/</m:mo><m:mi>z</m:mi></m:mrow></m:mfenced></m:math>&#160;the following can be computed without undue loss of accuracy, overflow, underflow or other error:
<ul class="listind"><li class="listind"><m:math><m:mrow><m:mo>-</m:mo><m:mi>x</m:mi></m:mrow></m:math></li><li class="listind"><m:math><m:mn>1</m:mn><m:mo>/</m:mo><m:mi>x</m:mi></m:math></li><li class="listind"><m:math><m:mrow><m:mo>-</m:mo><m:mn>1</m:mn></m:mrow><m:mo>/</m:mo><m:mi>x</m:mi></m:math></li><li class="listind"><m:math><m:msqrt><m:mi>x</m:mi></m:msqrt></m:math></li><li class="listind"><m:math><m:mrow><m:mi>log</m:mi><m:mfenced separators=""><m:mi>x</m:mi></m:mfenced></m:mrow></m:math></li><li class="listind"><m:math><m:mrow><m:mi>exp</m:mi><m:mfenced separators=""><m:mrow><m:mi>log</m:mi><m:mfenced separators=""><m:mi>x</m:mi></m:mfenced></m:mrow></m:mfenced></m:mrow></m:math></li><li class="listind">
  <m:math>
   <m:msup>
    <m:mi>y</m:mi>
    <m:mfenced separators="">
     <m:mrow><m:mi>log</m:mi><m:mfenced separators=""><m:mi>x</m:mi></m:mfenced></m:mrow>
     <m:mo>/</m:mo>
     <m:mrow><m:mi>log</m:mi><m:mfenced separators=""><m:mi>y</m:mi></m:mfenced></m:mrow>
    </m:mfenced>
   </m:msup>
  </m:math>&#160;for any <m:math><m:mi>y</m:mi></m:math>&#160;</li></ul>
</div><div class="paramtext">In a similar fashion we define the safe range parameter for complex arithmetic as the smallest positive model number <m:math><m:mi>z</m:mi></m:math>&#160;such that for any <m:math><m:mi>x</m:mi></m:math>&#160;in the range [<m:math><m:mi>z</m:mi><m:mo>,</m:mo><m:mn>1</m:mn><m:mo>/</m:mo><m:mi>z</m:mi></m:math>] the following can be computed without any undue loss of accuracy, overflow,  underflow or other error:
<ul class="listind"><li class="listind"><m:math><m:mrow><m:mo>-</m:mo><m:mi>w</m:mi></m:mrow></m:math></li><li class="listind"><m:math><m:mn>1</m:mn><m:mo>/</m:mo><m:mi>w</m:mi></m:math></li><li class="listind"><m:math><m:mrow><m:mo>-</m:mo><m:mn>1</m:mn></m:mrow><m:mo>/</m:mo><m:mi>w</m:mi></m:math></li><li class="listind"><m:math><m:msqrt><m:mi>w</m:mi></m:msqrt></m:math></li><li class="listind"><m:math><m:mrow><m:mi>log</m:mi><m:mfenced separators=""><m:mi>w</m:mi></m:mfenced></m:mrow></m:math></li><li class="listind"><m:math><m:mrow><m:mi>exp</m:mi><m:mfenced separators=""><m:mrow><m:mi>log</m:mi><m:mfenced separators=""><m:mi>w</m:mi></m:mfenced></m:mrow></m:mfenced></m:mrow></m:math></li><li class="listind">
  <m:math>
   <m:msup>
    <m:mi>y</m:mi>
    <m:mfenced separators="">
     <m:mrow><m:mi>log</m:mi><m:mfenced separators=""><m:mi>w</m:mi></m:mfenced></m:mrow>
     <m:mo>/</m:mo>
     <m:mrow><m:mi>log</m:mi><m:mfenced separators=""><m:mi>y</m:mi></m:mfenced></m:mrow>
    </m:mfenced>
   </m:msup>
  </m:math>&#160;for any <m:math><m:mi>y</m:mi></m:math>&#160;</li><li class="listind"><m:math><m:mfenced open="|" close="|" separators=""><m:mi>w</m:mi></m:mfenced></m:math></li></ul>
where <m:math><m:mi>w</m:mi></m:math>&#160;is any of <m:math><m:mi>x</m:mi></m:math>, <m:math><m:mi>i</m:mi><m:mi>x</m:mi></m:math>,  <m:math><m:mi>x</m:mi><m:mo>+</m:mo><m:mi>i</m:mi><m:mi>x</m:mi></m:math>, <m:math><m:mn>1</m:mn><m:mo>/</m:mo><m:mi>x</m:mi></m:math>, <m:math><m:mi>i</m:mi><m:mo>/</m:mo><m:mi>x</m:mi></m:math>,  <m:math><m:mn>1</m:mn><m:mo>/</m:mo><m:mi>x</m:mi><m:mo>+</m:mo><m:mi>i</m:mi><m:mo>/</m:mo><m:mi>x</m:mi></m:math>, and <m:math><m:mi>i</m:mi></m:math>&#160;is the square root of <m:math><m:mrow><m:mo>-</m:mo><m:mn>1</m:mn></m:mrow></m:math>.</div><div class="paramtext">This parameter was introduced to take account of the quality of complex arithmetic on the machine.  On machines with well implemented complex arithmetic, its value will differ from that of the real safe range parameter by a small multiplying factor less than <m:math><m:mn>10</m:mn></m:math>.  For poorly implemented complex arithmetic this factor may be larger by many orders of magnitude.</div><h3 class="standard"><a class="sec" name="intbackground2" id="intbackground2"/>2.2&#160;&#160;Other Aspects of the Computing Environment</h3>
<div class="paramtext">No attempt has been made to characterise comprehensively any other aspects of the computing environment.  The other functions in this chapter provide specific information that is occasionally required by routines in the Library.</div><h2 class="standard"><a class="sec" name="available" id="available"/>3&#160;&#160;Recommendations on Choice and Use of Available Routines</h2>
<div>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>Derived&#160;parameters&#160;of&#160;model&#160;of&#160;floating-point&#160;arithmetic:</nobr></td><td>&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr/></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;largest&#160;positive&#160;model&#160;number</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../X02/x02alf.xml">X02ALF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;machine&#160;precision</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../X02/x02ajf.xml">X02AJF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;safe&#160;range</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../X02/x02amf.xml">X02AMF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;safe&#160;range&#160;of&#160;complex&#160;floating&#160;point&#160;arithmetic</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../X02/x02anf.xml">X02ANF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;smallest&#160;positive&#160;model&#160;number</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../X02/x02akf.xml">X02AKF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>Largest&#160;permissible&#160;argument&#160;for&#160;SIN&#160;and&#160;COS</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../X02/x02ahf.xml">X02AHF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>Largest&#160;representable&#160;integer</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../X02/x02bbf.xml">X02BBF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>Maximum&#160;number&#160;of&#160;decimal&#160;digits&#160;that&#160;can&#160;be&#160;represented</nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../X02/x02bef.xml">X02BEF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>Parameters&#160;of&#160;model&#160;of&#160;floating-point&#160;arithmetic:</nobr></td><td>&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr/></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;<span><i>b</i></span></nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../X02/x02bhf.xml">X02BHF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;<span><span><span><i>e</i></span><sub><span>max</span></sub></span></span></nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../X02/x02blf.xml">X02BLF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;<span><span><span><i>e</i></span><sub><span>min</span></sub></span></span></nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../X02/x02bkf.xml">X02BKF</a></nobr></td></tr></table>
<table style="width:95%"><tr><td style="width:1pt; white-space: no-wrap;"><nobr>&#160;&#160;&#160;&#160;<span><i>p</i></span></nobr></td><td style="border-bottom: 0.1em dotted black;">&#160;</td><td style="width: 1pt; white-space: no-wrap;"><nobr><a class="rout" href="../X02/x02bjf.xml">X02BJF</a></nobr></td></tr></table></div><h2 class="standard"><a class="sec" name="withdrawn" id="withdrawn"/>4&#160;&#160;Routines Withdrawn or Scheduled for Withdrawal</h2>
<div class="paramtext">None.</div><h2 class="standard"><a class="sec" name="references" id="references"/>5&#160;&#160;References</h2><div class="paramtext"><a name="ref250" id="ref250"/>Brown W S (1981)  A simple but realistic model of floating-point computation <i>ACM Trans. Math. Software</i> <b>7</b> 445&#8211;480 </div>
<div class="paramtext"><a name="ref643" id="ref643"/>ISO  (1997)  ISO Fortran 95 programming language (ISO/IEC 1539&#8211;1:1997) </div><hr/><div><a class="chap" href="x02conts.xml">X02 Chapter Contents</a></div><div><a class="chapint" href="../../pdf/X02/x02intro.pdf">X02 Chapter Introduction (PDF version)</a></div>
<div><a class="htmltoc" href="../FRONTMATTER/manconts.xml">NAG Library Manual</a></div>
<div><hr/><a class="genint" href="../FRONTMATTER/copyright.xml">&#169; The Numerical Algorithms Group Ltd, Oxford, UK. 2009</a></div></body></html>
