From 2268ae18acc9a3d4c39d5ea30f9dcdb2d90a35e7 Mon Sep 17 00:00:00 2001
From: Florian Atteneder <florian.atteneder@uni-jena.de>
Date: Mon, 5 Jun 2023 22:36:41 +0200
Subject: [PATCH] remove RefVector residuals

---
 src/dg1d.jl                          |   1 -
 src/test_refvector.jl                | 149 ---------------------------
 test/dg1dTests/src/test_refvector.jl | 140 -------------------------
 3 files changed, 290 deletions(-)
 delete mode 100644 src/test_refvector.jl
 delete mode 100644 test/dg1dTests/src/test_refvector.jl

diff --git a/src/dg1d.jl b/src/dg1d.jl
index d8ee23d9..338ed7d3 100644
--- a/src/dg1d.jl
+++ b/src/dg1d.jl
@@ -35,7 +35,6 @@ module dg1d
   include("parameters.jl")
   include("flatdict.jl")
   include("output.jl")
-  include("refvector.jl")
 
   # differentiation and approximation
   include("lagrange.jl")
diff --git a/src/test_refvector.jl b/src/test_refvector.jl
deleted file mode 100644
index 9843a5d6..00000000
--- a/src/test_refvector.jl
+++ /dev/null
@@ -1,149 +0,0 @@
-using Test
-using BenchmarkTools
-using LinearAlgebra
-
-
-include("refvector.jl")
-include("refblockvector.jl")
-
-
-@testset "RefVector" begin
-
-  # constructor
-  v = randn(100)
-  offset, n = 10, 10
-  rv = RefVector(v, offset, n)
-
-  # check if array interface works
-  @test length(rv) == n
-  @test v[offset:offset+n-1] == rv
-  rv .*= 2.0
-  rv .+= 2.0
-  @test v[offset:offset+n-1] == rv
-
-  # move reference inside v
-  prev_offset, prev_n = offset, n
-  offset, n = 20, 5
-  update!(rv, v, offset, n)
-  @test v[prev_offset:prev_offset+prev_n-1] != rv
-  @test v[offset:offset+n-1] == rv
-
-  # exchange reference for a new vector
-  w = randn(100)
-  update!(rv, w) # reuses offset and n
-  @test v[offset:offset+n-1] != rv
-  @test w[offset:offset+n-1] == rv
-  update!(rv, w, prev_offset, prev_n)
-  @test w[prev_offset:prev_offset+prev_n-1] == rv
-
-  # RefVector should keep memory it references alive
-  u, rv = let
-    u = randn(100)
-    deepcopy(u), RefVector(u)
-  end
-  @test u !== rv.ref
-  @test u == rv
-
-  # edge cases
-  # zero length
-  rv = RefVector(v, 1, 0)
-  @test eltype(rv)[] == rv
-  rv = RefVector(v, length(v), 0)
-  @test eltype(rv)[] == rv
-  # full length
-  rv = RefVector(v, 1, length(v))
-  @test v == rv
-  # default constructor is full length
-  rv = RefVector(v)
-  @test v == rv
-
-  # invalid offsets and lengths
-  @test_throws ErrorException RefVector(v, -1, 10)
-  @test_throws ErrorException RefVector(v, length(v), 10)
-  @test_throws ErrorException RefVector(v, 1, 2*length(v))
-  @test_throws ErrorException RefVector(v, 1, -1)
-
-end
-
-
-@testset "RefBlockVector" begin
-
-  v = randn(100)
-  block_sizes = [ 10 for _ = 1:5 ]
-  offset = 10
-  rbv = RefBlockVector(v, block_sizes, offset)
-  block_offsets = cumsum(vcat(0, block_sizes[1:end-1])) .+ offset
-  for (i, (bsz, bos)) in enumerate(zip(block_sizes, block_offsets))
-    blk = block(rbv, i)
-    @test v[bos:bos+bsz-1] == blk
-  end
-
-  # tests array interface
-  @test length(rbv) == sum(block_sizes)
-  @test v[offset:offset+length(rbv)-1] == rbv
-  rbv .*= 2.0
-  rbv .+= 2.0
-  @test v[offset:offset+length(rbv)-1] == rbv
-
-  # # custom generate eachblock
-  for (bsz, bos, blk) in zip(block_sizes, block_offsets, eachblock(rbv))
-    blk .*= 2.0
-    @test v[bos:bos+bsz-1] == blk
-  end
-
-  # edge cases
-  # no blocks
-  rbv = RefBlockVector(v, Int64[], 10)
-  @test eltype(rbv)[] == Float64[]
-  # full length
-  rbv = RefBlockVector(v, Int64[length(v)], 1)
-  @test v == rbv
-
-  # invalid offsets and lengths
-  @test_throws ErrorException RefBlockVector(v, [-1,2,-10], 1)
-  @test_throws ErrorException RefBlockVector(v, block_sizes, length(v))
-  @test_throws ErrorException RefBlockVector(v, [1,2,3], length(v)-1)
-  @test_throws ErrorException RefBlockVector(v, [1,2,3], 2*length(v))
-
-end
-
-
-@testset "Benchmark RefVector" begin
-
-  if false
-
-    v = randn(1000)
-    offset, n = 10, 800
-    rv = RefVector(v, offset, n)
-    vv = v[offset:offset+n-1]
-    @test vv == rv
-    b = @benchmark sum($vv)
-    display(b)
-    b = @benchmark sum($rv)
-    display(b)
-
-    w = zeros(n)
-    M = randn(n,n)
-    b = @benchmark mul!($w, $M, $vv)
-    display(b)
-    b = @benchmark mul!($w, $M, $rv)
-    display(b)
-
-    # something with the broadcasting interface needs to be adjusted,
-    # because the calls below are slower than the native arrays
-    b = @benchmark $vv .= 2.0
-    display(b)
-    b = @benchmark $rv .= 2.0
-    display(b)
-    b = @benchmark $(rv.vec) .= 2.0
-    display(b)
-
-
-    b = @benchmark lmul!(2.0, $vv)
-    display(b)
-    b = @benchmark lmul!(2.0, $rv)
-    display(b)
-
-  end
-
-end
diff --git a/test/dg1dTests/src/test_refvector.jl b/test/dg1dTests/src/test_refvector.jl
deleted file mode 100644
index 21c5c52c..00000000
--- a/test/dg1dTests/src/test_refvector.jl
+++ /dev/null
@@ -1,140 +0,0 @@
-@testset "RefVector" begin
-
-  # constructor
-  v = randn(100)
-  offset, n = 10, 10
-  rv = RefVector(v, offset, n)
-
-  # check if array interface works
-  @test length(rv) == n
-  @test v[offset:offset+n-1] == rv
-  rv .*= 2.0
-  rv .+= 2.0
-  @test v[offset:offset+n-1] == rv
-
-  # move reference inside v
-  prev_offset, prev_n = offset, n
-  offset, n = 20, 5
-  update!(rv, v, offset, n)
-  @test v[prev_offset:prev_offset+prev_n-1] != rv
-  @test v[offset:offset+n-1] == rv
-
-  # exchange reference for a new vector
-  w = randn(100)
-  update!(rv, w) # reuses offset and n
-  @test v[offset:offset+n-1] != rv
-  @test w[offset:offset+n-1] == rv
-  update!(rv, w, prev_offset, prev_n)
-  @test w[prev_offset:prev_offset+prev_n-1] == rv
-
-  # RefVector should keep memory it references alive
-  u, rv = let
-    u = randn(100)
-    deepcopy(u), RefVector(u)
-  end
-  @test u !== rv.ref
-  @test u == rv
-
-  # edge cases
-  # zero length
-  rv = RefVector(v, 1, 0)
-  @test eltype(rv)[] == rv
-  rv = RefVector(v, length(v), 0)
-  @test eltype(rv)[] == rv
-  # full length
-  rv = RefVector(v, 1, length(v))
-  @test v == rv
-  # default constructor is full length
-  rv = RefVector(v)
-  @test v == rv
-
-  # invalid offsets and lengths
-  @test_throws ErrorException RefVector(v, -1, 10)
-  @test_throws ErrorException RefVector(v, length(v), 10)
-  @test_throws ErrorException RefVector(v, 1, 2*length(v))
-  @test_throws ErrorException RefVector(v, 1, -1)
-
-end
-
-
-@testset "RefBlockVector" begin
-
-  v = randn(100)
-  block_sizes = [ 10 for _ = 1:5 ]
-  offset = 10
-  rbv = RefBlockVector(v, block_sizes, offset)
-  block_offsets = cumsum(vcat(0, block_sizes[1:end-1])) .+ offset
-  for (i, (bsz, bos)) in enumerate(zip(block_sizes, block_offsets))
-    blk = block(rbv, i)
-    @test v[bos:bos+bsz-1] == blk
-  end
-
-  # tests array interface
-  @test length(rbv) == sum(block_sizes)
-  @test v[offset:offset+length(rbv)-1] == rbv
-  rbv .*= 2.0
-  rbv .+= 2.0
-  @test v[offset:offset+length(rbv)-1] == rbv
-
-  # # custom generate eachblock
-  for (bsz, bos, blk) in zip(block_sizes, block_offsets, eachblock(rbv))
-    blk .*= 2.0
-    @test v[bos:bos+bsz-1] == blk
-  end
-
-  # edge cases
-  # no blocks
-  rbv = RefBlockVector(v, Int64[], 10)
-  @test eltype(rbv)[] == Float64[]
-  # full length
-  rbv = RefBlockVector(v, Int64[length(v)], 1)
-  @test v == rbv
-
-  # invalid offsets and lengths
-  @test_throws ErrorException RefBlockVector(v, [-1,2,-10], 1)
-  @test_throws ErrorException RefBlockVector(v, block_sizes, length(v))
-  @test_throws ErrorException RefBlockVector(v, [1,2,3], length(v)-1)
-  @test_throws ErrorException RefBlockVector(v, [1,2,3], 2*length(v))
-
-end
-
-
-@testset "Benchmark RefVector" begin
-
-  if false
-
-    v = randn(1000)
-    offset, n = 10, 800
-    rv = RefVector(v, offset, n)
-    vv = v[offset:offset+n-1]
-    @test vv == rv
-    b = @benchmark sum($vv)
-    display(b)
-    b = @benchmark sum($rv)
-    display(b)
-
-    w = zeros(n)
-    M = randn(n,n)
-    b = @benchmark mul!($w, $M, $vv)
-    display(b)
-    b = @benchmark mul!($w, $M, $rv)
-    display(b)
-
-    # something with the broadcasting interface needs to be adjusted,
-    # because the calls below are slower than the native arrays
-    b = @benchmark $vv .= 2.0
-    display(b)
-    b = @benchmark $rv .= 2.0
-    display(b)
-    b = @benchmark $(rv.vec) .= 2.0
-    display(b)
-
-
-    b = @benchmark lmul!(2.0, $vv)
-    display(b)
-    b = @benchmark lmul!(2.0, $rv)
-    display(b)
-
-  end
-
-end
-- 
GitLab