Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

n! -- factor

Name: Anonymous 2007-09-14 9:02 ID:w+iUxD20


: n! ( n -- n! ) dup zero? [ drop 1 ] [ dup 1- n! * ] if ;
: ln! ( n lim -- ) over - [ dup n! . 1+ ] times drop ;

1 10 ln!
1
2
6
24
120
720
5040
40320
362880


Superior.

Name: Anonymous 2007-09-14 10:11 ID:Heaven

>>5
( scratchpad ) : n! ( n -- n! ) dup zero? [ drop 1 ] [ dup 1- n! * ] if ;
( scratchpad ) : ln! ( n lim -- ) over - [ dup n! . 1+ ] times drop ;
( scratchpad ) \ n! compile
Compiling n!
( scratchpad ) [ 1 500 ln! ] time
...
3580 ms run / 59 ms GC time
( scratchpad ) "memoize" require
Loading P" resource:extra/memoize/memoize.factor"
Compiling 980 words...
Compile finished.

:errors - print 0 compiler errors.
:warnings - print 866 compiler warnings.

Loading P" resource:extra/memoize/memoize-docs.factor"
( scratchpad ) USING: memoize math.vectors ;
( scratchpad ) MEMO: memo-* ( a b -- c ) * ;
( scratchpad ) MEMO: n! ( n -- n! ) 1+ 1 tail 1 [ memo-* ] reduce ;
( scratchpad ) : ln! ( n lim -- ) swap tail [ n! . ] each ;
( scratchpad ) \ n! compile
Compiling n!
Compiling memo-*
( scratchpad ) [ 1 500 ln! ] time
3308 ms run / 55 ms GC time

lol whut

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List