]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/Primes.scl
Automatic execution of SCL tests in Maven
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / scl / Primes.scl
diff --git a/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/Primes.scl b/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/scl/Primes.scl
new file mode 100644 (file)
index 0000000..830186b
--- /dev/null
@@ -0,0 +1,24 @@
+import "JavaBuiltin" as Java\r
+\r
+infixl 7  (%)\r
+infixl 6  (+)\r
+infix  4  (==), (<)\r
+\r
+(+) = Java.iadd\r
+(%) = Java.irem\r
+(<) = Java.icmplt\r
+(==) = Java.icmpeq\r
+\r
+isPrime p = isPrimeAux (2 :: Integer) p\r
+  where\r
+    isPrimeAux d p = if d == p then True\r
+                     else if p % d == 0 then False\r
+                     else isPrimeAux (d+1) p\r
+                   \r
+nextPrime p = if isPrime p \r
+              then p\r
+              else nextPrime (p+(1 :: Integer))                   \r
+                     \r
+main = nextPrime 32\r
+--\r
+37
\ No newline at end of file