Re: [OT] Factorials RE: [ILUG] impressive...

From: Shane Dempsey (sdempsey at domain tssg.wit.ie)
Date: Fri 29 Oct 1999 - 13:28:33 IST


I meant to mail this to the list,. A case of everybody else is doing it so
why can't
I .

// factorial.pro
factorial(0,1) :- !.
factorial(N,Answer) :- factorial(N-1,Answer2),Answer is N * Answer2.

at prolog prompt ? factorial(5500,Answer)
This might just do it. Not sure what way prolog treats types like this.
I think that it depends on the implementation.

A C++ version using 'Mad Datatypes' is on the way. >>:-))

    ...shane

--
###################################
Shane Dempsey -         sdempsey at domain tssg.wit.ie
TSSG Researcher        http://www-tssg.wit.ie
###################################
----- Original Message -----
From: Kenn Humborg <kenn at domain bluetree.ie>
To: <ilug at domain linux.ie>; 'Brian Foley' <brian at domain bluetree.ie>; 'Kenn Humborg'
<kenn at domain bluetree.ie>
Sent: 29 October 1999 11:37
Subject: RE: [OT] Factorials RE: [ILUG] impressive...
>
> Oops!  Mistake...  This is the correct one
>
> factorial:
>       .mask ^<r5>
>       movl (ap), r0
>       bneq work_to_do
>       incl r0
>       ret
> work_to_do:
>       movl r0, r5
>       decl r0
>       pushl r0
>       calls #1, factorial
>       mul2 r5, r0
>       ret
>
> fact_test:
>       .mask ^<>
>       pushl #30
>       calls #1, factorial
>       ; result in r0
>
> Later,
> Kenn
>
>
> --
> Irish Linux Users' Group: ilug at domain linux.ie
> http://www.linux.ie/mailman/listinfo/ilug for (un)subscription
information.
> List maintainer: listmaster at domain linux.ie
>
>


This archive was generated by hypermail 2.1.6 : Thu 06 Feb 2003 - 13:04:48 GMT