You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The update to MTK v9 #197 required an overload of concrete_symtype to work:
MTK.concrete_symtype(::Symbolics.BasicSymbolic{T}) where T <:CNumber= ComplexF64
That isn't exactly great but should work for most use cases.
However, this now enables us to actually change the implementation of Parameter such that we can represent actual types. The whole parallel implementation for RealParameter could go and we can represent also e.g. 32-bit floats.
We'd just need to add another type parameter, something like
struct Parameter{T<:Number} <:CNumber...end
Then, changing the overload to something like
MTK.concrete_symtype(::Symbolics.BasicSymbolic{T}) where {S<:Number, T <:Parameter{S}} = S
could work.
This could be complemented by some syntactic sugar for the @cnumbers macro, basically just stealing the syntax from Symbolics, @cnumbers p::Float32...
The text was updated successfully, but these errors were encountered:
In the latest MTK update, concrete_symtype got removed again. Instead of using that, we could now finally think about getting rid of CNumbers altogether and just using a BasicSymbolic with appropriate symtype and set the parameter metadata.
The update to MTK v9 #197 required an overload of
concrete_symtype
to work:That isn't exactly great but should work for most use cases.
However, this now enables us to actually change the implementation of
Parameter
such that we can represent actual types. The whole parallel implementation forRealParameter
could go and we can represent also e.g. 32-bit floats.We'd just need to add another type parameter, something like
Then, changing the overload to something like
could work.
This could be complemented by some syntactic sugar for the
@cnumbers
macro, basically just stealing the syntax from Symbolics,@cnumbers p::Float32
...The text was updated successfully, but these errors were encountered: