Closed MasonProtter closed 1 year ago
Merging #375 (c88d3df) into master (48cc5ff) will decrease coverage by
0.33%
. The diff coverage is100.00%
.
@@ Coverage Diff @@
## master #375 +/- ##
==========================================
- Coverage 83.70% 83.36% -0.34%
==========================================
Files 12 12
Lines 1479 1479
==========================================
- Hits 1238 1233 -5
- Misses 241 246 +5
Impacted Files | Coverage Δ | |
---|---|---|
src/types.jl | 84.99% <100.00%> (ø) |
|
src/polyform.jl | 92.76% <0.00%> (-1.36%) |
:arrow_down: |
src/ordering.jl | 89.53% <0.00%> (-1.17%) |
:arrow_down: |
src/code.jl | 80.55% <0.00%> (-0.56%) |
:arrow_down: |
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update 48cc5ff...c88d3df. Read the comment docs.
Hm, this seems to have somehow broken the printing of more complicated expressions for me, etc.
julia> 1 + -1*σ1
1 - (-((-σ1)^1))
:(
Still not great, but way better than before (its at least mathematically correct). This is just happening because of the way the printing is assuming constructor level simplification.
using SymbolicUtils
using SymbolicUtils.Rewriters
using SymbolicUtils: Sym, Term, Symbolic, sym_isa
SymbolicUtils.show_simplified[] = false
struct Clifford end
@syms σ1::Clifford
for op ∈ (:*, :+, :-, :^, :/)
@eval begin
Base.$op(x::Symbolic{Clifford}, y::Symbolic{Clifford}) = Term{Clifford}($op, [x, y])
Base.$op(x, y::Symbolic{Clifford}) = Term{Clifford}($op, [x, y])
Base.$op(x::Symbolic{Clifford}, y) = Term{Clifford}($op, [x, y])
Base.$op(x::Number, y::Symbolic{Clifford}) = Term{Clifford}($op, [x, y])
Base.$op(x::Symbolic{Clifford}, y::Number) = Term{Clifford}($op, [x, y])
end
end
Seems to have gotten fixed over time.
Before this fix:
After this fix: