@@ -134,7 +134,7 @@ class Dimension (dim :: * -> *)
134
134
instance Dimension I
135
135
136
136
137
- class (Dimension du , Unit du u , Unit du' u' ) => Pow du du' u (n :: N n' ) u'
137
+ class (Dimension du , Unit du u , Unit du' u' ) => Pow du du' u (n :: Nat ) u'
138
138
| du u n -> du' u'
139
139
, du du' u' n -> u
140
140
, du' u' u n -> du
@@ -145,10 +145,10 @@ instance Unit I u => Pow I I u n u
145
145
146
146
-- * Calculation
147
147
148
- sqU :: (Pow du dsqu u ( FromNat 2 ) squ , Num a ) => u a -> squ a
148
+ sqU :: (Pow du dsqu u 2 squ , Num a ) => u a -> squ a
149
149
sqU = pure . join (*) . prj
150
150
151
- sqrtU :: (Pow dsqrtu du sqrtu ( FromNat 2 ) u , Floating a ) => u a -> sqrtu a
151
+ sqrtU :: (Pow dsqrtu du sqrtu 2 u , Floating a ) => u a -> sqrtu a
152
152
sqrtU = pure . sqrt . prj
153
153
154
154
dotU :: (Num a , Metric v , Unit d u ) => v (u a ) -> v (u a ) -> u a
@@ -206,7 +206,7 @@ infixr 8 :^:
206
206
207
207
instance Dimension (du :^: m )
208
208
209
- instance (Unit du u , Plus m n' o , FromNat n' ~ n , KnownNat m , KnownNat o ) => Pow (du :^: m ) (du :^: o ) (u :^: m ) n (u :^: o )
209
+ instance (Unit du u , Plus m n o , KnownNat m , KnownNat o ) => Pow (du :^: m ) (du :^: o ) (u :^: m ) n (u :^: o )
210
210
211
211
instance (Unit du u , KnownNat n ) => Unit (du :^: n ) (u :^: n ) where
212
212
factor = K (getK (factor @ _ @ u ) ^ natVal (Proxy @ n ))
0 commit comments