System Variable FPC: Difference between revisions

From NARS2000
Jump to navigationJump to search
No edit summary
No edit summary
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<h1>{quad}FPC - Floating Point Control</h1>
<h1><aplxx>⎕FPC</aplxx> - Floating Point Control</h1>
{{BoxStart|<apll>Z←⎕FPC</apll>
{{BoxStart|<apll>Z←⎕FPC</apll>
|returns the current value of the Floating Point Control precision.}}
|returns the current value of the Floating Point Control precision.}}
{{BoxEnd|<apll>Z</apll> is an integer scalar that represents the current value of the number of bits of precision used for [[Rational and VFP Numbers|VFP numbers]].}}
{{BoxEnd|<apll>Z</apll> is an integer scalar that represents the current value of the number of bits of precision used for [[Rational and VFP Numbers|Multiple-Precision Floating Point numbers]].}}
<br />
<br />


Line 15: Line 15:
<br />
<br />


<p>The minimum value for <apll>⎕FPC</apll> is <apll>53</apll>; the maximum value is the largest positive 32-bit integer <apll>2147483647</apll>.</p>
<p>
The approximate number of digits of precision for a given value of <apll>⎕FPC</apll> is about <apll>10⍟2*⎕FPC</apll>. The value of <apll>⎕FPC</apll> for a given required precision is about <apll>⌈2⍟10*digits</apll>.
</p>
 
<p>The minimum value for <apll>⎕FPC</apll> is <apll>1</apll>; the maximum value is the integer <apll>1073741695 ←→ ¯129+2*30 ←→ 16<_b/>3FFFFF7F</apll>.</p>


<p>The system default value is <apll>128</apll>.</p>
<p>The system default value is <apll>128</apll>.</p>




<p>For example, (note: these numbers are normally one long string of digits; they are broken here, with the break shown by '''{continued)''' for your convenience in reading)</p>
<p>For example:</p>


<apll>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;⎕PP←200<br />
<apll><pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;⎕FPC←64 &nbsp;⋄ *1x<br />
&ensp;&ensp;     ⎕PP←240
2.71828182845904523543<br />
&ensp;&ensp;     ⎕FPC←64  ⋄ *1<_x/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;⎕FPC←128 ⋄ *1x<br />
&ensp;&ensp;2.7182818284590452354
2.718281828459045235360287471352662497759<br />
&ensp;&ensp;     ⎕FPC←128  ⋄ *1<_x/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;⎕FPC←256 ⋄ *1x<br />
&ensp;&ensp;2.71828182845904523536028747135266249776
2.71828182845904523536028747135266249775724709369995957 (Continued)<br/>4966967627724076630353555<br />
&ensp;&ensp;     ⎕FPC←256  ⋄ *1<_x/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;⎕FPC←512 ⋄ *1x<br />
&ensp;&ensp;2.71828182845904523536028747135266249775724709369995957496696762
2.71828182845904523536028747135266249775724709369995957 (Continued)<br/>
<_lc/>     772407663035355
49669676277240766303535475945713821785251664274274663919 (Continued)<br/>
&ensp;&ensp;     ⎕FPC←512  ⋄ *1<_x/>
3200305992181741359662904357290033429526059559</apll>
&ensp;&ensp;2.71828182845904523536028747135266249775724709369995957496696762
<_lc/>     7724076630353547594571382178525166427427466391932003059921
<_lc/>     8174135966290435729003342952605956
&ensp;&ensp;     ⎕FPC←1024 ⋄ *1<_x/>
&ensp;&ensp;2.71828182845904523536028747135266249775724709369995957496696762
<_lc/>     7724076630353547594571382178525166427427466391932003059921
<_lc/>     8174135966290435729003342952605956307381323286279434907632
<_lc/>     3382988075319525101901157383418793070215408914993488416750
<_lc/>      924</pre></apll>


<p>Whereas, according to Wolfram Alpha, the exact value to 230 digits is</p>
<p>Whereas, according to Wolfram Alpha, the exact value to 230 digits is</p>


