calc: Logarithmic Functions

 
 9.1 Logarithmic Functions
 =========================
 
 The shift-‘L’ (‘calc-ln’) [‘ln’] command computes the natural logarithm
 of the real or complex number on the top of the stack.  With the Inverse
 flag it computes the exponential function instead, although this is
 redundant with the ‘E’ command.
 
    The shift-‘E’ (‘calc-exp’) [‘exp’] command computes the exponential,
 i.e., ‘e’ raised to the power of the number on the stack.  The meanings
 of the Inverse and Hyperbolic flags follow from those for the ‘calc-ln’
 command.
 
    The ‘H L’ (‘calc-log10’) [‘log10’] command computes the common
 (base-10) logarithm of a number.  (With the Inverse flag [‘exp10’], it
 raises ten to a given power.)  Note that the common logarithm of a
 complex number is computed by taking the natural logarithm and dividing
 by ‘ln(10)’.
 
    The ‘B’ (‘calc-log’) [‘log’] command computes a logarithm to any
 base.  For example, ‘1024 <RET> 2 B’ produces 10, since ‘2^10 = 1024’.
 In certain cases like ‘log(3,9)’, the result will be either ‘1:2’ or
 ‘0.5’ depending on the current Fraction mode setting.  With the Inverse
 flag [‘alog’], this command is similar to ‘^’ except that the order of
 the arguments is reversed.
 
    The ‘f I’ (‘calc-ilog’) [‘ilog’] command computes the integer
 logarithm of a number to any base.  The number and the base must
 themselves be positive integers.  This is the true logarithm, rounded
 down to an integer.  Thus ‘ilog(x,10)’ is 3 for all ‘x’ in the range
 from 1000 to 9999.  If both arguments are positive integers, exact
 integer arithmetic is used; otherwise, this is equivalent to
 ‘floor(log(x,b))’.
 
    The ‘f E’ (‘calc-expm1’) [‘expm1’] command computes ‘exp(x)-1’, but
 using an algorithm that produces a more accurate answer when the result
 is close to zero, i.e., when ‘exp(x)’ is close to one.
 
    The ‘f L’ (‘calc-lnp1’) [‘lnp1’] command computes ‘ln(x+1)’,
 producing a more accurate answer when ‘x’ is close to zero.