@@ -1154,6 +1154,8 @@ end
1154
1154
for y in valid_inputs[end - 3 : end ]
1155
1155
qy_dimensionless = Quantity (y, D)
1156
1156
qy_dimensions = Quantity (y, convert (D, dimension (u " m/s" )))
1157
+ @eval @test $ f ($ y, $ qx_dimensionless) == $ f ($ y, $ x)
1158
+ @eval @test $ f ($ qy_dimensionless, $ x) == $ f ($ y, $ x)
1157
1159
@eval @test $ f ($ qy_dimensionless, $ qx_dimensionless) == $ f ($ y, $ x)
1158
1160
@eval @test $ f ($ qy_dimensions, $ qx_dimensions) == $ f ($ y, $ x)
1159
1161
@eval @test_throws DimensionError $ f ($ qy_dimensions, $ x)
@@ -1170,7 +1172,7 @@ end
1170
1172
:nextfloat , :prevfloat , :identity , :transpose ,
1171
1173
:copysign , :flipsign , :mod , :modf ,
1172
1174
:floor , :trunc , :ceil , :significand ,
1173
- :ldexp , :round
1175
+ :ldexp , :round ,
1174
1176
)
1175
1177
for Q in (Quantity, GenericQuantity), D in (Dimensions, SymbolicDimensions), f in functions
1176
1178
T = f in (:abs , :real , :imag , :conj ) ? ComplexF64 : Float64
@@ -1190,6 +1192,11 @@ end
1190
1192
qx_dimensions = Q (x, dim)
1191
1193
qy_dimensions = Q (y, dim)
1192
1194
@eval @test $ f ($ qx_dimensions, $ qy_dimensions) == $ Q ($ f ($ x, $ y), $ dim)
1195
+ if f in (:copysign , :flipsign , :mod )
1196
+ # Also do test without dimensions
1197
+ @eval @test $ f ($ x, $ qy_dimensions) == $ f ($ x, $ y)
1198
+ @eval @test $ f ($ qx_dimensions, $ y) == $ Q ($ f ($ x, $ y), $ dim)
1199
+ end
1193
1200
end
1194
1201
end
1195
1202
elseif f == :unsigned
@@ -1198,7 +1205,7 @@ end
1198
1205
qx_dimensions = Q (x, dim)
1199
1206
@eval @test $ f ($ qx_dimensions) == $ Q ($ f ($ x), $ dim)
1200
1207
end
1201
- elseif f == :round
1208
+ elseif f in ( :round , :floor , :trunc , :ceil )
1202
1209
for x in 5 rand (T, 3 ) .- 2.5
1203
1210
dim = convert (D, dimension (u " m/s" ))
1204
1211
qx_dimensions = Q (x, dim)
@@ -1227,3 +1234,16 @@ end
1227
1234
end
1228
1235
end
1229
1236
end
1237
+
1238
+ @testset " Test div" begin
1239
+ for Q in (Quantity, GenericQuantity)
1240
+ x = Q {Int} (10 , length= 1 )
1241
+ y = Q {Int} (3 , mass= - 1 )
1242
+ @test div (x, y) == $ Q {Int} (3 , length= 1 , mass= 1 )
1243
+ @test div (x, y, RoundFromZero) == $ Q {Int} (4 , length= 1 , mass= 1 )
1244
+ @test div (x, 3 ) == $ Q {Int} (3 , length= 1 )
1245
+ @test div (x, 3 , RoundFromZero) == $ Q {Int} (4 , length= 1 )
1246
+ @test div (10 , y) == $ Q {Int} (3 , mass= 1 )
1247
+ @test div (10 , y, RoundFromZero) == $ Q {Int} (4 , mass= 1 )
1248
+ end
1249
+ end
0 commit comments