pec-0.2.3: test_cases/euler/Euler2.pec
module Euler2
imports
Prelude
where
main :: () -> I32
main () = do
i = new (1 :: W32)
t = new 0
tot = new 0
for 2 (\j -> j <= 4000000) (\j -> j + @t)
(\j -> do
when (is_even j) (tot += j)
t <- @i
i <- j
)
assert (@tot == 4613732)
putW @tot
0
is_even :: W32 -> Bool
is_even x => (x % 2) == 0