Function: logint
Section: number_theoretical
C-Name: logint0
Prototype: lGGD&
Help: logint(x,b,&z): return the largest integer e so that b^e <= x, where the
 parameters b > 1 and x > 0 are both integers. If the parameter z is present,
 set it to b^e.
Description:
 (gen,2):small        expi($1)
 (gen,gen,&int):small logint0($1, $2, &$3)
Doc: Return the largest integer $e$ so that $b^e \leq x$, where the
 parameters $b > 1$ and $x > 0$ are both integers. If the parameter $z$ is
 present, set it to $b^e$.
 \bprog
 ? logint(1000, 2)
 %1 = 9
 ? 2^9
 %2 = 512
 ? logint(1000, 2, &z)
 %3 = 9
 ? z
 %4 = 512
 @eprog\noindent The number of digits used to write $b$ in base $x$ is
 \kbd{1 + logint(x,b)}:
 \bprog
 ? #digits(1000!, 10)
 %5 = 2568
 ? logint(1000!, 10)
 %6 = 2567
 @eprog\noindent This function may conveniently replace
 \bprog
   floor( log(x) / log(b) )
 @eprog\noindent which may not give the correct answer since PARI
 does not guarantee exact rounding.
