diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-03-31 20:54:35 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-03-31 20:54:35 -0700 |
commit | 238b309af9310dc7508696df0513c1a5036aea49 (patch) | |
tree | f89157c10b2c5e6dfd85ccb1a68f976cd738b87a /testcases-iter | |
parent | 40d1cc8671870ee13184d0fb5d96a6472886ad66 (diff) | |
download | cppawk-238b309af9310dc7508696df0513c1a5036aea49.tar.gz cppawk-238b309af9310dc7508696df0513c1a5036aea49.tar.bz2 cppawk-238b309af9310dc7508696df0513c1a5036aea49.zip |
loop: add summing, maximizing, while, until.
Diffstat (limited to 'testcases-iter')
-rw-r--r-- | testcases-iter | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/testcases-iter b/testcases-iter index 59f9548..ef2a9b0 100644 --- a/testcases-iter +++ b/testcases-iter @@ -224,3 +224,80 @@ c K Y 1 100 c K Y 2 101 c K Y 3 102 (1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3) +-- +11: + +$cppawk ' +#include <iter.h> + +BEGIN { + loop (range(i, 1, 10), + summing(s, i)) + { + print s + } + print "sum =", s +}' +: +1 +3 +6 +10 +15 +21 +28 +36 +45 +55 +sum = 55 +-- +12: + +$cppawk ' +#include <iter.h> + +BEGIN { + loop (from_step (vel, 5, -1), + from_step (pos, 0, vel), + while (pos >= 0), + maximizing (maxpos, pos)) + { + print pos + } + print "maxpos =", maxpos +}' +: +0 +4 +7 +9 +10 +10 +9 +7 +4 +0 +maxpos = 10 +-- +13: + +$cppawk ' +#include <iter.h> + +BEGIN { + loop (from_step (vel, 5, -1), + from_step (pos, 0, vel), + until (vel <= 0), + maximizing (maxpos, pos)) + { + print pos + } + print "maxpos =", maxpos +}' +: +0 +4 +7 +9 +10 +maxpos = 10 |