math.factorials: more factorial words.
parent
68cdaa2c69
commit
6c106fb422
|
@ -65,3 +65,9 @@ IN: math.factorials
|
||||||
[ 10 iota [ alternating-factorial ] map ] unit-test
|
[ 10 iota [ alternating-factorial ] map ] unit-test
|
||||||
|
|
||||||
{ { 1 1 2 9 262144 } } [ 5 iota [ exponential-factorial ] map ] unit-test
|
{ { 1 1 2 9 262144 } } [ 5 iota [ exponential-factorial ] map ] unit-test
|
||||||
|
|
||||||
|
{ V{ 2 3 5 7 23 719 5039 } }
|
||||||
|
[ 10,000 iota [ factorial-prime? ] filter ] unit-test
|
||||||
|
|
||||||
|
{ V{ 3 5 7 29 31 211 2309 2311 } }
|
||||||
|
[ 10,000 iota [ primorial-prime? ] filter ] unit-test
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
! Copyright (C) 2013 John Benediktsson
|
! Copyright (C) 2013 John Benediktsson
|
||||||
! See http://factorcode.org/license.txt for BSD license
|
! See http://factorcode.org/license.txt for BSD license
|
||||||
|
|
||||||
USING: combinators fry kernel math math.functions math.primes
|
USING: combinators combinators.short-circuit fry kernel math
|
||||||
math.ranges memoize sequences ;
|
math.functions math.primes math.ranges memoize sequences ;
|
||||||
|
|
||||||
IN: math.factorials
|
IN: math.factorials
|
||||||
|
|
||||||
|
@ -101,3 +101,24 @@ ALIAS: pochhammer rising-factorial
|
||||||
|
|
||||||
: exponential-factorial ( n -- m )
|
: exponential-factorial ( n -- m )
|
||||||
dup 1 > [ [1,b] 1 [ swap ^ ] reduce ] [ drop 1 ] if ;
|
dup 1 > [ [1,b] 1 [ swap ^ ] reduce ] [ drop 1 ] if ;
|
||||||
|
|
||||||
|
: factorial-prime? ( n -- ? )
|
||||||
|
{
|
||||||
|
[ prime? ]
|
||||||
|
[
|
||||||
|
1 1 [ pick over - 1 <= ] [
|
||||||
|
drop [ 1 + ] [ factorial ] bi
|
||||||
|
] until nip - abs 1 =
|
||||||
|
]
|
||||||
|
} 1&& ;
|
||||||
|
|
||||||
|
: primorial-prime? ( n -- ? )
|
||||||
|
{
|
||||||
|
[ prime? ]
|
||||||
|
[ 2 > ]
|
||||||
|
[
|
||||||
|
1 1 [ pick over - 1 <= ] [
|
||||||
|
drop [ 1 + ] [ primorial ] bi
|
||||||
|
] until nip - abs 1 =
|
||||||
|
]
|
||||||
|
} 1&& ;
|
||||||
|
|
Loading…
Reference in New Issue