fork(1) download
  1. ; logistic map
  2.  
  3. (define r #f)
  4. (define x #f)
  5.  
  6. (define (reset z)
  7. (set! r z)
  8. (set! x 0.5))
  9.  
  10. (define (logistic)
  11. (let ((new-x (* r x (- 1 x))))
  12. (set! x new-x)
  13. x))
  14.  
  15. (define (drop n)
  16. (do ((n n (- n 1))) ((zero? n))
  17. (logistic)))
  18.  
  19. (define (take n)
  20. (let loop ((n n) (zs (list)))
  21. (if (zero? n) (reverse zs)
  22. (loop (- n 1) (cons (logistic) zs)))))
  23.  
  24. (reset 0.75)
  25. (drop 1000)
  26. (display (take 10)) (newline)
  27.  
  28. (reset 1.75)
  29. (drop 1000)
  30. (display (take 10)) (newline)
  31.  
  32. (reset 2.75)
  33. (drop 1000)
  34. (display (take 10)) (newline)
  35.  
  36. (reset 3.75)
  37. (drop 1000)
  38. (display (take 10)) (newline)
Success #stdin #stdout 0.05s 50936KB
stdin
Standard input is empty
stdout
(1.1801375113691321e-126 8.851031335268491e-127 6.638273501451368e-127 4.978705126088526e-127 3.734028844566395e-127 2.8005216334247964e-127 2.1003912250685973e-127 1.575293418801448e-127 1.181470064101086e-127 8.861025480758144e-128)
(0.42857142857142855 0.42857142857142855 0.42857142857142855 0.42857142857142855 0.42857142857142855 0.42857142857142855 0.42857142857142855 0.42857142857142855 0.42857142857142855 0.42857142857142855)
(0.6363636363636365 0.6363636363636362 0.6363636363636365 0.6363636363636362 0.6363636363636365 0.6363636363636362 0.6363636363636365 0.6363636363636362 0.6363636363636365 0.6363636363636362)
(0.8591179385506535 0.45387864829173385 0.9295230784372591 0.24566221908667554 0.6949210995003217 0.7950216186359463 0.6111084170153485 0.8912059487562879 0.36359214621634744 0.8677233653480164)