Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/resources/contents/code/extensions/test.dcl
- This file was added.
module fsieve | |||||
import StdClass; // RWS | |||||
import StdInt, StdReal | |||||
NrOfPrimes :== 3000 | |||||
primes :: [Int] | |||||
primes = pr where pr = [5 : sieve 7 4 pr] | |||||
sieve :: Int !Int [Int] -> [Int] | |||||
sieve g i prs | |||||
| isPrime prs g (toInt (sqrt (toReal g))) = [g : sieve` g i prs] | |||||
| otherwise = sieve (g + i) (6 - i) prs | |||||
sieve` :: Int Int [Int] -> [Int] | |||||
sieve` g i prs = sieve (g + i) (6 - i) prs | |||||
isPrime :: [Int] !Int Int -> Bool | |||||
isPrime [f:r] pr bd | |||||
| f>bd = True | |||||
| pr rem f==0 = False | |||||
| otherwise = isPrime r pr bd | |||||
select :: [x] Int -> x | |||||
select [f:r] 1 = f | |||||
select [f:r] n = select r (n - 1) | |||||
Start :: Int | |||||
Start = select [2, 3 : primes] NrOfPrimes | |||||
No newline at end of file |