@@ -0,0 +1,38 @@
3+data F = mkF Integer Integer Integer
5+loop : Nat -> Nat -> List Integer -> IO()
6+loop n k' Nil = putStrLn $ (pack $ Vect.replicate n ' ') ++ "\t:" ++ show k'
7+loop Z k' xs = do putStrLn ("\t:"++show k')
9+loop (S k) k' (x::xs) = do putStr (show x)
13+fn k = mkF k (4*k+2) (2*k+1)
15+flr : Integer -> F -> Integer
16+flr x (mkF q r t) = (q*x + r) `div` t
19+comp (mkF q r t) (mkF u v x) = mkF (q*u) (q*v+r*x) (t*x)
21+str : F -> Integer -> Nat -> List Integer
23+str z k (S n) = if(y == flr 4 z)
24+ then y :: str (comp (mkF 10 (-10*y) 1) z ) k n
25+ else str (comp z (fn k)) (k+1) (S n)
31+ let n = fromIntegerNat (the Integer (cast a))
32+ let l = str (mkF 1 0 1) 1 n