fork download
  1. USING: formatting io kernel locals math math.functions math.parser ;
  2. IN: quadratic-example
  3.  
  4. :: quadratic-equation ( a b c -- )
  5. a 0 =
  6. [ "Not a quadratic equation." printf ]
  7. [ b sq a c * 4 * - :> d
  8. b neg a 2 * / :> x0
  9. d sqrt a 2 * / :> sd
  10. d 0 =
  11. [ x0 "x = %f\n" printf ]
  12. [ d 0 >
  13. [ x0 sd + x0 sd - "x1 = %f\nx2 = %f\n" printf ]
  14. [ x0 sd + [ real-part ] [ imaginary-part ] bi "x1 = (%f, %f)\n" printf
  15. x0 sd - [ real-part ] [ imaginary-part ] bi "x2 = (%f, %f)\n" printf ]
  16. if
  17. ]
  18. if
  19. ]
  20. if ;
  21.  
  22. readln string>number
  23. readln string>number
  24. readln string>number
  25. quadratic-equation
  26.  
Runtime error #stdin #stdout 1.61s 164864KB
stdin
30
stdout
No suitable arithmetic method
left    f
right   f
generic *