463463 c1 = @view a1[inds1]
464464 @test c1[axes (c1,1 )] == c1[:] == a1[inds1]
465465
466+ inds12 = Base. IdentityUnitRange (Base. OneTo (4 ))
467+ c1 = @view a1[inds12]
468+ @test c1[axes (c1,1 )] == c1[:] == a1[inds12]
469+
466470 inds2 = 3 : 2 : 5
467471 d1 = @view a1[inds2]
468472 @test d1[axes (d1,1 )] == d1[:] == a1[inds2]
@@ -486,50 +490,62 @@ end
486490 c2 = @view a2[inds1]
487491 @test c2[axes (c2,1 )] == c2[:] == a2[inds1]
488492
493+ inds12 = Base. IdentityUnitRange (Base. OneTo (4 ))
494+ c2 = @view a2[inds12]
495+ @test c2[axes (c2,1 )] == c2[:] == a2[inds12]
496+
489497 inds2 = 2 : 2 : 4
490498 d2 = @view a2[inds2];
491499 @test d2[axes (d2,1 )] == d2[:] == a2[inds2]
492500 end
493501 end
494502 end
495503 @testset " setindex!" begin
496- a1 = rand (10 );
497- a12 = copy (a1);
498- b1 = @view a1[:]; # 1D FastContiguousSubArray
499- c1 = @view a1[eachindex (a1)]; # 1D FastContiguousSubArray
500- d1 = @view a1[begin : 1 : end ]; # 1D FastSubArray
501-
502- ax1 = eachindex (a1);
503- @test (b1[ax1] = a12; b1) == (c1[ax1] = a12; c1) == (d1[ax1] = a12; d1) == (a1[ax1] = a12; a1)
504- @test (b1[:] = a12; b1) == (c1[:] = a12; c1) == (d1[:] = a12; d1) == (a1[:] = a12; a1)
505-
506- # some arbitary indices
507- ind1 = 2 : 4
508- c1 = a12[ind1]
509- @test (c1[axes (c1,1 )] = a12[ind1]; c1) == (c1[:] = a12[ind1]; c1) == a12[ind1]
510-
511- ind2 = 2 : 2 : 8
512- d1 = a12[ind2]
513- @test (d1[axes (d1,1 )] = a12[ind2]; d1) == (d1[:] = a12[ind2]; d1) == a12[ind2]
514-
515- a2 = rand (10 , 10 );
516- a22 = copy (a2);
517- a2v = vec (a22);
518- b2 = @view a2[:, :]; # 2D FastContiguousSubArray
519- c2 = @view a2[eachindex (a2)]; # 1D FastContiguousSubArray
520- d2 = @view a2[begin : 1 : end ]; # 1D FastSubArray
521-
522- @test (b2[eachindex (b2)] = a2v; vec (b2)) == (c2[eachindex (c2)] = a2v; c2) == a2v
523- @test (d2[eachindex (d2)] = a2v; d2) == a2v
524-
525- # some arbitary indices
526- inds1 = 3 : 9
527- c2 = @view a2[inds1]
528- @test (c2[eachindex (c2)] = @view (a22[inds1]); c2) == @view (a22[inds1])
529-
530- inds2 = 3 : 3 : 9
531- d2 = @view a2[inds2]
532- @test (d2[eachindex (d2)] = @view (a22[inds2]); d2) == @view (a22[inds2])
504+ @testset " 1D" begin
505+ a1 = rand (10 );
506+ a12 = copy (a1);
507+ b1 = @view a1[:]; # 1D FastContiguousSubArray
508+ c1 = @view a1[eachindex (a1)]; # 1D FastContiguousSubArray
509+ d1 = @view a1[begin : 1 : end ]; # 1D FastSubArray
510+
511+ ax1 = eachindex (a1);
512+ @test (b1[ax1] = a12; b1) == (c1[ax1] = a12; c1) == (d1[ax1] = a12; d1) == (a1[ax1] = a12; a1)
513+ @test (b1[:] = a12; b1) == (c1[:] = a12; c1) == (d1[:] = a12; d1) == (a1[:] = a12; a1)
514+
515+ # some arbitary indices
516+ ind1 = 2 : 4
517+ c1 = a12[ind1]
518+ @test (c1[axes (c1,1 )] = a12[ind1]; c1) == (c1[:] = a12[ind1]; c1) == a12[ind1]
519+
520+ ind2 = 2 : 2 : 8
521+ d1 = a12[ind2]
522+ @test (d1[axes (d1,1 )] = a12[ind2]; d1) == (d1[:] = a12[ind2]; d1) == a12[ind2]
523+ end
524+
525+ @testset " 2D" begin
526+ a2 = rand (10 , 10 );
527+ a22 = copy (a2);
528+ a2v = vec (a22);
529+ b2 = @view a2[:, :]; # 2D FastContiguousSubArray
530+ c2 = @view a2[eachindex (a2)]; # 1D FastContiguousSubArray
531+ d2 = @view a2[begin : 1 : end ]; # 1D FastSubArray
532+
533+ @test (b2[eachindex (b2)] = a2v; vec (b2)) == (c2[eachindex (c2)] = a2v; c2) == a2v
534+ @test (d2[eachindex (d2)] = a2v; d2) == a2v
535+
536+ # some arbitary indices
537+ inds1 = 3 : 9
538+ c2 = @view a2[inds1]
539+ @test (c2[eachindex (c2)] = @view (a22[inds1]); c2) == @view (a22[inds1])
540+
541+ inds1 = Base. IdentityUnitRange (Base. OneTo (4 ))
542+ c2 = @view a2[inds1]
543+ @test (c2[eachindex (c2)] = @view (a22[inds1]); c2) == @view (a22[inds1])
544+
545+ inds2 = 3 : 3 : 9
546+ d2 = @view a2[inds2]
547+ @test (d2[eachindex (d2)] = @view (a22[inds2]); d2) == @view (a22[inds2])
548+ end
533549 end
534550end
535551
0 commit comments