Releases: mcabbott/TensorCast.jl
Releases · mcabbott/TensorCast.jl
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
assert
did 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 anArray
before 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+j
translates 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
repeat
by broadcasting over indices not appearing on the right, such as@cast r[i,(k,j)] = m[i,j]
Closed issues:
Merged pull requests:
v0.3.3
TensorCast v0.3.3
Closed issues:
- Slightly misleading error (DimensionMismatch) when destination is actually not defined (#30)
Merged pull requests:
And, these are really for version 0.4, not tagged yet:
- Simplify glue using LazyStack (#17) (@mcabbott)
- Simplify by not allowing gather operations, nor indexing by ranges (#18) (@mcabbott)
- CompatHelper: bump compat for "StaticArrays" to "1.0" (#29) (@github-actions[bot])
- Use TransmuteDims (#31) (@mcabbott)
- Turn on assertions by default (#33) (@mcabbott)
- Re-work how options work (#34) (@mcabbott)
- Change laziness options, introduce a keyword (#36) (@mcabbott)