Open hersle opened 1 month ago
@shashi is this intended?
well it's incidental like the OP said. Maybe fold could call a narrow_type
function which turns floats into integers if is_integer
is true.
How about if SymbolicUtils.simplify()
by default uses the rule
using SymbolicUtils
r = @rule (~x::SymbolicUtils._isinteger) => Int(~x)
Then
r(7.0) # outputs 7
If you think this would work, can you point me to where I should add it for it to work on nested expressions? Like
@syms x
r(7.0*x) # should output 7x
I am not familiar enough with Symbolics
to know how it should be added.
That's a nice idea. It would probably go in https://github.com/JuliaSymbolics/SymbolicUtils.jl/blob/master/src/simplify_rules.jl
It is annoying that
gives
0.5
and not1//2
.The reason is natural:
cos(0)
evaluates to1.0
(not1
), giving(1//2) * 1.0
, which is converted to0.5
. Is there a way to fix this?