summaryrefslogtreecommitdiff
path: root/testdata/swizzling.out
blob: 59ed8ba70ab4f337a3daf2ebaac5d1f80d8f9431 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
main :: Bool
main = True
------------ desugared source code
v = _lhs v (_rhs (V3 1.0 2.0 3.0))

v2 = _lhs v2 (_rhs (swizzvector v (V2 Sx Sx)))

v3 = _lhs v3 (_rhs (swizzscalar v Sx))

main
  = _lhs
    main
    (_rhs
      ((\(a :: _) -> case'VecS
          (\(_ :: _) (_ :: _) -> _)
          (\(_ :: _) (_ :: _) -> undefined)
          (\(b :: _) (c :: _) (d :: _) -> case'Bool
            (\(_ :: _) -> _)
            undefined
            (case'Bool
              (\(_ :: _) -> _)
              undefined
              (case'Bool (\(_ :: _) -> _) undefined True (2.0 == d))
              (1.0 == c))
            (1.0 == b))
          (\(_ :: _) (_ :: _) (_ :: _) (_ :: _) -> undefined)
          a)
        (swizzvector v (V3 Sx Sx Sy))))
------------ core code
main :: Bool
main = _rhs True

v :: VecS Float 3
v = _rhs (V3 1.0 2.0 3.0)

v2 :: VecS Float 2
v2 = _rhs (V2 (swizzscalar 'Float 3 v Sx) (swizzscalar 'Float 3 v Sx))

v3 :: Float
v3 = _rhs 1.0
------------ tooltips
3:1-3:2
    VecS Float 3
3:5-3:7
    forall a . a -> a -> a -> VecS a 3
3:5-3:11
    Float -> Float -> VecS Float 3
3:5-3:15
    Float -> VecS Float 3
3:5-3:19
    VecS Float 3
3:8-3:11
    Float
3:12-3:15
    Float
3:16-3:19
    Float
4:1-4:3
    VecS Float 2
4:6-4:7
    VecS Float 3
4:6-4:10
    VecS Float 2
5:1-5:3
    Float
5:6-5:7
    VecS Float 3
5:6-5:9
    Float
7:1-7:5
    Bool
7:8-8:27
    Bool
7:13-7:14
    VecS Float 3
7:13-7:18
    VecS Float 3
8:23-8:27
    Bool | Bool | Bool | Bool
------------ warnings
Uncovered pattern(s) at testdata/swizzling.lc:7:13:
main = case v%xxy of
            ^^^^^
Missing case(s):
     (V2 _ _)
     (V3 _ _ _) | False <- 1.0 == _c
     (V3 _ _ _) | True <- 1.0 == _c, False <- 1.0 == _b
     (V3 _ _ _) | True <- 1.0 == _c, True <- 1.0 == _b, False <- 2.0 == _a
     (V4 _ _ _ _)