summaryrefslogtreecommitdiff
path: root/test/pending/shootout/pidigits.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/pending/shootout/pidigits.scala')
-rw-r--r--test/pending/shootout/pidigits.scala69
1 files changed, 0 insertions, 69 deletions
diff --git a/test/pending/shootout/pidigits.scala b/test/pending/shootout/pidigits.scala
deleted file mode 100644
index b0becafda8..0000000000
--- a/test/pending/shootout/pidigits.scala
+++ /dev/null
@@ -1,69 +0,0 @@
-/* ------------------------------------------------------------------ */
-/* The Computer Language Shootout */
-/* http://shootout.alioth.debian.org/ */
-/* */
-/* Contributed by Anthony Borla */
-/* ------------------------------------------------------------------ */
-
-object pidigits
-{
- def main(args: Array[String]): Unit =
- {
- val N: Int = Integer.parseInt(args(0)); var i: Int = 10
-
- while (i <= N)
- {
- System.out.println(pi_digits(10) + "\t:" + i)
- i = i + 10
- }
-
- i = i - 10
-
- if (i < N)
- {
- System.out.println(pi_digits(N - i) + "\t:" + N)
- }
- }
-
- def compose(a: Array[BigInt], b: Array[BigInt]): Array[BigInt] =
- {
- return Array(a(0) * b(0),
- a(0) * b(1) + a(1) * b(3),
- a(2) * b(0) + a(3) * b(2),
- a(2) * b(1) + a(3) * b(3))
- }
-
- def extract(a: Array[BigInt], j: Int): BigInt =
- {
- return (a(0) * j + a(1)) / (a(2) * j + a(3))
- }
-
- def pi_digits(c: Int): String =
- {
- val r: StringBuffer = new StringBuffer(); var i: Int = 0
-
- while (i < c)
- {
- var y: BigInt = extract(Z, 3)
-
- while (y != extract(Z, 4))
- {
- K = K + 1; Z = compose(Z, Array(K, 4 * K + 2, 0, 2 * K + 1))
- y = extract(Z, 3)
- }
-
-// Z = compose(Array(10, (-y) * 10, 0, 1), Z)
-
- Z = compose(Array(10, y * (-10), 0, 1), Z)
-
- r.append(y); i = i + 1;
- }
-
- return r.toString()
- }
-
- var K: Int = 0
-
- var Z: Array[BigInt] = Array(1, 0, 0, 1)
-}
-