Do you know where your variables are? PerlMonks

### Re^4: Exponential Function Programming

by ikegami (Patriarch)
 on Nov 23, 2007 at 18:44 UTC ( #652635=note: print w/replies, xml ) Need Help??

in reply to Re^3: Exponential Function Programming

But such a demonstrations wasn't necessary for me since I had finished writing the following from scratch before you posted your solution. (I didn't post it since I didn't want to do the OP's homework for him.)

```sub ikegami_exp {
my (\$x) = @_;
my \$last   = 0;
my \$result = 1;
my \$acc    = 1;
for (my \$n = 1; abs(\$result-\$last)>0; \$n++) {
\$last = \$result;
\$acc *= \$x/\$n;
\$result += \$acc;
}
return \$result;
}

for (1, 0.1, 10, 3.14, 0.1234, 100) {
printf("%.16e: exp() = %.16e  ikegami_exp() = %.16e\n",
\$_,
exp(\$_),
ikegami_exp(\$_),
);
}

The only difference was the terminating condition, so naturally, that's what interested me :) Mine goes into an infinite loop if you try to find ikegami_exp(1000), but that's easily fixed by replacing abs(\$result-\$last)>0 with \$result != \$last.

Replies are listed 'Best First'.
Re^5: Exponential Function Programming
by pajout (Curate) on Nov 23, 2007 at 19:05 UTC
Yep :>)
I have decided to post it because my experience is that such tiny codes could initiate interest. Additionally, if somebody will present it as homework, there is a big risk that question "How it works" will appear...

Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://652635]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (3)
As of 2022-01-26 15:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
In 2022, my preferred method to securely store passwords is:

Results (69 votes). Check out past polls.

Notices?