X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=blobdiff_plain;f=extra%2Fbenchmark%2Fpartial-sums%2Fpartial-sums.factor;h=023f5de5c24d8b21ba88629225294ef6fff92a38;hp=7c7c68b12d741a7e87a48ca32bed0139cb26d918;hb=3f3d57032bf29190e9bee12d168a4bce6d74653c;hpb=cd1bb8f4c8afba318249c7b756a45aa1c46ea51e diff --git a/extra/benchmark/partial-sums/partial-sums.factor b/extra/benchmark/partial-sums/partial-sums.factor index 7c7c68b12d..023f5de5c2 100644 --- a/extra/benchmark/partial-sums/partial-sums.factor +++ b/extra/benchmark/partial-sums/partial-sums.factor @@ -5,21 +5,21 @@ combinators hints fry namespaces sequences ; IN: benchmark.partial-sums ! Helper words -: summing-integers ( n quot -- y ) [ 0.0 ] 2dip '[ 1+ @ + ] each ; inline +: summing-integers ( n quot -- y ) [ 0.0 ] 2dip '[ 1 + @ + ] each ; inline : summing-floats ( n quot -- y ) '[ >float @ ] summing-integers ; inline : cube ( x -- y ) dup dup * * ; inline -: -1^ ( n -- -1/1 ) 2 mod 2 * 1- ; inline +: -1^ ( n -- -1/1 ) 2 mod 2 * 1 - ; inline ! The functions -: 2/3^k ( n -- y ) [ 2.0 3.0 / swap 1- ^ ] summing-floats ; inline +: 2/3^k ( n -- y ) [ 2.0 3.0 / swap 1 - ^ ] summing-floats ; inline : k^-0.5 ( n -- y ) [ -0.5 ^ ] summing-floats ; inline -: 1/k(k+1) ( n -- y ) [ dup 1+ * recip ] summing-floats ; inline +: 1/k(k+1) ( n -- y ) [ dup 1 + * recip ] summing-floats ; inline : flint-hills ( n -- y ) [ [ cube ] [ sin sq ] bi * recip ] summing-floats ; inline : cookson-hills ( n -- y ) [ [ cube ] [ cos sq ] bi * recip ] summing-floats ; inline : harmonic ( n -- y ) [ recip ] summing-floats ; inline : riemann-zeta ( n -- y ) [ sq recip ] summing-floats ; inline : alternating-harmonic ( n -- y ) [ [ -1^ ] keep /f ] summing-integers ; inline -: gregory ( n -- y ) [ [ -1^ ] [ 2.0 * 1- ] bi / ] summing-integers ; inline +: gregory ( n -- y ) [ [ -1^ ] [ 2.0 * 1 - ] bi / ] summing-integers ; inline : partial-sums ( n -- results ) [