Michael, Abel,
Thank you again for your replies.
Sorry about the delay, it took me a while to try the XSL example and
also a Java example.
I was just trying these out as an academic exercise.
I couldn't calculate the timing precisely in Java because it varied
between each run.
For example Factorial(999) took 0 milliseconds in Java and then the
same Factorial(999) took 16 milliseconds. I put the start time and end
time just before and after the function call.
By using BigInteger in Java I could calculate the factorial of much
larger numbers, larger than Factorial(16) and the largest one was
Factorial(10446) took about 610 milliseconds.
After Factorial(10446) I got a StackOverflowError in Java. Of course
in the case of factorial I was using the normal recursion which relies
on Stacks.
I guess, no expects to work with such high numbers (probably NASA does
:-) , the largest number shown by BigInteger takes 2 pages
-Regards
Rashmi.
On 5/2/07, Michael Kay <mike(_at_)saxonica(_dot_)com> wrote:
> It could be the memory space available to hold the longest
> number is limited, and not particularly the recursive depth.
> Although I could be wrong, because I know little.
Saxon uses Java's BigInteger. Arithmetic performance will become impossibly
slow long before you hit the size limits on a BigInteger.
Michael Kay
http://www.saxonica.com/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--