Skip to content

Commit 18f1227

Browse files
Add test for DiagOp with @view
1 parent 2993cbd commit 18f1227

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

test/testOperators.jl

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

383400
end

0 commit comments

Comments
 (0)