ref: 9843290d44b6266758c478838d57a9478af39aa3
dir: /lib/thread/ncpu+linux.myr/
use std use sys pkg thread = const ncpu : (-> int) ;; const ncpu = { var cpubuf : uint64[4] var n sys.sched_getaffinity(sys.getpid(), sizeof(uint64[4]), (&cpubuf : uint64#)) n = 0 for b : cpubuf[:] if b != 0 n += count(b) ;; ;; -> n } const count = {b var n = 0 for var i = 0; i < 8*sizeof(uint64); i++ if b & (1<<i) != 0 n++ ;; ;; -> n }