summaryrefslogtreecommitdiffhomepage
path: root/misc/examples/forfilter.c
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2023-03-27 19:57:09 +0200
committerTyge Løvset <[email protected]>2023-03-27 19:57:09 +0200
commite35036deef4fc8f17cc9221e2e666dfdb832ba78 (patch)
treeb41e45015be7454ef3f82092b558da6b365d6a57 /misc/examples/forfilter.c
parentede39bc98a758674485796174ea860515ec281e6 (diff)
downloadSTC-modified-e35036deef4fc8f17cc9221e2e666dfdb832ba78.tar.gz
STC-modified-e35036deef4fc8f17cc9221e2e666dfdb832ba78.zip
More RAII cleanup in examples. Also removed gauss1.c and new_deq.c
Diffstat (limited to 'misc/examples/forfilter.c')
-rw-r--r--misc/examples/forfilter.c39
1 files changed, 20 insertions, 19 deletions
diff --git a/misc/examples/forfilter.c b/misc/examples/forfilter.c
index fdf8be6f..0d72bd1b 100644
--- a/misc/examples/forfilter.c
+++ b/misc/examples/forfilter.c
@@ -28,17 +28,15 @@ void demo1(void)
printf(" %d", *i.ref);
puts("");
- int res, sum = 0;
+ int sum = 0;
c_forfilter (i, IVec, vec,
- c_flt_skipwhile(i, *i.ref != 80) &&
- c_flt_skip(i, 1) &&
- c_flt_skipwhile(i, *i.ref != 80) &&
- flt_isEven(i) &&
- flt_skipValue(i, 80) &&
- c_flt_take(i, 5) // short-circuit
+ c_flt_skipwhile(i, *i.ref != 80) &&
+ c_flt_skip(i, 1) &&
+ flt_isEven(i) &&
+ flt_skipValue(i, 80) &&
+ c_flt_take(i, 5) // short-circuit
){
- sum += res = flt_square(i);
- printf(" %d", res);
+ sum += flt_square(i);
}
printf("\n sum: %d\n", sum);
@@ -62,11 +60,13 @@ void demo2(void)
{
IVec vector = {0};
- c_forfilter (x, crange, crange_obj(INT64_MAX),
- c_flt_skipwhile(x, *x.ref != 11) &&
- *x.ref % 2 != 0 &&
- c_flt_take(x, 5))
+ c_forfilter (x, crange, crange_object(INT64_MAX),
+ c_flt_skipwhile(x, *x.ref != 11) &&
+ (*x.ref % 2) != 0 &&
+ c_flt_take(x, 5)
+ ){
IVec_push(&vector, (int)(*x.ref * *x.ref));
+ }
c_foreach (x, IVec, vector)
printf(" %d", *x.ref);
@@ -130,13 +130,14 @@ void demo5(void)
crange R = crange_make(1963, INT32_MAX);
c_forfilter (i, crange, R,
- c_flt_skip(i,15) &&
- c_flt_skipwhile(i, flt_mid_decade(i)) &&
- c_flt_skip(i,30) &&
- flt_even(i) &&
- c_flt_take(i,5))
+ c_flt_skip(i,15) &&
+ c_flt_skipwhile(i, flt_mid_decade(i)) &&
+ c_flt_skip(i,30) &&
+ flt_even(i) &&
+ c_flt_take(i,5)
+ ){
printf(" %lld", *i.ref);
-
+ }
puts("");
}