Mercurial > repos > public > sbplib_julia
comparison test/LazyTensors/tuple_manipulation_test.jl @ 1223:5bfb182e24dc refactor/LazyTensors/tuple_manipulation
Start adding simpler code
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Sat, 18 Feb 2023 12:06:59 +0100 |
parents | 0905cec43d2e |
children | 6567e38b05ca |
comparison
equal
deleted
inserted
replaced
1219:7ee258e5289e | 1223:5bfb182e24dc |
---|---|
49 @test LazyTensors.split_tuple((1,2,3,4,5,6),Val(3),Val(2)) == ((1,2,3),(4,5),(6,)) | 49 @test LazyTensors.split_tuple((1,2,3,4,5,6),Val(3),Val(2)) == ((1,2,3),(4,5),(6,)) |
50 | 50 |
51 @inferred LazyTensors.split_tuple((1,2,3,4,5,6),Val(3),Val(2)) | 51 @inferred LazyTensors.split_tuple((1,2,3,4,5,6),Val(3),Val(2)) |
52 @inferred LazyTensors.split_tuple((1,true,3),Val(1), Val(1)) | 52 @inferred LazyTensors.split_tuple((1,true,3),Val(1), Val(1)) |
53 end | 53 end |
54 | |
55 @testset "general" begin | |
56 @test LazyTensors.split_tuple((),()) == () | |
57 @test LazyTensors.split_tuple((),(0,)) == ((),) | |
58 @test LazyTensors.split_tuple((1,), (1,)) == tuple((1,)) | |
59 @test LazyTensors.split_tuple((1,2), (1,1)) == tuple((1,),(2,)) | |
60 @test LazyTensors.split_tuple((1,2), (0,1,1)) == tuple((),(1,),(2,)) | |
61 @test LazyTensors.split_tuple((1,2), (1,0,1)) == tuple((1,),(),(2,)) | |
62 @test LazyTensors.split_tuple((1,2), (1,1,0)) == tuple((1,),(2,),()) | |
63 @test LazyTensors.split_tuple((1,2,3,4), (2,0,1,1)) == tuple((1,2),(),(3,),(4,)) | |
64 | |
65 err_msg = "length(t) must equal sum(szs)" | |
66 @test_throws ArgumentError(err_msg) LazyTensors.split_tuple((), (2,)) | |
67 @test_throws ArgumentError(err_msg) LazyTensors.split_tuple((2,), ()) | |
68 @test_throws ArgumentError(err_msg) LazyTensors.split_tuple((1,), (2,)) | |
69 @test_throws ArgumentError(err_msg) LazyTensors.split_tuple((1,2), (1,2)) | |
70 @test_throws ArgumentError(err_msg) LazyTensors.split_tuple((1,2), (1)) | |
71 | |
72 | |
73 split_tuple_static(t, ::Val{SZS}) where {SZS} = @inline LazyTensors.split_tuple(t,SZS) | |
74 | |
75 @inferred split_tuple_static((1,2,3,4,5,6), Val((3,1,2))) | |
76 end | |
77 end | |
78 | |
79 @testset "sizes_to_ranges" begin | |
80 @test LazyTensors.sizes_to_ranges((1,)) == (1:1,) | |
81 @test LazyTensors.sizes_to_ranges((2,)) == (1:2,) | |
82 @test LazyTensors.sizes_to_ranges((2,3)) == (1:2,3:5) | |
83 @test LazyTensors.sizes_to_ranges((3,2,4)) == (1:3,4:5,6:9) | |
84 @test LazyTensors.sizes_to_ranges((0,2)) == (1:0,1:2) | |
85 @test LazyTensors.sizes_to_ranges((2,0)) == (1:2,2:1) | |
86 @test LazyTensors.sizes_to_ranges((2,0,3)) == (1:2,2:1,3:5) | |
87 end | |
88 | |
89 @testset "concatenate_tuples" begin | |
90 @test LazyTensors.concatenate_tuples(()) == () | |
91 @test LazyTensors.concatenate_tuples((1,)) == (1,) | |
92 @test LazyTensors.concatenate_tuples((1,), ()) == (1,) | |
93 @test LazyTensors.concatenate_tuples((),(1,)) == (1,) | |
94 @test LazyTensors.concatenate_tuples((1,2,3),(4,5)) == (1,2,3,4,5) | |
95 @test LazyTensors.concatenate_tuples((1,2,3),(4,5),(6,7)) == (1,2,3,4,5,6,7) | |
54 end | 96 end |
55 | 97 |
56 @testset "flatten_tuple" begin | 98 @testset "flatten_tuple" begin |
57 @test LazyTensors.flatten_tuple((1,)) == (1,) | 99 @test LazyTensors.flatten_tuple((1,)) == (1,) |
58 @test LazyTensors.flatten_tuple((1,2,3,4,5,6)) == (1,2,3,4,5,6) | 100 @test LazyTensors.flatten_tuple((1,2,3,4,5,6)) == (1,2,3,4,5,6) |