Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!news.ripco.com!news-out.news.tds.net!newsreading01.news.tds.net!53ab2750!not-for-mail From: "Andreas Leitgeb" Subject: Re: What is the command to do a power of a value Message-ID: <5016CF47.55648.calajapr@time.synchro.net> X-Comment-To: Roedy Green Newsgroups: comp.lang.java.programmer In-Reply-To: <5016CF46.55641.calajapr@time.synchro.net> References: <5016CF46.55641.calajapr@time.synchro.net> X-FTN-AREA: COMP.LANG.JAVA.PROGRAMMER X-FTN-MSGID: 1:261/38 61957d4a X-FTN-REPLY: 1:261/38 5d94ac28 Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit X-Gateway: time.synchro.net [Synchronet 3.16a-Win32 NewsLink 1.98] Lines: 27 Date: Mon, 30 Jul 2012 19:00:57 GMT NNTP-Posting-Host: 69.21.70.65 X-Complaints-To: news@tds.net X-Trace: newsreading01.news.tds.net 1343674857 69.21.70.65 (Mon, 30 Jul 2012 14:00:57 CDT) NNTP-Posting-Date: Mon, 30 Jul 2012 14:00:57 CDT Organization: tds.net Xref: csiph.com comp.lang.java.programmer:16676 To: Roedy Green From: Andreas Leitgeb On Sun, 29 Jul 2012 21:28:11 -0700 (PDT), xvictoryeohx@gmail.com wrote: > C=L(1+i/100)power of n x ^ n = exp ( log(x) * n ) | x = (1 + i/100) = exp ( log( 1 + i/100 ) * n) = exp ( log1p ( i/100 ) * n) If you're doing more calculations with same interest-rate but different periods, then you may want to calculate double logBase = Math.log1p( i / 100 ); once, and use that for the individual calculations: C = L * Math.exp( logBase * n ) The gist of this response is, that for the kind of base (1+i/100), you better separate the pow operation out into log and exp, and actually use log1p on (i/100) instead of log on (1+i/100) for efficiency's and precision's sake. For "Math.log1p" see: http://docs.oracle.com/javase/6/docs/api/java/lang/Math.html#log1p%28double%29 --- BBBS/Li6 v4.10 Dada-1 * Origin: Prism bbs (1:261/38) --- Synchronet 3.16a-Win32 NewsLink 1.98 Time Warp of the Future BBS - telnet://time.synchro.net:24