diff options
Diffstat (limited to 'testdata/complex.out')
-rw-r--r-- | testdata/complex.out | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/testdata/complex.out b/testdata/complex.out index 1ae39c8d..18a95a8c 100644 --- a/testdata/complex.out +++ b/testdata/complex.out | |||
@@ -1,15 +1,21 @@ | |||
1 | main is not found | ||
1 | ------------ desugared source code | 2 | ------------ desugared source code |
2 | data Repr :: Type where | 3 | data Repr :: Type where |
3 | Normal :: Repr | 4 | Normal :: Repr |
4 | Polar :: Repr | 5 | Polar :: Repr |
6 | |||
5 | data Complex :: Repr -> Type where | 7 | data Complex :: Repr -> Type where |
6 | Complex :: forall (a :: _) . Float -> Float -> Complex a | 8 | Complex :: forall (a :: _) . Float -> Float -> Complex a |
9 | |||
7 | repr :: forall (a :: _) . Complex a -> Repr | 10 | repr :: forall (a :: _) . Complex a -> Repr |
8 | repr = \ @(a :: _) _ -> _rhs a | 11 | repr = \ @(a :: _) _ -> _rhs a |
12 | |||
9 | normal :: Float -> Float -> Complex Normal | 13 | normal :: Float -> Float -> Complex Normal |
10 | normal = \(a :: _) (b :: _) -> _rhs (Complex a b) | 14 | normal = \(a :: _) (b :: _) -> _rhs (Complex a b) |
15 | |||
11 | polar :: Float -> Float -> Complex Polar | 16 | polar :: Float -> Float -> Complex Polar |
12 | polar = \(a :: _) (b :: _) -> _rhs (Complex a b) | 17 | polar = \(a :: _) (b :: _) -> _rhs (Complex a b) |
18 | |||
13 | cabs :: forall (a :: _) . Complex a -> Float | 19 | cabs :: forall (a :: _) . Complex a -> Float |
14 | cabs | 20 | cabs |
15 | = \ @(a :: _) (b :: _) -> case'Repr | 21 | = \ @(a :: _) (b :: _) -> case'Repr |
@@ -17,6 +23,7 @@ cabs | |||
17 | (case'Complex (\_ _ -> _) (\(c :: _) (d :: _) -> _rhs (sqrt (c * c + d * d))) b) | 23 | (case'Complex (\_ _ -> _) (\(c :: _) (d :: _) -> _rhs (sqrt (c * c + d * d))) b) |
18 | (case'Complex (\_ _ -> _) (\(e :: _) _ -> _rhs e) b) | 24 | (case'Complex (\_ _ -> _) (\(e :: _) _ -> _rhs e) b) |
19 | a | 25 | a |
26 | |||
20 | toPolar :: Complex Normal -> Complex Polar | 27 | toPolar :: Complex Normal -> Complex Polar |
21 | toPolar | 28 | toPolar |
22 | = \(a :: _) -> case'Complex | 29 | = \(a :: _) -> case'Complex |
@@ -39,13 +46,16 @@ toPolar | |||
39 | (polar d (fromInt 0 - pi / 2.0)) | 46 | (polar d (fromInt 0 - pi / 2.0)) |
40 | undefined))))) | 47 | undefined))))) |
41 | a | 48 | a |
49 | |||
42 | toNormal :: Complex Polar -> Complex Normal | 50 | toNormal :: Complex Polar -> Complex Normal |
43 | toNormal | 51 | toNormal |
44 | = \(a :: _) -> case'Complex | 52 | = \(a :: _) -> case'Complex |
45 | (\_ _ -> _) | 53 | (\_ _ -> _) |
46 | (\(b :: _) (c :: _) -> _rhs (Complex (b * cos c) (b * sin c))) | 54 | (\(b :: _) (c :: _) -> _rhs (Complex (b * cos c) (b * sin c))) |
47 | a | 55 | a |
56 | |||
48 | it_should_fail = \(a :: _) -> case'Complex (\_ _ -> _) (\(b :: _) _ -> _rhs b) a | 57 | it_should_fail = \(a :: _) -> case'Complex (\_ _ -> _) (\(b :: _) _ -> _rhs b) a |
58 | |||
49 | add :: forall (a :: _) (b :: _) . Complex a -> Complex b -> Complex a | 59 | add :: forall (a :: _) (b :: _) . Complex a -> Complex b -> Complex a |
50 | add | 60 | add |
51 | = \ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr | 61 | = \ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr |
@@ -63,6 +73,7 @@ add | |||
63 | b) | 73 | b) |
64 | (_rhs undefined) | 74 | (_rhs undefined) |
65 | a | 75 | a |
76 | |||
66 | mul :: forall (a :: _) (b :: _) . Complex a -> Complex b -> Complex a | 77 | mul :: forall (a :: _) (b :: _) . Complex a -> Complex b -> Complex a |
67 | mul | 78 | mul |
68 | = \ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr | 79 | = \ @(a :: _) @(b :: _) (c :: _) (d :: _) -> case'Repr |
@@ -80,12 +91,15 @@ mul | |||
80 | b) | 91 | b) |
81 | (_rhs undefined) | 92 | (_rhs undefined) |
82 | a | 93 | a |
94 | |||
83 | s :: forall (a :: _) . Complex a -> Complex a | 95 | s :: forall (a :: _) . Complex a -> Complex a |
84 | s = \(a :: _) -> _rhs (mul a a `add` a) | 96 | s = \(a :: _) -> _rhs (mul a a `add` a) |
97 | |||
85 | s4 = \(a :: _) -> _rhs (s (s (s (s a)))) | 98 | s4 = \(a :: _) -> _rhs (s (s (s (s a)))) |
99 | |||
86 | iter = _rhs s4 | 100 | iter = _rhs s4 |
101 | |||
87 | mandel = \(a :: _) -> _rhs (cabs (iter a) < 2.0) | 102 | mandel = \(a :: _) -> _rhs (cabs (iter a) < 2.0) |
88 | main is not found | ||
89 | ------------ trace | 103 | ------------ trace |
90 | 'Repr :: Type | 104 | 'Repr :: Type |
91 | Normal :: Repr | 105 | Normal :: Repr |