@@ -317,50 +317,63 @@ function testDiagOp(N=32,K=2;arrayType = Array)
317317 op1 = DiagOp (blocks)
318318 op2 = DiagOp (blocks... )
319319 op3 = DiagOp (block, K)
320+ op4 = DiagOp (@view blocks[1 : K])
321+
320322
321323 # Operations
322324 @testset " Diag Prod" begin
323325 y = Array (F * x)
324326 y1 = Array (op1 * x)
325327 y2 = Array (op2 * x)
326328 y3 = Array (op3 * x)
329+ y4 = Array (op4 * x)
330+
327331
328332 @test y ≈ y1 rtol = 1e-2
329333 @test y1 ≈ y2 rtol = 1e-2
330334 @test y2 ≈ y3 rtol = 1e-2
335+ @test y4 ≈ y1 rtol = 1e-2
336+
331337 end
332338
333339 @testset " Diag Transpose" begin
334340 y = Array (transpose (F) * x)
335341 y1 = Array (transpose (op1) * x)
336342 y2 = Array (transpose (op2) * x)
337343 y3 = Array (transpose (op3) * x)
344+ y4 = Array (transpose (op4) * x)
338345
339346 @test y ≈ y1 rtol = 1e-2
340347 @test y1 ≈ y2 rtol = 1e-2
341348 @test y2 ≈ y3 rtol = 1e-2
349+ @test y4 ≈ y1 rtol = 1e-2
342350 end
343351
344352 @testset " Diag Adjoint" begin
345353 y = Array (adjoint (F) * x)
346354 y1 = Array (adjoint (op1) * x)
347355 y2 = Array (adjoint (op2) * x)
348356 y3 = Array (adjoint (op3) * x)
357+ y4 = Array (adjoint (op4) * x)
349358
350359 @test y ≈ y1 rtol = 1e-2
351360 @test y1 ≈ y2 rtol = 1e-2
352361 @test y2 ≈ y3 rtol = 1e-2
362+ @test y4 ≈ y1 rtol = 1e-2
353363 end
354364
355365 @testset " Diag Normal" begin
356366 y = Array (adjoint (F) * F* x)
357367 y1 = Array (normalOperator (op1) * x)
358368 y2 = Array (normalOperator (op2) * x)
359369 y3 = Array (normalOperator (op3) * x)
370+ y4 = Array (normalOperator (op4) * x)
360371
361372 @test y ≈ y1 rtol = 1e-2
362373 @test y1 ≈ y2 rtol = 1e-2
363374 @test y2 ≈ y3 rtol = 1e-2
375+ @test y4 ≈ y1 rtol = 1e-2
376+
364377 end
365378
366379 @testset " Weighted Diag Normal" begin
@@ -369,15 +382,19 @@ function testDiagOp(N=32,K=2;arrayType = Array)
369382 prod1 = ProdOp (wop, op1)
370383 prod2 = ProdOp (wop, op2)
371384 prod3 = ProdOp (wop, op3)
385+ prod4 = ProdOp (wop, op4)
372386
373387 y = Array (adjoint (F) * adjoint (wop) * wop * F* x)
374388 y1 = Array (normalOperator (prod1) * x)
375389 y2 = Array (normalOperator (prod2) * x)
376390 y3 = Array (normalOperator (prod3) * x)
391+ y4 = Array (normalOperator (prod4) * x)
377392
378393 @test y ≈ y1 rtol = 1e-2
379394 @test y1 ≈ y2 rtol = 1e-2
380395 @test y2 ≈ y3 rtol = 1e-2
396+ @test y4 ≈ y1 rtol = 1e-2
397+
381398 end
382399
383400end
0 commit comments