1 9ˆl–Ãa¾”ªC]ŠuAão\mÕ1hßÈ ƒ Áa–Ým_J*j"Tâ€zà�p,©‹FÿÇBecause of frequent questions ....... here is the BC FAQ 1) Why does BC have its own arbitrary precision number routines (found in lib/number.c) rather than using GMP? GMP has "integers" (no digits after a decimal), "rational numbers" (stored as 2 integers) and "floats". None of these will correctly represent a POSIX BC number. Floats are the closest, but will not behave correctly for many computations. For example, BC numbers have a "scale" that represent the number of digits to represent after the decimal point. The multiplying two of these numbers requires one to calculate an exact number of digits after the decimal point regardless of the number of digits in the integer part. GMP floats have a "fixed, but arbitrary" mantissa and so multiplying two floats will end up dropping digits BC must calculate. 2) The code "ibase=16; obase=10; FF" outputs FF, not 255. Isn't this a bug? No. ibase changed the input base at that point. The 10 is then in base 16 and thus is the value 16. Therefore, both ibase and obase are 16 (decimal). And FF (base 16) on input is printed as FF (base 16) on output. So how can one get 255? First, single digit numbers are not converted using ibase. So A is always 10 (decimal). The following code will always work. "ibase=F+1; obase=A; FF" and that always prints 255. 3) Why is the scale variable ignored on multiply? That is the way POSIX specifics multiply. Reread the documentation for the multiply operation and see that multiply uses the scales of the numbers multiplied to determine the scale of the result. 4) bc's mod command is not working when I run with "bc -l". bc's mod (%) command works like integer remainder when scale is 0. The -l flag sets scale to 20 and that chanes how a % b is computed. Read the man page for exact details. �ľÇFile not found. ˆÊÉ ƒxk¾ÇX" Vim syntax file " Language: CHILL " Maintainer: YoungSang Yoon " Last change: 2004 Jan 21 " " first created by image@lgic.co.kr & modified by paris@lgic.co.kr " CHILL (CCITT High Level Programming Language) is used for " developing software of ATM switch at LGIC (LG Information " & Communications LTd.) " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif " A bunch of useful CHILL keywords syn keyword chillStatement goto GOTO return RETURN returns RETURNS syn keyword chillLabel CASE case ESAC esac syn keyword chillConditional if IF else ELSE elsif ELSIF switch SWITCH THEN then FI fi syn keyword chillLogical NOT not syn keyword chillRepeat while WHILE for FOR do DO od OD TO to syn keyword chillProcess START start STACKSIZE stacksize PRIORITY priority THIS this STOP stop syn keyword chillBlock PROC proc PROCESS process syn keyword chillSignal RECEIVE receive SEND send NONPERSISTENT nonpersistent PERSISTENT peristent SET set EVER ever syn keyword chillTodo contained TODO FIXME XXX " String and Character constants " Highlight special characters (those which have a backslash) differently syn match chillSpecial contained "\\x\x\+\|\\\o\{1,3\}\|\\.\|\\$" syn region chillString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=chillSpecial syn match chillCharacter "'[^\\]'" syn match chillSpecialCharacter "'\\.'" syn match chillSpecialCharacter "'\\\o\{1,3\}'" "when wanted, highlight trailing white space if exists("chill_space_errors") syn match chillSpaceError "\s*$" syn match chillSpaceError " \+\t"me=e-1 endif "catch errors caused by wrong parenthesis syn cluster chillParenGroup contains=chillParenError,chillIncluded,chillSpecial,chillTodo,chillUserCont,chillUserLabel,chillBitField syn region chillParen transparent start='(' end=')' contains=ALLBUT,@chillParenGroup syn match chillParenError ")" syn match chillInParen contained "[{}]" "integer number, or floating point number without a dot and with "f". syn case ignore syn match chillNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" "floating point number, with dot, optional exponent syn match chil