-anew task-tut.fth\r
-\r
-: SUM.OF.N.A ( N -- SUM[N] , calculate sum of N integers )\r
- 0 \ starting value of SUM\r
- BEGIN\r
- OVER 0> \ Is N greater than zero?\r
- WHILE\r
- OVER + \ add N to sum\r
- SWAP 1- SWAP \ decrement N\r
- REPEAT\r
- SWAP DROP \ get rid on N\r
- ;\r
-\r
-: SUM.OF.N.B ( N -- SUM[N] )\r
- 0 SWAP \ starting value of SUM\r
- 1+ 0 \ set indices for DO LOOP\r
- ?DO \ safer than DO if N=0\r
- I +\r
- LOOP\r
-;\r
-\r
-: SUM.OF.N.C ( N -- SUM[N] )\r
- 0 \ starting value of SUM\r
- BEGIN ( -- N' SUM )\r
- OVER +\r
- SWAP 1- SWAP\r
- OVER 0<\r
- UNTIL\r
- SWAP DROP\r
-;\r
-\r
-: SUM.OF.N.D ( N -- SUM[N] )\r
- >R \ put NUM on return stack\r
- 0 \ starting value of SUM\r
- BEGIN ( -- SUM )\r
- R@ + \ add num to sum\r
- R> 1- DUP >R\r
- 0<\r
- UNTIL\r
- RDROP \ get rid of NUM\r
-;\r
-\r
-: SUM.OF.N.E { NUM | SUM -- SUM[N] , use return stack }\r
- BEGIN \r
- NUM +-> SUM \ add NUM to SUM\r
- -1 +-> NUM \ decrement NUM\r
- NUM 0<\r
- UNTIL\r
- SUM \ return SUM\r
-;\r
-\r
-: SUM.OF.N.F ( NUM -- SUM[N] , Gauss' method )\r
- DUP 1+ * 2/\r
-;\r
-\r
-\r
-: TTT\r
- 10 0\r
- DO\r
- I SUM.OF.N.A .\r
- I SUM.OF.N.B .\r
- I SUM.OF.N.C .\r
- I SUM.OF.N.D .\r
- I SUM.OF.N.E .\r
- I SUM.OF.N.F .\r
- CR\r
- LOOP\r
-;\r
-TTT\r
-\r
+anew task-tut.fth
+
+: SUM.OF.N.A ( N -- SUM[N] , calculate sum of N integers )
+ 0 \ starting value of SUM
+ BEGIN
+ OVER 0> \ Is N greater than zero?
+ WHILE
+ OVER + \ add N to sum
+ SWAP 1- SWAP \ decrement N
+ REPEAT
+ SWAP DROP \ get rid on N
+ ;
+
+: SUM.OF.N.B ( N -- SUM[N] )
+ 0 SWAP \ starting value of SUM
+ 1+ 0 \ set indices for DO LOOP
+ ?DO \ safer than DO if N=0
+ I +
+ LOOP
+;
+
+: SUM.OF.N.C ( N -- SUM[N] )
+ 0 \ starting value of SUM
+ BEGIN ( -- N' SUM )
+ OVER +
+ SWAP 1- SWAP
+ OVER 0<
+ UNTIL
+ SWAP DROP
+;
+
+: SUM.OF.N.D ( N -- SUM[N] )
+ >R \ put NUM on return stack
+ 0 \ starting value of SUM
+ BEGIN ( -- SUM )
+ R@ + \ add num to sum
+ R> 1- DUP >R
+ 0<
+ UNTIL
+ RDROP \ get rid of NUM
+;
+
+: SUM.OF.N.E { NUM | SUM -- SUM[N] , use return stack }
+ BEGIN
+ NUM +-> SUM \ add NUM to SUM
+ -1 +-> NUM \ decrement NUM
+ NUM 0<
+ UNTIL
+ SUM \ return SUM
+;
+
+: SUM.OF.N.F ( NUM -- SUM[N] , Gauss' method )
+ DUP 1+ * 2/
+;
+
+
+: TTT
+ 10 0
+ DO
+ I SUM.OF.N.A .
+ I SUM.OF.N.B .
+ I SUM.OF.N.C .
+ I SUM.OF.N.D .
+ I SUM.OF.N.E .
+ I SUM.OF.N.F .
+ CR
+ LOOP
+;
+TTT
+