@@ -282,26 +282,66 @@ end
282282@testset " `mod`" begin
283283 r = 0.0625
284284 a = r.. (1 + r)
285- @test mod (a, 1 ) == mod (a, 1.0 ) == interval ( 0 , 1 )
285+ @test mod (a, 1 ) == mod (a, 1.0 ) == 0 .. 1
286286 @test mod (a, 2 ) == mod (a, 2.0 ) == a
287287 @test mod (a, 2.5 ) == a
288- @test mod (a, - 1 ) == mod (a, - 1.0 ) == interval (- 1 ,0 )
288+ @test mod (a, 0.5 ) == 0 .. 0.5
289+ @test mod (a, - 1 ) == mod (a, - 1.0 ) == - 1 .. 0
289290 @test mod (a, - 2 ) == mod (a, - 2.0 ) == - 2 + a
290291 @test mod (a, - 2.5 ) == - 2.5 + a
292+ @test mod (a, - 0.5 ) == - 0.5 .. 0
291293
292294 a = (- 1 + r) .. - r
293295 @test mod (a, 1 ) == mod (a, 1.0 ) == 1 + a
294296 @test mod (a, 2 ) == mod (a, 2.0 ) == 2 + a
295297 @test mod (a, 2.5 ) == 2.5 + a
298+ @test mod (a, 0.5 ) == 0 .. 0.5
296299 @test mod (a, - 1 ) == mod (a, - 1.0 ) == a
297300 @test mod (a, - 2 ) == mod (a, - 2.0 ) == a
298301 @test mod (a, - 2.5 ) == a
302+ @test mod (a, - 0.5 ) == - 0.5 .. 0
299303
300304 a = - r .. 1 - r
301- @test mod (a, 1 ) == mod (a, 1.0 ) == interval (0 ,1 )
302- @test mod (a, 2 ) == mod (a, 2.0 ) == interval (0 ,2 )
303- @test mod (a, 2.5 ) == interval (0 ,2.5 )
304- @test mod (a, - 1 ) == mod (a, - 1.0 ) == interval (- 1 ,0 )
305- @test mod (a, - 2 ) == mod (a, - 2.0 ) == interval (- 2 ,0 )
306- @test mod (a, - 2.5 ) == interval (- 2.5 ,0 )
305+ @test mod (a, 1 ) == mod (a, 1.0 ) == 0 .. 1
306+ @test mod (a, 2 ) == mod (a, 2.0 ) == 0 .. 2
307+ @test mod (a, 2.5 ) == 0 .. 2.5
308+ @test mod (a, 0.5 ) == 0 .. 0.5
309+ @test mod (a, - 1 ) == mod (a, - 1.0 ) == - 1 .. 0
310+ @test mod (a, - 2 ) == mod (a, - 2.0 ) == - 2 .. 0
311+ @test mod (a, - 2.5 ) == - 2.5 .. 0
312+ @test mod (a, - 0.5 ) == - 0.5 .. 0
313+ end
314+
315+ @testset " `extended_mod`" begin
316+ r = 0.0625
317+ a = r.. (1 + r)
318+ ee = emptyinterval (Float64)
319+ @test extended_mod (a, 1 ) == (r.. 1 , 0 .. r, ee)
320+ @test extended_mod (a, 2 ) == (a, ee, ee)
321+ @test extended_mod (a, 2.5 ) == (a, ee, ee)
322+ @test extended_mod (a, 0.5 ) == (r.. 0.5 , 0 .. 0.5 , 0 .. r)
323+ @test extended_mod (a, - 1 ) == ((- 1 + r). .0 , - 1 .. (- 1 + r), ee)
324+ @test extended_mod (a, - 2 ) == ((- 2 + r). .(- 1 + r), ee, ee)
325+ @test extended_mod (a, - 2.5 ) == ((- 2.5 + r). .(- 1.5 + r), ee, ee)
326+ @test extended_mod (a, - 0.5 ) == ((- 0.5 + r). .0 , - 0.5 .. 0 , - 0.5 .. (- 0.5 + r))
327+
328+ a = (- 1 + r) .. - r
329+ @test extended_mod (a, 1 ) == (1 + a, ee, ee)
330+ @test extended_mod (a, 2 ) == (2 + a, ee, ee)
331+ @test extended_mod (a, 2.5 ) == (2.5 + a, ee, ee)
332+ @test extended_mod (a, 0.5 ) == (r.. 0.5 , 0 .. (0.5 - r), ee)
333+ @test extended_mod (a, - 1 ) == ((- 1 + r) .. - r, ee, ee)
334+ @test extended_mod (a, - 2 ) == ((- 1 + r) .. - r, ee, ee)
335+ @test extended_mod (a, - 2.5 ) == ((- 1 + r) .. - r, ee, ee)
336+ @test extended_mod (a, - 0.5 ) == ((- 0.5 + r). .0 , - 0.5 .. - r, ee)
337+
338+ a = - r .. 1 - r
339+ @test extended_mod (a, 1 ) == ((1 - r). .1 , 0 .. (1 - r), ee)
340+ @test extended_mod (a, 2 ) == ((2 - r). .2 , 0 .. (1 - r), ee)
341+ @test extended_mod (a, 2.5 ) == ((2.5 - r). .2.5 , 0 .. (1 - r), ee)
342+ @test extended_mod (a, 0.5 ) == ((0.5 - r). .0.5 , 0 .. 0.5 , 0 .. (0.5 - r))
343+ @test extended_mod (a, - 1 ) == (- r.. 0 , - 1 .. (- r), ee)
344+ @test extended_mod (a, - 2 ) == (- r.. 0 , - 2 .. (- 1 - r), ee)
345+ @test extended_mod (a, - 2.5 ) == (- r.. 0 , (- 2.5 ). .(- 1.5 - r), ee)
346+ @test extended_mod (a, - 0.5 ) == (- r.. 0 , - 0.5 .. 0 , - 0.5 .. (- r))
307347end
0 commit comments