Sysop: | Amessyroom |
---|---|
Location: | Fayetteville, NC |
Users: | 28 |
Nodes: | 6 (0 / 6) |
Uptime: | 00:04:08 |
Calls: | 450 |
Calls today: | 1 |
Files: | 1,046 |
Messages: | 92,075 |
Posted today: | 1 |
(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