]> gitweb.factorcode.org Git - factor.git/commitdiff
math.factorials: adding reverse-factorial.
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 29 Nov 2016 03:09:03 +0000 (19:09 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 29 Nov 2016 03:09:03 +0000 (19:09 -0800)
extra/math/factorials/factorials-tests.factor
extra/math/factorials/factorials.factor

index d0440e09e36d681255880ac6a60a3ef522e3a2b0..9850e500337ef5408dac85bb19f26f2f6c0dd78f 100644 (file)
@@ -75,3 +75,9 @@ IN: math.factorials
 
 { V{ 3 5 7 29 31 211 2309 2311 } }
 [ 10,000 iota [ primorial-prime? ] filter ] unit-test
+
+{ 10 } [ 3628800 reverse-factorial ] unit-test
+{ 12 } [ 479001600 reverse-factorial ] unit-test
+{ 3 } [ 6 reverse-factorial ] unit-test
+{ 1 } [ 1 reverse-factorial ] unit-test
+{ f } [ 18 reverse-factorial ] unit-test
index fb9057ed83b7f0881211ca52f12dfda5dd604afc..d3da2b84e1022005230c01f348eec0e87433929d 100644 (file)
@@ -118,3 +118,6 @@ PRIVATE>
 
 : primorial-prime? ( n -- ? )
     { [ prime? ] [ 2 > ] [ [ primorial ] -prime? ] } 1&& ;
+
+: reverse-factorial ( m -- n )
+    1 1 [ 2over > ] [ 1 + [ * ] keep ] while [ = ] dip and ;