|
1 | 1 | # common Base functionality
|
2 | 2 |
|
3 |
| -allequal(x) = true |
4 |
| -allequal(x, y, z...) = x == y && allequal(y, z...) |
5 |
| -function Base.map!(f, y::AbstractGPUArray, xs::AbstractGPUArray...) |
6 |
| - @assert allequal(size.((y, xs...))...) |
7 |
| - return y .= f.(xs...) |
8 |
| -end |
9 |
| -function Base.map(f, y::AbstractGPUArray, xs::AbstractGPUArray...) |
10 |
| - @assert allequal(size.((y, xs...))...) |
11 |
| - return f.(y, xs...) |
12 |
| -end |
13 |
| - |
14 |
| -# Break ambiguities with base |
15 |
| -Base.map!(f, y::AbstractGPUArray) = |
16 |
| - invoke(map!, Tuple{Any,AbstractGPUArray,Vararg{AbstractGPUArray}}, f, y) |
17 |
| -Base.map!(f, y::AbstractGPUArray, x::AbstractGPUArray) = |
18 |
| - invoke(map!, Tuple{Any,AbstractGPUArray, Vararg{AbstractGPUArray}}, f, y, x) |
19 |
| -Base.map!(f, y::AbstractGPUArray, x1::AbstractGPUArray, x2::AbstractGPUArray) = |
20 |
| - invoke(map!, Tuple{Any,AbstractGPUArray, Vararg{AbstractGPUArray}}, f, y, x1, x2) |
21 |
| - |
22 | 3 | function Base.repeat(a::AbstractGPUVecOrMat, m::Int, n::Int = 1)
|
23 | 4 | o, p = size(a, 1), size(a, 2)
|
24 | 5 | b = similar(a, o*m, p*n)
|
|
0 commit comments