Index of /macros/generic/poormanlog

Parent Directory 24-Nov-2020 07:39 - poormanlog.tex 23-Apr-2019 02:12 10k poormanlog.sty 10-Sep-2019 17:59 1k

POORMANLOG (v0.05, 2019/04/22)
==============================

poormanlog.tex provides (expandable) macros \PMLogZ and \PMPowTen
for computing base 10 logarithms and powers of 10 with a bit less
than 9 digits of precision.

It can be used with TeX (\input poormanlog) and has a LaTeX interface
(\usepackage{poormanlog}).

Regarding TeX, it requires the e-TeX \numexpr primitive, thus etex
or pdftex or other binaries with the e-TeX extensions are required.

Changes
-------

- v0.04 (2019/02/17): initial release.  The package has no
dependencies and alongside two macros \PMLogZ and \PMPowTen
also provides some specific additions to xint.

- v0.05 (2019/04/22): the additions/patches to xint originally
provided by poormanlog.tex got moved into xint 1.3f itself.

Thus, poormanlog now reduces to the sole two macros
\PMLogZ and \PMPowTen.  It can be imported by other macro
files with no danger of conflicting with future releases of
xint in case of concurrent usage.

Files
-----

poormanlog.tex
poormanlog.sty

\PMLogZ{#1} computes base-10 logarithms:
----------------------------------------

expansion: the argument is submitted to f-expansion and the macro
itself expands fully in two steps.

input:  #1 must be (or f-expands to) a mantissa ddddddddd with exactly
9 digits, standing for D = d.dddddddd, 1 <= D < 10

output: 9 digits xxxxxxxxx standing for X = 0.xxxxxxxxx such that

precision: It seems from testing that absolute error is not much
more than 1 unit in the last place, and result X differs
from rounded mathematical value of log10(D) by at most
1 unit in the last place.
(*attention estimate not rigorously proven*).

\PMPowTen{#1} computes fractional powers of 10:
-----------------------------------------------

expansion: the argument is submitted to f-expansion and the macro
itself expands fully in two steps.

input:  #1 must be (f-expands to) exactly 9 digits xxxxxxxxx, standing
for X = 0.xxxxxxxxx

output: 9 digits ddddddddd, such that D = d.dddddddd is about 10^X
The first digit of output is never zero (i.e. 1 <= D < 10)

precision: It seems from testing that absolute error is less than
2 units in the last place, and result D differs from
rounded mathematical value of 10^X by at most 2 units in
the last place.
(*attention estimate not rigorously proven*).

-------

This Work may be distributed and/or modified under the conditions of the