]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/math/quadratic/quadratic.factor
factor: trim using lists
[factor.git] / extra / math / quadratic / quadratic.factor
index 60929b92cb543b63e442b291c424c4c5a669e306..9281e4ba71d94a45fb70131c51823dfa4f2df099 100644 (file)
@@ -3,18 +3,16 @@
 USING: kernel math math.functions ;
 IN: math.quadratic
 
-: monic ( c b a -- c' b' ) tuck [ / ] 2bi@ ;
+: monic ( c b a -- c' b' ) [ / ] curry bi@ ;
 
-: discriminant ( c b -- b d ) tuck sq 4 / swap - sqrt ;
+: discriminant ( c b -- b d ) [ nip ] [ sq 4 / swap - sqrt ] 2bi ;
 
 : critical ( b d -- -b/2 d ) [ -2 / ] dip ;
 
 : +- ( x y -- x+y x-y ) [ + ] [ - ] 2bi ;
 
 : quadratic ( c b a -- alpha beta )
-    #! Solve a quadratic equation ax^2 + bx + c = 0
     monic discriminant critical +- ;
 
-: qeval ( x c b a -- y )
-    #! Evaluate ax^2 + bx + c
-    [ pick * ] dip roll sq * + + ;
+:: qeval ( x c b a -- y )
+    c b x * + a x sq * + ;