Re: A missing (?) function: exponentfp(x)
Loïc Grenié <[email protected]> Mon, 16 Sep 2024 21:36:37 +0200
| Newsgroups | gmane.comp.mathematics.pari.devel |
|---|---|
| Message-ID | <CAMLkfFTf_eSUjXhMaW3d5Wj+j=wVeWhdbjH3k1g=sfgp3e1HQw@mail.gmail.com> |
On Sat, 14 Sep, 2024 at 11:09, Ilya Zakharevich wrote:
> The function exponent(x) gives a very coarse value of log2(x). The
> function log(x)/log(2) gives a very fine value of log2(x) (but is
> slow, especially if x has high precision). But sometimes I prefer to
> know log2(x) with an intermediate precision; in fact, any sufficiently
> smooth monotonic function which coincides with log2 on powers of 2
> would be enough!
>
> In particular, exponent(x) + mantissa12(x) - 1 would be OK. (Here
> mantissa12() is the (top word of) mantissa-scaled-to-[1,2].) It
> should be very cheap to calculate. It may be beneficial to have two
> flavors, returning a double, or a 1-word PARI float.
>
expofp(x)=my(e=exponent(x));e+(precision(x,19)>>e-1);
Works only on floating point x's.
Loïc