@@ -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