@@ -202,24 +202,24 @@ Base. -(x::Gain, y::Level) = throw(ArgumentError("cannot subtract a level from a
202202leveltype (x:: Level{L,S} ) where {L,S} = Level{L,S}
203203Base. * (x:: Level , y:: Number ) = (leveltype (x))(x. val * y)
204204Base. * (x:: Level , y:: Bool ) = (leveltype (x))(x. val * y) # for method ambiguity
205- Base. * (x:: Level , y:: Quantity ) = * (x. val, y)
205+ Base. * (x:: Level , y:: AbstractQuantity ) = * (x. val, y)
206206Base. * (x:: Level , y:: Level ) = * (x. val, y. val)
207207Base. * (x:: Level , y:: Gain ) = * (promote (x,y)... )
208208
209209Base. * (x:: Number , y:: Level ) = * (y,x)
210210Base. * (x:: Bool , y:: Level ) = * (y,x) # for method ambiguity
211- Base. * (x:: Quantity , y:: Level ) = * (y,x) # for method ambiguity
211+ Base. * (x:: AbstractQuantity , y:: Level ) = * (y,x) # for method ambiguity
212212
213213gaintype (:: Gain{L,S} ) where {L,S} = Gain{L,S}
214214Base. * (x:: Gain , y:: Number ) = (gaintype (x))(x. val * y)
215215Base. * (x:: Gain , y:: Bool ) = (gaintype (x))(x. val * y) # for method ambiguity
216- Base. * (x:: Gain , y:: Quantity ) = * (y,x)
216+ Base. * (x:: Gain , y:: AbstractQuantity ) = * (y,x)
217217Base. * (x:: Gain , y:: Level ) = * (promote (x,y)... )
218218Base. * (x:: Gain , y:: Gain ) = * (promote (x,y)... )
219219
220220Base. * (x:: Number , y:: Gain ) = * (y,x)
221221Base. * (x:: Bool , y:: Gain ) = * (y,x) # for method ambiguity
222- Base. * (x:: Quantity , y:: Gain ) =
222+ Base. * (x:: AbstractQuantity , y:: Gain ) =
223223 isrootpower (x) ? uconvertrp (NoUnits, y) * x : uconvertp (NoUnits, y) * x
224224
225225for (op1,op2) in ((:* , :+ ), (:/ , :- ))
@@ -242,18 +242,18 @@ Base. /(x::Gain, y::Level) = throw(ArgumentError("cannot divide a gain by a leve
242242
243243Base. / (x:: Level , y:: Number ) = (leveltype (x))(linear (x) / y)
244244Base. // (x:: Level , y:: Number ) = (leveltype (x))(linear (x) // y)
245- Base. / (x:: Level , y:: Quantity ) = linear (x) / y
246- Base. // (x:: Level , y:: Quantity ) = linear (x) // y
245+ Base. / (x:: Level , y:: AbstractQuantity ) = linear (x) / y
246+ Base. // (x:: Level , y:: AbstractQuantity ) = linear (x) // y
247247Base. / (x:: Level , y:: Level ) = linear (x) / linear (y)
248248Base. // (x:: Level , y:: Level ) = linear (x) // linear (y)
249249Base. // (x:: Level , y:: Complex ) = linear (x) // y # ambiguity resolution
250250
251251Base. // (x:: Number , y:: Level ) = x // linear (y)
252- Base. / (x:: Quantity , y:: Level ) = x / linear (y)
253- Base. // (x:: Quantity , y:: Level ) = x // linear (y)
254- Base. / (x:: Quantity , y:: Gain ) =
252+ Base. / (x:: AbstractQuantity , y:: Level ) = x / linear (y)
253+ Base. // (x:: AbstractQuantity , y:: Level ) = x // linear (y)
254+ Base. / (x:: AbstractQuantity , y:: Gain ) =
255255 isrootpower (x) ? x / uconvertrp (NoUnits, y) : x / uconvertp (NoUnits, y)
256- Base. // (x:: Quantity , y:: Gain ) =
256+ Base. // (x:: AbstractQuantity , y:: Gain ) =
257257 isrootpower (x) ? x // uconvertrp (NoUnits, y) : x // uconvertp (NoUnits, y)
258258
259259Base. // (x:: Level , y:: Units ) = x/ y
0 commit comments