Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 43 |
Nodes: | 6 (0 / 6) |
Uptime: | 98:14:28 |
Calls: | 290 |
Files: | 905 |
Messages: | 76,483 |
(defun evaluate-poly (p x)
(loop for coeff in p
for power from 0
sum (* coeff (expt x power)))
A little wasteful, but what the heck.
(defun evaluate-poly (p x)
(reduce #'(lambda (a c) (+ c (* x a)))
(reverse p) :initial-value 0))
Geoffrey Summerhayes wrote:
(defun evaluate-poly (p x)
(loop for coeff in p
for power from 0
sum (* coeff (expt x power)))
A little wasteful, but what the heck.
(defun evaluate-poly (p x)
(reduce #'(lambda (a c) (+ c (* x a)))
(reverse p) :initial-value 0))
It ought to be "(lambda", not "#'(lambda". However, disciples
of CL (COBOL-Like) always try to make their code as ugly and
as prolix as possible. He would have been even more pleased
if he could have written:
(#'reduce #'#'#'#'#'#'#'#'#'(lambda (a c) (#'+ c (#'* x a)))
Gauche Scheme:
(define (eval-poly p x)
(fold-right
(^(c a) (+ c (* x a)))
0 p))
(poly 0.5 '(2 3 4))6.0
(rpoly 0.5 '(2 3 4))4.5