Releases: mcabbott/TensorCast.jl
Releases · mcabbott/TensorCast.jl
v0.4.9
v0.4.8
v0.4.7
v0.4.6
v0.4.5
TensorCast v0.4.5
v0.4.4
v0.4.3
TensorCast v0.4.3
v0.4.2
v0.4.1
TensorCast v0.4.1
Closed issues:
- Problem displaying error message (pretty not defined) (#32)
Merged pull requests:
v0.4.0
TensorCast v0.4.0
Version 0.4 has significant changes:
- Broadcasting options and index ranges are now written
@cast @avx A[i,j] := B[i⊗j] (i ∈ 1:3)instead of@cast A[i,j] := B[i⊗j] i:3, axv(using LoopVectorization.jl for the broadcast, and supplying the range ofi). - To return an array without naming it, write an underscore
@cast _[i] := ...rather than omitting it entirely. - Some fairly obscure features have been removed for simplicity: Indexing by an array
@cast A[i,k] := B[i,J[k]]and by a range@cast C[i] := f(D[1:3, i])will no longer work. - Some dimension checks are inserted by default; previously the option
assertdid this. - It uses LazyStack.jl to combine handles slices, simplifying earlier code. This is lazier by default, write
@cast A[i,k] := log(B[k][i]) lazy=false(with a new keyword option) to glue into anArraybefore broadcasting. - It uses TransmuteDims.jl to handle all permutations & many reshapes. This is lazier by default -- the earlier code sometimes copied to avoid reshaping a
PermutedDimsArray. This isn't always faster, though, and can be disabled bylazy=false.
New features in 0.4:
- Indices can appear ouside of indexing:
@cast A[i,j] = i+jtranslates toA .= axes(A,1) .+ axes(A,2)' - The ternary operator
? :can appear on the right, and will be broadcast correctly. - All operations should now support OffsetArrays.jl.
- You can
repeatby broadcasting over indices not appearing on the right, such as@cast r[i,(k,j)] = m[i,j]
Closed issues:
Merged pull requests: