home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
EFFO
/
pd6.lzh
/
TST
/
task_sieve.tst
< prev
next >
Wrap
Text File
|
1989-12-23
|
770b
|
45 lines
.( Loading Multi-tasking Sieve benchmark...) cr
#include structures.f83
#include multi_tasking.f83
structures multi-tasking forth definitions
ONE-TO-ONE CHAN parameter
24 24 task.type FILTER ( -- )
ptr previous
ptr next
long prime
task.body
parameter receive previous !
nil next !
parameter receive dup . prime !
begin
previous @ receive dup
prime @ mod
if next @ ?dup
if send
else
new FILTER drop
ONE-TO-ONE (structures) new CHAN dup next !
parameter send
parameter send
then
else
drop
then
again
task.end
: task-sieve ( -- )
new FILTER drop
ONE-TO-ONE (structures) new CHAN dup parameter send
2 parameter send
8192 3 do
i over send
loop
drop ;
forth only