用法一
reinterpret(type, A)
更改内存块的type-interpretation。对于数组,这将构造一个数组视图,该数组具有与给定数组相同的二进制数据,但具有指定的元素类型。例如,reinterpret(Float32, UInt32(7))
将对应于 UInt32(7)
的 4 个字节解释为
。Float32
例子
julia> reinterpret(Float32, UInt32(7))
1.0f-44
julia> reinterpret(Float32, UInt32[1 2 3 4 5])
1×5 reinterpret(Float32, ::Matrix{UInt32}):
1.0f-45 3.0f-45 4.0f-45 6.0f-45 7.0f-45
用法二
reinterpret(reshape, T, A::AbstractArray{S}) -> B
在使用或添加“通道维度”时更改A
的type-interpretation。
如果 sizeof(T) = n*sizeof(S)
为 n>1
,则 A
的第一个维度的大小必须为 n
并且 B
缺少 A
的第一个维度。相反,如果 sizeof(S) = n*sizeof(T)
用于 n>1
,则 B
获得大小为 n
的新第一维。如果 sizeof(T) == sizeof(S)
,则维度不变。
Julia 1.6
此方法至少需要 Julia 1.6。
例子
julia> A = [1 2; 3 4]
2×2 Matrix{Int64}:
1 2
3 4
julia> reinterpret(reshape, Complex{Int}, A) # the result is a vector
2-element reinterpret(reshape, Complex{Int64}, ::Matrix{Int64}) with eltype Complex{Int64}:
1 + 3im
2 + 4im
julia> a = [(1,2,3), (4,5,6)]
2-element Vector{Tuple{Int64, Int64, Int64}}:
(1, 2, 3)
(4, 5, 6)
julia> reinterpret(reshape, Int, a) # the result is a matrix
3×2 reinterpret(reshape, Int64, ::Vector{Tuple{Int64, Int64, Int64}}) with eltype Int64:
1 4
2 5
3 6
相关用法
- Julia reim用法及代码示例
- Julia rem用法及代码示例
- Julia reduce方法用法及代码示例
- Julia redirect_stdio用法及代码示例
- Julia readchomp用法及代码示例
- Julia readuntil用法及代码示例
- Julia replace!用法及代码示例
- Julia real方法用法及代码示例
- Julia readlines用法及代码示例
- Julia replace()用法及代码示例
- Julia retry用法及代码示例
- Julia read用法及代码示例
- Julia reverseind用法及代码示例
- Julia repeat方法用法及代码示例
- Julia readline用法及代码示例
- Julia repeat用法及代码示例
- Julia repr方法用法及代码示例
- Julia reverse!用法及代码示例
- Julia reshape用法及代码示例
- Julia replace方法用法及代码示例
- Julia repeat()用法及代码示例
- Julia reverse方法用法及代码示例
- Julia resize!用法及代码示例
- Julia readeach用法及代码示例
- Julia reverse()用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Base.reinterpret — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。