diff options
Diffstat (limited to 'man/man1/bc.html')
-rw-r--r-- | man/man1/bc.html | 272 |
1 files changed, 0 insertions, 272 deletions
diff --git a/man/man1/bc.html b/man/man1/bc.html deleted file mode 100644 index c4f7e7ba..00000000 --- a/man/man1/bc.html +++ /dev/null @@ -1,272 +0,0 @@ -<head> -<title>bc(1) - Plan 9 from User Space</title> -<meta content="text/html; charset=utf-8" http-equiv=Content-Type> -</head> -<body bgcolor=#ffffff> -<table border=0 cellpadding=0 cellspacing=0 width=100%> -<tr height=10><td> -<tr><td width=20><td> -<tr><td width=20><td><b>BC(1)</b><td align=right><b>BC(1)</b> -<tr><td width=20><td colspan=2> - <br> -<p><font size=+1><b>NAME </b></font><br> - -<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - bc – arbitrary-precision arithmetic language<br> - -</table> -<p><font size=+1><b>SYNOPSIS </b></font><br> - -<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <tt><font size=+1>bc</font></tt> [ <tt><font size=+1>−c</font></tt> ] [ <tt><font size=+1>−l</font></tt> ] [ <tt><font size=+1>−s</font></tt> ] [ <i>file ...</i> ]<br> - -</table> -<p><font size=+1><b>DESCRIPTION </b></font><br> - -<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <i>Bc</i> is an interactive processor for a language that resembles C - but provides arithmetic on numbers of arbitrary length with up - to 100 digits right of the decimal point. It takes input from - any files given, then reads the standard input. The <tt><font size=+1>−l</font></tt> argument - stands for the name of an arbitrary precision math library. The - <tt><font size=+1>−s - </font></tt>argument suppresses the automatic display of calculation results; - all output is via the <tt><font size=+1>print</font></tt> command. - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - - The following syntax for <i>bc</i> programs is like that of C; <i>L</i> means - letter <tt><font size=+1>a</font></tt>-<tt><font size=+1>z</font></tt>, <i>E</i> means expression, <i>S</i> means statement.<br> - Lexical<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - comments are enclosed in <tt><font size=+1>/* */<br> - </font></tt>newlines end statements<br> - - </table> - - </table> - Names<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - simple variables: <i>L<br> - </i>array elements: <i>L</i><tt><font size=+1>[</font></tt><i>E</i><tt><font size=+1>]<br> - </font></tt>The words <tt><font size=+1>ibase</font></tt>, <tt><font size=+1>obase</font></tt>, and <tt><font size=+1>scale<br> - </font></tt> - </table> - - </table> - Other operands<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - arbitrarily long numbers with optional sign and decimal point.<br> - <tt><font size=+1>(</font></tt><i>E</i><tt><font size=+1>)<br> - sqrt(</font></tt><i>E</i><tt><font size=+1>)<br> - length(</font></tt><i>E</i><tt><font size=+1>)<br> - </font></tt>number of significant decimal digits<br> - <tt><font size=+1>scale(</font></tt><i>E</i><tt><font size=+1>)<br> - </font></tt>number of digits right of decimal point<br> - <i>L</i><tt><font size=+1>(</font></tt><i>E</i><tt><font size=+1>,</font></tt><i>...</i><tt><font size=+1>,</font></tt><i>E</i><tt><font size=+1>)<br> - </font></tt>function call<br> - - </table> - - </table> - Operators<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <tt><font size=+1>+ − * / % ^ </font></tt> (<tt><font size=+1>%</font></tt> is remainder; <tt><font size=+1>^</font></tt> is power)<br> - <tt><font size=+1>++ −− <br> - == <= >= != < ><br> - = += −= *= /= %= ^=<br> - </font></tt> - </table> - - </table> - Statements<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <i>E<br> - </i><tt><font size=+1>{</font></tt> <i>S</i> <tt><font size=+1>;</font></tt> ... <tt><font size=+1>;</font></tt> <i>S</i> <tt><font size=+1>}<br> - print</font></tt> <i>E<br> - </i><tt><font size=+1>if (</font></tt> <i>E</i> <tt><font size=+1>)</font></tt> <i>S<br> - </i><tt><font size=+1>while (</font></tt> <i>E</i> <tt><font size=+1>)</font></tt> <i>S<br> - </i><tt><font size=+1>for (</font></tt> <i>E</i> <tt><font size=+1>;</font></tt> <i>E</i> <tt><font size=+1>;</font></tt> <i>E</i> <tt><font size=+1>)</font></tt> <i>S<br> - </i>null statement<br> - <tt><font size=+1>break<br> - quit<br> - "</font></tt>text<tt><font size=+1>"<br> - </font></tt> - </table> - - </table> - Function definitions<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <tt><font size=+1>define</font></tt> <i>L</i> <tt><font size=+1>(</font></tt> <i>L</i> <tt><font size=+1>,</font></tt> ... <tt><font size=+1>,</font></tt> <i>L</i> <tt><font size=+1>){<br> - auto</font></tt> <i>L</i> <tt><font size=+1>,</font></tt> ... <tt><font size=+1>,</font></tt> <i>L<br> - S</i> <tt><font size=+1>;</font></tt> ... <tt><font size=+1>;</font></tt> <i>S<br> - </i><tt><font size=+1>return</font></tt> <i>E - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - </i> - <tt><font size=+1>}<br> - </font></tt> - </table> - - </table> - Functions in<tt><font size=+1> −l</font></tt> math library<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <tt><font size=+1>s(</font></tt><i>x</i><tt><font size=+1>)</font></tt>sine<br> - <tt><font size=+1>c(</font></tt><i>x</i><tt><font size=+1>)</font></tt>cosine<br> - <tt><font size=+1>e(</font></tt><i>x</i><tt><font size=+1>)</font></tt>exponential<br> - <tt><font size=+1>l(</font></tt><i>x</i><tt><font size=+1>)</font></tt>log<br> - <tt><font size=+1>a(</font></tt><i>x</i><tt><font size=+1>)</font></tt>arctangent<br> - <tt><font size=+1>j(</font></tt><i>n, x</i><tt><font size=+1>)<br> - </font></tt>Bessel function<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - - - </table> - - </table> - All function arguments are passed by value. - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - - The value of an expression at the top level is printed unless - the main operator is an assignment or the <tt><font size=+1>−s</font></tt> command line argument - is given. Text in quotes, which may include newlines, is always - printed. Either semicolons or newlines may separate statements. - Assignment to <tt><font size=+1>scale</font></tt> influences the number of digits to - be retained on arithmetic operations in the manner of <a href="../man1/dc.html"><i>dc</i>(1)</a>. Assignments - to <tt><font size=+1>ibase</font></tt> or <tt><font size=+1>obase</font></tt> set the input and output number radix respectively. - - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - - The same letter may be used as an array, a function, and a simple - variable simultaneously. All variables are global to the program. - Automatic variables are pushed down during function calls. In - a declaration of an array as a function argument or automatic - variable empty square brackets must follow the array name. - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - - <i>Bc</i> is actually a preprocessor for <a href="../man1/dc.html"><i>dc</i>(1)</a>, which it invokes automatically, - unless the <tt><font size=+1>−c</font></tt> (compile only) option is present. In this case the - <i>dc</i> input is sent to the standard output instead.<br> - -</table> -<p><font size=+1><b>EXAMPLE </b></font><br> - -<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - Define a function to compute an approximate value of the exponential. - Use it to print 10 values. (The exponential function in the library - gives better answers.) - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - - <tt><font size=+1>scale = 20<br> - define e(x) {<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - auto a, b, c, i, s<br> - a = 1<br> - b = 1<br> - s = 1<br> - for(i=1; 1; i++) {<br> - - <table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - a *= x<br> - b *= i<br> - c = a/b<br> - if(c == 0) return s<br> - s += c<br> - - </table> - }<br> - - </table> - }<br> - for(i=1; i<=10; i++) print e(i)<br> - </font></tt> -</table> -<p><font size=+1><b>FILES </b></font><br> - -<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <tt><font size=+1>/usr/local/plan9/lib/bclib</font></tt> mathematical library<br> - -</table> -<p><font size=+1><b>SOURCE </b></font><br> - -<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <tt><font size=+1>/usr/local/plan9/src/cmd/bc.y<br> - </font></tt> -</table> -<p><font size=+1><b>SEE ALSO </b></font><br> - -<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - <a href="../man1/dc.html"><i>dc</i>(1)</a>, <a href="../man1/hoc.html"><i>hoc</i>(1)</a><br> - -</table> -<p><font size=+1><b>BUGS </b></font><br> - -<table border=0 cellpadding=0 cellspacing=0><tr height=2><td><tr><td width=20><td> - - No <tt><font size=+1>&&</font></tt>, <tt><font size=+1>||</font></tt>, or <tt><font size=+1>!</font></tt> operators. - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - - A <tt><font size=+1>for</font></tt> statement must have all three <tt><font size=+1>E</font></tt>s. - <table border=0 cellpadding=0 cellspacing=0><tr height=5><td></table> - - A <tt><font size=+1>quit</font></tt> is interpreted when read, not when executed.<br> - -</table> - -<td width=20> -<tr height=20><td> -</table> -<!-- TRAILER --> -<table border=0 cellpadding=0 cellspacing=0 width=100%> -<tr height=15><td width=10><td><td width=10> -<tr><td><td> -<center> -<a href="../../"><img src="../../dist/spaceglenda100.png" alt="Space Glenda" border=1></a> -</center> -</table> -<!-- TRAILER --> -</body></html> |