Using Fixpoint to Solve Mathmatic Equation ( 无限float运算的扩展 fixpoint style)

来源:互联网 发布:查看淘宝客pid 编辑:程序博客网 时间:2024/05/22 15:52

(defun  fixpoint  ( x  y)

 

(funcall   y    (funcall  x  x  y) )

 

)

 

(setq  fun (fixpoint  'fixpoint

(lambda (s)   

(lambda ( f check init result)

(if  (funcall check  (funcall f  init) init )

       result

     (progn

     (print init)

     (print  result)

     (funcall   s   f   check   (funcall f  init) (+ result init) )

     )

)

)

)

)

)

 

 

(funcall  fun  (lambda(x)(/  x 2 ) )

      (lambda (x y)(if (<  (abs (-  x  y))  (/ 1  1000000) ) t  nil))  1  0)

 

(funcall  fun  (lambda(x)(/  x 2 ) )

      (lambda (x y)(if (<  (abs (-  x  y))  (/ 1  1000000) ) t  nil))  2  0)

 

(funcall  fun  (lambda(x)(/  x 2 ) )

      (lambda (x y)(if (<  (abs (-  x  y))  (/ 1  1000000) ) t  nil))  3  0)

 

 

原创粉丝点击