diff options
Diffstat (limited to 'lc')
-rw-r--r-- | lc/Builtins.lc | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/lc/Builtins.lc b/lc/Builtins.lc index 47dfc4e1..b1d34c5d 100644 --- a/lc/Builtins.lc +++ b/lc/Builtins.lc | |||
@@ -63,10 +63,6 @@ type family MatVecScalarElem a where | |||
63 | MatVecScalarElem (VecS a n) = a | 63 | MatVecScalarElem (VecS a n) = a |
64 | MatVecScalarElem (Mat i j a) = a | 64 | MatVecScalarElem (Mat i j a) = a |
65 | 65 | ||
66 | -- may be a data family? | ||
67 | type family TFMat i j where | ||
68 | TFMat (VecS a i) (VecS a' j) = T2 (a ~ a') (Mat i j a) | ||
69 | |||
70 | --------------------------------------- swizzling | 66 | --------------------------------------- swizzling |
71 | 67 | ||
72 | data Swizz = Sx | Sy | Sz | Sw | 68 | data Swizz = Sx | Sy | Sz | Sw |
@@ -525,13 +521,13 @@ PrimNormalize :: (a ~ VecScalar d Float) => a -> a | |||
525 | PrimFaceForward, PrimRefract :: (a ~ VecScalar d Float) => a -> a -> a -> a | 521 | PrimFaceForward, PrimRefract :: (a ~ VecScalar d Float) => a -> a -> a -> a |
526 | PrimReflect :: (a ~ VecScalar d Float) => a -> a -> a | 522 | PrimReflect :: (a ~ VecScalar d Float) => a -> a -> a |
527 | -- Matrix Functions | 523 | -- Matrix Functions |
528 | PrimTranspose :: TFMat h w -> TFMat w h | 524 | PrimTranspose :: Mat h w a -> Mat w h a |
529 | PrimDeterminant :: TFMat s s -> Float | 525 | PrimDeterminant :: Mat s s a -> Float |
530 | PrimInverse :: TFMat s s -> TFMat s s | 526 | PrimInverse :: Mat s s a -> Mat s s a |
531 | PrimOuterProduct :: w -> h -> TFMat h w | 527 | PrimOuterProduct :: Vec w a -> Vec h a -> Mat h w a |
532 | PrimMulMatVec :: TFMat h w -> w -> h | 528 | PrimMulMatVec :: Mat h w a -> Vec w a -> Vec h a |
533 | PrimMulVecMat :: h -> TFMat h w -> w | 529 | PrimMulVecMat :: Vec h a -> Mat h w a -> Vec w a |
534 | PrimMulMatMat :: TFMat i j -> TFMat j k -> TFMat i k | 530 | PrimMulMatMat :: Mat i j a -> Mat j k a -> Mat i k a |
535 | -- Vector and Scalar Relational Functions | 531 | -- Vector and Scalar Relational Functions |
536 | PrimLessThan, PrimLessThanEqual, PrimGreaterThan, PrimGreaterThanEqual, PrimEqualV, PrimNotEqualV | 532 | PrimLessThan, PrimLessThanEqual, PrimGreaterThan, PrimGreaterThanEqual, PrimEqualV, PrimNotEqualV |
537 | :: (Num t, a ~ VecScalar d t, b ~ VecScalar d Bool) => a -> a -> b | 533 | :: (Num t, a ~ VecScalar d t, b ~ VecScalar d Bool) => a -> a -> b |