From what I remember, any continuous function can be expressed as a power series. This should, therefore, also be possible for LN and LOG as well as the trigonometric and hyperbolic functions etc. Dave On Thu, 29 Sept 2022, 20:21 Michal Pleban, <lists_at_michau.name> wrote: > ruud_at_baltissen.org wrote on 28.09.2022 21:21: > > > Hallo MichaĆ, > > > The idea is to use tables instead of calculating the various factors. In > > the final assembly version this will constants in FP format, not > > variables. That reduces your formula to the first FOR loop. > > Knowing, thanks to you, where to look for, I found Horner's method which > > reduced the FOR loop even further. I even can reduce the number of steps > > by skipping those steps where arFacSin[b] is zero (plus some other > > needed changes). > > All very good ideas. One more: If the "s" variable from the previous > step is the same as the one from the current step, stop the loop because > this means that you have reached the maximum accuracy of your floating > point numbers and any further steps will not improve the result any > further. This is what CBM BASIC does, that's why calculating SIN(0) > takes much less time than calculating SIN(PI/2). > > > Next step is tangens. I found the formula but here I ran into trouble: > > > https://en.wikipedia.org/wiki/Trigonometric_functions#Power_series_expansion > > . The formula includes Bernoulli numbers and from here on I couldn't > > follow it anymore. > > Hm, from what I can see it's basically the same formula that you have > for SIN(X), except the table is different: > > arFacTan[0] := 0 > arFacTan[1] := 1 > arFacTan[2] := 0 > arFacTan[3] := 1/3 > arFacTan[4] := 0 > arFacTan[5] := 2/15 > arFacTan[6] := 0 > arFacTan[7] := 17/315 > > What goes further, I would have to calculate since it's been like 20 > years since I have last done this stuff. But it shouldn't be hard. > > In fact, now that I look at it, all the other trigonometric functions > can be also expressed by your mechanism just using a different table. > That is kinda neat. > > > Next steps: EXP, LN, LOG, etc., etc. But know I know on who's door to > > knock :) > > I'll be glad to help too! > > Regards, > Michau. > > >Received on 2022-09-29 22:28:44
Archive generated by hypermail 2.3.0.