summaryrefslogtreecommitdiff
path: root/testdata/Prelude.out
diff options
context:
space:
mode:
authorPéter Diviánszky <divipp@gmail.com>2016-05-06 12:29:36 +0200
committerPéter Diviánszky <divipp@gmail.com>2016-05-06 12:29:36 +0200
commitd353a29bb93d3105a763465300b28250117c3f40 (patch)
tree1517e23109d5e3c266b634b3c7af4dd4ca29e4d7 /testdata/Prelude.out
parent3430070058610b6aeab2543bc050bb1cf2e95d0c (diff)
show typechecked source code in .out files & fix local function handling (again)
Diffstat (limited to 'testdata/Prelude.out')
-rw-r--r--testdata/Prelude.out1402
1 files changed, 1193 insertions, 209 deletions
diff --git a/testdata/Prelude.out b/testdata/Prelude.out
index 90f52a55..556b39e2 100644
--- a/testdata/Prelude.out
+++ b/testdata/Prelude.out
@@ -12,7 +12,7 @@ infixr 3 ***
12 12
13infixr 0 $ 13infixr 0 $
14 14
15const = \(a :: _) _ -> _rhs a 15const = \(a :: _) (_ :: _) -> _rhs a
16 16
17otherwise = _rhs True 17otherwise = _rhs True
18 18
@@ -45,10 +45,10 @@ pi = _rhs 3.141592653589793
45zip :: forall (a :: _) (b :: _) . [a] -> [b] -> [(a, b)] 45zip :: forall (a :: _) (b :: _) . [a] -> [b] -> [(a, b)]
46zip 46zip
47 = \(a :: _) (b :: _) -> case'List 47 = \(a :: _) (b :: _) -> case'List
48 (\_ -> _) 48 (\(_ :: _) -> _)
49 (_rhs []) 49 (_rhs [])
50 (\(c :: _) (d :: _) -> case'List 50 (\(c :: _) (d :: _) -> case'List
51 (\_ -> _) 51 (\(_ :: _) -> _)
52 (_rhs []) 52 (_rhs [])
53 (\(e :: _) (f :: _) -> _rhs ((c, e) : zip d f)) 53 (\(e :: _) (f :: _) -> _rhs ((c, e) : zip d f))
54 b) 54 b)
@@ -57,7 +57,7 @@ zip
57unzip :: forall (a :: _) (b :: _) . [(a, b)] -> ([a], [b]) 57unzip :: forall (a :: _) (b :: _) . [(a, b)] -> ([a], [b])
58unzip 58unzip
59 = \(a :: _) -> case'List 59 = \(a :: _) -> case'List
60 (\_ -> _) 60 (\(_ :: _) -> _)
61 (_rhs ([], [])) 61 (_rhs ([], []))
62 (\(b :: _) (c :: _) -> hlistConsCase 62 (\(b :: _) (c :: _) -> hlistConsCase
63 _ 63 _
@@ -72,14 +72,20 @@ unzip
72 = _rhs 72 = _rhs
73 ((\(k :: _) -> hlistConsCase 73 ((\(k :: _) -> hlistConsCase
74 _ 74 _
75 (\_ (l :: _) -> hlistConsCase _ (\(m :: _) (n :: _) -> hlistNilCase _ m n) l) 75 (\(_ :: _) (l :: _) -> hlistConsCase
76 _
77 (\(m :: _) (n :: _) -> hlistNilCase _ m n)
78 l)
76 k) 79 k)
77 h); 80 h);
78 j 81 j
79 = _rhs 82 = _rhs
80 ((\(o :: _) -> hlistConsCase 83 ((\(o :: _) -> hlistConsCase
81 _ 84 _
82 (\(p :: _) (q :: _) -> hlistConsCase _ (\_ (r :: _) -> hlistNilCase _ p r) q) 85 (\(p :: _) (q :: _) -> hlistConsCase
86 _
87 (\(_ :: _) (r :: _) -> hlistNilCase _ p r)
88 q)
83 o) 89 o)
84 h) 90 h)
85 in (d : j, f : i)) 91 in (d : j, f : i))
@@ -90,36 +96,41 @@ unzip
90 96
91filter 97filter
92 = \(a :: _) (b :: _) -> case'List 98 = \(a :: _) (b :: _) -> case'List
93 (\_ -> _) 99 (\(_ :: _) -> _)
94 (_rhs []) 100 (_rhs [])
95 (\(c :: _) (d :: _) -> _rhs 101 (\(c :: _) (d :: _) -> _rhs
96 ((\(e :: _) -> case'Bool (\_ -> _) (filter a d) (c : filter a d) e) (a c))) 102 ((\(e :: _) -> case'Bool (\(_ :: _) -> _) (filter a d) (c : filter a d) e)
103 (a c)))
97 b 104 b
98 105
99tail :: forall (a :: _) . [a] -> [a] 106tail :: forall (a :: _) . [a] -> [a]
100tail 107tail
101 = \(a :: _) -> case'List (\_ -> _) (_rhs undefined) (\_ (b :: _) -> _rhs b) a 108 = \(a :: _) -> case'List
109 (\(_ :: _) -> _)
110 (_rhs undefined)
111 (\(_ :: _) (b :: _) -> _rhs b)
112 a
102 113
103pairs :: forall (a :: _) . [a] -> [(a, a)] 114pairs :: forall (a :: _) . [a] -> [(a, a)]
104pairs = \(a :: _) -> _rhs (zip a (tail a)) 115pairs = \(a :: _) -> _rhs (zip a (tail a))
105 116
106foldl' 117foldl'
107 = \(a :: _) (b :: _) (c :: _) -> case'List 118 = \(a :: _) (b :: _) (c :: _) -> case'List
108 (\_ -> _) 119 (\(_ :: _) -> _)
109 (_rhs b) 120 (_rhs b)
110 (\(d :: _) (e :: _) -> _rhs (foldl' a (a b d) e)) 121 (\(d :: _) (e :: _) -> _rhs (foldl' a (a b d) e))
111 c 122 c
112 123
113foldr1 124foldr1
114 = \(a :: _) (b :: _) -> case'List 125 = \(a :: _) (b :: _) -> case'List
115 (\_ -> _) 126 (\(_ :: _) -> _)
116 (_rhs undefined) 127 (_rhs undefined)
117 (\(c :: _) (d :: _) -> _rhs (foldr a c d)) 128 (\(c :: _) (d :: _) -> _rhs (foldr a c d))
118 b 129 b
119 130
120split 131split
121 = \(a :: _) -> case'List 132 = \(a :: _) -> case'List
122 (\_ -> _) 133 (\(_ :: _) -> _)
123 (_rhs ([], [])) 134 (_rhs ([], []))
124 (\(b :: _) (c :: _) -> _rhs 135 (\(b :: _) (c :: _) -> _rhs
125 let 136 let
@@ -128,14 +139,20 @@ split
128 = _rhs 139 = _rhs
129 ((\(g :: _) -> hlistConsCase 140 ((\(g :: _) -> hlistConsCase
130 _ 141 _
131 (\_ (h :: _) -> hlistConsCase _ (\(i :: _) (j :: _) -> hlistNilCase _ i j) h) 142 (\(_ :: _) (h :: _) -> hlistConsCase
143 _
144 (\(i :: _) (j :: _) -> hlistNilCase _ i j)
145 h)
132 g) 146 g)
133 d); 147 d);
134 f 148 f
135 = _rhs 149 = _rhs
136 ((\(k :: _) -> hlistConsCase 150 ((\(k :: _) -> hlistConsCase
137 _ 151 _
138 (\(l :: _) (m :: _) -> hlistConsCase _ (\_ (n :: _) -> hlistNilCase _ l n) m) 152 (\(l :: _) (m :: _) -> hlistConsCase
153 _
154 (\(_ :: _) (n :: _) -> hlistNilCase _ l n)
155 m)
139 k) 156 k)
140 d) 157 d)
141 in (b : e, f)) 158 in (b : e, f))
@@ -143,14 +160,14 @@ split
143 160
144mergeBy 161mergeBy
145 = \(a :: _) (b :: _) (c :: _) -> case'List 162 = \(a :: _) (b :: _) (c :: _) -> case'List
146 (\_ -> _) 163 (\(_ :: _) -> _)
147 (_rhs c) 164 (_rhs c)
148 (\(d :: _) (e :: _) -> case'List 165 (\(d :: _) (e :: _) -> case'List
149 (\_ -> _) 166 (\(_ :: _) -> _)
150 (_rhs b) 167 (_rhs b)
151 (\(f :: _) (g :: _) -> _rhs 168 (\(f :: _) (g :: _) -> _rhs
152 ((\(h :: _) -> case'Ordering 169 ((\(h :: _) -> case'Ordering
153 (\_ -> _) 170 (\(_ :: _) -> _)
154 (d : mergeBy a e (f : g)) 171 (d : mergeBy a e (f : g))
155 (f : mergeBy a (d : e) g) 172 (f : mergeBy a (d : e) g)
156 (f : mergeBy a (d : e) g) 173 (f : mergeBy a (d : e) g)
@@ -161,12 +178,13 @@ mergeBy
161 178
162sortBy 179sortBy
163 = \(a :: _) (b :: _) -> case'List 180 = \(a :: _) (b :: _) -> case'List
164 (\_ -> _) 181 (\(_ :: _) -> _)
165 (_rhs []) 182 (_rhs [])
166 (\(c :: _) (d :: _) -> case'List 183 (\(c :: _) (d :: _) -> case'List
167 (\_ -> _) 184 (\(_ :: _) -> _)
168 (_rhs [c]) 185 (_rhs [c])
169 (\_ _ -> _rhs (uncurry (mergeBy a) ((sortBy a *** sortBy a) (split b)))) 186 (\(_ :: _) (_ :: _) -> _rhs
187 (uncurry (mergeBy a) ((sortBy a *** sortBy a) (split b))))
170 d) 188 d)
171 b 189 b
172 190
@@ -178,63 +196,64 @@ fst
178 _ 196 _
179 (\(b :: _) (c :: _) -> hlistConsCase 197 (\(b :: _) (c :: _) -> hlistConsCase
180 _ 198 _
181 (\_ (d :: _) -> hlistNilCase _ (_rhs b) d) 199 (\(_ :: _) (d :: _) -> hlistNilCase _ (_rhs b) d)
182 c) 200 c)
183 a 201 a
184 202
185snd 203snd
186 = \(a :: _) -> hlistConsCase 204 = \(a :: _) -> hlistConsCase
187 _ 205 _
188 (\_ (b :: _) -> hlistConsCase 206 (\(_ :: _) (b :: _) -> hlistConsCase
189 _ 207 _
190 (\(c :: _) (d :: _) -> hlistNilCase _ (_rhs c) d) 208 (\(c :: _) (d :: _) -> hlistNilCase _ (_rhs c) d)
191 b) 209 b)
192 a 210 a
193 211
194(|||) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs b) (_rhs True) a 212(|||) = \(a :: _) (b :: _) -> case'Bool (\(_ :: _) -> _) (_rhs b) (_rhs True) a
195 213
196infixr 2 ||| 214infixr 2 |||
197 215
198(&&&) = \(a :: _) (b :: _) -> case'Bool (\_ -> _) (_rhs False) (_rhs b) a 216(&&&) = \(a :: _) (b :: _) -> case'Bool (\(_ :: _) -> _) (_rhs False) (_rhs b) a
199 217
200infixr 3 &&& 218infixr 3 &&&
201 219
202data RecItem :: Type where 220data RecItem :: Type where
203 RecItem :: String -> Type -> RecItem 221 RecItem :: String -> Type -> RecItem
204 222
205recItemType = \(a :: _) -> case'RecItem (\_ -> _) (\_ (b :: _) -> _rhs b) a 223recItemType
224 = \(a :: _) -> case'RecItem (\(_ :: _) -> _) (\(_ :: _) (b :: _) -> _rhs b) a
206 225
207data RecordC (_ :: [RecItem]) :: Type where 226data RecordC (_ :: [RecItem]) :: Type where
208 RecordCons :: forall (a :: [RecItem]) . HList (map recItemType a) -> RecordC a 227 RecordCons :: forall (a :: [RecItem]) . HList (map recItemType a) -> RecordC a
209 228
210isKeyC 229isKeyC
211 = \(a :: _) (b :: _) (c :: _) -> case'List 230 = \(a :: _) (b :: _) (c :: _) -> case'List
212 (\_ -> _) 231 (\(_ :: _) -> _)
213 (_rhs ('CEmpty "")) 232 (_rhs ('CEmpty ""))
214 (\(d :: _) (e :: _) -> case'RecItem 233 (\(d :: _) (e :: _) -> case'RecItem
215 (\_ -> _) 234 (\(_ :: _) -> _)
216 (\(f :: _) (g :: _) -> _rhs 235 (\(f :: _) (g :: _) -> _rhs
217 (primIfThenElse (a == f) (b `'EqCTt` g) (isKeyC a b e))) 236 (primIfThenElse (a == f) (b `'EqCTt` g) (isKeyC a b e)))
218 d) 237 d)
219 c 238 c
220 239
221fstTup = _rhs (hlistConsCase (_ :: _) \(a :: _) _ -> a) 240fstTup = _rhs (hlistConsCase (_ :: _) \(a :: _) (_ :: _) -> a)
222 241
223sndTup = _rhs (hlistConsCase (_ :: _) \_ (a :: _) -> a) 242sndTup = _rhs (hlistConsCase (_ :: _) \(_ :: _) (a :: _) -> a)
224 243
225project 244project
226 :: forall (a :: _) (b :: [RecItem]) 245 :: forall (a :: _) (b :: [RecItem])
227 . forall (c :: String) -> isKeyC c a b => RecordC b -> a 246 . forall (c :: String) -> isKeyC c a b => RecordC b -> a
228project 247project
229 = \ @(a :: _) @(b :: _) (c :: _) @_ (d :: _) -> case'List 248 = \ @(a :: _) @(b :: _) (c :: _) @(_ :: _) (d :: _) -> case'List
230 (\_ -> _) 249 (\(_ :: _) -> _)
231 (_rhs undefined) 250 (_rhs undefined)
232 (\(e :: _) (f :: _) -> case'RecItem 251 (\(e :: _) (f :: _) -> case'RecItem
233 (\_ -> _) 252 (\(_ :: _) -> _)
234 (\(g :: _) _ -> case'RecordC 253 (\(g :: _) (_ :: _) -> case'RecordC
235 (\_ -> _) 254 (\(_ :: _) -> _)
236 (\(h :: _) -> case'Bool 255 (\(h :: _) -> case'Bool
237 (\_ -> _) 256 (\(_ :: _) -> _)
238 (_rhs 257 (_rhs
239 (project 258 (project
240 @a 259 @a
@@ -632,7 +651,7 @@ scale = \(a :: _) (b :: _) -> _rhs (b * V4 a a a 1.0)
632fromTo :: Float -> Float -> [Float] 651fromTo :: Float -> Float -> [Float]
633fromTo 652fromTo
634 = \(a :: _) (b :: _) -> case'Bool 653 = \(a :: _) (b :: _) -> case'Bool
635 (\_ -> _) 654 (\(_ :: _) -> _)
636 (_rhs (a : fromTo (a + fromInt 1) b)) 655 (_rhs (a : fromTo (a + fromInt 1) b))
637 (_rhs []) 656 (_rhs [])
638 (a > b) 657 (a > b)
@@ -640,227 +659,1192 @@ fromTo
640(!!) :: forall (a :: _) . [a] -> Int -> a 659(!!) :: forall (a :: _) . [a] -> Int -> a
641(!!) 660(!!)
642 = \(a :: _) (b :: _) -> case'List 661 = \(a :: _) (b :: _) -> case'List
643 (\_ -> _) 662 (\(_ :: _) -> _)
644 (_rhs undefined) 663 (_rhs undefined)
645 (\(c :: _) (d :: _) -> case'Bool 664 (\(c :: _) (d :: _) -> case'Bool
646 (\_ -> _) 665 (\(_ :: _) -> _)
647 (_rhs (d !! (b - fromInt 1))) 666 (_rhs (d !! (b - fromInt 1)))
648 (_rhs c) 667 (_rhs c)
649 (fromInt 0 == b)) 668 (fromInt 0 == b))
650 a 669 a
651------------ trace 670------------ core code
652const :: forall a b . a -> b -> a 671!! :: forall a . [a] -> Int -> a
653otherwise :: Bool 672!!
654(&) :: forall a b . a -> (a -> b) -> b 673 = primFix
655($) :: forall a b . (a -> b) -> a -> b 674 (forall a . [a] -> 'Int -> a)
656(.) :: forall a b c . (b -> c) -> (a -> b) -> a -> c 675 \b c d e -> case'List
657uncurry :: forall a b c . (a -> c -> b) -> (a, c) -> b 676 (\_ -> c)
658(***) :: forall a b c d . (a -> c) -> (b -> d) -> (a, b) -> (c, d) 677 (_rhs (undefined c))
659pi :: Float 678 (\f g -> case'Bool
660zip :: forall a b . [a] -> [b] -> [(a, b)] 679 (\_ -> c)
661unzip :: forall a b . [(a, b)] -> ([a], [b]) 680 (_rhs (b c g (PrimSub 'Int TT e 1)))
662filter :: forall a . (a -> Bool) -> [a] -> [a] 681 (_rhs f)
663tail :: forall a . [a] -> [a] 682 (isEQ (primCompareInt 0 e)))
664pairs :: forall a . [a] -> [(a, a)] 683 d
665foldl' :: forall a b . (a -> b -> a) -> a -> [b] -> a 684
666foldr1 :: forall a . (a -> a -> a) -> [a] -> a 685$ :: forall a b . (a -> b) -> a -> b
667split :: forall a . [a] -> ([a], [a]) 686$ = \_ _ -> _rhs \a b -> a b
668mergeBy :: forall a . (a -> a -> Ordering) -> [a] -> [a] -> [a] 687
669sortBy :: forall a . (a -> a -> Ordering) -> [a] -> [a] 688%
670iterate :: forall a . (a -> a) -> a -> [a] 689 :: forall a (b :: Nat)
671fst :: forall a b . (a, b) -> a 690 . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a
672snd :: forall a b . (a, b) -> b 691% = \a b c d e -> _rhs (PrimMod a ('VecScalar b a) b c TT d e)
673(|||) :: Bool -> Bool -> Bool 692
674(&&&) :: Bool -> Bool -> Bool 693%! :: forall a (b :: Nat) . Num a => VecScalar b a -> a -> VecScalar b a
694%! = \a b c d e -> _rhs (PrimModS a ('VecScalar b a) b c TT d e)
695
696& :: forall a b . a -> (a -> b) -> b
697& = \_ _ a b -> _rhs (b a)
698
699&& :: Bool -> Bool -> Bool
700&& = \a b -> _rhs (PrimAnd a b)
701
702&&& :: Bool -> Bool -> Bool
703&&& = \a b -> case'Bool (\_ -> 'Bool) (_rhs False) (_rhs b) a
704
675'RecItem :: Type 705'RecItem :: Type
706'RecItem = <<type constructor with 0 indices; constructors: RecItem>>
707
708'RecordC :: [RecItem] -> Type
709'RecordC = <<type constructor with 0 indices; constructors: RecordCons>>
710
711* :: forall a . Num (MatVecScalarElem a) => a -> a -> a
712* = \a b c d -> _rhs (PrimMul a b c d)
713
714*! :: forall a . Num (MatVecScalarElem a) => a -> MatVecScalarElem a -> a
715*! = \a b c d -> _rhs (PrimMulS ('MatVecScalarElem a) a TT b c d)
716
717*** :: forall a b c d . (a -> c) -> (b -> d) -> (a, b) -> (c, d)
718***
719 = \a b c d e f g -> hlistConsCase
720 a
721 [b]
722 ' (c, d)
723 (\h i -> hlistConsCase
724 b
725 []
726 ' (c, d)
727 (\j k -> hlistNilCase ' (c, d) (_rhs (e h, f j)) k)
728 i)
729 g
730
731*. :: forall (a :: Nat) (b :: Nat) c . Mat a b c -> VecS c b -> Vec a c
732*. = \a b c d e -> _rhs (PrimMulMatVec a b c d e)
733
734+ :: forall a . Num (MatVecScalarElem a) => a -> a -> a
735+ = \a b c d -> _rhs (PrimAdd a b c d)
736
737+! :: forall a . Num (MatVecScalarElem a) => a -> MatVecScalarElem a -> a
738+! = \a b c d -> _rhs (PrimAddS ('MatVecScalarElem a) a TT b c d)
739
740- :: forall a . Num (MatVecScalarElem a) => a -> a -> a
741- = \a b c d -> _rhs (PrimSub a b c d)
742
743-! :: forall a . Num (MatVecScalarElem a) => a -> MatVecScalarElem a -> a
744-! = \a b c d -> _rhs (PrimSubS ('MatVecScalarElem a) a TT b c d)
745
746. :: forall a b c . (b -> c) -> (a -> b) -> a -> c
747. = \_ _ _ -> _rhs \a b c -> a (b c)
748
749.* :: forall (a :: Nat) b (c :: Nat) . VecS b a -> Mat a c b -> Vec c b
750.* = \a b c d e -> _rhs (PrimMulVecMat a b c d e)
751
752.*.
753 :: forall (a :: Nat) (b :: Nat) c (d :: Nat)
754 . Mat a b c -> Mat b d c -> Mat a d c
755.*. = \a b c d e f -> _rhs (PrimMulMatMat a b c d e f)
756
757/
758 :: forall a (b :: Nat)
759 . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a
760/ = \a b c d e -> _rhs (PrimDiv a ('VecScalar b a) b c TT d e)
761
762/! :: forall a (b :: Nat) . Num a => VecScalar b a -> a -> VecScalar b a
763/! = \a b c d e -> _rhs (PrimDivS a ('VecScalar b a) b c TT d e)
764
765/= :: forall a . a -> a -> Bool
766/= = \a b c -> _rhs (PrimNotEqual a ('MatVecScalarElem a) TT b c)
767
768<
769 :: forall (a :: Nat) b
770 . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool
771<
772 = \a b c d e -> _rhs
773 (PrimLessThan ('VecScalar a b) a b ('VecScalar a 'Bool) c TT TT d e)
774
775<=
776 :: forall (a :: Nat) b
777 . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool
778<=
779 = \a b c d e -> _rhs
780 (PrimLessThanEqual ('VecScalar a b) a b ('VecScalar a 'Bool) c TT TT d e)
781
782>
783 :: forall (a :: Nat) b
784 . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool
785>
786 = \a b c d e -> _rhs
787 (PrimGreaterThan ('VecScalar a b) a b ('VecScalar a 'Bool) c TT TT d e)
788
789>=
790 :: forall (a :: Nat) b
791 . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool
792>=
793 = \a b c d e -> _rhs
794 (PrimGreaterThanEqual ('VecScalar a b) a b ('VecScalar a 'Bool) c TT TT d e)
795
676RecItem :: String -> Type -> RecItem 796RecItem :: String -> Type -> RecItem
797RecItem = <<0th constructor of 'RecItem>>
798
799RecordCons
800 :: forall (a :: [RecItem]) . HList (map RecItem Type recItemType a) -> RecordC a
801RecordCons = <<0th constructor of 'RecordC>>
802
803abs :: forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b
804abs = _rhs \a b c d e f -> PrimAbs a b c d e f
805
806acos :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
807acos = _rhs \a b c d -> PrimACos a b c d
808
809acosh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
810acosh = _rhs \a b c d -> PrimACosH a b c d
811
812all :: forall (a :: Nat) . VecScalar a Bool -> Bool
813all = \a b -> _rhs (PrimAll a b)
814
815any :: forall (a :: Nat) . VecScalar a Bool -> Bool
816any = \a b -> _rhs (PrimAny a b)
817
818aqua :: VecS Float 4
819aqua = _rhs (V4 0.0 1.0 1.0 1.0)
820
821asin :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
822asin = _rhs \a b c d -> PrimASin a b c d
823
824asinh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
825asinh = _rhs \a b c d -> PrimASinH a b c d
826
827atan :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
828atan = _rhs \a b c d -> PrimATan a b c d
829
830atan2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a
831atan2 = _rhs \a b c d e -> PrimATan2 a b c d e
832
833atanh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
834atanh = _rhs \a b c d -> PrimATanH a b c d
835
836bAnd :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b
837bAnd = _rhs \a b c d e f g -> PrimBAnd a b c d e f g
838
839bAndS :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b
840bAndS = _rhs \a b c d e f g -> PrimBAndS a b c d e f g
841
842bNot :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b
843bNot = _rhs \a b c d e f -> PrimBNot a b c d e f
844
845bOr :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b
846bOr = _rhs \a b c d e f g -> PrimBOr a b c d e f g
847
848bOrS :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b
849bOrS = _rhs \a b c d e f g -> PrimBOrS a b c d e f g
850
851bXor :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b
852bXor = _rhs \a b c d e f g -> PrimBXor a b c d e f g
853
854bXorS :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b
855bXorS = _rhs \a b c d e f g -> PrimBXorS a b c d e f g
856
857black :: VecS Float 4
858black = _rhs (V4 0.0 0.0 0.0 1.0)
859
860blue :: VecS Float 4
861blue = _rhs (V4 0.0 0.0 1.0 1.0)
862
677case'RecItem 863case'RecItem
678 :: forall (a :: RecItem -> Type) 864 :: forall (a :: RecItem -> Type)
679 -> (forall (b :: String) c -> a ('RecItem b c)) -> forall (d :: RecItem) -> a d 865 -> (forall (b :: String) c -> a ('RecItem b c)) -> forall (d :: RecItem) -> a d
680match'RecItem 866case'RecItem = \a b c -> <<case function of a type with 0 parameters>>
681 :: forall (a :: Type -> Type) -> a RecItem -> forall b -> a b -> a b 867
682recItemType :: RecItem -> Type
683'RecordC :: [RecItem] -> Type
684RecordCons
685 :: forall (a :: [RecItem]) . HList (map RecItem Type recItemType a) -> RecordC a
686case'RecordC 868case'RecordC
687 :: forall (a :: [RecItem]) 869 :: forall (a :: [RecItem])
688 . forall (b :: RecordC a -> Type) 870 . forall (b :: RecordC a -> Type)
689 -> (forall (c :: HList (map RecItem Type recItemType a)) -> b ('RecordCons c)) 871 -> (forall (c :: HList (map RecItem Type recItemType a)) -> b ('RecordCons c))
690 -> forall (d :: RecordC a) -> b d 872 -> forall (d :: RecordC a) -> b d
691match'RecordC 873case'RecordC = \_ a b c -> <<case function of a type with 1 parameters>>
692 :: forall (a :: Type -> Type) 874
693 -> (forall (b :: [RecItem]) -> a (RecordC b)) -> forall c -> a c -> a c 875ceil :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
694isKeyC :: String -> Type -> [RecItem] -> Constraint 876ceil = _rhs \a b c d -> PrimCeil a b c d
695fstTup :: forall a (b :: [Type]) . HList (a : b) -> a 877
696sndTup :: forall a (b :: [Type]) . HList (a : b) -> HList b 878clamp :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b -> b
697project 879clamp = _rhs \a b c d e f g h -> PrimClamp a b c d e f g h
698 :: forall a (b :: [RecItem]) 880
699 . forall (c :: String) -> isKeyC c a b => RecordC b -> a 881clampS :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> a -> b
700rgb :: Float -> Float -> Float -> VecS Float 4 882clampS = _rhs \a b c d e f g h -> PrimClampS a b c d e f g h
701black :: VecS Float 4 883
702gray :: VecS Float 4
703silver :: VecS Float 4
704white :: VecS Float 4
705maroon :: VecS Float 4
706red :: VecS Float 4
707olive :: VecS Float 4
708yellow :: VecS Float 4
709green :: VecS Float 4
710lime :: VecS Float 4
711teal :: VecS Float 4
712aqua :: VecS Float 4
713navy :: VecS Float 4
714blue :: VecS Float 4
715purple :: VecS Float 4
716fuchsia :: VecS Float 4
717colorImage1 884colorImage1
718 :: forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 1 ('Color c) 885 :: forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 1 ('Color c)
886colorImage1 = _rhs \a b c d e f -> ColorImage 1 a b c d e f
887
719colorImage2 888colorImage2
720 :: forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 2 ('Color c) 889 :: forall (a :: Nat) b c . (Num b, c ~ VecScalar a b) => c -> Image 2 ('Color c)
721depthImage1 :: Float -> Image 1 'Depth 890colorImage2 = _rhs \a b c d e f -> ColorImage 2 a b c d e f
722v3FToV4F :: Vec 3 Float -> VecS Float 4 891
723radians :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 892const :: forall a b . a -> b -> a
724degrees :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 893const = \_ _ a _ -> _rhs a
725sin :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 894
726cos :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 895cos :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
727tan :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 896cos = _rhs \a b c d -> PrimCos a b c d
728sinh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 897
729cosh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 898cosh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
730tanh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 899cosh = _rhs \a b c d -> PrimCosH a b c d
731asin :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 900
732asinh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 901cross :: forall a . (a ~ VecS Float 3) => a -> a -> a
733acos :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 902cross = _rhs \a b c d -> PrimCross a b c d
734acosh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 903
735atan :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 904dFdx :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
736atanh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 905dFdx = _rhs \a b c d -> PrimDFdx a b c d
737atan2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a 906
738pow :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a 907dFdy :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
908dFdy = _rhs \a b c d -> PrimDFdy a b c d
909
910degrees :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
911degrees = _rhs \a b c d -> PrimDegrees a b c d
912
913depthImage1 :: Float -> Image 1 'Depth
914depthImage1 = _rhs \a -> DepthImage 1 a
915
916det :: forall (a :: Nat) b . Mat a a b -> Float
917det = _rhs \a b c -> PrimDeterminant a b c
918
919distance :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float
920distance = _rhs \a b c d e -> PrimDistance a b c d e
921
922dot :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float
923dot = _rhs \a b c d e -> PrimDot a b c d e
924
739exp :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 925exp :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
740log :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 926exp = _rhs \a b c d -> PrimExp a b c d
927
741exp2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 928exp2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
742log2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 929exp2 = _rhs \a b c d -> PrimExp2 a b c d
743sqrt :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 930
744inversesqrt :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 931fWidth :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
745abs :: forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b 932fWidth = _rhs \a b c d -> PrimFWidth a b c d
746sign :: forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b 933
934faceforward :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a
935faceforward = _rhs \a b c d e f -> PrimFaceForward a b c d e f
936
937filter :: forall a . (a -> Bool) -> [a] -> [a]
938filter
939 = \a -> primFix
940 ((a -> 'Bool) -> [a] -> [a])
941 \b c d -> case'List
942 (\_ -> [a])
943 (_rhs [])
944 (\e f -> _rhs (case'Bool (\_ -> [a]) (b c f) (e : b c f) (c e)))
945 d
946
947floatBitsToInt :: forall (a :: Nat) . VecScalar a Float -> VecScalar a Int
948floatBitsToInt = _rhs \a b -> PrimFloatBitsToInt a b
949
950floatBitsToWord :: forall (a :: Nat) . VecScalar a Float -> VecScalar a Word
951floatBitsToWord = _rhs \a b -> PrimFloatBitsToUInt a b
952
747floor :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 953floor :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
748trunc :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 954floor = _rhs \a b c d -> PrimFloor a b c d
749round :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 955
750roundEven :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 956foldl' :: forall a b . (a -> b -> a) -> a -> [b] -> a
751ceil :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 957foldl'
958 = \a b -> primFix
959 ((a -> b -> a) -> a -> [b] -> a)
960 \c d e f -> case'List (\_ -> a) (_rhs e) (\g h -> _rhs (c d (d e g) h)) f
961
962foldr1 :: forall a . (a -> a -> a) -> [a] -> a
963foldr1
964 = \a b c -> case'List
965 (\_ -> a)
966 (_rhs (undefined a))
967 (\d e -> _rhs (foldr a a b d e))
968 c
969
752fract :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 970fract :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
753mod :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b 971fract = _rhs \a b c d -> PrimFract a b c d
754min :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b 972
755max :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b 973fromTo :: Float -> Float -> [Float]
756modF :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> (a, a) 974fromTo
757clamp :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b -> b 975 = primFix
758clampS :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> a -> a -> b 976 ('Float -> 'Float -> ['Float])
759mix :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a 977 \a b c -> case'Bool
760mixS :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float -> a 978 (\_ -> ['Float])
761mixB 979 (_rhs (b : a (PrimAdd 'Float TT b 1.0) c))
980 (_rhs [])
981 (PrimGreaterThan 'Float 1 'Float 'Bool TT TT TT b c)
982
983fst :: forall a b . (a, b) -> a
984fst
985 = \a b c -> hlistConsCase
986 a
987 [b]
988 a
989 (\d e -> hlistConsCase b [] a (\_ f -> hlistNilCase a (_rhs d) f) e)
990 c
991
992fstTup :: forall a (b :: [Type]) . HList (a : b) -> a
993fstTup = \a b -> _rhs \c -> hlistConsCase a b a (\d _ -> d) c
994
995fuchsia :: VecS Float 4
996fuchsia = _rhs (V4 1.0 0.0 1.0 1.0)
997
998gray :: VecS Float 4
999gray = _rhs (V4 0.5 0.5 0.5 1.0)
1000
1001green :: VecS Float 4
1002green = _rhs (V4 0.0 0.5 0.0 1.0)
1003
1004intBitsToFloat :: forall (a :: Nat) . VecScalar a Int -> VecScalar a Float
1005intBitsToFloat = _rhs \a b -> PrimIntBitsToFloat a b
1006
1007inv :: forall (a :: Nat) b . Mat a a b -> Mat a a b
1008inv = _rhs \a b c -> PrimInverse a b c
1009
1010inversesqrt :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1011inversesqrt = _rhs \a b c d -> PrimInvSqrt a b c d
1012
1013isInf
762 :: forall a (b :: Nat) c 1014 :: forall a (b :: Nat) c
763 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> a -> c -> a 1015 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c
764step :: forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a 1016isInf = _rhs \a b c d e f -> PrimIsInf a b c d e f
765stepS :: forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> a -> a 1017
766smoothstep :: forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a -> a 1018isKeyC :: String -> Type -> [RecItem] -> Constraint
767smoothstepS 1019isKeyC
768 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> Float -> a -> a 1020 = primFix
1021 ('String -> Type -> ['RecItem] -> 'Constraint)
1022 \a b c d -> case'List
1023 (\_ -> 'Constraint)
1024 (_rhs (CEmpty ""))
1025 (\e f -> case'RecItem
1026 (\_ -> 'Constraint)
1027 (\g h -> _rhs
1028 (primIfThenElse 'Constraint (isEQ (primCompareString b g)) (c ~ h) (a b c f)))
1029 e)
1030 d
1031
769isNan 1032isNan
770 :: forall a (b :: Nat) c 1033 :: forall a (b :: Nat) c
771 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c 1034 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c
772isInf 1035isNan = _rhs \a b c d e f -> PrimIsNan a b c d e f
1036
1037iterate :: forall a . (a -> a) -> a -> [a]
1038iterate
1039 = primFix (forall a . (a -> a) -> a -> [a]) \b c d e -> _rhs (e : b c d (d e))
1040
1041length :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> Float
1042length = _rhs \a b c d -> PrimLength a b c d
1043
1044lime :: VecS Float 4
1045lime = _rhs (V4 0.0 1.0 0.0 1.0)
1046
1047log :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1048log = _rhs \a b c d -> PrimLog a b c d
1049
1050log2 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1051log2 = _rhs \a b c d -> PrimLog2 a b c d
1052
1053lookat :: Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 4 4 Float
1054lookat
1055 = \a b c -> _rhs
1056 (PrimMulMatMat
1057 4
1058 4
1059 'Float
1060 4
1061 (PrimTranspose
1062 4
1063 4
1064 'Float
1065 (M44F
1066 (V4
1067 (swizzscalar
1068 'Float
1069 3
1070 (PrimNormalize
1071 ('VecS 'Float 3)
1072 3
1073 TT
1074 (PrimCross
1075 ('VecS 'Float 3)
1076 TT
1077 c
1078 (PrimNormalize ('VecS 'Float 3) 3 TT (PrimSub ('VecS 'Float 3) TT a b))))
1079 Sx)
1080 (swizzscalar
1081 'Float
1082 3
1083 (PrimNormalize
1084 ('VecS 'Float 3)
1085 3
1086 TT
1087 (PrimCross
1088 ('VecS 'Float 3)
1089 TT
1090 c
1091 (PrimNormalize ('VecS 'Float 3) 3 TT (PrimSub ('VecS 'Float 3) TT a b))))
1092 Sy)
1093 (swizzscalar
1094 'Float
1095 3
1096 (PrimNormalize
1097 ('VecS 'Float 3)
1098 3
1099 TT
1100 (PrimCross
1101 ('VecS 'Float 3)
1102 TT
1103 c
1104 (PrimNormalize ('VecS 'Float 3) 3 TT (PrimSub ('VecS 'Float 3) TT a b))))
1105 Sz)
1106 0.0)
1107 (V4
1108 (swizzscalar
1109 'Float
1110 3
1111 (PrimCross
1112 ('VecS 'Float 3)
1113 TT
1114 (PrimNormalize ('VecS 'Float 3) 3 TT (PrimSub ('VecS 'Float 3) TT a b))
1115 (PrimNormalize
1116 ('VecS 'Float 3)
1117 3
1118 TT
1119 (PrimCross
1120 ('VecS 'Float 3)
1121 TT
1122 c
1123 (PrimNormalize ('VecS 'Float 3) 3 TT (PrimSub ('VecS 'Float 3) TT a b)))))
1124 Sx)
1125 (swizzscalar
1126 'Float
1127 3
1128 (PrimCross
1129 ('VecS 'Float 3)
1130 TT
1131 (PrimNormalize ('VecS 'Float 3) 3 TT (PrimSub ('VecS 'Float 3) TT a b))
1132 (PrimNormalize
1133 ('VecS 'Float 3)
1134 3
1135 TT
1136 (PrimCross
1137 ('VecS 'Float 3)
1138 TT
1139 c
1140 (PrimNormalize ('VecS 'Float 3) 3 TT (PrimSub ('VecS 'Float 3) TT a b)))))
1141 Sy)
1142 (swizzscalar
1143 'Float
1144 3
1145 (PrimCross
1146 ('VecS 'Float 3)
1147 TT
1148 (PrimNormalize ('VecS 'Float 3) 3 TT (PrimSub ('VecS 'Float 3) TT a b))
1149 (PrimNormalize
1150 ('VecS 'Float 3)
1151 3
1152 TT
1153 (PrimCross
1154 ('VecS 'Float 3)
1155 TT
1156 c
1157 (PrimNormalize ('VecS 'Float 3) 3 TT (PrimSub ('VecS 'Float 3) TT a b)))))
1158 Sz)
1159 0.0)
1160 (V4
1161 (swizzscalar
1162 'Float
1163 3
1164 (PrimNormalize ('VecS 'Float 3) 3 TT (PrimSub ('VecS 'Float 3) TT a b))
1165 Sx)
1166 (swizzscalar
1167 'Float
1168 3
1169 (PrimNormalize ('VecS 'Float 3) 3 TT (PrimSub ('VecS 'Float 3) TT a b))
1170 Sy)
1171 (swizzscalar
1172 'Float
1173 3
1174 (PrimNormalize ('VecS 'Float 3) 3 TT (PrimSub ('VecS 'Float 3) TT a b))
1175 Sz)
1176 0.0)
1177 (V4 0.0 0.0 0.0 1.0)))
1178 (M44F
1179 (V4 1.0 0.0 0.0 0.0)
1180 (V4 0.0 1.0 0.0 0.0)
1181 (V4 0.0 0.0 1.0 0.0)
1182 (V4
1183 (swizzscalar 'Float 3 (PrimNeg ('VecS 'Float 3) TT a) Sx)
1184 (swizzscalar 'Float 3 (PrimNeg ('VecS 'Float 3) TT a) Sy)
1185 (swizzscalar 'Float 3 (PrimNeg ('VecS 'Float 3) TT a) Sz)
1186 1.0)))
1187
1188maroon :: VecS Float 4
1189maroon = _rhs (V4 0.5 0.0 0.0 1.0)
1190
1191match'RecItem
1192 :: forall (a :: Type -> Type) -> a RecItem -> forall b -> a b -> a b
1193match'RecItem = \a b c d -> <<type case function>>
1194
1195match'RecordC
1196 :: forall (a :: Type -> Type)
1197 -> (forall (b :: [RecItem]) -> a (RecordC b)) -> forall c -> a c -> a c
1198match'RecordC = \a b c d -> <<type case function>>
1199
1200max :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b
1201max = _rhs \a b c d e f g -> PrimMax a b c d e f g
1202
1203mergeBy :: forall a . (a -> a -> Ordering) -> [a] -> [a] -> [a]
1204mergeBy
1205 = \a -> primFix
1206 ((a -> a -> 'Ordering) -> [a] -> [a] -> [a])
1207 \b c d e -> case'List
1208 (\_ -> [a])
1209 (_rhs e)
1210 (\f g -> case'List
1211 (\_ -> [a])
1212 (_rhs d)
1213 (\h i -> _rhs
1214 (case'Ordering
1215 (\_ -> [a])
1216 (f : b c g (h : i))
1217 (h : b c (f : g) i)
1218 (h : b c (f : g) i)
1219 (c f h)))
1220 e)
1221 d
1222
1223min :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b
1224min = _rhs \a b c d e f g -> PrimMin a b c d e f g
1225
1226mix :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a
1227mix = _rhs \a b c d e f -> PrimMix a b c d e f
1228
1229mixB
773 :: forall a (b :: Nat) c 1230 :: forall a (b :: Nat) c
774 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> c 1231 . (a ~ VecScalar b Float, c ~ VecScalar b Bool) => a -> a -> c -> a
775dFdx :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 1232mixB = _rhs \a b c d e f g h -> PrimMixB a b c d e f g h
776dFdy :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 1233
777fWidth :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 1234mixS :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float -> a
1235mixS = _rhs \a b c d e f -> PrimMixS a b c d e f
1236
1237mod :: forall a b (c :: Nat) . (Num a, b ~ VecScalar c a) => b -> b -> b
1238mod = _rhs \a b c d e f g -> PrimMod a b c d e f g
1239
1240modF :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> (a, a)
1241modF = _rhs \a b c d -> PrimModF a b c d
1242
1243navy :: VecS Float 4
1244navy = _rhs (V4 0.0 0.0 0.5 1.0)
1245
1246neg :: forall a . Signed (MatVecScalarElem a) => a -> a
1247neg = \a b c -> _rhs (PrimNeg a b c)
1248
778noise1 :: forall (a :: Nat) . VecScalar a Float -> Float 1249noise1 :: forall (a :: Nat) . VecScalar a Float -> Float
1250noise1 = _rhs \a b -> PrimNoise1 a b
1251
779noise2 :: forall (a :: Nat) . VecScalar a Float -> Vec 2 Float 1252noise2 :: forall (a :: Nat) . VecScalar a Float -> Vec 2 Float
1253noise2 = _rhs \a b -> PrimNoise2 a b
1254
780noise3 :: forall (a :: Nat) . VecScalar a Float -> Vec 3 Float 1255noise3 :: forall (a :: Nat) . VecScalar a Float -> Vec 3 Float
1256noise3 = _rhs \a b -> PrimNoise3 a b
1257
781noise4 :: forall (a :: Nat) . VecScalar a Float -> Vec 4 Float 1258noise4 :: forall (a :: Nat) . VecScalar a Float -> Vec 4 Float
782length :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> Float 1259noise4 = _rhs \a b -> PrimNoise4 a b
783distance :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float 1260
784dot :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> Float
785cross :: forall a . (a ~ VecS Float 3) => a -> a -> a
786normalize :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a 1261normalize :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
787faceforward :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a 1262normalize = _rhs \a b c d -> PrimNormalize a b c d
1263
1264not :: forall (a :: Nat) . VecScalar a Bool -> VecScalar a Bool
1265not = \a b -> _rhs (PrimNot ('VecScalar a 'Bool) a TT b)
1266
1267olive :: VecS Float 4
1268olive = _rhs (V4 0.5 0.5 0.0 1.0)
1269
1270otherwise :: Bool
1271otherwise = _rhs True
1272
1273outer :: forall (a :: Nat) b (c :: Nat) . Vec a b -> Vec c b -> Mat c a b
1274outer = _rhs \a b c d e -> PrimOuterProduct a b c d e
1275
1276pairs :: forall a . [a] -> [(a, a)]
1277pairs = \a b -> _rhs (zip a a b (tail a b))
1278
1279perspective :: Float -> Float -> Float -> Float -> Mat 4 4 Float
1280perspective
1281 = \a b c d -> _rhs
1282 (M44F
1283 (V4
1284 (PrimDiv
1285 'Float
1286 'Float
1287 1
1288 TT
1289 TT
1290 (PrimMul 'Float TT 2.0 a)
1291 (PrimSub
1292 'Float
1293 TT
1294 (PrimMul
1295 'Float
1296 TT
1297 d
1298 (PrimMul
1299 'Float
1300 TT
1301 a
1302 (PrimTan 'Float 1 TT (PrimDiv 'Float 'Float 1 TT TT c 2.0))))
1303 (PrimSub
1304 'Float
1305 TT
1306 0.0
1307 (PrimMul
1308 'Float
1309 TT
1310 d
1311 (PrimMul
1312 'Float
1313 TT
1314 a
1315 (PrimTan 'Float 1 TT (PrimDiv 'Float 'Float 1 TT TT c 2.0)))))))
1316 0.0
1317 0.0
1318 0.0)
1319 (V4
1320 0.0
1321 (PrimDiv
1322 'Float
1323 'Float
1324 1
1325 TT
1326 TT
1327 (PrimMul 'Float TT 2.0 a)
1328 (PrimSub
1329 'Float
1330 TT
1331 (PrimMul
1332 'Float
1333 TT
1334 a
1335 (PrimTan 'Float 1 TT (PrimDiv 'Float 'Float 1 TT TT c 2.0)))
1336 (PrimSub
1337 'Float
1338 TT
1339 0.0
1340 (PrimMul
1341 'Float
1342 TT
1343 a
1344 (PrimTan 'Float 1 TT (PrimDiv 'Float 'Float 1 TT TT c 2.0))))))
1345 0.0
1346 0.0)
1347 (V4
1348 (PrimDiv
1349 'Float
1350 'Float
1351 1
1352 TT
1353 TT
1354 (PrimAdd
1355 'Float
1356 TT
1357 (PrimMul
1358 'Float
1359 TT
1360 d
1361 (PrimMul
1362 'Float
1363 TT
1364 a
1365 (PrimTan 'Float 1 TT (PrimDiv 'Float 'Float 1 TT TT c 2.0))))
1366 (PrimSub
1367 'Float
1368 TT
1369 0.0
1370 (PrimMul
1371 'Float
1372 TT
1373 d
1374 (PrimMul
1375 'Float
1376 TT
1377 a
1378 (PrimTan 'Float 1 TT (PrimDiv 'Float 'Float 1 TT TT c 2.0))))))
1379 (PrimSub
1380 'Float
1381 TT
1382 (PrimMul
1383 'Float
1384 TT
1385 d
1386 (PrimMul
1387 'Float
1388 TT
1389 a
1390 (PrimTan 'Float 1 TT (PrimDiv 'Float 'Float 1 TT TT c 2.0))))
1391 (PrimSub
1392 'Float
1393 TT
1394 0.0
1395 (PrimMul
1396 'Float
1397 TT
1398 d
1399 (PrimMul
1400 'Float
1401 TT
1402 a
1403 (PrimTan 'Float 1 TT (PrimDiv 'Float 'Float 1 TT TT c 2.0)))))))
1404 (PrimDiv
1405 'Float
1406 'Float
1407 1
1408 TT
1409 TT
1410 (PrimAdd
1411 'Float
1412 TT
1413 (PrimMul
1414 'Float
1415 TT
1416 a
1417 (PrimTan 'Float 1 TT (PrimDiv 'Float 'Float 1 TT TT c 2.0)))
1418 (PrimSub
1419 'Float
1420 TT
1421 0.0
1422 (PrimMul
1423 'Float
1424 TT
1425 a
1426 (PrimTan 'Float 1 TT (PrimDiv 'Float 'Float 1 TT TT c 2.0)))))
1427 (PrimSub
1428 'Float
1429 TT
1430 (PrimMul
1431 'Float
1432 TT
1433 a
1434 (PrimTan 'Float 1 TT (PrimDiv 'Float 'Float 1 TT TT c 2.0)))
1435 (PrimSub
1436 'Float
1437 TT
1438 0.0
1439 (PrimMul
1440 'Float
1441 TT
1442 a
1443 (PrimTan 'Float 1 TT (PrimDiv 'Float 'Float 1 TT TT c 2.0))))))
1444 (PrimSub
1445 'Float
1446 TT
1447 0.0
1448 (PrimDiv 'Float 'Float 1 TT TT (PrimAdd 'Float TT b a) (PrimSub 'Float TT b a)))
1449 -1.0)
1450 (V4
1451 0.0
1452 0.0
1453 (PrimSub
1454 'Float
1455 TT
1456 0.0
1457 (PrimDiv
1458 'Float
1459 'Float
1460 1
1461 TT
1462 TT
1463 (PrimMul 'Float TT (PrimMul 'Float TT 2.0 b) a)
1464 (PrimSub 'Float TT b a)))
1465 0.0))
1466
1467pi :: Float
1468pi = _rhs 3.141592653589793
1469
1470pow :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a
1471pow = _rhs \a b c d e -> PrimPow a b c d e
1472
1473project
1474 :: forall a (b :: [RecItem])
1475 . forall (c :: String) -> isKeyC c a b => RecordC b -> a
1476project
1477 = primFix
1478 (forall a (b :: [RecItem])
1479 . forall (c :: String) -> isKeyC c a b => 'RecordC b -> a)
1480 \d e f g _ h -> case'List
1481 (\_ -> e)
1482 (_rhs (undefined e))
1483 (\i j -> case'RecItem
1484 (\_ -> e)
1485 (\k _ -> case'RecordC
1486 (\_ -> e)
1487 (\l -> case'Bool
1488 (\_ -> e)
1489 (_rhs
1490 (d
1491 e
1492 j
1493 g
1494 (undefined ('CW (isKeyC g e j)))
1495 (RecordCons
1496 (hlistConsCase
1497 e
1498 (map 'RecItem Type recItemType j)
1499 ('HList (map 'RecItem Type recItemType j))
1500 (\_ m -> m)
1501 (unsafeCoerce
1502 ('HList (map 'RecItem Type recItemType f))
1503 ('HList (e : map 'RecItem Type recItemType j))
1504 l)))))
1505 (_rhs
1506 (hlistConsCase
1507 e
1508 (map 'RecItem Type recItemType j)
1509 e
1510 (\n _ -> n)
1511 (unsafeCoerce
1512 ('HList (map 'RecItem Type recItemType f))
1513 ('HList (e : map 'RecItem Type recItemType j))
1514 l)))
1515 (isEQ (primCompareString g k)))
1516 h)
1517 i)
1518 f
1519
1520purple :: VecS Float 4
1521purple = _rhs (V4 0.5 0.0 0.5 1.0)
1522
1523radians :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1524radians = _rhs \a b c d -> PrimRadians a b c d
1525
1526recItemType :: RecItem -> Type
1527recItemType = \a -> case'RecItem (\_ -> Type) (\_ b -> _rhs b) a
1528
1529red :: VecS Float 4
1530red = _rhs (V4 1.0 0.0 0.0 1.0)
1531
788reflect :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a 1532reflect :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a
1533reflect = _rhs \a b c d e -> PrimReflect a b c d e
1534
789refract :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a 1535refract :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a -> a -> a
790transpose :: forall (a :: Nat) (b :: Nat) c . Mat a b c -> Mat b a c 1536refract = _rhs \a b c d e f -> PrimRefract a b c d e f
791det :: forall (a :: Nat) b . Mat a a b -> Float 1537
792inv :: forall (a :: Nat) b . Mat a a b -> Mat a a b 1538rgb :: Float -> Float -> Float -> VecS Float 4
793outer :: forall (a :: Nat) b (c :: Nat) . Vec a b -> Vec c b -> Mat c a b 1539rgb = \a b c -> _rhs (V4 a b c 1.0)
794bAnd :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b 1540
795bOr :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b 1541rotMatrixX :: VecScalar 1 Float -> Mat 4 4 Float
796bXor :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b -> b 1542rotMatrixX
797bNot :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> b 1543 = \a -> _rhs
798bAndS :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b 1544 (M44F
799bOrS :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b 1545 (V4 1.0 0.0 0.0 0.0)
800bXorS :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> a -> b 1546 (V4 0.0 (PrimCos 'Float 1 TT a) (PrimSin 'Float 1 TT a) 0.0)
1547 (V4
1548 0.0
1549 (PrimSub 'Float TT 0.0 (PrimSin 'Float 1 TT a))
1550 (PrimCos 'Float 1 TT a)
1551 0.0)
1552 (V4 0.0 0.0 0.0 1.0))
1553
1554rotMatrixY :: VecScalar 1 Float -> Mat 4 4 Float
1555rotMatrixY
1556 = \a -> _rhs
1557 (M44F
1558 (V4
1559 (PrimCos 'Float 1 TT a)
1560 0.0
1561 (PrimSub 'Float TT 0.0 (PrimSin 'Float 1 TT a))
1562 0.0)
1563 (V4 0.0 1.0 0.0 0.0)
1564 (V4 (PrimSin 'Float 1 TT a) 0.0 (PrimCos 'Float 1 TT a) 0.0)
1565 (V4 0.0 0.0 0.0 1.0))
1566
1567rotMatrixZ :: VecScalar 1 Float -> Mat 4 4 Float
1568rotMatrixZ
1569 = \a -> _rhs
1570 (M44F
1571 (V4 (PrimCos 'Float 1 TT a) (PrimSin 'Float 1 TT a) 0.0 0.0)
1572 (V4
1573 (PrimSub 'Float TT 0.0 (PrimSin 'Float 1 TT a))
1574 (PrimCos 'Float 1 TT a)
1575 0.0
1576 0.0)
1577 (V4 0.0 0.0 1.0 0.0)
1578 (V4 0.0 0.0 0.0 1.0))
1579
1580rotationEuler :: Float -> Float -> Float -> Mat 4 4 Float
1581rotationEuler
1582 = \a b c -> _rhs
1583 (PrimMulMatMat
1584 4
1585 4
1586 'Float
1587 4
1588 (PrimMulMatMat
1589 4
1590 4
1591 'Float
1592 4
1593 (M44F
1594 (V4
1595 (PrimCos 'Float 1 TT a)
1596 0.0
1597 (PrimSub 'Float TT 0.0 (PrimSin 'Float 1 TT a))
1598 0.0)
1599 (V4 0.0 1.0 0.0 0.0)
1600 (V4 (PrimSin 'Float 1 TT a) 0.0 (PrimCos 'Float 1 TT a) 0.0)
1601 (V4 0.0 0.0 0.0 1.0))
1602 (M44F
1603 (V4 1.0 0.0 0.0 0.0)
1604 (V4 0.0 (PrimCos 'Float 1 TT b) (PrimSin 'Float 1 TT b) 0.0)
1605 (V4
1606 0.0
1607 (PrimSub 'Float TT 0.0 (PrimSin 'Float 1 TT b))
1608 (PrimCos 'Float 1 TT b)
1609 0.0)
1610 (V4 0.0 0.0 0.0 1.0)))
1611 (M44F
1612 (V4 (PrimCos 'Float 1 TT c) (PrimSin 'Float 1 TT c) 0.0 0.0)
1613 (V4
1614 (PrimSub 'Float TT 0.0 (PrimSin 'Float 1 TT c))
1615 (PrimCos 'Float 1 TT c)
1616 0.0
1617 0.0)
1618 (V4 0.0 0.0 1.0 0.0)
1619 (V4 0.0 0.0 0.0 1.0)))
1620
1621round :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1622round = _rhs \a b c d -> PrimRound a b c d
1623
1624roundEven :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1625roundEven = _rhs \a b c d -> PrimRoundEven a b c d
1626
1627scale :: Float -> VecS Float 4 -> VecS Float 4
1628scale = \a b -> _rhs (PrimMul ('VecS 'Float 4) TT b (V4 a a a 1.0))
1629
801shiftL 1630shiftL
802 :: forall a b (c :: Nat) d 1631 :: forall a b (c :: Nat) d
803 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b 1632 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b
1633shiftL = _rhs \a b c d e f g h i -> PrimBShiftL a b c d e f g h i
1634
1635shiftLS
1636 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b
1637shiftLS = _rhs \a b c d e f g -> PrimBShiftLS a b c d e f g
1638
804shiftR 1639shiftR
805 :: forall a b (c :: Nat) d 1640 :: forall a b (c :: Nat) d
806 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b 1641 . (Integral a, b ~ VecScalar c a, d ~ VecScalar c Word) => b -> d -> b
807shiftLS 1642shiftR = _rhs \a b c d e f g h i -> PrimBShiftR a b c d e f g h i
808 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b 1643
809shiftRS 1644shiftRS
810 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b 1645 :: forall a b (c :: Nat) . (Integral a, b ~ VecScalar c a) => b -> Word -> b
811floatBitsToInt :: forall (a :: Nat) . VecScalar a Float -> VecScalar a Int 1646shiftRS = _rhs \a b c d e f g -> PrimBShiftRS a b c d e f g
812floatBitsToWord :: forall (a :: Nat) . VecScalar a Float -> VecScalar a Word 1647
813intBitsToFloat :: forall (a :: Nat) . VecScalar a Int -> VecScalar a Float 1648sign :: forall a b (c :: Nat) . (Signed a, b ~ VecScalar c a) => b -> b
1649sign = _rhs \a b c d e f -> PrimSign a b c d e f
1650
1651silver :: VecS Float 4
1652silver = _rhs (V4 0.75 0.75 0.75 1.0)
1653
1654sin :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1655sin = _rhs \a b c d -> PrimSin a b c d
1656
1657sinh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1658sinh = _rhs \a b c d -> PrimSinH a b c d
1659
1660smoothstep :: forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a -> a
1661smoothstep = _rhs \a b c d e f -> PrimSmoothStep a b c d e f
1662
1663smoothstepS
1664 :: forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> Float -> a -> a
1665smoothstepS = _rhs \a b c d e f -> PrimSmoothStepS a b c d e f
1666
1667snd :: forall a b . (a, b) -> b
1668snd
1669 = \a b c -> hlistConsCase
1670 a
1671 [b]
1672 b
1673 (\_ d -> hlistConsCase b [] b (\e f -> hlistNilCase b (_rhs e) f) d)
1674 c
1675
1676sndTup :: forall a (b :: [Type]) . HList (a : b) -> HList b
1677sndTup = \a b -> _rhs \c -> hlistConsCase a b ('HList b) (\_ d -> d) c
1678
1679sortBy :: forall a . (a -> a -> Ordering) -> [a] -> [a]
1680sortBy
1681 = \a -> primFix
1682 ((a -> a -> 'Ordering) -> [a] -> [a])
1683 \b c d -> case'List
1684 (\_ -> [a])
1685 (_rhs [])
1686 (\e f -> case'List
1687 (\_ -> [a])
1688 (_rhs [e])
1689 (\_ _ -> _rhs
1690 (uncurry
1691 [a]
1692 [a]
1693 [a]
1694 (mergeBy a c)
1695 (([a] *** [a]) [a] [a] (b c) (b c) (split a d))))
1696 f)
1697 d
1698
1699split :: forall a . [a] -> ([a], [a])
1700split
1701 = \a -> primFix
1702 ([a] -> ' ([a], [a]))
1703 \b c -> case'List
1704 (\_ -> ' ([a], [a]))
1705 (_rhs ([], []))
1706 (\d e -> _rhs
1707 (d
1708 : hlistConsCase
1709 [a]
1710 [[a]]
1711 [a]
1712 (\_ f -> hlistConsCase [a] [] [a] (\g h -> hlistNilCase [a] g h) f)
1713 (b e)
1714 , hlistConsCase
1715 [a]
1716 [[a]]
1717 [a]
1718 (\i j -> hlistConsCase [a] [] [a] (\_ k -> hlistNilCase [a] i k) j)
1719 (b e)))
1720 c
1721
1722sqrt :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1723sqrt = _rhs \a b c d -> PrimSqrt a b c d
1724
1725step :: forall a (b :: Nat) . (a ~ VecS Float b) => a -> a -> a
1726step = _rhs \a b c d e -> PrimStep a b c d e
1727
1728stepS :: forall a (b :: Nat) . (a ~ VecScalar b Float) => Float -> a -> a
1729stepS = _rhs \a b c d e -> PrimStepS a b c d e
1730
1731tail :: forall a . [a] -> [a]
1732tail = \a b -> case'List (\_ -> [a]) (_rhs (undefined [a])) (\_ c -> _rhs c) b
1733
1734tan :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1735tan = _rhs \a b c d -> PrimTan a b c d
1736
1737tanh :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1738tanh = _rhs \a b c d -> PrimTanH a b c d
1739
1740teal :: VecS Float 4
1741teal = _rhs (V4 0.0 0.5 0.5 1.0)
1742
1743translateBefore4 :: Vec 3 Float -> Mat 4 4 Float
1744translateBefore4
1745 = \a -> _rhs
1746 (M44F
1747 (V4 1.0 0.0 0.0 0.0)
1748 (V4 0.0 1.0 0.0 0.0)
1749 (V4 0.0 0.0 1.0 0.0)
1750 (V4
1751 (swizzscalar 'Float 3 a Sx)
1752 (swizzscalar 'Float 3 a Sy)
1753 (swizzscalar 'Float 3 a Sz)
1754 1.0))
1755
1756transpose :: forall (a :: Nat) (b :: Nat) c . Mat a b c -> Mat b a c
1757transpose = _rhs \a b c d -> PrimTranspose a b c d
1758
1759trunc :: forall a (b :: Nat) . (a ~ VecScalar b Float) => a -> a
1760trunc = _rhs \a b c d -> PrimTrunc a b c d
1761
1762uncurry :: forall a b c . (a -> c -> b) -> (a, c) -> b
1763uncurry
1764 = \a b c d e -> hlistConsCase
1765 a
1766 [c]
1767 b
1768 (\f g -> hlistConsCase c [] b (\h i -> hlistNilCase b (_rhs (d f h)) i) g)
1769 e
1770
1771unzip :: forall a b . [(a, b)] -> ([a], [b])
1772unzip
1773 = primFix
1774 (forall a b . [' (a, b)] -> ' ([a], [b]))
1775 \c d e f -> case'List
1776 (\_ -> ' ([d], [e]))
1777 (_rhs ([], []))
1778 (\g h -> hlistConsCase
1779 d
1780 [e]
1781 ' ([d], [e])
1782 (\i j -> hlistConsCase
1783 e
1784 []
1785 ' ([d], [e])
1786 (\k l -> hlistNilCase
1787 ' ([d], [e])
1788 (_rhs
1789 (i
1790 : hlistConsCase
1791 [d]
1792 [[e]]
1793 [d]
1794 (\m n -> hlistConsCase [e] [] [d] (\_ o -> hlistNilCase [d] m o) n)
1795 (c d e h)
1796 , k
1797 : hlistConsCase
1798 [d]
1799 [[e]]
1800 [e]
1801 (\_ p -> hlistConsCase [e] [] [e] (\q r -> hlistNilCase [e] q r) p)
1802 (c d e h)))
1803 l)
1804 j)
1805 g)
1806 f
1807
1808v3FToV4F :: Vec 3 Float -> VecS Float 4
1809v3FToV4F
1810 = \a -> _rhs
1811 (V4
1812 (swizzscalar 'Float 3 a Sx)
1813 (swizzscalar 'Float 3 a Sy)
1814 (swizzscalar 'Float 3 a Sz)
1815 1.0)
1816
1817white :: VecS Float 4
1818white = _rhs (V4 1.0 1.0 1.0 1.0)
1819
814wordBitsToFloat :: forall (a :: Nat) . VecScalar a Word -> VecScalar a Float 1820wordBitsToFloat :: forall (a :: Nat) . VecScalar a Word -> VecScalar a Float
815(+) :: forall a . Num (MatVecScalarElem a) => a -> a -> a 1821wordBitsToFloat = _rhs \a b -> PrimUIntBitsToFloat a b
816(-) :: forall a . Num (MatVecScalarElem a) => a -> a -> a 1822
817(*) :: forall a . Num (MatVecScalarElem a) => a -> a -> a
818(/)
819 :: forall a (b :: Nat)
820 . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a
821(%)
822 :: forall a (b :: Nat)
823 . Num a => VecScalar b a -> VecScalar b a -> VecScalar b a
824neg :: forall a . Signed (MatVecScalarElem a) => a -> a
825(/=) :: forall a . a -> a -> Bool
826(<)
827 :: forall (a :: Nat) b
828 . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool
829(<=)
830 :: forall (a :: Nat) b
831 . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool
832(>=)
833 :: forall (a :: Nat) b
834 . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool
835(>)
836 :: forall (a :: Nat) b
837 . Num b => VecScalar a b -> VecScalar a b -> VecScalar a Bool
838(&&) :: Bool -> Bool -> Bool
839(||) :: Bool -> Bool -> Bool
840xor :: Bool -> Bool -> Bool 1823xor :: Bool -> Bool -> Bool
841not :: forall (a :: Nat) . VecScalar a Bool -> VecScalar a Bool 1824xor = _rhs \a b -> PrimXor a b
842any :: forall (a :: Nat) . VecScalar a Bool -> Bool 1825
843all :: forall (a :: Nat) . VecScalar a Bool -> Bool 1826yellow :: VecS Float 4
844(.*.) 1827yellow = _rhs (V4 1.0 1.0 0.0 1.0)
845 :: forall (a :: Nat) (b :: Nat) c (d :: Nat) 1828
846 . Mat a b c -> Mat b d c -> Mat a d c 1829zip :: forall a b . [a] -> [b] -> [(a, b)]
847(*.) :: forall (a :: Nat) (b :: Nat) c . Mat a b c -> VecS c b -> Vec a c 1830zip
848(.*) :: forall (a :: Nat) b (c :: Nat) . VecS b a -> Mat a c b -> Vec c b 1831 = primFix
849(+!) :: forall a . Num (MatVecScalarElem a) => a -> MatVecScalarElem a -> a 1832 (forall a b . [a] -> [b] -> [' (a, b)])
850(-!) :: forall a . Num (MatVecScalarElem a) => a -> MatVecScalarElem a -> a 1833 \c d e f g -> case'List
851(*!) :: forall a . Num (MatVecScalarElem a) => a -> MatVecScalarElem a -> a 1834 (\_ -> [' (d, e)])
852(/!) :: forall a (b :: Nat) . Num a => VecScalar b a -> a -> VecScalar b a 1835 (_rhs [])
853(%!) :: forall a (b :: Nat) . Num a => VecScalar b a -> a -> VecScalar b a 1836 (\h i -> case'List
854perspective :: Float -> Float -> Float -> Float -> Mat 4 4 Float 1837 (\_ -> [' (d, e)])
855rotMatrixZ :: VecScalar 1 Float -> Mat 4 4 Float 1838 (_rhs [])
856rotMatrixY :: VecScalar 1 Float -> Mat 4 4 Float 1839 (\j k -> _rhs ((h, j) : c d e i k))
857rotMatrixX :: VecScalar 1 Float -> Mat 4 4 Float 1840 g)
858rotationEuler :: Float -> Float -> Float -> Mat 4 4 Float 1841 f
859translateBefore4 :: Vec 3 Float -> Mat 4 4 Float 1842
860lookat :: Vec 3 Float -> Vec 3 Float -> Vec 3 Float -> Mat 4 4 Float 1843|| :: Bool -> Bool -> Bool
861scale :: Float -> VecS Float 4 -> VecS Float 4 1844|| = \a b -> _rhs (PrimOr a b)
862fromTo :: Float -> Float -> [Float] 1845
863(!!) :: forall a . [a] -> Int -> a 1846||| :: Bool -> Bool -> Bool
1847||| = \a b -> case'Bool (\_ -> 'Bool) (_rhs b) (_rhs True) a
864------------ tooltips 1848------------ tooltips
865testdata/Prelude.lc 16:1-16:6 1849testdata/Prelude.lc 16:1-16:6
866 forall a b . a -> b -> a 1850 forall a b . a -> b -> a