From 3d4be6e4c750fb17e23f8ddfa9aec080819f743b Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Tue, 17 Jan 2006 08:08:47 +0000 Subject: [PATCH] minor tweaks --- contrib/math/polynomials.factor | 6 +++--- contrib/math/utils.factor | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/contrib/math/polynomials.factor b/contrib/math/polynomials.factor index 663db6f6b7..f939d4f4be 100644 --- a/contrib/math/polynomials.factor +++ b/contrib/math/polynomials.factor @@ -110,8 +110,8 @@ IN: math-contrib : pdiff ( p -- p' ) #! Polynomial derivative. - dup empty? [ [ length ] keep v* 1 swap tail ] unless ; + dup length v* { 0 } ?head drop ; -: polyval ( x p -- p[x] ) +: polyval ( p x -- p[x] ) #! Evaluate a polynomial. - [ powers ] keep v. ; + >r dup length r> powers v. ; diff --git a/contrib/math/utils.factor b/contrib/math/utils.factor index b37a56702e..b4e959224a 100644 --- a/contrib/math/utils.factor +++ b/contrib/math/utils.factor @@ -26,9 +26,9 @@ USING: errors kernel sequences math sequences-internals namespaces arrays ; -rot (^mod) ] if ; foldable -: powers ( x n -- { 1 x x^2 x^3 ... } ) +: powers ( n x -- { 1 x x^2 x^3 ... } ) #! Output sequence has n elements. - 1 swap [ drop [ dupd * ] keep ] map 2nip ; + 1 [ * ] accumulate ; : ** ( u v -- u*v' ) conjugate * ; inline