Skip to content

Commit

Permalink
Merge pull request #7425 from JuliaLang/sjk/7387
Browse files Browse the repository at this point in the history
Fix #7387, operations between ranges and non-real numbers
  • Loading branch information
simonster committed Jul 1, 2014
2 parents da158df + cf96108 commit 5d8c8ab
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 1 deletion.
11 changes: 10 additions & 1 deletion base/range.jl
Original file line number Diff line number Diff line change
Expand Up @@ -458,7 +458,16 @@ convert{T}(::Type{FloatRange{T}}, r::OrdinalRange) =

# +/- of ranges is defined in operators.jl (to be able to use @eval etc.)

## non-linear operations on ranges ##
## non-linear operations on ranges and fallbacks for non-real numbers ##

.+(x::Number, r::Range) = [ x+y for y=r ]
.+(r::Range, y::Number) = [ x+y for x=r ]

.-(x::Number, r::Range) = [ x-y for y=r ]
.-(r::Range, y::Number) = [ x-y for x=r ]

.*(x::Number, r::Range) = [ x*y for y=r ]
.*(r::Range, y::Number) = [ x*y for x=r ]

./(x::Number, r::Range) = [ x/y for y=r ]
./(r::Range, y::Number) = [ x/y for x=r ]
Expand Down
8 changes: 8 additions & 0 deletions test/ranges.jl
Original file line number Diff line number Diff line change
Expand Up @@ -325,3 +325,11 @@ r = linrange(0.25,0.25,1)
#issue #7484
r7484 = 0.1:0.1:1
@test [reverse(r7484)] == reverse([r7484])

# issue #7387
for r in (0:1, 0.0:1.0)
@test r+im == [r]+im
@test r-im == [r]-im
@test r*im == [r]*im
@test r/im == [r]/im
end

0 comments on commit 5d8c8ab

Please sign in to comment.