@@ -284,26 +284,66 @@ end
284
284
@testset " `mod`" begin
285
285
r = 0.0625
286
286
a = r.. (1 + r)
287
- @test mod (a, 1 ) == mod (a, 1.0 ) == interval ( 0 , 1 )
287
+ @test mod (a, 1 ) == mod (a, 1.0 ) == 0 .. 1
288
288
@test mod (a, 2 ) == mod (a, 2.0 ) == a
289
289
@test mod (a, 2.5 ) == a
290
- @test mod (a, - 1 ) == mod (a, - 1.0 ) == interval (- 1 ,0 )
290
+ @test mod (a, 0.5 ) == 0 .. 0.5
291
+ @test mod (a, - 1 ) == mod (a, - 1.0 ) == - 1 .. 0
291
292
@test mod (a, - 2 ) == mod (a, - 2.0 ) == - 2 + a
292
293
@test mod (a, - 2.5 ) == - 2.5 + a
294
+ @test mod (a, - 0.5 ) == - 0.5 .. 0
293
295
294
296
a = (- 1 + r) .. - r
295
297
@test mod (a, 1 ) == mod (a, 1.0 ) == 1 + a
296
298
@test mod (a, 2 ) == mod (a, 2.0 ) == 2 + a
297
299
@test mod (a, 2.5 ) == 2.5 + a
300
+ @test mod (a, 0.5 ) == 0 .. 0.5
298
301
@test mod (a, - 1 ) == mod (a, - 1.0 ) == a
299
302
@test mod (a, - 2 ) == mod (a, - 2.0 ) == a
300
303
@test mod (a, - 2.5 ) == a
304
+ @test mod (a, - 0.5 ) == - 0.5 .. 0
301
305
302
306
a = - r .. 1 - r
303
- @test mod (a, 1 ) == mod (a, 1.0 ) == interval (0 ,1 )
304
- @test mod (a, 2 ) == mod (a, 2.0 ) == interval (0 ,2 )
305
- @test mod (a, 2.5 ) == interval (0 ,2.5 )
306
- @test mod (a, - 1 ) == mod (a, - 1.0 ) == interval (- 1 ,0 )
307
- @test mod (a, - 2 ) == mod (a, - 2.0 ) == interval (- 2 ,0 )
308
- @test mod (a, - 2.5 ) == interval (- 2.5 ,0 )
307
+ @test mod (a, 1 ) == mod (a, 1.0 ) == 0 .. 1
308
+ @test mod (a, 2 ) == mod (a, 2.0 ) == 0 .. 2
309
+ @test mod (a, 2.5 ) == 0 .. 2.5
310
+ @test mod (a, 0.5 ) == 0 .. 0.5
311
+ @test mod (a, - 1 ) == mod (a, - 1.0 ) == - 1 .. 0
312
+ @test mod (a, - 2 ) == mod (a, - 2.0 ) == - 2 .. 0
313
+ @test mod (a, - 2.5 ) == - 2.5 .. 0
314
+ @test mod (a, - 0.5 ) == - 0.5 .. 0
315
+ end
316
+
317
+ @testset " `extended_mod`" begin
318
+ r = 0.0625
319
+ a = r.. (1 + r)
320
+ ee = emptyinterval (Float64)
321
+ @test extended_mod (a, 1 ) == (r.. 1 , 0 .. r, ee)
322
+ @test extended_mod (a, 2 ) == (a, ee, ee)
323
+ @test extended_mod (a, 2.5 ) == (a, ee, ee)
324
+ @test extended_mod (a, 0.5 ) == (r.. 0.5 , 0 .. 0.5 , 0 .. r)
325
+ @test extended_mod (a, - 1 ) == ((- 1 + r). .0 , - 1 .. (- 1 + r), ee)
326
+ @test extended_mod (a, - 2 ) == ((- 2 + r). .(- 1 + r), ee, ee)
327
+ @test extended_mod (a, - 2.5 ) == ((- 2.5 + r). .(- 1.5 + r), ee, ee)
328
+ @test extended_mod (a, - 0.5 ) == ((- 0.5 + r). .0 , - 0.5 .. 0 , - 0.5 .. (- 0.5 + r))
329
+
330
+ a = (- 1 + r) .. - r
331
+ @test extended_mod (a, 1 ) == (1 + a, ee, ee)
332
+ @test extended_mod (a, 2 ) == (2 + a, ee, ee)
333
+ @test extended_mod (a, 2.5 ) == (2.5 + a, ee, ee)
334
+ @test extended_mod (a, 0.5 ) == (r.. 0.5 , 0 .. (0.5 - r), ee)
335
+ @test extended_mod (a, - 1 ) == ((- 1 + r) .. - r, ee, ee)
336
+ @test extended_mod (a, - 2 ) == ((- 1 + r) .. - r, ee, ee)
337
+ @test extended_mod (a, - 2.5 ) == ((- 1 + r) .. - r, ee, ee)
338
+ @test extended_mod (a, - 0.5 ) == ((- 0.5 + r). .0 , - 0.5 .. - r, ee)
339
+
340
+ a = - r .. 1 - r
341
+ @test extended_mod (a, 1 ) == ((1 - r). .1 , 0 .. (1 - r), ee)
342
+ @test extended_mod (a, 2 ) == ((2 - r). .2 , 0 .. (1 - r), ee)
343
+ @test extended_mod (a, 2.5 ) == ((2.5 - r). .2.5 , 0 .. (1 - r), ee)
344
+ @test extended_mod (a, 0.5 ) == ((0.5 - r). .0.5 , 0 .. 0.5 , 0 .. (0.5 - r))
345
+ @test extended_mod (a, - 1 ) == (- r.. 0 , - 1 .. (- r), ee)
346
+ @test extended_mod (a, - 2 ) == (- r.. 0 , - 2 .. (- 1 - r), ee)
347
+ @test extended_mod (a, - 2.5 ) == (- r.. 0 , (- 2.5 ). .(- 1.5 - r), ee)
348
+ @test extended_mod (a, - 0.5 ) == (- r.. 0 , - 0.5 .. 0 , - 0.5 .. (- r))
309
349
end
0 commit comments