|
61 | 61 |
|
62 | 62 | @make_container(::Type{String}, [n::Integer]) |
63 | 63 | # sparse vectors & matrices |
64 | | -@make_container(p::AbstractFloat, m::Integer, [n::Integer]) |
65 | 64 | # Tuple as a container |
66 | 65 | @make_container(T::Type{<:Tuple}) |
67 | 66 | @make_container(::Type{Tuple}, n::Integer) |
|
71 | 70 |
|
72 | 71 | macro make_array_container(Cont) |
73 | 72 | definitions = |
74 | | - [ :(rand(rng::AbstractRNG, T::Type{<:$Cont}, dims::Dims) = rand(rng, make(T, dims))), |
75 | | - :(rand( T::Type{<:$Cont}, dims::Dims) = rand(GLOBAL_RNG, make(T, dims))), |
76 | | - :(rand(rng::AbstractRNG, T::Type{<:$Cont}, dims::Integer...) = rand(rng, make(T, Dims(dims)))), |
77 | | - :(rand( T::Type{<:$Cont}, dims::Integer...) = rand(GLOBAL_RNG, make(T, Dims(dims)))), |
78 | | - |
79 | | - :(rand(rng::AbstractRNG, X, T::Type{<:$Cont}, dims::Dims) = rand(rng, make(T, X, dims))), |
80 | | - :(rand( X, T::Type{<:$Cont}, dims::Dims) = rand(GLOBAL_RNG, make(T, X, dims))), |
81 | | - :(rand(rng::AbstractRNG, X, T::Type{<:$Cont}, dims::Integer...) = rand(rng, make(T, X, Dims(dims)))), |
82 | | - :(rand( X, T::Type{<:$Cont}, dims::Integer...) = rand(GLOBAL_RNG, make(T, X, Dims(dims)))), |
83 | | - |
84 | | - :(rand(rng::AbstractRNG, ::Type{X}, T::Type{<:$Cont}, dims::Dims) where {X} = rand(rng, make(T, X, dims))), |
85 | | - :(rand( ::Type{X}, T::Type{<:$Cont}, dims::Dims) where {X} = rand(GLOBAL_RNG, make(T, X, dims))), |
86 | | - :(rand(rng::AbstractRNG, ::Type{X}, T::Type{<:$Cont}, dims::Integer...) where {X} = rand(rng, make(T, X, Dims(dims)))), |
87 | | - :(rand( ::Type{X}, T::Type{<:$Cont}, dims::Integer...) where {X} = rand(GLOBAL_RNG, make(T, X, Dims(dims)))), |
| 73 | + [ :(rand(rng::AbstractRNG, $Cont, dims::Dims) = rand(rng, make(t, dims))), |
| 74 | + :(rand( $Cont, dims::Dims) = rand(GLOBAL_RNG, make(t, dims))), |
| 75 | + :(rand(rng::AbstractRNG, $Cont, dims::Integer...) = rand(rng, make(t, Dims(dims)))), |
| 76 | + :(rand( $Cont, dims::Integer...) = rand(GLOBAL_RNG, make(t, Dims(dims)))), |
| 77 | + |
| 78 | + :(rand(rng::AbstractRNG, X, $Cont, dims::Dims) = rand(rng, make(t, X, dims))), |
| 79 | + :(rand( X, $Cont, dims::Dims) = rand(GLOBAL_RNG, make(t, X, dims))), |
| 80 | + :(rand(rng::AbstractRNG, X, $Cont, dims::Integer...) = rand(rng, make(t, X, Dims(dims)))), |
| 81 | + :(rand( X, $Cont, dims::Integer...) = rand(GLOBAL_RNG, make(t, X, Dims(dims)))), |
| 82 | + |
| 83 | + :(rand(rng::AbstractRNG, ::Type{X}, $Cont, dims::Dims) where {X} = rand(rng, make(t, X, dims))), |
| 84 | + :(rand( ::Type{X}, $Cont, dims::Dims) where {X} = rand(GLOBAL_RNG, make(t, X, dims))), |
| 85 | + :(rand(rng::AbstractRNG, ::Type{X}, $Cont, dims::Integer...) where {X} = rand(rng, make(t, X, Dims(dims)))), |
| 86 | + :(rand( ::Type{X}, $Cont, dims::Integer...) where {X} = rand(GLOBAL_RNG, make(t, X, Dims(dims)))), |
88 | 87 | ] |
89 | 88 | esc(Expr(:block, definitions...)) |
90 | 89 | end |
91 | 90 |
|
92 | | -@make_array_container(Array) |
93 | | -@make_array_container(BitArray) |
| 91 | +@make_array_container(t::Type{<:Array}) |
| 92 | +@make_array_container(t::Type{<:BitArray}) |
| 93 | +@make_array_container(t::AbstractFloat) |
94 | 94 |
|
95 | 95 |
|
96 | 96 | ## sets/dicts |
|
0 commit comments