diff options
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/forfilter.c | 20 | ||||
| -rw-r--r-- | examples/prime.c | 3 |
2 files changed, 13 insertions, 10 deletions
diff --git a/examples/forfilter.c b/examples/forfilter.c index 2957fe63..336407de 100644 --- a/examples/forfilter.c +++ b/examples/forfilter.c @@ -2,6 +2,7 @@ #define i_implement #include <stc/cstr.h> #include <stc/csview.h> +#include <stc/views.h> #define i_type IVec #define i_val int @@ -29,8 +30,8 @@ void demo1(void) puts(""); int res, sum = 0; - c_forfilter (i, IVec, vec, - c_flt_skipwhile(i, *i.ref != 80) + 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) @@ -59,9 +60,10 @@ fn main() { void demo2(void) { c_auto (IVec, vector) { - crange rv = crange_make(1, INTMAX_MAX); - c_forfilter (x, crange, rv, - flt_isOdd(x) + crange rv = crange_init(crange_MAX); + c_forfilter (x, crange, rv + , flt_isOdd(x) + && c_flt_skipwhile(x, *x.ref != 11) , c_flt_take(x, 5)) IVec_push(&vector, flt_square(x)); @@ -121,12 +123,12 @@ void demo5(void) #define flt_even(i) ((*i.ref & 1) == 0) #define flt_mid_decade(i) ((*i.ref % 10) != 0) puts("demo5:"); - crange r1 = crange_make(1963, INTMAX_MAX); - c_forfilter (i, crange, r1, - c_flt_skip(i,15) + crange r1 = crange_init(1963, crange_MAX); + c_forfilter (i, crange, r1 + , c_flt_skip(i,15) && c_flt_skipwhile(i, flt_mid_decade(i)) && c_flt_skip(i,30) - && flt_isEven(i) + && flt_even(i) , c_flt_take(i,10)) printf(" %lld", *i.ref); puts(""); diff --git a/examples/prime.c b/examples/prime.c index 613048bf..3f0c4f6e 100644 --- a/examples/prime.c +++ b/examples/prime.c @@ -2,6 +2,7 @@ #include <math.h> #include <time.h> #include <stc/cbits.h> +#include <stc/views.h> cbits sieveOfEratosthenes(size_t n) { @@ -40,7 +41,7 @@ int main(void) puts(""); puts("Show the last 50 primes using a temporary crange generator:"); - c_forfilter (i, crange, *(crange[]){crange_make(n - 1, 0, -2)} + c_forfilter (i, crange, c_range(n - 1, 0, -2) , cbits_test(&primes, *i.ref>>1) , c_flt_take(i, 50)) { printf("%lld ", *i.ref); |
