#!/usr/bin/newlisp # sieve - benchmark # requires newLISP v. 7.5.2 or later (define (main) (set 'NUM (integer (main-args 2))) (dotimes (p NUM) (set 'flags (array 8193 '(1))) (set 'cnt 0) (for (i 2 8192) (if (= (nth i flags) 1) (begin (set 'k (+ i i)) (while (<= k 8192) (nth-set k flags 0) (inc 'k i)) (inc 'cnt))))) (println "Count: " cnt)) (main) (exit)