<apll>2.71828182845904523536028747135266249775724709369995957496 (Continued)<br/>
<apll><pre>&ensp;&ensp;2.71828182845904523536028747135266249775724709369995957496696762
6967627724076630353547594571382178525166427427466391932003059921 (Continued)<br/>
<_lc/>     7724076630353547594571382178525166427427466391932003059921
8174135966290435729003342952605956307381323286279434907632338298 (Continued)<br/>
<_lc/>     8174135966290435729003342952605956307381323286279434907632
8075319525101901157383418793070215408914993488...</apll><br />
<_lc/>     3382988075319525101901157383418793070215408914993488...</pre></apll>
 
'''See Also: [[System_Variable_CT|Comparison Tolerance ⎕CT]]'''




{{System Variables}}
{{System Variables}}
{{Article footer|0|NO}}
[[Category:System functions|FPC]] [[Category:Math functions|FPC]]

Latest revision as of 18:03, 13 October 2019

⎕FPC - Floating Point Control

Z←⎕FPC returns the current value of the Floating Point Control precision.
Z is an integer scalar that represents the current value of the number of bits of precision used for Multiple-Precision Floating Point numbers.


⎕FPC←R sets the value of the Floating Point Control precision to R.
⎕FPC←⍬ sets the value of the Floating Point Control precision to its system default state.


The approximate number of digits of precision for a given value of ⎕FPC is about 10⍟2*⎕FPC. The value of ⎕FPC for a given required precision is about ⌈2⍟10*digits.

The minimum value for ⎕FPC is 1; the maximum value is the integer 1073741695 ←→ ¯129+2*30 ←→ 16b3FFFFF7F.

The system default value is 128.


For example:

        ⎕PP←240 
        ⎕FPC←64   ⋄ *1x
  2.7182818284590452354 
        ⎕FPC←128  ⋄ *1x
  2.71828182845904523536028747135266249776 
        ⎕FPC←256  ⋄ *1x
  2.71828182845904523536028747135266249775724709369995957496696762 
      772407663035355
        ⎕FPC←512  ⋄ *1x
  2.71828182845904523536028747135266249775724709369995957496696762
      7724076630353547594571382178525166427427466391932003059921
      8174135966290435729003342952605956 
        ⎕FPC←1024 ⋄ *1x
  2.71828182845904523536028747135266249775724709369995957496696762
      7724076630353547594571382178525166427427466391932003059921
      8174135966290435729003342952605956307381323286279434907632
      3382988075319525101901157383418793070215408914993488416750
      924

Whereas, according to Wolfram Alpha, the exact value to 230 digits is

  2.71828182845904523536028747135266249775724709369995957496696762
      7724076630353547594571382178525166427427466391932003059921
      8174135966290435729003342952605956307381323286279434907632
      3382988075319525101901157383418793070215408914993488...

See Also: Comparison Tolerance ⎕CT


System Variables (A value may be assigned to these except for ⎕DM)
ALX CT DM DT ELX FC FEATURE FPC IC IO
LR LX PP PR PW RL SA WSID
Niladic System Functions (a value cannot be assigned to these)
A AV EM ET LC NNAMES NNUMS SI SYSID SYSVER
T TC TCBEL TCBS TCESC TCFF TCHT TCLF TCNL TCNUL
TS WA
Monadic or dyadic system functions (a value cannot be assigned to these)
AT CR DC DFT DL DR EA EC ERROR ES
EX FMT FX MF NAPPEND NC NCREATE NERASE NINFO NL
NLOCK NREAD NRENAME NREPLACE NRESIZE NSIZE NTIE NUNTIE STOP TF
TRACE UCS VR
Note that quad functions and variables (except for the ⎕A family of functions) are case insensitive


See Also
System Commands System Variables and Functions Operators


Keyboard
Alt+Shift
Alt ¨ ¯ < > × ÷
Shift ~ ! @ # $ % ^ & * ( ) _ +
Key ` 1 2 3 4 5 6 7 8 9 0 - =
Alt+Shift
Alt ? § π
Shift Q W E R T Y U I O P { } |
Key q w e r t y u i o p [ ] \
Alt+Shift
Alt
Shift A S D F G H J K L : "
Key a s d f g h j k l ; '
Alt+Shift χ
Alt
Shift Z X C V B N M < > ?
Key z x c v b n m , . /
NARS 2000 Lang
Tool
Bar
+ - × ÷ * ! ? |
< = >
~ § π .. ,
/ \ ¨ .
_ ¯
Second Row i j k i j k l g p r v x