@@ -164,11 +164,11 @@ using FastTransforms, Test
164
164
gcopy = copy (g)
165
165
P = @inferred (plan_chebyshevutransform (f))
166
166
@test P* f ≈ g
167
- @test f == fcopy
167
+ @test f ≈ fcopy
168
168
@test_throws ArgumentError P * T[1 ,2 ]
169
169
P = @inferred (plan_chebyshevutransform (f, 1 : 1 ))
170
170
@test P* f ≈ g
171
- @test f == fcopy
171
+ @test f ≈ fcopy
172
172
@test_throws ArgumentError P * T[1 ,2 ]
173
173
174
174
P = @inferred (plan_chebyshevutransform! (f))
@@ -364,6 +364,47 @@ using FastTransforms, Test
364
364
@test ichebyshevtransform (chebyshevtransform (X)) ≈ X
365
365
@test chebyshevtransform (ichebyshevtransform (X)) ≈ X
366
366
end
367
+
368
+ @testset " chebyshevutransform" begin
369
+ for k = axes (X,2 ), j = axes (X,3 ) X̃[:,k,j] = chebyshevutransform (X[:,k,j]) end
370
+ @test @inferred (chebyshevutransform (X,1 )) ≈ @inferred (chebyshevutransform! (copy (X),1 )) ≈ X̃
371
+ for k = axes (X,1 ), j = axes (X,3 ) X̃[k,:,j] = chebyshevutransform (X[k,:,j]) end
372
+ @test chebyshevutransform (X,2 ) ≈ chebyshevutransform! (copy (X),2 ) ≈ X̃
373
+ for k = axes (X,1 ), j = axes (X,2 ) X̃[k,j,:] = chebyshevutransform (X[k,j,:]) end
374
+ @test chebyshevutransform (X,3 ) ≈ chebyshevutransform! (copy (X),3 ) ≈ X̃
375
+
376
+ for k = axes (X,2 ), j = axes (X,3 ) X̃[:,k,j] = chebyshevutransform (X[:,k,j],Val (2 )) end
377
+ @test @inferred (chebyshevutransform (X,Val (2 ),1 )) ≈ @inferred (chebyshevutransform! (copy (X),Val (2 ),1 )) ≈ X̃
378
+ for k = axes (X,1 ), j = axes (X,3 ) X̃[k,:,j] = chebyshevutransform (X[k,:,j],Val (2 )) end
379
+ @test chebyshevutransform (X,Val (2 ),2 ) ≈ chebyshevutransform! (copy (X),Val (2 ),2 ) ≈ X̃
380
+ for k = axes (X,1 ), j = axes (X,2 ) X̃[k,j,:] = chebyshevutransform (X[k,j,:],Val (2 )) end
381
+ @test chebyshevutransform (X,Val (2 ),3 ) ≈ chebyshevutransform! (copy (X),Val (2 ),3 ) ≈ X̃
382
+
383
+ @test @inferred (chebyshevutransform (X)) ≈ @inferred (chebyshevutransform! (copy (X))) ≈ chebyshevutransform (chebyshevutransform (chebyshevutransform (X,1 ),2 ),3 )
384
+ @test @inferred (chebyshevutransform (X,Val (2 ))) ≈ @inferred (chebyshevutransform! (copy (X),Val (2 ))) ≈ chebyshevutransform (chebyshevutransform (chebyshevutransform (X,Val (2 ),1 ),Val (2 ),2 ),Val (2 ),3 )
385
+ end
386
+
387
+ @testset " ichebyshevutransform" begin
388
+ for k = axes (X,2 ), j = axes (X,3 ) X̃[:,k,j] = ichebyshevutransform (X[:,k,j]) end
389
+ @test @inferred (ichebyshevutransform (X,1 )) ≈ @inferred (ichebyshevutransform! (copy (X),1 )) ≈ X̃
390
+ for k = axes (X,1 ), j = axes (X,3 ) X̃[k,:,j] = ichebyshevutransform (X[k,:,j]) end
391
+ @test ichebyshevutransform (X,2 ) ≈ ichebyshevutransform! (copy (X),2 ) ≈ X̃
392
+ for k = axes (X,1 ), j = axes (X,2 ) X̃[k,j,:] = ichebyshevutransform (X[k,j,:]) end
393
+ @test ichebyshevutransform (X,3 ) ≈ ichebyshevutransform! (copy (X),3 ) ≈ X̃
394
+
395
+ for k = axes (X,2 ), j = axes (X,3 ) X̃[:,k,j] = ichebyshevutransform (X[:,k,j],Val (2 )) end
396
+ @test @inferred (ichebyshevutransform (X,Val (2 ),1 )) ≈ @inferred (ichebyshevutransform! (copy (X),Val (2 ),1 )) ≈ X̃
397
+ for k = axes (X,1 ), j = axes (X,3 ) X̃[k,:,j] = ichebyshevutransform (X[k,:,j],Val (2 )) end
398
+ @test ichebyshevutransform (X,Val (2 ),2 ) ≈ ichebyshevutransform! (copy (X),Val (2 ),2 ) ≈ X̃
399
+ for k = axes (X,1 ), j = axes (X,2 ) X̃[k,j,:] = ichebyshevutransform (X[k,j,:],Val (2 )) end
400
+ @test ichebyshevutransform (X,Val (2 ),3 ) ≈ ichebyshevutransform! (copy (X),Val (2 ),3 ) ≈ X̃
401
+
402
+ @test @inferred (ichebyshevutransform (X)) ≈ @inferred (ichebyshevutransform! (copy (X))) ≈ ichebyshevutransform (ichebyshevutransform (ichebyshevutransform (X,1 ),2 ),3 )
403
+ @test @inferred (ichebyshevutransform (X,Val (2 ))) ≈ @inferred (ichebyshevutransform! (copy (X),Val (2 ))) ≈ ichebyshevutransform (ichebyshevutransform (ichebyshevutransform (X,Val (2 ),1 ),Val (2 ),2 ),Val (2 ),3 )
404
+
405
+ @test ichebyshevutransform (chebyshevutransform (X)) ≈ X
406
+ @test chebyshevutransform (ichebyshevutransform (X)) ≈ X
407
+ end
367
408
368
409
X = randn (1 ,1 ,1 )
369
410
@test chebyshevtransform! (copy (X), Val (1 )) == ichebyshevtransform! (copy (X), Val (1 )) == X
0 commit comments