retroforth/example/adding-vectors.retro
crc 9e03717deb normalize names for examples (with a couple of exceptions), closes #38
FossilOrigin-Name: 088675e452ed86a712563c8b2597fe4d47da59bdea0e40becdd1e028a84c47b0
2021-01-24 01:13:04 +00:00

24 lines
423 B
Forth

This is an example adding two three element vectors.
~~~
:vadd (v1v2v3-)
'abc 'cabcabcab reorder
[ #2 + ] tri@ [ fetch ] bi@ + swap store
[ n:inc ] tri@ [ fetch ] bi@ + swap store
[ fetch ] bi@ + swap store ;
~~~
A test case:
```
'a d:create #1 , #2 , #3 ,
'b d:create #2 , #3 , #4 ,
'c d:create #3 allot
&a &b &c vadd
&c fetch-next n:put nl
fetch-next n:put nl
fetch n:put nl
```