Skip to content

Commit c522b61

Browse files
committed
add docs
1 parent 897ff21 commit c522b61

File tree

1 file changed

+22
-3
lines changed

1 file changed

+22
-3
lines changed

src/oneelement.jl

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
"""
2-
OneElement(val, ind, axes) <: AbstractArray
3-
Extremely simple `struct` used for the gradient of scalar `getindex`.
2+
OneElement(val, ind, axesorsize) <: AbstractArray
3+
4+
Represents an array with the specified axes (if its a tuple of `AbstractUnitRange`s)
5+
or size (if its a tuple of `Integer`s), with a single entry set to `val` and all others equal to zero,
6+
specified by `ind``.
47
"""
58
struct OneElement{T,N,I,A} <: AbstractArray{T,N}
69
val::T
@@ -10,10 +13,26 @@ struct OneElement{T,N,I,A} <: AbstractArray{T,N}
1013
end
1114

1215
OneElement(val, inds::NTuple{N,Int}, sz::NTuple{N,Integer}) where N = OneElement(val, inds, oneto.(sz))
13-
OneElement(val, inds::Int, sz::Int) = OneElement(val, (inds,), (sz,))
16+
"""
17+
OneElement(val, ind::Int, n::Int)
18+
19+
Creates a length `n` vector where the `ind` entry is equal to `val`, and all other entries are zero.
20+
"""
21+
OneElement(val, ind::Int, len::Int) = OneElement(val, (ind,), (len,))
22+
"""
23+
OneElement(ind::Int, n::Int)
24+
25+
Creates a length `n` vector where the `ind` entry is equal to `1`, and all other entries are zero.
26+
"""
1427
OneElement(inds::Int, sz::Int) = OneElement(1, inds, sz)
1528
OneElement{T}(val, inds::NTuple{N,Int}, sz::NTuple{N,Integer}) where {T,N} = OneElement(convert(T,val), inds, oneto.(sz))
1629
OneElement{T}(val, inds::Int, sz::Int) where T = OneElement{T}(val, (inds,), (sz,))
30+
31+
"""
32+
OneElement{T}(val, ind::Int, n::Int)
33+
34+
Creates a length `n` vector where the `ind` entry is equal to `one(T)`, and all other entries are zero.
35+
"""
1736
OneElement{T}(inds::Int, sz::Int) where T = OneElement(one(T), inds, sz)
1837

1938
Base.size(A::OneElement) = map(length, A.axes)

0 commit comments

Comments
 (0)