Skip to content

Commit 9ecd4f6

Browse files
authored
Merge pull request #9 from JuliaArrays/mb/noiterate
Temporarily disable the iteration optimization on 0.7/1.0
2 parents 9ee6195 + 32016e2 commit 9ecd4f6

File tree

2 files changed

+21
-18
lines changed

2 files changed

+21
-18
lines changed

appveyor.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
11
environment:
22
matrix:
3-
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x86/0.6/julia-0.6-latest-win32.exe"
4-
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.6/julia-0.6-latest-win64.exe"
5-
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x86/0.7/julia-0.7-latest-win32.exe"
6-
- JULIA_URL: "https://julialang-s3.julialang.org/bin/winnt/x64/0.7/julia-0.7-latest-win64.exe"
7-
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x86/julia-latest-win32.exe"
8-
- JULIA_URL: "https://julialangnightlies-s3.julialang.org/bin/winnt/x64/julia-latest-win64.exe"
3+
- julia_version: 0.6
4+
- julia_version: 0.7
5+
- julia_version: latest
6+
7+
platform:
8+
- x86 # 32-bit
9+
- x64 # 64-bit
10+
11+
## uncomment the following lines to allow failures on nightly julia
12+
## (tests will run but not make your overall status red)
13+
#matrix:
14+
# allow_failures:
15+
# - julia_version: latest
916

1017
branches:
1118
only:
@@ -19,19 +26,12 @@ notifications:
1926
on_build_status_changed: false
2027

2128
install:
22-
- ps: "[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12"
23-
# Download most recent Julia Windows binary
24-
- ps: (new-object net.webclient).DownloadFile(
25-
$env:JULIA_URL,
26-
"C:\projects\julia-binary.exe")
27-
# Run installer silently, output to C:\projects\julia
28-
- C:\projects\julia-binary.exe /S /D=C:\projects\julia
29+
- ps: iex ((new-object net.webclient).DownloadString("https://raw.githubusercontent.com/JuliaCI/Appveyor.jl/version-1/bin/install.ps1"))
2930

3031
build_script:
31-
# Need to convert from shallow to complete for Pkg.clone to work
32-
- IF EXIST .git\shallow (git fetch --unshallow)
33-
- C:\projects\julia\bin\julia -e "versioninfo();
34-
Pkg.clone(pwd(), \"RangeArrays\"); Pkg.build(\"RangeArrays\")"
32+
- echo "%JL_BUILD_SCRIPT%"
33+
- C:\julia\bin\julia -e "%JL_BUILD_SCRIPT%"
3534

3635
test_script:
37-
- C:\projects\julia\bin\julia --check-bounds=yes -e "Pkg.test(\"RangeArrays\")"
36+
- echo "%JL_TEST_SCRIPT%"
37+
- C:\julia\bin\julia -e "%JL_TEST_SCRIPT%"

src/repeatedrange.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ RepeatedRangeMatrix(r::AbstractRange{T}, at::AbstractVector{T}) where T =
1515
Base.size(R::RepeatedRangeMatrix) = (length(R.r), length(R.at))
1616
Base.IndexStyle(::Type{<:RepeatedRangeMatrix}) = IndexCartesian()
1717

18+
if VERSION < v"0.7.0-DEV.5126"
1819
# This coupled iteration over the two fields is 10-20x faster than Cartesian iteration
20+
# TODO: re-implement in the new iteration protocol
1921
@inline function Base.start(R::RepeatedRangeMatrix)
2022
is = start(R.r)
2123
idone = done(R.r, is)
@@ -37,6 +39,7 @@ end
3739
return (val, (next(R.r, is), (j, js), false))
3840
end
3941
@inline Base.done(R::RepeatedRangeMatrix, state) = state[end]
42+
end
4043

4144
# Scalar indexing
4245
@inline function Base.getindex(R::RepeatedRangeMatrix, i::Int, j::Int)

0 commit comments

Comments
 (0)