This program napierlog is used for
calculating Napier's three tables and his small table (Times Table).
It uses the library of mpfr,
being written in C language. It is somewhat the implementation
of procedures in Denis's paper "Napier’s ideal construction of the logarithms". In this program, Nlog()
stands for λn() being used in Denis’ paper.
There are mainly four subroutines:
generateTable1()
, the part calculating
the first Napier's log(Nlog(9999999.0000000), could be found
the corresponded procedure in section 2.4.1 at pp.8 in Denis’ paper.
ggenerateTable2()
, the subroutine of
rule39_AdjacentSolver()
is called to calculate the
first Nlog(9999900) using the adjacent known value Nlog(a[100]) in table 1.
This part corresponds to section 2.4.2 at pp.10-12 in Denis’ paper.
generateTable3()
is the
implementation of section 2.4.3 in Denis’ paper.
generateTimesTable()
is used to generate Napier’s small table. When calculating Nlog(5000000), the procedure is as same as in section 2.5.3 at pp. 18 in Denis’s paper.
The result of generateTable1()
, generateTable2()
, generateTable3()
will be as same as Denis’ table at section 10 if one place are rounded.
Yet in generateTimesTable()
, the Nlog(5000000) is 6931471.80561769037722788673, which is a little different from Denis’, which is 6931471.77 at Figure 4(ideal values), but it is as same as the one in Figure 5. Readers can recheck this function in detail.
(text provided by the author, Peng Sun(孙鹏))